Wednesday, 8 January 2014

How to make Oracle Apps R12 all the responsibility of a Particular User as read only

1. Go to Oracle Apps AU top / resource directory and  download the CUSTOM.pll

2. Add the APPCORE2.pll

3. Add following the Oracle Apps code

    formname VARCHAR2(50);
  blockname VARCHAR2(50);
 
  lv_fname  VARCHAR2(50);
  lv_fblk  VARCHAR2(50);
 
  lv_userid NUMBER(10):= FND_PROFILE.VALUE('USER_ID');
  lv_username  VARCHAR2(50);
  begin
     
  begin
            SELECT user_name
              INTO lv_username
              FROM fnd_user
             WHERE user_id = lv_userid;
           
  exception
      when others then
       lv_username := '';
  end;
     
                IF event_name = 'WHEN-NEW-ITEM-INSTANCE' THEN

               IF  lv_username = 'RAM'     THEN       
                       
                        BEGIN
                        COPY('Entering app_form.query_only_mode.','global.frd_debug');
                        COPY('YES', 'PARAMETER.QUERY_ONLY');
                        APP_MENU2.SET_PROP('FILE.SAVE', ENABLED,PROPERTY_OFF);
                        APP_MENU2.SET_PROP('FILE.ACCEPT', ENABLED,PROPERTY_OFF);
                       
                        formname := NAME_IN('system.current_form');
                   
                        blockname:= GET_FORM_PROPERTY(formname,FIRST_BLOCK);
                       
                            WHILE (blockname is not null) LOOP
                                IF (GET_BLOCK_PROPERTY(blockname, BASE_TABLE) is not NULL) THEN
                                    SET_BLOCK_PROPERTY(blockname, INSERT_ALLOWED, PROPERTY_FALSE);
                                    SET_BLOCK_PROPERTY(blockname, UPDATE_ALLOWED, PROPERTY_FALSE);
                                    SET_BLOCK_PROPERTY(blockname, DELETE_ALLOWED, PROPERTY_FALSE);
                                END IF;
                            blockname := GET_BLOCK_PROPERTY(blockname, NEXTBLOCK);
                            END LOOP;
                           
                            EXCEPTION
                                WHEN OTHERS THEN
                                NULL;
                        END;      
                    END IF;
                END IF;