Problem in N-STEP Approval BADI

Hi ,
I'am new to Workflows,I need your guidance in finishing
the Item_level Approval BADI.
I'am working on N-Step Approval Badi(Item Level Implementation)
I have pasted the code here.There will be Multiple levels(Max 15 Levels) of Approvals.
When a new Shopping cart is created this BADI is not working.
Can you please suggest me, am i missing  something in the code.?.I'am also new to ABAP but i hope i'am managing with it.
Please Help me out.
METHOD if_ex_bbp_wfl_approv_badi~get_remaing_approvers .
Interface parameters:
OBJECT_ID                  TYPE  CRMT_OBJECT_ID                "Import
OBJECT_TYPE                TYPE  CRMT_SUBOBJECT_CATEGORY       "Import
GUID                       TYPE  BBP_GUID_32                   "Import
ACTUAL_APPROVAL_INDEX      TYPE  SWH_NUMC10                    "Import
APPROVAL_HISTORY_TABLE     TYPE  BBP_WFL_APPROVAL_HISTORY_BADI "Import
APPROVAL_TABLE             TYPE  BBPT_WFL_APPROVAL_TABLE_BADI  "Export
NO_FURTHER_APPROVAL_NEEDED TYPE  BOOLEAN                       "Export
  INCLUDE <swfcntn01>.                  "Workflow
  DATA:
    ls_header                   TYPE bbp_pds_sc_header_d,
    lt_item                     TYPE TABLE OF bbp_pds_sc_item_d,
    ls_item                     TYPE bbp_pds_sc_item_d,
    lt_account                  TYPE TABLE OF bbp_pds_acc,
    ls_account                  TYPE bbp_pds_acc,
    lt_partner                  TYPE TABLE OF bbp_pds_partner,
    ls_partner                  TYPE bbp_pds_partner,
    lc_partner                  TYPE but000-partner,
    lt_result_tab               TYPE TABLE OF swhactor,
    ls_result_tab               TYPE swhactor,
    lc_cost_ctr                 TYPE bbp_pds_acc-cost_ctr,
    lv_co_code                  TYPE bbp_pds_sc_item_d-be_co_code,
    lt_prodcat                  TYPE TABLE OF zmwfprodcat,
    ls_prodcat                  TYPE zmwfprodcat,
Inserted by Rakesh Palle for Assets DR # D0001055958
    lt_asset                    TYPE TABLE OF zmwfprodcat,
    lt_final                    TYPE TABLE OF zmwfprodcat,
    ls_asset                    TYPE zmwfprodcat,
    ls_final                    TYPE zmwfprodcat,
    lv_asset                    TYPE c,
End of insertion DR # D0001055958
Being D0001055958
    lt_order                    TYPE TABLE OF zmwfprodcat,
    ls_order                    TYPE zmwfprodcat,
    lv_order                    TYPE c,
End D0001055958
    lt_sets                     TYPE TABLE OF zmwf_sets,
    ls_sets                     TYPE zmwf_sets,
    lt_roles                    TYPE TABLE OF str_agr2,
    ls_roles                    TYPE str_agr2,
    lt_users                    TYPE TABLE OF str_agrs,
    ls_users                    TYPE str_agrs,
    lc_persnumber               TYPE usr21-persnumber,
    ls_approver                 TYPE bbp_wfl_approval_table_badi,
    ls_approver_check           TYPE bbp_wfl_approval_table_badi,
    lv_guid                     TYPE crmd_orderadm_h-guid,
    lv_call_value1    TYPE bbp_wfl_app_property,
    ev_app_obj_guid   TYPE bbp_guid_32,
    lc_sobid                    TYPE req_name,
    lc_objid                    TYPE hrp1001-objid,
    lc_objid_s                  type hrp1001-objid,
   lt_appr_def       TYPE TABLE OF bbpt_wfl_lia_def,
   lt_approver       TYPE TABLE OF bbp_wfl_approval_table_badi,
    lc_slapprover               TYPE hrv1222a-low,
    li_limit                    TYPE bbp_limit,
    li_last_level               TYPE zmwfprodcat-appr_level,
    li_stepno                   TYPE i,
    lv_index                    type i,
    lc_stepno(3)                TYPE c,
    lc_first(1)                 TYPE c,
    lc_pass(1)                  TYPE c,
    li_last_setid               LIKE ls_prodcat-setid,
    c_cost_centre      TYPE bbp_wfl_app_criterion  VALUE 'COST_CTR',
    li_stop_amt                 LIKE ls_header-total_value,
    li_set_amt                  LIKE li_stop_amt,
    lt_cost_ctr                 type table of zitem_costctr,
    ls_cost_ctr                 type zitem_costctr,
   ls_approval_item  TYPE bbps_wfl_item_approval,
   lt_approval_items TYPE TABLE OF bbps_wfl_item_approval.
Business objects type (local constants)
  CONSTANTS:
    c_shop          TYPE crmt_subobject_category VALUE 'BUS2121',
    c_aprover_value TYPE zmwf_setty VALUE 'AV',
    c_comp_value    TYPE zmwf_setty VALUE 'CD',
**// Begin D0001055958
    c_ac_value      TYPE zmwf_setty VALUE 'AC',
    c_ad_value      TYPE zmwf_setty VALUE 'AD',
    c_oc_value      TYPE zmwf_setty VALUE 'OC',
    c_od_value      TYPE zmwf_setty VALUE 'OD',
**// End D0001055958
    c_yes(1)        TYPE c VALUE 'X',
    c_no(1)         TYPE c VALUE ' ',
    c_requisitioner TYPE bbp_pds_partner-partner_fct VALUE '00000016'.
**********begin of change D0001034557
  TYPES : BEGIN OF ty_swhactor,
            otype TYPE otype,
            objid TYPE actorid,
          END OF ty_swhactor.
  DATA : lt_user TYPE TABLE OF ty_swhactor,
         ls_user TYPE ty_swhactor,
         v_guid TYPE BBP_GUID_32.
***********end of change D0001034557
***********begin of change D0001043944
  DATA : lt_prodcat2  TYPE TABLE OF zmwfprodcat,
         new_approval_table TYPE BBPT_WFL_APPROVAL_TABLE_BADI,
         wa_new_approval_table TYPE BBP_WFL_APPROVAL_TABLE_BADI.
***********end of change D0001043944
*****Change by suresh D0001110145
  data ws_set type zmwf_sets.
  data cd_flag.
*****End of change by suresh D0001110145
  DEFINE set_approval_level.
    if lc_first = 'X' or
       ls_prodcat-appr_level gt li_last_level or
       ls_prodcat-setid ne li_last_setid.                  "D0001055958
      add 1 to li_stepno.
      clear lc_first.
    endif.
    ls_approver-approval_index = li_stepno.
  END-OF-DEFINITION.
  DEFINE set_approval_level_2.
    if lc_first = 'X' or
       ls_asset-appr_level gt li_last_level.
      add 1 to li_stepno.
      clear lc_first.
    endif.
    ls_approver-approval_index = li_stepno.
  END-OF-DEFINITION.
  DEFINE set_approval_description.
    write li_stepno to lc_stepno left-justified.
    concatenate 'Approval step #'
                lc_stepno
                into ls_approver-approval_description.
  END-OF-DEFINITION.
  CLEAR: lt_prodcat[], ls_approver.
  CLEAR: li_stepno.
  break-point.
map input data to local data
map char32 to raw16
  MOVE guid TO lv_guid.
  break-point.
  IF object_type = c_shop.
get the details of the shopping cart
    CALL FUNCTION 'BBP_PD_SC_GETDETAIL'
      EXPORTING
        i_guid      = lv_guid
        i_object_id = object_id
      IMPORTING
        e_header    = ls_header
      TABLES
        e_item      = lt_item
        e_account   = lt_account
        e_partner   = lt_partner.
Modification for Item-Level Approval-Start
    select * from zitem_costctr
    into table lt_cost_ctr.
    lv_index = actual_approval_index.
    if lv_index = 0.
       lv_index = 1.
    endif.
    LI_STOP_AMT = LS_HEADER-TOTAL_VALUE.
Modification for Item-Level Approval-End
    LOOP AT lt_item INTO ls_item.
Modification for Item-Level Approval-Start
    if actual_approval_index le lv_index.
      ls_approval_item-approval_item_guid = ls_item-guid.
      READ TABLE lt_account INTO ls_account
             WITH KEY p_guid = ls_item-guid.
      if sy-subrc is initial.
        READ TABLE LT_COST_CTR INTO LS_COST_CTR
        WITH KEY COST_CENTER_NO = LS_ACCOUNT-COST_CTR.
        LV_CALL_VALUE1 = LS_ACCOUNT-COST_CTR.
        CALL FUNCTION 'BBP_WFL_DIN_APP_OBJ_GET'
          EXPORTING
            sc_guid           = ls_header-guid
            criterion1        = 'COST_CTR'
            value1            = lv_call_value1
            iv_item_value     = ls_item-value
            iv_add_value      = 'X'
          IMPORTING
            approval_obj_guid = ev_app_obj_guid
          TABLES
            item_app_obj      = item_approval_obj.
        ls_approval_item-approval_object_guid = ev_app_obj_guid.
        LS_APPROVAL_ITEM-APPROVAL_ITEM_GUID = LS_ITEM-GUID.
        APPEND ls_approval_item TO lt_approval_items.
     approval_table[]      = lt_approver[].
Get the Object ID of user
       SELECT SINGLE objid
              INTO lc_objid
              FROM hrp1001
              WHERE sobid = ls_cost_ctr-CC_MANAGER_ID
                AND otype = 'CP'
                AND plvar = '01'.
       IF sy-subrc NE 0.
         EXIT.
       ENDIF.
       SELECT SINGLE objid
              INTO lc_objid_s
              FROM hrp1001
              WHERE sobid = lc_objid
                AND otype = 'S'
                AND plvar = '01'.
       IF sy-subrc NE 0.
         EXIT.
       ENDIF.
Get the Approver's Limit
        CLEAR li_limit.
        lc_sobid = ls_cost_ctr-CC_MANAGER_ID.
        CALL FUNCTION 'BBP_BW_GET_APPR_LIMIT'
          EXPORTING
            i_userid     = lc_sobid
          IMPORTING
            e_appr_limit = li_limit.
        IF LI_LIMIT > LS_ITEM-VALUE. "LI_STOP_AMT.
          SELECT SINGLE persnumber
                 INTO lc_persnumber
                 FROM usr21
                 WHERE bname = lc_sobid.
          IF sy-subrc IS INITIAL.
            SELECT name_text
                   INTO ls_approver-name
                   FROM adrp
                   UP TO 1 ROWS
                   WHERE persnumber =  lc_persnumber
                     AND date_from  LE sy-datum
                     AND date_to    GE sy-datum.
            ENDSELECT.
          ENDIF.
          ADD 1 TO li_stepno.
          ls_approver-approval_index = li_stepno.
          ls_approver-approval_agent = lc_SOBID.
          set_approval_description.
          APPEND ls_approver TO approval_table.
          CLEAR ls_approver.
        ELSE.
          do.
Get the Object ID of user
            CALL FUNCTION 'BBP_WFL_DIN_APP_OBJ_GET'
              EXPORTING
                sc_guid           = ls_header-guid
                criterion1        = 'COST_CTR'
                value1            = lv_call_value1
                iv_item_value     = ls_item-value
                iv_add_value      = 'X'
              IMPORTING
                approval_obj_guid = ev_app_obj_guid
              TABLES
                item_app_obj      = item_approval_obj.
            ls_approval_item-approval_object_guid = ev_app_obj_guid.
            LS_APPROVAL_ITEM-APPROVAL_ITEM_GUID = LS_ITEM-GUID.
            APPEND ls_approval_item TO lt_approval_items.
            CLEAR : LC_OBJID,LC_OBJID_S.
            SELECT SINGLE objid
                   INTO lc_objid
                   FROM hrp1001
                   WHERE sobid = ls_cost_ctr-CC_MANAGER_ID
                     AND otype = 'CP'
                     AND plvar = '01'.
            IF sy-subrc NE 0.
              EXIT.
            ENDIF.
            SELECT SINGLE objid
                   INTO lc_objid_s
                   FROM hrp1001
                   WHERE sobid = lc_objid
                     AND otype = 'S'
                     AND plvar = '01'.
            IF sy-subrc NE 0.
              EXIT.
            ENDIF.
Get the SL Approver
            SELECT SINGLE low
                     INTO lc_slapprover
                     FROM hrv1222a
                     WHERE plvar  =  '01'
                       AND otype  =  'S'
                       AND objid  =  lc_objid_s
                       AND begda  LE sy-datum
                       AND endda  GE sy-datum
                       AND attrib =  'SLAPPROVER'.
            IF sy-subrc NE 0.
              EXIT.
            ENDIF.
Get the Approver's Limit
            CLEAR li_limit.
            lc_sobid = lc_slapprover+2.
            CALL FUNCTION 'BBP_BW_GET_APPR_LIMIT'
              EXPORTING
                i_userid     = lc_sobid
              IMPORTING
                e_appr_limit = li_limit.
            SUBTRACT '.01' FROM li_limit.  "D0001093425
            IF li_limit GT 0.
Add the approver to the list
              SELECT SINGLE persnumber
                     INTO lc_persnumber
                     FROM usr21
                     WHERE bname = lc_sobid.
              IF sy-subrc IS INITIAL.
                SELECT name_text
                       INTO ls_approver-name
                       FROM adrp
                       UP TO 1 ROWS
                       WHERE persnumber =  lc_persnumber
                         AND date_from  LE sy-datum
                         AND date_to    GE sy-datum.
                ENDSELECT.
              ENDIF.
              ADD 1 TO li_stepno.
              ls_approver-approval_index = li_stepno.
              ls_approver-approval_agent = lc_slapprover.
              set_approval_description.
              APPEND ls_approver TO approval_table.
              CLEAR ls_approver.
            ENDIF.
If the limit is greater than the stop amount, exit - we are finished
            IF li_limit GE li_stop_amt.
              EXIT.
            ENDIF.
          ENDDO.
         endif.
         endif.
      ENDIF.
    endloop.
    data : cc type BBP_STEP_DESCRIPTION value 'CoCentre_Approvers'.
    if actual_approval_index le lv_index.
    CALL FUNCTION 'BBP_WFL_DIN_FILL_APPROVER'
      EXPORTING
        iv_approval_index   = lv_index
        ic_step_description = cc
        iv_criterion1       = 'COST_CTR'
      TABLES
        it_approval_def     = lt_appr_def
        it_approval_object  = item_approval_obj
        et_approver         = lt_approver
        it_approval_items   = lt_approval_items.
    endif.
    item_approval_table[] = lt_approval_items[].
    approval_table[]      = lt_approver[].
  endif.
Modification for Item-Level Approval-End
Use the product category to link to the Product Category Approval
table and use the corresponding approver(s) for the total shopping
cart value.
     SELECT *
            INTO TABLE lt_prodcat
            FROM zmwfprodcat.
            WHERE catid    LIKE  ls_item-category_id.
     IF sy-subrc IS INITIAL.
****begin of change D0001034557
***//Buyer to be the first approver
       MOVE lv_guid TO v_guid.
       READ TABLE lt_account INTO ls_account
                    WITH KEY p_guid = ls_item-guid.
****Begin of change by suresh for adding codition for buyer determination
****for company codes 7000 and greater D0001110145
       clear cd_flag.
       select single * into ws_set
                       from ZMWF_SETS
                        where setid = 'FCD1'.
       if ( ls_item-be_co_code GE ws_set-val_low and
            ls_item-be_co_code LE ws_set-val_high ).
         cd_flag = 'X'.
       endif.
       IF ( ls_item-itm_type = 'LIMI' OR
        ls_item-product_type = '02' OR
          ls_account-acc_cat = 'AS' ) AND
          cd_flag is initial.
*****end of changes by suresh D0001110145
Begin of changes by Suresh-EBDK902401
Added the Object Type and Object ID
         CALL FUNCTION 'BBP_PDH_WFL_GET_PURCHASER_LIST'
              EXPORTING
                IV_GUID                 =   v_guid
    IV_OBJECT_TYPE                      =  'BUS2121'
    IV_OBJECT_ID                        = OBJECT_ID
          IV_GET_FIRST_PURCH_FROM_GROUP     =  'X'
              TABLES
                ET_USER                       =  lt_user.
***End of changes by Suresh-EBDK902401
         LOOP AT lt_user INTO ls_user.
           LOOP AT lt_prodcat INTO ls_prodcat.
             IF NOT ls_prodcat-bname IS INITIAL.
               CONCATENATE 'US' ls_user-objid INTO
                             ls_approver-approval_agent.
               READ TABLE approval_table INTO ls_approver_check
                  WITH KEY approval_agent =
*ls_approver-approval_agent
               IF SY-SUBRC NE 0.
                 set_approval_level.
                 set_approval_description.
                 ls_approver-name = ls_approver-approval_agent.
                 APPEND ls_approver TO approval_table.
                 CLEAR ls_approver-name.
               ENDIF.
             ENDIF.
             CLEAR ls_prodcat.
           ENDLOOP.
           CLEAR ls_user.
         ENDLOOP.
       ENDIF.
       CLEAR ls_account.
****end of change D0001034557
****begin of change D0001043944
**//Special Approvers to be right after the buyer
       IF NOT ls_item-z_spl_approval IS INITIAL.
         SELECT *  INTO TABLE lt_prodcat2
                       FROM zmwfprodcat
                       WHERE setid = ls_item-z_spl_approval.
         SORT lt_prodcat2 BY catid appr_level.
         LOOP AT lt_prodcat2 INTO ls_prodcat.
           IF NOT ls_prodcat-bname IS INITIAL.
             CONCATENATE 'US' ls_prodcat-bname INTO
                           ls_approver-approval_agent.
             READ TABLE approval_table INTO ls_approver_check
                WITH KEY approval_agent = ls_approver-approval_agent.
             IF SY-SUBRC NE 0.
               set_approval_level.
               set_approval_description.
               ls_approver-name = ls_approver-approval_agent.
               APPEND ls_approver TO approval_table.
               CLEAR ls_approver-name.
               li_last_level = ls_prodcat-appr_level.
               li_last_setid = ls_prodcat-setid.
             ENDIF.
           ENDIF.
           CLEAR: ls_prodcat,ls_approver_check.
         ENDLOOP.
       ENDIF.
****end of change D0001043944
       LOOP AT lt_prodcat INTO ls_prodcat.
         IF NOT ls_item-category_id CP ls_prodcat-catid.
           DELETE TABLE lt_prodcat FROM ls_prodcat.
         ENDIF.
       ENDLOOP.
Inserted by Rakesh Palle for Assets DR # D0001055958
       LOOP AT lt_prodcat INTO ls_asset WHERE setid = 'AS01'.
         APPEND ls_asset TO lt_asset.
       ENDLOOP.
Begin D0001055958
       LOOP AT lt_prodcat INTO ls_order WHERE setid = 'OR01'.
         APPEND ls_order TO lt_order.
       ENDLOOP.
End D0001055958
       DELETE lt_prodcat WHERE setid = 'AS01' OR setid = 'OR01'.
       "D0001055958
End of insertion DR # D0001055958
       SORT lt_prodcat BY catid setid appr_level ASCENDING.
       lc_first = 'X'.
       SELECT *
              INTO TABLE lt_sets
              FROM zmwf_sets
              FOR ALL ENTRIES IN lt_prodcat
              WHERE setid = lt_prodcat-setid.
SORT lt_prodcat BY catid setid appr_level ASCENDING.
      lc_first = 'X'.
       LOOP AT lt_prodcat INTO ls_prodcat.
Check the set data
         IF NOT ls_prodcat-setid IS INITIAL.
           READ TABLE lt_account INTO ls_account
                WITH KEY p_guid = ls_item-guid.
***// Changed by Rakesh Palle to get ACC_STR & COST OBJ
***// if cost ctr is initial DR # D0001055958
           IF ls_account-cost_ctr IS INITIAL.
             IF ls_account-acc_str IS INITIAL.
               CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                 EXPORTING
                   input  = ls_account-cost_obj
                 IMPORTING
                   output = lc_cost_ctr.
             ELSE.
               CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                 EXPORTING
                   input  = ls_account-acc_str
                 IMPORTING
                   output = lc_cost_ctr.
             ENDIF.
           ELSE.
             CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
               EXPORTING
                 input  = ls_account-cost_ctr
               IMPORTING
                 output = lc_cost_ctr.
           ENDIF.
***// End of insertion DR # D0001055958
Check for valid Cost Center (set type = space)
           lc_pass = c_no.
           LOOP AT lt_sets INTO ls_sets
                WHERE setid =  ls_prodcat-setid
                  AND setty =  space.
             IF ls_sets-val_low = lc_cost_ctr OR
                ( ls_sets-val_low  LE lc_cost_ctr AND
                  ls_sets-val_high GE lc_cost_ctr ).
               lc_pass = c_yes.
               EXIT.
             ENDIF.
           ENDLOOP.
           IF sy-subrc IS INITIAL AND
              lc_pass  = c_no.
             CONTINUE.
           ENDIF.
***// Inserted by Rakesh Palle for Company code verification
Check for valid Company Code (set type = CC)
           LOOP AT lt_sets INTO ls_sets
                WHERE setid =  ls_prodcat-setid
                  AND setty =  c_comp_value.
             IF ls_sets-val_low = ls_item-be_co_code OR
                ( ls_sets-val_low  LE ls_item-be_co_code AND
                  ls_sets-val_high GE ls_item-be_co_code ).
               lc_pass = c_yes.
               EXIT.
             ENDIF.
           ENDLOOP.
           IF sy-subrc IS INITIAL AND
              lc_pass  = c_no.
             CONTINUE.
           ENDIF.
***// End of Insertion for Company code verification
***// Inserted by Rakesh Palle for Asset Company code verification
  Check for valid Asset Company Code (set type = AD)
  DR # D0001055958
           IF lv_asset = 'X'.
             LOOP AT lt_sets INTO ls_sets
                  WHERE setid = ls_prodcat-setid
                    AND setty = c_ad_value.
               IF ls_sets-val_low = ls_item-be_co_code OR
                  ( ls_sets-val_low  LE ls_item-be_co_code AND
                    ls_sets-val_high GE ls_item-be_co_code ).
                 lc_pass = c_yes.
                 EXIT.
               ENDIF.
             ENDLOOP.
             IF sy-subrc IS INITIAL AND
                lc_pass  = c_no.
               CONTINUE.
             ENDIF.
***// End of Asset Company code verification
***// Check for valid Cost Center (set type = AC)
             LOOP AT lt_sets INTO ls_sets
                  WHERE setid =  ls_prodcat-setid
                    AND setty =  c_ac_value.
               IF ls_sets-val_low = lc_cost_ctr OR
                  ( ls_sets-val_low  LE lc_cost_ctr AND
                    ls_sets-val_high GE lc_cost_ctr ).
                 lc_pass = c_yes.
                 EXIT.
               ENDIF.
             ENDLOOP.
             IF sy-subrc IS INITIAL AND
                lc_pass  = c_no.
               CONTINUE.
             ENDIF.
           ENDIF.
***// End of Asset Cost Center
***// Inserted by Rakesh Palle for Order Company code verification
Check for valid Order Company Code (set type = OD)
           IF lv_order = 'X'.
             LOOP AT lt_sets INTO ls_sets
                  WHERE setid = ls_prodcat-setid
                    AND setty = c_od_value.
               IF ls_sets-val_low = ls_item-be_co_code OR
                  ( ls_sets-val_low  LE ls_item-be_co_code AND
                    ls_sets-val_high GE ls_item-be_co_code ).
                 lc_pass = c_yes.
                 EXIT.
               ENDIF.
             ENDLOOP.
             IF sy-subrc IS INITIAL AND
                lc_pass  = c_no.
               CONTINUE.
             ENDIF.
***// End of Order Company code verification
***// Check for valid Order Cost Center (set type = OC)
             LOOP AT lt_sets INTO ls_sets
                  WHERE setid =  ls_prodcat-setid
                    AND setty =  c_oc_value.
               IF ls_sets-val_low = lc_cost_ctr OR
                  ( ls_sets-val_low  LE lc_cost_ctr AND
                    ls_sets-val_high GE lc_cost_ctr ).
                 lc_pass = c_yes.
                 EXIT.
               ENDIF.
             ENDLOOP.
             IF sy-subrc IS INITIAL AND
                lc_pass  = c_no.
               CONTINUE.
             ENDIF.
           ENDIF.
***// End of Order Cost Center
***// DR # D0001055958
Check for SL Approver Value
           LOOP AT lt_sets INTO ls_sets
                WHERE setid =  ls_prodcat-setid
                  AND setty =  c_aprover_value.
             IF NOT ls_sets-val_low CN '1234567890 .'.
               TRANSLATE ls_sets-val_low USING ', '.
               CONDENSE ls_sets-val_low NO-GAPS.
               li_set_amt = ls_sets-val_low.
               IF ls_header-total_value LT li_set_amt AND
                  li_set_amt GT li_stop_amt.
                 li_stop_amt = li_set_amt.
               ENDIF.
             ENDIF.
           ENDLOOP.
         ENDIF.
         CHECK ls_prodcat-val_from LE ls_header-total_value
           AND ls_prodcat-val_to   GE ls_header-total_value.
Begin D0001055958
         IF lc_pass  = c_no.
           CONTINUE.
         ENDIF.
End   D0001055958
Handle Approver Name - Explicit
         IF NOT ls_prodcat-bname IS INITIAL.
           CONCATENATE 'US' ls_prodcat-bname INTO
                       ls_approver-approval_agent.
           READ TABLE approval_table INTO ls_approver_check
                WITH KEY approval_agent = ls_approver-approval_agent.
           IF sy-subrc NE 0.
             set_approval_level.
             set_approval_description.
             ls_approver-name = ls_prodcat-name_text.
             APPEND ls_approver TO approval_table.
             CLEAR ls_approver-name.
             li_last_level = ls_prodcat-appr_level.
             li_last_setid = ls_prodcat-setid.          "D0001055958
           ENDIF.
         ENDIF.
Handle Approver Names - Derive from Role
         IF NOT ls_prodcat-agr_name IS INITIAL.
           ls_roles-agr_name = ls_prodcat-agr_name.
           APPEND ls_roles TO lt_roles.
           CALL FUNCTION 'BBP_READ_USERS_OF_ROLES'
             TABLES
               roles              = lt_roles
               users_of_roles     = lt_users
             EXCEPTIONS
               no_users_available = 1
               OTHERS             = 2.
           IF sy-subrc IS INITIAL.
             LOOP AT lt_users INTO ls_users.
               SELECT SINGLE persnumber
                      INTO lc_persnumber
                      FROM usr21
                      WHERE bname = ls_users-uname.
               IF sy-subrc IS INITIAL.
                 SELECT name_text
                        INTO ls_approver-name
                        FROM adrp
                        UP TO 1 ROWS
                        WHERE persnumber =  lc_persnumber
                          AND date_from  LE sy-datum
                          AND date_to    GE sy-datum.
                 ENDSELECT.
               ENDIF.
               CONCATENATE 'US' ls_users-uname INTO
                           ls_approver-approval_agent.
               READ TABLE approval_table INTO ls_approver_check
                  WITH KEY approval_agent = ls_approver-approval_agent.
               IF sy-subrc NE 0.
                 set_approval_level.
                 set_approval_description.
                 APPEND ls_approver TO approval_table.
                 CLEAR ls_approver-name.
                 li_last_level = ls_prodcat-appr_level.
                 li_last_setid = ls_prodcat-setid.       "D0001055958
               ENDIF.
             ENDLOOP.
           ENDIF.
           REFRESH: lt_roles, lt_users.
         ENDIF.
       ENDLOOP.
     ENDIF.
   ENDLOOP.
Add the SL approvers
   CLEAR lc_sobid.
Get the requisioner - in case the cart is created 'on behalf of'
   READ TABLE lt_partner INTO ls_partner
              WITH KEY partner_fct = c_requisitioner.
   IF sy-subrc IS INITIAL.
     SELECT SINGLE partner INTO lc_partner
            FROM but000
            WHERE partner = ls_partner-partner_id.
     CALL FUNCTION 'RH_STRUC_GET'
       EXPORTING
         act_otype      = 'BP'
         act_objid      = lc_partner
         act_wegid      = 'BP_US'
       TABLES
         result_tab     = lt_result_tab
       EXCEPTIONS
         no_plvar_found = 1
         no_entry_found = 2
         OTHERS         = 3.
     READ TABLE lt_result_tab INTO ls_result_tab WITH KEY otype = 'US'.
     lc_sobid = ls_result_tab-objid.
   ENDIF.
If the above code failed for any reason use the Created By user as the
requisioner
   IF lc_sobid IS INITIAL.
     lc_sobid = ls_header-created_by.
   ENDIF.
Set the stop amount to the total value of the cart
   IF li_stop_amt IS INITIAL.
     li_stop_amt = ls_header-total_value.
   ENDIF.
   DO.
Get the Object ID of user
     SELECT SINGLE objid
            INTO lc_objid
            FROM hrp1001
            WHERE sobid = lc_sobid
              AND otype = 'S'
              AND plvar = '01'.
     IF sy-subrc NE 0.
       EXIT.
     ENDIF.
Get the SL Approver
     SELECT SINGLE low
              INTO lc_slapprover
              FROM hrv1222a
              WHERE plvar  =  '01'
                AND otype  =  'S'
                AND objid  =  lc_objid
                AND begda  LE sy-datum
                AND endda  GE sy-datum
                AND attrib =  'SLAPPROVER'.
     IF sy-subrc NE 0.
       EXIT.
     ENDIF.
**break-point.
Get the Approver's Limit
     CLEAR li_limit.
     lc_sobid = lc_slapprover+2.
     CALL FUNCTION 'BBP_BW_GET_APPR_LIMIT'
       EXPORTING
         i_userid     = lc_sobid
       IMPORTING
         e_appr_limit = li_limit.
     SUBTRACT '.01' FROM li_limit.  "D0001093425
     IF li_limit GT 0.
Add the approver to the list
       SELECT SINGLE persnumber
              INTO lc_persnumber
              FROM usr21
              WHERE bname = lc_sobid.
       IF sy-subrc IS INITIAL.
         SELECT name_text
                INTO ls_approver-name
                FROM adrp
                UP TO 1 ROWS
                WHERE persnumber =  lc_persnumber
                  AND date_from  LE sy-datum
                  AND date_to    GE sy-datum.
         ENDSELECT.
       ENDIF.
       ADD 1 TO li_stepno.
       ls_approver-approval_index = li_stepno.
       ls_approver-approval_agent = lc_slapprover.
       set_approval_description.
       APPEND ls_approver TO approval_table.
       CLEAR ls_approver.
     ENDIF.
If the limit is greater than the stop amount, exit - we are finished
     IF li_limit GE li_stop_amt.
       EXIT.
     ENDIF.
   ENDDO.
ENDIF.
Inserted by Rakesh Palle for Order
DR # D0001055958
IF lv_order = 'X'.
   lc_first = 'X'.
   LOOP AT lt_order INTO ls_order.
     CHECK ls_order-val_from LE ls_header-total_value
       AND ls_order-val_to   GE ls_header-total_value.
Handle Approver Name - Explicit
     IF NOT ls_order-bname IS INITIAL.
       CONCATENATE 'US' ls_order-bname INTO
                   ls_approver-approval_agent.
       READ TABLE approval_table INTO ls_approver_check
            WITH KEY approval_agent = ls_approver-approval_agent.
       IF sy-subrc NE 0.
         set_approval_level_2.
         set_approval_description.
         ls_approver-name = ls_order-name_text.
         APPEND ls_approver TO approval_table.
         CLEAR ls_approver-name.
         li_last_level = ls_order-appr_level.
       ENDIF.
     ENDIF.
Handle Approver Names - Derive from Role
     IF NOT ls_order-agr_name IS INITIAL.
       ls_roles-agr_name = ls_order-agr_name.
       APPEND ls_roles TO lt_roles.
       CALL FUNCTION 'BBP_READ_USERS_OF_ROLES'
         TABLES
           roles              = lt_roles
           users_of_roles     = lt_users
         EXCEPTIONS
           no_users_available = 1
           OTHERS             = 2.
       IF sy-subrc IS INITIAL.
         LOOP AT lt_users INTO ls_users.
           SELECT SINGLE persnumber
                  INTO lc_persnumber
                  FROM usr21
                  WHERE bname = ls_users-uname.
           IF sy-subrc IS INITIAL.
             SELECT name_text
                    INTO ls_approver-name
                    FROM adrp
                    UP TO 1 ROWS
                    WHERE persnumber =  lc_persnumber
                      AND date_from  LE sy-datum
                      AND date_to    GE sy-datum.
             ENDSELECT.
           ENDIF.
           CONCATENATE 'US' ls_users-uname INTO
                       ls_approver-approval_agent.
           READ TABLE approval_table INTO ls_approver_check

hi,
let me know the following things
1) how many levels are working ? is the workitem send to the second approver (or) not?
is the issue occuring with the first approver?
2) are you using the index value correctly in your approval badi? please check out.
Badi is called during each approval stage 
3)  what is the value of approval_state in the workflow container ? 
if the value is 5 --> it will go to the next approver.
4) have you been able to debug --> the approval process --> this will enable you to find root cause of the issue.
check out FM
BBP_WFL_DIN_APPR_CONTAINER_SET --> this is the point where the approval update happens --> when the approver approves (or) rejects the cart.

Similar Messages

  • Function module (FM) to read budget  to be used in n-step approval badi

    We have SRM 5.0 with ECC 6.0 (extended classic). For capital expenses we are going to have budget check in SRM based of account assignment internal orders in R/3. In shopping cart line item approval workflow, it is required to read the budget available for that internal order and compare with shopping cart value...what is the function module to read budget assigned to that internal order, that will used in n-step approval badi at every step??
    Thanks,
    Kim r.

    Hi
    <b>Please try the related SRM function modules, which will definitely help -></b>
    B470_BUDGET_READ   
    BBP_PD_USER_BUDGET_AMOUNTSPENT  
    BBP_PD_USER_BUDGET_CHECK        
    BBP_PD_USER_BUDGET_DEFINED_GET  
    BBP_PD_USER_BUDGET_SAVE         
    BBP_PD_USER_BUDGET_SCVALUE_GET  
    BBP_REQREQ_CHECK_BUDGET 
    META_BUDGET_READ   
    META_BUDGET_READ Function module in turn calls RFC-enabled 'BBP_BUDGET_READ' Function module in the R/3 or the ECC System.
    Hope this will definitely help.
    Do let me know.
    Regards
    - Atul

  • Problem with One-Step Approval of Contracts ws14000088

    Hi, I have a problem with the  One-Step Approval of Contracts ws14000088, the workflow can't find  approverat the task TS14007969
    regards
    Dayana

    Hi
    <b>Please go through these links, which will definitely help -></b>
    Which SRM version are you using ?
    Re: Problem with one step approval contract workflow
    Re: No Approver(s) Found
    Reminders for work item
    Re: How to add a new field to the notification mail
    Do let me know.
    Regards
    - Atul

  • N Step Approval BADI - BBP_WFL_APPROV_BADI

    We have implemented this BADI and are having problems with the agent determination.
    When creating and ordering the cart the approval preview shows the correct approval agents.
    When clicking the 'Agents' button within the workflow log via SWI1, the message 'No selected agents' (Message no. WL795) is shown.
    The buffers have been refreshed via SWU_OBUF and the indexes and organisational environment have been refreshed.
    Has anyone had this problem before, and if so what steps did you have to undertake to cure it ?
    Thanks
    Keith

    Hi
    <b>Please specify the SRM version(Support packs) details in next reply.</b>
    <u>Meanwhile, please go through the following SAP OSS Notes, which will definitely help -></u>
    Note 798295 BADI workflow: SRM 3.0 upgrade to 4.0 approver list -> main
    Note 748655 SC APPROVAL GRAPHIC PREVIEW NOT CORRECT FOR BADI APPROVERS
    Note 843636 PO BADI WORKFLOW does not assign correct approvers
    Note 861147 BAdI workflow: Adjusting step name to runtime
    Note 883207 BBP_WFL_DIN_APPR_BY_RULE_GET: if BAdI not implemented
    Note 713567 SRM-EBP-WFL: Limit is ignored in WS14000109
    Note 923463 BAdI n-step approval - Container inconsistent for 1st step
    Note 901068 BAdI Workflows: Enhancement of Note 896556
    Note 898768 BADI Workflow: Determining current approvers
    Note 861147 BAdI workflow: Adjusting step name to runtime
    Note 688724 BADI workflow: Problems with substitute
    Note 788584 BADI Workflow: empty WI_ID in approver table
    Note 780021 BADI Workflow: subsequent approvers after rejection
    Do let me know.
    Regards
    - Atul

  • WS14000088 one-step Approval of contracts

    Dear SRM Friends,
    I have problem with finding the right approver for my workflow 14000088 one-step approval of contracts.
    The process is easy:
    My purchaser with user role: SAP_EC_BBP_PURCHASER should create the contract. Afterwards my Manager1 with user role: SAP_BBP_STAL_PURCHASER_MANAGER should approve this contract.
    Beside I have to say, that my Manager stands above serval organisational units  - but he is the only one - who has this role SAP_BBP_STAL_PURCHASER. And in my workflow this role ist determined.
    So I aspect that my Manager1 will be displayd in Approval Preview - but it didn´t. Instead of that there appears the Manager2 of the organisational unit of my Purchaser.
    But how can that be? Manager2 did´nt have the role SAP_BBP_STAL_PURCHASER.
    I have checked following transaktions:
    bbppd with BUS2000113_
    with result:
    workflow item:
    workitem - ID: 79856
    Task: WS14000088
    Text: one-step approval of contracts
    Status: started
    Statustext: in process
    Node ID: 000000023
    Agent: Mr xyz
    User: Manager2
    State: Ready
    Workitem:79856
    Created at: 18.09.2009
    Finished at: "Blank"
    Discription: First Approval
    Node ID: 000000092
    Agent. "Blank"
    User: "Blank"
    State / Worktitem:No workitem found
    Created at: "Blank"
    Finished at: "Blank"
    Discription: New Approval
    OOCU ( Assign Agents ):
    WS14000088
    Role: SAP_BBP_STAL_PURCHASE_MANAGER
    SWDD ( Workflow Builder ):
    WS14000088
    TS14007969 first approval
    here I wanted to add my Agent "Manager1" but I get following message:
    "general task can be edited by all user"
    PPOSABBP ( organisational Model ):_
    Attributes for my Manager1
    User Role: SAP_BBP_STAL_PURCHASER_MANAGER
    Transaction Type: Contracts / ID: CT_PROC_TY / Value: PCTR
    So - I don´t have any ideas what to do.
    I would be glad If someone have any ideas.....
    Best Regards

    Hi,
    The approver for one-step approval of contracts is determined from the org structure as the manager of the user that creates the contract. So this is working correctly for you since manager2 is the org manager. The check on the agents of the task also occurs and since this is set to general, then manager2 will always be selected. Basically the intersection between the agents of the task and the org unit manager will be selected. If you change the agent of the task to have the SAP_BBP_STAL_PURCHASER role, then you will get an error when creating the contract since no approver will be found.
    If you want to have the approver determined in a different way then you would need to use the n-step approval badi workflow for contract, WS14000148. This will allow you to determine the approver using your own code.
    By the way, if you want to change the agents for the task, then display the task in PFTC. Goto
    Additional Data ->
    Agent Assignment ->
    Maintain ->
    Click on Attrributes ->
    Select radio button -> Forwarding not allowed ->
    Now Select from the menu -> Agent Assignment -> Create
    You should now be able to add a role.
    Hope this helps.
    Kind regards,
    Siobhan

  • How to use rules in BADI for 3 step approval SRM WF

    Hi all,
    i am working on three step approval workflow...based on the costcentre and product category it has to be approved...i have defined rule responsibility for this...now i need to bring this rule responility values to my BADI bbp_wfl_approv_badi...i think there is a std function module available for this..can anyone tell me what is the fm or else is there anyother way to do that..
    Thanks&Regards,
    Hari

    Hi,
    Please refer the foll link:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/95/ed94ee764c11d3b535006094b9c9b4/frameset.htm
    You can try the foll  FM's:
    RH_GET_STRUCTURE
    SWY_DEMO_GET_MANAGER
    BR,
    Disha.
    Pls reward points for useful answers.

  • Error with workflow approval BADI- BBP_WFL_APPROV_BADI

    Hi All,
    We are running SRM 5.5 Classic Scenario.
    We have activated "BBP_WFL_APPROV_BADI" for n-step approval process of shopping carts. From a certain period of time I am facing the following problem: when a user, with defined output limit in the extended attributes, creates shopping cart below this limit, the shopping cart instead to be ordered immediately stays in status u201CIn your inboxu201D and there is a message in the field "notes for approval" that the user WF-BATCH is not assigned in the organizational structure, and the item status is u201Cawaiting approvalu201D. Although, if you go to approval preview, the message is that no approval is required, the shopping cat is sent for approving to the manager.
    It is very strange, because workflow user has never been assigned to the organizational structure and the other strange thing is that this problem exists in all SRM systems (development, quality and training).
    We tried to debug the BADI, and we couldn't find any problem. The BADI first checks the spent limit of the user (which is the set output limit in the extended attributes of that user) and because the validation is ok (the value of the shopping cart is below the spent limit) the process stops. But at the same time the shopping cart is sent for approving to the first manager.
    Has anybody of you faced this problem?
    Thank you in advance!
    Desislava

    Hi Masa,
    Yes, this is my issue, that the shopping cart is sent to the manager for approving! And at the same time when the user is checking the status of the shopping cart -the status is"In your inbox" and the status of the item is "awaiting approval". When you go to item details-> to additional specification tab(field),  a system message is generated in the field "notes for approval" and the message is "Cannot find org unit for user WF-BATCH". In my opinion that means that the system is searching for WF-batch as approver. Let me briefly tell you how the BADi works, first validates the spent limit of the user if the value of the shopping cart is below then the shopping cart should be sent directly to r/3 system and a PO should be created. If the value is above, the system start checking to which organizational unit the users belongs, and after that determines the first approver!
    Hope it is more clear for you!
    Thanks
    Desislava

  • Extending of Two Step Approval WF (WS10000031) up to four steps

    Hi Experts,
    I try to extend the WS10000031 WF by copy of second step (TS10008127 2nd approval task in two-step approval of SC) as 3th and 4th step. The WF starts without problem and works until 3th step. User can't execute this step because of error generated on web side and short dump in ST22.
    Is the above described ides correct?
    Thanks in Advance
    Adam

    SAP recommends the custmers to use N-STEP badi , if you have approver levels greater than two.

  • N-step approval process for PO in SRM 7

    Here are a couple of questions I have regarding N-Step approval configuration for PO in SRM 7 Process Controlled Workflow:
    1) It's our business requirement that the last-change person of the PO is defined as the first approver in the chain. I tested with RR_EMPLOYEE and a hard-coded user BP number (my own), but got error "Strategy RR_EMPLOYEE did not determine any approver". Changing to any other user's BP number worked. So I am guessing the buyer himself can not be an approver. Since this is a business requirement, we wouldn't mind developing enhancement to work around this restriction. If you could point me to the place where this is checked, that would help me.
    2) I have set up the process level configuration as such:
    100     ZEV_PO_SL_APPR_001     PO  approval level 1     RR_EMPLOYEE     Specify Employee for Approval
    200     ZEV_PO_SL_APPR_002     PO  approval level 2     RR_MANAGER     Get Creator's Line Manager for Approval
    300     ZEV_PO_SL_APPR_003     PO  approval level 3     RR_MANAGER     Get Creator's Line Manager for Approval
    The corresponding expressions are simply checking against the PO total value, such as -
    0V_PO_POTOTALVALUE >= 0 AND 0V_PO_POTOTALVALUE < 1,000
    0V_PO_POTOTALVALUE >= 1,000 AND 0V_PO_POTOTALVALUE < 25,000
    0V_PO_POTOTALVALUE >= 25,000
    But when I checked the Approver list with a PO with total value > 50,000, only the first level is triggered and listed. And once approved, the PO went into "Ordered" status. But it should have gone through 3 levels of approval. I'd greatly appreciate it if you could point out what might have been wrongly defined in my configuration.
    Thanks!

    Hi,
      1) It's our business requirement that the last-change person of the PO is defined as the first approver in the chain. I tested with RR_EMPLOYEE and a hard-coded user BP number (my own), but got error "Strategy RR_EMPLOYEE did not determine any approver". Changing to any other user's BP number worked. So I am guessing the buyer himself can not be an approver. Since this is a business requirement, we wouldn't mind developing enhancement to work around this restriction. If you could point me to the place where this is checked, that would help me.
    SAP recently released the consultant OSS note to handle this issue.. when the release the SRM 7.0 , SC requestor or PO creator ( Buyer ) cant be in the approval list.. later on they release a OSS note to handle this issue.. 1551561\
    2) I have set up the process level configuration as such:
    100     ZEV_PO_SL_APPR_001     PO  approval level 1     RR_EMPLOYEE     Specify Employee for Approval
    200     ZEV_PO_SL_APPR_002     PO  approval level 2     RR_MANAGER     Get Creator's Line Manager for Approval
    300     ZEV_PO_SL_APPR_003     PO  approval level 3     RR_MANAGER     Get Creator's Line Manager for Approval
    The corresponding expressions are simply checking against the PO total value, such as -
    0V_PO_POTOTALVALUE >= 0 AND 0V_PO_POTOTALVALUE < 1,000
    0V_PO_POTOTALVALUE >= 1,000 AND 0V_PO_POTOTALVALUE < 25,000
    0V_PO_POTOTALVALUE >= 25,000
    But when I checked the Approver list with a PO with total value > 50,000, only the first level is triggered and listed. And once approved, the PO went into "Ordered" status. But it should have gone through 3 levels of approval. I'd greatly appreciate it if you could point out what might have been wrongly defined in my configuration.
    once you implement the OSS note Q1, you can build the custom RR resolver to handle this issue with in one process level.. but you have to implement the process level BADI as well.. please refer /SAPSRM/BD_WF_PROCESS_PO badi for more details
    Saravanan

  • Single Step approval BRF Workflow for RFx.

    Hi,
    I am facing one problem in process controlled workflow for RFx. I have the scenario where I have only one approver but 7-8 reviewer are there in between of approver and initiator for example:
    Initiator >reviewer1>reviewer2->reviewer3->....reviewer8-->approver.
    For acheiving this I have activated standard single step approval workflow.
    But while I am trying to add reviewers to the RFx at the time of creation of RFx the system is not shwing the reviewers. it gets refreshed only reviewers line is added to the reviewers Tab but system did not display any reviewer.
    And while I publish the RFx it directly goes to the approver and while i tried to add the reviewer from approver end the same problem is coming.
    Please help me. How I cam achieve this functionality.
    Thanks & Regards,
    Sachin

    Hello Ashutosh,
    Thanks For your reply. I want to add reviewers at the time of creation of RFx not ad-hoc approvers.
    As I explain in my question that I have only one approver in whole approval process rest all are the reviewers only who only do the review and add comments not the approving authority.
    Thanks,
    Sachin

  • WS14000044 Completion by Purchaser follwed by WS10000129 One Step approval

    Hi Folks,
    I have activated the WS14000044 Completion by Purchaser workflow and it works just fine.
    My problem is that the approval WF WS10000129 One Step approval does not start automatically when the buyer has completed the SC.
    The SC creator has to go to the SC and click on change and then order it before it goes to the approver.
    Can this be true?
    Thanks in advance,
    Thomas

    Hi
    <b>Please go through these links -></b>
    Start conditions for WS14000044
    Re: how to start one-step workflow..
    Re: SRM Approval error
    <u>Related SAP OSS Notes -></u>
    Note 896376 - WS14000044: No notification when shopping basket deleted
    Note 916875 - Incorrect status during completion workflow
    Note 1045171 - approval workflow: ACCEPT workitem for purchaser/secretary
    Hope this will help.
    Regards
    - Atul

  • N-step approval workflow for Shopping Cart-WS14000133

    Hi Experts,
    We have 5-6 levels of approvals for Shoppoing carts.All the SC needs to be approved by 5-6 managers based on their approval limits.All the approval limits are assigned at the Role level .(We have created Z roles)
    Please let me know how and where to define the roles in BADI to activate the N-step approval workflow for Shopping Cart-WS14000133
    Thanks,
    Venky

    To add to Masa's reply.
    This Badi is well documented by the online help and it even comes with example implementations AND it is mentioned in full detail at help.sap.com
    Kind regards, Rob Dielemans

  • Export-Mailbox results in 'Error occurred in step: Approving Object'

    Hello,
    We have been encountering an issue trying to use the Export-Mailbox command to a .pst, specifically error code -2147221233. I have tried many of the solutions recommended in other threads, including checking installed KBs, verifying permissions, running
    fixmapi, but so far none of addressed the problem.
    Any help would be appreciated. The following is the log file output:
    [10/17/2014 14:48:57.0777] [0] Executing Command: '        $scriptCmd = {& $wrappedCmd @PSBoundParameters }'
    [10/17/2014 14:48:57.0793] [0] Trying to open registry key 'Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\OUTLOOK.EXE'.
    [10/17/2014 14:48:57.0793] [0] The default value of the registry key is 'C:\Program Files\Microsoft Office 15\Root\Office15\OUTLOOK.EXE'.
    [10/17/2014 14:48:57.0809] [0] The version of Outlook.exe is '15.0.4420.1017'.
    [10/17/2014 14:48:57.0809] [0] Current ScopeSet is: {Domain Read Scope: {, }, Domain Write Scope(s): {, }, Configuration Scope: {, }, Server Configuration Scope(s): {, }, , Exclusive Scope: {, }}
    [10/17/2014 14:48:57.0809] [0] Searching objects "[email protected]" of type "ADUser" under the root "$null".
    [10/17/2014 14:48:57.0855] [0] Previous operation run on global catalog server 'DOMAINCONTROLLER'.
    [10/17/2014 14:48:57.0855] [0] Processing object "Domain/Users/user".
    [10/17/2014 14:48:57.0887] [0] Searching objects "Mailbox Database 1148204553" of type "MailboxDatabase" under the root "$null".
    [10/17/2014 14:48:57.0902] [0] Previous operation run on domain controller 'DOMAINCONTROLLER'.
    [10/17/2014 14:48:57.0918] [0] Exporting mailbox 'Domain/Users/user' from server 'EXCHANGE' to \\EXCHANGE\Export-PST\export.pst.
    [10/17/2014 14:48:57.0918] [0] Searching objects "Mailbox Database 1148204553" of type "MailboxDatabase" under the root "$null".
    [10/17/2014 14:48:57.0933] [0] Previous operation run on domain controller 'DOMAINCONTROLLER'.
    [10/17/2014 14:48:57.0965] [0] Resolved current organization: .
    [10/17/2014 14:48:57.0965] [0] Ending processing.
    [10/17/2014 14:48:57.0965] [0] [name] The operation has started.
    [10/17/2014 14:48:57.0965] [0] [name] Initializing MAPI; loading library.
    [10/17/2014 14:48:58.0245] [0] [name] Approving object.
    [10/17/2014 14:48:58.0417] [0] [name] Logging on to the MAPI profile.
    [10/17/2014 14:48:58.0682] [0] [name] Opening Exchange mailbox.
    [10/17/2014 14:48:59.0072] [0] [ERROR] Error was found for name @ email ([email protected]) because: Error occurred in the step: Approving object. An unknown error has occurred., error code: -2147221233
    [10/17/2014 14:48:59.0072] [0] [name] The operation has finished.

    Hi  CFBM
    Thank you for your question.
    This is a permission related error. It means you have not permission to access user mailbox.
    You can try to give yourself full access permission to user mailbox
    You can refer to the  following links :
    https://social.technet.microsoft.com/Forums/en-US/60734a88-ac1e-441c-98c0-d150b08392fb/importmailboxexportmailbox-fails-on-approving-object-permissions-issue?forum=exchangesvradminlegacy
    https://social.technet.microsoft.com/Forums/office/en-US/151b60d3-3045-471a-a717-71408e72e286/unable-to-export-a-pst-file-using-exchange-management-console-in-exchange-2007?forum=exchangesvrgenerallegacy
    If there are any questions, please let me know.
    Best Regard,
    Jim

  • After upgrading to ios 8.2, my keyboard on my iphone 5s is weird. When i typing a sms, the screen is locking it self. Does somebody have the same problem? Sorry for my bad english...

    After upgrading to ios 8.2, my keyboard on my iphone 5s is weird. When i typing a sms, the screen is locking it self. Does somebody have the same problem? Sorry for my bad english...

    Hello Wexxwoxx,
    Welcome to the Apple Support Communities!
    I understand that after you updated to iOS 8.2, while typing a message your iPhone seems to be locking itself. In this situation, there are a couple of different troubleshooting steps that I would recommend. 
    First, I would suggest closing the Messages application completely by using the instructions in the attached article below. 
    Force an app to close in iOS - Apple Support
    After the Messages app is closed, I would recommend resetting your iPhone using the instructions in the next attached article. After the reset, open Messages fresh and attempt to use as you normally would. 
    Restart or reset your iPhone, iPad, or iPod touch - Apple Support
    Have a great day,
    Joe

  • Difference between one step approval and N-step approval?

    Hi Experts,
    Can anyone tell what is major difference between one step approval and N step approval?
    I guess its only one person will  approve incase  one step  approval and where as in the N-step approval a shopping cart can be approved by many  users under some prerequistes right??
    can some one provide me some hints on this.....
    how does it make a difference in workflows and how to mantain the settings for this in the SPRO. for this one to setup  a one-step and N-step approvals.  what are points to be taken care while setting up this?
    Please can some one clarify me on this
    Regards
    Sairam.
    I

    Hi,
    1 step approval - Number of approvals will be 1
    n step - number of approvals  greater then 2(since std approval workflow present till 2 level)
    The general customising steps for Workflows  apply to both of them (like SWU3 customising.event linkage etc) but other then that for,
    1 step approval -
    -->Need to activate the starting conditions
    -->Agent assignment to be done seperately for the Approval task
    (Also the N step workflow can be used as 1 step workflow with number of approvals being set to 1 through the Logic in the badi.)
    N step approval -
    -->to be implemented through BADI BBP_WFL_APPROV_BADI .This BADi actually determines the Agents/approvers for the workflow.
    -->As per  my exp,this workflow is very unstable and for few  updates,you may have to apply number of notes(e.g. Approval status not updated properly,graphical preview not visible properly etc)
    BR,
    Disha.
    Do reward points for  useful answers.

Maybe you are looking for

  • Oracle Coherence 3.7.1, It's  always creating a new cluster in linux m/c.

    Hi , I am facing an issue with Oracle Coherence 3.7.1 in linux m/c , where it’s always creating a new cluster, even if I start a new member provided with same cluster name as argument. -Dtangosol.coherence.cluster=name It’s not joining the existing c

  • Do Flash Sites appear? if not what happens and what does it look like?

    Has anyone tried any Flash based websites to see what it looks like? If anyone has any screen captures or photos of the iPhone viewing Flash sites, I'm interested to see what happens before I buy an iPhone. Thanks

  • Open a CURSOR for a CLOB variable in 9i

    Hi Friends, I have a procedure which has a CLOB variable,and a sys_refcursor as inputs. procedure proc1 ( p_sql clob, cur1 sys_refcursor); I need to open this cur1 for p_sql clob. OPEN CUR1 FOR P_SQL; But it gives an error. I went through webs and fo

  • WD Adobe Forms in PDA

    Hi Experts, Is it possible to open up an Interactive form in a PDA. I tried it out in RIM Emulator but couldn't succeed. Also, the FileUpload and File Download UI elements doen't seem to work. Has anybody used these controls before for PDA specific W

  • How to select nodes for passing to a template

    How can I write an xpath to select only the row contained in rowset that has a child node language with the value of en-us ie something like select=rowset/row where rowset/row/child='en-us' Tks Rob