Vai al contenuto

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" con cogv07d-caller valorizzato): 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.cpy
  • wgrid.cpy, utilgdad.cpy, utilgcol.cpy (framework griglia)
  • tran-v60.fd, tran-v60.cpy, tran-v60.k01
  • utilcogma3.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 formattato mag/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 a fine, 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)