COGSA8 - Operazioni su merci¶
Posizione nel menu Programma non a menu Linkage section UTIL-COGSA8
| Tipo | Dato | Formato | Contenuto |
|---|---|---|---|
| INPUT | COGSA8-OPE | x(20) | Operazione da eseguire |
| COGSA8-MERCE | merce | Codice merce da elaborare in caso di gestione (per ora non utilizzato) COGSA9-MER-GRU e COGSA9-MER-SOT, sono utilizzati per la creazione del nuovo codice merce, a meno non sia specificato COGSA9-FL-GRU-DEFAULT = "S" |
|
| COGSA8-MERCE-ORIGINE | merce | In caso di inserimento, permette di clonare il codice merce qui indicato su un nuovo codice | |
| COGSA8-CMA | x(30) | Codice merce avanzato merce Attenzione: se viene passato quando la configurazione è per gestire il codice merce avanzato completo, sarà usato questo, e non corrisponderà a quello calcolato automaticamente dalla subroutine COGS55 Da usare ad esempio nel caso di Terrepadane, in cui il codice merce avanzato con corrisponde alla sequenza fissata |
|
| COGSA8-DES | x(80) | Descrizione merce | |
| COGSA8-MER-* COGSA8-MAP-* COGSA8-MA2-* |
* | Tutti i campi con questo prefisso saranno usati per memorizzare il rispettivo campo su COGMERCI o i record collegati Alcuni campi potrebbero non essere utilizzati in caso di variazione (esempio COGSA8-MER-GRU) |
|
| COGSA8-FL-GRU-DEFAULT | x(01) | Se vale "S", gruppo/sottogruppo da utilizzare per la creazione merce dovranno essere creati su quelli di default indicati nella merce "999999999" Altrimenti verrà utilizzato COGSA8-MER-GRU e COGSA8-MER-SOT, anche se vuoti Default = "N" |
|
| COGSA8-FOR-COD | 9(05) | Codice fornitore da agganciare | |
| COGSA8-MFR | x(22) | Codice merce fornitore da inserire | |
| COGSA8-FL-FOR-PREF | x(01) | Indica se il fornitore da inserire è il preferenziale per l'articolo Default = "N" |
|
| OUTPUT | COGSA8-ESITO | x(01) | Esito dell'operazione |
| COGSA8-O-MSG | x(150) | Messaggio restituito | |
| COGSA8-O-MERCE | merce | Codice merce creato in caso di inserimento | |
| FILLER | x(2000) |
UTIL-COGSA8-RTM Contiene una tabella fino a 99 elementi in cui inserire i codici tabella e i rispettivi valori, per la costruzione del codice merce avanzato Da riempire quando è configurata la gestione del codice merce avanzato completa
| Dato | Formato | Contenuto |
|---|---|---|
| 01 UTIL-COGSA8-RTM | ||
| 02 COGSA8-RTM-PNT | 9(02) | Numero di elementi presenti in tabella |
| 02 COGSA8-RTM-ELE | occurs 99 | |
| 03 COGSA8-RTM-TIP | x(10) | Tipo tabella |
| 03 COGSA8-RTM-COD | x(40) | Codice tabella |
Logica generale Programma che permette di eseguire operazioni su un articolo; per il momento è previsto solo l'inserimento, ricevendo in input un elenco di dati necessari. Il vantaggio di usare questo sottoprogramma è che tutta la parte di inserimento dei dati è centralizzata, quindi verrà allineata e ricompilato in caso di aggiornamento del tracciato. Configurazioni
| Gruppo | Parametro | Note |
|---|---|---|
Elaborazione L'elaborazione cambia a seconda dell'operazione richiesta.
Operazione: INSERISCI¶
Descrizione Riceve in input le variabili necessarie e tenta di inserire un articolo. Se l'operazione va a buon fine verrà restituito COGSA8-ESITO = "S"; altrimenti sarà restituito a "N" e un messaggio di errore in COGSA8-MSG. Chiamata standard UTIL-COGSA8
| Tipo | Dato | Formato | Contenuto |
|---|---|---|---|
| INPUT | COGSA8-OPE | x(20) | "INSERISCI" |
| COGSA8-MERCE-ORIGINE | merce | Se necessario, indicare un codice merce da clonare | |
| COGSA8-CMA | x(30) | Codice merce avanzato merce | |
| COGSA8-DES | x(80) | Descrizione merce | |
| COGSA8-MER-* COGSA8-MAP-* |
* | Tutti i campi con questo prefisso saranno usati per memorizzare il rispettivo campo su COGMERCI o i record collegati Alcuni campi potrebbero non essere utilizzati in caso di variazione (esempio COGSA8-MER-GRU) |
|
| COGSA8-FOR-COD | 9(05) | Codice fornitore da agganciare | |
| COGSA8-MFR | x(22) | Codice merce fornitore da inserire | |
| COGSA8-FL-FOR-PREF | x(01) | Indica se il fornitore da inserire è il preferenziale per l'articolo | |
| OUTPUT | COGSA8-ESITO | x(01) | Esito dell'operazione |
| COGSA8-O-MSG | x(150) | Messaggio restituito | |
| COGSA8-O-MERCE | merce | Codice merce creato in caso di inserimento |
UTIL-COGSA8-RTM Contiene una tabella fino a 99 elementi in cui inserire i codici tabella e i rispettivi valori, per la costruzione del codice merce avanzato Da riempire quando è configurata la gestione del codice merce avanzato completa Elaborazione Come prima cosa verifichiamo che i campi obbligatori siano compilati e corretti. Se non è cosi' restituire COGSA8-ESITO = "N", e in COGSA8-MSG la descrizione del problema. Poi, in sintesi, saranno effettuati i seguenti inserimenti A.1 - Inserimento COGMERCI
Operazione: CERCA-MER-RTM-ESATTA¶
Descrizione Dato un insieme di caratteristiche del CMA, passato in UTIL-COGSA8-RTM, la funzione restituisce, se trovato, il codice merce che corrisponde all'insieme delle caratteristiche passate in input, anche se vuote. Chiamata standard UTIL-COGSA8
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | COGSA8-OPE | "CERCA-MER-RTM-ESATTA" |
| OUTPUT | COGSA8-MERCE | Codice merce su cui eseguire la ricerca |
| COGSA8-ESITO | Esito dell'operazione | |
| COGSA8-O-MSG | Messaggio restituito |
UTIL-COGSA8-RTM
| Dato | Contenuto |
|---|---|
| 02 COGSA8-RTM-PNT | Numero di tabelle su cui effettuare la ricerca |
| 03 COGSA8-RTM-TIP | Tipo tabella su cui effettuare la ricerca |
| 03 COGSA8-RTM-COD | Codice tabella su cui effettuare la ricerca |
Elaborazione Se non ottimizzata questa operazione potrebbe essere molto lenta: ogni caratteristica potrebbe essere ripetuta centinaia di volte su altrettante merci, e per ciascuna merce è necessario cercare se le altre caratteristiche corrispondono. Quindi è importante fare la ricerca principale sulla caratteristica con il numero minore di occorrenze: ma attualmente non è gestito il contatore di occorrenze sulla tabella. L'unico modo, a rigor di logica, per cercarla è di identificare un eventuale tabella "LIBERA": è possibile che una tabella libera, essendo digitata manualmente, sia diversificata molto, e che quindi ciascun valore sia collegato a pochi articoli. Quindi si procede in questo modo: 1. Ricerca di una eventuale tabella "Libera"; se non trovata, si usa il primo elemento significativo trovato; 2. Si scorrono gli articoli corrispondenti al valore passato in inut per questa caratteristica 3. Per ciascun articolo, si effettua la ricerca diretta degli altri valori: al primo valore non corrispondente si esce e si cerca l'articolo successivo, fino al termine degli articoli trovati al punto 2, o fino a trovare l'articolo corretto
Operazione: CERCA-VALORE-RTM¶
Descrizione Restituisce, per una merce, il valore corrispondente ad una o più tabelle passate in input nella apposita tabella Chiamata standard UTIL-COGSA8
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | COGSA8-OPE | "CERCA-VALORE-RTM" |
| COGSA8-MERCE | Codice merce su cui eseguire la ricerca | |
| OUTPUT | COGSA8-ESITO | Esito dell'operazione |
| COGSA8-O-MSG | Messaggio restituito |
UTIL-COGSA8-RTM
| Dato | Contenuto |
|---|---|
| 02 COGSA8-RTM-PNT | Numero di tabelle su cui effettuare la ricerca |
| 03 COGSA8-RTM-TIP | Tipo tabella su cui effettuare la ricerca |
| 03 COGSA8-RTM-COD | Codice tabella restituito dalla ricerca, se trovato |
Elaborazione Per ciascuna tabella passata in input, si effettua una ricerca su COGRACMT usando RTM-CHIA2, restituendo COGSA8-RTM-COD = RTM-COD
Operazione: ESTRAI-DATI-RTM¶
Descrizione Per una data merce restituisce una tabella con tutte le caratteristiche del codice merce avanzato Chiamata standard UTIL-COGSA8
| Tipo | Dato | Contenuto |
|---|---|---|
| INPUT | COGSA8-OPE | "ESTRAI-DATI-RTM" |
| COGSA8-MERCE | Codice merce su cui eseguire la ricerca | |
| OUTPUT | COGSA8-ESITO | Esito dell'operazione |
| COGSA8-O-MSG | Messaggio restituito |
UTIL-COGSA8-RTM Tabella restituita in uscita
| Dato | Contenuto |
|---|---|
| 02 COGSA8-RTM-PNT | Numero di elementi trovati |
| 03 COGSA8-RTM-TIP | Tipo tabella trovato |
| 03 COGSA8-RTM-COD | Codice tabella trovato |
Elaborazione Per la merce in input, si cercano tutti i record trovati su COGRACMT e si popola la tabella di output
Operazione: MODIFICA-CMA¶
Descrizione Riceve in input un codice merce, e il CMA da modificare, ed esegue la variazione. Se l'operazione va a buon fine verrà restituito COGSA8-ESITO = "S"; altrimenti sarà restituito a "N" e un messaggio di errore in COGSA8-MSG. Chiamata standard UTIL-COGSA8
| Tipo | Dato | Formato | Contenuto |
|---|---|---|---|
| INPUT | COGSA8-OPE | x(20) | "MODIFICA-CMA" |
| COGSA8-MERCE | merce | Codice merce da modificare | |
| COGSA8-CMA | x(30) | Codice merce avanzato merce da impostare | |
| OUTPUT | COGSA8-ESITO | x(01) | Esito dell'operazione |
| COGSA8-O-MSG | x(150) | Messaggio restituito |
UTIL-COGSA8-RTM Contiene una tabella fino a 99 elementi in cui inserire i codici tabella e i rispettivi valori, per la costruzione del codice merce avanzato Da riempire quando è configurata la gestione del codice merce avanzato completa Elaborazione
Estratto da documentazione interna ClickUp