‎2014 Jun 26 1:00 PM
Hello experts,
I am working on the program which is used to calculate renewal price of the equipments based on CPI. The renewal price is calculated at runtime and will be displayed on the ALV display. Further i have used custom button on the screen to START the update process which updated this calculated renewal price into the table. For this functionality i have used BAPI_EQUIPMENT_SAVEREPLICA. But it won't work out correctly, I have asked to one of my friend he asks me to link ct_data and ct_datax using field TA_GUID and have to use this field to link equnr (equipment number ) )between internal tables. He also asked me to create a guid for each loop that is used for all those tables. e.g. first equipment that ta_guid = 1. I don't understand how to achieve this If anybody have any idea regarding this issue please share it with me. Here is the code for the BAPI.
METHOD on_user_command.
DATA: l_fieldname TYPE lvc_fname,
r_str_return TYPE TABLE OF bapiret2.
* CLEAR: gs_tab, gt_tab.
* APPEND LINES OF gt_tab TO l_tab_equi.
l_str_equi-ta_guid = 1.
LOOP AT gt_tab INTO gs_tab.
l_str_equi-ta_guid = l_str_equi-ta_guid + 1.
MOVE gs_tab-equnr TO l_str_equi-EQUIPMENT_EXT.
MOVE gs_tab-eqktx TO l_str_equi-DESCRIPT.
MOVE gs_tab-invnr TO l_str_equi-INVENTORY.
MOVE gs_tab-ansdt TO l_str_equi-ACQDATE.
* MOVE gs_tab-answt TO l_str_equi-ACQUISVAL.
MOVE gs_tab-newwt TO l_str_equi-ACQUISVAL.
MOVE gs_tab-waers TO l_str_equi-CURRENCY.
APPEND l_str_equi TO l_tab_equi.
ENDLOOP.
* l_str_equix-EQUIPMENT_EXT = 'X'.
* l_str_equix-DESCRIPT = 'X'.
* l_str_equix-INVENTORY = 'X'.
* l_str_equix-ACQDATE = 'X'.
l_str_equix-ACQUISVAL = 'X'.
* l_str_equix-CURRENCY = 'X'.
APPEND l_str_equix TO l_tab_equix.
CASE e_salv_function.
WHEN 'PROCESS'.
CALL FUNCTION 'BAPI_EQUIPMENT_SAVEREPLICA'
TABLES
ct_data = l_tab_equi
ct_datax = l_tab_equix
it_descript = l_tab_descp
it_longtext = l_tab_ltext
return = r_str_return.
ENDCASE.
Thanks,
Avadhut
ENDMETHOD. "on_function_selected
‎2014 Jun 26 1:38 PM
Hi Avadhut,
Pass equnr to ta_guid & try as shown in Line 02.
LOOP AT gt_tab INTO gs_tab.
MOVE gs_tab-equnr TO l_str_equi-TA_GUID.
MOVE gs_tab-equnr TO l_str_equi-EQUIPMENT_INT.
MOVE gs_tab-eqktx TO l_str_equi-DESCRIPT.
MOVE gs_tab-invnr TO l_str_equi-INVENTORY.
MOVE gs_tab-ansdt TO l_str_equi-ACQDATE.
MOVE gs_tab-answt TO l_str_equi-ACQUISVAL.
* MOVE gs_tab-newwt TO l_str_equi-ACQUISVAL.
MOVE gs_tab-waers TO l_str_equi-CURRENCY.
APPEND l_str_equi TO l_tab_equi.
ENDLOOP.
Thanks,
Sharath
‎2014 Jun 26 1:38 PM
Hi Avadhut,
Pass equnr to ta_guid & try as shown in Line 02.
LOOP AT gt_tab INTO gs_tab.
MOVE gs_tab-equnr TO l_str_equi-TA_GUID.
MOVE gs_tab-equnr TO l_str_equi-EQUIPMENT_INT.
MOVE gs_tab-eqktx TO l_str_equi-DESCRIPT.
MOVE gs_tab-invnr TO l_str_equi-INVENTORY.
MOVE gs_tab-ansdt TO l_str_equi-ACQDATE.
MOVE gs_tab-answt TO l_str_equi-ACQUISVAL.
* MOVE gs_tab-newwt TO l_str_equi-ACQUISVAL.
MOVE gs_tab-waers TO l_str_equi-CURRENCY.
APPEND l_str_equi TO l_tab_equi.
ENDLOOP.
Thanks,
Sharath