COGX84 - Giroconti Cauzioni (Partite CA/RMA)¶
Sorgente: cbl/cogx84.cbl | Program-ID: COGX84 | Tipo: Programma interattivo GUI (griglia + generazione documenti contabili)
Menu: Magazzino > Posizioni CA/RMA > Giroconti Cauzioni
Scopo¶
Gestione delle partite di cauzione (CA/RMA): per ciascuna partita aperta consente la chiusura tramite generazione di una nota di credito (tramite COGV40) oppure di una prima nota contabile di giroconto da conto patrimoniale a conto di reddito.
Programma direttamente GUI (acu-cobol). Titolo della maschera: "Creazione Note acccredito/Prima nota G/C reddito". Programma chiamabile anche in linkage (util-d84).
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | ISAM | Input | Parametri azienda |
| COGPCAUZ | ISAM | I-O (via COGU69) | Partite cauzioni (file primario). Chiavi k02, k03, k04, k05, k06, k07, k08 incluse |
| COGMATRI | ISAM | Input | Matricole (chiave k04) |
| COGRACCO | ISAM | Input | Raccordi (chiave k02) |
| COGMERLT | ISAM | Input | Merci-lotti (chiave k02) |
| COGRAGFA | ISAM (external) | Input | Raggruppamento fatture |
| COGRIFBO | ISAM (external) | Input | Riferimento bolle |
| COGRRESI | ISAM (external) | Input | Resi |
| TRAN-V60 | ISAM (temp.) | I-O | File di transito per COGV60 |
| COGPNONC | ISAM | Output | Scrittura prima nota contabile (pno-rec) |
| COGNUMER | ISAM | I-O | Contatore documenti |
| COGTABEL | ISAM | Input | Tabella (per recupero contatore tipo 66) |
| COGGEANA | ISAM | Input | Anagrafica clienti/fornitori |
| COGTRANS | ISAM (temp.) | I-O | (via screen designer) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
cogx84.select, cogx84.fd, cogx84.wrk, cogx84.prc, cogx84.decla, cogx84-01.scr |
Screen designer |
cogpcauz.cpy (replacing pcau- -> u69r- e u69u-) |
Record di ricerca e update per COGU69 |
k-u10.cpy, k-pcau.cpy |
Costanti divisa e costanti partite cauzione |
wgrave, wnscr, wopenf, wstato, cogazien |
Working storage standard |
wgrid, utilgdad |
Griglia e GRIDADMN |
utilncnf |
Lettura RNEWCONF |
utils25, utils52, utils65, utils68, utils88 |
Utility standard |
utilu07, utilu09, utilu10, utilu20, utilu69 |
Utility (COGU69 = motore di scan/upd partite cauzione) |
utilw36, cogconta |
Linkage W36 / contabilita' |
utildlg, util200a, utild99 |
Dialog standard / COGX85A (richiesta date) / COGD99 (note documento) |
utilcoge77, utild84, utilcogv60 |
Linkage COGE77 (gestione prima nota), D84 (linkage in ingresso), COGV60 (creazione fatture/note credito) |
cogpcauz.k02..k08, cogmatri.k04, cogracco.k02, cogmerlt.k02 |
Chiavi secondarie |
mmmask, opengen, grave, stato, stato1, winmsg |
Infrastruttura standard |
dtab, fscrol2, utilpggr, sendw36 |
Supporto vario |
Logica di elaborazione¶
Inizializzazione (apri)¶
- Se chiamato da altro programma (
d84-called = "COGX84") usa i criteri di ricerca dautil-d84e si pone ink-modalita-selezione. Altrimentik-modalita-modifica. - Tasti previsti: invio modifica/seleziona, F1 configura, F3 modifica/selezione/conferma, F8 aiuto/calendario, S-F4 griglia, S-F5 esporta Excel, ctrl-A aggiungi, ctrl-E elimina, F5 genera documento.
x99-configlegge da RNEWCONF (gruppocauzioni) le seguenti chiavi:attiva-partite-magazzinogg-scad-part-mag-cli,gg-scad-part-mag-forconto-patrimonlale-clienti,conto-reddito-clienticonto-patrimonlale-fornitori,conto-reddito-fornitoritipo-operazione-gc(codice TO per prima nota)p-nota-autom(anno + barra + numero p.nota automatica)
Maschera (a4 -> a-tm-ric-* per ciascun campo)¶
Default ricerca: tipo partita = cauzione, stato = "A" (aperta), tipo doc = "T". Campi di ricerca testata: tm-ric-par-tip/ann/num, tm-ric-stato, tm-ric-rif, tm-ric-merce, tm-ric-l-ana, tm-ric-tipo-doc, tm-ric-lx-doc, tm-ric-fattura, tm-ric-l-data-scad.
F1 sul primo campo apre la configurazione (RNEWCONF operazione "Modifica" sul gruppo cauzioni).
Caricamento griglia¶
COGU69 (motore generico di scan partite cauzione) viene chiamato con i criteri di ricerca; per ciascun record rilevato viene preparato un grid-record e passato a GRIDADMN (Modify-Record / append).
Campi mostrati nella griglia (grid-record):
- grd-partita (tip/ann/num), grd-lato (apertura/chiusura)
- grd-rif-tip, grd-rif-cod (riferimento documento)
- grd-merce, grd-stato, grd-l-stato, grd-l-data-scad
- grd-l-ana (tipo+codice) + grd-l-ana-des
- grd-la-doc-tip, grd-la-chia-doc, grd-la-importo (lato apertura)
- grd-lc-doc-tip, grd-lc-chia-doc, grd-lc-importo (lato chiusura)
- grd-la-fat-rif, grd-la-fat-dat, grd-lc-fat-rif, grd-lc-fat-dat
Generazione nota di credito (crea-nota-credito)¶
- Legge
coggeanaper il cliente; segnala se non codificato. - Richiede data via
COGX85A(data registrazione, competenza, valuta). - Inizializza
cogv60-daticon operazionesilent-nac, stornoP, no-merciN, condizioni pagamento da anagrafica, resi pre-caricati contm-r-lc-doc-cod. - Chiama
COGV40(creazione documento) che a sua volta richiama COGV60 in modalita' silenziosa per generare la nota di credito.
Generazione prima nota (crea-prima-nota)¶
- Verifica importo non a zero.
- Richiede data via
COGX85A(solo prima volta). - Recupera il contatore documento via COGTABEL tipo 66 ->
COGS25(numerazione progressiva mensile, codice 5). - Scrive 2 movimenti su
cogpnonc: - Movimento di dare/avere patrimoniale (cliente/fornitore secondo il tipo): conto da
tm-cfg-conto-p-cotm-cfg-conto-p-f, segno D (cliente) / A (fornitore), descrizione"Sn." + rif + tipo/codice + descrizione anagrafica. - Movimento di contropartita reddito: conto da
tm-cfg-conto-r-cotm-cfg-conto-r-f, segno opposto. - Aggiorna
aggiorna-cogpcauzcontm-r-l-stato = "C"e riferimento al documento p.nota. - Dialog finale (
gestione-documento+DIALOGS): ESC prosegue, F3 apreCOGE77Wper gestione documento p.nota, F5 apreCOGD99per note su documento.
Aggiornamento (aggiorna-cogpcauz / lancia-cogu69)¶
Tutte le scritture e aggiornamenti su COGPCAUZ passano da COGU69 che fa da motore generico (record di ricerca u69r-rec e di update u69u-rec).
Chiamate a sottoprogrammi¶
| Programma | Utilizzo |
|---|---|
RNEWCONF |
Lettura/modifica configurazione gruppo cauzioni |
COGU69 |
Motore generico di scan/aggiornamento partite cauzione (COGPCAUZ) |
GRIDADMN |
Gestione griglia (Prepare/Modify-Record/Svuota/personalizzazione) |
COGS65W |
Aiuto F8 anagrafica clienti/fornitori |
COGS25 |
Contatore numerazione documento prima nota |
COGX85A |
Richiesta date (registrazione/competenza/valuta) |
COGV40 (alias cogv40) |
Creazione documenti (nota credito, fattura) — wrapper su COGV60 |
COGE77W.COB |
Gestione documento prima nota dal dialog finale |
COGD99 |
Inserimento note su documento generato |
DIALOGS |
Dialog modale di scelta operazione post-creazione p.nota |
c$justify |
Formattazione stringhe nella griglia |
Note implementative¶
- Programma direttamente GUI, screen
cogx84-01.scr. - Modalita' di utilizzo: standalone da menu (modifica) o in linkage (selezione partita).
- Cliente "non codificato" interrompe la generazione della nota di credito con messaggio.
- La numerazione delle prime note e' progressiva nell'anno; quando
conta > 400viene azzerata e forzata una nuova numerazione (limite legacy). - Configurazione critica nel gruppo RNEWCONF
cauzioni: i conti patrimoniali e di reddito vanno settati altrimenti la prima nota viene scritta con conti a zero. - Note descrittive:
"Sn." + rif-cod + tipo-anagrafica + codice + descrizione. - Limite hard-coded 5072 righe di codice — programma "denso", con copybook tabellari complessi (
tab-maschera~ 1500 byte). Per manutenzioni mirate, lavorare per paragrafo (crea-nota-credito,crea-prima-nota,aggiorna-cogpcauz). - Il codice usa estesamente
GO TOnei paragrafi accept (stile legacy GUI Acu).