PO, PR creation authorisation restriction based on Internal Order

Dear Forum
We have created a new Interla order type and want that only selective users can make a PO or PR in the Internal orders of that Intenal order type. Is there any way by which we can restrict creation of a PO or PR against an Internal Order, on the basis of Internal order number or internal order type
regards
Parag Bhargava

Hi,
look for an user exit (within enhancement project MEREQ001) when saving a PR / PO where you check SAP-user (maybe from a Z- table) against internal order type.
Best regards, Christian

Similar Messages

  • Restrict Entries in Internal Orders

    Hi
    We have a requirement wherin specific Internal orders should not be allowed to be posted through Financial Transactions ( i.e No entry of Primary Cost Element should be allow on those orders) only secondary cost elements should be allowed
    How can i configure this requirement in the Internal Order
    Please advise
    Regards
    Ashk

    Hello Ashk,
    As a suggestion you can use a User Status for the specific orders that restricts certain business transactions being preformed, such as postings from FI.
    See customizing transaction OK02 and its accompaning online help.
    You'll find it under SPRO -> IMG -> Controlling -> Internal Orders -> Order master data -> status management.
    Regards, Elaine

  • Controlling from internal order

    can anybody help about internal order and how costing will be done based on that internal order.we are a construction company.we want to issue the materials based on internal order. At the end of the project, we want to come to know about the issues and also do the costing based on this internal order. can anybody explain, how this can be done in sap?

    Hi Sridhar,
    You can't post goods movement directly to internal order.
    The goods movements can be posted to the orders generated from the internal order. The cost will be captured in the internal orders.
    thanks and regards
    Murugesan

  • Internal Order restriction with Plant during PR & PO

    Hi All,
    Generally we create budget based PO for each plant.
    So we have defined internal order for each plant and we assigned those order during PR and PO creation
    But my requirement is i want to restrict the Order with respective Plant
    e.g If Order VX123 is created for plant A then Plant B can not use this order during PR and PO.
    So can it be possible in std SAP or i will go for Enhancement?
    Regards
    PR

    Dear Priyaranjan,
    You can achieve above requirement by using the Badi, at the time of creation/change of PR and PO.
    For PO use  ME_PROCESS_PO_CUST
    For PR   use ME_PROCESS_REQ_CUST
    R,
    Amala

  • Block creation of new Internal Order Type

    Hello,
       We have several internal Orders types and we want to block the creation of new IO. Is there any way through customizing to do that?
       I have considering to do it using an step in a validation but I think can be a better way.
    Thanks,

    Hi,
    Ravi is right, you can restrict through authorizations. To do that, you have to modify the role assigned to users that allow them to create internal orders of any type. Use the transaction SUIM, search the role by user or by transaction (KO01). Then, in the role, there is an entry that corresponds to Controlling (CO) -
    > CO-OPA: General authorization object for internal orders (K_ORDER) -
    >
    Order Type  (AUFART)   : Select for example RA01
    Internal order authorization  (AUTHPHASE) :
    Actions for CO-OM Authorizatio (CO_ACTION) :  0000  Master Data.
    Cost Element  (KSTAR) :    
    CO-OM Responsibility Area  (RESPAREA) : 
    Usually a BASIS do the modification of the role.
    Regards,
    David Z.

  • RESPAREA? - authorisations on Internal Order groups?

    Hi together,
    is it possible to restrict on Internal Order Groups in authorisation Object RESPAREA?
    I know its possible for Profitcenter groups etc.. with PH / HI / KN..
    But what about Internal Order groups?
    SIngle Internal Orders I can restrict via OR
    Thank you

    Hi Nicola,
    In your internal order group you might have created so many lower level groups. but any how in any of the group through  EDIT- order- insert order option you have insert the order number...
    If you assign the order numbers in lower level option ... system will give error message...
    If helpful assign points
    Cheers
    PK

  • Authorisation on internal orders

    i wud request someone to help me out with the authorisation of internal order group. we have created int. orders and grouped them. also, the order type is exclusively defined.
    how do we restrict/authorise selective people for viewing the int. order reports thru transaction mode.
    rgds,
    jnd

    Hello
    Please discuss with BASIS team and they would change the authourisations as per the role of the user.
    Reg

  • Restriction for items from Purchase Order based on Sale Order

    Hi !
           We create PO directly from Sale Order ( by ticking Option under Logistic tab, 'Purchase Order') for customer C01 (for eg).
    From the PO created, we post GRPO.
    Now our need is,
    Assume if 10 Qty is been ordered in such a way and been received (GRPO posted). it 'll add on to the stock account i.e will increase stock qty at our whse.
    is it possible to restrict these 10 qty of item from being sold to any other Customer other than whom hav ordered i.e if we create sale order for C02 the SBO should not take the items received from PO created based on Sales Order created for C01?
    Meera.

    Meera,
    Which version of SBO are you using 2005 or 2007?
    I don't think Serial numbers can help in this scenario.  There is no hard allocation or blocking possible using Serial numbers.
    This is the Work around I am thinking about.
    Set the items to be Batch Managed - On Every Transaction
    When performing Goods Receipt, enter the Sales Order Number as the Batch Number
    When creating the delivery, using SBO_SP_TransactionNotification we can easily check the Batch of the Item being selected and verify it with the BaseRef of Delivery lines to match with Sales Order number.
    If the numbers don't match we can warn user with message, "The items batch reserved for Sales Order xyz"
    Even if you make a mistake when entering the batch number same as Sales Order number when doing a goods receipt. It can still be traced and blocked during delivery.
    Hint: The Batch table records the Goods Receipt transaction along with the BaseDocument number, Base Ref, etc
    If you decide to go this route, I could help you further.
    Let me know
    Suda

  • Error message display for PO creation with reference to internal orders

    Sir,
    While creating PO with Tcode ME21N (item category I) with reference to ' Internal Order with Funds provided (Tcode KO12), system displaying error message  when Budget is exceeded.
    But when Funds provision is not mentioned (Funds value is initial in KO12) , error message is not being given by the system during Po creation with ME21N.
    Where should I configure in img(Tcode SPRO) , so that system will throw error mesage while creating PO without Budget Provision (Funds not mentioned ) in Internal Orders.
    Regards,
    Srinivasa Murthy

    Hi Anupam,
    The error message display as follows. (when the PO Price exceeds the Planned Funds kept for internal order)
    This error comes during PO creation Process and PO can not be saved. This error message display is correct.
    Item 001 Order 600643 budget exceeded
    Message no. BP604
    Diagnosis
    In document item 001 Order 600643, budget  for fiscal year 2009 was exceeded by 99,960,000.00 INR.
    But  my question is 'when funds have not at all been mentioned for the internal order' then system has to throw the same error as mentioned above. But it is not happening. System is allowing the PO to save which is not correct.
    Regards,
    Srinivasa Murthy

  • How to restrict Internal Order master data changes

    Hi Experts,
    We have internal orders that have no Functional Area assigned to it at the beginning of the month, but part way through the month a change is made to the master data and a Functional Area gets assigned to the internal order.  When settlement is run at the end of the month, part of the internal order has a FA blank and part of the internal order has a FA of OPEX or G&A depending on what was assigned in the master data.  This causes an issue because they don't offset.
    Typically if no change was made to the master data during the month, all the transactions to the internal order with FA blank would offset and there would be no issues on settlement.
    So, how can we control in the system that does not allow changes?.
    Thanks 
    Sanju

    Hi Sanju
    If FA is not needed at all in the IO- hide that field in the order type screen layout.
    Otherwise, restrict the authorization to someone who understands the criticality of it
    Last resort, implement user exit which won't allow to add FA if transaction data exists. You can search for the exits as COOPA* in SMOD
    Br. Ajay M

  • Create Fieldcatalog based on internal table (dynamic)

    Hi ,
    Is there a way to create Create Fieldcatalog based on internal table (dynamic).
    while creating fieldcat we usually many give the fields "fieldname" and "tabname".
    is there a way to get the fieldname from the main table ?
    Eg ..
    I have i_tab as the output table. It has 3 fields "a", "b" and "c"
    Now when i created fieldcat manually ( in case i cannot use fieldcat_merge FM) , i have to append 3 throws in fieldcat table.
    These rows would have "a", "b" and "c".
    Now i want to know if there is a way in which i can find "a" "b" and "c" fieldnames from the createdd internal tables.
    i can then append the same to fieldcat.

    Hi Anuj,
    I created a FORM routine for this 4 or 5 years ago and made a couple of refinements. Meanwhile it has prooved as very useful.
    The disadvantag is that it creates the oldfashioned field catalog for the function calls. But I already used it for OO fieldcatalog of LVC type - there is a function module for this but I do not have the name here.
    You need the two forms (second called in first) to build the field catalog from any internal table that can be used for ALV display.
    *&      Form  ALV_FIELDCAT_FOR_ITAB
    *       Feldkatalog from (arbitrary) internal Table (c) Clemens Li
    *       * build field catalog from        type description
    form alv_fieldcat_for_itab                                  "#EC *
      tables   pt_outtab                      type table        "#EC *
      changing pt_alv_fieldcat                type slis_t_fieldcat_alv."#EC *
      data:
        lv_desc                               type sydes_desc,
        ls_alv_fieldcat                       type slis_fieldcat_alv,
        lv_longfield                          type text80."CRM<=R/3 fname.
      field-symbols:
        <typeinfo>                            type sydes_typeinfo,
        <nameinfo>                            type sydes_nameinfo.
      describe field pt_outtab into lv_desc.                    "#EC *
      loop at lv_desc-types
          assigning <typeinfo>
          where not idx_name is initial
            and table_kind is initial "no entries for deep table like color
            and back                          = 1. "top-level-entries only.
        read table lv_desc-names index <typeinfo>-idx_name
          assigning <nameinfo>.
        check <nameinfo>-name                 <> 'INCLUDE'.
        ls_alv_fieldcat-fieldname             = <nameinfo>-name.
        while not <nameinfo>-continue is initial.
          add 1 to <typeinfo>-idx_name.
          read table lv_desc-names index <typeinfo>-idx_name
            assigning <nameinfo>.
          concatenate
            ls_alv_fieldcat-fieldname
            <nameinfo>-name
            into ls_alv_fieldcat-fieldname.
        endwhile." not <nameinfo>-continue IS INITIAL.
        read table lv_desc-names index <typeinfo>-idx_help_id
          assigning <nameinfo>.
        if sy-subrc                           = 0.
    * Caution: Help-ID may be Tablename-Fieldname and thus longer
    * than 30 Chars; ls_alv_fieldcat-rollname is 30 Chars only
          ls_alv_fieldcat-rollname            = <nameinfo>-name.
          lv_longfield                        = <nameinfo>-name.
          while not <nameinfo>-continue is initial.
            add 1 to <typeinfo>-idx_help_id.
            read table lv_desc-names index <typeinfo>-idx_help_id
              assigning <nameinfo>.
            concatenate
              lv_longfield
              <nameinfo>-name
              into lv_longfield.
          endwhile." not lv_desc-continue is initial.
    * help id may be data element or <table>-<field>
          if lv_longfield ca '-'.
    * get data                                type for table field
            perform get_rollname_4_tabfield
              using lv_longfield changing ls_alv_fieldcat.
          endif." lv_longfield ca '-'.
        else.
    * No Help-ID: Use Fieldname as text
          ls_alv_fieldcat-seltext_s           =
          ls_alv_fieldcat-seltext_m           =
          ls_alv_fieldcat-seltext_l           =
          ls_alv_fieldcat-reptext_ddic        =
          <nameinfo>-name.
        endif." sy-subrc                      = 0.
    * Starting 4.7: get edit mask
        if not <typeinfo>-idx_edit_mask is initial.
          read table lv_desc-names index <typeinfo>-idx_edit_mask
            assigning <nameinfo>.
          ls_alv_fieldcat-edit_mask           = <nameinfo>-name.
          if not <nameinfo>-continue is initial.
            add 1 to <typeinfo>-idx_edit_mask.
            read table lv_desc-names index <typeinfo>-idx_edit_mask
              assigning <nameinfo>.
            concatenate
              ls_alv_fieldcat-edit_mask
              <nameinfo>-name
              into ls_alv_fieldcat-edit_mask.
          endif." not <nameinfo>-continue IS INITIAL.
        endif." not <typeinfo>-IDX_EDIT_MASK is initial.
    * assign length, output length and decimals
        ls_alv_fieldcat-intlen                = <typeinfo>-length.
        ls_alv_fieldcat-outputlen             = <typeinfo>-output_length.
        ls_alv_fieldcat-decimals_out          = <typeinfo>-decimals.
        ls_alv_fieldcat-inttype               = <typeinfo>-type.
        append ls_alv_fieldcat to pt_alv_fieldcat.
        clear:  "prevent anything 2 B  taken for subsequent fields
          ls_alv_fieldcat.
      endloop." at lv_desc-types where not IDX_NAME is in initial.
    endform.                    " ALV_FIELDCAT_FOR_ITAB
    *&      Form  get_rollname_4_tabfield
    *       Get Data                          type for Table field
    form get_rollname_4_tabfield
      using    p_fname                        type text80 ""CRM<=R/3 fname
      changing p_alv_fieldcat                 type slis_fieldcat_alv.
      field-symbols:
        <dfies>                               type dfies.
      data:
        lv_tabname                            type tabname,
         lt_dfies                             type table of dfies,
        lv_fieldname                          type fieldname.
      split p_fname at '-'
        into lv_tabname lv_fieldname.
      clear p_alv_fieldcat-rollname.
      call function 'DDIF_FIELDINFO_GET'
        exporting
          tabname                             = lv_tabname
          fieldname                           = lv_fieldname
    *   LANGU                                 = SY-LANGU
    *   LFIELDNAME                            = ' '
    *   ALL_TYPES                             = ' '
    * IMPORTING
    *   X030L_WA                              =
    *   DDOBJTYPE                             =
    *   DFIES_WA                              =
    *   LINES_DESCR                           =
       tables
         dfies_tab                            =  lt_dfies
    *   FIXED_VALUES                          =
       exceptions
         not_found                            = 1
         internal_error                       = 2
         others                               = 3
      if sy-subrc                             <> 0.
        message id sy-msgid                   type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      else.
        read table   lt_dfies assigning <dfies> index 1.
        p_alv_fieldcat-rollname               = <dfies>-rollname.
    * Und wenn keinerlei Twexte gepflegt sind?
        if <dfies>-reptext is initial and
           <dfies>-scrtext_s is initial and
           <dfies>-scrtext_m is initial and
           <dfies>-scrtext_l is initial.
    * No Text: Use Fieldname as text
          p_alv_fieldcat-seltext_s            =
          p_alv_fieldcat-seltext_m            =
          p_alv_fieldcat-seltext_l            =
          p_alv_fieldcat-reptext_ddic         =
          p_alv_fieldcat-fieldname.
        endif." <dfies>-reptext IS INITIAL AND
      endif.
    endform.                    " get_rollname_4_tabfield
    Regards,
    Clemens

  • Calculation based on Internal Table Row ID

    Hi,
    I have internal table, i want to do some calculation based on Internal table Row ID, wich will create system automaticlly and this id will uniq. I want to use this id in my program.
    So how can i do this.
    Ranveer.

    hi,
    if u want to create this id automatically,use transaction SNRO,
    or u can create t through programming too.eg. suppose field is 'id' in table 'customer'.
    select * from from customer.
    itab-id = sy-dbcnt + 1.
    modify customer from itab.
    u can use this id in calculations too,

  • User Exit  for ko01 ( Creation of Internal Order )

    Hi,
    My requirement is to validate the Business Area & Profit Center based on the Responsible Cost Center entered. EVEN if the Business Area & Profit Center are valid entries as per the data, they should be replaced by the Business Area, Profit Center with respective Responsible Cost Center entered by user. Please help me its urgent.
    Regards
    Vikram

    Hi
    The follwoing user exits and badis available:
                                                                                    Enhancement/ Business Add-in            Description                                                                               
    Enhancement                                                                               
    COOPA002                               
    Customer function for master data maint. - internal orders     
    COOPA003                               
    User-Defined Fields in the Order Master                        
    COOPA004                               
    Customer function: Print order master data                     
    COOPA_01                               
    Customer check modules for internal orders                                                                               
    Business Add-in                                                                               
    INTERNAL_ORDER_EXTND                
       Master Data Extension for Internal Order    
    If it is helpful rewards points.
    Regards
    Pratap.M

  • Internal order -  restrict charges

    How do I restrict the charges to an internal order ?   I want to use a new order type but restrict its use by Responsible cost centers and or cost type ( ie  only Investment management cost centers  and non labor only )   Do not want the order  open for any group to charge

    Hi,
    I cannot understand completely your requirement, but in order to restrict the usage of I/O, you can use validation via OKC7 transaction. If you are talking about restricting changes to the I/O itslef (master data), you can use user exit COOPA002.
    Regards,
    Eli

  • Restricting Cost Elements in Internal Orders

    I am setting up new order types for our Marketing Department. I want to ensure the only costs charged there are Marketing Costs (ie a small range of Cost elements). I've put the range into the allocation structure, but that only seems to control settlement cost Element, and doesn't stop anything I don't want coming in to the order.
    Is it possible to restrict postings coming in to a range of Cost elements? Ideally, this would stop the problem at source i.e. you can't raise a Purchase Order assigned to the Internal Order with a cost Element outside the restricted range?
    Is this possible? If so, could you kindly point me in the right direction?

    Hi gbrandreth,
    Allocation Structure, as you correctly understood, is only for Settlement transaction.
    Pls try to use "Validations" for your requirement.
    Srikanth Munnaluri
    Edited by: Srikanth Munnaluri on Mar 18, 2009 2:57 PM

Maybe you are looking for

  • Can I still purchase an earlier version of InDesign/Photoshop?

    I have CS6 on my desktop computer and need to purchase InDesign and Photoshop for my laptop as well. I don't want to purchase the CC version, because it's very frustrating having to save things as idml all the time. Can I still purchase CS6? If not,

  • Flash10.0.32.18, Active X Cointrol, Xp Prof. 32 bit - no sound

    Her is the 'fix'sugested per my last attempt to get sound. Since then I have also DL Google Chrome, and CC registry cleaner. Installedand uninstalled K-Lite full version - for missing codec's. It didn't help! I am not sure how to go about uninstallin

  • Tomcat copies .class files from outside its classpath to work dir - ???.

    I posted this question here in March but got no replies. Here goes again: Hello: I've found that Tomcat has copies of some (but not all) of my class files in a directory unde the work dir. These are classes that were created by me for use in my web a

  • Can't imessage another ipad

    Suddenly can't imessage my daughter's iphone... Uses sms as if it were another phone other than Iphone. Also can't imessage her on ipad. At all. And all  my messages are green to her. I can imessage other iphones and bubble is blue as it should be. H

  • Photos with Apple TV

      I dont have any of the Photo things needed. Is there another way to upload photos to your Apple TV?