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") → chiamaCOGM75M, passando la merce selezionata; - ricerca per Cliente (
tm-ricerca = "C") → chiamaCOGM75C, 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¶
apri— inizializzazione (z-99-init-program,ctr-abil,rd-azi,open-files), abilitazione F3 (conferma) e F8 (aiuto). Rileva se e' stato chiamato daCOGV06(wo-passw-area = "COGV06"): in tal caso impostaw-dc-called = "S"e leggev06-merce. Se non chiamato, prepara e apre la mascheras-mm-1.a4— resettab-maschera, imposta ricerca di default "M"; in modalita' chiamato imposta merce e ricerca daCOGV06.a-tm-ricerca— accept della modalita' di ricerca (radio viaCOGS60).a-tm-cli— accept del cliente (viaCOGS65W,z-s65-tm-cli), attivo solo in ricerca "C".a-tm-merce— accept della merce (viaCOGS68,z-s68-tm-merce), attivo solo in ricerca "M".a-fine-dati— validazione complessiva (x-controlla-dati→x-controlla-tm-cli,x-controlla-tm-merce), conferma (acc-confse non chiamato), quindi dispatch aCOGM75M(merce) oCOGM75C(cliente). Se chiamato da COGV06 termina, altrimenti torna ina4.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 viauser-area(redefinizioneutil-v06, offset dopo 491 byte, campov06-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-*) eutilcogm75m.cpy(cogm75m-*) definiscono i parametri passati ai due gestori. - Struttura moderna a controlli GUI (screen
cogm75-01.scr), con gestione mousex-test-mouse(range control-id 100-199) ed eccezioniz-99-exception-form.