| # Definities conversievoorschriften (ecedi5115s000) Deze sessie kunt u gebruiken om de velden, volgorde en opties voor de conversie van uitgaande berichten vast te leggen. NB Deze sessie is beveiligd, zodat hij niet tegelijk met (mogelijk) conflicterende sessies kan worden uitgevoerd. Gerelateerde onderwerpen Detailsessie gebruiken Conversievoorschriften (definities) gebruiken Organisatie Code voor een set van standaarden (zoals ANSI X12, UN/EDIFACT en VDA) die worden gebruikt bij elektronische gegevensuitwisseling (EDI). Organisatie De omschrijving of naam die hoort bij de code. EDI-bericht De inkomende en/of uitgaande berichten die door de applicatie worden ondersteund. Deze berichten kunnen actief zijn (gebruikt worden in het bedrijf), of niet. Gerelateerde onderwerpen Ondersteunde EDI-berichten gebruiken EDI-bericht De omschrijving of naam die hoort bij de code. Richting De richting waarin het EDI-bericht wordt verzonden. Veldsoort Het formaat van het ASCII-bestand. NB Een conversievoorschrift kan worden aangemaakt voor bestanden waarin de velden een vaste lengte hebben of door een veldscheidingsteken worden gescheiden. Code conversievoorschrift De code waarmee het conversievoorschrift wordt aangeduid. Code conversievoorschrift De omschrijving of naam die hoort bij de code. Bestemming De bron van het veld in een uitgaand bericht, zoals gedefinieerd in de sessie Conversievoorschriften (relaties) (ecedi5112m000). Veld De naam van het veld, bijvoorbeeld "tdsls400.ofbp". Voor uitgaande conversievoorschriften kunt u tevens constantes gebruiken. Constantes moeten beginnen met dubbele aanhalingstekens ("). Alle tekst tussen aanhalingstekens wordt in het bericht geplaatst. NB Indien u dubbele aanhalingstekens wilt gebruiken binnen de tekststring, moet u extra aanhalingstekens invoeren. Bijvoorbeeld, de uitvoer voor ""ABC"" is "ABC". Veld De omschrijving of naam die hoort bij de code. Volgnr. Het volgnummer van het veld. Hetzelfde veld kan meerdere keren worden opgenomen. Indien het veld maar één keer voorkomt in de conversievoorschriften, kunt u dit veld instellen op 0 of 1. Indien het veld meerdere keren voorkomt in de conversievoorschriftdefinitie, kan het volgnummer worden verhoogd met 1 voor elke keer dat het veld voorkomt in de conversievoorschriftdefinitie. Verwerkingsvolgorde De volgorde waarin het veld wordt verwerkt. Niveau Het niveau dat is gedefinieerd in de sessie Conversievoorschriften (relaties) (ecedi5112m000). Niveau De omschrijving of naam die hoort bij de code. Startpositie De positie van het veld in de regel. NB Indien het veld Veldtype in de sessie Netwerken (ecedi0120s000) is ingesteld op Vaste lengte, moet u de fysieke startpositie van het veld invoeren. Indien het veld Veldtype in de sessie Netwerken (ecedi0120s000) is ingesteld op Begrensd, moet u het veldnummer invoeren, beginnend met nummer 1. Element Het index-element voor een index-veld of de startpositie in een string voor een string-variabele. Voorbeeld index-veld In het geval van een string-variabele kan de startpositie in de string worden opgegeven. Dit veld, in combinatie met het veld Lengte, stelt u in staat om een substring te specificeren (voorbeeld: voor string "ABCDEFGHIJKLMNOP" geeft de waarde 3 met een lengte van 5 het volgende resultaat: "CDEFG").
Veld tdsls400.disc (standaard diepte = 5 niveaus)
Niveau | 1 | 10
| 2 | 15
| 3 | 8
| 4 | 5
| 5 | 7
De waarde 0 geeft het hele veld: 010015008005007. Deze optie wordt alleen gebruikt voor interne communicatie. De waarden 1 en 3 geven alleen de volgende elementen: 010 en 008. Deze uitvoer betekent dat het veld ook kan worden gebruikt voor externe communicatie. Lengte De fysieke lengte van het veld. Volgend record lezen Indien dit selectievakje is ingeschakeld, wordt er voor inkomende berichten op dit niveau een nieuw record gelezen en wordt er voor uitgaande berichten een nieuw record gelezen uit de tabel die bij het veld hoort. Indien dit selectievakje is uitgeschakeld, worden nieuwe records niet gelezen, maar blijven de huidige records actief. NB Dit veld geeft aan of er een nieuw record moet worden gelezen om de inhoud van het veld te kunnen verwerken. Op basis van de waarde van dit veld kunt u vaststellen of er een nieuwe regel uit hetzelfde bestand kan worden gelezen. Iteratief niveau Het volgnummer dat aangeeft waarnaar de cursor moet worden verplaatst nadat het veld is verwerkt. Dit veld wordt alleen gebruikt als dit record is bestemd voor het laatste veld van een iteratief niveau of voor het laatste veld van het conversievoorschrift. Voorbeeld Bijvoorbeeld: u wilt een tekstveld met gegevens uit een ASCII-bestand invoeren in een orderkop die iteratief wordt uitgevoerd. Zodra het laatste tekstveld is gevuld, gaat de cursor terug naar het veld met volgnummer 3, op basis van het veld Volgnummer. De key en drie tekstvelden worden opgenomen in elke regel van niveau 2.
Veld | Niveau | Volgnummer | Volgorde bij iteratief niveau
Ordernummer | 1 | 1 |
Referentie | 1 | 2 |
Tekstveld | 2 | 3 |
Tekstveld | 2 | 4 |
Tekstveld | 2 | 5 | 3
Key voldoet niet Het volgnummer dat aangeeft waarnaar de cursor moet worden verplaatst als de key niet geldig is of is gewijzigd. Dit veld moet alleen worden ingevuld als het veld Nieuw record is ingesteld op Ja. Voorbeeld 1 - iteratieve verwerking Nadat alle tekstvelden zijn verwerkt, wordt het klantnummer gelezen. Niveau 2 is iteratief.
Veld | Niveau | Volgorde in | Terug | Terug | Nieuw
Iteratief | Key-record |  |  |  |
Ordernummer | 1 | 1 |  |  |
Referentie | 1 | 2 |  |  |
Tekstveld | 2 | 3 |  | 6 | ja
Tekstveld | 2 | 4 |  |  |
Tekstveld | 2 | 5 | 3 |  |
Klant | 1 | 6 |  |  |
Voorbeeld 2 - sequentiële verwerking Wanneer alle orderregels zijn gevuld (niveau 2) kan er een nieuwe order worden ingevoerd (niveau 1).
Veld | Niveau | Volgorde in | Terug | Terug | Nieuw
Iteratief | Key-record |  |  |  |
Ordernummer | 1 | 1 |  |  | ja
Referentie | 1 | 2 |  |  |
Klant | 1 | 3 |  |  |
Artikel | 2 | 4 |  | 1 | ja
Hoeveelheid | 2 | 5 |  |  |
Leverdatum | 2 | 6 | 4 |  |
Record wegschrijven Indien dit selectievakje is ingeschakeld, moet er een record worden toegevoegd aan de relevante tabel nadat een veld voor een inkomend bericht is verwerkt. Dit hangt af van het resultaat van de uitvoer-expressie. De bestemming van het veld (overhead, kop of regel) geeft aan in welke tabel de berichten worden opgeslagen. Voorbeeld 1
Veld | Bestemming | Record wegschrijven
Ordernummer | kop |
Referentie | kop |
Klant | kop | ja
Artikel | Regel |
Hoeveelheid | Regel |
Leverdatum | Regel | ja
Velden die zijn verwerkt na het wegschrijven naar dezelfde bestemming, worden niet toegevoegd aan de relevante tabel. U kunt niet meerdere schrijfacties voor hetzelfde record starten (bijvoorbeeld: orderregel). Als gevolg van de hiërarchie van bestemmingen controleert LN of alle hogere bestemmingen al dan niet zijn weggeschreven. Als de hogere bestemmingen niet zijn weggeschreven, worden eerst de relevante (lagere) bestemmingen weggeschreven voordat de opgegeven bestemming wordt weggeschreven. De hiërarchie is: Overhead kop Regel Voorbeeld 2
Veld | Bestemming | Record wegschrijven
Ordernummer | kop |
Referentie | kop |
Klant | kop |
Artikel | Regel |
Hoeveelheid | Regel |
Leverdatum | Regel | ja
Omdat er nog geen kop is weggeschreven, wordt eerst de kop weggeschreven gevolgd door de regel. Als er geen overhead is, wordt de regel weggeschreven vóór de kop. Evaluatie De code van de evaluatie-expressie. Deze expressie bepaalt of het veld in het bericht wordt opgenomen. De expressie is logisch en resulteert in waar of niet waar. De defaultwaarde van dit veld is 1 (waar). De expressie wordt uitgevoerd alvorens het veld in de boodschap wordt geplaatst. Met andere woorden, de bijbehorende lees- en schrijfacties worden altijd uitgevoerd. In feite is de expressie een vergelijking. Bijvoorbeeld, de expressie voor het veld Magazijn op de inkooporder kan zijn: strip((tdpur400.cwar) <> "" Deze expressie is waar indien het veld Magazijn niet is ingevuld. Hieronder volgt een lijst van operatoren in volgorde van prioriteit: () - (omkeren) * / \ & + - (optellen/aftrekken) = > < <> <= >= NOT AND OR ?: Een expressie kan de volgende constanten bevatten:
PI | 3.1415926535..
TRUE | Altijd waar.
FALSE | Altijd niet waar.
Een expressie kan functies bevatten. Numerieke bereiken kunnen ook worden gebruikt: a IN [10,20] is gelijk aan a>=20 AND a<=30 a IN [10,20][30,40][50,60] is gelijk aan a>=10 AND a<=20 OR a>=30 AND a<=40 OR a>=50 AND a<=60 Aritmetisch voorbeeld
() | haakjes (prioriteit) |
- | omkering (vereist een argument) | a=-b
* | vermenigvuldiging | 3*5=15
/ | deling | 6/2=3
\ | rest na deling | 8\3=2
& | strings koppelen | "A"&"B"="AB"
+ | optelling | 2+3=5
- | aftrekking | 3-2=1
Relationeel voorbeeld (ter vergelijking)
= of EQ | is gelijk aan | 3=5 is niet waar
<> of NE | is niet gelijk aan | 3<>5 is waar
> of GT | is groter dan | 3>5 is niet waar
< of LT | is kleiner dan | 3<5 is waar
>= of GE | is groter dan of gelijk aan | 3>=5 is niet waar
<= of LE | is kleiner dan of gelijk aan | 3<=5 is waar
Logisch voorbeeld
AND | en (beide zijn waar) | a=b AND b=c
OR | of (één van de twee is waar) | a=b OR a=c
NOT | niet (is niet waar) | NOT (a=b AND b=c)
Overige: condition?true:false als <condition> is waar, wordt <true> uitgevoerd, anders <false> (plaats altijd haakjes rond <condition>, aangezien dit de laagste prioriteit heeft) Functies
abs(N) | Geeft de absolute waarde van N
acos(N) | Geeft de hoek (in radialen) waarvan N de cosinus is.
asc(S) | Geeft het totaal van de ASCII-waarden van de tekens in S, asc("ABC")=65+66+67=198
asin(N) | Geeft de hoek (in radialen) waarvan N de sinus is.
atan(N) | Geeft de hoek (in radialen) waarvan N de tangens is.
chr(N) | Geeft het teken waarvan N de ASCII-waarde is, chr(65)="A"
cos(N) | Geeft de cosinus voor hoek N (in radialen).
cosh(N) | Geeft de hyperbolische cosinus voor hoek N (in radialen).
date() | Geeft het huidige dagnummer.
date(J,M,D) | Geeft het dagnummer in de datum, uitgedrukt in D, M en J.
exp(N) | Geeft 2.718128.. tot de macht van N.
int(N) | Geeft een geheel getal voor N (naar beneden afgerond).
len(S) | Geeft het aantal tekens in S, len("ABC")=3.
log(N) | Geeft het natuurlijke logaritme van N.
log10(N) | Geeft het 10-logaritme van N.
max(N,M) | Geeft de grotere waarde van N of M.
min(N,M) | Geeft de kleinere waarde van N of M.
pos(S,T) | Geeft de eerste positie waar T voorkomt in S, pos("ABCDEFEF","EF")=5.
pow(N,M) | Geeft N tot de macht van M.
round(N,D,M) | Geeft de waarde van N afgerond op D decimalen. Als M=0 wordt N naar beneden afgerond, round(1.99,2,0)=1.00. Als M=1 wordt N normaal afgerond, round(1.49,2,1)=1.00 en round(1.50,2,1)=2.00. Als M=2 wordt N naar boven afgerond, round(1.01,2,2)=2.00.
rpos(S,T) | Geeft de laatste positie waar T voorkomt in S, rpos("ABCDEFEF,"EF")=7.
sin(N) | Geeft de sinus van hoek N (in radialen).
sinh(N) | Geeft de hyperbolische sinus van hoek N (in radialen).
sqrt(N) | Geeft de niet-negatieve vierkantswortel van N.
str(N) | Maakt een string aan van N, str(1.04)="1.04"
strip(S) | Geeft S zonder spaties.
tan(N) | Geeft de tangens van hoek N (in radialen).
tanh(N) | Geeft de hyperbolische tangens van hoek N (in radialen).
time() | Geeft de huidige tijd in formaat UUMM.
val(S) | Geeft de numerieke waarde van S, val("1.04")=1.04.
Evaluatie De omschrijving of naam die hoort bij de code. Opdracht De code van de toekenningsexpressie. Het resultaat van de expressie wordt weggeschreven naar het ASCII-bestand (uitgaande berichten), dat wordt bijgewerkt in LN (inkomende berichten). Bijvoorbeeld, indien u de Geplande leverdatum wilt instellen op een waarde twee dagen voor de Geplande ontvangstdatum, kunt u de volgende toekenningsexpressie toekennen aan het veld Geplande leverdatum: tdsls400.prdt - 2. NB Alle tabelvelden waarnaar wordt verwezen in een toekenningsexpressie, moeten worden verwerkt vóór het veld waaraan de toekenningsexpressie is toegewezen. Het veld waarnaar wordt verwezen in de toekenningsexpressie moet een lagere verwerkingsvolgorde hebben, zoals gedefinieerd in de conversievoorschriftdefinities. Bijvoorbeeld, in het voorgaande voorbeeld moet veld tdsls400.prdt een lagere verwerkingsvolgorde hebben dan veld tdsls400.ddat, zoals gedefinieerd in de conversievoorschriftdefinities. Conversietabel De conversietabel die wordt gebruikt om het veld te converteren. Actie indien conversietabel niet aanwezig De actie die moet worden uitgevoerd indien er een fout optreedt tijdens de conversie van uitgaande berichten. Een fout kan optreden omdat het veld niet aanwezig is in de conversietabel. NB De geselecteerde waarde moet worden ondersteund door de verwerkingssessies. Tekstsegmenten Het maximum aantal tekstsegmenten op een tekstveld. NB Teksten in een bericht hebben een speciale structuur die een gescheiden verwerking vereist, omdat elke tekst bestaat uit een aantal segmenten die elk zijn opgebouwd uit een aantal velden. Maximum aantal tekstvelden per tekstsegment Het maximum aantal velden in een tekstsegment. NB Teksten in een bericht hebben een speciale structuur die een gescheiden verwerking vereist, omdat elke tekst bestaat uit een aantal segmenten die elk zijn opgebouwd uit een aantal velden. Startpositie qualifier De startpositie van de eerste qualifier. Sommige codeconversies in ERP EDI vereisen een codesoort. Codesoorten zijn qualifiers (criteria) in codeconversies waarmee u de additionele gegevensspecificaties kunt converteren. Deze specificaties worden overgezet naar de eerste qualifier-positie van de conversievoorschriftdefinities. NB Indien het veld Veldtype in de sessie Netwerken (ecedi0120s000) is ingesteld op Vaste lengte, moet u de fysieke startpositie van het veld invoeren. Indien het veld Veldtype in de sessie Netwerken (ecedi0120s000) is ingesteld op Begrensd, moet u het veldnummer invoeren, beginnend met nummer 1. Lengte qualifier De fysieke lengte van de qualifier. NB Deze waarde kan alleen worden ingevoerd als het veldtype Vaste lengte is, zoals gedefinieerd in de sessie Parameters EDI (ecedi0100s000). Default qualifier De waarde die wordt gebruikt wanneer er geen qualifier wordt gebruikt in het bericht. NB Als u er voor kiest om de uitgaande artikelen te converteren met de tabel Artikelcodes per artikelcoderingssysteem, dan kan de waarde voor het veld Artikelcoderingssysteem hier worden ingevoerd. U kunt de tabel Artikelcodesoorten gebruiken om de waarde van deze qualifier te converteren naar de waarde die wordt gebruikt in het bericht. De waarde die hier wordt ingevoerd, kan worden overschreven door het veld Artikelcoderingssysteem in te vullen in de sessie Door relatie ondersteunde EDI-berichten (ecedi0111s000). Conversietabel De conversietabel die wordt gebruikt om de qualifier te converteren. Actie indien conversietabel niet aanwezig De actie die moet worden uitgevoerd indien er een fout optreedt tijdens de conversie van uitgaande berichten. Een fout kan optreden omdat de qualifier niet aanwezig is in de conversietabel. Veld De mapping-gegevens voor dit informatieve veld en het corresponderende gegevenselement in het EDI-bericht. Het informatieve veld wordt alleen gebruikt voor informatie en rapportage. Qualifier 1 De mapping-gegevens voor de eerste qualifier en het corresponderende gegevenselement in het EDI-bericht. Qualifier 2 De mapping-gegevens voor de tweede qualifier en het corresponderende gegevenselement in het EDI-bericht. |