COGM68 - Chiusura Buoni di Prelievo¶
Sorgente: cbl/cogm68.cbl | Program-ID: COGM68 | Tipo: Programma interattivo (standalone)
Menu: - Magazzino > Entrate > Buoni di Prelievo - Magazzino > Uscite > Buoni di Prelievo
Scopo¶
Gestisce la chiusura e riapertura della testata dei buoni di prelievo (COGTESBP). Al cambio di stato chiama tratta-qta-pren per aggiornare le quantita' prenotate su COGSLMAG tramite COGU12. Supporta:
- Modalita' interattiva standard
- Modalita' called (parametri via
utilcogm68.cpy) - Modalita' silent (chiusura senza interfaccia, attivata da
cogm68-silent = "S") - Selezione multipla di buoni tramite COGS61
File e tabelle¶
| File/Tabella | Tipo | Modalita' | Descrizione |
|---|---|---|---|
| FEURTAB | Indexed | Input | Parametri generali |
| COGTESBP | Indexed | I/O | Testata buoni di prelievo (lettura + rewrite flag chiusura) |
| COGRIGBP | Indexed | Input | Righe buoni di prelievo (scan per aggiornamento prenotazioni) |
| COGSLMAG | Indexed | I/O | Saldi magazzino per aggiornamento quantita' prenotate (via COGU12) |
| COGGEANA | Indexed | Input | Anagrafica clienti (lettura nome cliente) |
| COGMAGAZ | Indexed | Input | Anagrafica magazzini |
I nomi fisici di COGTESBP, COGRIGBP e COGSLMAG sono gestiti tramite le copybook .select e .fd generate da Screens.
Copybook utilizzate¶
| Copybook | Descrizione |
|---|---|
feurtab.fd |
File control FEURTAB |
cogm68.select |
SELECT per le tabelle del programma |
cogfiles.cpy |
FD FEURTAB |
cogm68.fd |
FD delle tabelle |
cogm68.wrk |
Working storage specifico |
wstato.cpy |
Status I/O |
wopenf.cpy |
Apertura file |
wgrave.cpy |
Errori gravi |
wnscr.cpy |
Utility schermo |
utils52.cpy |
Utility date/anno |
utilw36.cpy |
Interfaccia ricerca magazzino (F8) |
utilu12.cpy |
Interfaccia COGU12 (prenotazioni) |
cogazien.cpy |
Dati azienda |
utilncnf.cpy |
Interfaccia RNEWCONF |
utildlg.cpy |
Interfaccia DIALOGS |
wcont.cpy |
Linkage stringhe |
wcont1.cpy |
Linkage ext |
utilcogm68.cpy |
Parametri modalita' called |
cogm68-01.scr |
Schermo principale |
cogm68.decla |
Dichiarative I/O |
Logica di elaborazione¶
Modalita' silent (x-chiudi-silent)¶
Se cogm68-silent = "S", il programma legge COGTESBP con la chiave passata, imposta fl_ope = "C" e chiama direttamente c_inserisci senza aprire l'interfaccia. Usato per chiusura automatica da altri programmi.
Flusso interattivo¶
- Inizializzazione (
apri): apertura file, configurazione RNEWCONF (x99-src-cfg), gestione parametri called. - Selezione buono (
a4→a-tm-mag,a-tm-aa,a-tm-num,a-tm-mm,a-tm-gg): l'utente inserisce magazzino, anno, numero e, se la configurazione prevede numerazione per data (tm-cfg-tip-num = "L"), anche mese e giorno. F8 apre la ricerca magazzino (COGS36/W36). F5 avvia la selezione multipla (send-s61→ COGS61). - Lettura buono (
a10_read): - Legge COGTESBP con
rd-cogtesbp - Se non trovato: messaggio di errore
- Se collegato a chiamata Assist (
tbp-fl-chiam != spaces): blocca l'operazione - Se il buono e' gia' chiuso (
tbp-fl-cls = "C"): propone riapertura tramite DIALOGS - Scelta operazione (
a16): dialog DIALOGS con le opzioni "Chiudi" (F3) / "Riapri" (F4). - Controlli (
c_controlli): - Se il buono e' aperto e si chiede riapertura: messaggio "Operazione inutile"
- Se il buono e' chiuso e si chiede chiusura: messaggio "Operazione inutile"
- Se si riapre un buono chiuso (
fl_no_agg = "S"): richiede password (riapro-conf) - Aggiornamento (
c_inserisci): salvafl_opeintbp-fl-clsconrwr-cogtesbp. Poi chiamatratta-qta-prense lo stato e' cambiato (in entrambe le direzioni: chiusura o riapertura). - Gestione prenotazioni (
tratta-qta-pren): scan di COGRIGBP per tutte le righe del buono; per ciascuna chiama COGU12 conu12-tipo = "P"per aggiornare le quantita' prenotate su COGSLMAG.
Selezione multipla¶
La variabile fl_sequenza = "S" attiva la modalita' sequenziale. L'array tm-tab-buoni (max k-max-ele-bdp = 100 buoni) e' popolato da COGS61. Il ciclo a10_read avanza con cont-s fino a esaurimento della lista.
Password riapertura¶
La password richiesta per la riapertura e' ES2000 (versione GUI). La verifica avviene in x-controlla-tm-passw (logica nella copybook .prc).
Configurazione RNEWCONF¶
| Campo | Descrizione |
|---|---|
tm-cfg-tip-num |
Tipo numerazione: L = per data (mese+giorno visibili), altro = progressivo |
tm-cfg-ges-lav |
Gestione lavorazioni |
tm-cfg-inf-tip / tm-cfg-inf-cam / tm-cfg-inf-cid |
ID campi informativi |
tm-cfg-tip-alb |
Tipo albero |
Chiamate a sottoprogrammi¶
| Programma | Copybook | Contesto |
|---|---|---|
| DIALOGS | utildlg.cpy |
Dialog di selezione operazione (Chiudi/Riapri/Annulla), messaggi di fine elaborazione |
| COGU12 | utilu12.cpy |
Aggiornamento quantita' prenotate su COGSLMAG per ogni riga del buono |
| RNEWCONF | utilncnf.cpy |
Lettura configurazione (x99-src-cfg) |
Documentazione tecnica -- 2026-04-07