First code with two select statement
CLEAR v_rule.
SELECT SINGLE zzparm1 "rule
FROM ZDBBASE
INTO v_rule
WHERE zzincn EQ c_zzincn
AND zzvar EQ c_r
AND bukrs EQ 'GB01'
AND zzxkey1 EQ '7'.
IF sy-subrc EQ 0 AND v_rule IS NOT INITIAL.
* Retrival of all the sequence number according to rule retrive above
REFRESH i_sequence_no.
SELECT zzxkey1 "rule
zzxkey2 "sequence number
zzxkey3 "Relevant field
zzparm1 "length specify during search
FROM ZDBBASE
INTO TABLE i_sequence_no
WHERE zzincn EQ c_zzincn
AND ZZVAR EQ c_s
AND zzxkey1 EQ v_rule .
ENDIF.
Or second code with one select but with a read and a loop
r_rule_line-sign = 'I'.
r_rule_line-option = 'EQ'.
r_rule_line-low = 'S'.
APPEND r_rule_line TO r_rule.
r_rule_line-sign = 'I'.
r_rule_line-option = 'EQ'.
r_rule_line-low = 'R'.
APPEND r_rule_line TO r_rule.
SELECT zzvar bukrs zzxkey1
zzxkey2 zzxkey3 zzparm1
FROM ZDBBASE
INTO TABLE i_rule
WHERE zzincn EQ c_zzincn
AND zzvar IN r_rule.
READ TABLE i_rule INTO wa_rule WITH KEY zzvar = c_r
bukrs = 'GB01'
zzxkey1 = '7'.
IF sy-subrc EQ 0.
LOOP AT i_rule INTO wa_rule2 WHERE zzvar EQ c_s
AND zzxkey1 EQ wa_rule-zzparm1 .
MOVE-CORRESPONDING wa_rule2 TO wa_sequence_no.
APPEND wa_sequence_no TO i_sequence_no.
ENDLOOP.
ENDIF.