Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

VC_I_GET_CONFIGURATION creates issue in loop

Subbaka11
Participant
0 Likes
1,250

Hello Team,

I am using VC_I_GET_CONFIGURATION to get material characteristics based ob CUOBJ values.

This function module gives proper values, but I am passing this in Loop... If My loop contains more than 25000 records it creates performance issue .

Do we have any alternative for this function module?

form f_mat_config using lt_cuobj type tt_cuobj
changing lt_configuration type tt_conf_out_it.

data: lt_config type standard table of conf_out,
wa_configuration type ty_conf_out,
wa_config type conf_out.

loop at lt_cuobj into data(wa_cuobj) .
if wa_cuobj-cuobj is not initial .
refresh lt_config[].
call function 'VC_I_GET_CONFIGURATION'
exporting
instance = wa_cuobj-cuobj
tables
configuration = lt_config[]
exceptions
instance_not_found = 1
internal_error = 2
no_class_allocation = 3
instance_not_valid = 4
others = 5.
sort: lt_config[] by atinn .
if lt_config[] is not initial.
read table lt_config[] into wa_config with key atinn = gc_1050 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj .
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_1054 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj .
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_11478 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj .
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_953 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj.
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_903 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj.
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_823 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj.
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_10514 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj.
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_999 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj.
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration .
clear wa_configuration.
endif .
endif.
endif .
endloop.
if lt_configuration is not initial.
sort lt_configuration by cuobj atinn.
endif.
endform.

Please suggest Thank you

Hello Team,

I am using VC_I_GET_CONFIGURATION to get material characteristics based ob CUOBJ values.

This function module gives proper values, but I am passing this in Loop... If My loop contains more than 25000 records it creates performance issue .

Do we have any alternative for this function module?

form f_mat_config using lt_cuobj type tt_cuobj
changing lt_configuration type tt_conf_out_it.

data: lt_config type standard table of conf_out,
wa_configuration type ty_conf_out,
wa_config type conf_out.

loop at lt_cuobj into data(wa_cuobj) .
if wa_cuobj-cuobj is not initial .
refresh lt_config[].
call function 'VC_I_GET_CONFIGURATION'
exporting
instance = wa_cuobj-cuobj
tables
configuration = lt_config[]
exceptions
instance_not_found = 1
internal_error = 2
no_class_allocation = 3
instance_not_valid = 4
others = 5.
sort: lt_config[] by atinn .
if lt_config[] is not initial.
read table lt_config[] into wa_config with key atinn = gc_1050 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj .
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_1054 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj .
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_11478 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj .
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_953 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj.
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_903 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj.
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_823 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj.
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_10514 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj.
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration.
clear wa_configuration.
endif .

read table lt_config[] into wa_config with key atinn = gc_999 binary search.
if sy-subrc = 0.
wa_configuration-cuobj = wa_cuobj-cuobj.
wa_configuration-atinn = wa_config-atinn.
wa_configuration-atwrt = wa_config-atwrt.
append wa_configuration to lt_configuration .
clear wa_configuration.
endif .
endif.
endif .
endloop.
if lt_configuration is not initial.
sort lt_configuration by cuobj atinn.
endif.
endform.

Please suggest Thank you

0 REPLIES 0