COGE31 - Gestione Distinta Base
Sorgente: cbl/coge31.cbl | Program-ID: COGE31 | Tipo: Interattivo con griglia
Menu: Magazzino > Produzione > Distinta Base > Gestione
Scopo
Programma di gestione completa delle distinte base prodotto. Permette inserimento, modifica, cancellazione e duplicazione delle distinte. Ogni distinta associa un prodotto finito (o semilavorato) ai suoi componenti, con quantita', prezzi e attributi aggiuntivi. Supporta multilivello tramite chiamata ricorsiva a se stesso per i semilavorati, e gestisce note, sostituti, storico versioni.
File e tabelle
| File/Tabella |
Tipo |
Modalita' |
Descrizione |
| FEURTAB |
Tabella |
Input |
Tabella generale Eurosystem |
| COGMERCI |
Tabella |
Input |
Anagrafica merci (via coge31.select) |
| COGDBASE |
Tabella |
I-O |
Archivio distinte base |
| COGMERA2 |
Tabella |
Input |
Dati aggiuntivi merci (flag merce critica) |
| COGMERA3 |
Tabella |
Input |
Dati produzione merci (unita' produttiva) |
| COGTRANS |
File temp |
I-O |
Transito righe distinta (indicizzato, 3 chiavi) |
| COGTRANS2 |
File temp |
I-O |
Transito note righe |
Copybook utilizzate
| Copybook |
Descrizione |
cogfiles.cpy |
Struttura generica FEURTAB |
coge31.select, coge31.fd, coge31.wrk |
SELECT, FD, working generati da Screens |
coge31-01.scr |
Maschera grafica |
coge31.decla |
Declaratives |
k-u10.cpy |
Costanti utility divisa |
k-personal.cpy |
Costanti personalizzazioni |
wgrave.cpy, wnscr.cpy, wopenf.cpy, wstato.cpy |
Working storage comuni |
cogazien.cpy |
Dati azienda |
capazien.cpy |
Dati azienda CAP (consorzi) |
tabmperc.cpy |
Tabella percentuali merce |
wgrid.cpy, utilgdad.cpy |
Gestione griglie |
utildlg.cpy |
Interfaccia DIALOGS |
utilncnf.cpy |
Interfaccia configurazione RNEWCONF |
utild62.cpy |
Interfaccia COGD62 |
utile22.cpy |
Interfaccia COGE22 (ricerca divise) |
utils07.cpy |
Utility generica |
utils18.cpy |
Utility generica |
utils52.cpy |
Utility date |
utils59.cpy |
Utility generica |
utils64.cpy |
Utility generica |
utils68.cpy |
Utility ricerca merce |
utilu10.cpy |
Utility divisa |
utilu20.cpy |
Utility numerica |
utilu53.cpy |
Utility generica |
utilcoge31d.cpy |
Interfaccia COGE31D (duplica distinta) |
utilcoge31s.cpy |
Interfaccia COGE31S (sostituti) |
utilcogsa2.cpy |
Interfaccia note collegate |
utilcogl61.cpy |
Interfaccia COGL61 |
Linkage
| Copybook |
Descrizione |
wcont.cpy, wcont1.cpy |
Contesto chiamante |
utile31.cpy |
Parametri in ingresso (caller, merce distinta, progressivo, u.m., divisa) |
utils16a.cpy |
Interfaccia generica |
utilm72.cpy |
Interfaccia COGM72 (storico versioni) |
Struttura del programma
Variabili della maschera (tab-maschera)
| Variabile |
PIC |
Descrizione |
tm-pf |
X(09) |
Codice merce prodotto finito (gru+sot+cod) |
tm-pf-old |
X(09) |
Codice precedente (per duplicazione) |
tm-liv |
9(03) |
Livello distinta (1=base, >1=sottodistinta) |
tm-u-m |
X(01) |
Tipo valorizzazione: U=Ultimo costo, M=Media ponderata |
tm-currency |
X(02) |
Codice divisa |
tm-tipo-dist |
X(01) |
Tipo distinta: P/D/V/C/O |
tm-data |
9(08) |
Data distinta |
tm-valore |
S9(12)V9(06) |
Valore totale calcolato |
tm-unita-prod |
9(06)V999 |
Unita' produttiva |
tm-pf-um |
X(02) |
Unita' di misura del prodotto finito |
tm-pnt |
9(04) |
Numero righe in griglia |
Elementi griglia (tm-righe, max 900)
| Variabile |
PIC |
Descrizione |
tm-merce(i) |
X(09) |
Codice merce componente |
tm-tipo-merce(i) |
X(02) |
Tipo: CA=Consumo, GE=Generico, spazi=Normale |
tm-tipo-merce-a(i) |
X(01) |
Tipo abbreviato: C/G/N |
tm-qta(i) |
S9(05)V9(03) |
Quantita' componente |
tm-pre(i) |
9(11)V9(06) |
Prezzo unitario |
tm-imp(i) |
S9(12)V9(06) |
Importo (prezzo x quantita') |
tm-prog(i) |
9(04) |
Progressivo riga |
tm-tip(i) |
X(01) |
Tipo: "D"=sottodistinta |
tm-not-rig(i) |
X(01) |
Flag presenza note |
tm-perc-valore(i) |
9(03)V99 |
Percentuale valore |
tm-coef-x-carb-num(i) |
9(04)V999 |
Coefficiente conversione |
tm-giorni-lotto(i) |
9(01) |
Giorni anticipo lotto |
Configurazione (tab-cfg)
| Variabile |
Descrizione |
tm-cfg-gest-pasticcerie |
Flag gestione pasticcerie |
tm-cfg-files |
Tipo file (O=originale) |
tm-cfg-tipval |
Tipo valorizzazione |
tm-cfg-tip-agg |
Tipo aggiornamento |
tm-cfg-versioni |
Flag gestione versioni |
tm-cfg-gestione-kit |
Flag gestione kit |
tm-cfg-ord |
Flag ordine (I=inserimento in posizione) |
tm-cfg-conferma-canc-riga |
Flag conferma cancellazione riga |
tm-cfg-statis-ripart-db |
Flag ripartizione statistica |
tm-cfg-merce-pro |
Array 10 progressivi merce |
File di transito (COGTRANS)
Record trs-rec con 3 chiavi:
- K1 (
trs-chia1): merce (9 byte)
- K2 (
trs-chia2): descrizione (36 byte) - duplicati ammessi
- K3 (
trs-chia3): progressivo (4 byte)
Dati: tipo, prezzo, quantita', importo, divisa, tipo merce, percentuale valore, coefficiente carbonio, giorni lotto.
Ricordante (parametri di sessione)
| Variabile |
Descrizione |
ri-db |
Codice distinta corrente |
ri-pro |
Livello progressivo |
ri-u-m |
Tipo valorizzazione |
ri-called |
"S" se chiamato da altro programma |
ri-currency |
Divisa |
Flusso principale
- apri - Inizializzazione, apertura file, configurazione, gestione ricorsione
- a4 - Reset maschera, apertura file transito temporanei
- a-tm-pf - Accept codice distinta (merce prodotto finito)
- a-fine-chiave - Validazione chiave, lettura da COGDBASE
- lancia-d62 - Chiamata COGD62 per dialog dettaglio
- a-tm-u-m - Accept tipo valorizzazione
- a-tm-currency - Accept divisa
- a-tm-tipo-dist - Accept tipo distinta
- a-tm-unita-prod - Accept unita' produttiva
- a-fine-testata - Caricamento righe da COGDBASE, calcolo totali
- a-grid / a-accept-grid - Gestione interazione griglia
- a-riga-dettaglio - Modifica/inserimento singola riga
- a-tm-merce - Accept merce componente
- a-tm-tipo-merce-a - Accept tipo merce
- a-tm-qta - Accept quantita'
- a-tm-perc-valore - Accept percentuale valore
- a-tm-coef-x-carb-num - Accept coefficiente conversione
- a-tm-giorni-lotto - Accept giorni lotto
- controlla-dati / aggiorna - Validazione e salvataggio su COGDBASE
- cancella-db - Cancellazione distinta
Chiamate esterne
| Programma |
Modalita' |
Scopo |
| COGE31 (ricorsivo) |
CALL |
Navigazione sottodistinta semilavorato (S-F8) |
| COGD62 |
CALL |
Dialog dettaglio distinta |
| COGE22 |
CALL |
Ricerca divise (F8 su divisa) |
| COGM72 |
CALL |
Storico versioni distinta (F5) |
| COGE31S |
CALL |
Gestione sostituti componente (S-F7) |
| COGE31D |
CALL |
Duplicazione distinta (S-F1) |
| COGS64 |
CALL (via cfg) |
Modulo collegato distinta |
| COGS52W |
CALL |
Gestione date |
| COGS68W |
CALL |
Ricerca merce con barcode |
| GRIDADMN |
CALL |
Amministrazione griglie |
| COGU10 |
CALL |
Utility divisa |
Note
- Il programma e' ricorsivo: quando il componente e' un semilavorato (tipo "D"), la pressione di S-F8 richiama COGE31 stesso con livello incrementato (
ri-pro + 1).
- La configurazione
tm-cfg viene passata in linkage a COGS64.
- Il flag
fl-tipo-merce e' attivo solo per personalizzazione "FF" (settore alimentare) - abilita la colonna "Tipo merce" nella griglia.
- Per installazioni "consorzi" (
az-consorzi = "S"), viene usata la validazione alternativa controlla-dati-cap.
- I file transito sono nella directory temporanea con nome
#$E31<livello>.<operatore>.