Vai al contenuto

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

  1. Inizializzazione (apri): apertura file, configurazione RNEWCONF (x99-src-cfg), gestione parametri called.
  2. Selezione buono (a4a-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).
  3. Lettura buono (a10_read):
  4. Legge COGTESBP con rd-cogtesbp
  5. Se non trovato: messaggio di errore
  6. Se collegato a chiamata Assist (tbp-fl-chiam != spaces): blocca l'operazione
  7. Se il buono e' gia' chiuso (tbp-fl-cls = "C"): propone riapertura tramite DIALOGS
  8. Scelta operazione (a16): dialog DIALOGS con le opzioni "Chiudi" (F3) / "Riapri" (F4).
  9. Controlli (c_controlli):
  10. Se il buono e' aperto e si chiede riapertura: messaggio "Operazione inutile"
  11. Se il buono e' chiuso e si chiede chiusura: messaggio "Operazione inutile"
  12. Se si riapre un buono chiuso (fl_no_agg = "S"): richiede password (riapro-conf)
  13. Aggiornamento (c_inserisci): salva fl_ope in tbp-fl-cls con rwr-cogtesbp. Poi chiama tratta-qta-pren se lo stato e' cambiato (in entrambe le direzioni: chiusura o riapertura).
  14. Gestione prenotazioni (tratta-qta-pren): scan di COGRIGBP per tutte le righe del buono; per ciascuna chiama COGU12 con u12-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