Item Level Approval in Incoming Invoice

Hi Gurus,
I am new to the concepts of workflow and really dont have good experince to take up this job. But still I want to give my best shot and see if I can do.
I am trying to accomplish item level approval for incoming invoice using business object FIPP. I have below mentioned questions in this regards,
1) Is it possible to achive item level approval for incoming(vendor) invoice using business object FIPP?
2) If <b>YES</b> , Please provide me with some hints on how to achieve it.
3) Is there any BADI available to enalbling this functionality?
Any kind of help in this regard is highly appreciated and rewarded.
Regards,
Sapna Madhuri
Message was edited by:
        sapna madhuri

Your solution design must of course depend on the functional requirements (specification). I can not (will not, I have a job to attend to even if I tend to spend too much time here on SDN sometimes) tell you everything that is involved in the workflow builder, nor what the graph should look like.
There is not one answer to these questions. You can probably find several (more than two) different technical solutions that meet the requirements. Not all will be equally elegant. Not all will be equally robust. Not all will be equally maintainable. Some will give a higher system load than others. And so on, and so on. <b><u>You</u></b> have to make the choices, not some fellow SDN-er far away from you and your customer.
<b>First question:</b> is approval of level 1 and 2 approvers performed independently for each item or depending on the previous level being completed (i.e. must all level 1 approvers approve before relevant items are sent to level 2 approvers)?
If they are handled independently, you can create a subworkflow and use dynamic parallel processing to instantiate it for all items. If there is dependence, you can perhaps use two dynamic parallel processing steps, first for level 1 approvers and then for level 2 approvers.
<b>Second question:</b> what happens if an approver rejects an item?
There is no easy way out, you have to spend time to find out what the best solution is. I'm not here to spoon-feed anyone any solutions, but I don't mind telling what my ideas are. OK, once in a while I will actually give someone a complete solution, like many others here, but that's mostly to very specific and limited questions. Your query is very broad and nearly unlimited in scope.

Similar Messages

  • Header and item level approval using N level BADI

    Hi Experts,
    I beleive we can use either header level or item level approval workflow (WS14000133 and WS14500015) using N Approval-BADI. Please advise what information approval will be able to see if we will be using WS14000133 (Header level approval). Can he see all line item information or header level only.
    Regards,
    Kamal

    In SRM the same BADI is used for SC, PO, Invoice and others as well..  If you see the example implementation provided by SAP, you can see the use of CASE statement with different Business Objects and code under it.
    Irrespective of the Header level or Item level approval workflow the same BADI has to be implemented.
    The difference between Header and Item Level approval is
    1) In Header level, approval or rejection is done for the whole cart (there can be 1 item or multiple items).
        Approver will be able to see all the items in the cart.
    2) In Item level, approval or rejection is done for each and every line item. here is an example ---
      Line item 1 has Cost Center as Account Assignment Category and has to be approved by Users A and B.
      Line item 2 has Internal Order as Account Assignment Category and has to be approved by Users C and D.
    Item 1 goes to user A and once approved, it goes to B.  they will not be able to approve or reject item 2. but we can restrict user A and B to see item 2 or not by setting a flag..
    Item 2 goes to user C and once approved, it goes to D.  they will not be able to approve or reject item 1. but we can restrict user C and D to see item 1 or not by setting a flag..
    The SC will get released only after all the items are approved.
    For Header Level approval, you need to fill the APPROVAL_TABLE.
    For Item Level approval, you need to make use of APPROVAL_TABLE, ITEM_APPROVAL_TABLE and ITEM_APPROVAL_OBJ.
    Examples provided by SAP might give you an idea how to code for Header and Item Level.
    Hope this gives you some information .....
    Regards,
    PR.
    Edited by: PR on Nov 25, 2008 10:50 PM

  • SRM 7.0 SP05 - BRF Item level approval does not work

    Hi Experts,
    I am working on process controlled workflow for shopping cart approval process.  I have defined necessary process levels and workflow works fine for a single item SC.
    I have selected decision type as "Item-based approval for partial document" for each process level and hence expect each line item (according the start condition) should have it's own set off approvers, but instead of this, system determines approvers at header level and hence item which does not really need approval undergoes approval as well.
    Could you please help me to resolve the issue?
    Thanks in advance.
    Best Regards,
    Amit

    Hi Bharat,
    Yes, we are using the copy of the standard implementation. We are looking into the BADI implementation and trying to assign a separate AREA GUID to each line item. Hopefully, when different aggents are assigned to these AREA GUIDs, it will enable the item level approval. I will keep you updated.
    Meanwhile, it would be really helpful if you could share some sample code of such badi implementation which can help me to understand it more clearly.
    Thanks & Regards,
    Amit

  • Line Item Level Approval For SC-SRM7.02

    Hi Experts,
    I am working on the line item level approval based on cost center. can some one help me in achieving this?
    i have few doubts regarding this
    1) we are using application controlled workflow is it feasible to achieve this functionality ?
    2) will separate PO will be created for each line item?.
    some pointer would be really helpful.

    Hi Mano,
    1. Yes, but would suggest to use new process controlled workflow.
    2. No, Cost center is not a split criteria for PO creation. Of course you can overwrite it with ABAP.
    Regards
    Konstantin

  • N level workflow. item level approval

    Hello,
    How does item level approval work in N level workflow ?
    1) Suppose the shopping cart has 3 items then does the workflow proceed only after all the three approvers approve their items ?
    2) Does the approval workitem stay in the approvers inbox will the time all are approved ? and if yes does the approved workitem appears differently ?
    3) Does the approver see only his item or all other items too? if he does then are the other items greyed out?
    4) What happens if or more of the approvers changes the contents of the item or rejects the item? Does the entire shopping cart again goes to the requestor and what happens to the other approver workitems ?
    5) Is it possible to have shopping cart level approval workflows as well for N level workflow ?
    Where can I find this information in sap help?
    Kindly help its urgent !! thanks !!

    Hi Rita,
    Please see the links,it will help you.
    http://help.sap.com/saphelp_srm30/helpdata/en/8b/4fa9585db211d2b404006094b92d37/content.htm
    This will answer most of your questions
    http://help.sap.com/saphelp_srm30/helpdata/en/5a/af5eff85d011d2b42d006094b92d37/content.htm
    Regards,nishant

  • Line Item Level Approval For SC-SRM7.02-WS14500015

    Hi Expert,
    I am using workflow template WS14500015 for line item level approval.i have few doubts on this
    i am using cost center based approval, so if the 1st line item is approved will it generate a PO or will it wait for the entire shopping cart to be approved.

    Hi Mano,
    Are you using application controlled workflow or process controlled workflow?
    For process controlled workflow you can refer to the SRM 7.0 Workflow guide:
    https://websmp108.sap-ag.de/instguides > sap business suite and applications> SRM 7.0 > Workflow Guide - SAP SRM 7.0 and Configuration guide.
    Page 16, Approval Processes in SAP SRM; you will understand possibilities of SRM 7.0 process controlled workflow and then decide which one you need.
    Also refer to 7 Appendix B: Approver Determination Strategies in the Standard
    This has few example classes/BADI implementation for agent determination which you can refer to.
    Regards,
    Ashish

  • Line Item level Approval for Shopping cart

    Hi Expert,
    I am using workflow template WS14500015 for line item level approval.i have few doubts on this
    i am using cost center based approval, so if the 1st line item is approved will it generate a PO or will it wait for all the line items approval.

    Hi Mano,
    if you use approval. It will be approved by steps. Next step will not be started until previous completely done. In your case 1st Item should wait until all other items processed.
    Regards
    Konstantin

  • Process Controlled Workflow- Shopping Cart Item level approval

    Hi experts,
    In SRM 7.0 I have activated BC Set '/SAPSRM/C_SC_600_001_SP04' & I have implemented BADI '/SAPSRM/BD_WF_RESP_RESOLVER'.
    My requirement is to send work item to WBS owner at item level.So the possible cases are 10 items will go for 10 approvers if they have 10 different WBS..
    I have written logic to fetch WBS owner in method'GET_APPROVERS_BY_AREA_GUID' & assigning approvers to 'rt_approver'.
    But the problem is all the approvers are assigned to all items.Rather it should be one item & corresponding WBS owner should be the approver.
    Please suggest how I can achieve the required functionality.
    Thank you.

    Hi Masa,
    I have used 'GET_AREA_TO_ITEM_MAP' only to export 'is_document-document_guid' from method '~GET_AREA_TO_ITEM_MAP' to 'GET_APPROVERS_BY_AREA_GUID'.
    Can I use this method for mappping Items & approvers?
    Please suggest.
    Thank you.

  • Workflow issue : N step Item level approval for SC

    Hello Friends,
    We are working on SRM 4.0 , classic scenario , SP11.
    Here we are facing a typical issue in workflow. We are using Nstep approval for SC.
    In the standard task TS14508044, the work item text is "Approval of SC ".The shopping cart value is being populated by container element &amp;APPOBJ.OBJECTTOAPPROVE.TOTALVALUESTRING&amp;
    This same container element is used to populate the shopping cart value in the task description. However what we observe is that in the workflow log, the container element APPOBJ is initial.
    How is the total value of the shopping cart populated then?
    Also, the value of the shopping cart in the work item text and the work item description is in different currency format.
    The shoppng cart value in the work item text is in the format 12,34,567.89 whereas that in the description is in the format
    12.934.567,8
    Appreciate your inputs on this.

    Thanks Masa,
    For your valuable suggestion. Now after changing the WF-BATCH settings there is consistency in the currency format.
    Now the question is how we can change into the currency format of the user ?
    The user format is 1,234,567. 89 but still work item text and
    description is in 1.234.567, 89 format.
    Thank you

  • Approval status at item level

    Hi,
    I need to know whether the shopping cart item is rejected or not.(need to know the approval status at item level) and then make the rejection reason as mandatory.
    I tried to get the value of the flag DEDUCT_IND from each item,but it is never set to 'X' eventhough I reject an item.could anybody please tell me when this flag will be changed or is there any other way to find the approval status at item level.
    Regards,
    Rohini

    What is your SRM Version  ?
    If you have implemented process control workflow for Item level approval, then.
    Once the approver rejects and item, the workflow sends the workitem back to the requester to make changes are accept the rejection. If the requester accepts the rejection then the workflow continues. If the workflow does not have any more approver then the shopping cart is approved and the line item which is rejected by approver is set to DELETE. i.e. BBP_PDIGP-DEL_IND is set to 'X'.

  • Incoming Order IDOC - updating VBKD-IHREZ_E at item level

    Hi all,
    I am trying to update field VBKD-IHREZ_E at item level from an incoming Idoc with no success yet.
    Here is first exit to store requested data from the idoc ZXVEDU03
    IF segment-segnam =  'E1EDP19'.
        xvbap = dxvbap.
        MOVE segment-sdata TO lo_e1edp19 .
        IF lo_e1edp19-qualf = '001'.
          xvbap-ihrez_e = lo_e1edp19-idtnr.
          dxvbap = xvbap.
        ENDIF.
    ENDIF.
    Here is second exit to update the sales order field ZXVEDU04:
    CASE dlast_dynpro.
      WHEN '4002'.
    WHEN '4003'.
        READ TABLE dxbdcdata WITH KEY fnam = 'VBKD-IHREZ_E'.
        IF sy-subrc NE 0.
         DATA wa_tabix TYPE syst-tabix.
          MOVE sy-tabix TO wa_tabix.
         DATA wa_dxbdcdata TYPE bdcdata.
          MOVE 'VBKD-IHREZ_E' TO wa_dxbdcdata-fnam.
          MOVE zzxvbap-ihrez_e TO wa_dxbdcdata-fval.
          INSERT wa_dxbdcdata INTO dxbdcdata INDEX wa_tabix.
        ENDIF.
      ENDIF.
    ENDCASE.
    Field is not updated in sales order. I tried to put the same logic at header lever (dynpro 4002) and it does work (though all items have the same value)
    If a good soul could help, it would be very much appreciated.
    regards,
    Bruno
    Edited by: Bruno Monconduit on Mar 8, 2011 1:08 PM

    Hi all,
    actually I had to add some extra logic in the exit to go update IHREZ_E in another dynpro 5003.
    Hereafter code implemented (works fine)
    Regards,
    Bruno
    WHEN '5003'.
            DATA: lt_vbap LIKE xvbap.
            lt_vbap = dxvbap.
    changing screen to update field
            PERFORM dynpro_setzen IN PROGRAM saplveda
            USING 'BDC_OKCODE' '=T\11'.
           PERFORM dynpro_new(saplveda) USING programm_auftrag
           '4003' CHANGING dlast_dynpro.
            PERFORM dynpro_setzen IN PROGRAM saplveda
            USING 'BDC_OKCODE' '=/00'.
            PERFORM dynpro_setzen(saplveda) USING 'VBKD-IHREZ_E'
            lt_vbap-ihrez_e.
            PERFORM dynpro_setzen IN PROGRAM saplveda
            USING 'BDC_OKCODE' '=T\06'.
    back to screen 5003
            PERFORM dynpro_new IN PROGRAM saplveda
                               USING 'SAPMV45A'
                                        '5003'
                               CHANGING last_dynpro.
           PERFORM dynpro_setzen IN PROGRAM saplveda
           USING 'BDC_OKCODE' '/EBABA'.
    Edited by: Bruno Monconduit on May 25, 2011 6:32 PM

  • Re-starting Item Level Shopping Cart Approval Workflow

    Hi All -
    We are implementing WS 14500015 - the Item-based n-level approval workflow for shopping carts - for certain scenarios.  In other scenarios we are using the overall approval workflow.
    I need to re-start the item-level approval workflow for certain scenarios (change in price, change in quantity, etc) - not when any and all changes are made to a line item.
    I was hoping to use the badi BBP_WFL_SECUR_BADI - which works great for the overall n-level shopping cart approval workflow.  However, I can't seem to hit it appropriately for the item level approval workflow!
    Does anyone know if this BADI or any other can be utilized for determining when to re-start the item-level shopping cart n-level approval workflow?
    Thanks so much!
    Abby

    hi,
    Have you implemented the badi BBP_WFL_SECUR_BADI ? for restarting the workflow?
    Let me know?
    Also it is possible to debug and see why the restart does not happen.
    Also let me know wether the restart happens in other cases?

  • Invoice Parking - 2 Level Approval Workflow not working

    Hi,
    I am having trouble making the two level approval work for invoice parking functionality. I have maintained Release Level = 2 and Sub w/f = WS10000053.
    Rest I have configured as detailed in this link http://www.thesapconsultant.com/2008/09/simple-sap-workflow.html
    When i test the above workflow from SWDD it is working fine. i.e., first one user gets the workitem and after he approves/rejects, it is going to second user. This proved that the user assignment i have maintained is correct.
    But when I park the invoice (using "Save As Completed" button) using FV60, it only going to one user. After he/she approves/rejects it is not going anywhere. I checked in SWI1 transaction where no open tasks (error or hanged etc) are seen.
    Can anyone please advise if i am missing anything?

    Dear Rachit,
    There is a dedicated forum for Workflow i.e. SAP Business Workflow
    Post your thread there, you will get fast response.
    I can suggest you one thing check the agent assignment is done or not
    Regards,
    Chandra

  • Excise tab at item level in MIGO screen

    Dear Gurus,
    Am getting excise invoice tab at header level, but not at item level. Because of that I am facing so many problems like posting on assesable values, manually changing those values etc..
    Let me know what else required to be configured to get the same at item level.
    Satish

    Hello,
    Excise invoice tab will be available only in MIGO header during GR creation.
    Once Excise Part - 2 is done, details of the same will be available in the MIgo line item excise tab.
    Note: you should not change the value of the assessable value and all during GR at excise tab. (Only rounding off is advsed).
    if u r changing the values means, PO value is mismatching with the excise invoice value, here u need to ask the Buyer to change or amend thee Purchase order
    Regards
    Shenoi.

  • RE: Item-based approval

    Item Level Approval..
    with regards to post so I can reward points to those who can really give a light on my issue. Thanks!

    Please help.
    I've tried to populate TABLE bbpt_wfl_lia_def..Used the recommended FUNCTION MODULE BBP_WFL_DIN_APP_OBJ_GET
    but i am still encountering "no workflow was found" But if the amount is less than 100,000, it has 1 level approver. BUT the items are still on the header level not item based. PLEASE help
    have this code but was not able to give the correct result.
    TABLE BBPT_WFL_LIA_DEF
    CRIT_NAME1 CRITVALUE1 AGENT1     AGENT2 AGENT33
    LOW         50000019   50000042
    LOW         50000032   50000050
    MEDIUM      50000019   50000042  50000077
    MEDIUM      50000032   50000050  50000077
    HIGH        50000019   50000042  50000077  5000076
    HIGH         50000032  50000042  50000077  5000076
    CRITVALUE1= ORGUNIT ID
    AGENT1 = User ID of Approver
    AGENT2 = User ID of Approver 2 levels
    AGENT3 = USER ID of approver 3 levels
    ZPOPULATE_LT_APPR_DEF'
    SELECT * FROM bbpt_wfl_lia_def
    INTO CORRESPONDING FIELDS OF TABLE lt_appr_def.
    LOOP AT lt_item INTO ls_item WHERE del_ind IS INITIAL.
              IF ls_item-ordered_prod is initial. "NS
    NS
                CALL FUNCTION 'ZPOPULATE_LT_APPR_DEF'
                  TABLES
                    LT_APPR_DEF = lt_appr_def.
                ls_approval_item-approval_item_guid = ls_item-guid.
                 MESSAGE actual_approval_index TYPE 'I'.
                IF actual_approval_index LE 1.
                  CLEAR ls_item_app_obj.
                  ls_item_app_obj-sc_guid = ls_header-guid.
                  IF ls_item-value <= 200000.
                    lv_call_crit1 = 'LOW'.
                  ELSEIF ls_item-value > 200000 and
                         ls_item-value <= 1000000.
                    lv_call_crit1 = 'MEDIUM'.
                  ELSE.
                    lv_call_crit1 = 'HIGH'.
                  ENDIF.
                     lv_call_crit1 = c_org_unit.
                  lv_call_value1 = ls_orgdata-proc_group_id.
                   if actual_approval_index LE 1.
                  CALL FUNCTION 'BBP_WFL_DIN_APP_OBJ_GET'
                    EXPORTING
                      sc_guid           = ls_header-guid
                      criterion1        = lv_call_crit1
                      value1            = lv_call_value1
                    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.
                  APPEND ls_approval_item TO lt_approval_items.
                  if lv_call_crit1 = 'MEDIUM'.
                    CALL FUNCTION 'BBP_WFL_DIN_APP_OBJ_GET'
                      EXPORTING
                        sc_guid           = ls_header-guid
                        criterion1        = lv_call_crit1
                        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.
                    APPEND ls_approval_item TO lt_approval_items.
                  endif.
                  if lv_call_crit1 = 'HIGH'.
                    CALL FUNCTION 'BBP_WFL_DIN_APP_OBJ_GET'
                      EXPORTING
                        sc_guid           = ls_header-guid
                        criterion1        = lv_call_crit1
                        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.
                    APPEND ls_approval_item TO lt_approval_items.
                  endif.
    ELSE
    --to be implemented
    ENDIF.

Maybe you are looking for