Vai al contenuto

COGF83 -- Note Vettore x Data

Sorgente: cbl/cogf83.cbl | Tipo: Programma interattivo | Program-ID: COGF83

Menu:

  • Vendite > Trasporti > Note Vettore x Data

Scopo

Gestione delle note testuali associate a un vettore (trasportatore) per una data specifica. Le note vengono salvate sulla tabella COGNOTEV, suddivise in record da 60 caratteri ciascuno. Supporta un parametro in WO-PARAMETRO(1:1) che indica la serie delle note: "0" = ordini EuroForm, "1" = ordini EuroCoge.


File e Tabelle

File/Tabella Copybook Uso
COGNOTEV cogf83.fd (via Screens) I-O -- Note vettore per data
COGTABEL cogf83.fd (via Screens) Input -- Tabella di sistema (tipo 47 = vettori)
COGGEANA cogf83.fd (via Screens) Input -- Anagrafica generale (validazione vettore come fornitore tipo "F")
FEURTAB cogfiles.cpy Input -- Tabella Eurosystem

Programmi chiamati

Programma Scopo
COGE18 Ricerca vettore da elenco (F8)
COGS65W Accept campo con ricerca anagrafica
COGS52W Date picker

Copybook principali

  • cogf83.wrk, .select, .fd, .prc, .decla -- Definizioni Screens
  • cogf83-01.scr -- Maschera screen
  • utilf83.cpy -- Interfaccia linkage per modalita' called
  • utile18.cpy -- Interfaccia COGE18
  • utils65.cpy -- Interfaccia COGS65W
  • utils52.cpy -- Interfaccia COGS52W

Logica di Elaborazione

Modalita' called

Se f83-called = "COGF83-CALLED", il programma riceve vettore (f83-vet), data (f83-data) e serie (f83-serie) gia' impostati. Salta direttamente al caricamento note (b-00) senza passare per l'accept dei parametri.

Parametri in input

WO-PARAMETRO(1:1) controlla il valore di ntv-serie:

  • "0" = Note per ordini EuroForm
  • "1" = Note per ordini EuroCoge

Caricamento note (b-00 / b-10-loop)

Legge COGNOTEV con chiave: ntv-vet-tip = "F", ntv-vet-cod = tm-vet, ntv-data = tm-data, ntv-serie = tm-serie. Concatena i campi ntv-des (60 byte) in tm-note (2000 byte), aggiungendo CR+LF al termine di ogni riga che non occupa tutti i 60 caratteri.

Salvataggio (c-aggiorna)

  1. Cancella tutti i record COGNOTEV esistenti per la combinazione vettore/data/serie
  2. Riscrive le note suddividendole in blocchi da 60 caratteri:
  3. Calcola la lunghezza effettiva del testo (trim trailing spaces)
  4. Per ogni blocco di 60 byte crea un record COGNOTEV con progressivo incrementale

Validazione

  • x-controlla-tm-vet: verifica che il vettore esista in COGTABEL tipo 47 (k-euta-tipo-vettori = 47) e in COGGEANA come fornitore (tipo "F"). Mostra la ragione sociale
  • x-controlla-tm-data: data obbligatoria (non zero)

Struttura record COGNOTEV

Campo Contenuto
ntv-vet-tip "F" (fornitore)
ntv-vet-cod Codice vettore (5 cifre)
ntv-data Data (AAAAMMGG)
ntv-serie Serie ("0" o "1")
ntv-pro Progressivo riga
ntv-des Testo nota (60 caratteri)

Documentazione tecnica -- 2026-04-28