Vai al contenuto

COGG30 -- Conversione tra Unita' di Misura

Sorgente: cbl/cogg30.cbl | Program-ID: COGG30 | Tipo: Tabella/Manutenzione

Menu: Magazzino > Archivi & Tabelle > Tabelle > Conversione tra U.M.


Scopo

Gestione della tabella di conversione tra unita' di misura. Permette di definire, modificare e cancellare le regole di conversione tra coppie di U.M., eventualmente specifiche per una determinata merce. Ad ogni salvataggio viene mantenuta automaticamente anche la regola inversa.

Il programma puo' essere invocato anche in modalita' CALLED da altri programmi che necessitano di gestire conversioni.


Struttura della maschera

Screen gestita da Screen Designer: cogg30-01.scr.

Campo Variabile Tipo Validazione
Merce (Gruppo/Sottogruppo/Codice) tm-merce (gru/sot/cod) X(02)+X(02)+9(05) Via COGS68; se vuoto = k-merce-null (tutti)
Da U.M. tm-um-da X(02) Validata su COGTABEL tipo 79
A U.M. tm-um-a X(02) Validata su COGTABEL tipo 79; diversa da tm-um-da
Operazione tm-ope X(01) "M" (moltiplica) o "D" (divide); via COGS60
Coefficiente tm-coeff 9(06)V9999 Diverso da zero; via COGU20
Formula (display) tm-formula X(25) Calcolata e mostrata in disp-formula

Quando invocato in modalita' CALLED (lnk-g30-called = k-program-id), i campi merce, U.M. e coefficiente vengono precompilati dai parametri passati nella linkage util-g30.


Logica di elaborazione

Flusso principale

  1. Inizializzazione: z-99-init-program, ctr-abil, open-files, rd-azi.
  2. Ciclo accept (paragrafo a4):
  3. Accept merce tramite COGS68 (z-s68-tm-merce).
  4. Accept U.M. partenza e destinazione, con F8 per aiuto:
    • Aziende tessili: chiama WEU079.
    • Altre aziende: chiama COGD89.
  5. Lettura record esistente (leggi -> rd-cogtabum-lk).
  6. Accept operazione e coefficiente.
  7. Conferma (paragrafo a-richiesta-conferma):
  8. Verifica abilitazioni (ext-abi-agg, ext-abi-ins).
  9. Chiama x-imposta-conferma per validare tutti i campi.
  10. Se confermato, chiama aggiorna.

Aggiornamento

Il paragrafo aggiorna: 1. Legge il record diretto. Se esiste: rwr-cogtabum; altrimenti: wr-cogtabum. 2. Legge/scrive il record inverso (leggi-inverso), con operazione invertita (tm-ope-inverso: M<->D).

Cancellazione

Il paragrafo cancella: 1. Verifica abilitazione ext-abi-del. 2. Cancella sia il record diretto (del-cogtabum) sia l'inverso.


File utilizzati

File Copybook Accesso Utilizzo
FEURTAB cogfiles.cpy Random Tabella file generali
COGTABUM via cogg30.select/fd/prc Dynamic Tabella conversioni U.M.
COGTABEL (in prc) Random Validazione codici U.M. (tipo 79)

Programmi chiamati

Programma Scopo
COGS68 (COGS68W) Ricerca merce avanzata
COGS60 (COGS60W) Combo box per selezione operazione M/D
COGU20 (COGU20W) Input numerico con edit punti
WEU079 Aiuto unita' di misura (tessile)
COGD89 Aiuto unita' di misura (standard)

Copybook principali

  • cogg30.select, cogg30.fd, cogg30.wrk, cogg30.decla, cogg30.prc -- Generati da Screens
  • cogg30-01.scr -- Screen definition
  • linkg30.cpy, utilg30.cpy -- Linkage per modalita' CALLED
  • cogfiles.cpy -- Layout FEURTAB
  • wstato.cpy, wgrave.cpy, wopenf.cpy, wnscr.cpy, cogazien.cpy
  • utils68.cpy -- Interfaccia COGS68
  • utilu20.cpy -- Interfaccia COGU20
  • utild89.cpy -- Interfaccia COGD89