IDoc Reduced Segment Check

chrysler invoice 46370 o e1442487543248

IDoc Reduced Segment Check: SAP offers some standard functions to check if a Segment can be reduced for Specific message type and even check if the Segment’s field reduction is active.

How to IDoc Reduced Segment Check

Check IDoc Segment Active BAPI

Given a message type, some time is important to check if a specific segment is reduced.
Once the check passed, data can be retrieved for the segment and the segment can be generated.

The Standard SAP BAPI IDOC_REDUCTION_SEGMENT_TEST (ALE: IDoc-Reduction / Segment-Test)

The signature of the IDOC_REDUCTION_SEGMENT_TEST is:

  • IMPORTING
    • VALUE(MESSAGE_TYPE) LIKE EDIMSG-MESTYP
    • VALUE(SEGMENT_TYPE) LIKEEDI_IAPI02-SEGTYP
  • EXPORTING
    • VALUE(ACTIVE)

SAP IDoc Segment Table

Check Most important Idocs Tcodes and Idocs Tables

Actually, the IDOC_REDUCTION_SEGMENT_TEST will check for the ALE message type and segment name in SAP Table TBD24 (ALE: IDOC reduction flagged with positive logic ).

If an entry found, then the ACTIVE will be flagged.

Check IDoc Segment Active Sample ABAP

A sample ABAP snippet to check if a segment is active in an ALE Message Type can be as following:

  " Is Idoc segment active ?
  CALL FUNCTION 'IDOC_REDUCTION_SEGMENT_TEST'
    EXPORTING
      message_type = mestyp    " SAP IDOC Mesasge type 
      segment_type = 'E1RESBL' " IDoc's segment Name 
    IMPORTING
      active       = active_flag
    EXCEPTIONS
      OTHERS       = 1.
  
  IF sy-subrc = 0.
    " Retrieve Data 
    " Fill SAP IDoc Segment with Data
  ENDIF.

IDoc Field Reduction Active Check

IDoc Field Reduction BAPI Check

Once the check is done for IDoc’ segment, it is possible to process further check on SAP IDOC segment’s field.

For field level, use rather the SAP BAPI IDOC_REDUCTION_FIELD_REDUCE (ALE: IDoc-Reduction: Feldreduzierung ).

IDoc Field Reduction Sample ABAP Code

Check IDOC Segment Reduction Sample ABAP Code

  CALL FUNCTION 'IDOC_REDUCTION_FIELD_REDUCE'
    EXPORTING
      message_type = mestyp
      segment_type = 'E1PLAFL'
      segment_data = sdata_temp
      empty_symbol = '1'
    IMPORTING
      segment_data = sdata_temp.

Read about SAP Reduce IDoc and SAP Reduce Message Type at Reduced Message Types