COGE40 -- Inserimento Partite Aperte¶
Sorgente: cbl/coge40.cbl | Program-ID: COGE40 | Tipo: Interattivo GUI
Menu: Contabilita' > Clienti a Part.Aperte > Inserimento / Contabilita' > Fornit. a Part.Aperte > Inserimento
Scopo¶
Programma interattivo per la gestione di incassi clienti e pagamenti fornitori tramite partite aperte. Presenta una maschera con griglia scrollabile delle partite aperte del soggetto selezionato, permette la selezione delle scadenze da chiudere, e genera i movimenti di prima nota corrispondenti. Gestisce anche operazioni accessorie: abbuoni, differenze cambio, spese, bolli, ritenute d'acconto, pagamento parziale, giro conto, sospensione e RiBa.
Il parametro wo-parametro discrimina l'operativita': "C" = clienti (incassi), "F" = fornitori (pagamenti). Puo' essere richiamato esternamente tramite util-pagam (con in-prove-pagam = 9) oppure tramite la linkage utilcall40.cpy (con call40-called = k-program-id).
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| COGPARTI | par-rec | I-O | Partitario clienti/fornitori |
| COGPNONC | pno-rec | I-O | Prima nota non contabilizzata |
| COGWPNO | wpn-rec | I-O | Working prima nota (file transito generato da COGS77) |
| COGFATTU | fat-rec | Input | Archivio fatture |
| COGGEANA | ana-rec | Input | Anagrafica generale clienti/fornitori |
| COGPNCON | pco-rec | Input | Piano dei conti |
| COGTABEL | euta-rec | Input | Tabelle di sistema (tipo 66: esercizio, tipo 16: contropartite, tipo 22: tipo pagamento, tipo 65: tipo operazione) |
| COGRITAC | - | I-O | Gestione ritenute d'acconto |
| COGMOVPA | - | I-O | Movimenti partite |
| NUTSRIBA | sto-rec | Input | Archivio sub-RiBa |
| NUTARIBA | ari-rec | Input | Archivio RiBa |
| COGANAPP | aap-rec | Input | Anagrafica appendice (per consorzi) |
| CAPFIDO | fidc-rec | Input | Fido clienti/fornitori |
| FEURTAB | - | Input | Tabella generica Eurosystem |
| FILEJDOC | jdoc-rec | Output | File esportazione JDOC (per fornitori) |
Copybook utilizzate¶
Screen Designer¶
| Copybook | Descrizione |
|---|---|
coge40-01.scr |
Maschera principale (screen section) |
coge40-02.scr |
Seconda maschera (finestra gestione differenze) |
coge40-03.scr |
Terza maschera (finestra versamento conto) |
coge40.select |
SELECT dei file |
coge40.fd |
FD dei file |
coge40.wrk |
Working storage maschera |
coge40.decla |
Declaratives |
Strutture dati¶
| Copybook | Descrizione |
|---|---|
cogfiles.cpy |
FD feurtab |
cogwpno.cpy |
Working prima nota |
cogazien.cpy |
Dati azienda |
cogconta.cpy |
Struttura conti |
cogpnonc.cpy |
Prima nota non contabilizzata |
k-u10.cpy |
Costanti COGU10 |
k-personal.cpy |
Costanti personalizzazione |
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy |
Working storage comuni |
Utility e interfacce¶
| Copybook | Descrizione |
|---|---|
utils51.cpy |
Interfaccia COGS51 |
utils52.cpy |
Interfaccia COGS52 (calendario) |
utils60.cpy |
Interfaccia COGS60 |
utils65.cpy |
Interfaccia COGS65 (ricerca anagrafica) |
utils77.cpy |
Interfaccia COGS77 (ricerca partite) |
utils78.cpy |
Interfaccia COGS78 |
utils25.cpy |
Interfaccia COGS25 (date) |
utilu10.cpy |
Utility divisa/formattazione |
utilgdad.cpy |
Gestione griglie |
utilw19.cpy |
Interfaccia WIN019 |
utilw53.cpy |
Interfaccia WIN053 |
utilw62.cpy |
Interfaccia WIN062 |
utilwca019.cpy |
Interfaccia WCA019 |
utilcaps60.cpy |
Interfaccia CAPS60 |
utilncnf.cpy |
Struttura parametri RNEWCONF |
utilcoge77.cpy |
Interfaccia COGE77W |
utilcall40.cpy |
Interfaccia chiamata esterna a COGE40 |
utilv98.cpy |
Interfaccia COGV98 |
l-copiaf.cpy / u-copiaf.cpy |
Linkage copia file |
utilf55.cpy |
Interfaccia COGF55 |
Struttura del programma¶
Flusso principale¶
apri: inizializzazione, lettura configurazione RNEWCONF (x99-confi,x999-confi), verifica parametro chiamata esterna (util-pagam,utilcall40), apertura file, lettura azienda, configurazione tasti funzione e pulsanti custom, lettura esercizio contabile (COGTABEL tipo 66), creazione file transito, display mascheraa4: reinizializzazione maschera, accept codice soggettoa-tm-codice: accept e validazione codice cliente/fornitore (tramite COGS65W), F1 per modifica configurazione, F9 per ricerca avanzataa-fine-dati-cliente: validazione globale dati cliente, caricamento divisa, verifica anagrafica collegata (consorzi), display saldi collegati (CAPFIDO)a-tm-datamov->a-tm-dataval: accept date movimento e valutaa-tm-importo: accept importo totalea-tm-partita: accept partita specifica (opzionale, per caricamento diretto)- Accept griglia (
a-grid->a-accept-grid): navigazione griglia partite, selezione/deselezione con Invio, F1 somma scadenze, F6 versamento conto, F9 documento, F11 parziale, F12 RiBa, F16/F17 navigazione partite a-richiesta-conferma->ela-500-ela-550: validazione finale, scrittura movimenti prima nota (COGPNONC, COGMOVPA, COGPARTI), gestione ritenute, eventuale JDOCfine: chiusura file, cancel programmi, exit
Elaborazione registrazione (ela-500 -- ela-550)¶
La fase di registrazione crea i movimenti di prima nota iterando sulle partite selezionate nella griglia (quelle con tm-ele-acco(i) = "X"). Per ogni partita selezionata:
- Calcola saldo dare/avere
- Genera riga di prima nota (COGPNONC)
- Aggiorna stato partita (COGPARTI)
- Gestisce ritenute d'acconto se previste
- Gestisce differenze cambio
- Registra spese e bolli sulle rispettive contropartite
- Genera eventuale file JDOC per fornitori
Gestione differenze importo (wind3)¶
Se l'importo immesso non corrisponde al totale delle partite selezionate, la maschera secondaria coge40-02.scr propone 5 opzioni:
1. Digitare un nuovo importo
2. Inserire abbuono attivo/passivo
3. Chiusura parziale partita
4. Selezionare di nuovo le partite
5. Versare in conto la differenza
Chiamate esterne¶
| Programma | Modalita' | Scopo |
|---|---|---|
| COGS77 | CALL | Ricerca partite aperte, genera file transito COGWPNO |
| COGS78 | CALL | Registrazione movimenti prima nota |
| COGS65W | CALL | Ricerca anagrafica clienti/fornitori |
| COGS51 | CALL | Consultazione partite |
| COGS25 | CALL | Gestione date |
| COGS52W | CALL | Calendario (date picker) |
| COGS60W | CALL | Selezione tipo operazione |
| COGU10W | CALL | Formattazione importi, conversione divise |
| COGK02 | CALL | Ricerca tipo pagamento |
| COGE65 | CALL | Selezione partita |
| COGE22 | CALL | Gestione partita |
| COGE75 | CALL | Giro conto |
| COGE77W | CALL | Gestione documento prima nota |
| COGF55 | CALL | Gestione ritenute |
| COGP57 | CALL | Gestione previdenza |
| CAPT41 | CALL | Gestione allegati |
| COGV04 | CALL | Ricerca sottoconto |
| COGV98 | CALL | Utility varie |
| WIN019 | CALL | Visualizzazione documento |
| WIN053 | CALL | Visualizzazione documento prima nota |
| WIN062 | CALL | Selezione sottoconto |
| WCA019 | CALL | Interfaccia documenti |
| CAPS60 | CALL | Gestione contabilizzazione |
| GRIDADMN | CALL | Amministrazione griglie |
| RNEWCONF | CALL | Lettura/modifica configurazione |
| DIALOGS | CALL | Finestre di dialogo (conferma, messaggi) |
| DTPRG / PRGDT | CALL | Conversione date (data -> progressivo / progressivo -> data) |
| AGR076 | CALL | Gestione aggregate (consorzi) |
Variabili di stato principali¶
| Variabile | Descrizione |
|---|---|
dep-tipo |
Tipo soggetto: "C" = clienti, "F" = fornitori |
tm-codice |
Codice anagrafico selezionato |
tm-datamov |
Data movimento |
tm-dataval |
Data valuta |
tm-importo / tm-importo-eu |
Importo operazione (in divisa / in Euro) |
tm-divisa |
Divisa operazione |
tm-cambio |
Tasso di cambio |
tm-partita |
Partita specifica (anno/tipo/numero/scadenza) |
tm-cpart / tm-cpa-cod |
Contropartita contabile |
tm-spese / tm-bolli / tm-spese-varie |
Spese accessorie |
tm-totsaldo |
Saldo totale partite |
tm-parz-saldo |
Saldo parziale selezionato |
tm-ele-acco(i) |
Flag selezione riga: "X" = selezionata |
w-richiamato |
Flag chiamata esterna da altro programma |
w-call40-called |
Flag chiamata tramite utilcall40 |
flachiu |
Flag chiusura esercizio |
Configurazione (RNEWCONF)¶
Il programma legge la configurazione due volte: x99-confi per i parametri base e x999-confi per parametri aggiuntivi. Tra i parametri utilizzati:
tm-cfg-ordine-presentazione: ordine presentazione partite ("C" cronologico, "P" per partita, "V" per valuta)tm-cfg-cod-azi-jdoc: codice azienda per esportazione JDOC (se non vuoto, abilita generazione file)
Note¶
- Programma molto complesso (11.500+ righe), centrale per il ciclo incassi/pagamenti
- Supporta tre screen section (
coge40-01,coge40-02,coge40-03) per gestire rispettivamente: maschera principale, finestra gestione differenze, finestra versamento conto - Puo' essere richiamato da altri programmi con due diverse modalita': via
util-pagam(campoin-prove-pagam = 9) o via linkageutilcall40.cpy - La gestione consorzi (
az-consorzi = "S") abilita logiche aggiuntive per anagrafica collegata e saldi incrociati