Vai al contenuto

COGM75 — Gestione Merci Clienti

Sorgente: cbl/cogm75.cbl | Tipo: interattivo a maschera (dispatcher) | Program-ID: cogm75

Menu: Magazzino > Archivi & Tabelle > Merci Clienti


Scopo

Programma di ingresso ("Gestione merci clienti") per la gestione dell'associazione tra merci e clienti. Presenta una maschera con la scelta della modalita' di ricerca (tm-ricerca) e, in base ad essa, richiede o un cliente (tm-cli) o una merce (tm-merce); confermati i dati, richiama il gestore di dettaglio appropriato:

  • ricerca per Merce (tm-ricerca = "M") → chiama COGM75M, passando la merce selezionata;
  • ricerca per Cliente (tm-ricerca = "C") → chiama COGM75C, passando il codice cliente.

Il programma puo' essere richiamato anche da COGV06: in quel caso riceve la merce nel campo v06-merce del user-area, salta la maschera di selezione (modalita' "chiamato", w-dc-called = "S"), invoca direttamente COGM75M sulla merce ricevuta e termina.

File e tabelle principali

File/Tabella Copybook Uso
COGGEANA (via cogm75.fd), rd-coggeana Anagrafica generale: validazione cliente (ana-tipo = k-ana-tipo-cli, ana-nome)
COGMERCI (via cogm75.fd), rd-cogmerci Anagrafica merci: validazione merce (mer-chia)
feurtab cogfiles.cpy Tabella file di sistema

Flusso principale

  1. apri — inizializzazione (z-99-init-program, ctr-abil, rd-azi, open-files), abilitazione F3 (conferma) e F8 (aiuto). Rileva se e' stato chiamato da COGV06 (wo-passw-area = "COGV06"): in tal caso imposta w-dc-called = "S" e legge v06-merce. Se non chiamato, prepara e apre la maschera s-mm-1.
  2. a4 — reset tab-maschera, imposta ricerca di default "M"; in modalita' chiamato imposta merce e ricerca da COGV06.
  3. a-tm-ricerca — accept della modalita' di ricerca (radio via COGS60).
  4. a-tm-cli — accept del cliente (via COGS65W, z-s65-tm-cli), attivo solo in ricerca "C".
  5. a-tm-merce — accept della merce (via COGS68, z-s68-tm-merce), attivo solo in ricerca "M".
  6. a-fine-dati — validazione complessiva (x-controlla-datix-controlla-tm-cli, x-controlla-tm-merce), conferma (acc-conf se non chiamato), quindi dispatch a COGM75M (merce) o COGM75C (cliente). Se chiamato da COGV06 termina, altrimenti torna in a4.
  7. fine / z-chiudi — chiusura file, chiusura window, uscita programma.

Sottoprogrammi chiamati

Programma Ruolo
COGM75M Gestore dettaglio merci-clienti per merce (util-cogm75m, campo cogm75m-merce)
COGM75C Gestore dettaglio merci-clienti per cliente (util-cogm75c, campo cogm75c-cli)
COGS65W Selezione/aiuto cliente sulla maschera
COGS68 / COGS68W Selezione/aiuto merce sulla maschera
COGS60 Gestione radio di scelta ricerca (z-s60-tm-ricerca)

Configurazioni (RNEWCONF)

Nessuna chiave RNEWCONF utilizzata.

Note

  • Il programma e' essenzialmente un dispatcher: non modifica direttamente le tabelle merci-clienti, ma raccoglie i parametri e delega ai sottoprogrammi COGM75M/COGM75C.
  • Modalita' "chiamato" da COGV06: la merce e' fornita via user-area (redefinizione util-v06, offset dopo 491 byte, campo v06-merce pic x(09)); in questa modalita' la maschera non viene aperta e il flusso salta direttamente al dettaglio, terminando poi (w-dc-called = "S"go to fine).
  • Le copybook di interfaccia utilcogm75c.cpy (cogm75c-*) e utilcogm75m.cpy (cogm75m-*) definiscono i parametri passati ai due gestori.
  • Struttura moderna a controlli GUI (screen cogm75-01.scr), con gestione mouse x-test-mouse (range control-id 100-199) ed eccezioni z-99-exception-form.