Vai al contenuto

COGF38 - Previsione di Produzione

Panoramica

Programma interattivo GUI per la simulazione di fattibilita' produttiva. Dato un articolo (prodotto finito), una quantita' e una data di consegna, esplode la distinta base, calcola i fabbisogni di materie prime e semilavorati e confronta le disponibilita' previste in magazzino. Presenta i risultati in una griglia paginata. Supporta modalita' "called" tramite linkage utilf38.cpy, in cui riceve i parametri preimpostati da programmi chiamanti (es. COGF39).

Tipo: Programma interattivo GUI con griglia paginata.

Posizione nel menu

Menu Percorso
Magazzino Produzione > Produzione 2 > Previsione di Produzione

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB (cogfiles) Input Tabella parametri generali
Tabelle gestite da cogf38.select I-O File principali del programma (distinta base, anagrafica merci, magazzini, saldi)
TRBN-M96 I-O (temp, ext) File di transito condiviso per calcolo disponibilita' (esterno)
TRAN-S16 I-O (temp) File di transito selezione
TRAN-U15 I-O (temp, ext) File di transito condiviso (esterno)

Copybook principali

Copybook Descrizione
cogf38.select SELECT per i file del programma
cogf38.fd File description per i file del programma
cogf38.wrk Working storage generata da Screens
cogf38-01.scr Screen section della maschera
cogf38.decla Declaratives per gestione errori I/O
cogf38.prc Procedure generate da Screens
cogfiles.cpy Descrizione record FEURTAB
k-personal.cpy Costanti personalizzazione cliente
cogazien.cpy Dati azienda corrente
wstato.cpy Gestione stato operazioni
wopenf.cpy Apertura file
wgrave.cpy Gestione errori gravi
wnscr.cpy Gestione schermata
wgrid.cpy Supporto griglia
utilgdad.cpy Utility GRIDADMN (amministrazione griglia)
utils50.cpy Utility S50
utils52.cpy Utility gestione date (COGS52)
utils68.cpy Utility ricerca merce (COGS68)
utilu10.cpy Utility divisa (COGU10)
utilu15.cpy Utility U15
utilu23.cpy Utility U23
utilu20.cpy Utility input numerico (COGU20)
utilw36.cpy Utility ricerca magazzino (W36)
utilm96.cpy Utility calcolo disponibilita' (COGM96)
utilf38.cpy Area linkage per modalita' called (input)
utilf39.cpy Area linkage COGF39
utils16.cpy Area linkage selezione
wcont.cpy / wcont1.cpy Area di comunicazione con il chiamante

Variabili principali della maschera (tab-maschera)

Campo Tipo Descrizione
tm-ric X(01) Flag tipo ricerca ("M" = merce)
tm-pf X(09) Codice prodotto finito (gru+sot+cod)
tm-pf-des X(30) Descrizione prodotto finito (display)
tm-pf-tip-dis X(01) Tipo distinta del prodotto
tm-pf-giorni-app 9(04) Giorni di approvvigionamento del prodotto
tm-mag X(01) Codice magazzino
tm-mag-des X(40) Descrizione magazzino (display)
tm-data 9(08) Data di consegna richiesta
tm-qta 9(07)v999 Quantita' da produrre
tm-riga 9(04) Numero riga ordine (solo modalita' called)
tm-f39-gg-imp 9(04)v9 Giorni impegno da COGF39
tm-dsp-prod-mat 9(08) Data disponibilita' (con materiali)
tm-dsp-prod 9(08) Data disponibilita' (senza materiali)
tm-dsp-prod-prev 9(08) Data disponibilita' prevista
tm-dsp-gen 9(08) Data disponibilita' generale
tm-tab OCCURS k-max-ele-tab Tabella righe griglia risultati

Struttura riga griglia (tm-ele)

Campo Tipo Descrizione
tm-merce X(09) Codice componente (gru+sot+cod)
tm-fl-app X(01) Flag approvvigionamento
tm-qta-ric 9(07)v999 Quantita' richiesta (fabbisogno)
tm-gia-mag S9(07)v999 Giacenza nel magazzino selezionato
tm-gia-tot S9(07)v999 Giacenza totale tutti i magazzini
tm-dsp-att S9(07)v999 Disponibilita' attuale
tm-data-dsp 9(08) Data disponibilita' del componente
tm-alt-merce X(09) Codice articolo alternativo

Record di interscambio griglia (grid-record)

Campo Tipo Descrizione
grd-merce X(09) Codice componente
grd-qta-ric PIC zzz.zzz.zzz Quantita' richiesta (formato visualizzazione)
grd-data 9(08) Data disponibilita'
grd-alt-merce X(09) Articolo alternativo
grd-gia-mag PIC ---.---.--9 Giacenza magazzino
grd-gia-tot PIC ---.---.--9 Giacenza totale

Dati di interscambio called (utilf38 / w-dati-called)

Campo Tipo Descrizione
f38-called X(12) Costante "COGF38-CALLED" per attivare la modalita' called
f38-ric X(01) Tipo ricerca
f38-mag X(01) Magazzino preimpostato
f38-pf X(09) Prodotto finito preimpostato
f38-qta 9(07)v999 Quantita' preimpostata
f38-riga 9(04) Riga ordine
f38-data 9(08) Data consegna preimpostata
f38-chiamata-auto X(01) "S" = chiamata automatica (attiva d-controllo-se-attivare)

Chiamate a sottoprogrammi (CALL)

Programma Scopo
GRIDADMN Gestione griglia (preparazione, personalizzazione, aggiunta record)
COGS68 Ricerca merce con autocompletamento (campo tm-pf)
COGU20 Input numerico per quantita'
COGS52 Calendario/gestione date
COGM96 Calcolo disponibilita' materie prime alla data
COGQ60 Simulazione ciclo di lavorazione (chiamato dopo conferma, con parametri simulazione)
COGS22 Ricerca merce alternativa

Flusso di elaborazione

1. Inizializzazione (apri)

  • Controllo abilitazione operatore (ctr-abil)
  • Inizializzazione program (z-99-init-program)
  • Impostazione nomi file transito temporanei (trs-s16-name, trb-m96-name) in ext-tmp-dir
  • Se modalita' called (f38-called = "COGF38-CALLED"): legge i parametri dal linkage in w-dati-called
  • Se f38-chiamata-auto = "S": esegue d-controllo-se-attivare per decidere se procedere; se ko va a fine
  • Prepara maschera e griglia

2. Input parametri (a4 -> a-tm-mag -> a-tm-pf -> a-tm-qta -> a-tm-data)

  • Se chiamata automatica (w-dc-called = "S"): pre-popola tutti i campi e salta a a-carica-griglia
  • Altrimenti: accept sequenziale di magazzino, articolo, quantita', data
  • Su F3: chiama a-richiesta-conferma
  • Su F8 dal campo magazzino: ricerca magazzino tramite send-w36
  • Sul campo articolo: usa COGS68 per autocompletamento; valida esistenza in COGMERCI

3. Selezione prima fase (F5 -> a1-prima-fase)

  • Popup per selezionare il numero di fase iniziale del ciclo
  • Valida esistenza della fase in CLCDISEG tramite rd-clcdiseg-chia2
  • Salva in tm-prima-fase

4. Caricamento griglia (a-carica-griglia)

  • Chiama la logica di calcolo fabbisogni e disponibilita' (tramite COGM96 e lettura distinta base)
  • Popola tm-tab con i risultati per ogni componente
  • Costruisce la griglia tramite GRIDADMN
  • Aggiorna i campi tm-dsp-prod-mat, tm-dsp-prod, tm-dsp-gen

5. Visualizzazione griglia (a-grid / vis-tabella-disp)

  • Accept paginato della griglia
  • S-F4: personalizzazione colonne (GRIDADMN)
  • S-F5: esportazione Excel (z-esporta-paged-grid)
  • PagSu/PagGiu: navigazione pagine
  • ESC: torna alla schermata dei parametri (a4)

6. Chiusura (fine)

  • Chiude tutti i file
  • Cancella file transito temporanei
  • z-99-exit-program

Note tecniche

  • I file di transito TRBN-M96 e TRAN-U15 sono dichiarati is external perche' condivisi con altri programmi della stessa sessione (es. COGM96).
  • La modalita' called (da COGF39 o altri) imposta w-dc-chiamata-auto = "S" per attivare il controllo preventivo d-controllo-se-attivare, che decide se il calcolo e' necessario o se puo' essere saltato.
  • La griglia usa k-max-ele-tab = 100 righe (t-size/t-length).
  • Il calcolo delle disponibilita' alla data e' delegato a COGM96, che utilizza il file TRBN-M96 come area condivisa.