Vai al contenuto

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 da util-d84 e si pone in k-modalita-selezione. Altrimenti k-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-config legge da RNEWCONF (gruppo cauzioni) le seguenti chiavi:
  • attiva-partite-magazzino
  • gg-scad-part-mag-cli, gg-scad-part-mag-for
  • conto-patrimonlale-clienti, conto-reddito-clienti
  • conto-patrimonlale-fornitori, conto-reddito-fornitori
  • tipo-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)

  1. Legge coggeana per il cliente; segnala se non codificato.
  2. Richiede data via COGX85A (data registrazione, competenza, valuta).
  3. Inizializza cogv60-dati con operazione silent-nac, storno P, no-merci N, condizioni pagamento da anagrafica, resi pre-caricati con tm-r-lc-doc-cod.
  4. 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)

  1. Verifica importo non a zero.
  2. Richiede data via COGX85A (solo prima volta).
  3. Recupera il contatore documento via COGTABEL tipo 66 -> COGS25 (numerazione progressiva mensile, codice 5).
  4. Scrive 2 movimenti su cogpnonc:
  5. Movimento di dare/avere patrimoniale (cliente/fornitore secondo il tipo): conto da tm-cfg-conto-p-c o tm-cfg-conto-p-f, segno D (cliente) / A (fornitore), descrizione "Sn." + rif + tipo/codice + descrizione anagrafica.
  6. Movimento di contropartita reddito: conto da tm-cfg-conto-r-c o tm-cfg-conto-r-f, segno opposto.
  7. Aggiorna aggiorna-cogpcauz con tm-r-l-stato = "C" e riferimento al documento p.nota.
  8. Dialog finale (gestione-documento + DIALOGS): ESC prosegue, F3 apre COGE77W per gestione documento p.nota, F5 apre COGD99 per 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 > 400 viene 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 TO nei paragrafi accept (stile legacy GUI Acu).