Vai al contenuto

COGP30 — Stampa Contropartite Co/Ge

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

Scopo

Produce il tabulato delle Contropartite di Contabilita' Generale (Co/Ge), gestite come tipo 16 del file generalizzato COGTABEL. Ogni contropartita associa un codice progressivo (euta-codr) a un conto del piano dei conti (mastro/conto/sottoconto). Il programma stampa il codice contropartita, il conto in formato mastro/conto/sottoconto e la descrizione del conto, letta dal piano dei conti COGPNCON.

Non ci sono filtri di selezione: scandisce tutti i record di tipo 16 in ordine di chiave (per codice contropartita), risolvendo per ciascuno la descrizione del conto collegato.

Struttura / flusso

  1. inizioctr-abil, z-99-init-program, x-carica-lingua, open-files, rd-azi.
  2. a002 — inizializza util-s54 e chiama COGS54 (dispositivo di stampa, s54-chr-stampa = 78). Esc/F2 terminano; F3 conferma.
  3. a4 — legge la data di sistema, mostra "Attendere Prego ...", posiziona euta-tipo = 16 con euta-codr = zero ed esegue st-cogtabel-notmin. Se lo start fallisce, oppure la prima rdnxt-cogtabel restituisce fine file o un tipo diverso da 16, mostra il box "NESSUNA CONTROPARTITA" e termina.
  4. ela-10-loop — per ogni record di tipo 16: valorizza r1-cod = euta-codr; estrae mastro/conto/sconto dalla redefine euta-coge (euta-mastro, euta-conto, euta-sconto) e li usa sia per la riga di stampa (r1-mas, r1-con, r1-sco) sia come chiave di lettura del piano dei conti (pco-mastro, pco-conto, pco-sconto). Esegue rd-cogpncon: se il conto non esiste (not w-verbo-ok) riempie pco-rec con all "*". Copia pco-des in r1-des e stampa la riga (perform stampa thru ex-stampa). Poi rdnxt-cogtabel; esce a fine-sta se fine file o euta-tipo <> 16.
  5. stampa / ex-stampa — se ctrri > s54-stm-lin - 10 esegue intesta thru ex-intesta (nuova pagina), quindi scrive riga from rdet1 e incrementa ctrri.
  6. intesta / ex-intesta — stampa rint1 (azienda az-int + titolo "STAMPA CONTROPARTITE CONTABILITA'" + data + pagina) con salto pagina dalla seconda in poi, richiama cs1-print, poi la riga colonne rint2 (CODICE / CONTROPARTITA / DESCRIZIONE); incrementa ctrpa, imposta ctrri = 8.
  7. fine-sta — salto pagina finale, s54-after-print = "S", chiamata COGS54 e cancel "COGS54".
  8. fine / z-chiudirem-clk, close cogtabel cogpncon, z-99-exit-program, exit program.

File e tabelle principali

File logico Record/chiave Modo Uso
COGTABEL (feurtab) euta-rec, chiave euta-tipo+euta-codr Input sequenziale Lettura contropartite tipo 16
COGPNCON pco-rec, chiave pco-chia (mastro/conto/sconto) Input random Descrizione conto piano dei conti
FLSTA flsta.cpy Output stampa File di stampa (righe riga)

Campi COGTABEL usati (redefine euta-coge): euta-codr, euta-mastro, euta-conto, euta-sconto. Campi COGPNCON: pco-des.

Sottoprogrammi chiamati

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

Copybook principali

  • FD / SELECT: feurtab.fd, cogp30.select, flsta.fd, cogfiles.cpy, cogp30.fd, flsta.cpy (COGPNCON e COGTABEL dichiarati nel .select/.fd generati da Screens)
  • Working storage generato: cogp30.wrk
  • Utilità: wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy, utils54.cpy
  • Linkage: wcont.cpy, wcont1.cpy
  • Screen: cogp30-01.scr
  • Fine procedure: grave.cpy, mmsubw.cpy, opengen.cpy, stato.cpy, stato1.cpy, winmsg.cpy, cogp30.prc

Note

  • La descrizione del conto e' letta dal piano dei conti COGPNCON: se il conto collegato alla contropartita non esiste, il campo descrizione viene marcato con asterischi (all "*" su pco-rec), segnalando l'anomalia sul tabulato.
  • Rottura sul cambio di euta-tipo: il ciclo termina appena si superano i record di tipo 16.
  • Le contropartite sono ordinate per codice progressivo euta-codr (chiave di COGTABEL nel range del tipo 16).
  • Larghezza di stampa 78 caratteri; righe per pagina da s54-stm-lin.
  • Se non esiste alcuna contropartita di tipo 16 il programma avvisa con box "NESSUNA CONTROPARTITA" e non produce stampa.