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:
- 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. - 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. - Fase 3 (
a10-loop-trs): per ogni record in COGTRANS, scrive la contropartita C.Costo corrispondente in COGTABEL tipo 18. - Fase 4 (
merci-loop): scansiona COGMERCI. Per ogni articolo, allinea il campoma2-cc-venin COGMERA2 emap-ccin COGMERAP con le contropartite gia' presenti sull'anagrafica merci (se il campo e' zero).
Menu¶
- 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, nonmmsubw.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-scrittivengono visualizzati in tempo reale sui controllie-tm-letti/e-tm-scrittidella maschera.