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
/
 

Script to Update the form Function

DECLARE
  G_LAST_UPDATE_DATE DATE := SYSDATE;
  G_LAST_UPDATED_BY   NUMBER ;
  G_LAST_UPDATE_LOGIN NUMBER ;
   
    CURSOR C_UPDATE_FUNCTION
    IS
      SELECT FUNCTION_ID,
        WEB_HOST_NAME,
        WEB_AGENT_NAME,
        WEB_HTML_CALL,
        WEB_ENCRYPT_PARAMETERS,
        WEB_SECURED,
        WEB_ICON,
        OBJECT_ID,
        REGION_APPLICATION_ID,
        FORM_ID,
        REGION_CODE,
        FUNCTION_NAME,
        APPLICATION_ID,
        PARAMETERS,
        TYPE,
        USER_FUNCTION_NAME,
        DESCRIPTION,
        MAINTENANCE_MODE_SUPPORT,
        CONTEXT_DEPENDENCE,
        JRAD_REF_PATH
      FROM FND_FORM_FUNCTIONS_VL
      WHERE FUNCTION_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;
 
 
    FOR C_UPDATE_FUNCTION_REC IN C_UPDATE_FUNCTION
    LOOP
      BEGIN
        FND_FORM_FUNCTIONS_PKG.UPDATE_ROW ( X_FUNCTION_ID              =>  C_UPDATE_FUNCTION_REC.FUNCTION_ID,
                                               X_WEB_HOST_NAME            =>  C_UPDATE_FUNCTION_REC.WEB_HOST_NAME,
                                            X_WEB_AGENT_NAME           =>  C_UPDATE_FUNCTION_REC.WEB_AGENT_NAME,
                                            X_WEB_HTML_CALL            =>  'BneApplicationService',  
                                            X_WEB_ENCRYPT_PARAMETERS   =>  C_UPDATE_FUNCTION_REC.WEB_ENCRYPT_PARAMETERS,
                                            X_WEB_SECURED              =>  C_UPDATE_FUNCTION_REC.WEB_SECURED,
                                            X_WEB_ICON                 =>  C_UPDATE_FUNCTION_REC.WEB_ICON,
                                            X_OBJECT_ID                =>  C_UPDATE_FUNCTION_REC.OBJECT_ID,
                                            X_REGION_APPLICATION_ID    =>  C_UPDATE_FUNCTION_REC.REGION_APPLICATION_ID,
                                            X_REGION_CODE              =>  C_UPDATE_FUNCTION_REC.REGION_CODE,
                                            X_FUNCTION_NAME            =>  C_UPDATE_FUNCTION_REC.FUNCTION_NAME,
                                            X_APPLICATION_ID           =>  C_UPDATE_FUNCTION_REC.APPLICATION_ID,
                                            X_FORM_ID                  =>  C_UPDATE_FUNCTION_REC.FORM_ID,
                                            X_PARAMETERS               =>  C_UPDATE_FUNCTION_REC.PARAMETERS,
                                            X_TYPE                     =>  C_UPDATE_FUNCTION_REC.TYPE,
                                            X_USER_FUNCTION_NAME       =>  C_UPDATE_FUNCTION_REC.USER_FUNCTION_NAME,
                                            X_DESCRIPTION              =>  C_UPDATE_FUNCTION_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,
                                            X_MAINTENANCE_MODE_SUPPORT =>  C_UPDATE_FUNCTION_REC.MAINTENANCE_MODE_SUPPORT,
                                            X_CONTEXT_DEPENDENCE       =>  C_UPDATE_FUNCTION_REC.CONTEXT_DEPENDENCE,
                                            X_JRAD_REF_PATH            =>  C_UPDATE_FUNCTION_REC.JRAD_REF_PATH
                                         );
      EXCEPTION
      WHEN OTHERS THEN
        DBMS_OUTPUT.PUT_LINE ('Failed the update function '||C_UPDATE_FUNCTION_REC.FUNCTION_NAME);
      END;
    END LOOP;

   COMMIT;
  END;
  /