B Structure of a Sample IDoc

Figure B-1 shows part of a sample IDoc. Display of line numbers was enabled in the text editor in which this IDoc was opened.

Figure B-1 Part of a Sample IDoc

Description of Figure B-1 follows
Description of "Figure B-1 Part of a Sample IDoc"

The following are some of the elements seen in this screenshot:

  • The first row in the IDoc is called the control record. It starts with the EDI_DC40 segment, and it contains information such as the message type (HRMD_A), idoc type (HRMD_A06), sender ID (CUA47), and receiver ID (OIMIDoc).

  • The first column lists the segments.

  • All other rows in the IDoc are called data records. Each of these records contains data from one segment.

  • In a single IDoc, there is one E2PLOGI segment row for each employee. This record is the header record for the employee, and it contains information such as the object type (for example, P denotes person) and object ID (personnel number).

  • The E2PITYP segment row after the E2PLOGI segment is the header record for an infotype. It contains information such as the infotype name, start date, and end date.

  • The E2Pxxxx segment row contains the actual data of the infotype specified by the preceding E2PITYP segment row. For example, the E2P0001 segment row contains data, such as the first name and last name, of the 0001 infotype. See Section 2.3.2, "Verifying Segment Details in Lookup Definitions" for information about the information held in segment names.

During full and incremental reconciliation, the parser used by the connector scheduled tasks reads data in the IDocs. The following sequence of steps describes how the parser reads an IDoc:

  1. The parser does not need use the EDI_DC40 segment (control record).

  2. The parser considers E2PLOGI as the root segment. This is defined as the value of the Root Segment entry in the Lookup.SAP.HRMS.Configuration lookup definition. The parser also uses some other entries in this lookup definition, such as Event Begin Date, Actions Event, and Event.

  3. When the parser reaches an E2LOGI segment, it performs one of the following steps:

    • The connector only processes records whose object type is P (person). If the object type specified in an E2LOGI segment row is not P, then the parser skips rows until it reaches the next E2LOGI segment row.

    • If the value of the delete indicator is D, then the parser considers as the record as a deleted record and it creates a delete reconciliation event. The delete indicator is specified as the value of the Delete Indicator entry in the Lookup.SAP.HRMS.Configuration lookup definition. The parser then skips rows until it reaches the next E2LOGI segment row.

    • For an E2PLOGI row in which the object type is P:

      1. The parser reads the User ID (Personnel number). This is from the E2PLOGI row.

      2. From the E2PITYP segment, the parser reads the event start date. This segment specifies whether the event is current dated or future dated.

      3. E2P0000 is the segment for the Action infotype (0000). This segment specifies whether the event is a hire, terminate, or lifecycle event. also gets employee group and employee sub group to compare with OIM employee type.

      4. When it reads segment records such as E2P0001, E2P0002, and E2P0003, the parser uses the Lookup.SAP.HRMS.AttributeMapping lookup definition to fetch attribute values from the rows.

      5. Using the data that it reads from the E2PLOGI block for a single employee, the parser creates a reconciliation event.