DECLARE
l_new_menu_id NUMBER;
l_last_menu_id NUMBER;
l_row_id VARCHAR2 (100);
l_descr VARCHAR2 (400);
l_flag_exist_menu NUMBER := 0;
x_function_id NUMBER;
x_row_id ROWID;
x_form_id NUMBER;
lc_status VARCHAR2 (1);
CURSOR C1
IS
SELECT *
FROM XX_FND_FUNCTIONS
WHERE FUNCTION_NAME NOT IN
(SELECT FUNCTION_NAME FROM FND_FORM_FUNCTIONS);
BEGIN
FOR CREC IN C1
LOOP
lc_status := 'Y';
BEGIN
SELECT fnd_form_functions_s.NEXTVAL INTO x_function_id FROM sys.DUAL;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('failed to fnd_form_functions_s');
lc_status := 'E';
END;
IF CREC.form_id IS NOT NULL
THEN
BEGIN
SELECT form_id
INTO x_form_id
FROM fnd_form
WHERE form_id = CREC.form_id;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('failed to get x_form_id');
lc_status := 'E';
END;
END IF;
IF lc_status = 'Y'
THEN
FND_FORM_FUNCTIONS_PKG.INSERT_ROW (
X_ROWID => x_row_id,
X_FUNCTION_ID => X_FUNCTION_ID,
X_WEB_HOST_NAME => NULL,
X_WEB_AGENT_NAME => NULL,
X_WEB_HTML_CALL => CREC.WEB_HTML_CALL,
X_WEB_ENCRYPT_PARAMETERS => 'N',
X_WEB_SECURED => 'N',
X_WEB_ICON => NULL,
X_OBJECT_ID => NULL,
X_REGION_APPLICATION_ID => NULL,
X_REGION_CODE => NULL,
X_FUNCTION_NAME => CREC.FUNCTION_NAME,
-- find unique function name using query
X_APPLICATION_ID => CREC.APPLICATION_ID,
-- find application id using the query for appliaion names and pass 'FND'
X_FORM_ID => x_form_id, -- find from id using formname 'XXCO'
X_PARAMETERS => CREC.PARAMETERS,
X_TYPE => CREC.TYPE,
X_USER_FUNCTION_NAME => CREC.USER_FUNCTION_NAME,
X_DESCRIPTION => CREC.DESCRIPTION,
X_CREATION_DATE => SYSDATE,
X_CREATED_BY => -1,
X_LAST_UPDATE_DATE => SYSDATE,
X_LAST_UPDATED_BY => -1,
X_LAST_UPDATE_LOGIN => 0
);
DBMS_OUTPUT.put_line ('FUNCTION_NAME ' || CREC.FUNCTION_NAME);
END IF;
END LOOP;
COMMIT;
END;
/
l_new_menu_id NUMBER;
l_last_menu_id NUMBER;
l_row_id VARCHAR2 (100);
l_descr VARCHAR2 (400);
l_flag_exist_menu NUMBER := 0;
x_function_id NUMBER;
x_row_id ROWID;
x_form_id NUMBER;
lc_status VARCHAR2 (1);
CURSOR C1
IS
SELECT *
FROM XX_FND_FUNCTIONS
WHERE FUNCTION_NAME NOT IN
(SELECT FUNCTION_NAME FROM FND_FORM_FUNCTIONS);
BEGIN
FOR CREC IN C1
LOOP
lc_status := 'Y';
BEGIN
SELECT fnd_form_functions_s.NEXTVAL INTO x_function_id FROM sys.DUAL;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('failed to fnd_form_functions_s');
lc_status := 'E';
END;
IF CREC.form_id IS NOT NULL
THEN
BEGIN
SELECT form_id
INTO x_form_id
FROM fnd_form
WHERE form_id = CREC.form_id;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('failed to get x_form_id');
lc_status := 'E';
END;
END IF;
IF lc_status = 'Y'
THEN
FND_FORM_FUNCTIONS_PKG.INSERT_ROW (
X_ROWID => x_row_id,
X_FUNCTION_ID => X_FUNCTION_ID,
X_WEB_HOST_NAME => NULL,
X_WEB_AGENT_NAME => NULL,
X_WEB_HTML_CALL => CREC.WEB_HTML_CALL,
X_WEB_ENCRYPT_PARAMETERS => 'N',
X_WEB_SECURED => 'N',
X_WEB_ICON => NULL,
X_OBJECT_ID => NULL,
X_REGION_APPLICATION_ID => NULL,
X_REGION_CODE => NULL,
X_FUNCTION_NAME => CREC.FUNCTION_NAME,
-- find unique function name using query
X_APPLICATION_ID => CREC.APPLICATION_ID,
-- find application id using the query for appliaion names and pass 'FND'
X_FORM_ID => x_form_id, -- find from id using formname 'XXCO'
X_PARAMETERS => CREC.PARAMETERS,
X_TYPE => CREC.TYPE,
X_USER_FUNCTION_NAME => CREC.USER_FUNCTION_NAME,
X_DESCRIPTION => CREC.DESCRIPTION,
X_CREATION_DATE => SYSDATE,
X_CREATED_BY => -1,
X_LAST_UPDATE_DATE => SYSDATE,
X_LAST_UPDATED_BY => -1,
X_LAST_UPDATE_LOGIN => 0
);
DBMS_OUTPUT.put_line ('FUNCTION_NAME ' || CREC.FUNCTION_NAME);
END IF;
END LOOP;
COMMIT;
END;
/
No comments:
Post a Comment