Vai al contenuto

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

  1. Legge azienda, apre files, determina divisa di conto (COGU10W con "GetDivisaConto").
  2. Determina modalita': selezione "S" (se e18-called = k-program-id e e18-caller valorizzato) o aggiornamento "A".
  3. Crea file temporaneo lodtmdes per ordinamento e file di transito cogtrans in directory temp.

Caricamento dati (paragrafi a4, a10, a10-loop)

  1. Apre lodtmdes e cogtrans in output (poi I-O).
  2. Legge COGTABEL tipo 47 sequenzialmente.
  3. Per ogni vettore:
  4. Legge anagrafica fornitore (k-ana-tipo-for) per ottenere il nome.
  5. Copia i flag (espresso, collettame, bancali, secondari, interno) normalizzandoli ("X" o spazio per i flag, "S"/"N" per interno).
  6. Converte il contrassegno nella divisa di conto se necessario (via COGU10W con "Cambio").
  7. Scrive su cogtrans.
  8. Legge cogtrans in ordine chiave secondaria (per ordinamento personalizzabile) e carica tab-maschera.

Gestione griglia (a-grid, a-accept-grid)

  • Invio in aggiornamento: apre dettaglio riga in modifica.
  • Invio in selezione: restituisce e18-out-cod e e18-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)

  1. Valida tutti i campi (x-controlla-dettaglio).
  2. Chiede conferma inserimento/modifica.
  3. Aggiorna griglia tramite GRIDADMN.
  4. 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-int usa "S"/"N".
  • Il file di transito cogtrans e' creato nella directory temp con nome #$trscoge18.{operatore} e permette l'ordinamento personalizzabile (per nome se k-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.