Vai al contenuto

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)).

  • 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 parametri
  • cogfiles.cpy — Record file parametri
  • cogk40.select — SELECT dei file (COGREVIS, COGGEANA)
  • cogk40.fd — FD specifici del programma
  • cogk40.wrk — Working-storage generata
  • cogrevis.k04 — Chiave 4 di COGREVIS (per data)

Working-storage standard

  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy
  • k-u10.cpy — Costanti U10

Utilita'

  • utils52.cpy — Gestione input date (S52)
  • utils54.cpy — Utility S54
  • utils65.cpy — Utility S65
  • utilu10.cpy — Utility date U10
  • utile18.cpy — Utility E18

Linkage

  • wcont.cpy, wcont1.cpy — Stringhe di comunicazione

Procedure

  • cogk40.prc — Procedure I/O su COGREVIS, COGGEANA
  • getdcont.cpy — Get divisa conto
  • grave.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

  1. Inizializzazione: apre file, legge azienda, determina il tipo di elaborazione da wo-parametro(1:1)
  2. 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
  3. Costruzione nome file:
  4. Tipo "C": {tmp}/CCaaaammgg.TXT
  5. Tipo "S": {tmp}/SCADmmgg.TXT
  6. Elaborazione (a60-loop):
  7. START su COGREVIS chiave 4 (per data) con rvi-data >= tm-data-da
  8. READNEXT in loop fino a rvi-data > tm-data-a o fine file
  9. Per ogni revisione: legge anagrafica proprietario da COGGEANA (usa rvi-pro-cod se presente, altrimenti rvi-ana-cod)
  10. Scrive record CSV su fileseq: targa;nome;indirizzo;CAP;localita';provincia (separatore ;)
  11. Aggiorna orologio visuale (view-clk)
  12. 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 campi seq-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 TO per il loop principale (codice legacy).