| # Definities conversievoorschriften (ecedi5111s000) Deze sessie kunt u gebruiken om de velden, volgorde en opties voor de conversie van inkomende 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). 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 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. Bestemming De bestemming van het veld in het inkomende bericht, zoals gedefinieerd in de sessie Conversievoorschriften (relaties) (ecedi5112m000). Veld De naam van het veld, bijvoorbeeld "tdsls400.ofbp". 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). 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 ERP 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. In een expressie kunnen de volgende operatoren gebruikt worden: 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.
Opdracht De code van de toekenningsexpressie. Het resultaat van de expressie wordt weggeschreven naar het ASCII-bestand (uitgaande berichten), dat wordt bijgewerkt in ERP 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 - 172800. NB Dagen moeten worden uitgedrukt in seconden omdat datums intern worden verwerkt als UTC-datums. 172800 staat dus voor twee dagen. 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. Converteren Indien dit selectievakje is ingeschakeld, wordt de relevante conversietabel gebruikt om het veld te converteren. Indien dit selectievakje is uitgeschakeld, komt de code overeen met de corresponderende code in ERP LN en hoeft niet geconverteerd te worden. NB Elk veld dat kan worden opgenomen in een inkomend bericht, kan worden geconverteerd. Indien dit selectievakje is uitgeschakeld, komt de code in het bericht overeen met de code in ERP LN en hoeft niet geconverteerd te worden. Actie bij fout in conversie De actie die moet worden uitgevoerd indien er een fout optreedt tijdens de conversie van inkomende berichten. NB De geselecteerde waarde moet worden ondersteund door de verwerkingssessies. Coderingstabel De code die u in het bericht wilt opnemen. Bijvoorbeeld, u wilt een code op een tekstveld invoeren. De tabel bevat code A en de omschrijving Toeslag. Het tekstveld toont "Omschrijving: toeslag". Als de code niet wordt gevonden, toont het tekstveld de code in plaats van de omschrijving. NB Het veld is alleen te bewerken als het record voor een tekstveld is. Veldomschrijving Indien het veld een tekstveld is, voert u de tekststring in die u wilt laten zien vóór de werkelijke veldinhoud in het tekstveld. Bijvoorbeeld, wanneer u Omschrijving invoert op dit veld en de inhoud van het veld is Dieselmotorklep, toont het tekstveld "Omschrijving: dieselmotorklep". Veldactie De wijze waarop inkomende berichtvelden worden verwerkt. Waarde bij leeg veld De waarde die wordt gebruikt om lege velden te vervangen in het EDI-bericht. 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 Netwerken (ecedi0520m000). Qualifier niet converteren De qualifier-waarde waarbij geen conversie wordt uitgevoerd. Bijvoorbeeld, stel dat de waarde SC is opgegeven. Als een bericht de waarde SC bevat, wordt er geen conversie uitgevoerd. Als het bericht een andere waarde bevat, wordt deze waarde wel geconverteerd. NB Als de leeswaarde gelijk is aan de qualifier-waarde wordt er geen conversietabel gebruikt. In dat geval wordt het leesbestand gebruikt. Deze situatie kan zich voordoen wanneer beide partijen EAN-artikelcodes gebruiken. Default qualifier De waarde die wordt gebruikt wanneer er geen qualifier is ontvangen in het bericht. 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. |