Vai al contenuto

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.

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.cpy
  • nut010.select, nut010.fd, nut010.wrk
  • nut010-01.scr, nut010.decla, nut010.prc

Working-storage standard

  • wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy, cogazien.cpy
  • cogconta.cpy, cogcont1.cpy

Utility

  • utillogo.cpy, utilu10.cpy, utilzde.cpy
  • k-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

  1. Inizializzazione (apri): apre file, carica lingua, legge azienda, imposta i tasti F3 conferma/aggiorna.
  2. Caricamento dati (a4carica-dati):
  3. Inizializza le 10 etichette descrittive (tm-label1..tm-label10)
  4. Loop su jc da 1 a 10: per ogni codice legge NUTTABEL con nuta-tipo=3, nuta-codr=jc; se presente sposta nuta-num nel campo tm-elenumN corrispondente
  5. 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 a a4.
  6. Conferma (a-fine-datielab-finaleregistra):
  7. Loop jc da 1 a 10: legge NUTTABEL per jc; sposta tm-elenumN (selezionato via cascata di IF nidificate) in nuta-num; prova rwr-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-nuttabel dopo rwr-nuttabel fallita).
  • Etichette hardcoded nei move ... to tm-labelN di carica-dati (no internazionalizzazione).