KB Article #66745
Transfers from InterPel 7.2.2. Z/OS to InterPel 6.3.3 failing
-- Error receiving, reason="Invalid event in current state (PEL automaton)"
-- *NDL 999
Interpel Aborts file reception in middle of a transfer with an *NDL 999 (generic error) code
Resolution
* Unlike other protocols as PeSIT, the PEL protocol has no notion of pre-defined PDU lengths. Hence it "analyses" all data passing by, interpreting PEL protocol commands.
Example :
20100805 151404 100 PEL I TRACE Prot trace for: PGREM590 (3) req:Read len:3520 Prot:PEL <- R PGREM590 3
20100805 151404 100 PEL I TRACE Type: DATA - CMD: (data) - Xfer: 960 - Rang: 175 <- R PGREM590 3 <--- data (fine)
20100805 151415 100 PEL I TRACE Prot trace for: PGREM590 (3) req:Read len:3520 Prot:PEL <- R PGREM590 3
20100805 151415 100 PEL I TRACE Type: PROT - CMD: *OK - Xfer: 960 - Rang: 175 <- R PGREM590 3 <------ *OK
Read as a protocol Command, dumped packet follows :
20100805 151415 100 PEL I TRACE 0000 5CD6D25C F7F3F4F0 F15CE4E2 C10DD5F1 [*OK*73401*USA.N1] <- R PGREM590 3
20100805 151415 100 PEL I TRACE 0010 5CC2E35C D4D5C140 C1C3C3D6 E4D5E3E2 [*BT*MNA ACCOUNTS] <- R PGREM590 3
20100805 151415 100 PEL I TRACE 0020 40D7C1E8 C1C2D3C5 5CF9F25C E2C5C540 [ PAYABLE*92*SEE ] <- R PGREM590 3
The problem is the presence of the data : *OK*73401*USA etc etc
*OK is a PEL protocol command and is not expected here.
This can not be avoided, that is how the PEL protocol works (old protocol, many limitations compared to todays requirements)
Solutions :
- zip/compress the file before sending ---> in most cases, data like *OK, once compressed, will change into something else (though it is still not excluded that compressed data wouldn't contain any protocol commands by coincidece)
- use by preference the PeSIT protocol for instance (which doesn't have such impact, as blocks are defined and it isn't reading the data inside of the blocks for protocol commands)