Vai al contenuto

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

  1. apri - Inizializzazione, apertura file, configurazione, gestione ricorsione
  2. a4 - Reset maschera, apertura file transito temporanei
  3. a-tm-pf - Accept codice distinta (merce prodotto finito)
  4. a-fine-chiave - Validazione chiave, lettura da COGDBASE
  5. lancia-d62 - Chiamata COGD62 per dialog dettaglio
  6. a-tm-u-m - Accept tipo valorizzazione
  7. a-tm-currency - Accept divisa
  8. a-tm-tipo-dist - Accept tipo distinta
  9. a-tm-unita-prod - Accept unita' produttiva
  10. a-fine-testata - Caricamento righe da COGDBASE, calcolo totali
  11. a-grid / a-accept-grid - Gestione interazione griglia
  12. a-riga-dettaglio - Modifica/inserimento singola riga
  13. a-tm-merce - Accept merce componente
  14. a-tm-tipo-merce-a - Accept tipo merce
  15. a-tm-qta - Accept quantita'
  16. a-tm-perc-valore - Accept percentuale valore
  17. a-tm-coef-x-carb-num - Accept coefficiente conversione
  18. a-tm-giorni-lotto - Accept giorni lotto
  19. controlla-dati / aggiorna - Validazione e salvataggio su COGDBASE
  20. 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>.