gv_name = 'GS_DATA-RBUSA'. " GV_NAME should be in UPPER CASE
SELECT zrbusa, zba_name, zrbusa_o, zba_name_o
LOOP AT lt_pc ASSIGNING FIELD-SYMBOL(<fs_pc>) WHERE zrbusa IS NOT INITIAL .""INTO DATA(LS_PC) WHERE ZRBUSA IS NOT INITIAL .
gs_value-key = <fs_pc>-zrbusa.
gs_value-text = <fs_pc>-zba_name.
APPEND gs_value TO gt_list.
gs_value-key = <fs_pc>-zrbusa_o.
gs_value-text = <fs_pc>-zba_name_o.
APPEND gs_value TO gt_list.
DELETE gt_list WHERE key IS INITIAL.
*---->Start of Change 4000023942 / TRDK916990 Jayakumar 24.04.2023
* IF gs_data-rbusa IS INITIAL.
IF gs_data-bukrs IS NOT INITIAL.
*<----End of Change 4000023942 / TRDK916990 Jayakumar 24.04.2023
SELECT zbukrs, zwaers, zrbusa, zrbusa_o, zorigin
INTO TABLE @DATA(lt_comp)
WHERE zbukrs NE @gc_bukrs.
IF gs_data-rfha IS INITIAL.
*{ added by ameya on 07.01.2021 to use assign instead of read.
ASSIGN lt_comp[ zbukrs = gs_data-bukrs zorigin = 'X' ] TO FIELD-SYMBOL(<fs_comp>).
IF gs_data-curr1 <> c_usd." Added by saurav on 17.08.2021 Scope 4000013164 to replace constant with string
DATA(ls_comp) = lt_comp[ zwaers = gs_data-curr1 ].
gs_data-rbusa = ls_comp-zrbusa_o.
CATCH cx_sy_itab_line_not_found.
ELSEIF gs_data-curr2 <> c_usd." Added by saurav on 17.08.2021 Scope 4000013164 to replace constant with string
ls_comp = lt_comp[ zwaers = gs_data-curr2 ].
gs_data-rbusa = ls_comp-zrbusa_o.
CATCH cx_sy_itab_line_not_found.
IF gs_data-curr1 <> c_usd." Added by saurav on 17.08.2021 Scope 4000013164 to replace constant with string
ls_comp = lt_comp[ zwaers = gs_data-curr1 ].
gs_data-rbusa = ls_comp-zrbusa.
CATCH cx_sy_itab_line_not_found.
ELSEIF gs_data-curr2 <> c_usd." Added by saurav on 17.08.2021 Scope 4000013164 to replace constant with string
ls_comp = lt_comp[ zwaers = gs_data-curr2 ].
gs_data-rbusa = ls_comp-zrbusa.
CATCH cx_sy_itab_line_not_found.