COGM77 - Inserimento Prestazioni Giornalieri¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGM77 |
| Titolo | Inserimento Giornaliero di Prestazioni |
| Posizione menu | Vendite > Prestazioni > Inserimento Giornalieri |
Scopo e logica generale¶
COGM77 e' un programma interattivo per l'inserimento di buoni di prestazione giornaliera. Consente di registrare prestazioni erogate a piu' clienti in una stessa giornata per un determinato servizio. E' disponibile solo per aziende con profilo professionisti (az-prof = k-yes) o personalizzazione "FE" (Ferracini).
Il programma utilizza una maschera a caratteri (non screen designer), con testata e tabella di righe per l'inserimento dei dettagli cliente/importo.
Flusso principale¶
- Inizializzazione (
a000): controllo abilitazione, apertura file, lettura azienda, verifica profilo professionisti (se non abilitato, esce con messaggio) - Maschera (
a4): visualizzazione maschera a caratteri (mm-1), inizializzazione dati, data di sistema - Accept testata (
a6/a7): - Data prestazione (
tm-data): con calendario COGS52 - Divisa: determinata automaticamente da data tramite
get-divisa-conto-x-data - Codice prestazione (
tm-merce): ricerca merce conx99-ricerca-merce, validazione su COGMERCI, caricamento aliquota IVA (euta tipo 67) - Conferma testata (
a90): dialog di conferma conacc-conf - Accept righe (
b_ini/b-10/b-20/b-30/b-40): - Per ogni riga (fino a 10 per pagina,
t-size = 100totali):- Cliente (
tacli): codice o nome, con ricerca in COGGEANA - Note (
tanote): testo libero - Prezzo/Importo: gestito con ricerca prezzo listino
- Cliente (
- F5: cancella riga corrente
- F3: conferma e registra
- Registrazione (
b-90/b-95): scrittura testata (COGTESBP) e righe (COGRIGBP) - Chiusura (
fine): chiusura file, exit program
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| COGTABEL | euta-rec | Input | Tabelle generiche (divise tipo 56, aliquote IVA tipo 67) |
| COGGEANA | ana-rec | Input | Anagrafica generale (clienti) |
| COGMERCI | mer-rec | Input | Anagrafica merci (prestazioni) |
| COGTESBP | tbp-rec | I-O | Testate buoni prestazione |
| COGRIGBP | rbp-rec | I-O | Righe buoni prestazione |
| COGGENER | gen-rec | Input | Archivio generico |
| FEURTAB | feurtab | Input | Tabella generica Eurosystem |
Apertura file¶
6 file con nomi risolti da name-files:
- 001: COGTABEL
- 002: COGGEANA
- 003: COGMERCI
- 123: COGTESBP
- 124: COGRIGBP
- 125: COGGENER
Copybook inclusi¶
Nota: maschera a caratteri¶
Il programma NON usa screen designer ma una maschera definita direttamente nel sorgente (mm-1, 21 righe x 80 colonne).
Strutture dati e utility¶
| Copybook | Contenuto |
|---|---|
COGFILES.CPY |
FD feurtab |
cogtabel.cpy |
Record tabella generica |
cnfgprog.cpy |
Configurazione programma |
coggeana.cpy |
Record anagrafica |
cogmerci.cpy |
Record merci |
cogtesbp.cpy |
Record testata buono prestazione |
cogrigbp.cpy |
Record riga buono prestazione |
coggener.cpy |
Record generico |
wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy |
Standard working storage |
cogazien.cpy |
Dati azienda |
utilm12.cpy |
Utility M12 |
utils22.cpy, utils25.cpy, utils52.cpy, utils58.cpy, utils65.cpy |
Utility varie |
utilu10.cpy, utilu12.cpy |
Gestione importi e divise |
utilw06.cpy |
Utility W06 |
k-u10.cpy |
Costanti U10 |
wrk-u10.cpy |
Working U10 |
wcont.cpy, wcont1.cpy |
Linkage section |
utils01.cpy |
Linkage section (utils01) |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGS52 | Calendario per selezione date (versione non-W) |
| COGU10W | Gestione importi, divise, formattazione |
Logica di business¶
Verifica profilo¶
All'avvio, il programma verifica che l'azienda abbia az-prof = k-yes oppure az-personal = "FE". Se nessuna delle due condizioni e' soddisfatta, esce con il messaggio "Funzione non disponibile con il profilo aziendale corrente".
Gestione divisa¶
Dopo l'accept della data, il programma determina la divisa operativa tramite get-divisa-conto-x-data. Se la divisa cambia rispetto alla sessione precedente (ri-currency), i prezzi gia' inseriti vengono convertiti.
Ricerca prezzo¶
Per ogni riga, il prezzo viene cercato nel listino associato al cliente. La costante k-rbp-imp (="1") indica che si lavora con importi, k-taprezzo (="2") con prezzi da listino, k-w-pre (="3") e k-w-imp (="4") per le varianti.
Struttura tab-righe¶
La tabella tab-righe contiene fino a 100 elementi, ciascuno con:
- tacli (5): codice cliente
- tanome (10): nome abbreviato
- tanote (50): note prestazione
- taflcls (1): flag chiusura
- taprezzi: listino, prezzo, prezzo netto, sconti
Variabili di stato principali¶
| Variabile | Descrizione |
|---|---|
tm-data |
Data prestazione |
tm-merce (gru + sot + cod) |
Codice prestazione |
tm-des-mer |
Descrizione prestazione |
tm-iva-mer / tm-ali-mer |
Codice e aliquota IVA |
tm-currency |
Divisa operativa |
ri-currency |
Divisa precedente (per conversione) |
t-size |
Numero righe per pagina (100) |
t-start |
Riga di inizio tabella a video (9) |