Event processing for unparsed IDocs
Unparsed IDocs are passed through, with no conversion of
the data (that is, the adapter does not parse the data part of the
IDoc). The direct exchange of IDocs in the adapter enables high-performance,
asynchronous interaction with SAP, because the parsing and serializing
of the IDoc occurs outside the adapter. The consumer of the IDoc parses
the IDoc.
The adapter processes the data based on whether the packet
IDoc is split or non-split and whether the data needs to be parsed.
Unparsed data format
In the fixed-width
format of an unparsed IDoc, the segment data of the IDoc is set in
the IDocData field of the business object. It is a byte array of fixed-length
data.
The entire segment length might not be used. The adapter
pads spaces to the fields that have data; the rest of the fields are
ignored, and an end of segment is set. The end of segment is denoted
by a null value.
The following figure shows a segment with
fields demarcated by the ‘|' symbol for reference.
Figure 1. Example of a segment before processing
When the adapter processes this segment into unparsed
data, it takes into account only those fields that have data in them.
It maintains the field width for each segment field. When it finds
the last field with data, it appends a null value to mark the end
of segment.
Figure 2. Example of a segment after
processing
The next segment data processed as unparsed data would
be appended after the null value.
Limitations
The unparsed event feature introduces
certain limitations on the enterprise application for a particular
IDoc type.
- The enterprise application supports either parsed or unparsed
business-object format for an IDoc type or message type.
- For an IDoc type, if you select unparsed business-object format
for inbound, you cannot have inbound and outbound interfaces in the
same EAR file, because outbound is based on parsed business objects.
- The DummyKey feature is not supported for unparsed
IDocs.