How to assign select only privilage to a user application wise..?

1-i have a function checking for a user_id and password it works fine.
2-i have a procedure checking for the user privilage
Both 1 and 2 stored in a package library,both called from 'ok' button on the main form as follows:
DECLARE
     V_USER_ID users_codes.USE_ID%TYPE;
     V_PASSWORD users_codes.use_pass%TYPE;
     V_EXIST BOOLEAN;
     v_insets USERS_PRIVILAGES.I%TYPE;
     v_deletes USERS_PRIVILAGES.D%TYPE;
     v_retrieves USERS_PRIVILAGES.R%TYPE;
     v_saves USERS_PRIVILAGES.S%TYPE;
     AL_ID NUMBER;
BEGIN
          V_USER_ID :=:TI_USRCOD;
          V_PASSWORD :=:TI_USRPSW;
     :GLOBAL.USR_CODE :=V_USER_ID;
     :GLOBAL.PASSWORD :=V_PASSWORD;
     V_EXIST :=SECURITY_NEW.LOGON_AUTH ( V_USER_ID ,
     V_PASSWORD );
     IF V_EXIST = TRUE THEN
               SET_ALERT_PROPERTY('NOTE',ALERT_MESSAGE_TEXT,'V_EXIST = 1 ');
               AL_ID := SHOW_ALERT('NOTE');
ELSE
               SET_ALERT_PROPERTY('NOTE',ALERT_MESSAGE_TEXT,'V_EXIST = 0 ');
               AL_ID := SHOW_ALERT('NOTE');
END IF;
     IF V_EXIST =TRUE THEN
                    SECURITY_NEW.Menu_Status ( V_USER_ID ,
          v_insets ,
          v_deletes ,
          v_retrieves,
          v_saves );
               MESSAGE(' Priv Exist' ||V_USER_ID||', '|| v_insets||' , '|| v_deletes||' , ' ||v_retrieves||' , ' ||v_saves);      
     :GLOBAL.insets :=v_insets;
     :GLOBAL.retrieves :=v_deletes;
     :GLOBAL.deletes :=v_retrieves;
     :GLOBAL.saves := v_saves;
     END IF;
     CALL_FORM('F_Frame_MDC');
END;
==========================================================
Above code returns my parameters just fine.
My doubt now is:
1-how can i give alll privilages to user1.
2-how can i give Select only privilage to user2.
==========================================================
For clarification i used the following code in a when-new-record-instance
--when_new_block_instance
--result protected to be updated
DECLARE
BEGIN
-- MESSAGE(' Priv' ||:GLOBAL.insets ||', '|| :GLOBAL.retrieves||' , '|| :GLOBAL.deletes||' , ' ||:GLOBAL.saves );
--     MESSAGE(' Priv' ||:GLOBAL.insets ||', '|| :GLOBAL.retrieves||' , '|| :GLOBAL.deletes||' , ' ||:GLOBAL.saves );                    IF :GLOBAL.insets =0 THEN
IF :GLOBAL.insets =0 THEN
                              Set_Block_Property('MISSION_CODE1',INSERT_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',UPDATE_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',DELETE_ALLOWED,PROPERTY_FALSE);
                              MESSAGE('ÚÝæÇð ÇáãÓÊÎÏã ÑÞã'|| ' ' || :GLOBAL.USR_CODE || 'ÛíÑ ãÓãæÍ ÈÇáÅÏÎÇá Ãæ ÇáÊÚÏíá ');
          RAISE Form_Trigger_Failure;
                    ELSIF :GLOBAL.insets =1 THEN
                              Set_Block_Property('MISSION_CODE1',INSERT_ALLOWED,PROPERTY_TRUE);
                              Set_Block_Property('MISSION_CODE1',UPDATE_ALLOWED,PROPERTY_TRUE);
                              Set_Block_Property('MISSION_CODE1',DELETE_ALLOWED,PROPERTY_TRUE);
                    END IF;
                    IF :GLOBAL.retrieves =0 THEN
                         Set_Block_Property('MISSION_CODE1',QUERY_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',DELETE_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',UPDATE_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',INSERT_ALLOWED,PROPERTY_FALSE);
                              MESSAGE('ÚÝæÇð ÇáãÓÊÎÏã ÑÞã'|| ' ' || :GLOBAL.USR_CODE || 'ÛíÑ ãÓãæÍ áå ÈÇáÅÓÊÚáÇã ');
          RAISE Form_Trigger_Failure;
                    ELSIF :GLOBAL.retrieves =1 THEN
                         Set_Block_Property('MISSION_CODE1',QUERY_ALLOWED,PROPERTY_TRUE);
                         Set_Block_Property('MISSION_CODE1',DELETE_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',UPDATE_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',INSERT_ALLOWED,PROPERTY_FALSE);
                    END IF;
                    IF :GLOBAL.deletes =0 THEN
                    Set_Block_Property('MISSION_CODE1',DELETE_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',UPDATE_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',INSERT_ALLOWED,PROPERTY_FALSE);
                              MESSAGE('ÚÝæÇð ÇáãÓÊÎÏã ÑÞã'|| ' ' || :GLOBAL.USR_CODE || 'ÛíÑ ãÓãæÍ áå ÈÇáÅáÛÇÁ ');
          RAISE Form_Trigger_Failure;
                    ELSIF :GLOBAL.deletes =1 THEN
                    Set_Block_Property('MISSION_CODE1',DELETE_ALLOWED,PROPERTY_TRUE);
                              Set_Block_Property('MISSION_CODE1',UPDATE_ALLOWED,PROPERTY_TRUE);
                              Set_Block_Property('MISSION_CODE1',INSERT_ALLOWED,PROPERTY_TRUE);
                    END IF;
                    IF :GLOBAL.saves =0 THEN
                         Set_Block_Property('MISSION_CODE1',DELETE_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',UPDATE_ALLOWED,PROPERTY_FALSE);
                              Set_Block_Property('MISSION_CODE1',INSERT_ALLOWED,PROPERTY_FALSE);
                                        RAISE Form_Trigger_Failure;
                    ELSIF :GLOBAL.saves =1 THEN
                              Set_Block_Property('MISSION_CODE1',DELETE_ALLOWED,PROPERTY_TRUE);
                              Set_Block_Property('MISSION_CODE1',UPDATE_ALLOWED,PROPERTY_TRUE);
                              Set_Block_Property('MISSION_CODE1',INSERT_ALLOWED,PROPERTY_TRUE);
                    END IF;
          END;
========================================================
I even tried to take the concerned parts in key commit and key-delrec
but it was only disabled 4 both users and then when press exit button it saves alll changes...
========================================================
It's urgent,immediate help will be much appreciated
Thanks in advance,
Regards,
Abdetu..
==========================================================

Hello Christain,
i am so sorry but there was problems in the internet connections so i wasn't able to reply to u immediately..
Well,ur guidelines to Globals as they r always charaters was a new info to me that make me change:
-the query,the return values when checked or unchecked it now returns n or y in the privilage forms which affects the behaviour of the select statment in my priivilage procedure instead of returning 0 or 1 it is now returning n or y.
-most importantly,either it was n or 0 i called themas characters from any form in the (WNFI Trigger) if :GLOBAL.INSERTS ='Y'
THEN SET_ITEM_PROPERTY.....etc.
-->what do you mean with "NULL values"? plz clarify...
i am displaying messages with the returned values from the called parameters assigned to the Globals in my loginForm,so if there is a privilage checked it returns with y if not it was previously returned with null.
--i aslo changed the where condition in my privilage procedure instead of :
BEGIN
                         SELECT I
                         INTO v_inserts
                         FROM USERS_PRIVILAGES
                         WHERE USER_ID = P_USER_ID
                         AND ( I = 'Y'
                                                  p_i :=v_inserts;          
to the following :
===========
BEGIN
                         SELECT I
                         INTO v_inserts
                         FROM USERS_PRIVILAGES
                         WHERE USER_ID = P_USER_ID
                         AND ( I = 'Y'
                              or I = 'N');
                    p_i :=v_inserts;          
============================================================
Then i yahoooooo it returns with both n and y values then a college at work made the following function:
===============
FUNCTION Change_Block_Property( Block_Name In Varchar2 , Process Varchar2 , Val_Flag     Varchar2)
RETURN BOOLEAN
IS
     Block_ID BLOCK;
BEGIN
     --WRONG_ALERT('WRONG_PASS','íÌÈ ÊÕÍíÍ ÅÏÎÇá ÇáÈíÇäÇÊ');
          Block_ID := Find_Block( Block_Name);          
          IF Process = 'Insert' And Val_Flag = 'N'Then
                    Set_Block_Property(Block_ID , INSERT_ALLOWED , PROPERTY_FALSE);
                    Set_Block_Property(Block_ID , UPDATE_ALLOWED , PROPERTY_FALSE);
                    Set_Block_Property(Block_ID , DELETE_ALLOWED , PROPERTY_FALSE);
          End IF;
          IF Process = 'Query' And Val_Flag = 'N'Then
                    Set_Block_Property(Block_ID , QUERY_ALLOWED , PROPERTY_FALSE);
                    Set_Block_Property(Block_ID , DELETE_ALLOWED , PROPERTY_FALSE);
                    Set_Block_Property(Block_ID , UPDATE_ALLOWED , PROPERTY_FALSE);
                    Set_Block_Property(Block_ID , INSERT_ALLOWED , PROPERTY_FALSE);
          End IF;
          IF Process = 'Delete' And Val_Flag = 'N'Then
                    Set_Block_Property(Block_ID , DELETE_ALLOWED , PROPERTY_FALSE);
                    Set_Block_Property(Block_ID , UPDATE_ALLOWED , PROPERTY_FALSE);
                    Set_Block_Property(Block_ID , INSERT_ALLOWED , PROPERTY_FALSE);
          End IF;
     Return True;
End;
=========================================================
and called this Function from (wnfi Trigger) as:
==================================
Declare
     V_EXIST Boolean;     
BEGIN
     IF :GLOBAL.Insets = 'N' THEN
               V_EXIST := ATT_SECURITY.Change_Block_Property ( 'EMP_MISSIONS' , 'Insert' , 'N' );                                   
     End IF;
     IF :GLOBAL.Retrieves = 'N' THEN
               V_EXIST := ATT_SECURITY.Change_Block_Property ( 'EMP_MISSIONS' , 'Query' , 'N' );
     End IF;     
     IF :GLOBAL.Deletes ='N' THEN
               V_EXIST := ATT_SECURITY.Change_Block_Property ( 'EMP_MISSIONS' , 'Delete' , 'N' );
     End IF;
End;
=======================================================
To Handel the only case that return with no privilage assigned to a user
and it finallyyyy on the dead moments of losing hope the darkness of don't know how turns to light and i works fine..
==========================================================
thank u Christian u r a friend indeed,i reappologize for not beeing on line with u..
Thank u very much for the loyal help u offered to me and the useful tips to refine and optimize my code...
Kissess and Hugs Christian
====================
Best regards,
Abdetu.
=========================================================

Similar Messages

  • From list of IAP's in Aruba Central, how do I select only a few of them for license assignment?

    Q: I have hundreds of IAPs in the device management page of Aruba Central. How do I select  only a few of the them to assign license?
    A: Especially, when there is huge list of IAPs showing up in the device management page of Aruba Central, it becomes difficult and time consuming for an administrator to assign license for each IAP and then move on to the other.
    This problem was sensed by the Aruba Central development team before hand and put up a solution in place that would help a user to select multiple IAPs from the list and assign licenses to them at once.
    Lets understand on how to do the same:
    1. Once you login to Aruba Central, click on "All Groups" and move on to 'Device Management" under Maintenance.
    2. In the right-pane, you would be presented with the list of IAPs.
    3. Now , click on the "Search tool" and it pulls down the fields to enter the search text. 
    (NOTE: Make sure you have selected ALL in the above drop down. This helps central to search among all IAPs irrespective of group and license assignment.)
    4. Enter the Serial Number or MAC address of the IAP or Switch and hit "Search"
    5. Here is where the intelligence of Aruba Central comes to play.
    From  the search result select the IAPs and Central would remember your selected IAPs, even if you change the search string and initiate an other search.
    6. Once you finish searching all IAPs that you want to, you can click "Assign License" button in the lower left-corner and move on assigning the licenses to the selected IAPs

    This was a life saver! I even started to manually tick the box as well!

  • I do not want all of the playlists in iTunes to be synced to my iPhone. With iCloud I do not seem to have a choice. How do I select only certain playlists for my iPone?

    I have many songs and playlists in my iTunes account.  I do not want all of them synced to my iPhone 5S, but that has happened via iCloud, and it has caused a storage problem on my phone.  How do I select only certain playlists to be synced to my iPhone? 

    You need to start over with Music. On the iPhone Music screen uncheck sync music. Also, on the Summary screen uncheck "Manually manage music and videos", then sync and it should clear off your phone.
    Next, choose the music you want to sync. If you want to fit more on check "Convert higher bit rate songs to 128 kbps AAC". This will reduce quality slightly, but it won't be noticable unless you are using $300 headphones.

  • How to print selection only

    I saw this question on another forum and realized that I have no idea how to print 'selection only'. The only options in the file>print menu are for the pages desired. I see no way to print only the selected portion of a page. There must be a way, but I do not seem to be able to find the answer.
    Thanks, Fran

    I tried it with 'Grab' but the printout was too large. I then discovered that if you use 'Snag It' you can accomplish the same thing. Press Shift-command-3 for the whole screen or Shift-command-4 for a part of the screen. this creates a PNG image which when opened in 'Preview' can be printed. Rather complicated, but it does work. Thanks for steering me in the right direction.
    Fran

  • How can I select only the music I want on my iPhone without putting all of it on?

    How can I select only the music I want on my iPhone without putting alll of it on my phone?

    http://support.apple.com/kb/PH12313

  • How to assign select-option values to internal table

    hi all,
    how to assign select-option values to internal table
    thanks in advance.

    Hi,
    You just need to loop at your select-option field and take the values from low and high fields.
    for. e.g
    loop at s_werks .
    move:s_werks-low to <your itab>
    if not s_werks-high is initial .
    move: s_werks-high to <youritab>
    endif .
    append <your itab>
    endloop .
    OR use select statement.
    regards,
    Omkar.
    Message was edited by:
            Omkaram Yanamala
    Message was edited by:
            Omkaram Yanamala

  • Need to Assign read-only roles to a user in EP

    Hello,
    I am currently facing a situation wherin I need to assign read-only roles to a user. I need to assign the user admin, system admin and content admin roles to him, but all with read only permissions. Could someone kindly direct me as to how this can be done in EP7.0?
    Thanks in advance and best regards,
    Karthik.

    Hi Karthik,
    first, welcome on SDN!
    About your question:
    Ganesh already showed the way for the PCD. Anyhow, the content admin also can accedd the KM content (if installed); so for KM the settings have to be done, too, i.e. defining only read-permissions for this user on all repositories.
    The same holds for System-Admin - Permissions - Portal Permissions, here under the different sections only read access permissions would have to be set.
    Anyhow, some areas cannot be restricted in this way, for example the User Management. This could be done only via http://yourserver/useradmin and there via ROLE actions (and not per user).
    Still, some areas certainly will stay problematic, so that one maybe would have to strip down the standard roles (create a delta link copy of the content and then remove the problematic areas).
    Hope it helps
    Detlev
    PS: Please consider rewarding points for helpful answers on SDN. Thanks in advance!

  • How do I select only certain songs from itunes library to upload to my iphone?

    Trying to free up some memory and my whole itunes library is loaded on my phone.  Is there a way to select only certain songs to sync with my phone?

    When your iphone is connected to iTunes, go to the phone section, go to options and then select "Sync only checked songs and videos".  Then go to yotur iTunes music library, and check only the songs you want.  If you are viewing the library in the "songs" option the check boxes are next to the songs.  If you are viewing from the "album" view, you have to right-click each song and select check.

  • ALV - how to make selectable only some rows on an ALV?

    Hi my problem is:
    I have an ALV GRID as output of a report.
    I have to make selectable only few rows based on the contents of a field (showed in a column in the ALV).
    Is it possible?
    Best Regards, Vincenzo

    I did understand, but as i told you there is nothing like that, neither an option nor an event to capture.
    Here is the documentation: http://help.sap.com/saphelp_erp2005vp/helpdata/EN/bf/3bd1369f2d280ee10000009b38f889/frameset.htm
    Read it and choose what you need and what is in existance.

  • I am waiting for a new iMac with two drives: SSD   conventional hard drive. How can I transfer only a certain number of applications to the SSD and the rest to the physical hard disk drive?

    I am expecting a new iMac (i7 with SSD). How can I transfer only certain applications along with the system, library etc. to this limited (space) HD and other applications to the conventional disk HD in order to save space on the SSD?
    Thank you,
    Gilles

    Tom Lassiter wrote:
    I have the same scenario, using an SSD for my start-up drive. I have copied my Applications folder to a mechanical hard drive and created symbolic link to it. The symbolic link resides on the SSD and works properly.
    That may not be the best solution.  Many updaters expect apps, especially Apple apps, to be in the  /Applications folder on the OSX drive;  if there are updates, the apps may not be found, thus may not be updated.  I don't know if the installers/updaters will follow a symbolic link or not.
    DItto some apps, especially Adobe apps, won't even work if they're anywhere else.  Again, I don't know if they'll follow a symbolic link, either.

  • How to assign roles for each kind of users

    Hello,
    i am creating users for each kind of users, say abap developer or FI/MM/SD function users, in IDES ECC 6. it doesnt make me any sense how to assign which roles to which user( there are more than 2000 sap standard roles). can anyone give me some guideline how to create each kind of users.
    any response will be awarded!
    Thanks a lot!
    Samson

    I don't understand your question....
    When sap is implemented usually part of the project is creating roles based on a blueprint designed to adjust to your company needs...
    Basically Standard roles are there to be used as templates for your own roles.
    Users as "dialog users" do not have classification... the special access attributes are given by the roles assigned to it based on the project plan desing pre-installation.
    Hope that help
    Juan

  • How create LOV(select List) with all LDAP users

    Hello,
    I am trying to create a selected list with all the users in my LDAP, note my LDAP is synchronized with my OID.
    Any suggestions, I'm searching the the pl/sql statment?
    Thanks
    Hussam

    Hi Hussam,
    Take a look at my comments in the following two threads -
    Re: LDAP
    Re: Cookie And LDAP
    The two different threads discuss the methods I use to do what you want to do (so you really need to 'combine' the two different threads).
    Hope this helps

  • How to grant LOGON ONLY Rights to two users (no domain admins) on Domain Controllers

    Dear Techies,
    I wish to grant LOGON ONLY Rights to two users, who are not the members of Domain Admins, on Domain Controllers.
    Can someone please suggest the best and easiest possible way to do this keeping up with Compliance?
    Regards
    Amit Kumar

    I think it is by design, the readers don't have access to the operations and application management section. If you look at the URL's you will notice they are of the form  http://servername:portnumber/_admin/operations.aspx and http://servername:portnumber/_admin/applications.aspx. Giving read only access to these pages means, they will be not able to modify the settings on these pages.
    Looks like it is not possible to give read only access.
    Thanks,
    Prashanth

  • How can I select only a few songs not all or none?

    I would like to make playlist by selecting more than one song at a time?? I don't know how.

    Have you tried the smart playlist function? You can set-up specific criteria, the number of songs you want in the playlist & have iTunes do the work for you. These are the only playlists I make anymore because I don't want to be dragging & dropping individual songs.

  • How can I select only a small part of the image to clone or edit etc?

    I want to select part of the image to clone is, and just edit the selected part. I know i can do this on photoshop but how do i do it on Aperture?

    You use the "Retouche" brush in Aperture and set it to "clone".
    Option-Click on the location you want to clone from to select a source, and then brush over the location where you want to clone to. The cloned region will follow the shape of the brushed area. You do not lasso the shape to to copy and paste it like in Photoshop.
    For example: Duplicating a penguin: The sourcepoint has been set to the beak of the second penguin, and then I brushed along the path where I want to penguin clone to appear.
    If I brush the whole area eventually the penguin will be copied completely. You'll have to experiment a bit with the brush size and softnees to ensure that the cloned object will blend in.
    Regards
    Léonie

Maybe you are looking for