Sorgente: cbl/cogm63.cbl | Program-ID: COGM63 | Tipo: Interattivo (raccolta parametri + elaborazione batch)
Menu: Magazzino > Archivi & Tabelle > Gestione Avanzata > Modifica Informazioni
Scopo
Ricalcolo del codice avanzato e/o della descrizione delle merci in seguito alla modifica di un valore di tabella avanzata o della sua descrizione. Il programma scandisce tutte le merci che utilizzano la tabella/valore indicati e aggiorna il codice avanzato e la descrizione ricostruendoli dalla sequenza di composizione.
File e tabelle
| File/Tabella |
Tipo |
Modalita' |
Descrizione |
| FEURTAB |
Tabella |
Input |
Tabella generale Eurosystem |
| COGMERCI |
Tabella |
I-O |
Anagrafica merci (aggiornamento codice avanzato e descrizione) |
| COGRICME |
Tabella |
I-O |
Tabella ricerca merci (aggiornamento codice avanzato) |
| COGTABME |
Tabella |
I-O |
Tabella merci per codice avanzato |
| COGTABEL |
Tabella |
I-O |
Tabella generale (lettura/aggiornamento valori tabelle avanzate) |
| LOGFILE |
File seq. |
Output |
File di log delle operazioni |
I file acceduti sono quelli dichiarati in cogm63.select tramite Screen Designer, piu' LOGFILE.
Copybook utilizzate
| Copybook |
Descrizione |
cogfiles.cpy |
Struttura generica FEURTAB |
cogm63.select |
SELECT file generati da Screens |
cogm63.fd |
FD file generati da Screens |
cogm63.wrk |
Working storage generata da Screens |
cogm63-01.scr |
Maschera grafica |
cogm63.decla |
Declaratives |
cogm63.prc |
Procedure copy generate da Screens |
logfile.fd, logfile.cpy |
Definizione file di log |
k-personal.cpy |
Costanti personalizzazione azienda |
wstato.cpy |
Working stato |
wgrave.cpy |
Working errori gravi |
wopenf.cpy |
Working apertura file |
wnscr.cpy |
Working screen |
cogazien.cpy |
Dati azienda |
utils21.cpy |
Utility generiche |
utils37.cpy |
Interfaccia COGS37 (gestione tabelle avanzate) |
utils55.cpy |
Interfaccia COGS55 (composizione codice avanzato) |
utilncnf.cpy |
Interfaccia RNEWCONF (configurazione) |
Linkage
| Copybook |
Descrizione |
wcont.cpy |
Contesto chiamante |
wcont1.cpy |
Contesto esteso |
Struttura del programma
Variabili della maschera (tab-maschera)
| Variabile |
PIC |
Descrizione |
tm-ope |
X(01) |
Tipo operazione |
tm-tab |
X(02) |
Codice tabella avanzata |
tm-tab-des |
X(30) |
Descrizione tabella |
tm-len |
9(02) |
Lunghezza codice tabella |
tm-len-des |
9(02) |
Lunghezza descrizione tabella |
tm-val-da |
X(20) |
Valore attuale (da sostituire) |
tm-val-des-da |
X(30) |
Descrizione valore attuale |
tm-val-a |
X(20) |
Nuovo valore |
tm-val-des-a |
X(30) |
Nuova descrizione |
tm-val-a-esiste |
X(01) |
Flag: il valore di arrivo esiste gia' |
tm-a-l |
9(06) |
Contatore articoli letti |
tm-i-m |
9(06) |
Contatore codifiche trovate |
tm-c-m |
9(06) |
Contatore codici modificati |
tm-d-m |
9(06) |
Contatore descrizioni modificate |
Configurazione (tm-cfg)
| Variabile |
Descrizione |
tm-cfg-cla |
Classe articolo |
tm-cfg-des |
Flag gestione descrizione |
tm-cfg-spz |
Flag spazi nella composizione |
tm-cfg-des-ava |
Flag descrizione avanzata |
tm-cfg-ins-auto-rcm-vuoto |
Flag inserimento automatico in COGRICME se vuoto |
Struttura classi (tab-classi)
Tabella interna che contiene la configurazione di ogni classe articolo, con le sequenze di composizione del codice e della descrizione (max 20 componenti ciascuna):
| Campo |
Descrizione |
tc-cla |
Codice classe |
tc-r-cod |
Numero componenti del codice |
tc-r-des |
Numero componenti della descrizione |
tcr-tab |
Codice tabella componente (codice) |
tcd-tab |
Codice tabella componente (descrizione) |
Flusso principale
- apri - Inizializzazione, apertura file, lettura configurazione RNEWCONF
- Caricamento struttura classi e sequenze da COGTABEL
- a-tm-ope - Accept tipo operazione
- a-tm-tab - Accept codice tabella avanzata (F8 per ricerca via COGS55)
- a-tm-val-da - Accept valore di partenza (F8 per ricerca via COGS55)
- a-tm-val-a - Accept valore di arrivo
- Conferma e avvio elaborazione
Elaborazione
Per ogni classe che contiene la tabella indicata nella sequenza di composizione:
- Scansione di tutte le merci della classe
- Per ogni merce che contiene il valore "Da" nella posizione della tabella:
a. Sostituzione del valore nel codice avanzato
b. Ricalcolo della descrizione dalla sequenza di composizione (via COGS37)
c. REWRITE su COGMERCI
d. Aggiornamento COGRICME e COGTABME
Chiamate esterne
| Programma |
Modalita' |
Scopo |
| COGS55 |
CALL |
Ricerca valori nella tabella avanzata |
| COGS37 |
CALL |
Ricomposizione descrizione da sequenza |
| RNEWCONF |
CALL |
Lettura configurazione |
| COPIAF |
CALL |
Copia file di log |
| DIALOGS |
CALL |
Messaggi di dialogo |
| NOTEPAD |
CALL |
Apertura log con Blocco Note |
Note
- L'operazione e' irreversibile: aggiorna direttamente COGMERCI, COGRICME e COGTABME.
- Il programma gestisce fino a 20 classi articolo, ognuna con fino a 20 componenti nella sequenza di codice e descrizione.
- Se il valore di arrivo esiste gia' nella tabella, viene segnalato e l'utente puo' decidere se procedere (merge) o annullare.
- Il file di log viene creato nella cartella temporanea e puo' essere visualizzato al termine con il Blocco Note.
- Il ricalcolo della descrizione e' gestito da COGS37, che ricompone la stringa descrizione concatenando i valori delle tabelle secondo la sequenza definita per la classe (gestita da COGM62).