COGD93 - Estrazione Vendite per Realco¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGD93 |
| Titolo | Estrazione Vendite per Realco |
| Modulo | Sistema |
| Posizione menu | Sistema > Utility > Esportazioni > Estrazione Vendite X GDO > Vendite x Realco |
Scopo e logica generale¶
COGD93 estrae bolle e fatture di vendita destinate alla catena GDO Realco producendole in un unico file sequenziale con tracciato compatibile CONAD (cogdcona.cpy, record cp-b-rec). Appartiene alla famiglia di estrazioni vendite GDO insieme a COGD01 (Coop Estense), COGD95 (Coop Nordest) e COGD96 (Coop Adriatica); COGD93/95/96 condividono lo stesso tracciato Conad e una struttura molto simile, differenziandosi nel modo in cui valorizzano i campi di intestazione (cliente/coop/socio) e i codici articolo.
L'operatore imposta un intervallo di date; il programma scandisce le fatture (COGFATTU) del cliente configurato, per ognuna risale ai DDT tramite COGRACCO e ne estrae le righe da COGMOMAG, consolidate nella tabella temporanea COGTRANS. Per ogni bolla scrive un record di testata (tipo "01") e per ogni articolo un record di riga (tipo "02"). A differenza di COGD01 non produce record di piede/imponibili: il tracciato Conad e' orientato ai DDT.
La configurazione e' persistita in COGTABEL come record euta-tipo = 70, argomento SPMG, chiave COGD93, tramite gli overlay euta-c047-* (condivisi con COGD95/COGD96). Il nome del file di output viene richiesto tramite la subroutine COGS23. E' presente l'archivio locale COGD93.ARC per la corrispondenza negozio interno -> codice negozio.
Flusso principale¶
a00(main): impostaprog-err/w-nome-hlp/w-nome-msk,ctr-abil,open-files,open-fil-neg(creaCOGD93.ARCinext-arc-dir),rd-azi; prepara la maschera pop-up (mm-1).a4: azzeratab-maschera, titolo "Estrazione Dati x REALCO"; legge la configurazione (x99-src-cfg, record tipo 70/SPMG/COGD93) o inizializza i default (x99-cfg-init).a-10/a-50: accept data inizio/fine conCOGS52; F1 riapre la configurazione (x99-conf, dove il nome file e' acquisito conCOGS23); controllo data partenza <= data arrivo.a-90: conferma con F3.b-00: risolve il nome fisico del file (w-cfg-nom-bol; in thin-clientrealco.datsuext-tmp-dir), apre in outputfilfat, mostra la finestra di avanzamento con contatori bolle/righe.b-00-read: scorreCOGFATTU; filtro per intervallo date e cliente (fat-cli = tm-cfg-cli); per ogni fattura valida eseguefind-bolle.find-bolle: daCOGRACCOrisale ai DDT collegati alla fattura; per ognuno crea la tabellaCOGTRANS(init-cogtrans), scorreCOGMOMAG, alla prima riga scrive la testata bolla (bolla-testa) e accumula le righe (bolla-corpo), poi svuota la tabella (svuota-bolla).bolla-testa(record "01"): progressivo, riferimento fattura (cp-t-riffat) e bolla (cp-t-rifbol), date, codice fornitore (cp-t-codfor), codice socio derivato damag-figlio/mag-padre, divisa "EUR".bolla-corpo: come COGD01, risolve merce vendita/merce cliente (COGMERLK/COGMERCL) per aziende PM; accumula quantita'/valore/colli inCOGTRANS.svuota-bolla(record "02"): per ogni articolo scrive codice articolo a 9 (cp-r-codart-9, azzeramento zeri iniziali), descrizione, quantita', prezzo, colli, unita' di misura, codice IVA (daCOGTABELtipo 67), tipo cessione "1"; accumula i totali imponibilew-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/COGD93); codici IVA (tipo 67) |
| COGTRANS | trs-rec |
I-O temporaneo | Consolidamento righe bolla ($COGD93. in ext-tmp-dir) |
neg-fil (COGD93.ARC) |
neg-rec |
I-O | Corrispondenza negozio interno -> codice negozio |
| filfat | cp-b-rec (cogdcona.cpy) |
Output line-sequential | File prodotto in tracciato Conad |
Tracciato prodotto (Realco / Conad, cogdcona.cpy) - file unico:
- Record "01" (testata, overlay
cp-t): progressivo, riferimento fattura/bolla e relative date, codice fornitore, tipo fornitore, codice cliente/coop/socio, tipo socio, divisa. - Record "02" (riga, overlay
cp-r): progressivo, codice articolo (6 + 9), 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, utils23.cpy, utils65.cpy - aree di supporto (help, data, 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), condiviso con COGD95 (Coop Nordest) e COGD96 (Coop Adriatica). - Specificita' Realco: codice socio ricavato da
mag-figlio(se non zero) altrimentimag-padre; i campi cliente/coop non sono valorizzati (spazi) a differenza di COGD95/COGD96. - Il nome del file di output e' acquisito con la subroutine
COGS23(defaultA:\REALCO.DAT), diversamente da COGD01 che usa un accept diretto. - Rispetto a COGD01 non genera i record di testata/piede archivio ("HH"/"FF") ne' il piede imponibili/IVA per fascia.
- La risoluzione merce vendita/merce cliente (
COGMERLK/COGMERCL) e' attiva solo per aziendePM. - Configurazione persistita in
COGTABELtipo 70 (euta-c047-*,SPMG/COGD93): cliente, codice fornitore, nome archivio, ultima data estrazione. - Fa parte del flusso Estrazione vendite GDO.
Documentazione tecnica -- creata 2026-08-06