2023 Jan 24 1:01 PM
Hi,
I came across this snippet, but can't understand what is the usage of IEQ.
The wo_kunnr-low will be populated by the kunnr found in the select, but just after that there is my workarea wo_kunnr(3) = 'IEQ'.
From this I shoud get true or false based on what I find on internet, but IEQ which values is comparing in here?
TYPES: BEGIN OF ty_opt,
sign(1) TYPE c,
option(2) TYPE c,
low(50) TYPE c,
high(50) TYPE c,
END OF ty_opt.
DATA: s_kunnr TYPE STANDARD TABLE OF ty_opt,
s_pan TYPE STANDARD TABLE OF ty_opt,
s_card TYPE STANDARD TABLE OF ty_opt,
gt_cards TYPE STANDARD TABLE OF zecc_cards_kunnr,
wo_kunnr like line of s_kunnr.
clear wo_kunnr.
SELECT kunnr INTO wo_kunnr-low FROM ztable_kunnr WHERE
pan IN s_pan.
wo_kunnr(3) = 'IEQ'.
APPEND wo_kunnr to s_kunnr.
ENDSELECT.
SORT s_kunnr.
2023 Jan 24 1:36 PM
It is sign + option fields from the RANGE TABLE or SELECT-OPTION.
I = Include & EQ = equal.
https://help.sap.com/doc/abapdocu_753_index_htm/7.53/en-US/abaptypes_ranges.htm
https://help.sap.com/doc/abapdocu_753_index_htm/7.53/en-US/abapselect-options.htm
2023 Jan 24 1:36 PM
It is sign + option fields from the RANGE TABLE or SELECT-OPTION.
I = Include & EQ = equal.
https://help.sap.com/doc/abapdocu_753_index_htm/7.53/en-US/abaptypes_ranges.htm
https://help.sap.com/doc/abapdocu_753_index_htm/7.53/en-US/abapselect-options.htm
2023 Jan 24 1:45 PM
Hi Tomas,
So essencially is equal as:
wo_kunnr-sign = 'I'
wo_kunnr-option = 'EQ'
....
In this case wo_kunnr(3) = 'IEQ' is splitting since SIGN char1 anche OPTION char2
2023 Jan 24 2:28 PM
2023 Jan 25 7:32 PM
Gererally, any flat character-like structure, like the structure ty_opt here, is handled in the conversion like a single data object of the type character.
2023 Jan 24 7:18 PM
Better simplify the writing of TY_OPT (will be the same except that length of LOW and HIGH will be 10, but I think you don't need 50):
TYPES ty_opt TYPE RANGE OF ztable_kunnr-kunnr.
2023 Jan 25 11:38 AM
This is more efficient:
wo_kunnr = 'IEQ'.
SELECT kunnr INTO wo_kunnr-low FROM ztable_kunnr WHERE
pan IN s_pan.
APPEND wo_kunnr to s_kunnr.
ENDSELECT.
But even better is
CONSTANTS: c_i TYPE c LENGTH 1 VALUE 'I',
c_eq TYPE c LENGTH 2 VALUE 'EQ'.
SELECT @c_i AS sign, @c_eq AS option, kunnr AS low
INTO CORRESPONDING FIELDS OF TABLE s_kunnr
FROM ztable_kunnr
WHERE pan IN @s_pan.
2023 Jan 25 7:16 PM
If s_kunnr is later used to select data from sometable, than
SELECT * FROM sometable INTO TABLE @DATA(result) WHERE kunnr IN
( SELECT kunnr FROM ztable_kunnr WHERE pan IN @s_pan ).