NUT010 - Tabella Numerazioni Ricevute Bancarie¶
Scopo¶
Gestione dei 10 contatori progressivi utilizzati dai programmi di gestione RI.BA./RID/effetti. I valori sono memorizzati in NUTTABEL (tabella numerazioni RI.BA.) con nuta-tipo = 3 e codice progressivo nuta-codr da 1 a 10.
Menu¶
Vendite > Ricevute Bancarie > Tabelle > Numerazioni
File e tabelle¶
| File | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Parametri | File parametri di ambiente |
| NUTTABEL | Indicizzato | Tabella numerazioni RI.BA.; chiave nuta-tipo + nuta-codr; valore in nuta-num |
Chiave utilizzata: nuta-tipo = 3 (tipo "numerazioni Riba"), nuta-codr = 1..10.
Copybook¶
File e select¶
feurtab.fd,cogfiles.cpynut010.select,nut010.fd,nut010.wrknut010-01.scr,nut010.decla,nut010.prc
Working-storage standard¶
wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpycogconta.cpy,cogcont1.cpy
Utility¶
utillogo.cpy,utilu10.cpy,utilzde.cpyk-u10.cpy
Linkage¶
wcont.cpy,wcont1.cpy
Procedure finali¶
grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy,getdcont.cpy
CALL¶
Nessuna chiamata a sottoprogrammi esterni.
Logica di elaborazione¶
- Inizializzazione (
apri): apre file, carica lingua, legge azienda, imposta i tasti F3 conferma/aggiorna. - Caricamento dati (
a4→carica-dati): - Inizializza le 10 etichette descrittive (
tm-label1..tm-label10) - Loop su
jcda 1 a 10: per ogni codice legge NUTTABEL connuta-tipo=3,nuta-codr=jc; se presente spostanuta-numnel campotm-elenumNcorrispondente - Accept campi (
a-tm-elenum1..a-tm-elenum10): 10 paragrafi quasi identici per accettare ogni campo; navigazione con F2 (campo precedente), Esc su elenum1 esce, Esc sugli altri torna aa4. - Conferma (
a-fine-dati→elab-finale→registra): - Loop
jcda 1 a 10: legge NUTTABEL perjc; spostatm-elenumN(selezionato via cascata di IF nidificate) innuta-num; provarwr-nuttabel; se non ok,wr-nuttabel.
Struttura dati in memoria¶
tab-maschera:
tm-label1..tm-label10 PIC X(35) — etichette descrittive (fisse)
tm-elenum1..tm-elenum10 PIC 9(6) — valori contatori
Note tecniche¶
- Programma molto vecchio (convertito 22/07/2005), stile lineare con accept dei singoli campi senza griglia.
- Codifica della selezione del campo target via cascata di 10 IF nidificate in
registra— non elegante ma funzionale. - L'ordine di lettura/scrittura non e' transazionale: in caso di interruzione fra il 5o e il 6o salvataggio i contatori sarebbero parzialmente aggiornati.
- I record NUTTABEL non gia' presenti vengono creati on-the-fly al primo salvataggio (
wr-nuttabeldoporwr-nuttabelfallita). - Etichette hardcoded nei
move ... to tm-labelNdicarica-dati(no internazionalizzazione).