COGP90 - Inventario da Terminalino¶
Sorgente: cbl/cogp90.cbl | Tipo: Programma a menu | Program-ID: COGP90
Menu: Magazzino > Inventario > Stampe > Inventario da Terminalino
Scopo¶
Stampa dell'archivio di transito inventario acquisito da terminalino portatile. Per ciascuna merce presente nell'archivio COGINVTR, filtrando per magazzino, produce una riga con descrizione e quantita' inventariata. La stampa e' in formato 80 colonne.
File e Tabelle¶
| File/Tabella | Uso |
|---|---|
| COGINVTR | Input — archivio di transito inventario da terminalino |
| FEURTAB | Input — tabella parametri euristici (standard) |
| FLSTA | n/a — file di stato |
| File stampa (via cogp90.select) | Output — stampa inventario |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGS54 | Dialogo selezione stampante / gestione stampa (chiamato due volte: prima per parametri, poi dopo stampa) |
| COGS50 | Utility merci: recupero descrizione merce (s50-fun = "S" lettura stringa; s50-fun = "I" intestazione colonna) |
| send-w36 (utilw36) | Ricerca e selezione magazzino (F8) |
| z-99-init-program | Inizializzazione standard |
Copybook principali¶
cogp90.select— file-control (file stampa)feurtab.fd,cogp90.fd,coginvtr.fd(via cpy),flsta.fd/flsta.cpycogp90.wrk— working storage principalewstato.cpy,wopenf.cpy,wgrave.cpy,wnscr.cpy,cogazien.cpyutils50.cpy,utils54.cpy,utilw36.cpywcont.cpy,wcont1.cpy(linkage section)cogp90-01.scr(screen section)cogp90.decla(declaratives: COGINVTR, FLSTA)
Logica di Elaborazione¶
Inizializzazione (apri)¶
z-99-init-program,ctr-abil,rd-azi,open-files- Costruisce il path del file COGINVTR sostituendo
"COGMERCI.ARC"(o minuscolo) con"COGINVTR.ARC"a partire danf-name-2 - Apre
coginvtrin input - Imposta tasti funzione disponibili: Invio, F3 (aggiorna/conferma), F8 (aiuto magazzino)
- Legge la data di sistema (
datasis) - Visualizza maschera
s-mm-1; propone il magazzino principale (az-main-mag) intm-mag
Input maschera (a-tm-mag)¶
- Accetta il campo magazzino (
e-tm-mag) - F8: richiama
send-w36per selezione magazzino da catalogo - Esc: esce
- F3: valida con
x-controlla-tm-magex-imposta-conferma; se tutto ok prosegue con dialogo COGS54
Dialogo stampante (a222)¶
- Chiama
COGS54con 132 colonne di stampa - Esc o F2: torna all'input magazzino
- F3: avvia elaborazione
Elaborazione stampa (st-10 → a31-10-loop → a31-99)¶
- Azzera contatori di pagina, riga e rottura merce
start coginvtr key is not < itr-chia2(posizionamento iniziale; se fallisce va ada31-99)- Loop
a31-10-loop: legge record COGINVTR in sequenza - Filtra per magazzino (
itr-mag = tm-mag); se diverso salta iterazione - Rileva rottura su merce (
itr-merce not = w-rot-merce):- Chiama
COGS50per recuperare la descrizione (s50-str→rg-merce) - Stampa riga con descrizione e quantita' accumulata (
w-qta) - Reimposta
w-rot-mercee azzeraw-qta
- Chiama
- Accumula quantita':
add 1 to w-qta a31-99: scarica l'ultima merce accumulata (sew-qta not = zero)- Salta pagina finale
- Seconda chiamata a
COGS54cons54-after-print = "S"(dialogo post-stampa)
Intestazione pagina (testa)¶
- Salta pagina se
ctr-rig < 100 - Stampa
testa1(data + titolo + numero pagina) - Chiama
cs1-print(gestione interrupt stampa: Esc esce, F3 ristampa testata) - Stampa
testa2(magazzino) - Chiama
COGS50cons50-fun = "I"per intestazione colonne merci →ts3-merce - Stampa
testa3(intestazione colonne)
Chiusura (fine / z-chiudi)¶
- Chiude
COGS50(s50-fl-opn = "C") z-close-files,close coginvtr,close window w-sv-cur-prgz-99-exit-program
Strutture di stampa¶
| Record | Descrizione |
|---|---|
testa1 |
Data stampa, titolo "STAMPA INVENTARIO DA TERMINALINO", numero pagina |
testa2 |
Codice e descrizione magazzino |
testa3 |
Intestazione colonne (merce, quantita' inventariata) |
rigel |
Riga dati: descrizione merce (48 car.) + quantita' (formato ------9,999) |
Variabili principali¶
| Variabile | Tipo | Descrizione |
|---|---|---|
tm-mag |
x(01) | Magazzino selezionato |
w-qta |
9(06) | Quantita' accumulata per merce corrente |
w-rot-merce |
gru(2)+sot(2)+cod(5) | Chiave merce della rottura corrente |
w-cur-id |
x(04) value "MDNV" |
ID corrente per COGS50 |
ctr-rig |
9(06) | Contatore righe pagina corrente |
ctr-pag |
9(06) | Contatore pagine |
nf-name-invtr |
x(70) | Path del file COGINVTR (derivato da nf-name-2) |
Documentazione tecnica — 2026-05-07