Material Groupwise authorization for purchase requisation creation

Gurus
My client want to give authorization for creating purchase requisation - material groupwise. i.es for material group 1,2,3,4,5,purchase group 100 has the authority to create the PRs and for material group 6,7 & 9 it should be with purchase group 101
How to fix this problem.
Atul kulkarni

Here comes the standard solution
1- In transaction OMSF, you will have to create an Authorization Group for each Material Group.
2- Assign this Authorization Group to User roles.To include the Authorization group in user role, add t-code MM03 - material display.
3- Using Standrad Business Addin "BAdI: Define Follow-On Processing for Purchase Requisitions" you can ask your ABAPer to make a simple logic to validate the material group assigned to PR creater's profile.
It should solve the problem.
Hope it helps,
Fizzah
Edited by: Fizzah Mustafeez on Apr 26, 2010 2:49 PM

Similar Messages

  • Getting errors when iam using  BAPI_PO_CREATE1 for Purchase Order creation

    Hi sap Gurus,
      I am getting Errors when iam using  BAPI_PO_CREATE1 for Purchase Order creation that Material (144) does not exist but it is alreardy maintained in MM01.
    I dont get how it is coming.and what are the mandatory fields in bapi BAPI_PO_CREATE1 in item level .that is too material only.
    pls let me know .
    thanks in advance.

    Hi,
    Check the sample code..
    report  zpo_test             .
    *DATA DECLARATION
    constants : c_x value 'X'.
    *Structures to hold PO header data
    data : header like bapimepoheader ,
    headerx like bapimepoheaderx .
    *Structures to hold PO account data
    data : account like bapimepoaccount occurs 0 with header line ,
    accountx like bapimepoaccountx occurs 0 with header line .
    *Internal Tables to hold PO ITEM DATA
    data : item like bapimepoitem occurs 0 with header line,
    itemx like bapimepoitemx occurs 0 with header line,
    *Internal table to hold messages from BAPI call
    return like bapiret2 occurs 0 with header line,
    *Internal table to hold messages from BAPI call
    pocontractlimits like bapiesucc occurs 0 with header line.
    data : w_header(40) value 'PO Header',
    purchaseorder like bapimepoheader-po_number,
    delivery_date like bapimeposchedule-delivery_date.
    data : ws_langu like sy-langu.
    *text-001 = 'PO Header' - define as text element
    selection-screen begin of block b1 with frame title text-001.
    parameters : company like header-comp_code default '122' ,
    doctyp like header-doc_type default 'NB' ,
    cdate like header-creat_date default sy-datum ,
    vendor like header-vendor default '2000000012' ,
    pur_org like header-purch_org default 'PU01' ,
    pur_grp like header-pur_group default '005' .
    *sociedad like HEADER-COMP_CODE default '122' ,
    *vendedor like HEADER-SALES_PERS default 'sale person'.
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-002.
    parameters : item_num like item-po_item default '00010',
    material like item-material default '12000000' ,
    tipo_imp like item-acctasscat default 'K' ,
    *pos_doc like ITEM-ITEM_CAT default 'F' ,
    shorttxt like item-short_text default 'PRUEBA BAPI' ,
    grup_art like item-matl_group default '817230000' ,
    plant like item-plant default '3001' ,
    mpe like item-trackingno default '9999' ,
    *contrato like ITEM-AGREEMENT default '4904000003' ,
    *quantity like ITEM-QUANTITY default 1 .
    po_unit like item-po_unit default 'EA'.
    selection-screen end of block b2.
    Par?mnetros de imputaci?n
    selection-screen begin of block b3 with frame title text-004.
    parameters : centro like account-costcenter default '1220813150',
    cuenta like account-gl_account default '6631400' ,
    num_pos like account-po_item default '10' ,
    serial like account-serial_no default '01' ,
    ind_imp like account-tax_code default 'I2' .
    selection-screen end of block b3.
    start-of-selection.
    *DATA POPULATION
      ws_langu = sy-langu. "Language variable
    *POPULATE HEADER DATA FOR PO
    *HEADER-COMP_CODE = sociedad .
      header-doc_type = doctyp .
      header-vendor = vendor .
      header-creat_date = cdate .
      header-created_by = 'TD17191' .
      header-purch_org = pur_org .
      header-pur_group = pur_grp .
      header-comp_code = company .
      header-langu = ws_langu .
    *HEADER-SALES_PERS = vendedor .
    *HEADER-CURRENCY = 'DOP' .
    *HEADER-ITEM_INTVL = 10 .
    *HEADER-PMNTTRMS = 'N30' .
    *HEADER-EXCH_RATE = 1 .
    *POPULATE HEADER FLAG.
      headerx-comp_code = c_x.
      headerx-doc_type = c_x.
      headerx-vendor = c_x.
      headerx-creat_date = c_x.
      headerx-created_by = c_x.
      headerx-purch_org = c_x.
      headerx-pur_group = c_x.
      headerx-langu = c_x.
    *HEADERX-sales_pers = c_x.
    *HEADERX-CURRENCY = c_x.
    *HEADER-ITEM_INTVL = c_x.
    *HEADER-PMNTTRMS = c_x.
    *HEADER-EXCH_RATE = c_x.
    *HEADER-EXCH_RATE = c_x.
    *POPULATE ITEM DATA.
      item-po_item = item_num.
      item-quantity = '1'.
    *ITEM-MATERIAL = material .
      item-short_text = 'prueba bapi_po_create1'.
    *ITEM-TAX_CODE = ''.
      item-acctasscat = 'K' .
    *ITEM-ITEM_CAT = 'D' .
      item-matl_group = '817230000' .
      item-plant = '3001' .
      item-trackingno = '99999'.
      item-preq_name = 'test'.
    *ITEM-AGREEMENT = '' .
    *ITEM-AGMT_ITEM = ''.
      item-quantity = '1' .
      item-po_unit = 'EA'.
    *ITEM-ORDERPR_UN = 'EA'.
      item-conv_num1 = '1'.
      item-conv_den1 = '1'.
      item-net_price = '1000000' .
      item-price_unit = '1'.
      item-gr_pr_time = '0'.
      item-prnt_price = 'X'.
      item-unlimited_dlv = 'X'.
      item-gr_ind = 'X' .
      item-ir_ind = 'X' .
      item-gr_basediv = 'X'.
    *ITEM-PCKG_NO = '' .
      append item. clear item.
    *POPULATE ITEM FLAG TABLE
      itemx-po_item = item_num.
      itemx-po_itemx = c_x.
    *ITEMX-MATERIAL = C_X.
      itemx-short_text = c_x.
      itemx-quantity = c_x.
    *ITEMX-TAX_CODE = C_X.
      itemx-acctasscat = c_x.
    *ITEMX-ITEM_CAT = c_x.
      itemx-matl_group = c_x.
      itemx-plant = c_x.
      itemx-trackingno = c_x.
      itemx-preq_name = c_x.
    *ITEMX-AGREEMENT = C_X.
    *ITEMX-AGMT_ITEM = c_x.
      itemx-stge_loc = c_x.
      itemx-quantity = c_x.
      itemx-po_unit = c_x.
    *ITEMX-ORDERPR_UN = C_X.
      itemx-conv_num1 = c_x.
      itemx-conv_den1 = c_x.
      itemx-net_price = c_x.
      itemx-price_unit = c_x.
      itemx-gr_pr_time = c_x.
      itemx-prnt_price = c_x.
      itemx-unlimited_dlv = c_x.
      itemx-gr_ind = c_x .
      itemx-ir_ind = c_x .
      itemx-gr_basediv = c_x .
      append itemx. clear itemx.
    *POPULATE ACCOUNT DATA.
      account-po_item = item_num.
      account-serial_no = serial .
      account-creat_date = sy-datum .
      account-costcenter = centro .
      account-gl_account = cuenta .
      account-gr_rcpt = 'tester'.
      append account. clear account.
    *POPULATE ACCOUNT FLAG TABLE.
      accountx-po_item = item_num .
      accountx-po_itemx = c_x .
      accountx-serial_no = serial .
      accountx-serial_nox = c_x .
      accountx-creat_date = c_x .
      accountx-costcenter = c_x .
      accountx-gl_account = c_x .
      account-gr_rcpt = c_x.
      append accountx. clear accountx.
    *BAPI CALL
      call function 'DIALOG_SET_NO_DIALOG'.
      call function 'BAPI_PO_CREATE1'
        exporting
          poheader         = header
          poheaderx        = headerx
        importing
          exppurchaseorder = purchaseorder
        tables
          return           = return
          poitem           = item
          poitemx          = itemx
          poaccount        = account
          poaccountx       = accountx.
    *Confirm the document creation by calling database COMMIT
      call function 'BAPI_TRANSACTION_COMMIT'
      exporting
      wait = 'X'
    IMPORTING
    RETURN =
    end-of-selection.
    *Output the messages returned from BAPI call
      loop at return.
        write / return-message.
      endloop.
    Regards
    Sudheer

  • Materials available only for Purchase requisition creation

    Hi Experts,
    My client wants some materials available only for Purchase requisition creation and some materials donu2019t want available only for Purchase requisition creation.
    How we can control
    Thanks in advance,
    Chandhu

    1) Solve your issue first you have to bifurcate between the materials where requisition is possible & where not...u can do this by selecting some field which is not in use presently in material master-basic data view & maintain some unique value for those materials for which PR will be not possible....otherwise check whether you can bifurcate it through material groups or not...
    After this take help of your ABAP person and implement BAdI::ME_PROCESS_REQ_CUST...here use the logic that after user enters the material code in PR system will check in the background what has been maintained in the said field in the basic data view of the material...if found blank then it will allow the user process further or if found any data in that field then system will stop the user from processing the same by throwing some customized error message.
    2) Use the Plant-sp.matl status in purchasing view as Blocked for procment/whse for those material against which you don't want to create any PR.But this will be plant specific and both PR & PO will get blocked.
    Regards,
    Indranil

  • Document is in transfer for purchase order.Creation not possible

    Dear All,
    We did partial confirmation in EBP and later when trying to do confiramtion for the remaining quantiy getting the message"document is in transfer for purchase order.Creation not possible"
    We are taking this problem in production as well as in quality systems also.
    What are possible reason and how to solve it.
    kindly share your views.
    Thank you.

    Hi yshu,
    use tcode bd87 in SRM to check for failed confirmation IDOC (type MBGMCR).
    The double click the status record to see the exact cause of the failure.
    Rectify the error. Then try to execute the IDOC from BD87 tcode.
    For a few errors you may not be able to execute the IDOC but to create a new confirmation in SRM. In such cases, follow the below procedure..
    There should be an entry for the confirmation in the transfer table BBP_DOCUMENT_TAB in SRM. Display the details.
    Then run FM "BBP_DELETE_FROM_DOCUMENT_TAB" to delete the entry from the doc tab table.
    Then post a new confirmation in SRM.
    There is also a FM in SRM using which you can change the status of thefailed IDOC from 51 to 68 or 31.
    Rgds,
    MJ

  • Document in transfer for purchase order - creation not possible

    Hi Experts,
    we get this error when we do confirmation"'document in transfer for purchase order - creation not possible'"
    any inputs are appreciated
    Rg
    sam

    Hi All,
    We have resolved the above problem.
    When user does confirmation ,if it sucessfully  created then there will be  no entry in BBP_Document_tab table.If it's in error in process and next time when user tries to do GR then he will encounter a pop up message "Document in transfer for PO, creation not possible".
    So we need to delete the entries from table BBP_DOCUMENT_TAB using FM BBP_DELETE_FROM_DOCUMENT_TAB.
    Then check again in BBP_DOCUMENT_TAB now there will be noentry there...so now user can do the confirmation from SRM,he will not encounter this error now.
    Thanks to all the ppl who has replied
    sameer

  • Require coding for purchase requisation outstanding aging report

    Hi Gurus,
                    I got a requirment to develop  purchase requisation outstanding aging report.Please provide me the coding for purchase requisation outstanding aging report.
    Points will be rewarded  for every reply.
    Regards ,
    Sonali.

    Hi Sonali,
    You need to use EBAN, EBKN Tables.
    Regards,
    Satish

  • Workflow to send mail for purchase requisation and approval msg which automatically updates sap

    I am new to workflow,I need to create work flow for purchase requisation and send mail for concern person for approval,like if he clicks approve in mail ,automatically it should get updated in sap if he rejects then he should enter reason for rejection
    pls help...

    Hi Surya,
    SAP had provided you with a standard WF template for PR. You only have to activate it. The workflow template is WS20000077. In this what you have to do is, make all the tasks in this
    WF as a general task. For that go to each activity and double click on the task ID. Then from within the task go to menu Additional Data->Agent Assignment->Maintan. Then slect the task and press Attributes and select general task. This will ask for a customizing request. Do this for all task.
    The give event linkage by going to the Basic Data of the workflow and give binding. This will fulfill
    your requirement.
    Regards,
    Abijith

  • Authorization for Measuring document creation

    Hi,
    i have one issue. I want to provide authorization for measuring documents creation. That has been done by providing the different authorization groups in roles for T codes IK11, Ik12 etc to the users. Now users with a authorized authorization group for perticular measuring point can create a measuring document fo that. But the problem is that despite the authorization group, if user goes to t code iw41 for order confirmation , there he can create measuring documents of any authoprization group. How to control that thing. I also give authorization group authorization for t code IW41 but still it is allowing for the creation of documents. any help on this thing.
    Regards,
    Aman Sharma

    Hi
       there are two ways you can control the measurement reading entry
    1. Block the authorisation of IK11.When you go to confirmation screen through IW41 , there a button for measurement document update. Even the user will press it system will not allowed to enter in it as he is no authorisation
    2.You can configure the screen template for overall confirmation  and use this profile while doing overall confirmation using iw42. There you can hide the measurment detail screen.
    customising node " Set Screen Templates for Completion Confirmation "
    Regards
    Amar

  • Profitability segment for purchase order creation - how to read it

    Hello,
    how to read it profitability segment for purchase order creation at item level ??
    There's a method on ME_PROCESS_PO_CUST ?
    Tks

    Hi,
    Use the below FM from the function group KEAK
    To read: COPA_CALL_PROF_SEGMENT or COPA_INPUT_PSEGMENT_RETURN
    To create: COPA_PROFITABILITY_SEGMENT
    Hope this helps
    Regards
    Shiva

  • BAPI for Purchase Order Creation

    Hi All,
    Purchase Order creation through BAPI, Auto Po creation. Please advise program.
    The requirement is: when we delivery the goods from one plant to another plant,PO should create in second plant with goods what delivered from first plant.
    Pranitha
    Moderator message : Spec/requirements dumping is not allowed. Thread locked.
    Edited by: Vinod Kumar on Sep 30, 2011 3:37 PM

    Hi,
    As per  u r requirement
    you can use  : BAPI =>    BAPI_PO_CREATE  with suitable Document  Type ( Stock trasnfert : STO )
    IF  u want to auto po must be created after each delivry in this case you need to use BADI
    'MB_MIGO_BADI; In This BAPI  There is method : POST_DOCUMENT
    In this method u can write code for Auto PO Creation by using BAPI .
    Hope This will Resolve u r query.
    Thanks and Regads
    Santosh

  • Authorization for vendor's creation

    Hi there,
    I have a problem with vendor’s creation authorization (SAP R/3 4.6B)
    For a matter of security, we need to separate the task of creating a vendor in two parts. The  user who can create the vendor’ general datas is not authorized to create the bank details. And vice versa of course.
    So I created two “Group Fields for Vendor Master Records”.
    10      non banking datas
    20     banking datas
    In group 10 I have put the data LFBK-BANKL Banking key (not sure of the English term) and in group 20 I have put LFA1-NAME2 Name 2.
    I gave authorization to non banking datas to user 1 (F_LFA1_AEN / VGRUP = 10) and authorization to banking datas to user 2 (F_LFA1_AEN / VGRUP = 20).
    And it does nothing special…
    Both users can create banking and non banking datas and save the vendor.
    Did I do wrong somewhere or is there a problem with vendor’s creation authorization ?
    Thank you for your help.

    Thank you for your answer, you gave me another idea.
    The solution I wanted to implement doesn’t work for vendor’s creation but only for vendor’s modification.
    So I used “Preparations for Creating Vendor Master Records” > “Define Screen Layout per Activity (Vendors)”. I suppress payment transaction data for Vendor creation (XK01 and FK01). So people who creates vendors cannot create payment transactions data. In fact, nobody can…
    To create payment transaction data you must modify the vendor (XK02 and FK02) and be authorized. To do so, I can use the solution explained in my first post : “Preparations for Changing Vendor Master Records” > “Define Field Groups for Vendor Master Records” and “Group Fields for Vendor Master Records”.

  • Replacing the bapi with the new bapi for purchase order creation

    Hi,
       In the customised code call is there for the bapi function module  'BAPII_PO_CREATE'.
       Iam trying to replace the call with the code that calls function module 'BAPI_PO_CREATE1'.
       Please help me about what changes I needed to do in the code . As there is much mismatch in the import and export parameters
    and tables in both the function modules.
       Thanks in advance.
    Edited by: anwar.indya on Mar 25, 2011 2:18 PM
    Edited by: anwar.indya on Mar 25, 2011 2:19 PM

    Hi,
    As per  u r requirement
    you can use  : BAPI =>    BAPI_PO_CREATE  with suitable Document  Type ( Stock trasnfert : STO )
    IF  u want to auto po must be created after each delivry in this case you need to use BADI
    'MB_MIGO_BADI; In This BAPI  There is method : POST_DOCUMENT
    In this method u can write code for Auto PO Creation by using BAPI .
    Hope This will Resolve u r query.
    Thanks and Regads
    Santosh

  • Please Tell  me the Standard Bapi for Purchase Order Creation

    Hi,
      Please tell me the standard BApi for the PO creation. How to excute the standard Bapi. Please help me.
    Regrads
    Mohan

    Hi Mohan,
    Use this BAPI BAPI_PO_CREATE1.
    Check this post, you have program aswell
    https://forums.sdn.sap.com/click.jspa?searchID=7294168&messageID=1172796
    Regards,
    Satish

  • Failed hard drive-Can I switch authorization for purchased songs to new HD?

    I have a pc that had a hard drive failure, I had a back up of my library and playlists so I was able to import to the new hard drive but all my purchased songs say that this is not an authorized pc. I can authorize it, but that will use up one of my 5 allowed and this is the same pc. Is there any way for me to transfer the authorization to the new hard drive? Thanks

    You'll have to authorise the new hard drive just as if it was a different computer, you can't deauthorise a 'dead' installation on it's own. However once you've reached the limit of 5 authorisations, you have the option once a year to deauthorise them all in one go: About iTunes Music Store Authorisation and Deauthorisation

  • PO not creating for the matl,giving error Material not maint for purchasing

    Hi SAP Gurus,
    When I am trying to create PO for 1 purticular material, system giving error " Material CG056A not maintained by Purchasing Message no. ME 046 " Please let me know in order to create PO successfully what are all the purchasing related information necessary to maintain for this material.
    Thanks and Regards,
    SHARAN.

    Hi
    While creating the material you have not maintained the purchasing view, hence you are getting an error.
    Maintain the purchasing view for the material in MM01, which will solve the problem.
    Rgeards
    girish

Maybe you are looking for