Vai al contenuto

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

  1. a00 (main): imposta prog-err/w-nome-hlp/w-nome-msk, esegue ctr-abil, open-files, open-fil-neg (apre/crea COGD01.ARC), rd-azi; prepara la maschera pop-up (mm-1, rd-msk-all).
  2. a4: azzera tab-maschera, visualizza titolo "Estrazione Dati x COOP", legge la configurazione (x99-src-cfg -> record euta tipo 70/SPMG/COGD01); se assente inizializza i default (x99-cfg-init) e apre la finestra di configurazione (x99-conf).
  3. a-10 / a-50: accept della data inizio e data fine tramite subroutine COGS52 (calendario/verifica). F1 riapre la configurazione. Controllo che la data di partenza non superi la data di arrivo.
  4. a-90: conferma (acc-conf), attesa di F3.
  5. b-00: risolve i nomi fisici dei file (w-cfg-nom-fat/w-cfg-nom-bol; in thin-client scrive su ext-tmp-dir con nomi fattmo.dat/bollmo.dat), apre in output filfat e filbol, mostra la finestra di avanzamento con contatori fatture/bolle e la "rotellina" (rotel).
  6. b-00-read: scorre COGFATTU in 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.
  7. find-bolle: da COGRACCO (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 in COGTRANS (bolla-corpo).
  8. bolla-corpo: risolve la merce di vendita/merce cliente (COGMERLK tipo "CV", COGMERCL per il codice CMC) quando l'azienda e' di tipo PM; accumula quantita'/valore/colli sul record transito o lo crea.
  9. svuota-bolla: scorre COGTRANS, per ogni articolo scrive la riga bolla (record "02") con codice articolo, descrizione (COGMERCI), quantita', prezzo (con conversione euro), codice IVA letto da COGTABEL tipo 67.
  10. b-50: alla fine emette il piede archivio (piede, record "FF"), chiude i file; in thin-client copia gli archivi sul client via COPIAF; memorizza l'ultima data di estrazione (x99-mem-data).
  11. 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 con cp-f-r2-*: progressivo, n. fattura, data, tipo "AR"/"FV", codice fornitore), "00" (piede con cp-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 tipo PM (az-personal).
  • Configurazione persistita in COGTABEL tipo 70 (euta-c046-*, argomento SPMG, chiave COGD01): cliente, codice fornitore, nomi archivi fatture/bolle, ultima data estrazione.
  • Fa parte del flusso Estrazione vendite GDO.

Documentazione tecnica -- creata 2026-08-06