Definizioni impostazioni di conversione (ecedi5111s000)
Utilizzare questa sessione per registrare i campi, la sequenza e le opzioni per la conversione dei messaggi in ingresso.
Questa sessione è protetta e non è pertanto consentito eseguirla contemporaneamente ad altre sessioni con le quali potrebbe interferire.
- Organizzazione
-
Codice che rappresenta un set di standard, ad esempio ANSI X12, UN/EDIFACT e VDA, utilizzato nelle comunicazioni EDI.
- Messaggio EDI
-
Messaggi in ingresso e/o in uscita supportati dall'applicazione. Questi messaggi possono essere attivi, ossia effettivamente utilizzati all'interno della società, oppure non attivi.
- Direzione
-
La direzione del messaggio EDI.
- Tipo di campo
-
Il formato del file ASCII.
Note:È possibile creare un'impostazione di conversione per file con campi delimitati da separatore o a lunghezza fissa.
- Codice impostazione conversione
-
Il codice che identifica l'impostazione di conversione.
- Destinazione
-
La destinazione del campo nel messaggio in ingresso, definita nella sessione Impostazioni di conversione (Relazioni) (ecedi5112m000).
- Campo
-
Il nome del campo, ad esempio tdsls400.ofbp.
- Numero di sequenza
-
Il numero di sequenza del campo. È possibile includere lo stesso campo più volte. Se il campo è presente nelle impostazioni di conversione solo una volta, è possibile impostare questo campo su 0 o 1. Se il campo è presente nelle impostazioni di conversione più volte, è possibile incrementare il numero di sequenza di 1 per ogni occorrenza del campo all'interno della definizione delle impostazioni di conversione.
- Sequenza di elaborazione
-
La sequenza in base alla quale il campo verrà elaborato.
- Livello
-
Il livello definito nella sessione Impostazioni di conversione (Relazioni) (ecedi5112m000).
- Posizione iniziale
-
La posizione del campo nella riga.
Note:Se il valore del campo Tipo campo nella sessione Reti (ecedi0120s000) è Lunghezza fissa, è necessario specificare la posizione fisica iniziale del campo. Se il valore del campo Tipo campo nella sessione Reti (ecedi0120s000) è Delimitato, è necessario immettere il numero del campo, iniziando da 1.
- Elemento
-
L'elemento indice di un campo indice o la posizione iniziale di una variabile stringa in una stringa.
Esempio di campo indice
Nel caso di una variabile stringa, è possibile specificare la posizione iniziale nella stringa. Questo campo, in combinazione con il campo Lunghezza, consente di specificare una sottostringa. Nella stringa "ABCDEFGHIJKLMNOP", ad esempio, l'output prodotto dalla combinazione del valore 3 e di una lunghezza pari a 5 è "CDEFG".
Campo tdsls400.disc (numero livelli standard = 5) Livello 1 10 2 15 3 8 4 5 5 7 Il valore 0 genera l'intero campo, ovvero 010015008005007. Questa opzione viene utilizzata solo per la comunicazione interna. I valori 1 e 3 generano solo gli elementi 010 e 008. Questo risultato indica che è possibile utilizzare il campo anche per la comunicazione esterna.
- Lunghezza
-
La lunghezza fisica del campo.
- Leggi record successivo
-
Se la casella di controllo è selezionata, verranno letti due nuovi record: uno a questo livello per i messaggi in ingresso e un altro dalla tabella a cui appartiene il campo per i messaggi in uscita. Se la casella di controllo non è selezionata, non verranno letti nuovi record, ma rimarranno attivi quelli correnti.
Note:Questo campo indica se è necessario leggere un nuovo record per elaborare il contenuto del campo. In base al valore di questo campo, è possibile stabilire se una nuova riga dello stesso file è pronta per essere letta.
- Livello iterativo
-
Il numero di sequenza che indica la posizione nella quale spostare il cursore dopo l'elaborazione del campo. Questo campo viene utilizzato solo se il record fa riferimento all'ultimo campo di un livello iterativo o all'ultimo campo dell'impostazione di conversione.
Esempio
Si desidera immettere un campo di testo che contiene dati di un file ASCII in un'intestazione ordine e viene eseguito in modo iterativo. Una volta specificato l'ultimo campo di testo, il cursore viene riposizionato sul campo con numero di sequenza 3 tramite il campo Numero di sequenza. In ogni riga di livello 2 vengono inseriti la chiave e tre campi di testo.
Campo Livello Numero di sequenza Livello iterativo N. ordine 1 1 Riferimento 1 2 Campo di testo 2 3 Campo di testo 2 4 Campo di testo 2 5 3 - Chiave non corrispondente
-
Il numero di sequenza che indica dove posizionare il cursore se la chiave non è valida o viene modificata. È necessario specificare questo campo solo se il valore di Nuovo record è Sì.
Esempio 1. Elaborazione iterativa
Al termine dell'elaborazione di tutti i campi di testo, viene letto il numero cliente. Il livello 2 è iterativo.
Campo Livello Sequenza in Indietro Indietro Nuovo Iter. Record chiave N. ordine 1 1 Riferimento 1 2 Campo di testo 2 3 6 Sì Campo di testo 2 4 Campo di testo 2 5 3 Cliente 1 6 Esempio 2. Elaborazione sequenziale
Una volta specificate tutte le righe (livello 2), è possibile introdurre un nuovo ordine (livello 1)
Campo Livello Sequenza in Indietro Indietro Nuovo Iter. Record chiave N. ordine 1 1 Sì Riferimento 1 2 Cliente 1 3 Articolo 2 4 1 Sì Quantità 2 5 Data di consegna 2 6 4 - Scrivi record
-
Se la casella di controllo è selezionata, è necessario aggiungere un record nella tabella appropriata dopo l'elaborazione di un campo per un messaggio in ingresso, a seconda del risultato dell'espressione di output. La destinazione del campo (gruppo, intestazione o riga) determina in quale tabella verranno salvati i messaggi.
Esempio 1
Campo Destinazione Scrittura record N. ordine Intestazione Riferimento Intestazione Cliente Intestazione Sì Articolo Riga Quantità Riga Data di consegna Riga Sì I campi elaborati dopo un'operazione di scrittura per la stessa destinazione non vengono aggiunti alla tabella pertinente. Non è possibile avviare più operazioni di scrittura per lo stesso record, ad esempio riga ordine. Affinché venga rispettata la gerarchia delle destinazioni, LN verifica se è stata eseguita un'operazione di scrittura in tutte le destinazioni di livello più alto. In caso contrario, l'operazione di scrittura viene eseguita prima nelle destinazioni più importanti, quindi nella destinazione specificata. Di seguito viene riportata la gerarchia:
- Titolo
- Intestazione
- Riga
Esempio 2
Campo Destinazione Scrittura record N. ordine Intestazione Riferimento Intestazione Cliente Intestazione Articolo Riga Quantità Riga Data di consegna Riga Sì Poiché l'operazione di scrittura non è ancora stata eseguita in alcuna intestazione, verrà effettuata innanzitutto nell'intestazione, quindi nella riga. Se non è presente alcun titolo, l'operazione di scrittura viene eseguita prima nella riga, quindi nell'intestazione.
- Valutazione
-
Il codice dell'espressione di valutazione. Questa espressione determina se il campo viene incluso o meno nel messaggio. Poiché si tratta di un'espressione logica, restituisce True o False. Il valore predefinito di questo campo è 1, che corrisponde a True. L'espressione viene elaborata prima dell'inserimento del campo nel messaggio. In altri termini, vengono sempre eseguite le operazioni di lettura e scrittura associate. L'espressione è in effetti un'equazione. Per il campo Magazzino presente nell'ordine di acquisto, ad esempio, è possibile specificare l'espressione strip((tdpur400.cwar) <> "", che restituisce True se nel campo Magazzino non è contenuto alcun valore. In un'espressione è possibile utilizzare gli operatori descritti di seguito.
Di seguito viene riportato l'elenco degli operatori in ordine di priorità:
- ()
- - (segno di inversione)
- * / \
- &
- + - (addizione sottrazione)
- = > < <> <= >=
- NOT
- AND
- OR
- ?:
In un'espressione è possibile utilizzare le costanti indicate nella tabella sottostante.
PI 3.1415926535.. TRUE Sempre vero. FALSE Sempre falso. In un'espressione è possibile specificare funzioni.
È inoltre possibile utilizzare intervalli numerici: a IN [10,20] è uguale ad a>=20 AND a<=30; a IN [10,20][30,40][50,60] è uguale ad a>=10 AND a<=20 OR a>=30 AND a<=40 OR a>=50 AND a<=60.
Operatori aritmetici Esempio
() Parentesi (priorità) - Segno di inversione (argomento necessario) a=-b * Moltiplicazione 3*5=15 / Divisione 6/2=3 \ Resto divisione 8\3=2 & Collegamento stringhe "A"&"B"="AB" + Addizione 2+3=5 - Sottrazione 3-2=1 Operatori relazionali (di confronto) Esempio
= o EQ Uguale a 3=5 restituisce False <> o NE Diverso da 3<>5 restituisce True > o GT Maggiore di 3>5 restituisce False < o LT Minore di 3<5 restituisce True >= o GE Maggiore o uguale a 3>=5 restituisce False <= o LE Minore o uguale a 3<=5 restituisce True Operatori logici Esempio
AND E (entrambe le condizioni sono vere) a=b AND b=c OR O (solo una delle due condizioni è vera) a=b OR a=c NOT Non (non è vero) NOT (a=b AND b=c) Altri:
condizione?true:false se <condizione> è true, viene eseguita <true>, altrimenti <false> (racchiudere sempre <condizione> tra parentesi perché presenta la priorità più bassa)
Funzioni
abs(N) Restituisce il valore assoluto di N. acos(N) Restituisce l'angolo (in radianti) di cui N è il coseno. asc(S) Restituisce il totale dei valori ASCII dei caratteri inclusi in S, asc("ABC")=65+66+67=198. asin(N) Restituisce l'angolo (in radianti) di cui N è il seno. atan(N) Restituisce l'angolo (in radianti) di cui N è la tangente. chr(N) Restituisce il carattere di cui N è il valore ASCII, chr(65)="A". cos(N) Restituisce il coseno dell'angolo N (in radianti). cosh(N) Restituisce il coseno iperbolico dell'angolo N (in radianti). date() Restituisce il numero del giorno corrente. date(J,M,D) Restituisce il numero del giorno della data rappresentata da D, M e J. exp(N) Restituisce 2,718128... elevato alla potenza di N. int(N) Restituisce l'intero di N (arrotondato per difetto). len(S) Restituisce il numero di caratteri di S, len("ABC")=3. log(N) Restituisce il logaritmo naturale di N. log10(N) Restituisce il logaritmo in base 10 di N. max(N,M) Restituisce il valore maggiore tra N e M. min(N,M) Restituisce il valore minore tra N e M. pos(S,T) Restituisce la posizione della prima occorrenza di T in S, pos("ABCDEFEF","EF")=5. pow(N,M) Restituisce N alla potenza di M. round(N,D,M) Restituisce il valore di N arrotondato al numero di decimali D. Se M=0 e N viene arrotondato per difetto, round(1.99,2,0)=1.00. Se M=1 e N viene arrotondato normalmente, round(1.49,2,1)=1.00 e round(1.50,2,1)=2.00. Se M=2 e N viene arrotondato per eccesso, round(1.01,2,2)=2.00. rpos(S,T) Restituisce la posizione dell'ultima occorrenza di T in S, pos("ABCDEFEF","EF")=7. sin(N) Restituisce il seno dell'angolo N (in radianti). sinh(N) Restituisce il seno iperbolico dell'angolo N (in radianti). sqrt(N) Restituisce la radice quadrata positiva di N. str(N) Restituisce la stringa N, str(1.04)="1.04" strip(S) Restituisce S senza spazi finali. tan(N) Restituisce la tangente dell'angolo N (in radianti). tanh(N) Restituisce la tangente iperbolica dell'angolo N (in radianti). time() Restituisce l'ora corrente nel formato UUMM. val(S) Restituisce il valore numerico di S, val("1.04")=1.04. - Assegnazione
-
Il codice relativo all'espressione di assegnazione. Il risultato dell'espressione viene scritto in un file ASCII (messaggi in uscita), che viene aggiornato nell'applicazione LN (messaggi in ingresso). Se ad esempio si desidera impostare il campo Data di cons. pian. in modo che la data corrispondente preceda di due giorni quella specificata nel campo Data/Ora di ricev. pianif., è possibile immettere nel campo Data di cons. pian. l'espressione di assegnazione tdsls400.prdt - 172800.
Note:- Poiché le date vengono gestite internamente come date UTC, è necessario rappresentare i giorni in secondi. Per indicare due giorni, viene pertanto utilizzato il numero 172800.
- È necessario che tutti i campi di tabella a cui fa riferimento un'espressione di assegnazione vengano elaborati prima del campo al quale è assegnata l'espressione in questione. È inoltre necessario che il campo al quale si fa riferimento nell'espressione di assegnazione sia associato a una sequenza di elaborazione più bassa, come specificato nelle definizioni delle impostazioni di conversione. Nell'esempio precedente, pertanto, la sequenza di elaborazione del campo tdsls400.prdt deve essere più bassa rispetto a quella del campo tdsls400.ddat, come specificato nelle definizioni delle impostazioni di conversione.
- Converti campo
-
Se la casella di controllo è selezionata, viene utilizzata la tabella di conversione appropriata per convertire il campo. Se la casella di controllo non è selezionata, il codice coincide con il codice corrispondente in LN e non è necessario eseguire la conversione.
Note:È possibile convertire qualsiasi campo che possa essere incluso in un messaggio in ingresso. Se questa casella di controllo è deselezionata, il codice nel messaggio corrisponde a quello utilizzato in LN e non è necessario convertirlo.
- Azione in caso di errore di conversione
-
L'azione da eseguire se si verifica un errore durante la conversione di messaggi in ingresso.
Note:È necessario selezionare un valore supportato dalle sessioni di elaborazione.
- Tabella codici
-
Il codice che si desidera includere nel messaggio. Ad esempio, si desidera inserire un codice in un campo di testo. Nella tabella sono presenti il codice A e la descrizione Ricarico. Il campo di testo riporterà "Descrizione: Ricarico". Se nella tabella non è presente il codice, il campo di testo riporterà il codice anziché la descrizione.
Note:Questo campo è accessibile solo se il record è correlato a un campo di testo.
- Descrizione campo
-
Se il campo è un campo di testo, immettere la stringa di testo che si desidera venga visualizzata prima del contenuto effettivo del campo di testo. Se in questo campo si immette ad esempio Descrizione e il contenuto del campo di testo è Valvola di motore diesel, il campo di testo risultante riporterà "Descrizione: Valvola di motore diesel".
- Azione campo
-
La modalità di elaborazione dei campi dei messaggi in ingresso.
- Valore per campo vuoto
-
Il valore immesso nei campi vuoti del messaggio EDI.
- Posizione iniziale qualificatore
-
La posizione iniziale del primo qualificatore. Per alcune conversioni di codici di EDI ERP è necessario specificare un ID codice. Gli ID codici sono qualificatori utilizzati in conversioni di codici che consentono di convertire specifiche di dati aggiuntive. Vengono trasferiti nella posizione del primo qualificatore delle definizioni delle impostazioni di conversione.
Note:Se il valore del campo Tipo campo nella sessione Reti (ecedi0120s000) è Lunghezza fissa, è necessario specificare la posizione fisica iniziale del campo. Se il valore del campo Tipo campo nella sessione Reti (ecedi0120s000) è Delimitato, è necessario immettere il numero del campo, iniziando da 1.
- Lunghezza qualificatore
-
La lunghezza fisica del qualificatore.
Note:È possibile specificare questo valore solo se Tipo campo è impostato su Lunghezza fissa, come definito nella sessione Reti (ecedi0520m000).
- Non convertire qualificatore
-
Il valore del qualificatore se non viene eseguita alcuna conversione. Si supponga ad esempio che sia specificato il valore SC. Se in un messaggio è presente un qualificatore con valore SC, non viene eseguita alcuna conversione. In tutti gli altri casi, il valore viene convertito.
Note:Se il valore riportato coincide con il valore del qualificatore, viene utilizzato il file letto anziché le tabelle di conversione. Questa situazione può verificarsi se entrambe le parti utilizzano codici articolo EAN.
- Qualificatore predefinito
-
Il valore da utilizzare se nel messaggio non è contenuto alcun qualificatore.
- Campo
-
Le informazioni di mappatura relative a questo campo descrittivo e all'elemento dati corrispondente nel messaggio EDI. Questo campo descrittivo viene utilizzato solo a scopi informativi e di reportistica.
- Qualificatore 1
-
Le informazioni di mappatura relative al primo qualificatore e all'elemento dati corrispondente nel messaggio EDI.
- Qualificatore 2
-
Le informazioni di mappatura relative al secondo qualificatore e all'elemento dati corrispondente nel messaggio EDI.