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:
- VALUE(MESSAGE_TYPE) LIKE EDIMSG-MESTYP
- VALUE(SEGMENT_TYPE) LIKEEDI_IAPI02-SEGTYP
SAP IDoc Segment Table
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'
message_type = mestyp " SAP IDOC Mesasge type
segment_type = 'E1RESBL' " IDoc's segment Name
active = active_flag
OTHERS = 1.
IF sy-subrc = 0.
" Retrieve Data
" Fill SAP IDoc Segment with Data
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'
message_type = mestyp
segment_type = 'E1PLAFL'
segment_data = sdata_temp
empty_symbol = '1'
segment_data = sdata_temp.
Read about SAP Reduce IDoc and SAP Reduce Message Type at Reduced Message Types