Friday, February 03, 2006

De-referencing ARRAYS with no values on target .... A complete loop could be skipped in the output

Sometimes if ARRAYS are being de-referenced on the target and if the last ARRAY doesn't have a value, then that loop might not appear in the output.  To avoid the problem, always have another condition which will always work or another assignment where there is always a value.

Output file is not created in the appl directory if X12MsgInTestName has a path like b/TESTMAP

Output file is not created in the appl directory for Inbound translations if X12MsgInTestName (network filename in the inbound tab) has a path like b/TESTMAP.  Just TESTMAP is good enough because the sysappl path is automatically attached.
You will typically get error messages like these:

1      Executing: Copy from b/TESTMAP.SessionNo, to :appl\b/TESTMAP.SessionNo
163   EXEC Error On: otpack.exe b/TESTMAP.SessionNo archive\_b/TESTMAP.SessionNo

Don't rely on PRESENT(&SEGMENT) when using ABSENT rules for that segment

Don't rely on PRESENT(&SEGMENT) when using ABSENT rules. Even though you would think the segment is absent and PRESENT(&SEGMENT) would result in false, it will actually result in true because it executed the ABSENT rules. It may be a bug in the tool which I will report to GXS.

To extract the last x characters in a string or a number

Always use this principle to get the last x characters:

VAR->lastxcharacters = STRSUBS(VAR->lastxcharacters,x-1,STRLEN(VAR->lastxcharacters))

AI trying to read the source file again when trying to connect to the 2nd target.

AI tries to read the source file from where it left off when the 2nd target is called if the declaration in .att file is mentioned as S_MODEL and S_ACCESS instead of T_MODEL and T_ACCESS.

Various combinations of Numeric and Date formatting

Run
inittrans -at OTFmt.att -cs $OT_QUEUEID -tl 0 -I (on Unix)
otrun -at OTFmt.att -cs $OT_QUEUEID -tl 0 -I (On windows)

The output file "OTFmt.out" created in the home directory will have all the formats and respective outputs that one should expect for each kind of Date or Numeric formatting.

Map doesn't write all records if there is DM Item used outside its definition in Target

If a DM Item is used outside its definition in the Target, the map will not produce the output correctly.  This usually happens when you copy an existing DM items rules definition and forget to change the DM item name.

Delimiters are not created for the enveloping segments for outbound EDI documents

The Delimiters are not created for the enveloping segments for outbound EDI documents when OTSrcInit is used instead of OTTrgInit on the Target model.

Missing Header and trailer segments in an outbound document

If an outbound map component file is directly called instead of calling it through the OTEnvlop or ESEnvlop, then the output X12 document will come out without the header and trailer segments.