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.
| 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
- 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.