Definizioni impostazioni di conversione (ecedi5115s000)

Utilizzare questa sessione per registrare i campi, la sequenza e le opzioni per la conversione dei messaggi in uscita.

Nota

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.

Descrizione

La descrizione o il nome del codice.

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.

Descrizione

La descrizione o il nome del codice.

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.

Descrizione

La descrizione o il nome del codice.

Destinazione

L'origine del campo in un messaggio in uscita, definita nella sessione Impostazioni di conversione (Relazioni) (ecedi5112m000).

Campo

Il nome del campo, ad esempio tdsls400.ofbp. Per le impostazioni di conversione in uscita è possibile utilizzare anche costanti, che devono essere precedute da virgolette ("). Il testo racchiuso tra virgolette viene inserito nel messaggio.

Note: 

Se si desidera utilizzare le virgolette doppie nella stringa di testo, è necessario specificarle due volte. Ad esempio, l'output di ""ABC"" è "ABC".

Campo

La descrizione o il nome del codice.

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).

Descrizione

La descrizione o il nome del codice.

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
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    
Riferimento 1 2      
Cliente 1 3      
Articolo 2 4   1
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
Articolo Riga  
Quantità Riga  
Data di consegna Riga

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

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.

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.
Descrizione

La descrizione o il nome del codice.

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 - 2.

Note: 

È 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.

Tabella di conversione

La tabella di conversione utilizzata per convertire il campo.

Azione in caso di tabella di conversione non trovata

L'azione da eseguire se si verifica un errore durante la conversione di messaggi in uscita. Ad esempio, si verifica un errore se non viene individuato il campo nella tabella di conversione.

Note: 

È necessario selezionare un valore supportato dalle sessioni di elaborazione.

Numero massimo di segmenti

Il numero massimo di segmenti di testo in un campo di testo.

Note: 

I testi di un messaggio presentano una struttura speciale per la quale è necessario eseguire un'elaborazione separata. Ogni testo è infatti costituito da più segmenti, in ciascuno dei quali sono presenti diversi campi.

Numero massimo di campi di testo per segmento di testo

Il numero massimo di campi in un segmento del testo.

Note: 

I testi di un messaggio presentano una struttura speciale per la quale è necessario eseguire un'elaborazione separata. Ogni testo è infatti costituito da più segmenti, in ciascuno dei quali sono presenti diversi campi.

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 Parametri EDI (ecedi0100s000).

Qualificatore predefinito

Il valore da utilizzare se nel messaggio non è presente alcun qualificatore.

Note: 

Se si sceglie di convertire gli articoli in uscita tramite la tabella Codici articolo per Sistema di codifica articoli, è possibile immettere il valore del campo Sistema di codifica articoli. La tabella ID codici articolo consente di convertire il valore di questo qualificatore nel valore utilizzato nel messaggio. È possibile sovrascrivere il valore immesso in questo campo specificandone un altro nel campo Sistema di codifica articoli della sessione Messaggi EDI supportati per Business Partner (ecedi0111s000).

Tabella di conversione

La tabella di conversione utilizzata per convertire il qualificatore.

Azione in caso di tabella di conversione non trovata

L'azione da eseguire se si verifica un errore durante la conversione di messaggi in uscita. Ad esempio, si verifica un errore se non viene individuato il qualificatore nella tabella di conversione.

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.