COGD01 - Estrazione Vendite per Coop Estense¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGD01 |
| Titolo | Estrazione Vendite per Coop Estense |
| Modulo | Sistema |
| Posizione menu | Sistema > Utility > Esportazioni > Estrazione Vendite X GDO > Vendite x Coop Estense |
Scopo e logica generale¶
COGD01 estrae bolle e fatture di vendita destinate alla catena GDO Coop Estense e le scrive in due file sequenziali di tracciato proprietario: un file fatture (filfat, tracciato cogd01fa.cpy) e un file bolle (filbol, tracciato cogd01bo.cpy). E' il capostipite della famiglia di estrazioni vendite GDO (vedi anche COGD93, COGD95, COGD96) ed e' l'unico a produrre due archivi distinti (fatture + bolle) invece di un unico file.
L'operatore imposta un intervallo di date (tm-da-fat / tm-a-fat) e il programma scandisce le fatture (COGFATTU) del cliente configurato, per ognuna emette la testata fattura, poi risale ai DDT collegati tramite l'archivio di raccordo COGRACCO e per ogni bolla ne estrae le righe di magazzino (COGMOMAG), consolidandole in una tabella temporanea COGTRANS prima della scrittura.
La configurazione (cliente, codice fornitore attribuito dal cliente, nomi archivi, ultima data di estrazione) e' persistita nella tabella generalizzata COGTABEL come record di tipo euta-tipo = 70, argomento SPMG, chiave COGD01, tramite gli overlay euta-c046-*. E' inoltre presente un archivio locale indicizzato neg-fil (COGD01.ARC) per la corrispondenza tra codice negozio interno e codice negozio Coop.
Nota storica sul programma: gestisce la transizione lira/euro (soglia data 20020100/20020101) moltiplicando per 100 gli importi delle estrazioni successive all'introduzione dell'euro.
Flusso principale¶
a00(main): impostaprog-err/w-nome-hlp/w-nome-msk, eseguectr-abil,open-files,open-fil-neg(apre/creaCOGD01.ARC),rd-azi; prepara la maschera pop-up (mm-1,rd-msk-all).a4: azzeratab-maschera, visualizza titolo "Estrazione Dati x COOP", legge la configurazione (x99-src-cfg-> recordeutatipo 70/SPMG/COGD01); se assente inizializza i default (x99-cfg-init) e apre la finestra di configurazione (x99-conf).a-10/a-50: accept della data inizio e data fine tramite subroutineCOGS52(calendario/verifica). F1 riapre la configurazione. Controllo che la data di partenza non superi la data di arrivo.a-90: conferma (acc-conf), attesa di F3.b-00: risolve i nomi fisici dei file (w-cfg-nom-fat/w-cfg-nom-bol; in thin-client scrive suext-tmp-dircon nomifattmo.dat/bollmo.dat), apre in outputfilfatefilbol, mostra la finestra di avanzamento con contatori fatture/bolle e la "rotellina" (rotel).b-00-read: scorreCOGFATTUin sequenza; filtra per intervallo date (fat-damovaa/mm/gg) e per cliente (fat-cli = tm-cfg-cli). Alla prima fattura valida emette la testata archivio (testa, tipo record "HH"). Per ogni fattura:fat-testa(record "00" testata),fat-piede(record "00" con imponibili/IVA/aliquote per fascia),find-bolle.find-bolle: daCOGRACCO(chiave tipo/anno/numero fattura) risale ai DDT; per ognuno legge la testata bolla (COGTESBO) e le righe di magazzino (COGMOMAG), scrivendo la testata bolla (bolla-testa, record "01") e accumulando le righe inCOGTRANS(bolla-corpo).bolla-corpo: risolve la merce di vendita/merce cliente (COGMERLKtipo "CV",COGMERCLper il codice CMC) quando l'azienda e' di tipoPM; accumula quantita'/valore/colli sul record transito o lo crea.svuota-bolla: scorreCOGTRANS, per ogni articolo scrive la riga bolla (record "02") con codice articolo, descrizione (COGMERCI), quantita', prezzo (con conversione euro), codice IVA letto daCOGTABELtipo 67.b-50: alla fine emette il piede archivio (piede, record "FF"), chiude i file; in thin-client copia gli archivi sul client viaCOPIAF; memorizza l'ultima data di estrazione (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 da estrarre; filtro data + cliente |
| COGRACCO | rac-rec |
Input | Raccordo fattura -> DDT (bolle collegate) |
| COGTESBO | tes-rec |
Input | Testata bolla (per agente/dati DDT) |
| COGMOMAG | mag-recz |
Input | Righe di magazzino (movimenti) 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/COGD01); codici IVA (tipo 67) |
| COGTRANS | trs-rec |
I-O temporaneo | Consolidamento righe bolla per articolo ($COGD01. in ext-tmp-dir) |
neg-fil (COGD01.ARC) |
neg-rec (cod-neg/cod-neg-coop) |
I-O | Corrispondenza negozio interno -> codice negozio Coop |
| filfat | cp-f-rec (cogd01fa.cpy) |
Output line-sequential | File fatture prodotto (tracciato Coop Estense) |
| filbol | cp-b-rec (cogd01bo.cpy) |
Output line-sequential | File bolle prodotto (tracciato Coop Estense) |
Tracciato prodotto (Coop Estense) - due file separati:
- File fatture (
cogd01fa.cpy,cp-f-rec): record "HH" (testata archivio), "00" (testata fattura concp-f-r2-*: progressivo, n. fattura, data, tipo "AR"/"FV", codice fornitore), "00" (piede concp-f-r3-*: totale fattura, imponibili/IVA/aliquote per 4 fasce), "FF" (piede archivio). - File bolle (
cogd01bo.cpy,cp-b-rec): record "01" (testata bolla con n. fattura/data, n. bolla/data, codice fornitore, socio) e "02" (riga con articolo, descrizione, quantita', prezzo unitario, codice IVA, tipo cessione "1").
Copybook principali¶
Strutture dati / FD:
- feurtab.fd + cogfiles.cpy - file fisico generalizzato tabelle.
- cogtabel.fd/cogtabel.cpy, coggeana.fd/.cpy, cogmerci.fd/.cpy, cogfattu.fd/.cpy, cogracco.fd/.cpy, cogmomag.fd/.cpy, cogtesbo.fd/.cpy, cogmercl.fd/.cpy, cogmerlk.fd/.cpy - archivi acceduti.
- cogd01fa.cpy (cp-f-rec), cogd01bo.cpy (cp-b-rec) - tracciati dei file prodotti.
- wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy - working-storage standard.
- utilw06.cpy, utils52.cpy, utils65.cpy - aree di supporto (help codici, data, ricerca).
- l-copiaf.cpy (working), u-copiaf.cpy (linkage) - interfaccia 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, cogmerlk.k01, cogmerlk.k02, cogmercl.k01.
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGS52 | Accept/verifica data con calendario |
| COPIAF | Trasferimento dei file prodotti sul client (thin-client) |
Note¶
- Programma carattere/testo (screen a caratteri,
scree.cpy), non GUI a griglia: interfaccia a maschere pop-up e finestre di configurazione. - Unico della famiglia GDO a produrre due file (fatture + bolle) in tracciato dedicato Coop Estense; le altre estrazioni (COGD93/95/96) producono un solo file in formato Conad.
- La testata archivio (record "HH") e il piede ("FF") portano un codice destinatario fisso
KESMK. - Gestisce la conversione lira -> euro con soglia data
20020100/20020101(importi moltiplicati per 100 oltre soglia). - La risoluzione della merce di vendita/merce cliente (
COGMERLK/COGMERCL) e' applicata solo per aziende di tipoPM(az-personal). - Configurazione persistita in
COGTABELtipo 70 (euta-c046-*, argomentoSPMG, chiaveCOGD01): cliente, codice fornitore, nomi archivi fatture/bolle, ultima data estrazione. - Fa parte del flusso Estrazione vendite GDO.
Documentazione tecnica -- creata 2026-08-06