NUT023 - Condizioni Bancarie (banche assuntrici)¶
Scopo¶
Gestione del prospetto comparativo delle condizioni applicate dalle banche assuntrici. Griglia con 38 righe predefinite (definite hardcoded in w-tab-cnd) per le voci di condizione e fino a 10 colonne per le banche. I valori sono memorizzati in NUTCDBAN con chiave cdbn-tipo+cdbn-cod+cdbn-cnd+cdbn-data+cdbn-prog.
Menu¶
Vendite > Ricevute Bancarie > Tabelle > Condizioni Bancarie
File e tabelle¶
| File | Tipo | Descrizione |
|---|---|---|
| FEURTAB | Parametri | File parametri di ambiente |
| NUTCDBAN | Indicizzato | Condizioni banca; chiave cdbn-tipo+cdbn-cod+cdbn-cnd+cdbn-data+cdbn-prog; valori cdbn-val-n (numerico) e cdbn-val-x (testo); colonna cdbn-colonna 1-10; colore cdbn-colore |
| NUTBANAS | Indicizzato | Anagrafica banche assuntrici (codice + descrizione) |
Copybook¶
File e select¶
feurtab.fd,cogfiles.cpynut023.select,nut023.fd,nut023.wrknut023-01.scr,nut023.decla,nut023.prck-tipi-cogtabel.cpy
Working-storage standard¶
wgrave.cpy,wnscr.cpy,wopenf.cpy,wstato.cpy,cogazien.cpy
Utility¶
wgrid.cpy,utilgdad.cpy,utile04.cpy,utils67.cpy,utilu20.cpy,utilgcol.cpy,utilncnf.cpy
Linkage¶
wcont.cpy,wcont1.cpy- redefinition di
user-areaconutil-nut022(camponut022-codper integrazione)
Procedure finali¶
grave.cpy,mmmask.cpy,opengen.cpy,stato.cpy,stato1.cpy,winmsg.cpy
CALL¶
| Programma | Scopo |
|---|---|
| GRIDADMN | Gestione griglia (Prepara) |
| GETCOLOR | Selezione colore (F9 / F8 su cella riga/codice) |
| WIN023 (WIN023.COB) | Ricerca banca assuntrice (F8 su riga 2) |
| RNEWCONF | Lettura configurazioni abilita/bin-*, PROGCOGV97/gestione-riba, CASHFLOW/maturazione-sbf e CASHFLOW/recepisce-saldo-cc |
Logica di elaborazione¶
- Inizializzazione (
apri): apre file, legge azienda, legge configurazioni viax99-src-cfg. - Caricamento struttura griglia: la tabella
w-tab-cndcontiene 38 elementi hardcoded concod(4 char),nat(N/X),um(E/% o spazio),des(60 char). Vengono copiati intm-cod/tm-des/tm-um(righe 1-38) tramite loop varying. - Caricamento valori esistenti: scan NUTCDBAN con
cdbn-tipo="A"; per ogni record cerca la corrispondenzatm-cod = cdbn-cnde in base acdbn-colonna(1-10) sposta il valore formattato (format-numero) intm-bancaN. Recupera anchetm-colore. - Visualizzazione griglia (
a30): costruisce griglia (z-costruisci-tm-tab) e applica colorazione (colora-riga). - Loop principale (
a-accept-grid): - F3 →
a1-aggiorna→b-aggiorna - F9 →
GETCOLORper riga corrente - F8 (riga banca 2) →
send-scr-2chiamaWIN023.COBper selezione banca - F8 su altre celle "banca" su riga 2 → idem (vedi
z-usa-tf-tm-tab-ep) - Aggiornamento (
b-aggiorna→upd-banca→fill-banca): - Per ogni riga
ida 1 a 38, per ogni colonna 1-10 in cui la riga "banca" (riga 1) e' valorizzata - Estrae codice banca da
tm-bancaN(1)viaunstring ... delimited "-" - Legge NUTCDBAN; se trovato
rwr-nutcdbanaltrimentiwr-nutcdban fill-bancavalorizza: colonna, um, des, natura, val-n (se nat="N") o val-x, colore
Struttura dati in memoria¶
w-tab-cnd (38 elementi hardcoded):
t-cnd-cod PIC X(04) — codice condizione (Annn / Cnnn / Rnnn)
t-cnd-nat PIC X(01) — N=numerico, X=testo
t-cnd-um PIC X(01) — E=euro/valuta, %=percentuale, spazio=N/A
t-cnd-des PIC X(60) — descrizione voce
tab-maschera (da copybook nut023.wrk):
tm-riga, tm-cod, tm-des, tm-um, tm-colore
tm-banca1..tm-banca10 — valori per ciascuna delle 10 colonne banca
Configurazione¶
Lettura RNEWCONF:
- abilita / bin-tipo, bin-db-path, bin-db-conn-string (idx 1-3), bin-db-log-level — integrazione SQL banche
- PROGCOGV97 / gestione-riba → tm-cfg-tipo-riba
- CASHFLOW / maturazione-sbf → tm-cfg-maturazione-sbf
- CASHFLOW / recepisce-saldo-cc → tm-cfg-rice-saldo
Note tecniche¶
- Le 38 voci di condizione sono hardcoded nel sorgente (
w-tab-cnd): aggiungere/modificare voci richiede modifica del programma e ricompilazione. - Riga 38 (
k-riga-cc) e' la "Saldo conto corrente"; se la configurazioneCASHFLOW/recepisce-saldo-ccnon e'"X", viene mostrato un avviso che il valore non sara' usato nel cash flow. - La modifica delle celle "banca" e' validata solo per
w-cell-y = 2(riga "Banca") e in modalita' aggiornamento ("A"); le altre righe accettano valori liberi senza controllo di codifica. - La griglia ha sempre 38 righe fisse — i tasti CTRL+A/CTRL+E sono commentati: non si possono aggiungere o eliminare voci dall'interfaccia.
- Programma legacy con uso di
GO TO; numerosi blocchi commentati testimoniano evoluzioni passate.