COGV8A - Benestare (Inserimento/gestione)¶
Sorgente: cbl/cogv8a.cbl | Program-ID: COGV8A | Tipo: Programma interattivo GUI (standalone, richiamabile)
Menu: Vendite > Benestare > Inserimento/gestione
Scopo¶
Inserimento e gestione dei "benestare" di fatturazione DDT, cioe' del nulla-osta che autorizza a fatturare movimenti/documenti verso un cliente. Un benestare ha una testata (id, data, azienda del gruppo, cliente di fatturazione, riferimento ordine/contratto, competenza) e puo' essere di due tipi:
- "A" Autorizzazione: seleziona i DDT (documenti "Da autorizzare") che il cliente autorizza a fatturare (griglia "Documenti autorizzati").
- "G" Da aggregare: raccoglie righe di dettaglio (merce/qta/prezzo/importo) da fatturare in modo aggregato (griglia "Dettaglio benestare"), con possibilita' di associare movimenti reali e, quando il benestare e' "pronto" (stato 9), di generare il documento di fatturazione aggregato tramite COGS26.
Il programma gestisce anche l'importazione delle righe "Ritenute" del cliente e l'importazione dei dettagli da file Excel (via COGPA9). Un benestare gia' fatturato (tm-fl-fatturato) e' in sola lettura.
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | Indexed | Input | Tabella nomi file |
| COGBSTES | Indexed | I-O | Testata benestare (chiave k06 su grp-az/id-ufficiale) |
| COGBSDAU | Indexed | I-O | Documenti autorizzati collegati al benestare (tipo "A"), chiave k02 su documento |
| COGBSDET | Indexed | I-O | Dettaglio righe del benestare (tipo "G"), chiave k04 |
| BOGBSDET | Indexed | I-O | Vista di COGBSDET (rename bbdt-/bogbsdet) per gestire le righe collegate Ritenuta/Autorizzazione pagamento |
| COGBSMOV | Indexed | I-O | Movimenti associati alle righe di dettaglio benestare, chiave k07 |
| COGGEANA | Indexed | Input | Anagrafica clienti/fornitori |
| COGANAP2 | Indexed | Input | Anagrafica parte 2 (flag aap2-fl-benestare di abilitazione cliente) |
| GRPAZIEN | Indexed | Input | Aziende del gruppo |
| COGMERCI | Indexed | Input | Anagrafica merci |
| COGMERCL | Indexed | Input | Codici merce cliente (chiave k04 cli/cmc) |
| COGRACMC | Indexed | Input | Codici merce avanzati (ricerca in import Excel) |
| COGTESBO | Indexed | I-O | Testate documenti/DDT (chiave k03) |
| COGTESAP | Indexed | Input | Testate documenti parte 2 (azienda del gruppo del documento) |
| COGRACCO | Indexed | Input | Raccordo documenti/fatture (chiave k02 su bolla): verifica se il DDT e' gia' fatturato |
| COGTABEL | Indexed | Input | Tabella generica (tipo 15 causali: flag benestare/fatturazione) |
| COGDESAG | Indexed | Input | Descrizioni aggiuntive merce (compilazione note riga) |
| COGPA9-T-DATI | Indexed | Input | File transito dati generati da COGPA9 (import Excel) |
| TRAN-S26 | Indexed (external) | Output/I-O | Transito righe per creazione documento di fatturazione (COGS26) |
| TRAN-S26D | Indexed | Output/I-O | Transito descrizioni aggiuntive righe per COGS26 |
| t-grid-doc | Indexed | I-O (temp) | File di transito della griglia "Documenti autorizzati" |
| t-grid-det | Indexed | I-O (temp) | File di transito della griglia "Dettaglio benestare" |
| exp-grid | Line seq. | Output | File di esporto griglia (export Excel) |
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
| feurtab.fd | SELECT tabella nomi file |
| cogv8a.select / cogv8a.fd | SELECT/FD generati da Screens (griglie, file collegati) |
| cogv8a.tm | Area dati maschera (campi editabili) |
| cogv8a.wrk / cogv8a.prc / cogv8a-01.scr / cogv8a.decla | Working, procedure, screen, declaratives generati da Screens |
| tran-s26.fd / tran-s26.cpy / tran-s26.k01 | Transito COGS26 |
| tran-s26d.fd | Transito descrizioni COGS26 |
| cogbstes.fd / cogbstes.k06 | COGBSTES testata benestare |
| cogbsdau.fd / cogbsdau.k02 | COGBSDAU documenti autorizzati |
| cogbsdet.fd / cogbsdet.k04 | COGBSDET dettaglio benestare (usata anche come BOGBSDET) |
| cogbsmov.fd / cogbsmov.k07 | COGBSMOV movimenti |
| coggeana.fd / coganap2.fd | Anagrafiche cliente |
| grpazien.fd | Aziende del gruppo |
| cogmerci.fd / cogmercl.k04 / cogracmc.fd | Merci e codici merce cliente/avanzati |
| cogtesbo.fd / cogtesbo.k03 / cogtesap.fd | Documenti/DDT |
| cogracco.fd / cogracco.k02 | Raccordo fatturazione |
| cogtabel.fd / k-tipi-cogtabel.cpy | Tabella generica e costanti tipi |
| cogdesag.fd | Descrizioni aggiuntive merce |
| cogpa9-t-dati.fd | Transito dati import (COGPA9) |
| utilcogv8a.cpy | Linkage di COGV8A (chiamata da altro programma) |
| utilcogv8b.cpy / utilcogv8c.cpy | Linkage COGV8B (ricerca/duplica) e COGV8C (aggrega) |
| utils26.cpy | Linkage COGS26 (creazione documento) |
| utilcogma3.cpy | Linkage COGMA3 (filiera documento) |
| utilcogpa9.cpy / k-modelli-ie-i-bsdet.cpy | Linkage e modello import/export dettagli |
| utilgesstr.cpy | Linkage GESSTR (composizione stringhe/note) |
| utilgrp002.cpy | Linkage GRP002 (ricerca aziende gruppo) |
| utils52.cpy / utils65.cpy / utils68.cpy / utils93.cpy / utils60 | Gestori campi (date, anagrafica, merce, ecc.) |
| utilu10.cpy / k-u10.cpy / utilu20.cpy | Gestione e formattazione importi/valuta |
| utilncnf.cpy | Linkage RNEWCONF (configurazioni) |
| utilgesdebug.cpy | Log/debug procedura |
| wgrid.cpy / utilgdad.cpy / utildlg.cpy | Gestione griglie, GRIDADMN, DIALOGS |
| cogazien.cpy | Dati azienda |
| wstato / wgrave / wnscr / wopenf | Stato I/O, errori, dati schermo, apertura file |
| wcont.cpy / wcont1.cpy | Linkage stringhe/area utente comuni |
| grave / mmmask / opengen / stato / stato1 / winmsg | Paragrafi standard di servizio |
| gesdebug.cpy / getdcont.cpy | Debug e lettura dati contabilita' |
Logica di elaborazione¶
- Inizializzazione (
apri): lettura configurazioni via RNEWCONF (gestione-gruppo-aziendein gruppo assist,doc-fat-benestare-aggrin gruppo causali = causale usata per la fatturazione aggregata; se a zero avvisa), controllo abilitazioni, apertura file, divisa del conto (COGU10), caricamento bitmap e pulsanti custom (F5 nuovo, F7 importa, F2 aggrega, F11 crea documento, S-F2 filiera). Costruzione del tab-control a 3 pagine (TS1 testata, TS2 documenti autorizzati, TS3 dettaglio). Se richiamato da altro programma (cogv8a-called = COGV8Aecogv8a-callervalorizzato), imposta la modalita' "called" e apre direttamente sull'id passato. - Ricerca/chiave (
a4→a-tm-bsts-id): accept dell'id benestare. F5 = nuovo inserimento (fl-vario = "I"), F9 = ricerca avanzata via COGV8B, F1 = riconfigura. La lettura di COGBSTES decide se e' inserimento ("I") o variazione ("V"). - Proponi dati (
proponi-dati, solo in variazione): carica testata, determina lo stato di fatturato (sebsts-df-numvalorizzato oppure se almeno un documento autorizzato risulta gia' fatturato in COGRACCO), risolve azienda del gruppo e cliente, popola i campi. - Pagina 1 - Testata (
a-pagina-ts1): accept in sequenza di data (COGS52), azienda del gruppo (F8 → GRP002), cliente di fatturazione (COGS65W, con controlloaap2-fl-benestare = "S"), riferimento e data documento cliente, tipologia (COGS60), %ritenuta (COGU20), riferimento/data ordine-contratto. Ogni campo ha il proprio controllo (x-controlla-...). - Pagina 2 - Documenti autorizzati (
a-pagina-ts2, tipo "A"): accept competenza da/a. Con F7 (importa-documenti) vengono cercati in COGTESBO i DDT del cliente (causale concb-fl-eu="U",cb-con-fat="SI",cb-cli-for="C",cb-benestare="A"), non fatturati (tes-flagfatvuoto), non gia' collegati ad altro benestare, entro il periodo di competenza e coerenti con l'azienda del gruppo. Con Invio o F5 si autorizza/deseleziona ogni documento (t-gor-r-fl-aut). S-F2 apre la filiera del documento (COGMA3). - Pagina 3 - Dettaglio benestare (
a-pagina-ts3, tipo "G"): griglia editabile di righe merce/qta/prezzo/importo/stato/tipo-riga/descrizione. Ctrl-A aggiunge, Ctrl-E elimina. F5 = editing descrizione riga (con precompilazione da COGDESAG via GESSTR). F7 = importa righe "Ritenute" non ancora pagate del cliente (x7-ricerca-rit). F6 = import da Excel (COGPA9 +c-importa-excel, con log via GESLPRC). S-F1 in inserimento duplica le righe di un altro benestare (COGV8B). F2 = "Aggrega movimenti" reali sulla riga (COGV8C, operazione ASSOCIA, con quadratura). Il totale importo delle righe "Pronte" e' calcolato incalc-totale-importo. - Aggiornamenti (
aggiornamenti): per tipo "A" (a1-aggiorna-grid-doc) riscrive testata, ricrea i COGBSDAU selezionati e imposta lo stato benestare (9 = pronto se l'operatore conferma, altrimenti 5); aggiorna anche COGTESBO per sincronizzare le aziende del gruppo. Per tipo "G" (a2-aggiorna-grid-det) ricrea le righe COGBSDET, gestisce i collegamenti reciproci Ritenuta/Autorizzazione-pagamento (bsdt-rc-id/bsdt-rc-prog) e imposta lo stato: 9 se almeno una riga "Pronta" e nessuna "N", altrimenti 5. La testata comune e' aggiornata daa1-a2-aggiorna-cogbstes, che in inserimento assegna il nuovobsts-ide l'id-ufficiale(progressivo per azienda del gruppo). - Creazione documento di fatturazione (
crea-doc-fatt, S-F1 / F11 su benestare tipo "G", stato 9, non fatturato): scrive le righe "Pronte" (bsdt-stato = "P") su TRAN-S26 (e le descrizioni su TRAN-S26D), quindi chiama COGS26 con la causaledoc-fat-benestare-aggr, il magazzino di sede dell'azienda del gruppo e i dati di pagamento del cliente. Il documento generato viene salvato inbsts-documento-fatsulla testata. - Cancellazione (
cancella): consentita solo se non fatturato; elimina testata, COGBSDAU, COGBSDET (azzerando i collegamenti reciproci in BOGBSDET) e neutralizza i COGBSMOV collegati. - Chiusura (
fine/z-chiudi): chiusura e cancellazione dei file di transito griglia e chiusura finestra.
Chiamate a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| COGV8B | Ricerca benestare (F9) e selezione benestare sorgente per la duplicazione righe (S-F1 in inserimento) |
| COGV8C | Aggregazione/associazione dei movimenti reali alle righe di dettaglio (operazione ASSOCIA) |
| COGMA3 | Navigazione filiera del documento autorizzato (classe "B") |
| GRP002 | Popup ricerca aziende del gruppo (F8 sul campo azienda) |
| COGS65W | Gestore campo cliente di fatturazione (ricerca anagrafica) |
| COGS26 | Creazione del documento di fatturazione aggregato dal transito TRAN-S26 |
| COGPA9 | Import dati dettaglio da Excel (modello i-bsdet) su file di transito |
| GESLPRC | Consultazione log della procedura di import in caso di segnalazioni |
| GESSTR | Composizione delle note/descrizioni aggiuntive di riga |
| GESDEBUG | Registrazione segnalazioni/log dell'import |
| COGU10 / COGU10W | Gestione e formattazione degli importi in valuta |
| DIALOGS | Dialog di conferma esito inserimento/modifica benestare |
| GRIDADMN | Amministrazione e personalizzazione colonne delle griglie |
| RNEWCONF | Lettura configurazioni (gruppo aziende, causale fatturazione benestare) |
Nota: i moduli con prefisso Y* presenti nella catena di COPY sono gestori di tabella generati da Screens e non costituiscono chiamate applicative documentabili.
Storico modifiche¶
I marcatori nel sorgente (260523, 110424, 110324) segnalano:
- 260523 - Import dei dettagli benestare da file Excel (pulsante F6, modello import/export standard con COGPA9 e log GESLPRC).
- 110424 - Aggiunta dei campi riferimento e data ordine/contratto del committente (
bsts-contratto/bsts-data-contratto); duplicazione righe da altro benestare della stessa azienda/cliente (S-F1 via COGV8B); sincronizzazione della testata documento (COGTESBO) tra aziende del gruppo in fase di aggiornamento tipo "A". - 110324 (pcase-3798) - Precompilazione della descrizione aggiuntiva di riga dalle descrizioni merce (COGDESAG/GESSTR); rimozione del controllo bloccante che impediva righe "Pronte" senza movimenti; predisposizione della sostituzione descrizione merce nel documento generato (
trs-s26d-fl-sost).