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¶
- Inizializzazione:
z-99-init-program,ctr-abil,open-files,rd-azi. - Ciclo accept (paragrafo
a4): - Accept merce tramite
COGS68(z-s68-tm-merce). - Accept U.M. partenza e destinazione, con F8 per aiuto:
- Aziende tessili: chiama
WEU079. - Altre aziende: chiama
COGD89.
- Aziende tessili: chiama
- Lettura record esistente (
leggi->rd-cogtabum-lk). - Accept operazione e coefficiente.
- Conferma (paragrafo
a-richiesta-conferma): - Verifica abilitazioni (
ext-abi-agg,ext-abi-ins). - Chiama
x-imposta-confermaper validare tutti i campi. - 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 Screenscogg30-01.scr-- Screen definitionlinkg30.cpy,utilg30.cpy-- Linkage per modalita' CALLEDcogfiles.cpy-- Layout FEURTABwstato.cpy,wgrave.cpy,wopenf.cpy,wnscr.cpy,cogazien.cpyutils68.cpy-- Interfaccia COGS68utilu20.cpy-- Interfaccia COGU20utild89.cpy-- Interfaccia COGD89