Vai al contenuto

COGDB1 -- Codici Fornitori per GDO

Sorgente: cbl/cogdb1.cbl | Tipo: Programma GUI tabellare (griglia con file di transito) | Program-ID: cogdb1

Menu: Vendite > Fatturazione > Esportazioni > Tabelle > Codici fornitori per GDO


Scopo

Gestione della tabella di raccordo tra clienti GDO e codici fornitore. I record vengono salvati su COGTABEL con tipo "MG". Per ogni cliente si associa un codice fornitore (euta-mg-codfor) e un percorso di estrazione file (euta-mg-path-file).

File e tabelle

File/Tabella Tipo Descrizione
COGTABEL Indicizzato, I/O Tabella generica: tipo "MG" per raccordi GDO
COGGEANA Indicizzato, lettura Anagrafica soggetti (tipo "C" per clienti, lettura descrizione)
T-GRID-DET Indicizzato, I/O File di transito per la griglia (temporaneo, eliminato alla chiusura)
cogdb1.select Screens File gestiti da Screens (COGTABEL, COGGEANA)

Copybook principali

  • cogdb1.wrk, cogdb1.fd, cogdb1.select, cogdb1.decla, cogdb1.prc -- generate da Screens
  • cogdb1.tm -- campi tab-maschera gestiti da Screens
  • cogdb1.imppredf-wrk, cogdb1.imppredf -- gestione filtri predefiniti
  • cogdb1-01.scr -- screen section
  • wgrid.cpy -- variabili standard griglia
  • utilgdad.cpy -- interfaccia GRIDADMN
  • utils65.cpy -- interfaccia COGS65W (ricerca anagrafiche)
  • utilu20.cpy -- interfaccia COGU20W (editing numerico)
  • utilcogb65.cpy -- interfaccia COGB65
  • utilimppredf.cpy -- gestione filtri predefiniti

Struttura del programma

Il programma usa il pattern griglia con file di transito (T-GRID-DET): i dati vengono caricati su un file temporaneo indicizzato per gestire ordinamento, filtro e paginazione.

Paragrafi principali

Paragrafo Funzione
apri Inizializzazione, apertura file, creazione transito, menu pop-up
a4 Reset griglia, impostazione ordinamento e filtro default
a-leggi-dati Creazione e riordinamento file di transito
a-grid Loop principale di accept sulla griglia
b-aggiorna Ciclo su T-GRID-DET per salvare modifiche su COGTABEL
b-aggiorna-record Salvataggio singolo record (write o rewrite su COGTABEL tipo "MG")
c-cancella-record Cancellazione record da COGTABEL
z-grid-det-crea-transito Popolamento file di transito da COGTABEL

Logica di elaborazione

Caricamento dati (z-grid-det-crea-transito)

  1. Scansione COGTABEL con START su tipo "MG"
  2. Per ogni record:
  3. Copia euta-codr in t-gor-r-cli-cod (codice cliente)
  4. Lettura COGGEANA tipo "C" per ottenere ana-nome (descrizione)
  5. Copia euta-mg-codfor e euta-mg-path-file
  6. Salva euta-codr in t-gor-r-cod-prec (per gestire cancellazione)
  7. Scrive sul file di transito T-GRID-DET

Aggiornamento (b-aggiorna)

Scansione sequenziale di T-GRID-DET:

Condizione Operazione
t-gor-r-prog > 0 e t-gor-r-cli-cod = zero Cancellazione da COGTABEL
t-gor-r-riga-mod = "S" Aggiornamento (write se non esiste, rewrite se esiste)

Validazioni

  • x-controlla-tm-r-cli-cod: codice cliente obbligatorio; verifica duplicati su COGTABEL tipo "MG"
  • x-controlla-tm-r-codfor: codice fornitore obbligatorio se cliente valorizzato
  • x-controlla-tm-r-path-file: percorso file obbligatorio se cliente valorizzato

Begin-entry (campi non editabili)

  • z-grid-det-cli-cod-be-ep: il codice cliente non e' modificabile se tm-r-cod-prec <> zero (record gia' esistente)
  • z-grid-det-cli-des-be-ep: idem per la descrizione cliente

Ordinamento predefinito

Ordinamento ascendente per codice cliente (gcn-r-cli-cod).

CALL esterni

Programma Scopo
GRIDADMN Gestione colonne griglia
COGS65W Ricerca anagrafiche clienti (tipo "C", no agenti, no vetrina)
RNEWCONF Lettura configurazioni (implicito via Screens)