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.
  • The adapter can process packet IDocs as a packet or as individual IDocs. When an IDoc is received by the adapter from SAP as a packet IDoc, it is either split and processed as individual IDocs, or it is processed as a packet. The value of the SplitIDocPacket metadata at the business-object level determines how the IDoc is processed.

    For split IDocs, the wrapper contains only a single, unparsed IDoc object.

  • The Type metadata specifies whether the data should be parsed. For unparsed IDocs, this value is UNPARSEDIDOC; for parsed IDocs, the value is IDOC. This value is set by the Adapter Connection wizard.

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
An illustration of an unparsed segment, showing a number of empty fields at the end of the segment.
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
An illustration of the unparsed segment after processing, in which the empty fields at the end of the segment are replaced with a null value.

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.