When an approver assigns a substitute for approval, the PO Value Limit (HRP5503-LIMIT) for the position needs to be equal to or greater than that of the approver. If this is not true, then an error message saying u201CSubstitute has insufficient signing authorityu201D should be returned to the user upon adding the substitute.
Logic can be found in SAP program LBW02F01 (include)
under routine FORM / D1328_FIND_DEPUTIES
Here i need to fetch the PO approver details and substitute detaiils.
Please let me know about this.
Thanks in advance
Substitution is for the total inbox ...
I don't think it can be done only for Purchase Order or Shopping Cart or What ever it is...
You can use the Implicit Enhacement Operation to add code to the standard sap code...
Try to re-use the following code and get the value limit from the Business Object BUS4101.
"swc_create_object req_user 'BUS4101' sy-uname.
swc_get_property req_user 'ApprovalLimit' lv_calimit-approval_limit.
swc_get_property req_user 'ApprovalCurrency' lv_calimit-currency."
FORM / D1328_FIND_DEPUTIES -- In this, "gt_deputies" is the standard table used by SAP in the code which stores all the substitute uses..
You need to delete the user entries who are having value limit less than the approver user in the "gt_deputies".
I have done the same for one of my requirements.. but it was not specific for only PO.
you can use the function module --> BBP_READ_ATTRIBUTES --> for retrieving the approval limit --> of the user
you have to provide the following input parameters --> iv_object --> enter 'US' for OT --> and username for OBJID -->
for the parameter --> iv_attr_single --> enter value --> apprv_lim for ATTR_ID -->
as soon as you execute the function module --> Function module --> will return --> the approval limit of the user..
you can use the same function module for both --> the approver and also the substitute and check for values --> and issue an error message.