COGF16 - Estrazione Dati Valore Merci
Sorgente: cbl/cogf16.cbl | Program-ID: COGF16 | Tipo: Interattivo (raccolta parametri + elaborazione batch)
Menu: Magazzino > Archivi & Tabelle > Varie > Estrazione Dati Valore Merci, Magazzino > Archivi & Tabelle > Varie > Estrazione valore dist.base
Scopo
Estrazione su file a campi fissi dei dati di valorizzazione delle merci. Per ogni merce nell'intervallo specificato, il programma calcola: valore distinta base, mano d'opera scorporata, materiali di consumo scorporati, prezzo di listino 1. Il file prodotto e' utilizzabile per analisi esterne.
NOTA: il sorgente deve essere compilato con flag -Zr.
File e tabelle
| File/Tabella |
Tipo |
Modalita' |
Descrizione |
| FEURTAB |
Tabella |
Input |
Tabella generale Eurosystem |
| COGMERCI |
Tabella |
Input |
Anagrafica merci |
| COGLISNW |
Tabella |
Input |
Listino vendita (nuovo formato) |
| COGTESLS |
Tabella |
Input |
Testata listino (per divisa) |
| export |
File seq. |
Output |
File di esportazione a campi fissi |
I file acceduti sono quelli dichiarati in cogf16.select tramite Screen Designer, piu' il file export.
Copybook utilizzate
| Copybook |
Descrizione |
cogfiles.cpy |
Struttura generica FEURTAB |
cogf16.select |
SELECT file generati da Screens |
cogf16.fd |
FD file generati da Screens |
cogf16.wrk |
Working storage generata da Screens |
cogf16-01.scr |
Maschera grafica |
cogf16.decla |
Declaratives |
cogf16.prc |
Procedure copy generate da Screens |
k-u10.cpy |
Costanti per conversione divise |
wrk-u10.cpy |
Working per conversione divise |
wgrave.cpy |
Working errori gravi |
wnscr.cpy |
Working screen |
wopenf.cpy |
Working apertura file |
wstato.cpy |
Working stato |
cogazien.cpy |
Dati azienda |
utilcogl61.cpy |
Interfaccia COGL61 (calcolo prezzi acquisto) |
utils64.cpy |
Interfaccia COGS64 (configurazione merce) |
utils68.cpy |
Interfaccia COGS68W (ricerca merce) |
utilu10.cpy |
Interfaccia COGU10W (conversione divise) |
tabmperc.cpy |
Tabella percentuali merci |
utilncnf.cpy |
Interfaccia RNEWCONF (configurazione) |
Linkage
| Copybook |
Descrizione |
wcont.cpy |
Contesto chiamante |
utils01.cpy |
Interfaccia COGS01 (ricerca prezzo listino) |
utils16a.cpy |
Interfaccia COGS16A (scorporo distinta base) |
wcont1.cpy |
Contesto esteso |
Struttura del programma
Variabili della maschera (tab-maschera)
| Variabile |
PIC |
Descrizione |
tm-da-merce |
X(09) |
Codice merce iniziale (gru+sot+cod) |
tm-a-merce |
X(09) |
Codice merce finale |
tm-letti |
9(06) |
Contatore merci lette |
tm-scritti |
9(06) |
Contatore merci scritte |
Record di esportazione (exp-rec)
| Campo |
PIC |
Descrizione |
exp-merce |
X(09) |
Codice merce |
exp-des-mer |
X(36) |
Descrizione merce |
exp-val-db |
9(09)V9(04) |
Valore distinta base |
exp-val-md |
9(09)V9(04) |
Valore mano d'opera |
exp-val-mc |
9(09)V9(04) |
Valore materiali di consumo |
exp-lis |
9(09)V9(04) |
Prezzo listino 1 |
Configurazione (tab-config)
| Variabile |
Descrizione |
tm-cfg-name-export |
Percorso file di esportazione |
tm-cfg-nmc |
Numero gruppi materiali di consumo |
tm-cfg-gru-mc |
Codici gruppo da considerare materiali di consumo |
tm-cfg-nmd |
Numero gruppi mano d'opera |
tm-cfg-gru-md |
Codici gruppo da considerare mano d'opera |
tm-cfg-files |
Flag apertura file ("O" = apri) |
tm-cfg-tipval |
Tipo valorizzazione ("U" = ultimo costo) |
Flusso principale
- apri - Inizializzazione, apertura file, lettura divisa di conto
- a4 - Lettura configurazione, inizializzazione maschera
- a-tm-da-merce / a-tm-a-merce - Accept intervallo merci (COGS68W per ricerca)
- a-fine-dati - Validazione, conferma, apertura file export
- ela-10 - Elaborazione: scansione COGMERCI nell'intervallo
Elaborazione (ela-10 / ela-10-loop)
Per ogni merce nell'intervallo:
- Ricerca prezzo medio d'acquisto (via COGL61)
- Ricerca prezzo listino 1 (via COGS01)
- Se mer-padre = "P" (distinta base): esplosione ricorsiva via COGS16A, scorporo mano d'opera e materiali di consumo
- Se merce semplice: valorizzazione diretta
- Conversione divise se necessario (via COGU10W)
- Scrittura record nel file export
Chiamate esterne
| Programma |
Modalita' |
Scopo |
| COGS01 |
CALL |
Ricerca prezzo di listino |
| COGS16A |
CALL |
Esplosione distinta base con scorporo componenti |
| COGS64 |
CALL |
Lettura configurazione merce |
| COGL61 |
CALL |
Calcolo prezzo medio d'acquisto |
| COGU10W |
CALL |
Conversione divise estere in divisa di conto |
| RNEWCONF |
CALL |
Lettura configurazione da RNEWCONF |
Note
- Il file export e' line sequential a campi fissi (200 byte per riga).
- Lo scorporo mano d'opera e materiali di consumo avviene solo per le merci "padre" (distinte base): il programma esplode ricorsivamente i componenti e classifica i gruppi secondo la configurazione.
- La personalizzazione "BO" (Bormioli) ha un percorso diverso per l'apertura del file esportato (COGS01 anziche' COGS64).
- Se il parametro di lancio e' "P", vengono analizzate solo le distinte base (mer-padre = "P").