CJ20N Restriction

Hi All,
I am currently working on a project that use CJ20N to create WBS elements.  I am aware that restrictions can be done based on the following fields:
Maintenance planning plant
Controlling area
Profit Center
Maintenance plant
I wanted to know if there are any other ways to restrict this transaction code (BADIs or by any other means).  Please assist and provide some information.
Thanks in advance,
T.

Here is the latest update:
This is how we achieved CJ20N restriction:
Development team wrote custom code to pull F_BKPF_GSB and check for activity 45.  By doing this, we (security) were able to restict the creation of WBS elements and projects using the F_BKPF_GSB authorization object.

Similar Messages

  • Restricting project profile in CJ20N/CJ01 t-code

    Hi Experts,
    Based on the client requirement we have created a new Project Profile named as theShutdown Project. The type of Project is ShutDown. The client wants to restrict the same only for the Plant users usage. 
    I know that the type of the project can be restricted thru standard authorization object -
    C_PRPS_ART. The coding mask is not restricted or defined as of now.
    Since we could not find any standard authorization object which restricts specifically on Project Profile, we tried creating a Z
    auth.object as follows:
    u2022 SU20 -CREATE AUTHORIZATION FIELD
    u2022 SU21 -CREATE AUTHORIZATION OBJECT
    u2022 SU21 -LINK AUTHORIZATION FIELD AND AUTHORIZATION OBJECT
    u2022 SU24 -ADD THE AUTHORIZATION OBJECT IN THE TCODE CJ20N AND CJ01
    u2022 PFCG-CREATE ROLE WITH AUTHORIZATIONS TO TCODES- CJ20N AND CJ01. ALSO
    ADD THE AUTHORIZATION OBJECT MANUALLY. GENERATE THE ROLE AND SAVE THE
    SAME. LINK USER ID TO THE ROLE
    u2022 SE38- LCJWBF7S. CREATE ENHANCEMENT IN FORM PROJ_SET AND ADD
    AUTHORISATION CHECK OF THE ABOVE CREATED OBJECT 
    The issue is that the above procedure is restricting the access for all the other users too despite it being attached to a particular role only. Every project profile other than shutdown  project is getting an error -"You are not authorisedfor this activity"  
    Please advice if our approach is correct or are there any alternative available.
    Regards
    Khushali

    HI,
    You need not have a separate Auth Object for "Project Profile".
    Make use of your standard auth object "Project Type" only.
    Introduce a simple validation to say that The only project type "Shutdown Projects" should be allowed for your Project Profile "Shutdown Project"
    By this, while Project creation, system throws error (Error you defined in the validation) in case both the Profile & Type are incompatible. When the user selects the appropriate "Project Type", then the subsequent standard error would be related to authorization on Project Type for the desired users.
    regards

  • CJ20N project builder restriction on plant or company code

    HI there
    I hope this is in the right formum..
    I just cannot seem to get the transaction CJ20n to check on orglevel Plant (WERKS) or Company code (BUKRS).
    When displaying or changing a project people should not be able to  access projects from differents companies (or plants). When I look at the basic data, organisation fields of the project, there are CO area and Business area, as well as Company code and plant. On one of the last (company code or plant) I want to have an authorisation check wether the user is allowed to display or maintain the project
    when I trace the actions, I only find checks on
    C_PROJ_KOK (controlling areaa)
    C_PROJ_PRC (profit center)
    C_PROJ_VNR (project manager)
    but they are not company specific here
    I activated object C_PPBD Authorization for maintaining planned independent requirements SAP note 635612), but this is not being checked on transacton start or when changing project meta data e.g. description.
    Has somebody any ideas/tips on howto get CJ20n to check on WERKS (plant) or BUKRS (company code)? I would be very thankfull
    Jos

    Jos,
    It looks like your question got hijacked, so a shot at your original question regarding CJ20N:
    If you want the check upfront and not inside the transaction, then you could add it in transaction SE93. but this will only prevent the user from starting the transaction, not using it.
    If the check on F_BKPF_BUK or whatever is not coded anywhere in CJ20N, then adding or removing SU24 indicators will not help. You could try to look for a user exit ("Enhancement transactions CMOD / SMOD)). I would ask this question in the CJ20N forum.
    You could open a development request with SAP, but there would most likely need to be a few more customers with the same request or a realy good reason to add it before this materializes.
    If all of those fail, you can get yourself an object key for where ever it is that you want an additional check to be coded and change it yourself. After this, CJ20N or the check function will belong to you (not SAP) and anybody with a developer key could also change it using normal developer authorizations.
    Good luck,
    Julius

  • CJ20n Project Definition - Project Type selection Restriction

    Hi,
    We have Capital and Operational projects in the organisation. I have this scenario in my implementation where the PS guys want to restrict the creation of Project Definition only if the person is authorized to do so. Only those working for Capital projects should create the Proj Definition for Capital projects and Those on Operational for operational projects definition.
    As I have analysed, SAP controls authorizations from next level. I mean, its allowing creation of PD for operational projects by Capital user but when he tries to assign some WBS or Network etc it doesnt allow. This is controlled by the Fundiing Source in C_PRPS_ART as far as I am aware.
    I would like you guys to provide your suggestions on how can I control over the project definition it self using the authorization objects. I have looked in to options through C_PROJ_VNR etc but dont seem to catch the point exactly. Also are there any user exits or enhancements which can be used for this purpose.
    Regards,
    Junaid

    Hi,
    PD is controlled by 3 objects C_PROJ_KOK, C_PROJ_PRC, C_PROJ_VNR.
    Alternatively , you can try to restrict it  by Cost Centre - C_PRPS_KST and Profit Centres - C_PRPS_PRC
    regards,
    Anil

  • How to restrict production order creation for the WBS

    Dear Gurus,
    Our client is is using PS & PP. So that as per current procedure material required for the particular project will be uploaded into the CJ20N i.e. it will be assigned to the network.
    So that on that basis production orders will be created with the transaction co10. But in this case there is no linking between the orders created & quantity required in the project.
    So is there any restriction that by using co10 we will be able to create the production order for the material which is enterd in to the wbs with not exceeding the quantity also.
    With Regards...
    Abhay

    Dear Abhi,
    But why do you require to create produciton order manually through co10?
    Any how you must running MRP in MD51 where in you will get your planned orders which you can convert to production orders!
    Thanks.

  • Restrict WBS Element Type During Element Creation

    I have our Finance dept who is wanting to create a role that will restrict the users to creating ONLY a Statistical WBS Element, and no other type of WBS element.  I have looked through the auth objects associated with CJ30, CJ20N, CJ01 and CJ11, but do not see any auth objects that restrict the type of WBS element that can be created.
    Does anyone have an idea if this can even be done?  Is this intended functionality?

    >
    Michael Towan wrote:
    > I have our Finance dept who is wanting to create a role that will restrict the users to creating ONLY a Statistical WBS Element, and no other type of WBS element.  I have looked through the auth objects associated with CJ30, CJ20N, CJ01 and CJ11, but do not see any auth objects that restrict the type of WBS element that can be created.
    >
    > Does anyone have an idea if this can even be done?  Is this intended functionality?
    i had a look-around CJ30 (not the other ones). i'm not familiar with this module but obviously the 'philosophy' behind WBS elements does not cover their 'type'. i don't think you can do this without using an enhancement. i had to run from work today to keep up for another appointment so i was not able to search for an enhancement that might do the trick. maybe you can do that with an abaper on your site?

  • How i can restrict to delete network if PR was assigned.

    Dear Experts,
    How i can restrict to delete network if PR was assigned for that network in CJ20N.

    Hi....
    i assume you have  created a exit project in CMOD and then implement the exit mentioned.
    Could you add the following code in your exit code
    IF SAP_ACTVT = '06'.
       SAP_X_ACTVT = ' '.
    ELSE.
       SAP_X_ACTVT = 'X'.
    ENDIF.
    and please also activate it..
    what happens if you try to delete the network in this case?
    Cheers
    Panagiotis
    ps: activity 06 is the deletion. That means if you try to delete the network the system would popup an error message not allowing the deletion.
    (i have tried it and it works)

  • Restrict Direct Releasing of SAP PS Network

    is there a way to restrict the direct releasing of the network in sap ps?
    we want that release only be done at the wbs level since it can also release the network thus generating the pr/ro under the network activity.

    Hi,
    You can lock the network till the time you want to restrict release. Later unlock and release WBS. In CJ20N, click on network goto Edit->Status->Lock->All.
    Alternatively you can make use of User status.
    Regards
    Edited by: Shrikant Rakate on Jun 20, 2008 10:31 AM

  • User exit to restrict WBS creating Network / PR

    Hi All,
        I want to know user Exit for WBS to restrict from creating Network or PR . Basically I want to restrict 1st & 2nd level of WBS from creating PR & my client not ready to use any manual method to restrict the same so I want to know any User Exit for the same .
      Thanks

    Hi,
    Let me again take your queries point wise.
    1. Is  there any User exit available to restrict the network for only 1st & 2nd level WBS  because my user are not ready for  User status or  for any manual process  .
    Answer:- Try
    CNEX0009 (Material Components in Network)
    CNEX0026
    PPC00008 (Enhancement in adding and change in Components)
    2. Is it possible to give only display  authorization  for only 1st & 2nd level WBS   to some user ( only for those who creates Network in project structure)
    Answer:-  Yes, try executing SHD0 and create a transaction variant and later on do the changes like which field to make display only and which one to not.
    OR
    Ask Basis guys if they can help you out in this case.
    3. Any way if I creates Network but not possible creates Activity or not possible to assign Material to that Activity ( to restricts Creates PR  or Reservation through CJ20n )
    Answer:- Try OPSG settings as I mentioned in my earlier post.
    OR
    Try in OPUA, OPUB and OPUC and search if you hide activity based on INFLUENCING FIELD on LEVELS of 1 or 2 only.
    OR
    Change Procurement Parameter Indicator of Res/Pur. req to NEVER
    OR search in OPUK (Not sure if this can help you)
    OR Try using user staus and set it to level 1 and 2 only. You need to use all Object Types of Network. There would be 3 object types related to network and then use the business transaction as Material Purchase Requisition. Set this to Forbidden and then set this user status to WBS/Network.
    Have a look at the following screen shot.
    I hope this may help you..!!
    Regards,
    Amit

  • How to block project status in CJ20n

    Dear All,
    I am facing one scenario,and also gone through lots of sap notes and many research work, But did not find the accurate answer to resolve this issue.
    My Issue is how to block Project Status in CJ20N like lock and  Unlock etc. Because in our organisation if i assign the authorization for Cj20n, then every user got the access of this and they mis use it.
    So i want to restrict users at this point . Please guide me through this on early manner.
    Early step by step response will be appreciable.

    Dear Renu,
    Your question seems to be confusing. I got a conclusion that either you want to lock/unlock the project or just simple not allowing users to access CJ20N transaction.
    For your information. Following is the reply for both queries:-
    1. To lock/unlock project, please select project definition and go to Edit>Status>Lock/Unlock-->Master Data.
    2. For not allowing every user to access CJ20N, please refer to BASIS guys in your organization.
    Please revert me back if you have doubt or If I am thinking in another way.
    Many Thanks,
    Amit
    Edited by: A.Rajoria on Feb 28, 2011 7:43 AM

  • System status in CJ20N and

    Hi SAP Gurus,
    Kindly let me know the system status object for Project Builder(CJ20N) I want to restrict the authorisation for RElease, Locking, Unlocking and TECO for project.
    Thanks in advance
    Regards
    Abhijit

    Dear Abhijit,
    Try inserting the following Object Manually in the Role (through PFCG) for System Status
    PS_RMPSSP
    Select the required
    Activity
    Attribute Group
    Attribute
    Element Type ID
    SRM Status ID
    In Status ID
    there is a option for Released, Restricted, Closed, Locked, Updated, Deleted.
    Maintain these in the roles as per you requirement and test it with multiple test ID's
    Check this out i think this should help you out. or else give me you exact details
    Regards,
    Vikat

  • How can I setup a mail-specific passcode/restriction on iPad used by multiple family members?

    How can I setup a mail-specific passcode/restriction on iPad used by multiple family members?
    Have an Exchange mail account setup and accessible in my mail on iPad... however my kids use it and i would like to restrict them from accessing this specific portion of the device.  I tried viewing restriction options and do not see that i can apply a restriction specifically to Mail.  Thanks for your help.

    Not a feature of iOS. Check the AppStore to see if there are other
    mail apps that allow passcode protection.
    Or use Safari to log onto your email via a web-based interface and
    enter your credentials each time. A bit slower, but the kids will
    not know the details to login.

  • How to restrict manual changing of free goods in sales order

    Hi ,
    Goodmorning ,
    We have some requirement : In sales order free goods quantity determination by system  should not be allowed to change manually , where can we do this ?
    Looking for your inputs
    Thanks and regards
    Venkat

    As per SAP Standard, when the main Item quantity is changed, the Free Goods are redetermined. In this case any manual changes to Free Goods Quantities are lost.
    But your requirement is for restricting the Chages of the Quantity of Free Goods Correct?
    I believe there is no SAP standard solution for this. You will have to apply a User Exit, which will check the Item category of each LIne item & if it is free goods (TANN) then changes are not permitted.
    Hope this helps.
    Thanks,
    Jignesh Mehta

  • Retrieving ALL values from a single restricted user property

    How can I retrieve ALL values of a single restricted user property from within
    a .jpf file?
    I want to display a dropdown list within a form in a JSP which should contain
    all the locations listed in the property 'locations'. I ever get just the default
    value when I access the property via
    ProfileWrapper pw = userprofile.getProfileForUser(user);
    Object prop = pw.getProperty("ClockSetup", "Locations");

    Well, the code you've got will retrieve the single value of the property
    for the current user. You're getting the default value because the
    current user doesn't have Locations property set, so the ProfileWrapper
    returns the default value from the property set.
    I assume you want to get the list of available values that you entered
    into the .usr file in Workshop. If so, I've attached a
    SetColorController.jpf, index.jsp, and GeneralInfo.usr (put in
    META-INF/data/userprofiles) I wrote for an example that does just this.
    It uses the PropertySetManagerControl to retrieve the restricted values
    for a property, and the jsp uses data-binding to create a list from that
    pageflow method.
    For a just-jsps solution, you can also use the
    <ps:getRestrictedPropertyValues/> tag. I've attached a setcolor-tags.jsp
    that does the same thing.
    Greg
    Dirk wrote:
    How can I retrieve ALL values of a single restricted user property from within
    a .jpf file?
    I want to display a dropdown list within a form in a JSP which should contain
    all the locations listed in the property 'locations'. I ever get just the default
    value when I access the property via
    ProfileWrapper pw = userprofile.getProfileForUser(user);
    Object prop = pw.getProperty("ClockSetup", "Locations");
    [att1.html]
    package users.setcolor;
    import com.bea.p13n.controls.exceptions.P13nControlException;
    import com.bea.p13n.property.PropertyDefinition;
    import com.bea.p13n.property.PropertySet;
    import com.bea.p13n.usermgmt.profile.ProfileWrapper;
    import com.bea.wlw.netui.pageflow.FormData;
    import com.bea.wlw.netui.pageflow.Forward;
    import com.bea.wlw.netui.pageflow.PageFlowController;
    import java.util.Collection;
    import java.util.Iterator;
    * @jpf:controller
    * @jpf:view-properties view-properties::
    * <!-- This data is auto-generated. Hand-editing this section is not recommended. -->
    * <view-properties>
    * <pageflow-object id="pageflow:/users/setcolor/SetColorController.jpf"/>
    * <pageflow-object id="action:begin.do">
    * <property value="80" name="x"/>
    * <property value="100" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="action:setColor.do#users.setcolor.SetColorController.ColorFormBean">
    * <property value="240" name="x"/>
    * <property value="220" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="action-call:@page:index.jsp@#@action:setColor.do#users.setcolor.SetColorController.ColorFormBean@">
    * <property value="240,240,240,240" name="elbowsX"/>
    * <property value="144,160,160,176" name="elbowsY"/>
    * <property value="South_1" name="fromPort"/>
    * <property value="North_1" name="toPort"/>
    * </pageflow-object>
    * <pageflow-object id="page:index.jsp">
    * <property value="240" name="x"/>
    * <property value="100" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="forward:path#success#index.jsp#@action:begin.do@">
    * <property value="116,160,160,204" name="elbowsX"/>
    * <property value="92,92,92,92" name="elbowsY"/>
    * <property value="East_1" name="fromPort"/>
    * <property value="West_1" name="toPort"/>
    * <property value="success" name="label"/>
    * </pageflow-object>
    * <pageflow-object id="forward:path#success#begin.do#@action:setColor.do#users.setcolor.SetColorController.ColorFormBean@">
    * <property value="204,160,160,116" name="elbowsX"/>
    * <property value="201,201,103,103" name="elbowsY"/>
    * <property value="West_0" name="fromPort"/>
    * <property value="East_2" name="toPort"/>
    * <property value="success" name="label"/>
    * </pageflow-object>
    * <pageflow-object id="control:com.bea.p13n.controls.ejb.property.PropertySetManager#propSetMgr">
    * <property value="31" name="x"/>
    * <property value="34" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="control:com.bea.p13n.controls.profile.UserProfileControl#profileControl">
    * <property value="37" name="x"/>
    * <property value="34" name="y"/>
    * </pageflow-object>
    * <pageflow-object id="formbeanprop:users.setcolor.SetColorController.ColorFormBean#color#java.lang.String"/>
    * <pageflow-object id="formbean:users.setcolor.SetColorController.ColorFormBean"/>
    * </view-properties>
    public class SetColorController extends PageFlowController
    * @common:control
    private com.bea.p13n.controls.ejb.property.PropertySetManager propSetMgr;
    * @common:control
    private com.bea.p13n.controls.profile.UserProfileControl profileControl;
    /** Cached possible colors from the User Profile Property Set definition.
    private String[] possibleColors = null;
    /** Get the possible colors, based upon the User Profile Property Set.
    public String[] getPossibleColors()
    if (possibleColors != null)
    return possibleColors;
    try
    PropertySet ps = propSetMgr.getPropertySet("USER", "GeneralInfo");
    PropertyDefinition pd = ps.getPropertyDefinition("FavoriteColor");
    Collection l = pd.getRestrictedValues();
    String[] s = new String[l.size()];
    Iterator it = l.iterator();
    for (int i = 0; it.hasNext(); i++)
    s[i] = it.next().toString();
    possibleColors = s;
    catch (P13nControlException ex)
    ex.printStackTrace();
    possibleColors = new String[0];
    return possibleColors;
    /** Get the user's favorite color from their profile.
    public String getUsersColor()
    try
    ProfileWrapper profile = profileControl.getProfileFromRequest(getRequest());
    return profileControl.getProperty(profile, "GeneralInfo", "FavoriteColor").toString();
    catch (P13nControlException ex)
    ex.printStackTrace();
    return null;
    // Uncomment this declaration to access Global.app.
    // protected global.Global globalApp;
    // For an example of page flow exception handling see the example "catch" and "exception-handler"
    // annotations in {project}/WEB-INF/src/global/Global.app
    * This method represents the point of entry into the pageflow
    * @jpf:action
    * @jpf:forward name="success" path="index.jsp"
    protected Forward begin()
    return new Forward("success");
    * @jpf:action
    * @jpf:forward name="success" path="begin.do"
    protected Forward setColor(ColorFormBean form)
    // set the color in the user's profile
    try
    ProfileWrapper profile = profileControl.getProfileFromRequest(getRequest());
    profileControl.setProperty(profile, "GeneralInfo", "FavoriteColor", form.getColor());
    catch (P13nControlException ex)
    ex.printStackTrace();
    return new Forward("success");
    * FormData get and set methods may be overwritten by the Form Bean editor.
    public static class ColorFormBean extends FormData
    private String color;
    public void setColor(String color)
    this.color = color;
    public String getColor()
    return this.color;
    [GeneralInfo.usr]
    [att1.html]

  • Restriction of addition of Schedule lines to a sales order/scheduling agrmt

    Dear Gurus,
    I need to restrict addition of new schedule lines to a scheduling agreement till all the goods in the previous schedule line have been delivered.
    I tried applying a delivery block at the SL line level ( in the SL category). But to my surprise, the system allows the user to add SL lines to the scheduling agreement. after this the user is free to create deliveries even though the delivery block is still active on the SL line.
    I'll try explaining this on numbers:
    0n 30.01.2010 i created a SL line for say 100 qtys. The system automatically applies the SL block to this. This Delivery block is removed by the concerned authority.
    Now I create a delivery of say 99 QTY for this SL line. The scheduling agreemnt status is as follows:
    order qty is 100, *** rel qty is 100, open qty is 1 and confirmed qty is 100.
    Now suppose the user enters another Sl line for 100 qty's for which the delivery block is till active and not released.
    In this case the user can create delivery for upto 101 qty's. Ideally I want the system should allow the user to create a delivery for only 1 more Qty ( Delievery block for the new SL line is still not removed).
    How can we do this? Please help!
    Warm Regards
    Prashant Joshi.

    Hi,
    If u adding 100 more quantity in same schedule line then system will create delivery for 101 not for the 1
    becauze u adding qty in existing SL,
    If u want to deliver first 1 qty,then
    Add another schedule line of 100 & block it.
    Create delivery, now system will create delivery onely for qty 1, Not for 100 becauze it is blocked.
    If your Block is not working properly
    Then on initial screen of delivery creation put from to item Number as 10 in both and deliver it
    Kapil
    Edited by: Kapildev Farakte on Feb 3, 2010 5:11 PM
    Edited by: Kapildev Farakte on Feb 3, 2010 5:13 PM

Maybe you are looking for