cancel
Showing results for 
Search instead for 
Did you mean: 

SC Awaiting Approval

Former Member
0 Kudos

Hi,

<b> i am facing new problem. after i created shopping cart , status shows awaiting approval but when i click APPROVAL PREVIEW , i have seen message like NO APPROVAL REQUIRED.

When i go to approval inbox i could n't see any workitem belongs to that particular SC.

in the BADI implementation,

i have passed APPROVAL_INDEX,APPROVAL_AGENT & NAME to APPROVAL_TABLE EXPORTING PARAMENTER.

Kindly tell me is i need to pass any other value to APPROVAL_TABLE.

and one more clarification.

for SC n-step item level approval workflow badi.

what are the exporting parameter needs to be pass.</b>

please help me.

thanks,

durai.

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

The pb obviously comes from the code.

Post it, I'll take a look.

PS: Don't forget to flag <b>no_further_approval_needed</b> in the BADI when no further approval is required (no approval WF or last WF step)

Regards.

VAdim

Former Member
0 Kudos

Hi Vadim,

thank you , for timing i hard code my approval name and other stuff.

please let me know what shall i do .

my coding is

<b>DATA:

ls_header TYPE bbp_pds_sc_header_d,

  • tables for different approval criteria

lv_call_crit1 TYPE bbp_wfl_app_criterion,

lv_call_value1 TYPE bbp_wfl_app_property,

  • local help variables

lv_guid TYPE crmt_object_guid,

  • item fields and structures

ls_item TYPE bbp_pds_sc_item_d,

lt_item TYPE TABLE OF bbp_pds_sc_item_d,

  • accounting structures

ls_account TYPE bbp_pds_acc,

lt_account TYPE TABLE OF bbp_pds_acc.

DATA: ls_approver TYPE bbp_wfl_approval_table_badi,

ls_item_approval_table TYPE bbps_wfl_item_approval,

ls_item_approval_history_table type BBPS_WFL_ITEM_APPROVAL,

ls_item_approval_obj TYPE BBPS_WFL_ITEM_APPROVAL_OBJ.

  • Approval Agent

data: lv_ APPROVAL1 type USR02-BNAME value 'APPROVAL1',

lv_ APPROVAL2 type USR02-BNAME value ‘APPROVAL2'.

  • Business objects (local)

CONSTANTS:

c_shop TYPE crmt_subobject_category_db VALUE 'BUS2121'.

  • Approval Criteria and properties used (local)

CONSTANTS:

c_prod_categ TYPE bbp_wfl_app_criterion VALUE 'PROD_CAT'.

  • Local Constants

Constants :

c_agent_is_user TYPE otype VALUE 'US',

c_product_caterory type COMT_CATEGORY_ID value 'Prdu_category1',

c_product_caterory1 type COMT_CATEGORY_ID value 'Prdu_category2'.

MOVE guid TO lv_guid.

CASE object_type.

WHEN c_shop.

  • ----------- shopping cart ---------------------------------- *

      • get the details of the shopping cart

CALL FUNCTION 'BBP_PD_SC_GETDETAIL'

EXPORTING

i_guid = lv_guid

i_object_id = object_id

  • I_WITH_ITEMDATA = 'X'

IMPORTING

e_header = ls_header

  • EV_IS_PD =

  • ET_ATTACH =

TABLES

e_item = lt_item

.

ENDCASE.

CONCATENATE c_agent_is_user lv_ APPROVAL1

INTO lv_ APPROVAL1.

CONCATENATE c_agent_is_user lv_ APPROVAL2

INTO lv_ APPROVAL2.

*PROCESS ITEM LEVEL VALUES

LOOP AT LT_ITEM INTO ls_item WHERE del_ind IS INITIAL.

      • We consider only items, which are not deleted (del_ind = 'X')

if ls_item-category_id = c_product_caterory.

ls_approver-approval_index = '1'.

ls_approver-APPROVAL_AGENT = lv_ APPROVAL1.

ls_approver-NAME = 'Approver 1'.

ls_approver-approval_description = 'Proc Cat approval'.

ls_approver-APPROVAL_OBJECT_GUID = ls_item-guid.

      • FILL APPROVAL TABLE

APPEND ls_approver TO APPROVAL_TABLE.

ENDIF.

if ls_item-category_id = c_product_caterory1.

ls_approver-approval_index = '1'.

ls_approver-APPROVAL_AGENT = lv_ APPROVAL1.

ls_approver-NAME = 'Approver 2'.

ls_approver-approval_description = 'Proc Cat approval1'.

ls_approver-APPROVAL_OBJECT_GUID = ls_item-guid.

      • FILL APPROVAL TABLE

APPEND ls_approver TO APPROVAL_TABLE.

ENDIF.

      • Fill item table (Which items belongs to which approval object)

ls_item_approval_table-approval_object_guid = ls_header-guid.

ls_item_approval_table-approval_item_guid = ls_item-guid.

APPEND ls_item_approval_table TO item_approval_table.

ls_item_approval_obj-SC_GUID = ls_header-guid.

**Get Approval Object

CALL FUNCTION 'SYSTEM_UUID_C_CREATE'

IMPORTING

uuid = ls_item_approval_obj-approval_object_guid.

*ls_item_approval_obj-APPROVAL_OBJECT_GUID = ls_item-guid.

append ls_item_approval_obj to item_approval_obj.

ls_item_approval_history_table-approval_object_guid = ls_header-guid.

ls_item_approval_history_table-approval_item_guid = ls_item-guid.

append ls_item_approval_history_table to item_approval_history_table .

ENDLOOP.

look my above coding and let me know what shall i do. it's very urgent .</b>

thanks,

Durai.