2021 Mar 22 10:48 AM
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