COGV07D -- Gestione DDT collegati a fattura¶
Sorgente: cbl/cogv07d.cbl | Tipo: Subroutine interattiva (griglia) | Program-ID: COGV07D
Posizione menu: Nessuna (sottoprogramma richiamato via CALL da COGV07; non presente in prog.txt).
Scopo¶
Sottoprogramma a griglia per la gestione dei DDT (bolle) collegati a una fattura. Mostra l'elenco dei documenti di trasporto raccordati a una fattura e consente di scollegare uno o piu' DDT dal raccordo del transito di fatturazione, prima che la variazione della fattura venga completata.
E' richiamato da COGV07 tramite il pulsante "Gestione DDT (F7)". Puo' funzionare in due modalita':
- Chiamato (
cogv07d-called = "COGV07D"concogv07d-callervalorizzato): riceve dal chiamante la fattura (tipo/anno/numero) e il nome del file di transito, e va direttamente al caricamento dati. - Autonomo: presenta la maschera in cui l'operatore digita tipo/anno/numero fattura.
Parametri di ingresso¶
procedure division using stringhe util-cogv07d.
Area util-cogv07d (copybook utilcogv07d.cpy):
| Campo | Tipo | Descrizione |
|---|---|---|
cogv07d-caller |
X(08) | Program-ID del chiamante (es. COGV07) |
cogv07d-called |
X(08) | Program-ID chiamato atteso (COGV07D) |
cogv07d-v60-name |
X(70) | Nome/percorso del file di transito fatturazione (tran-v60) su cui operare |
cogv07d-fattura |
Group | cogv07d-tipo X(02), cogv07d-anno 9(04), cogv07d-numero 9(07) |
cogv07d-fl-blocco |
X(01) | Output: "S" se sono stati effettuati aggiornamenti sul transito (il chiamante deve bloccare l'uscita finche' l'elaborazione non e' conclusa) |
| filler | X(500) | Riserva di espansione |
All'avvio, se cogv07d-called = k-program-id e cogv07d-caller not = spaces, il flag interno w-dc-called viene posto a "S" (modalita' chiamato) e i dati fattura/transito vengono copiati nelle variabili di lavoro.
File e tabelle¶
| File/Tabella | Modalita' | Descrizione |
|---|---|---|
| FEURTAB | Input | Tabella nomi file |
| cogv07d.select/.fd | Screen-managed | File gestiti dalla screen: COGRACCO (raccordo fattura->bolle), COGTESBO (testate bolle), ecc. |
| TRAN-V60 | I-O | File di transito fatturazione, aperto per nome (trs-v60-name = w-dc-v60-name); chiuso e riaperto i-o in a4 |
| T-GRID-DET | I-O | File di transito temporaneo per la griglia (cancellato in chiusura) |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGU10W | GetDivisaConto — divisa di conto in base alla data |
| GRIDADMN | Amministrazione/personalizzazione griglia (S-F4) ed export |
| W$MENU | Menu contestuale (right-click) sulla griglia |
| COGV50W | Gestione/variazione del DDT selezionato (tasto F6, solo tipi "I" e "D") |
| COGMA3 | Consultazione filiera del documento (tasto S-F2) |
| WIN016.COB | Dettaglio del DDT selezionato (tasto F8) |
Copybook principali¶
cogv07d.wrk,cogv07d.select,cogv07d.fd,cogv07d.tm,cogv07d.prc,cogv07d-01.scr(screen-managed)cogv07d.imppredf-wrk,cogv07d.imppredf(filtri predefiniti)utilcogv07d.cpy,utilv56.cpy(linkage),wcont.cpy,wcont1.cpywgrid.cpy,utilgdad.cpy,utilgcol.cpy(framework griglia)tran-v60.fd,tran-v60.cpy,tran-v60.k01utilcogma3.cpy(filiera COGMA3),utilu10.cpy,utilu20.cpy,utils52.cpy,utilncnf.cpy,cogazien.cpy
Struttura del programma¶
Caricamento dati (carica-dati)¶
Legge COGRACCO per chiave fattura (rac-ann = anno, rac-tipo = tipo, rac-nfat = numero) e, per ogni riga di raccordo, legge la testata bolla su COGTESBO (tes-mag/tes-anno/tes-tipob/tes-bolla3). Ogni DDT trovato riempie una riga della griglia di transito con:
t-gor-r-bolla: identificativo formattatomag/anno/tipob/numero;t-gor-r-key-ddt: chiave completa DDT (tes-chia3= mag + anno + tipob + bolla3);t-gor-r-fl-agg: flag di aggiornamento (spazio = non toccato, "S" = da scollegare).
Scollega DDT (F5)¶
Marca/smarca la riga selezionata per lo scollegamento (toggle di tm-r-fl-agg). Controlli bloccanti:
- griglia vuota -> messaggio, nessuna operazione;
- un solo DDT collegato -> non scollegabile ("la fattura e' collegata ad 1 solo ddt: esegui cancellazione fattura");
- filtro attivo sulla griglia -> non modificabile;
- tipo DDT "S" o "Q" -> non abilitato allo scollegamento.
Conferma aggiornamenti (F3)¶
Esegue i controlli, chiede conferma (acc-conf-custom) e lancia b-aggiorna: per ogni riga con fl-agg = "S" scorre TRAN-V60 e cancella i record il cui trs-v60-mag/ann/tip/num corrisponde alla chiave del DDT da scollegare (w-tes-chia3), impostando cogv07d-fl-blocco = "S". Al termine ritorna al chiamante.
Gestione DDT (F6)¶
Apre in variazione il DDT selezionato richiamando direttamente COGV50W (il gestore grafico delle bolle). E' abilitato solo per i tipi DDT "I" e "D"; per gli altri tipi viene mostrato "Tipo DDT non abilitato alla gestione". Il richiamo diretto di COGV50W (invece del percorso standard COGU78 -> COGV56 -> ...) evita di dover modificare la gestione bolle a Carattere e quella per Arte Dolciaria.
L'interfaccia usa l'area util-v56 (copybook utilv56.cpy) valorizzata cosi':
initialize util-v56
move "COGV56-CALLED" to v56-called
move tm-r-key-ddt (i) to v56-doc
move "COGV07D-CALLER" to v56-prog-caller
move wo-parametro (3:1) to w-sav-wo-parametro
move "V" to wo-parametro (3:1) | modalita' Variazione
call "COGV50W" using stringhe
cancel "COGV50W"
move w-sav-wo-parametro to wo-parametro (3:1)
move "S" to cogv07d-fl-blocco
Il valore v56-prog-caller = "COGV07D-CALLER" e' riconosciuto da COGV50W (TASK-5767) che, in questo contesto, consente di modificare il DDT anche se gia' fatturato e salta l'acquisizione di Cliente/Committente. Al ritorno viene impostato cogv07d-fl-blocco = "S" (transito fattura potenzialmente alterato). E' richiesta l'abilitazione alla modifica (w-abi-agg diverso da "N").
Consultazione filiera (S-F2)¶
Richiama COGMA3 (classe documento "B", chiave = tm-r-key-ddt (i)) tramite l'area util-cogma3 per consultare la filiera/navigazione del documento selezionato. Pulsante custom "Navigazione sul documento (S-F2)".
Dettaglio DDT (F8)¶
Apre il dettaglio del DDT selezionato richiamando WIN016.COB con l'area util-w16 (magazzino, anno, tipo, numero della bolla, w16-v-pos = 5). Non disponibile per i tipi DDT "S" e "Q" ("dettaglio non disponibile per Tipo DDT").
Altri tasti¶
- S-F4: amministrazione griglia (GRIDADMN).
- S-F5: export Excel della griglia.
- ESC: uscita con gestione standard
test-wesc; in modalita' chiamato torna afine, altrimenti alla maschera di selezione.
Effetti sul chiamante (COGV07)¶
Se cogv07d-fl-blocco torna "S", COGV07 considera il transito della fattura alterato e inibisce l'uscita con ESC finche' l'elaborazione non e' portata a termine, avvisando l'operatore ("Richiamato programma di gestione DDT: uscita NON abilitata, terminare elaborazione").
Documentazione tecnica -- 2026-08-05 (agg. 2026-08-06: gestori F6 -> COGV50W, S-F2 -> COGMA3, F8 -> WIN016 resi operativi)