Vai al contenuto

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

  1. a00 (main): ctr-abil, open-files, open-fil-neg (crea COGD95.ARC in ext-arc-dir), rd-azi; prepara la maschera pop-up.
  2. a4: titolo "Estrazione Dati x Coop Nordest"; legge la configurazione (x99-src-cfg, tipo 70/SPMG/COGD95) o default (x99-cfg-init).
  3. a-10 / a-50: accept data inizio/fine con COGS52; F1 riapre la configurazione (nome file via COGS23); controllo data partenza <= data arrivo.
  4. a-90: conferma con F3.
  5. b-00: risolve il nome fisico del file (w-cfg-nom-bol; in thin-client COOPNORD.DAT su ext-tmp-dir), apre in output filfat, finestra di avanzamento con contatori bolle/righe.
  6. b-00-read: scorre COGFATTU; filtro per intervallo date e cliente; per ogni fattura valida esegue find-bolle.
  7. find-bolle: da COGRACCO risale ai DDT; crea COGTRANS (init-cogtrans), scorre COGMOMAG, scrive la testata bolla (bolla-testa), accumula le righe (bolla-corpo), poi svuota-bolla.
  8. 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 da neg-fil (cod-neg-coop per mag-padre); divisa "EUR".
  9. bolla-corpo: risolve merce vendita/merce cliente (COGMERLK/COGMERCL) per aziende PM; accumula quantita'/valore/colli in COGTRANS.
  10. svuota-bolla (record "02"): compone il codice articolo a 9 (cp-r-codart-9) concatenando gruppo/sottogruppo/codice (w-merce-x via string-trim), descrizione, quantita', prezzo, colli, unita' di misura, codice IVA (da COGTABEL tipo 67), tipo cessione "1"; accumula i totali w-val/w-val1.
  11. b-50: chiude il file, in thin-client copia su client via COPIAF, mostra i totali imponibile, memorizza l'ultima data (x99-mem-data).
  12. 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 (da COGD95.ARC su mag-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 negozi COGD95.ARC (per mag-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 alla inspect ... replacing di COGD93).
  • Nome file di output acquisito con COGS23 (default A:\COOPNORD.DAT).
  • La risoluzione merce vendita/merce cliente (COGMERLK/COGMERCL) e' attiva solo per aziende PM.
  • Configurazione persistita in COGTABEL tipo 70 (euta-c047-*, SPMG/COGD95), condivisa con COGD93/COGD96.
  • Fa parte del flusso Estrazione vendite GDO.

Documentazione tecnica -- creata 2026-08-06