COGD95 - Estrazione Vendite per Coop Nordest¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGD95 |
| Titolo | Estrazione Vendite per Coop Nordest |
| Modulo | Sistema |
| Posizione menu | Sistema > Utility > Esportazioni > Estrazione Vendite X GDO > Vendite x Coop Nordest |
Scopo e logica generale¶
COGD95 estrae bolle e fatture di vendita destinate alla catena GDO Coop Nordest producendole in un unico file sequenziale con tracciato compatibile CONAD (cogdcona.cpy, record cp-b-rec). E' pressoche' gemello di COGD93 (Realco) e COGD96 (Coop Adriatica): condivide tracciato, struttura del flusso, subroutine e gli stessi overlay di configurazione (euta-c047-*). Le differenze rispetto a COGD93 riguardano principalmente il modo di valorizzare i campi cliente/coop nella testata e la formattazione del codice articolo.
L'operatore imposta un intervallo di date; il programma scandisce COGFATTU per il cliente configurato, risale ai DDT via COGRACCO, estrae le righe da COGMOMAG consolidandole in COGTRANS e scrive, per ogni bolla, un record di testata (tipo "01") e per ogni articolo un record di riga (tipo "02").
La configurazione e' persistita in COGTABEL come record euta-tipo = 70, argomento SPMG, chiave COGD95, tramite gli overlay euta-c047-*. Il nome del file di output e' acquisito tramite COGS23. E' presente l'archivio locale COGD95.ARC per la corrispondenza negozio interno -> codice negozio Coop.
Flusso principale¶
a00(main):ctr-abil,open-files,open-fil-neg(creaCOGD95.ARCinext-arc-dir),rd-azi; prepara la maschera pop-up.a4: titolo "Estrazione Dati x Coop Nordest"; legge la configurazione (x99-src-cfg, tipo 70/SPMG/COGD95) o default (x99-cfg-init).a-10/a-50: accept data inizio/fine conCOGS52; F1 riapre la configurazione (nome file viaCOGS23); controllo data partenza <= data arrivo.a-90: conferma con F3.b-00: risolve il nome fisico del file (w-cfg-nom-bol; in thin-clientCOOPNORD.DATsuext-tmp-dir), apre in outputfilfat, finestra di avanzamento con contatori bolle/righe.b-00-read: scorreCOGFATTU; filtro per intervallo date e cliente; per ogni fattura valida eseguefind-bolle.find-bolle: daCOGRACCOrisale ai DDT; creaCOGTRANS(init-cogtrans), scorreCOGMOMAG, scrive la testata bolla (bolla-testa), accumula le righe (bolla-corpo), poisvuota-bolla.bolla-testa(record "01"): progressivo, riferimento fattura/bolla e date, codice fornitore; valorizza il codice cliente (cp-t-codcli = mag-nonno) e il codice coop letto daneg-fil(cod-neg-cooppermag-padre); divisa "EUR".bolla-corpo: risolve merce vendita/merce cliente (COGMERLK/COGMERCL) per aziende PM; accumula quantita'/valore/colli inCOGTRANS.svuota-bolla(record "02"): compone il codice articolo a 9 (cp-r-codart-9) concatenando gruppo/sottogruppo/codice (w-merce-xviastring-trim), descrizione, quantita', prezzo, colli, unita' di misura, codice IVA (daCOGTABELtipo 67), tipo cessione "1"; accumula i totaliw-val/w-val1.b-50: chiude il file, in thin-client copia su client viaCOPIAF, mostra i totali imponibile, memorizza l'ultima data (x99-mem-data).fine/z-chiudi:z-99-exit-program,exit program.
File e tabelle acceduti¶
| File | Record | Modalita' | Uso |
|---|---|---|---|
| COGFATTU | fat-rec |
Input (start/read next) | Fatture di vendita; filtro data + cliente |
| COGRACCO | rac-rec |
Input | Raccordo fattura -> DDT |
| COGMOMAG | mag-recz |
Input | Righe di magazzino del DDT |
| COGMERCI | mer-rec |
Input | Descrizione merce |
| COGMERLK | mlk-rec |
Input (st/rdnxt) |
Collegamento merce vendita/merce cliente (tipo "CV") |
| COGMERCL | mcl-rec |
Input | Codice merce cliente (CMC) per azienda PM |
| COGGEANA | ana-rec |
Input | Anagrafica cliente/negozio |
| COGTABEL | euta-rec |
I-O | Configurazione (tipo 70, SPMG/COGD95); codici IVA (tipo 67) |
| COGTRANS | trs-rec |
I-O temporaneo | Consolidamento righe bolla ($COGD95. in ext-tmp-dir) |
neg-fil (COGD95.ARC) |
neg-rec |
I-O | Corrispondenza negozio interno -> codice negozio Coop (usata anche in testata) |
| filfat | cp-b-rec (cogdcona.cpy) |
Output line-sequential | File prodotto in tracciato Conad |
Tracciato prodotto (Coop Nordest / Conad, cogdcona.cpy) - file unico:
- Record "01" (testata,
cp-t): progressivo, riferimenti/date fattura e bolla, codice fornitore, codice cliente (mag-nonno) e codice coop (daCOGD95.ARCsumag-padre), divisa. - Record "02" (riga,
cp-r): progressivo, codice articolo a 9 (gruppo/sottogruppo/codice concatenati), descrizione, quantita', prezzo, numero pezzi, unita' di misura, codice IVA, tipo cessione.
Copybook principali¶
Strutture dati / FD:
- feurtab.fd + cogfiles.cpy - file fisico generalizzato tabelle.
- cogtabel, coggeana, cogmerci, cogfattu, cogracco, cogmomag, cogmercl, cogmerlk (.fd + .cpy) - archivi acceduti.
- cogdcona.cpy (cp-b-rec) - tracciato Conad del file prodotto.
- wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy - working-storage standard.
- utilw06.cpy, utils52.cpy, utils65.cpy, utils23.cpy - aree di supporto (help, data, ricerca, stringa/nome file).
- l-copiaf.cpy (working), u-copiaf.cpy (linkage) - trasferimento file client/server.
Linkage: wcont.cpy (stringhe), wcont1.cpy.
Routine finali: stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, open1.cpy, mmmask.cpy, scree.cpy, sendw06.cpy, cogmercl.k01, cogmerlk.k01, cogmerlk.k02.
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGS52 | Accept/verifica data con calendario |
| COGS23 | Accept del nome file di output (stringa) |
| COPIAF | Trasferimento del file prodotto sul client (thin-client) |
Note¶
- Produce un unico file in tracciato Conad (
cogdcona.cpy), come COGD93 (Realco) e COGD96 (Coop Adriatica). - Specificita' Coop Nordest: la testata "01" valorizza il codice cliente (
mag-nonno) e il codice coop letto dall'archivio negoziCOGD95.ARC(permag-padre), diversamente da COGD93 che lascia questi campi a spazi. - Il codice articolo di riga e' ricostruito concatenando gruppo/sottogruppo/codice tramite
string-trim(variante rispetto allainspect ... replacingdi COGD93). - Nome file di output acquisito con
COGS23(defaultA:\COOPNORD.DAT). - La risoluzione merce vendita/merce cliente (
COGMERLK/COGMERCL) e' attiva solo per aziendePM. - Configurazione persistita in
COGTABELtipo 70 (euta-c047-*,SPMG/COGD95), condivisa con COGD93/COGD96. - Fa parte del flusso Estrazione vendite GDO.
Documentazione tecnica -- creata 2026-08-06