The following lines contain the word 'select', 'insert', 'update' or 'delete':
procedure INSERT_ROW (
X_ROWID in out nocopy VARCHAR2,
X_GRANT_GUID in RAW,
X_GRANTEE_TYPE in VARCHAR2,
X_GRANTEE_KEY in VARCHAR2,
X_MENU_ID in NUMBER,
X_START_DATE in DATE,
X_END_DATE in DATE,
X_OBJECT_ID in NUMBER,
X_INSTANCE_TYPE in VARCHAR2,
X_INSTANCE_SET_ID in NUMBER,
X_INSTANCE_PK1_VALUE in VARCHAR2,
X_INSTANCE_PK2_VALUE in VARCHAR2,
X_INSTANCE_PK3_VALUE in VARCHAR2,
X_INSTANCE_PK4_VALUE in VARCHAR2,
X_INSTANCE_PK5_VALUE in VARCHAR2,
X_PROGRAM_NAME in VARCHAR2,
X_PROGRAM_TAG in VARCHAR2,
X_CREATION_DATE in DATE,
X_CREATED_BY in NUMBER,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_LAST_UPDATE_LOGIN in NUMBER,
X_PARAMETER1 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER2 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER3 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER4 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER5 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER6 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER7 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER8 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER9 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER10 IN VARCHAR2 DEFAULT NULL,
X_CTX_SECGRP_ID in NUMBER default -1,
X_CTX_RESP_ID in NUMBER default -1,
X_CTX_RESP_APPL_ID in NUMBER default -1,
X_CTX_ORG_ID in NUMBER default -1,
X_NAME in VARCHAR2 default null,
X_DESCRIPTION in varchar2 default null
) is
cursor C is select ROWID from FND_GRANTS
where GRANT_GUID = HEXTORAW(X_GRANT_GUID)
;
insert into FND_GRANTS (
GRANT_GUID,
GRANTEE_TYPE,
GRANTEE_KEY,
MENU_ID,
START_DATE,
END_DATE,
OBJECT_ID,
INSTANCE_TYPE,
INSTANCE_SET_ID,
INSTANCE_PK1_VALUE,
INSTANCE_PK2_VALUE,
INSTANCE_PK3_VALUE,
INSTANCE_PK4_VALUE,
INSTANCE_PK5_VALUE,
PROGRAM_NAME,
PROGRAM_TAG,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
PARAMETER1,
PARAMETER2,
PARAMETER3,
PARAMETER4,
PARAMETER5,
PARAMETER6,
PARAMETER7,
PARAMETER8,
PARAMETER9,
PARAMETER10,
CTX_SECGRP_ID,
CTX_RESP_ID,
CTX_RESP_APPL_ID,
CTX_ORG_ID,
GRANTEE_ORIG_SYSTEM,
GRANTEE_ORIG_SYSTEM_ID,
NAME,
DESCRIPTION
) values (
X_GRANT_GUID,
X_GRANTEE_TYPE,
L_GRANTEE_KEY,
X_MENU_ID,
X_START_DATE,
X_END_DATE,
X_OBJECT_ID,
X_INSTANCE_TYPE,
X_INSTANCE_SET_ID,
L_INSTANCE_PK1_VALUE,
L_INSTANCE_PK2_VALUE,
L_INSTANCE_PK3_VALUE,
L_INSTANCE_PK4_VALUE,
L_INSTANCE_PK5_VALUE,
X_PROGRAM_NAME,
X_PROGRAM_TAG,
X_CREATION_DATE,
X_CREATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN,
X_PARAMETER1,
X_PARAMETER2,
X_PARAMETER3,
X_PARAMETER4,
X_PARAMETER5,
X_PARAMETER6,
X_PARAMETER7,
X_PARAMETER8,
X_PARAMETER9,
X_PARAMETER10,
X_CTX_SECGRP_ID,
X_CTX_RESP_ID,
X_CTX_RESP_APPL_ID,
X_CTX_ORG_ID,
l_orig_system,
l_orig_system_id,
X_NAME,
X_DESCRIPTION
);
fnd_function_security_cache.insert_grant(X_GRANT_GUID, X_GRANTEE_TYPE, L_GRANTEE_KEY);
end INSERT_ROW;
cursor c is select
GRANTEE_TYPE,
GRANTEE_KEY,
MENU_ID,
START_DATE,
END_DATE,
OBJECT_ID,
INSTANCE_TYPE,
INSTANCE_SET_ID,
INSTANCE_PK1_VALUE,
INSTANCE_PK2_VALUE,
INSTANCE_PK3_VALUE,
INSTANCE_PK4_VALUE,
INSTANCE_PK5_VALUE,
PARAMETER1,
PARAMETER2,
PARAMETER3,
PARAMETER4,
PARAMETER5,
PARAMETER6,
PARAMETER7,
PARAMETER8,
PARAMETER9,
PARAMETER10,
CTX_SECGRP_ID,
CTX_RESP_ID,
CTX_RESP_APPL_ID,
CTX_ORG_ID,
PROGRAM_NAME,
PROGRAM_TAG,
NAME,
DESCRIPTION
from FND_GRANTS
where GRANT_GUID = hextoraw(X_GRANT_GUID)
for update of GRANT_GUID nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
procedure UPDATE_ROW (
X_GRANT_GUID in RAW,
X_GRANTEE_TYPE in VARCHAR2,
X_GRANTEE_KEY in VARCHAR2,
X_MENU_ID in NUMBER,
X_START_DATE in DATE,
X_END_DATE in DATE,
X_OBJECT_ID in NUMBER,
X_INSTANCE_TYPE in VARCHAR2,
X_INSTANCE_SET_ID in NUMBER,
X_INSTANCE_PK1_VALUE in VARCHAR2,
X_INSTANCE_PK2_VALUE in VARCHAR2,
X_INSTANCE_PK3_VALUE in VARCHAR2,
X_INSTANCE_PK4_VALUE in VARCHAR2,
X_INSTANCE_PK5_VALUE in VARCHAR2,
X_PROGRAM_NAME in VARCHAR2,
X_PROGRAM_TAG in VARCHAR2,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_LAST_UPDATE_LOGIN in NUMBER,
X_PARAMETER1 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER2 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER3 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER4 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER5 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER6 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER7 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER8 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER9 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER10 IN VARCHAR2 DEFAULT NULL,
X_CTX_SECGRP_ID in NUMBER default -1,
X_CTX_RESP_ID in NUMBER default -1,
X_CTX_RESP_APPL_ID in NUMBER default -1,
X_CTX_ORG_ID in NUMBER default -1,
X_NAME in VARCHAR2 default '*NOTPASSED*',
X_DESCRIPTION in VARCHAR2 default '*NOTPASSED*'
) is
l_orig_system varchar2(48) := NULL;
'UPDATE_ROW caller mixed NULL with *NOTPASSED* on grant guid:'
||X_GRANT_GUID);
/* First version of update does not include name, description */
update FND_GRANTS set
GRANTEE_TYPE = X_GRANTEE_TYPE,
GRANTEE_KEY = L_GRANTEE_KEY,
MENU_ID = X_MENU_ID,
START_DATE = X_START_DATE,
END_DATE = X_END_DATE,
OBJECT_ID = X_OBJECT_ID,
INSTANCE_TYPE = X_INSTANCE_TYPE,
INSTANCE_SET_ID = X_INSTANCE_SET_ID,
INSTANCE_PK1_VALUE = L_INSTANCE_PK1_VALUE,
INSTANCE_PK2_VALUE = L_INSTANCE_PK2_VALUE,
INSTANCE_PK3_VALUE = L_INSTANCE_PK3_VALUE,
INSTANCE_PK4_VALUE = L_INSTANCE_PK4_VALUE,
INSTANCE_PK5_VALUE = L_INSTANCE_PK5_VALUE,
PARAMETER1 = X_PARAMETER1,
PARAMETER2 = X_PARAMETER2,
PARAMETER3 = X_PARAMETER3,
PARAMETER4 = X_PARAMETER4,
PARAMETER5 = X_PARAMETER5,
PARAMETER6 = X_PARAMETER6,
PARAMETER7 = X_PARAMETER7,
PARAMETER8 = X_PARAMETER8,
PARAMETER9 = X_PARAMETER9,
PARAMETER10 = X_PARAMETER10,
CTX_SECGRP_ID = X_CTX_SECGRP_ID,
CTX_RESP_ID = X_CTX_RESP_ID,
CTX_RESP_APPL_ID = X_CTX_RESP_APPL_ID,
CTX_ORG_ID = X_CTX_ORG_ID,
PROGRAM_NAME = X_PROGRAM_NAME,
PROGRAM_TAG = X_PROGRAM_TAG,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
GRANTEE_ORIG_SYSTEM = l_orig_system,
GRANTEE_ORIG_SYSTEM_ID = l_orig_system_id
where GRANT_GUID = hextoraw(X_GRANT_GUID);
/* Second version of update includes name, description */
update FND_GRANTS set
GRANTEE_TYPE = X_GRANTEE_TYPE,
GRANTEE_KEY = L_GRANTEE_KEY,
MENU_ID = X_MENU_ID,
START_DATE = X_START_DATE,
END_DATE = X_END_DATE,
OBJECT_ID = X_OBJECT_ID,
INSTANCE_TYPE = X_INSTANCE_TYPE,
INSTANCE_SET_ID = X_INSTANCE_SET_ID,
INSTANCE_PK1_VALUE = L_INSTANCE_PK1_VALUE,
INSTANCE_PK2_VALUE = L_INSTANCE_PK2_VALUE,
INSTANCE_PK3_VALUE = L_INSTANCE_PK3_VALUE,
INSTANCE_PK4_VALUE = L_INSTANCE_PK4_VALUE,
INSTANCE_PK5_VALUE = L_INSTANCE_PK5_VALUE,
PARAMETER1 = X_PARAMETER1,
PARAMETER2 = X_PARAMETER2,
PARAMETER3 = X_PARAMETER3,
PARAMETER4 = X_PARAMETER4,
PARAMETER5 = X_PARAMETER5,
PARAMETER6 = X_PARAMETER6,
PARAMETER7 = X_PARAMETER7,
PARAMETER8 = X_PARAMETER8,
PARAMETER9 = X_PARAMETER9,
PARAMETER10 = X_PARAMETER10,
CTX_SECGRP_ID = X_CTX_SECGRP_ID,
CTX_RESP_ID = X_CTX_RESP_ID,
CTX_RESP_APPL_ID = X_CTX_RESP_APPL_ID,
CTX_ORG_ID = X_CTX_ORG_ID,
PROGRAM_NAME = X_PROGRAM_NAME,
PROGRAM_TAG = X_PROGRAM_TAG,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
GRANTEE_ORIG_SYSTEM = l_orig_system,
GRANTEE_ORIG_SYSTEM_ID = l_orig_system_id,
NAME = x_name,
DESCRIPTION = x_description
where GRANT_GUID = hextoraw(X_GRANT_GUID);
fnd_function_security_cache.update_grant(X_GRANT_GUID, X_GRANTEE_TYPE, L_GRANTEE_KEY);
end UPDATE_ROW;
X_LAST_UPDATE_DATE => null
);
X_LAST_UPDATE_DATE in VARCHAR2,
X_PARAMETER1 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER2 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER3 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER4 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER5 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER6 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER7 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER8 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER9 IN VARCHAR2 DEFAULT NULL,
X_PARAMETER10 IN VARCHAR2 DEFAULT NULL,
X_CTX_SECURITY_GROUP_KEY in VARCHAR2 default '*GLOBAL*',
X_CTX_RESP_KEY in VARCHAR2 default '*GLOBAL*',
X_CTX_RESP_APP_SHORT_NAME in VARCHAR2 default '*GLOBAL*',
X_CTX_ORGANIZATION in VARCHAR2 default '*GLOBAL*',
X_NAME in VARCHAR2 default '*NOTPASSED*',
X_DESCRIPTION in VARCHAR2 default '*NOTPASSED*'
) is
obj_id number := NULL;
f_ludate date; -- entity update date in file
db_ludate date; -- entity update date in db
f_ludate := nvl(to_date(x_last_update_date, 'YYYY/MM/DD'), sysdate);
select object_id
into obj_id
from fnd_objects
where obj_name = X_OBJ_NAME;
select menu_id
into mnu_id
from fnd_menus
where menu_name = X_MENU_NAME;
select instance_set_id
into ins_set_id
from fnd_object_instance_sets
where instance_set_name = X_INSTANCE_SET_NAME;
select security_group_id into secgrp_id
from fnd_security_groups
where security_group_key = X_CTX_SECURITY_GROUP_KEY;
select application_id into resp_appl_id
from fnd_application
where application_short_name = X_CTX_RESP_APP_SHORT_NAME;
select responsibility_id into resp_id
from fnd_responsibility
where responsibility_key = X_CTX_RESP_KEY
and application_id = resp_appl_id;
/* exception and a new row will get inserted. */
select last_updated_by, last_update_date
into db_luby, db_ludate
from fnd_grants
where grant_guid = hextoraw(X_GRANT_GUID);
FND_GRANTS_PKG.UPDATE_ROW(
X_GRANT_GUID => hextoraw(X_GRANT_GUID),
X_GRANTEE_TYPE => X_GRANTEE_TYPE,
X_GRANTEE_KEY => L_GRANTEE_KEY,
X_MENU_ID => mnu_id,
X_START_DATE => to_date(X_START_DATE, 'YYYY/MM/DD'),
X_END_DATE => to_date(X_END_DATE, 'YYYY/MM/DD'),
X_OBJECT_ID => obj_id,
X_INSTANCE_TYPE => X_INSTANCE_TYPE,
X_INSTANCE_SET_ID => ins_set_id,
X_INSTANCE_PK1_VALUE => L_INSTANCE_PK1_VALUE,
X_INSTANCE_PK2_VALUE => L_INSTANCE_PK2_VALUE,
X_INSTANCE_PK3_VALUE => L_INSTANCE_PK3_VALUE,
X_INSTANCE_PK4_VALUE => L_INSTANCE_PK4_VALUE,
X_INSTANCE_PK5_VALUE => L_INSTANCE_PK5_VALUE,
X_PARAMETER1 => X_PARAMETER1,
X_PARAMETER2 => X_PARAMETER2,
X_PARAMETER3 => X_PARAMETER3,
X_PARAMETER4 => X_PARAMETER4,
X_PARAMETER5 => X_PARAMETER5,
X_PARAMETER6 => X_PARAMETER6,
X_PARAMETER7 => X_PARAMETER7,
X_PARAMETER8 => X_PARAMETER8,
X_PARAMETER9 => X_PARAMETER9,
X_PARAMETER10 => X_PARAMETER10,
X_CTX_SECGRP_ID => secgrp_id,
X_CTX_RESP_ID => resp_id,
X_CTX_RESP_APPL_ID => resp_appl_id,
X_CTX_ORG_ID => org_id,
X_PROGRAM_NAME => X_PROGRAM_NAME,
X_PROGRAM_TAG => X_PROGRAM_TAG,
X_LAST_UPDATE_DATE => f_ludate,
X_LAST_UPDATED_BY => f_luby,
X_LAST_UPDATE_LOGIN => 0,
X_NAME => x_name,
X_DESCRIPTION => x_description);
FND_GRANTS_PKG.INSERT_ROW(
X_ROWID => row_id,
X_GRANT_GUID => hextoraw(X_GRANT_GUID),
X_GRANTEE_TYPE => X_GRANTEE_TYPE,
X_GRANTEE_KEY => L_GRANTEE_KEY,
X_MENU_ID => mnu_id,
X_START_DATE => to_date(X_START_DATE, 'YYYY/MM/DD'),
X_END_DATE => to_date(X_END_DATE, 'YYYY/MM/DD'),
X_OBJECT_ID => obj_id,
X_INSTANCE_TYPE => X_INSTANCE_TYPE,
X_INSTANCE_SET_ID => ins_set_id,
X_INSTANCE_PK1_VALUE => L_INSTANCE_PK1_VALUE,
X_INSTANCE_PK2_VALUE => L_INSTANCE_PK2_VALUE,
X_INSTANCE_PK3_VALUE => L_INSTANCE_PK3_VALUE,
X_INSTANCE_PK4_VALUE => L_INSTANCE_PK4_VALUE,
X_INSTANCE_PK5_VALUE => L_INSTANCE_PK5_VALUE,
X_PARAMETER1 => X_PARAMETER1,
X_PARAMETER2 => X_PARAMETER2,
X_PARAMETER3 => X_PARAMETER3,
X_PARAMETER4 => X_PARAMETER4,
X_PARAMETER5 => X_PARAMETER5,
X_PARAMETER6 => X_PARAMETER6,
X_PARAMETER7 => X_PARAMETER7,
X_PARAMETER8 => X_PARAMETER8,
X_PARAMETER9 => X_PARAMETER9,
X_PARAMETER10 => X_PARAMETER10,
X_CTX_SECGRP_ID => secgrp_id,
X_CTX_RESP_ID => resp_id,
X_CTX_RESP_APPL_ID => resp_appl_id,
X_CTX_ORG_ID => org_id,
X_PROGRAM_NAME => X_PROGRAM_NAME,
X_PROGRAM_TAG => X_PROGRAM_TAG,
X_CREATION_DATE => f_ludate,
X_CREATED_BY => f_luby,
X_LAST_UPDATE_DATE => f_ludate,
X_LAST_UPDATED_BY => f_luby,
X_LAST_UPDATE_LOGIN => 0,
X_NAME => l_name,
X_DESCRIPTION =>l_description
);
SELECT menu_id
FROM fnd_menus
WHERE menu_name =p_menu_name;
select object_id
from fnd_objects
where obj_name=p_object_name;
select sys_guid()
into l_grant_guid
from dual;
INSERT_ROW (
X_ROWID =>l_row_id,
X_GRANT_GUID =>l_grant_guid,
X_GRANTEE_TYPE=>p_grantee_type,
X_GRANTEE_KEY =>p_grantee_key,
X_menu_id =>l_menu_id,
X_START_DATE =>p_start_date,
X_END_DATE =>p_end_date,
X_OBJECT_ID =>l_object_id,
X_INSTANCE_TYPE =>p_instance_type,
x_instance_set_id =>p_instance_set_id,
X_INSTANCE_PK1_VALUE =>p_instance_PK1_value,
X_INSTANCE_PK2_VALUE =>p_instance_PK2_value,
X_INSTANCE_PK3_VALUE =>p_instance_PK3_value,
X_INSTANCE_PK4_VALUE =>p_instance_PK4_value,
X_INSTANCE_PK5_VALUE =>p_instance_PK5_value,
X_PARAMETER1 => P_PARAMETER1,
X_PARAMETER2 => P_PARAMETER2,
X_PARAMETER3 => P_PARAMETER3,
X_PARAMETER4 => P_PARAMETER4,
X_PARAMETER5 => P_PARAMETER5,
X_PARAMETER6 => P_PARAMETER6,
X_PARAMETER7 => P_PARAMETER7,
X_PARAMETER8 => P_PARAMETER8,
X_PARAMETER9 => P_PARAMETER9,
X_PARAMETER10 => P_PARAMETER10,
X_CTX_SECGRP_ID => P_CTX_SECGRP_ID,
X_CTX_RESP_ID => P_CTX_RESP_ID,
X_CTX_RESP_APPL_ID => P_CTX_RESP_APPL_ID,
X_CTX_ORG_ID => P_CTX_ORG_ID,
X_PROGRAM_NAME =>p_program_name,
X_PROGRAM_TAG =>p_program_tag,
X_CREATION_DATE =>l_sys_date,
X_CREATED_BY =>l_user_id,
X_LAST_UPDATE_DATE =>l_sys_date,
X_LAST_UPDATED_BY =>l_user_id,
X_LAST_UPDATE_LOGIN =>l_user_id,
X_NAME => p_name,
X_DESCRIPTION => p_description
) ;
DELETE_ROW ( X_GRANT_GUID=> p_grant_guid);
/* Please call overloaded update_grant below. This version is obsolete */
PROCEDURE update_grant
(
p_api_version IN NUMBER,
p_grant_guid IN raw,
p_start_date IN DATE,
p_end_date IN DATE,
x_success OUT NOCOPY VARCHAR2
) is
begin
update_grant(p_api_version => p_api_version,
p_grant_guid => p_grant_guid,
p_start_date => p_start_date,
p_end_date => p_end_date,
p_name => '*NOTPASSED*',
p_description => '*NOTPASSED*',
x_success => x_success);
END update_grant;
/* This is the new version of update_grant for new code to use */
PROCEDURE update_grant
(
p_api_version IN NUMBER,
p_grant_guid IN raw,
p_start_date IN DATE,
p_end_date IN DATE,
p_name IN VARCHAR2,
p_description IN VARCHAR2,
x_success OUT NOCOPY VARCHAR2
) is
l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_GRANT';
'UPDATE_GRANT caller mixed NULL with *NOTPASSED* on grant guid:'
||P_GRANT_GUID);
/* Don't update name and description */
UPDATE fnd_grants
SET start_date=p_start_date,
end_date=p_end_date
WHERE grant_guid= hextoraw(p_grant_guid);
/* This version updates name and description */
UPDATE fnd_grants
SET start_date=p_start_date,
end_date=p_end_date,
name = p_name,
description = p_description
WHERE grant_guid= hextoraw(p_grant_guid);
select grantee_type, grantee_key, object_id
into l_grantee_type, l_grantee_key, l_object_id
from fnd_grants
where grant_guid= hextoraw(p_grant_guid);
fnd_function_security_cache.update_grant(p_grant_guid, l_grantee_type, l_grantee_key);
END update_grant;
procedure DELETE_ROW (
X_GRANT_GUID in RAW
) is
l_grantee_type VARCHAR2(8);
select grantee_type, grantee_key, object_id
into l_grantee_type, l_grantee_key, l_object_id
from fnd_grants
where grant_guid= hextoraw(X_GRANT_GUID);
delete from FND_GRANTS
where GRANT_GUID = hextoraw(X_GRANT_GUID);
fnd_function_security_cache.delete_grant(X_GRANT_GUID, l_grantee_type, l_grantee_key);
end DELETE_ROW;
PROCEDURE delete_grant(
p_grantee_type IN VARCHAR2 DEFAULT NULL,
p_grantee_key IN VARCHAR2 DEFAULT NULL,
p_object_name IN VARCHAR2 DEFAULT NULL,
p_instance_type IN VARCHAR2 DEFAULT NULL,
p_instance_set_id IN NUMBER DEFAULT NULL,
p_instance_pk1_value IN VARCHAR2 DEFAULT NULL,
p_instance_pk2_value IN VARCHAR2 DEFAULT NULL,
p_instance_pk3_value IN VARCHAR2 DEFAULT NULL,
p_instance_pk4_value IN VARCHAR2 DEFAULT NULL,
p_instance_pk5_value IN VARCHAR2 DEFAULT NULL,
p_menu_name IN VARCHAR2 DEFAULT NULL,
p_program_name IN VARCHAR2 DEFAULT NULL,
p_program_tag IN VARCHAR2 DEFAULT NULL,
x_success OUT NOCOPY VARCHAR,
x_errcode OUT NOCOPY NUMBER)IS
type sql_curs_type is REF CURSOR; -- bug3625804 Reference cursor type
del_sql_stmt VARCHAR2(5000); -- bug3625804 delete statement
sel_sql_stmt VARCHAR2(5000); -- bug3625804 select statement
SELECT menu_id
FROM FND_MENUS
WHERE menu_name = p_menu_name;
SELECT object_id
FROM fnd_objects
WHERE obj_name = p_object_name;
'FND_GRANTS_DELETE_PKG.delete_grant()');
'FND_GRANTS_DELETE_PKG.delete_grant()');
del_sql_stmt := 'DELETE FROM FND_GRANTS';
sel_sql_stmt := 'SELECT GRANT_GUID FROM FND_GRANTS';
fnd_function_security_cache.delete_grant(l_grant_guid, p_grantee_type, p_grantee_key);
END delete_grant;
select grantee_type, grantee_key, object_id
into l_grantee_type, l_grantee_key, l_object_id
from fnd_grants
where grant_guid = hextoraw(p_grant_guid);
UPDATE fnd_grants
SET grantee_orig_system = l_orig_system,
grantee_orig_system_id = l_orig_system_id
WHERE grant_guid= hextoraw(p_grant_guid);
fnd_function_security_cache.update_grant(p_grant_guid, l_grantee_type, l_grantee_key);
select grant_guid
from fnd_grants
where grantee_key is not NULL
and grantee_orig_system is NULL;
select grant_guid,
instance_pk1_value,
instance_pk2_value,
instance_pk3_value,
instance_pk4_value,
instance_pk5_value
from fnd_grants
where (instance_pk1_value is NULL)
or (instance_pk2_value is NULL)
or (instance_pk3_value is NULL)
or (instance_pk4_value is NULL)
or (instance_pk5_value is NULL);
select grantee_type, grantee_key, object_id
into l_grantee_type, l_grantee_key, l_object_id
from fnd_grants
where grant_guid = hextoraw(l_guid);
update fnd_grants set
instance_pk1_value = l_pk1,
instance_pk2_value = l_pk2,
instance_pk3_value = l_pk3,
instance_pk4_value = l_pk4,
instance_pk5_value = l_pk5
where
grant_guid = hextoraw(l_guid);
fnd_function_security_cache.update_grant(l_guid, l_grantee_type, l_grantee_key);