COGK40 - Estrazione Conti Correnti / Scadenzario Revisioni¶
Scopo¶
Estrazione su file di testo dei dati delle revisioni eseguite in un periodo, per due scopi distinti: - Tipo "C": estrazione per stampa conti correnti - Tipo "S": estrazione per scadenzario revisioni
Il tipo di elaborazione e' determinato dal parametro di lancio (wo-parametro(1:1)).
Menu¶
- Vendite > Centro Revisioni > Stampe / Estrazioni > Estrazione Conti Corr. (parametro "C")
- Vendite > Centro Revisioni > Stampe / Estrazioni > Scadenzario Revisioni (parametro "S")
File e tabelle¶
| File | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Parametri | File parametri di ambiente |
| COGREVIS (RVI) | Indicizzato | Archivio revisioni eseguite |
| COGGEANA (ANA) | Indicizzato | Anagrafica clienti |
| FILESEQ | Sequenziale binario | File di output TXT |
Copybook¶
File e select¶
feurtab.fd— FD file parametricogfiles.cpy— Record file parametricogk40.select— SELECT dei file (COGREVIS, COGGEANA)cogk40.fd— FD specifici del programmacogk40.wrk— Working-storage generatacogrevis.k04— Chiave 4 di COGREVIS (per data)
Working-storage standard¶
wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpyk-u10.cpy— Costanti U10
Utilita'¶
utils52.cpy— Gestione input date (S52)utils54.cpy— Utility S54utils65.cpy— Utility S65utilu10.cpy— Utility date U10utile18.cpy— Utility E18
Linkage¶
wcont.cpy,wcont1.cpy— Stringhe di comunicazione
Procedure¶
cogk40.prc— Procedure I/O su COGREVIS, COGGEANAgetdcont.cpy— Get divisa contograve.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy
CALL¶
Nessuna CALL esplicita a sottoprogrammi (usa solo le subroutine inline via PERFORM delle copybook).
Logica di elaborazione¶
- Inizializzazione: apre file, legge azienda, determina il tipo di elaborazione da
wo-parametro(1:1) - Input parametri: accept di data-da e data-a con validazione (entrambe obbligatorie, data-da <= data-a). Per tipo "C" preimposta entrambe alla data di sistema
- Costruzione nome file:
- Tipo "C":
{tmp}/CCaaaammgg.TXT - Tipo "S":
{tmp}/SCADmmgg.TXT - Elaborazione (
a60-loop): - START su COGREVIS chiave 4 (per data) con
rvi-data >= tm-data-da - READNEXT in loop fino a
rvi-data > tm-data-ao fine file - Per ogni revisione: legge anagrafica proprietario da COGGEANA (usa
rvi-pro-codse presente, altrimentirvi-ana-cod) - Scrive record CSV su fileseq: targa;nome;indirizzo;CAP;localita';provincia (separatore
;) - Aggiorna orologio visuale (
view-clk) - Fine: chiude il file, mostra messaggio con percorso del file generato
Record di output (FILESEQ)¶
seq-targa PIC X(15) — targa veicolo
seq-f1 PIC X(01) — separatore ";"
seq-nome PIC X(40) — nome/ragione sociale
seq-f2 PIC X(01) — separatore ";"
seq-indi PIC X(35) — indirizzo
seq-f3 PIC X(01) — separatore ";"
seq-cap PIC 9(05) — CAP
seq-f4 PIC X(01) — separatore ";"
seq-loca PIC X(20) — localita'
seq-f5 PIC X(01) — separatore ";"
seq-pro PIC X(02) — provincia
seq-f6 PIC X(01) — separatore ";"
seq-cr PIC X(01) — CR
seq-lf PIC X(01) — LF
Chiave di accesso COGREVIS¶
Usa la chiave 4 (cogrevis.k04) che e' ordinata per data revisione (rvi-data), consentendo l'estrazione per intervallo date.
Note tecniche¶
- Il file di output e' in formato binary sequential (record fisso con CR+LF in coda).
- Il separatore di campo e' il punto e virgola (
;), memorizzato nei campiseq-f1..seq-f6. - Se il proprietario (
rvi-pro-cod) e' zero, usa il codice anagrafica base (rvi-ana-cod). - Se l'anagrafica non viene trovata, il record viene comunque scritto con campi vuoti.
- Il programma mostra un orologio visuale durante l'elaborazione (
clock-msg/view-clk/rem-clk). - Usa
GO TOper il loop principale (codice legacy).