Vai al contenuto

MIL009 - Allegato Clienti/Fornitori/Soci da Art. Chiusura

Sorgente: cbl/mil009.cbl | Program-ID: MIL009 | Tipo: Programma batch/interattivo (z-99-exit-program)

Menu: Contabilita' > Bilancio > Allegati


Scopo

Stampa l'allegato di bilancio per clienti, fornitori o soci leggendo i movimenti dall'archivio di chiusura (cogpnonc). Il tipo anagrafico (C/F/S) e' determinato da wo-y (3): 1=Clienti, 2=Fornitori, 3=Soci. Prodotto in stile DOS (source-computer rmcobol), privo di screen section moderna.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB Indexed Input Tabelle generali di sistema
COGTABEL Indexed Input Tabelle generiche (tipo 66: esercizio)
COGGEANA Indexed Input Anagrafica clienti/fornitori/soci
COGPNCON Indexed Input Piano dei conti
COGPNONC Indexed Input Movimenti chiusura per piano dei conti
MASCH Sequential Input File parametri maschera (COGE01.SEQ)
FLSTA Sequential Output File stampa

Il percorso di cogpnonc viene costruito dinamicamente: ext-arc-dir + ext-os-slash + conta-cone1 (2:3) + "CHIUS.ARC".

Copybook utilizzate

Copybook Descrizione
wopenf.cpy Apertura file generica
wstato.cpy Gestione status file
wgrave.cpy Gestione errori gravi
cogconta.cpy Dati esercizio contabile (conta-cone1)
wnscr.cpy Variabili di schermata
utils54.cpy Utility gestione stampa (COGS54)
utilu10.cpy Utility conversione importi/valuta
k-u10.cpy Costanti U10
cogazien.cpy Dati azienda

Logica di elaborazione

  1. Legge il parametro wo-y (3) per determinare il tipo (1=C, 2=F, 3=S).
  2. Carica da file masch (COGE01.SEQ) i parametri di maschera in tabella eltab (max 24 righe) e li visualizza a schermo.
  3. Richiede conferma "SI/NO".
  4. Chiama COGS54 per la scelta della destinazione di stampa.
  5. Legge COGTABEL tipo 66 (esercizio) per ottenere il codice di chiusura conta-cone1.
  6. Apre l'archivio di chiusura cogpnonc il cui percorso include i 3 caratteri centrali di conta-cone1.
  7. Scorre COGPNCON cercando conti con pco-tipoanagr = risp; per ogni conto trovato posiziona su COGPNONC con chiave (pno-mastro, pno-conto).
  8. Per ogni movimento di cogpnonc con chiave corrispondente:
  9. legge COGGEANA per il nominativo (ana-tipo + pno-sconto)
  10. formatta l'importo con COGU10 (valuta, 15 caratteri)
  11. scrive la riga di dettaglio (rdet1): codice, nome, dare, avere
  12. Paginazione ogni 58 righe.
  13. Alla fine del conto scrive i totali (totdare, totavere).
  14. Chiama COGS54 con s54-after-print = "S" per inviare la stampa.

Riga di intestazione (rint1): "A L L E G A T O" + tipo ("C L I E N T I" / "F O R N I T O R I" / "S O C I") in formato spaziato.

Chiamate a sottoprogrammi

Programma Funzione
COGS54 Gestione stampa (scelta destinazione + invio)
COGU10 Formattazione importi con gestione valuta