Vai al contenuto

COGG23 - Esporta Dati Contratti x MS Excel

Sorgente: cbl/cogg23.cbl | Program-ID: COGG23 | Tipo: Esportazione

Menu: Vendite > Mediatori > Esporta Dati x MS Excel


Scopo

Esporta i dati di un contratto di vendita su file di testo (EXPG23.TXT) importabile in Excel. Il file contiene: dati ordine, anagrafica venditore e committente, e righe di consegna con prezzi in valuta estera. Vengono esportate solo le righe con currency diversa da "L" (Lire) e "E" (Euro).


Struttura della maschera

Maschera a caratteri inline (mm-1, 7 righe x 80 colonne). Campi: anno ordine, numero ordine, codice venditore (con descrizione), codice committente (con descrizione). Se chiamato con parametri in linkage (i-tip valorizzato), i campi ordine vengono precompilati.


Logica di elaborazione

Flusso principale

  1. Inizializzazione (a000): costruisce path file export (ext-tmp-dir + EXPG23.TXT), open-files, rd-azi, display maschera. Se richiamato da altra funzione (wko-tip valorizzato), salta direttamente al caricamento ordine.
  2. Accept ordine (a20-ann, a20-num): accept anno (tramite COGS52) e numero ordine.
  3. Lettura ordine (a20-go): legge COGTESOR (rd-cogtesor). Se non trovato, messaggio errore.
  4. Scrittura export:
  5. Apre cogexport in output.
  6. Scrive record "O" con anno+numero ordine.
  7. Scrive record "V" con codice+nome venditore (da COGGEANA).
  8. Scrive record "C" con codice+nome committente (da COGGEANA).
  9. Ciclo sulle consegne: START su COGCONOR per chiave ordine, READ NEXT. Per ogni consegna legge COGRIGOR per ottenere prezzo e currency. Se currency diversa da spaces, "L", "E": scrive record "R" con data, quantita', prezzo, valuta.
  10. Fine: se ctr-wr = 0 (nessun dato esportato), cancella il file. Altrimenti messaggio con conteggio righe.

Formato file export

Flag Contenuto
O Anno (4) + Numero ordine (7)
V Codice venditore (5) + Nome (40)
C Codice committente (5) + Nome (40)
R Data (8) + Quantita' (7,999) + Prezzo (12,999999) + Valuta (2)

Sottoprogrammi chiamati

Programma Scopo
COGS52 Accept campo anno con validazione

File utilizzati

File Copybook Accesso Utilizzo
FEURTAB cogfiles.cpy Random Tabella file generali
COGMERCI cogmerci.cpy External Anagrafica merci (non usata direttamente nel flusso principale)
COGGEANA coggeana.cpy Input Anagrafica clienti/fornitori
COGTESOR cogtesor.cpy Input Testata ordini
COGRIGOR cogrigor.cpy Input Righe ordine (prezzo, valuta)
COGCONOR cogconor.cpy Input Consegne ordine
COGEXPORT - Output, Line Sequential File di testo esportato (EXPG23.TXT)

Copybook principali

Copybook Descrizione
feurtab.fd, cogmerci.fd, coggeana.fd, cogtesor.fd, cogrigor.fd, cogconor.fd SELECT dei file
cogmerci.cpy, coggeana.cpy, cogtesor.cpy, cogrigor.cpy, cogconor.cpy Record layout
wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy Variabili standard
cogazien.cpy Dati azienda
utilm96.cpy Utility M96
utils17l.cpy, utils25.cpy, utils26.cpy, utils52.cpy, utils68.cpy Interfacce subroutine
utilw28.cpy Utility W28
wcont.cpy, wcont1.cpy, utils16.cpy Linkage standard
stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, open1.cpy, mmmask.cpy Procedure standard
cogmerci.k01, coggeana.k01, cogtesor.k01, cogrigor.k01, cogrigor.k02, cogconor.k01, cogconor.k02 Chiavi tabelle

Linkage

Il programma riceve parametri tramite redefines di user-area:

  • util-inp: tipo (1), anno (4), numero (7), progressivo (1) dell'ordine da esportare.
  • util-o16: stessa struttura, per output.
  • util-m97: area per parametri merce e lotto.

Se i-tip e' valorizzato, il programma salta l'accept dell'ordine e usa i dati dalla linkage.


Note tecniche

  • Il file export e' di tipo LINE SEQUENTIAL, leggibile da Excel come testo delimitato.
  • Il prezzo viene esportato con 6 decimali (pic 9(12),999999), a differenza del vecchio formato a 2 decimali (commentato nel sorgente).
  • La scansione delle consegne usa la chiave secondaria di COGCONOR (k02) per filtrare per ordine.