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,
    lokesh

    Hi 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 doubt

    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

Maybe you are looking for