Vai al contenuto

COGP25 — Stampa Stati Esteri

Campo Valore
Sorgente cbl/cogp25.cbl
Program-ID COGP25
Tipo Stampa
Posizione menu Contabilita' > Archivi & Tabelle > Tabelle > Stampe

Scopo

Produce il tabulato degli Stati Esteri, ovvero la tabella dei codici nazione gestita come tipo 54 del file generalizzato COGTABEL. La stampa elenca, per ogni stato, il codice, la descrizione, la classificazione (Intracomunitario / Extracomunitario) e la sigla ISO.

Il programma non applica filtri di selezione: scandisce l'intero contenuto della tabella tipo 54 in ordine di chiave (euta-tipo + euta-cod), che corrisponde all'ordinamento per codice stato.

Struttura / flusso

  1. inizio — imposta prog-err/w-nome-hlp, esegue ctr-abil, z-99-init-program, x-carica-lingua, open-files, rd-azi.
  2. a002 — inizializza l'area util-s54 e chiama COGS54 (gestione dispositivo di stampa / anteprima) con s54-chr-stampa = 78. Se l'utente preme Esc o F2 termina; se non preme F3 ripropone la scelta; con F3 procede.
  3. a4 — legge la data di sistema (accept datasis from century-date), mostra il messaggio "Attendere Prego ...", azzera ctr-pag, imposta ctr-rig = 200 (forza la testata alla prima riga), posiziona euta-tipo = 54 con euta-cod = spaces ed esegue st-cogtabel-notmin (start not less than).
  4. a015 — ciclo di lettura sequenziale: rdnxt-cogtabel; esce (fine-sta) quando w-fine-file o quando euta-tipo <> 54 (rottura di tipo). Per ogni record valorizza la riga di dettaglio rigel con euta-codrg-cod, euta-st-desrg-des, la traduzione di euta-st-tip ("I" → "Intracomunitario", altrimenti "Extracomunitario") → rg-tip, euta-st-siglarg-sigla. Se ctr-rig supera s54-stm-lin - 12 esegue testa (nuova pagina) e poi scrive riga from rigel.
  5. testa — stampa l'intestazione: riga di separazione, testa1 (titolo " Stampa Stati Esteri " + numero pagina), testa2 (intestazione azienda az-int + data di stampa), e la riga colonne testa3 (Codice / Descrizione / Tipo / Sigla). Richiama cs1-print per la conferma stampante; con Esc termina, con F3 rilancia la testata.
  6. fine-sta — scrive un salto pagina finale, imposta s54-after-print = "S" e richiama COGS54 per chiudere la stampa, quindi cancel "COGS54".
  7. fine / z-chiudi — rimuove il clock, chiude COGTABEL, esegue z-99-exit-program ed exit program.

File e tabelle principali

File logico Record/chiave Modo Uso
COGTABEL (feurtab) euta-rec, chiave euta-tipo+euta-cod Input sequenziale Lettura tabella tipo 54 (stati esteri)
FLSTA flsta.cpy Output stampa File di stampa (righe riga)

Campi del record utilizzati (redefine euta-stati): euta-st-des, euta-st-tip, euta-st-sigla.

Sottoprogrammi chiamati

Programma Contesto Scopo
COGS54 a002, fine-sta Selezione dispositivo di stampa / anteprima e chiusura stampa

Copybook principali

  • FD / SELECT: feurtab.fd, cogp25.select, flsta.fd, cogfiles.cpy, cogp25.fd, flsta.cpy
  • Working storage generato: cogp25.wrk
  • Utilità: wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, utils54.cpy
  • Linkage: wcont.cpy, wcont1.cpy
  • Screen: cogp25-01.scr
  • Fine procedure: grave.cpy, mmsubw.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, cogp25.prc

Note

  • La testata di dettaglio (testa3) viene scritta due volte consecutive (after 2 e after zero), pratica di grassetto per sovrastampa tipica delle stampe legacy Eurocoge.
  • La rottura di elaborazione avviene sul cambio di euta-tipo: essendo COGTABEL un file multi-tabella, il ciclo si ferma appena si supera il blocco dei record con tipo 54.
  • La larghezza di stampa e' fissata a 78 caratteri (s54-chr-stampa); il numero di righe per pagina e' determinato da COGS54 tramite s54-stm-lin.
  • Le descrizioni in lingua di etichette e messaggi sono caricate da x-carica-lingua (READLNG).