COGD44 — Controllo variazioni su bolle¶
Sorgente: cbl/cogd44.cbl | Tipo: Programma GUI standalone (consultazione con griglia) | Program-ID: cogd44
Menu: Magazzino > Uscite > Visualizzazioni [Controllo variazioni] ; Vendite > Bolle Vendita > Visualizzazioni [Controllo variazioni]
Scopo¶
Consultazione delle variazioni effettuate sulle bolle di vendita. Il sistema mantiene una copia "storica" delle bolle nelle tabelle di variazione documento (COGDVTES testate, COGDVRIG righe); COGD44 confronta questo snapshot con lo stato attuale del documento (COGTESBO + righe/movimenti COGMOMAG) e presenta in una griglia i documenti che risultano modificati o cancellati rispetto alla versione registrata.
Per ciascuna bolla in elenco mostra: documento (mag/anno/tipo/numero), versione, cliente e ragione sociale, data documento e stato (Modificato / Cancellato). Dalla griglia l'operatore puo':
- F8 — aprire il dettaglio delle differenze (COGD45);
- F3 — aprire la gestione della bolla (COGV56);
- F5 — ripristinare la bolla alla versione iniziale (COGD46, operazione
'R'); - F6 — consolidare la bolla attuale, accettando le modifiche (COGD46, operazione
'C').
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGDVTES | cogdvtes.k01 |
Testate variazioni documento (snapshot storico): scansione principale (carica-dati) |
| COGDVRIG | cogdvrig.k01 |
Righe variazioni documento: confronto riga per riga (ciclo-momag/ciclo-righe) |
| COGTESBO | cogtesbo.k01 |
Testate bolle attuali: verifica esistenza e confronto campi testata (tratta-riga, controlla-dati) |
| COGMOMAG | cogmomag.k01 |
Movimenti/righe magazzino attuali: confronto valori riga (ciclo-righe, ciclo-momag) |
| COGGEANA | coggeana.k01 |
Anagrafica generale: nome cliente (ana-nome) |
| COGTRANS | cogtrans.k01 (dichiarazione manuale nel sorgente) |
File temporaneo per l'appoggio dei risultati e la paginazione della griglia |
Flusso principale¶
apri— init GUI, apertura file,x99-confi(config cliente corrispettivi), definizione dei tasti funzione e pulsanti custom Ripristina (F5)/Consolida (F6); costruzione del nome del file temporaneoCOGTRANSinw-trs-name(dir temporanea + PID/operatore).a4— reset maschera, pagina 1 del tab control.a-tm-cli/a-tm-data-doc-da/a-tm-data-doc-a— accept dei filtri: cliente (opzionale,COGS65W; zero = "Tutti") e intervallo date documento.a-fine-dati→x-controlla-dati— validazione filtri; F3 passa a pagina 2.a-pagina-2— (ri)crea il file temporaneoCOGTRANS(open output esclusivo per verificare che la funzione non sia gia' in uso da altro operatore), poiopen i-o, quindicarica-dati.carica-dati/tratta-riga— scansione diCOGDVTES; per ogni documento snapshot:- se la bolla esiste ancora (
COGTESBO): applica i filtri (cliente, tipo cliente, date, escludendo il cliente corrispettivi e le bolle gia' fatturate) e chiamacontrolla-dati; controlla-daticonfronta testata e righe (ciclo-righesuCOGDVRIGvsCOGMOMAG,ciclo-momagper righe presenti nei movimenti ma non nello snapshot); se rileva una differenza marca il documento come modificato;- se la bolla non esiste piu' (
fl-bolla = 'N') la marca come cancellata (trs-stato = 'C'); - i documenti che risultano variati vengono scritti su
COGTRANS(wr-cogtrans). a-grid-ini/carica-tab/z-costruisci-grid— riempimento paginato della griglia leggendoCOGTRANS(routinerst-not-less,rdnxt-cogtrans, gestione viaGRIDADMN).a-grid— gestione tasti sulla griglia (F3/F5/F6/F8, s-F4 personalizzazione griglia, s-F5 export Excel). Dopo un'operazione su una bolla (carica-riga) rigenera la relativa riga diCOGTRANS.fine/z-chiudi— chiusura file,close/deletedel temporaneoCOGTRANS, uscita.
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
| COGD45 | Dettaglio delle differenze della bolla selezionata (F8) |
| COGD46 | Ripristino (ope = 'R') / consolidamento (ope = 'C') della bolla (F5/F6) |
| COGV56 | Gestione/apertura della bolla selezionata (F3) |
COGS65W (utils65.cpy) |
Aiuto/scelta cliente sul campo cliente (z-s65-tm-cli) |
COGS52 (utils52.cpy) |
Gestore campo data / calendario (filtri date) |
GRIDADMN (utilgdad.cpy) |
Gestore griglia: prepara, svuota, add-record, personalizzazione (s-F4) |
I paragrafi st-cogtrans-*, rd-…, rdnxt-…, wr-cogtrans sono routine di I/O generate (gestori tabella generati).
Configurazioni (RNEWCONF)¶
| Gruppo | Chiave | Destinazione | Uso |
|---|---|---|---|
| cogesys | cliente-corrispettivi | tm-cfg-cli-corr |
Cliente corrispettivi da escludere dal controllo variazioni (x99-confi) |
Note¶
COGTRANSe' una tabella temporanea dichiarata manualmente nel sorgente (SELECT, FD,cogtrans.k01): non e' gestita da Screens. Il nome file include directory temporanea, PID e operatore per garantire l'unicita' tra sessioni; l'aperturaopen outputesclusiva ina-pagina-2funge da lock logico ("Funzione gia' in uso da questo operatore").- Le bolle gia' fatturate (
tes-flagfat = '*') vengono escluse dal controllo. controlla-daticonfronta un ampio insieme di campi di testata (anagrafica, pagamento, listino, causale, data, agente, flag fatturazione) e, riga per riga, i valori economici (merce, valuta, quantita', prezzi, sconti, valore, conti coge/cc, aliquota). Alcuni confronti sono commentati nel sorgente (note, cura, vettore, colli, destinazione) e quindi non concorrono alla rilevazione della variazione.- La griglia usa la paginazione standard (
utilpggr.cpy,fscrol2.cpy) leggendo dal file temporaneo, non direttamente dalle tabelle di dettaglio.