BAPI_WARRANTYCLAIM_CHANGE2
Hello,
I am having trouble updating a warranty claim with the BAPI BAPI_WARRANTYCLAIM_CHANGE2. Lack of documentation doesn't help either.
I can modify any field on the header of the Warranty Claim but I can never update an item or the version data.
I believe that the key is to fill in the correct handle but, I haven't been able to get it right.
Any help would be appreciated. Thank you.
Hi!
I don't know either function modules - I just wanted to know, how you fill the table parameters of BAPI_WARRANTYCLAIM_CHANGE2. Maybe your version or position numbering is not the way, SAP (/the Bapi) is expecting.
My idea was: If you get the read function module working, you can use the results for filling the change function.
But now I head a look into the source code. This must be one of the fastest function modules ever. IT IS COMPLETELY EMPTY! Sorry.
Also Business object BUS2222 still refers to BAPI_WARRANTYCLAIM_CHANGE. In documentation of this FM BAPI_WARRANTYCLAIM_CHANGE2 is mentioned - looks a little bit like 'under construction' to me.
Maybe you give the 'old' BAPI_WARRANTYCLAIM_CHANGE a try - if this works, then an OSS-request for help is OK, because the new function has still errors.
Regards,
Christian
Similar Messages
-
How to use BAPI_WARRANTYCLAIM_CHANGE2 function module
i am unable to pass values to table parameter.
for above i have used WTY12_CLAIM_READ function module and i have give only cliam number as input and tried retriving other parameters(tables)
from these i passed same table parameters to BAPI_WARRANTYCLAIM_CHANGE2 function module but unable to run it in se37.
please just me any logic or solution to this.
i am getting repeated error as :
1)item types
2)pricing
3)partner
if any one can send me a sample code to how to use these bapi .
thanks,
lokeshHi Lokesh,
I believe you are using the FM WTY12_CLAIM_READ_RFC to retrieve the claims related information by just passing Claim Number, and you are not getting any data back from the function module in the table parameters and you won't get any values as well, as there is no code in that function module.
Thanks,
Mahesh. -
BAPI_WARRANTYCLAIM_ADD_VERSION
i wolud like to know how to use this bapi to change decision code.
example: old decision code = 10
new decision code = 92
for this how to use this bapi and also which are other mandatory fields that i need to pass
sample code which clears my above doubthi,
Check this code...
FUNCTION z_wy_sv_bapi_crt_chg_claim .
""Local Interface:
*" IMPORTING
*" VALUE(I_CLAIM_HEADER) TYPE ZWY_SV_CLAIMHEADER
*" VALUE(I_WTY_INTERNAL_ORDER) TYPE BAPI2075_7
*" EXPORTING
*" VALUE(E_CLAIM) TYPE ZWY_SV_CLAIMHEADER-CLAIM
*" VALUE(E_CLAIM_TMP_IDENT) TYPE
*" ZWY_SV_CLAIMHEADER-CLAIM_TMP_IDENT
*" TABLES
*" T_CLAIM_VERSION STRUCTURE BAPI2222VERSION OPTIONAL
*" T_CLAIM_ITEM STRUCTURE BAPI2222ITEM OPTIONAL
*" T_CLAIM_ITEM_LABOUR STRUCTURE ZWY_SV_CLAIMLABITEM OPTIONAL
*" T_CLAIM_TEXT STRUCTURE BAPI2222LONGTEXT OPTIONAL
*" T_CLAIM_MEASURE STRUCTURE BAPI2222MEASURE OPTIONAL
*" T_CLAIM_PRICING STRUCTURE BAPI2222PRICING OPTIONAL
*" T_VERSION_REL STRUCTURE BAPI2222VERSIONRELATION OPTIONAL
*" T_ITEM_REL STRUCTURE BAPI2222ITEMRELATION OPTIONAL
*" T_RETURN2 STRUCTURE BAPIRET2
*" T_EXTENSIONIN STRUCTURE BAPIPAREX OPTIONAL
*" T_CLAIM_PARTNER STRUCTURE BAPI2222PARTNER OPTIONAL
*" T_WTY_RCLOBJ STRUCTURE WTY_RCLOBJ OPTIONAL
*" T_SRULES STRUCTURE BAPI2075_6 OPTIONAL
Internal tables
DATA : it_pnguid TYPE wty_pnguid_tab,
it_rclobj TYPE STANDARD TABLE OF wty_rclobj.
Begin of insert By MC41070, SM: 1009317, Date: 03/14/2008
Internal table declaration
DATA:
lt_claim_version TYPE STANDARD TABLE OF bapi2222version,
lt_claim_item TYPE STANDARD TABLE OF bapi2222item,
lt_claim_version_chg TYPE STANDARD TABLE OF bapi2222versionchange,
lt_claim_item_chg TYPE STANDARD TABLE OF bapi2222itemchange.
Structure declaration
DATA
ls_claim_header TYPE bapi2222headerchange.
Variable declaration
DATA
l_msgno TYPE bapiret2-number.
End of insert By MC41070, SM: 1009317, Date: 03/14/2008
Refreshing internal tables
REFRESH : it_pnguid,
it_rclobj.
Pefrom to clear all variables
PERFORM clear_variables.
Perform for Maintaing Claim Header Z* fields
PERFORM maintain_claimheader TABLES t_extensionin
USING i_claim_header
CHANGING wa_extension.
Begin of delete By MC41070, SM: 1009317, Date: 03/14/2008
MODIFY claim_header SAP Fields
wa_claim_header1-handle = c_0000000001.
wa_claim_header1-claim_type = i_claim_header-claim_type.
wa_claim_header1-ext_no = i_claim_header-ext_no.
wa_claim_header1-servdate = i_claim_header-servdate.
wa_claim_header1-descriptn = i_claim_header-descriptn.
wa_claim_header1-recall_date = i_claim_header-recall_date.
wa_claim_header1-pro_state = i_claim_header-pro_state.
Moving labour item data to claim item data.
LOOP AT t_claim_item_labour INTO wa_claim_item_lab.
MOVE wa_claim_item_lab TO wa_claim_item.
APPEND wa_claim_item TO t_claim_item.
ENDLOOP.
MODIFY claim_version
wa_claim_version-handle = c_0000000001.
wa_claim_version-category = 'IC'.
APPEND wa_claim_version TO t_claim_version.
Moving version item data to claim item data.
CLEAR wa_claim_item.
LOOP AT t_claim_item INTO wa_claim_item.
wa_claim_item-handle = c_0000000001.
wa_claim_item-handle_version = c_0000000001.
MODIFY t_claim_item FROM wa_claim_item INDEX sy-tabix.
ENDLOOP.
End of delete By MC41070, SM: 1009317, Date: 03/14/2008
REFRESH t_return2.
Begin of insert By MC41070, SM: 1009317, Date: 03/14/2008
CLEAR e_claim.
Select qery to check existence of claim number to create or
change claim data
SELECT SINGLE clmno
FROM pnwtyh
INTO e_claim
WHERE refno EQ i_claim_header-ext_no
AND zz_prefix_no EQ i_claim_header-zzprefix_no.
IF sy-subrc NE 0.
CLEAR wa_claim_header1.
Modify claim_header SAP Fields
wa_claim_header1-handle = c_0000000001.
wa_claim_header1-claim_type = i_claim_header-claim_type.
wa_claim_header1-ext_no = i_claim_header-ext_no.
wa_claim_header1-servdate = i_claim_header-servdate.
wa_claim_header1-descriptn = i_claim_header-descriptn.
wa_claim_header1-recall_date = i_claim_header-recall_date.
wa_claim_header1-pro_state = i_claim_header-pro_state.
Append claim_version
wa_claim_version-handle = c_0000000002.
wa_claim_version-category = 'IC'.
wa_claim_version-version = '001'.
wa_claim_version-active = 'X'.
APPEND wa_claim_version TO t_claim_version.
CLEAR wa_claim_version.
gv_handle = '0000000003'.
Moving Part item data to claim item data.
CLEAR wa_claim_item.
LOOP AT t_claim_item INTO wa_claim_item.
wa_claim_item-handle = gv_handle.
wa_claim_item-handle_version = c_0000000002.
MODIFY t_claim_item FROM wa_claim_item INDEX sy-tabix.
gv_handle = gv_handle + 1.
ENDLOOP. " LOOP AT t_claim_item INTO...
Moving labour item data to claim item data.
LOOP AT t_claim_item_labour INTO wa_claim_item_lab.
MOVE wa_claim_item_lab TO wa_claim_item.
wa_claim_item-handle = gv_handle.
wa_claim_item-handle_version = c_0000000002.
APPEND wa_claim_item TO t_claim_item.
gv_handle = gv_handle + 1.
ENDLOOP. " LOOP AT t_claim_item_labour...
End of insert By MC41070, SM: 1009317, Date: 03/14/2008
Calling function module for warrantyclaim create
CALL FUNCTION 'BAPI_WARRANTYCLAIM_CREATE'
EXPORTING
claim_header = wa_claim_header1
simulate = ' '
IMPORTING
claim = e_claim
claim_tmp_ident = e_claim_tmp_ident
TABLES
claim_version = t_claim_version
claim_item = t_claim_item
claim_text = t_claim_text
claim_measure = t_claim_measure
claim_pricing = t_claim_pricing
version_rel = t_version_rel
item_rel = t_item_rel
return2 = t_return2
extensionin = t_extensionin
claim_partner = t_claim_partner.
Begin of insert By MC41070, SM: 1009317, Date: 03/14/2008
l_msgno = '806'.
sy-msgno = '806'.
sy-msgv2 = e_claim.
ELSE.
CLEAR e_claim.
Select qery to check existence of claim number to create or
change claim data
SELECT SINGLE clmno
FROM pnwtyh
INTO e_claim
WHERE refno EQ i_claim_header-ext_no
AND ( astate NE 'ZPST'
AND astate NE 'ZPTE' )
AND zz_prefix_no EQ i_claim_header-zzprefix_no.
IF sy-subrc EQ 0.
Function module to read claim data
CALL FUNCTION 'WTY12_CLAIM_READ'
EXPORTING
claim = e_claim
TABLES
claim_version = lt_claim_version
claim_item = lt_claim_item.
Modify claim_header SAP Fields
ls_claim_header-handle = c_0000000001.
ls_claim_header-ext_no = i_claim_header-ext_no.
ls_claim_header-servdate = i_claim_header-servdate.
ls_claim_header-descriptn = i_claim_header-descriptn.
ls_claim_header-recall_date = i_claim_header-recall_date.
ls_claim_header-pro_state = i_claim_header-pro_state.
CLEAR wa_claim_version.
Reading ciam version data
READ TABLE lt_claim_version INTO wa_claim_version INDEX 1.
IF sy-subrc EQ 0.
Perform to fill with version data to modify
PERFORM fill_version_change TABLES lt_claim_version_chg.
ENDIF. " IF sy-subrc EQ 0
CLEAR wa_claim_item.
Loop for existing claim item data to delete
LOOP AT lt_claim_item INTO wa_claim_item.
wa_claim_item-handle_version = c_0000000002.
Perform to fill with item data to delete
PERFORM fill_item_change TABLES lt_claim_item_chg
USING 'X'.
ENDLOOP. " LOOP AT lt_claim_item INTO wa_.....
gv_handle = '0000000003'.
Moving Part item data to claim item data for creating.
CLEAR wa_claim_item.
LOOP AT t_claim_item INTO wa_claim_item.
wa_claim_item-handle = gv_handle.
wa_claim_item-handle_version = c_0000000002.
Perform to fill with item data to create
PERFORM fill_item_change TABLES lt_claim_item_chg
USING space.
gv_handle = gv_handle + 1.
ENDLOOP. " LOOP AT t_claim_item INTO wa_.....
Moving labour item data to claim item data for creating.
LOOP AT t_claim_item_labour INTO wa_claim_item_lab.
MOVE wa_claim_item_lab TO wa_claim_item.
wa_claim_item-handle = gv_handle.
wa_claim_item-handle_version = c_0000000002.
Perform to fill with item data to create
PERFORM fill_item_change TABLES lt_claim_item_chg
USING space.
gv_handle = gv_handle + 1.
ENDLOOP. " LOOP AT t_claim_item_labour....
Calling function module for warrantyclaim change
CALL FUNCTION 'BAPI_WARRANTYCLAIM_CHANGE2'
EXPORTING
claim = e_claim
claim_header = ls_claim_header
badi_change = 'X'
TABLES
claim_version = lt_claim_version_chg
claim_item = lt_claim_item_chg
claim_text = t_claim_text
claim_measure = t_claim_measure
claim_pricing = t_claim_pricing
version_rel = t_version_rel
item_rel = t_item_rel
return = t_return2
extensionin = t_extensionin.
l_msgno = '102'.
sy-msgno = '102'.
sy-msgv1 = e_claim.
ENDIF. " IF sy-subrc EQ 0
ENDIF. " IF sy-subrc NE 0
End of insert By MC41070, SM: 1009317, Date: 03/14/2008
Delete Warnning messages form t_return2.
DELETE t_return2 WHERE type = 'W'. " AND Changed By MC41070, SM: 1009317
Begin of insert By MC41070, SM: 1009317, Date: 03/14/2008
id = 'WTY' AND
number = '0001'.
End of insert By MC41070, SM: 1009317, Date: 03/14/2008
Begin of insert By MC41070, SM: 1009317, Date: 03/14/2008
CHECK NOT e_claim IS INITIAL.
End of insert By MC41070, SM: 1009317, Date: 03/14/2008
Calling function module for transaction commit
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = wa_ret1.
IF wa_ret1-type NE 'E'.
Get the GUID of created claim from the BAPI from the table PNWTYH
SELECT SINGLE pnguid FROM pnwtyh INTO g_pnguid WHERE clmno = e_claim.
APPEND g_pnguid TO it_pnguid.
it_rclobj[] = t_wty_rclobj[].
LOOP AT it_rclobj INTO wa_rclobj.
g_id = g_id + 1.
wa_rclobj-pnguid_rcl = g_pnguid.
wa_rclobj-id = g_id.
MODIFY it_rclobj FROM wa_rclobj INDEX sy-tabix.
ENDLOOP.
Call the FM PVSDBWTY_RCLOBJ_SAVE to save the recall objects to the claim
CALL FUNCTION 'PVSDBWTY_RCLOBJ_SAVE'
EXPORTING
it_pnguid = it_pnguid
it_wty_rclobj = it_rclobj.
IF i_claim_header-pro_state NE 'ZPNE' OR i_claim_header-pro_state NE 'ZPRP'.
IF it_zwysvbrmast[] IS INITIAL.
Fetching data from Branch Master table
SELECT *
FROM zwy_svbrmast
INTO TABLE it_zwysvbrmast
WHERE branch NE '00'.
ENDIF. " IF sy-subrc EQ 0
LOOP AT it_zwysvbrmast INTO wa_zwysvbrmast.
Filling PIP branch data
MOVE:
e_claim TO wa_zwysvpipbranch-clmno,
wa_zwysvbrmast-branch TO wa_zwysvpipbranch-branch,
sy-datum TO wa_zwysvpipbranch-reldate.
APPEND wa_zwysvpipbranch TO it_zwysvpipbranch.
ENDLOOP. " LOOP AT it_zwysvbrmast_sel INTO wa_zwysvbrmast
Check for claim number and branch pip data not initial
IF NOT it_zwysvpipbranch[] IS INITIAL AND NOT wa_zwysvpipbranch-clmno IS INITIAL.
Begin of insert By MC41070, SM: 1009317, Date: 03/14/2008
DELETE FROM zwy_svpipbranch WHERE clmno EQ e_claim.
End of insert By MC41070, SM: 1009317, Date: 03/14/2008
MODIFY zwy_svpipbranch FROM TABLE it_zwysvpipbranch.
ENDIF.
Handling IDOC Messages .
REFRESH t_return2.
CLEAR wa_return.
Begin of delete By MC41070, SM: 1009317, Date: 03/14/2008
sy-msgv2 = e_claim.
End of delete By MC41070, SM: 1009317, Date: 03/14/2008
Perform to set return structure
PERFORM bapireturn_fill_1 USING sy-msgid
sy-msgno
sy-msgv1
sy-msgv2
sy-msgv3
sy-msgv4
CHANGING wa_return.
t_return2-type = 'S'.
t_return2-id = 'WTY'.
t_return2-number = l_msgno. " '806'. Changed By MC41070, SM: 1009317
t_return2-message = wa_return-message.
t_return2-message_v1 = sy-msgv1. " wa_return-message_v1. Changed By MC41070, SM: 1009317
Begin of insert By MC41070, SM: 1009317, Date: 03/14/2008
t_return2-message_v2 = sy-msgv2.
End of insert By MC41070, SM: 1009317, Date: 03/14/2008
APPEND t_return2.
ENDIF. "IF sy-subrc NE 0.
ENDIF.
ENDFUNCTION.
FORM maintain_claimheader TABLES p_t_extensionin STRUCTURE bapiparex
USING p_i_claim_header TYPE zwy_sv_claimheader
CHANGING p_wa_extension TYPE bapiparex.
Maintain claim_header Z* fields.
SM 1005027/1005028 - Begin PU00164
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_EXP_DT'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_exp_dt_na.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_EXP_DT_RII'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_exp_dt_rii.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_EXP_DT_RI'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_exp_dt_ri.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_TER_DT'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_ter_dt_na.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_TER_DT_RII'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_ter_dt_rii.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_TER_DT_RI'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_ter_dt_ri.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
SM 1005027/1005028 - End PU00164
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_TKD_IND'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_tkd_ind.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_PRTCPNT'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_prtcpnt.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_INC_MT_IND'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_inc_mt_ind.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_TRVL_IND'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_trvl_ind.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZPIP_TYPE'.
p_wa_extension-valuepart2 = p_i_claim_header-zzpip_type.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
Begin of insert By MC41070, SM: 1009317, Date: 03/14/2008
p_wa_extension-structure = c_wty_pnwtyh_cust.
p_wa_extension-valuepart1 = 'ZZ_PREFIX_NO'.
p_wa_extension-valuepart2 = p_i_claim_header-zzprefix_no.
p_wa_extension-valuepart3 = c_0000000001.
APPEND p_wa_extension TO p_t_extensionin.
End of insert By MC41070, SM: 1009317, Date: 03/14/2008
ENDFORM. " maintain_claimheader
Maybe you are looking for
-
Alternative to using dynamic variable / NOW () in Content FILTER
Good morning all, Could someone suggest an alternative to using NOW () in the WHERE clause of LTS? Using ExpirationDate>NOW() works, but unfortunately, this request can't be cached (because reports using dynamic statements using NOW () and TODATE ()
-
Is there anyway to turn off the Group MMS texting? I want to send a mass text but don't want every person to see every other person's response. I am getting ready to have a baby and want to send one text out to friends and family when the baby comes
-
I will pay for who can help me with this applet
Hi!, sorry for my english, im spanish. I have a big problem with an applet: I�ve make an applet that sends files to a FTP Server with a progress bar. Its works fine on my IDE (JBuilder 9), but when I load into Internet Explorer (signed applet) it cra
-
I have a macbook pro and I am trying to connect to my Panasonic VIESA tv with the Display port and HDMI cable but I only get a black screen
-
How do I turn off the hover-to-select in the organize bookmarks window?
I want to turn off the "hover to select" mechanism in the "organize bookmarks" window (or dramatically increase the time until the selection happens). When I am organizing bookmarks, it keeps going to the wrong folder when I am trying to drag bookmar