Vai al contenuto

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

  1. Inizializzazione (apri): lettura configurazioni via RNEWCONF (gestione-gruppo-aziende in gruppo assist, doc-fat-benestare-aggr in 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 = COGV8A e cogv8a-caller valorizzato), imposta la modalita' "called" e apre direttamente sull'id passato.
  2. Ricerca/chiave (a4a-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").
  3. Proponi dati (proponi-dati, solo in variazione): carica testata, determina lo stato di fatturato (se bsts-df-num valorizzato oppure se almeno un documento autorizzato risulta gia' fatturato in COGRACCO), risolve azienda del gruppo e cliente, popola i campi.
  4. Pagina 1 - Testata (a-pagina-ts1): accept in sequenza di data (COGS52), azienda del gruppo (F8 → GRP002), cliente di fatturazione (COGS65W, con controllo aap2-fl-benestare = "S"), riferimento e data documento cliente, tipologia (COGS60), %ritenuta (COGU20), riferimento/data ordine-contratto. Ogni campo ha il proprio controllo (x-controlla-...).
  5. 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 con cb-fl-eu="U", cb-con-fat="SI", cb-cli-for="C", cb-benestare="A"), non fatturati (tes-flagfat vuoto), 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).
  6. 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 in calc-totale-importo.
  7. 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 da a1-a2-aggiorna-cogbstes, che in inserimento assegna il nuovo bsts-id e l'id-ufficiale (progressivo per azienda del gruppo).
  8. 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 causale doc-fat-benestare-aggr, il magazzino di sede dell'azienda del gruppo e i dati di pagamento del cliente. Il documento generato viene salvato in bsts-documento-fat sulla testata.
  9. Cancellazione (cancella): consentita solo se non fatturato; elimina testata, COGBSDAU, COGBSDET (azzerando i collegamenti reciproci in BOGBSDET) e neutralizza i COGBSMOV collegati.
  10. 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).