Vai al contenuto

COGK78 - Crea tabelle c.costo da piano conti

Funzione

Elaborazione batch che inizializza le tabelle dei centri di costo a partire dal piano dei conti. Esegue tre fasi in sequenza:

  1. Fase 1 (fase11-10-loop): scansiona COGPNCON. Per ogni conto di reddito (bco-reddito = "R") con sottoconto <= 99999, crea il record in COGCCOPR se non esiste. Se il sottoconto e' significativo (> 0), crea anche il raccordo percentuale 100% in COGPERCC.
  2. Fase 2 (a10-loop): scansiona COGTABEL tipo 16 (contropartite CO/GE). Per ogni contropartita con mastro di reddito e sottoconto <= 99999, salva la coppia codr/conto in una tabella temporanea COGTRANS.
  3. Fase 3 (a10-loop-trs): per ogni record in COGTRANS, scrive la contropartita C.Costo corrispondente in COGTABEL tipo 18.
  4. Fase 4 (merci-loop): scansiona COGMERCI. Per ogni articolo, allinea il campo ma2-cc-ven in COGMERA2 e map-cc in COGMERAP con le contropartite gia' presenti sull'anagrafica merci (se il campo e' zero).
  • Contabilita' > Centri di Costo > Varie > Crea tabelle c.costo da piano conti

Tabelle e file principali

Tabella Descrizione Accesso
COGPNCON Piano dei conti Input (scansione sequenziale)
COGCCOPR Anagrafica centri di costo/profitto I-O (lettura, scrittura condizionale)
COGPERCC Raccordi conto/centro di costo Output (scrittura raccordi 100%)
COGTABEL Tabelle generiche (tipo 16 = c/partite CO/GE, tipo 18 = c/partite CC) I-O
COGMERCI Anagrafica merci Input (scansione sequenziale)
COGMERA2 Dati accessori merci (cc vendita) I-O
COGMERAP Dati accessori merci acquisto (cc acquisto) I-O
COGTRANS File temporaneo indicizzato Output/I-O (usato come accumulo tra fase 2 e fase 3)
FEURTAB Tabella generica Eurosystem Input

Logica principale

Filtro conti di reddito

Per ogni conto letto da COGPNCON, il programma legge COGPNCON a livello mastro (conto=0, sconto=0) tramite rd-bogpncon e verifica bco-reddito = "R". I conti patrimoniali vengono ignorati.

Tabella temporanea COGTRANS

Il file COGTRANS viene creato in ext-tmp-dir con nome #$cogk78.<operatore>. Viene aperto in output, popolato nella fase 2, poi riaperto in i-o per la lettura nella fase 3. Alla chiusura il file viene eliminato (delete file cogtrans).

Chiave COGTRANS

trs-chia1 = trs-euta-codr (9(10)). Struttura dati: trs-euta-pco con mastro/conto/sconto.

Scrittura COGCCOPR

Campi impostati alla creazione: cco-liv1/2/3 = mastro/conto/sconto da piano conti, cco-des = pco-des, cco-tipo = spaces, cco-merce = "N".

Scrittura COGPERCC

Per sottoconti significativi: cpc-mastro/conto/sconto + cpc-liv1/2/3 + cpc-prog = 1, cpc-perc = 100, cpc-rep = spaces, cpc-mag = spaces.

Log di elaborazione

Utilizza GESDEBUG per scrivere un log della procedura. Al termine richiama GESLPRC con operazione "CONSULTA-PROCEDURA" per consentire la consultazione del log dalla maschera.

Copybook principali

Copybook Contenuto
cogk78.select SELECT file Screen Designer
cogk78.fd FD file Screen Designer
cogk78.wrk Working storage Screen Designer
cogk78-01.scr Screen section
cogk78.prc Procedure copybook (operazioni file)
cogk78.decla Declaratives
wstato.cpy / wgrave.cpy / wopenf.cpy / wnscr.cpy WS comuni
cogazien.cpy / cogconta.cpy Dati azienda e contabilita'
utilncnf.cpy / utilgesdebug.cpy RNEWCONF e debug
wcont.cpy / wcont1.cpy Linkage section
cogtrans.k01 Chiave file temporaneo

Programmi chiamati (CALL)

Programma Scopo
GESLPRC Consultazione log elaborazione al termine

Note tecniche

  • Il programma e' un programma standalone (usa mmmask.cpy, non mmsubw.cpy).
  • Il file COGTRANS e' dichiarato inline nel sorgente (non tramite Screen Designer).
  • La scansione COGPNCON avviene con st-cogpncon-notmin + rdnxt-cogpncon (scansione sequenziale dall'inizio).
  • Il programma non ha un controllo di mono-utenza esplicito.
  • I contatori tm-letti / tm-scritti vengono visualizzati in tempo reale sui controlli e-tm-letti / e-tm-scritti della maschera.