COGF33 - Documenti x Lotto¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGF33 |
| Titolo | Documenti x Lotto / Collegamenti a Lotto |
| Posizione menu | Magazzino -> Produzione -> Produzione -> Visualizzazioni -> Documenti x Lotto |
| Posizione menu alternativa | Magazzino -> Produzione -> Produzione 2 -> Collegamenti a Lotto |
Scopo e logica generale¶
COGF33 e' un programma interattivo di sola consultazione che visualizza in una griglia tutti i documenti di magazzino e le bolle di prelievo collegati a un lotto di produzione. Accetta in input l'identificativo del lotto (anno/numero o codice esterno) e il flag magazzino di c/lavoro, quindi carica i collegamenti dalla tabella COGGENER (tipo "LP" per documenti di magazzino, tipo "LB" per bolle di prelievo) e li presenta ordinati per data.
Il programma puo' essere richiamato come finestra pop-up da altri moduli passando i dati lotto tramite la linkage utilf33.cpy.
Flusso principale¶
- Inizializzazione (
apri): controllo abilitazione, lettura azienda, lettura configurazione RNEWCONF (tm-cfg-lotto-ext), apertura file, configurazione tasti funzione e pulsanti custom, visualizzazione maschera - Accept parametri (
a4): a-tm-lot-ann: anno lotto (con F8 -> COGS52W calendario)a-tm-lot-num: numero lotto (validazione su COGLAVOR)a-tm-lot-ext: codice esterno lotto (con ricerca su CLCDALAV chiave 2, visibile solo setm-cfg-lotto-ext = "S")a-tm-fl-mag-cla: flag inclusione magazzino c/lavoro- Conferma (
a-fine-dati-inizio): validazione, chiamataacc-conf, avviocarica-griglia - Griglia (
a-grid/a-accept-grid): navigazione, con: - F3: apertura documento (COGV11 per bolle "P", COGV56 per "I"/"D", COGV15 per "C"/"R")
- F9: stampa lista supporti via COGU65 (solo per documenti non da mag. c/lav)
- ShF4: amministrazione griglia (GRIDADMN)
- Chiusura (
fine): chiusura file, chiusura finestra
Routine di caricamento griglia¶
carica-griglia / carica-griglia-loop:
- Scansiona COGGENER per tipo "LP" con gnr-parte-1 = tm-lotto
- Se tm-fl-mag-cla = " " salta i documenti con magazzino = az-mag-cla
- Per ogni documento legge COGTESBO per data e chiave; poi legge il primo movimento COGMOMAG per determinare il tipo: "U" (scarico), "E" (avanzamento p.f.), "S" (storno)
- Limite: k-max-ele-tab = 800 righe
ciclo-bdp / ciclo-bdp-loop:
- Scansiona COGGENER per tipo "LB" con gnr-parte-1 = tm-lotto
- Per ogni collegamento legge COGTESBP; salta se tbp-fl-cls = "C" (chiusa)
- Aggiunge le bolle di prelievo aperte alla griglia con tm-tip-bdp = "B"
File e tabelle acceduti¶
| File logico | Record | Modalita' | Uso |
|---|---|---|---|
| COGGENER | gnr-rec | Input | Tabella generica - collegamenti lotto (tipo "LP" e "LB") |
| COGLAVOR | cla-rec | Input | Lotti di produzione - validazione e dati lotto |
| CLCDALAV | dlv-rec | Input | Lotti produzione - ricerca per codice esterno (chiave 2) |
| COGTESBO | tes-rec | Input | Testate bolle di magazzino - data e riferimento documento |
| COGTESBP | tbp-rec | Input | Testate bolle prelievo - data e stato (fl-cls) |
| COGMOMAG | mag-rec | Input | Movimenti magazzino - determinazione tipo documento |
| COGCONOR | cor-rec | Input | Consegne ordini - dati consegna collegata al lotto |
| COGGEANA | ana-rec | Input | Anagrafica generale - nome cliente |
Copybook inclusi¶
Screen Designer¶
| Copybook | Contenuto |
|---|---|
cogf33-01.scr |
Maschera principale (screen section) |
cogf33.select |
SELECT dei file |
cogf33.fd |
FD dei file |
cogf33.wrk |
Working storage maschera |
cogf33.decla |
Declaratives |
Working storage¶
| Copybook | Contenuto |
|---|---|
wgrave.cpy |
Gestione errori gravi |
wnscr.cpy |
Gestione schermo |
wopenf.cpy |
Gestione apertura file |
wstato.cpy |
Working stato |
cogazien.cpy |
Dati azienda (az-mag-cla, az-personal) |
wgrid.cpy |
Gestione griglia |
utilgdad.cpy |
Utility GRIDADMN |
utilu65.cpy |
Interfaccia COGU65 (stampa supporti) |
utils52.cpy |
Interfaccia COGS52 (calendario) |
utils68.cpy |
Interfaccia COGS68W (selezione merce/prodotto finito) |
utilncnf.cpy |
Struttura parametri RNEWCONF |
Linkage¶
| Copybook | Contenuto |
|---|---|
wcont.cpy |
Dati operatore / stringhe |
utilv11.cpy |
Interfaccia COGV11 (bolla produzione) |
wcont1.cpy |
Dati azienda linkage |
utilf33.cpy |
Interfaccia chiamante (f33-called, f33-lot-ann, f33-lot-num, f33-lot-ext, f33-caller) |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGS52W | Calendario (F8 su campo anno lotto) |
| COGV11 | Visualizzazione bolla di produzione (F3, tipo "P") |
| COGV56 | Visualizzazione documento entrata/uscita (F3, tipo "I"/"D") |
| COGV15 | Visualizzazione documento (F3, tipo "C"/"R") |
| COGU65 | Stampa lista supporti (F9) |
| GRIDADMN | Amministrazione griglia (ShF4) |
| RNEWCONF | Lettura configurazione |
Configurazione (RNEWCONF)¶
| Chiave | Variabile interna | Valore | Comportamento |
|---|---|---|---|
| (lotto esterno) | tm-cfg-lotto-ext |
"S" | Abilita il campo codice esterno lotto e lo rende obbligatorio se anno = 0 |
| (lotto esterno) | tm-cfg-lotto-ext |
"N" | Campo codice esterno non visibile; anno lotto obbligatorio |
Logica di business¶
Determinazione tipo documento¶
Per ogni documento trovato in COGGENER (tipo "LP"), il programma legge il primo movimento su COGMOMAG con chiave uguale alla testata bolla (COGTESBO):
- Se il magazzino del movimento e' il magazzino di c/lav (
az-mag-cla): - entrata ("E") -> tipo "U" (scarico componenti, logica inversa)
- uscita ("U") con merce = p.f. -> tipo "E" (avanzamento)
- uscita ("U") con merce != p.f. -> tipo "S" (storno)
- Se il magazzino e' normale:
- uscita ("U") -> tipo "U" (scarico)
- entrata ("E") con merce = p.f. -> tipo "E" (avanzamento)
- entrata ("E") con merce != p.f. -> tipo "S" (storno)
Richiamo da altri programmi¶
Se f33-called = k-program-id e f33-caller <> spaces e f33-lot-ext not = spaces, il programma si avvia con il lotto precompilato e al ritorno (ESC) esce direttamente (fl-richiamato = "S").
Limite griglia¶
La tabella in memoria (tm-tab) ha un massimo di 800 elementi (k-max-ele-tab). Se superato, viene mostrato un avviso e gli ulteriori elementi vengono scartati.