Friday, 19 April 2013

Script to update the Menu Entries

DECLARE
     G_LAST_UPDATE_DATE DATE := SYSDATE;
     G_LAST_UPDATED_BY   NUMBER ;
     G_LAST_UPDATE_LOGIN NUMBER ;
     G_APPLICATION_ID    NUMBER ;
     G_RESPONSIBILITY_ID NUMBER ;
     L_FUNCTION_ID   NUMBER;
   
    CURSOR C_UPDATE_MENU
    IS
SELECT FMEV.MENU_ID,
       FMEV.ENTRY_SEQUENCE,
       FMEV.SUB_MENU_ID,
       FMEV.GRANT_FLAG,
       FMEV.PROMPT,
       FMEV.DESCRIPTION,
       FM.MENU_NAME
 FROM  FND_MENU_ENTRIES_VL FMEV,
       FND_FORM_FUNCTIONS FF,
       FND_MENUS FM
 WHERE FMEV.MENU_ID = FM.MENU_ID
   AND FMEV.FUNCTION_ID = FF.FUNCTION_ID
   AND FF.FUNCTION_NAME = 'BNE_CREATE_DOCUMENT'
   AND FM.MENU_NAME LIKE 'XX%';
 
  BEGIN
 
    SELECT USER_ID
      INTO G_LAST_UPDATED_BY
      FROM FND_USER
     WHERE USER_NAME      = 'ORACLE12.1.0';
 
  G_LAST_UPDATE_LOGIN := G_LAST_UPDATED_BY;
 
    SELECT FUNCTION_ID
      INTO L_FUNCTION_ID
      FROM FND_FORM_FUNCTIONS
     WHERE FUNCTION_NAME = 'BNE_ADI_CREATE_DOCUMENT';
   
    FOR C_UPDATE_MENU_REC IN C_UPDATE_MENU
    LOOP
      BEGIN
        FND_MENU_ENTRIES_PKG.UPDATE_ROW( X_MENU_ID               =>   C_UPDATE_MENU_REC.MENU_ID,
                                         X_ENTRY_SEQUENCE        =>   C_UPDATE_MENU_REC.ENTRY_SEQUENCE,
                                         X_SUB_MENU_ID           =>   C_UPDATE_MENU_REC.SUB_MENU_ID,
                                         X_FUNCTION_ID           =>   L_FUNCTION_ID,
                                         X_GRANT_FLAG            =>   C_UPDATE_MENU_REC.GRANT_FLAG,
                                         X_PROMPT                =>   C_UPDATE_MENU_REC.PROMPT,
                                         X_DESCRIPTION           =>   C_UPDATE_MENU_REC.DESCRIPTION,
                                         X_LAST_UPDATE_DATE      =>   G_LAST_UPDATE_DATE,
                                         X_LAST_UPDATED_BY       =>   G_LAST_UPDATED_BY,
                                         X_LAST_UPDATE_LOGIN     =>   G_LAST_UPDATE_LOGIN
                                       );
      EXCEPTION
      WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE ('Failed the update Menu '||C_UPDATE_MENU_REC.MENU_NAME);
      END;
    END LOOP;
    COMMIT;
  --  Compiling Security Profile
  DECLARE
  L_REQUEST_ID  NUMBER;
  BEGIN
      SELECT APPLICATION_ID,RESPONSIBILITY_ID
      INTO G_APPLICATION_ID,G_RESPONSIBILITY_ID
      FROM FND_RESPONSIBILITY_TL
     WHERE RESPONSIBILITY_NAME = 'System Administrator';

 Fnd_Global.apps_initialize(G_LAST_UPDATED_BY,G_RESPONSIBILITY_ID,G_APPLICATION_ID);

     L_REQUEST_ID := FND_REQUEST.SUBMIT_REQUEST(
                                           APPLICATION => 'FND',
                                           PROGRAM     => 'FNDSCMPI',
                                           ARGUMENT1   => 'No');
    DBMS_OUTPUT.PUT_LINE ('Request ID: '||L_REQUEST_ID);                                      
  EXCEPTION
      WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE ('Error While compiling Security Profile');
  END;
 
 
END
/
 

No comments:

Post a Comment