Application Development 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: 

BAPI_WARRANTYCLAIM_ADD_VERSION

Former Member
0 Kudos

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 doubt

1 ACCEPTED SOLUTION

Former Member

I think, you should be using BAPI_WARRANTYCLAIM_CHANGE2 as you want to update the Version's Decision Code.

Thanks

Amol lohade

5 REPLIES 5

Former Member

I think, you should be using BAPI_WARRANTYCLAIM_CHANGE2 as you want to update the Version's Decision Code.

Thanks

Amol lohade

0 Kudos

how to use it

0 Kudos

hi,

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

0 Kudos

i am finding little difficult .

unable what values to pass for claim_text.

i am getting warning messages as

1) no group title ( IC version 0001)

2) pricing ( IC version 0001)

0 Kudos

please help me out

waiting for ur reply

unable to proceed without ur help

thanks,

lokesh