COGF50 -- Schede di Magazzino¶
Sorgente: cbl/cogf50.cbl | Program-ID: COGF50 | Tipo: Stampa/Visualizzazione
Menu: Magazzino > Stampe > Schede di Magazzino
Scopo¶
Stampa e visualizzazione delle schede di magazzino per articolo. Per ciascun articolo nel range selezionato, il programma calcola i movimenti mensili suddivisi in 16 categorie (vendite, acquisti, produzione, trasferimenti, conto lavoro, rettifiche, ecc.) e produce una stampa tabellare con totali mensili e progressivi.
Struttura della maschera¶
Maschera non gestita da Screen Designer; definita come struttura mm-1 inline
(10 righe x 70 colonne). La videata di selezione richiede:
| Campo | Variabile | Tipo | Note |
|---|---|---|---|
| Data Consolidato (MM/AAAA) | tm-aa-ult, tm-mm-ult |
9(04), 9(02) | Letta da tabella 57 COGTABEL |
| Data Partenza (GG/MM/AAAA) | tm-dataini |
9(08) | Via COGS52 |
| Data Arrivo (GG/MM/AAAA) | tm-datafin |
9(08) | Via COGS52 |
| Magazzino | tm-mag |
X(01) | Validato su COGMAGAZ |
| Da Cod. Articolo | ini-merce / ini-merce-rac |
X(09) / X(30) | Via COGS68 |
| A Cod. Articolo | fin-merce / fin-merce-rac |
X(09) / X(30) | Via COGS68 |
| Selezione Stampa | tm-tipo-sel |
X(01) | 1=Solo negativi, 2=Tutti (via COGS60) |
La visualizzazione dei risultati avviene nella struttura mm-2 (24 righe x 76
colonne), con griglia di 16 categorie e fino a 12+1 colonne (mesi + totale).
Logica di elaborazione¶
Fase 1: Raccolta parametri¶
- Legge la data di ultimo consolidamento da
COGTABELtipo 57. - Richiede data partenza e arrivo tramite
COGS52. - Richiede magazzino, validato su
COGMAGAZ. - Richiede range articoli tramite
COGS68. - Richiede tipo selezione (negativi / tutti) tramite
COGS60.
Fase 2: Elaborazione movimenti¶
Per ciascun articolo nel range (scansione su COGRACMC per codice avanzato):
- Saldo iniziale (
w-tot(1, mese_ini)): letto daCOGMEMORper l'anno consolidato, sommando i movimenti con data anteriore alla data partenza. - Scansione movimenti su
COGMOMAG(chiave 3: mag + merce + data), dal mese successivo al consolidato alla data fine. - Ogni movimento viene classificato in una delle 16 categorie in base a:
mag-tipob1(tipo bolla: I, D, C, P, U, T)mag-entrusc(E/U)- Causale letta da
COGTABELtipo 15 (flageuta-cb-fl-eu,euta-cb-cli-for,euta-cb-con-fat) - Presenza in
COGGENERcon tipo "BP" o "LP" - Testata bolla
COGTESBO(flagtes-fl-cl,tes-descr) - I movimenti vengono accumulati nella tabella
wtab-tot(16 x 12). - Se selezione "solo negativi", scarta articoli senza saldi mensili negativi.
- Scrive i totali in
cogtrans(file di transito temporaneo).
Fase 3: Visualizzazione e stampa¶
- Scorre
cogtransarticolo per articolo. - Per ciascuno: visualizzazione a video e possibilita' di stampa.
- La stampa e' gestita tramite
COGS54(260 chr per riga).
File utilizzati¶
| File | Copybook | Accesso | Utilizzo |
|---|---|---|---|
| FEURTAB | cogfiles.cpy | Random | Tabella generale |
| COGTABEL | cogtabel.cpy | Random | Tabelle di sistema (causali, date consolidam.) |
| COGMERCI | cogmerci.cpy | Random | Anagrafica merci |
| COGGEANA | coggeana.cpy | Random | Anagrafica generale (non usata direttamente) |
| COGMAGAZ (COGMAGA2) | cogmaga2.cpy | Random | Magazzini |
| COGTESBO | cogtesbo.cpy | Random | Testate bolle |
| COGMOMAG | cogmomag.cpy | Dynamic | Movimenti di magazzino |
| COGMEMOR | cogmemor.cpy | Dynamic | Saldi consolidati per merce/magazzino |
| COGRACMC | cogracmc.cpy | Dynamic | Raccordo codici merce (codice avanzato) |
| COGGENER | coggener.cpy | Dynamic | Generiche (distinte, lavorazioni) |
| FLSTA | flsta.cpy | Output | File di stampa |
| cogtrans | Inline (trs-rec) | I-O | File temporaneo totali per merce |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| COGS52 | Input date con calendario |
| COGS54 | Gestione stampa (anteprima, stampante) |
| COGS60 | Combo/scelta opzioni |
| COGS68 | Ricerca merce avanzata |
Copybook principali¶
COGFILES.CPY-- Layout FEURTABCOGMAGA2.CPY-- Layout magazzinoCOGTABEL.CPY,COGTESBO.CPY,COGMERCI.CPY,COGGEANA.CPYCOGMOMAG.CPY,COGMEMOR.CPY,COGRACMC.CPY,COGGENER.CPYWSTATO.CPY,WGRAVE.CPY,WOPENF.CPY,WNSCR.CPY,COGAZIEN.CPYUTILS22.CPY,UTILS21.CPY,UTILW36.CPY,UTILS54.CPY,UTILS52.CPY,UTILS60.CPY,UTILS68.CPY