GXS AI: how to process slash in XML data

If you are working with XML in GXS AI and your data contains a slash (like <Date>2016/01/08</Date>), you might face a situation when your map cannot process it, since slash is a special symbol.

Since this question is raised from time to time, I decided to write a short post about it. There are 2 ways (we are speaking about the map development, not about the map working in the production system):

1. you can change your data manually and add a release character in front of your slashes in the data
2. you can run otxmlcanon.exe pre-processor which would “fix” your XML file and do the same as it described in #1

otxmlcanon.exe -r \ _in.xml

Then, in your source model you should add release character:

SET_RELEASE(92) ; \ – this one is important

Gennady Kim

Typical X12/EDIFACT/SAP IDoc mapping: Delivery Terms

Delivery Terms – FOB in X12, TOD + LOC(s) in EDIFACT and E1EDK17 in ORDERS05 IDoc






Entity X12 (4010) EDIFACT (D96A) SAP IDoc (ORDERS05)
Delivery Terms FOB group TOD segment E1EDK17 records
  Delivery Terms Code (INCO) FOB-05 (335), Transportation Terms Code TOD-03C01 (4053), Terms of delivery or transport, coded E1EDK17 / LKOND, Delivery condition code. E1EDK17 / QUALF = 001 (Incoterms part 1)
  Location Type FOB-06 (309) Location Qualifier
DL = Delivery Location
LOC-01 (3227), Place/location qualifier
1 = Delivery
28 = Destination Country
  Location FOB-07 (352) Description LOC-02C01 (3225), Place/location identification E1EDK17 / LKTEXT, Delivery condition code. E1EDK17 / QUALF = 002 (Incoterms part 2)

Some INCO Terms:
CFR = Cost and Freight
CIF = Cost, Insurance, and Freight
CIP = Carriage and Insurance Paid To
COL = Buyer pays
CPT = Carriage Paid To
CPU = Pickup
DAF = Delivered at Frontier
DAP = Delivered at place
DAT = Delivered at Terminal
DDP = Delivered Duty Paid
DDU = Deliver Duty Unpaid
DEQ = Delivered Ex Quay
DES = Delivered Ex Ship
EXW = Ex Works
FAS = Free Alongside Ship
FCA = Free Carrier
FOB = Free on Board
PPA = Seller prepays
PPD = Prepaid and delivered

Gennady Kim

GXS AI: How to debug maps

I believe every GXS AI map developer knows how hard it might be to debug maps. I’m using SEND_SMSG function when I need to debug a piece of code

First of all, I’m using .bat files to run my maps

otrun -at %MAP_NAME%S.att -cs %OT_QUEUEID% -DLOCALE="English_UnitedStates.Latin1@Binary" -DINPUT_FILE=%BASE_PATH%__in.txt -DOUTPUT_FILE=%BASE_PATH%__out.txt -tl 1023 -lg _log.txt -I

this key “-lg _log.txt” tells the translator to use _log.txt for the translation session output. So, every time I’m using SEND_SMSG it writes it’s 1+ params into _log.txt. For example:

SEND_SMSG(1, STRCAT("GID_21_BALQTE_BSD_02_02_2002: ", VAR->GID_21_BALQTE_BSD_02_02_2002_T))

And in _log.txt:

Session [003407] Started: at: Sat Jul 25 09:03:04 2012
--GID_21_BALQTE_BSD_02_02_2002: AAA
--GID_21_BALQTE_BSD_02_02_2002: BBB
Session [003407] ended: err: 0 at: Sat Jul 25 09:03:04 2012

…As always, just an idea 🙂

Gennady Kim

Notepad++ and GXS AI models

As you probably know, often GXS AI developer use 3rd party editors when working with the models (instead of Workbench). My colleagues use Notepad++ with a “plugin” (User Defined Language) developed by Igor Nechaev:

notepad plus gxs ai

it highlights used constructions, allows to to collapse/expand blocks of code, helps you to comment/uncomment blocks of code and so on.

Here is the code of this “plugin” (User Defined Language):
Continue reading