COGE18 — Vettori¶
Sorgente: cbl/coge18.cbl | Program-ID: COGE18 | Tipo: Gestione tabella con griglia e dettaglio riga
Menu: Magazzino > Archivi & Tabelle > Tabelle > Trasporti > Vettori
Scopo¶
Gestisce la tabella dei vettori (trasportatori), salvati su COGTABEL con tipo 47. I vettori sono collegati all'anagrafica fornitori. Supporta inserimento, modifica, cancellazione, note, stampa, e modalita' selezione/aggiornamento. Usa un file di transito per il caricamento ordinato in griglia.
Struttura della maschera¶
Screen definita in coge18-01.scr. Griglia read-only (begin-entry -> fail-terminate) con frame di dettaglio per modifica riga.
Griglia (e-tm-tab)¶
Colonne: codice, ragione sociale, espresso, collettame, bancali, secondari, interno, contrassegno, numero iscrizione albo.
Frame dettaglio (e-frame-dettaglio)¶
Campi:
- tm-cod: codice fornitore (5 cifre), editabile solo in inserimento, validato con COGS65W e verifica su anagrafica fornitori
- tm-impcts: importo contrassegno, gestito con COGU10W (con divisa)
- tm-flespr: tariffe espresso (Si'/No), gestito con COGS95
- tm-flcoll: tariffe collettame (Si'/No), gestito con COGS95
- tm-flbanc: tariffe bancali (Si'/No), gestito con COGS95
- tm-flsec: trasporti secondari (Si'/No), gestito con COGS95
- tm-veint: vettore interno (Si'/No), gestito con COGS95
- tm-num-iscr: numero iscrizione albo (20 caratteri)
Logica di elaborazione¶
Inizializzazione¶
- Legge azienda, apre files, determina divisa di conto (
COGU10Wcon "GetDivisaConto"). - Determina modalita': selezione "S" (se
e18-called = k-program-idee18-callervalorizzato) o aggiornamento "A". - Crea file temporaneo
lodtmdesper ordinamento e file di transitocogtransin directory temp.
Caricamento dati (paragrafi a4, a10, a10-loop)¶
- Apre
lodtmdesecogtransin output (poi I-O). - Legge COGTABEL tipo 47 sequenzialmente.
- Per ogni vettore:
- Legge anagrafica fornitore (
k-ana-tipo-for) per ottenere il nome. - Copia i flag (espresso, collettame, bancali, secondari, interno) normalizzandoli ("X" o spazio per i flag, "S"/"N" per interno).
- Converte il contrassegno nella divisa di conto se necessario (via
COGU10Wcon "Cambio"). - Scrive su
cogtrans. - Legge
cogtransin ordine chiave secondaria (per ordinamento personalizzabile) e caricatab-maschera.
Gestione griglia (a-grid, a-accept-grid)¶
- Invio in aggiornamento: apre dettaglio riga in modifica.
- Invio in selezione: restituisce
e18-out-codee18-out-des. - F3: alterna selezione/aggiornamento (solo se chiamato in selezione).
- F5: gestione note (chiama
a1-note). - F9: stampa elenco vettori.
- Ctrl+A: inserimento nuovo vettore.
- Ctrl+E: cancellazione vettore.
Dettaglio riga (a-riga-dettaglio)¶
Sequenza accept: a-tm-cod > a-tm-impcts > a-tm-flespr > a-tm-flcoll > a-tm-flbanc > a-tm-flsec > a-tm-veint > a-tm-num-iscr > a-fine-dettaglio.
Aggiornamento (a-fine-dettaglio)¶
- Valida tutti i campi (
x-controlla-dettaglio). - Chiede conferma inserimento/modifica.
- Aggiorna griglia tramite GRIDADMN.
- Scrive su COGTABEL tipo 47:
euta-vt-fl-espr,euta-vt-fl-coll,euta-vt-fl-banc,euta-vt-fl-sec,euta-vt-fl-int,euta-vt-imp-cts,euta-vt-divisa,euta-vt-num-iscr.
Cancellazione (c-cancella)¶
- Legge il record con lock e esegue
del-cogtabel.
Stampa (st-stampa)¶
- Produce un elenco dei vettori con codice, nome, flag e contrassegno (larghezza 96 colonne).
File utilizzati¶
| File | Tipo | Descrizione |
|---|---|---|
COGTABEL (feurtab) |
I-O | Tabella generica; tipo 47 = vettori |
| COGGEANA | Input | Anagrafica clienti/fornitori |
| lodtmdes | Temp I-O | File temporaneo per descrizioni |
| cogtrans | Temp I-O | File di transito per ordinamento griglia |
| FLSTA | Temp | File di stampa |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| GRIDADMN | Gestione griglia (preparazione, add/modify/svuota) |
| COGS65W | Accept codice fornitore con descrizione |
| COGS95W | Accept check-box (flag espresso, collettame, bancali, secondari, interno) |
| COGU10W | Gestione divisa e contrassegno (GetDivisaConto, Cambio) |
| COGS54 | Ricerca avanzata (F9) |
| COGS52W | Accept campo data |
Copybook principali¶
| Copybook | Contenuto |
|---|---|
coge18.select |
Select del programma |
coge18.fd |
FD file aggiuntivi |
coge18.wrk |
Working-storage generata |
coge18-01.scr |
Screen section |
coge18.decla |
Declaratives |
cogfiles.cpy |
FD COGTABEL |
feurtab.fd |
Select COGTABEL |
utile18.cpy |
Linkage per scambio dati (selezione) |
lodtmdes.cpy |
Record file temporaneo descrizioni |
k-u10.cpy |
Costanti COGU10 |
k-personal.cpy |
Costanti personalizzazioni |
wgrid.cpy |
Variabili gestione griglia |
utilgdad.cpy |
Interfaccia GRIDADMN |
Note tecniche¶
- I vettori sono identificati da
euta-codr(codice numerico 5 cifre) che corrisponde al codice fornitore in anagrafica. - I flag (
euta-vt-fl-espr, ecc.) usano "X" come valore attivo, spazio come inattivo;euta-vt-fl-intusa "S"/"N". - Il file di transito
cogtranse' creato nella directory temp con nome#$trscoge18.{operatore}e permette l'ordinamento personalizzabile (per nome sek-personal-siderpress). - Il campo contrassegno (
euta-vt-imp-cts) e' salvato con la divisa (euta-vt-divisa); in visualizzazione viene convertito nella divisa di conto. - La validazione del codice in inserimento verifica sia l'unicita' su COGTABEL tipo 47 sia l'esistenza in anagrafica fornitori.