COGG64 - Esportazione serial numbers per causale¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGG64 |
| Sorgente | cbl/cogg64.cbl (1.288 righe) |
| Titolo | Estrazione dati di vendita / serial numbers per causale |
| Tipo | Interattivo (maschera carattere mm-1, non GUI) |
| Modulo | Sistema |
| Posizione menu | Sistema > Utility > Esportazioni > Serial x Causale |
L'intestazione del sorgente lo dichiara come "Estrazione report di Vendita VEGE": e' nato come estrazione personalizzata per il cliente VEGE ed e' rimasto a menu come esportazione generica dei numeri di serie (matricole) usciti con le bolle, filtrati per causale.
Scopo¶
Estrae in un file di testo i movimenti di vendita corredati dei relativi numeri di serie / matricole (cogmtusc + cogmatri), abbinando ad ogni causale di magazzino una descrizione di esportazione definita dall'operatore in una griglia. Per ogni matricola uscita produce una riga con codice merce, seriale, prezzi (acquisto/vendita), importo trasporto, dati cliente e fornitore. Il file prodotto e' pensato per essere importato in sistemi terzi (originariamente il gestionale del cliente VEGE).
L'utente imposta:
- Magazzino (
tm-mag, vuoto = tutti); - Periodo movimenti (
tm-da-data/tm-a-data), con proposta della data di consolidamento letta dacogtabeltipo 57; - Tipologia cliente da escludere (
tm-filtro-tipologia, tabella tipo 84); - Nome file di esportazione (
tm-name-export), selezionabile via finestra di sistemaC$OPENSAVEBOX; - Griglia causale -> descrizione export (
tm-t-cau/tm-t-exp-des), max 100 righe.
Tabelle e file usati¶
| File | Ruolo | Chiavi/campi rilevanti |
|---|---|---|
cogtesbo |
Testate bolle da estrarre e testate d'entrata correlate | chiave 2 (tes-data, tes-mag, tes-anno, tes-tipob, tes-bolla3); tes-causale, tes-nonno, tes-colli |
cogmtusc |
Matricole/seriali usciti con la bolla | chiave 3 (mtu-fl-doc="B", mtu-bolla, mtu-merce, mtu-mat) |
cogmatri |
Anagrafica matricola | mtr-mat, mtr-sn (serial number), mtr-merce, mtr-ent* (bolla d'entrata) |
cogmomag |
Righe movimento (per recupero prezzo vendita/acquisto) | chiave primaria (mag-testa, mag-prog); chiave 3 (mag-mag3, mag-merce3, mag-da3, mag-tipob3, mag-bolla3); mag-prezzo |
coggeana |
Anagrafica cliente / fornitore | ana-tipo, ana-cod, ana-nome, ana-piva, ana-cofi |
cogappog |
Appoggio anagrafica (tipologia statistica cliente) | app-chia, app-tip-stt |
cogtabel |
Tabelle: causali (tipo 15), tipologie cliente (tipo 84), data consolidamento (tipo 57) | euta-tipo, euta-cod, euta-cb-des, euta-descr |
cogmerci |
Descrizione merce e codice composto | mer-chia, mer-gru, mer-sot, mer-cod, mer-descr |
cogtrasp |
Documento di trasporto per importo trasporto | tra-imp, tra-currency, tra-data |
cogmagaz (cogmaga2) |
Anagrafica magazzino (validazione) | magz-tipo="M", magz-cod, magz-nome |
cogexport |
File di output | exp-line pic x(350) + exp-cr + exp-lf (binary sequential) |
cogmerap, cogmemor |
Aperti ma di supporto (catena FD condivisa) | - |
Il file di output e' binary sequential: ogni record e' una riga di 350 caratteri chiusa da CR/LF (wca-cod-cr / wca-cod-lf, impostati da ctr-abil).
Logica di elaborazione¶
a000/a4- apertura file, lettura azienda (rd-azi), divisa di conto (get-divisa-conto), abilitazioneC$OPENSAVEBOXse ambiente Windows (az-sys = "W"), display maschera carattere.a10-a50- richiesta parametri (magazzino, date viaCOGS52, tipologia da escludere, nome file viaCOGS23). Se il file esiste chiede conferma sovrascrittura.a60-a100- editing della griglia causale/descrizione export; per ogni causale digitata valida sucogtabeltipo 15 e mostra la descrizione. F8 richiama l'aiuto causali (sendw01).b-elabora(F3) - elaborazione:compatta-tm-tabcompatta la griglia eliminando i buchi;- apre in output
cogexport; - scorre
cogtesbo(chiave 2) dalla data iniziale, filtra per magazzino e data finale; - cerca la causale della testata nella griglia; se non presente salta la bolla;
- carica cliente e partita IVA (
coggeana), tipologia statistica (cogappog+cogtabeltipo 84) e applica il filtro esclusione tipologia; - per ogni matricola uscita (
cogmtusc/cogmatri) recupera prezzo di vendita dacogmomagsul documento d'uscita e prezzo di acquisto dalla bolla d'entrata (mtr-ent*), piu' l'importo trasporto dacogtrasp(convertito in divisa conto viaCOGU10operazione "CambioAConto"/"Arrotonda") ripartito sui colli; - compone
exp-linecon campi tra virgolette: prefisso"VI", codice merce (mer-gru+mer-sot+codice, con troncamento dello zero iniziale seaz-personal = k-vege), descrizione, seriale, prezzi editati (COGU10"Edita"), dati cliente, partita IVA fornitore, descrizione export causale, data e nome cliente; - scrive il record e incrementa il contatore
ctr-wr. - Al termine chiude il file e mostra il numero di record esportati (
box-msg).
Chiamate / COPY rilevanti¶
| Programma | Scopo |
|---|---|
COGS52 |
Accept data (da/a) |
COGS23 |
Accept/gestione nome file di esportazione |
COGU10 |
Editing/conversione importi e cambio divisa |
C$OPENSAVEBOX |
Finestra di sistema per scelta file (solo az-sys="W") |
C$JUSTIFY |
- |
sendw01, sendw36, sendw80 |
Aiuti su causali, magazzini, tipologie |
COPY notevoli: opensave.def, utilu10.cpy, utilw80.cpy, utils23.cpy, utils52.cpy, GetDCont.cpy (divisa conto), le chiavi secondarie cogtesbo.k02, cogmomag.k02/k03/k04, cogmtusc.k03.
Note¶
- Il prefisso record
"VI"e il troncamento del codice merce sono retaggi della personalizzazione VEGE (az-personal = k-vege): sugli altri ambienti il codice merce e' esportato integrale. - L'estrazione lavora per matricola (numero di serie): una bolla con piu' matricole genera piu' righe; le matricole senza riga movimento vengono segnalate con
box-msge saltate. - Il recupero prezzo di vendita e' stato modificato (commento
20140922) per gestire il disallineamento date tra testata e righe, leggendocogmomagper chiave primaria (mag-testa) anziche' per chiave 3. - Programma a maschera carattere con
go toper il dispatch dei campi (schema classico dei vecchi editor a griglia); non e' un programma GUI.
Documentazione tecnica -- creata 2026-08-07