COGT98 -- Clonazione DDT da data precedente¶
Sorgente: cbl/cogt98.cbl | Tipo: Programma con interfaccia grafica | Program-ID: COGT98
Menu: Magazzino > Uscite > Bolle Accompagnatorie > Utility > Clonazione DDT da data precedente
Scopo¶
Duplica tutti i DDT di uscita generati da ordini clienti con una determinata data di decorrenza, creandone copie con una nuova data. Scorre la tabella ordini clienti, filtra per data di decorrenza e, per ciascun ordine corrispondente, invoca COGMA1 per generare il DDT.
Interfaccia utente¶
Maschera di filtro (tab-maschera)¶
| Campo | Tipo | Descrizione |
|---|---|---|
tm-da-data |
9(08) | Data ordini da duplicare (AAAAMMGG) -- data di decorrenza su COGTESOR |
tm-a-data |
9(08) | Nuova data DDT duplicati (AAAAMMGG) -- deve essere > tm-da-data |
tm-log-procedura |
x(80) | Nome procedura per il log |
Tasti funzione¶
| Tasto | Funzione |
|---|---|
| F3 | Conferma e avvia duplicazione |
| F8 | Calendario per selezione data |
| ESC | Uscita |
File e Tabelle¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGTESOR | cogt98.fd (via select) | Testata ordini clienti -- scansione per tipo + anno |
| FEURTAB | feurtab.fd / cogfiles.cpy | File tabelle Euro |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGMA1 | Creazione DDT da ordine (chiamata con cogma1-ope = "Crea-doc", cogma1-batch = "S", cogma1-duplica-ddt = "S") |
Copybook principali¶
cogt98.select,cogt98.fd,cogt98.wrk,cogt98.prc,cogt98.decla,cogt98-01.scr-- Definizioni generate da Screensk-personal.cpy-- Costanti personalizzazionecogazien.cpy-- Dati aziendautilcogma1.cpy-- Interfaccia linkage per COGMA1utildlg.cpy-- Interfaccia dialoghiutils52.cpy-- Interfaccia calendario (COGS52)utilncnf.cpy-- Interfaccia configurazioniutilgesdebug.cpy-- Gestione log/debug
Logica di Elaborazione¶
Validazione input¶
tm-a-datadeve essere strettamente maggiore ditm-da-data. Se non lo e', viene mostrato un messaggio di errore.
Flusso principale¶
- Apre il log di debug (
gesdebug-apri-principaleforzato conw-tm-cfg-debug = "S") - Registra nel log i parametri di lancio
- Posiziona su COGTESOR con
tor-tipo = "C"(ordine cliente) etor-anno = tm-da-aa - Scorre tutti gli ordini dell'anno:
- Se
tor-datdecorr <> tm-da-data, salta il record - Per ogni ordine con data di decorrenza corrispondente:
- Registra nel log l'ordine in elaborazione
- Chiama COGMA1 con:
cogma1-ope = "Crea-doc"cogma1-ord = tor-chia(chiave ordine)cogma1-dataop = tm-a-data(nuova data)cogma1-batch = "S"(modalita' batch)cogma1-duplica-ddt = "S"(flag duplicazione)- Registra nel log l'esito (DDT inserito con riferimenti, oppure inserimento non eseguito)
- Alla fine chiude il log e mostra "Fine Elaborazione"
Rottura chiave¶
L'elaborazione termina quando:
- Si raggiunge la fine del file (w-fine-file)
- tor-tipo <> "C" o tor-anno <> tm-da-aa (uscita dall'ambito tipo/anno)
Note tecniche¶
- Il programma utilizza il sistema di debug/log (
gesdebug) per tracciare ogni operazione. Il log viene forzato attivo indipendentemente dalla configurazione. - COGMA1 viene invocato con
canceldopo ogni chiamata per rilasciare la memoria. - La scansione avviene solo sull'anno della data ordini (
tm-da-aa), non su piu' anni.
Documentazione tecnica -- 2026-04-16