The following lines contain the word 'select', 'insert', 'update' or 'delete':
procedure INSERT_ROW (
X_ROWID in out NOCOPY VARCHAR2,
X_GRID_DATASOURCE_NAME in VARCHAR2,
X_DB_VIEW_NAME in VARCHAR2,
X_APPLICATION_ID in NUMBER,
X_DEFAULT_ROW_HEIGHT in NUMBER,
X_MAX_QUERIED_ROWS in NUMBER,
X_WHERE_CLAUSE in VARCHAR2,
X_ALT_COLOR_CODE in VARCHAR2,
X_ALT_COLOR_INTERVAL in NUMBER,
X_TITLE_TEXT 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_FETCH_SIZE in NUMBER
) is
cursor C is select ROWID from JTF_GRID_DATASOURCES_B
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME
;
insert into JTF_GRID_DATASOURCES_B (
GRID_DATASOURCE_NAME,
DB_VIEW_NAME,
APPLICATION_ID,
DEFAULT_ROW_HEIGHT,
MAX_QUERIED_ROWS,
WHERE_CLAUSE,
ALT_COLOR_CODE,
ALT_COLOR_INTERVAL,
CREATION_DATE,
CREATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_LOGIN,
FETCH_SIZE
) values (
X_GRID_DATASOURCE_NAME,
X_DB_VIEW_NAME,
X_APPLICATION_ID,
X_DEFAULT_ROW_HEIGHT,
X_MAX_QUERIED_ROWS,
X_WHERE_CLAUSE,
X_ALT_COLOR_CODE,
X_ALT_COLOR_INTERVAL,
X_CREATION_DATE,
X_CREATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_LOGIN,
X_FETCH_SIZE
);
insert into JTF_GRID_DATASOURCES_TL (
GRID_DATASOURCE_NAME,
TITLE_TEXT,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN,
LANGUAGE,
SOURCE_LANG
) select
X_GRID_DATASOURCE_NAME,
X_TITLE_TEXT,
X_CREATED_BY,
X_CREATION_DATE,
X_LAST_UPDATED_BY,
X_LAST_UPDATE_DATE,
X_LAST_UPDATE_LOGIN,
L.LANGUAGE_CODE,
userenv('LANG')
from FND_LANGUAGES L
where L.INSTALLED_FLAG in ('I', 'B')
and not exists
(select NULL
from JTF_GRID_DATASOURCES_TL T
where T.GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME
and T.LANGUAGE = L.LANGUAGE_CODE);
end INSERT_ROW;
cursor c is select
DB_VIEW_NAME,
APPLICATION_ID,
DEFAULT_ROW_HEIGHT,
MAX_QUERIED_ROWS,
WHERE_CLAUSE,
ALT_COLOR_CODE,
ALT_COLOR_INTERVAL,
FETCH_SIZE
from JTF_GRID_DATASOURCES_B
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME
for update of GRID_DATASOURCE_NAME nowait;
cursor c1 is select
TITLE_TEXT,
decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
from JTF_GRID_DATASOURCES_TL
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME
and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
for update of GRID_DATASOURCE_NAME nowait;
fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
procedure UPDATE_ROW (
X_GRID_DATASOURCE_NAME in VARCHAR2,
X_DB_VIEW_NAME in VARCHAR2,
X_APPLICATION_ID in NUMBER,
X_DEFAULT_ROW_HEIGHT in NUMBER,
X_MAX_QUERIED_ROWS in NUMBER,
X_WHERE_CLAUSE in VARCHAR2,
X_ALT_COLOR_CODE in VARCHAR2,
X_ALT_COLOR_INTERVAL in NUMBER,
X_TITLE_TEXT in VARCHAR2,
X_LAST_UPDATE_DATE in DATE,
X_LAST_UPDATED_BY in NUMBER,
X_LAST_UPDATE_LOGIN in NUMBER,
X_FETCH_SIZE in NUMBER
) is
begin
update JTF_GRID_DATASOURCES_B set
DB_VIEW_NAME = X_DB_VIEW_NAME,
APPLICATION_ID = X_APPLICATION_ID,
DEFAULT_ROW_HEIGHT = X_DEFAULT_ROW_HEIGHT,
MAX_QUERIED_ROWS = X_MAX_QUERIED_ROWS,
WHERE_CLAUSE = X_WHERE_CLAUSE,
ALT_COLOR_CODE = X_ALT_COLOR_CODE,
ALT_COLOR_INTERVAL = X_ALT_COLOR_INTERVAL,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
FETCH_SIZE = X_FETCH_SIZE
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME;
update JTF_GRID_DATASOURCES_TL set
TITLE_TEXT = X_TITLE_TEXT,
LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
LAST_UPDATED_BY = X_LAST_UPDATED_BY,
LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
SOURCE_LANG = userenv('LANG')
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME
and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
end UPDATE_ROW;
This procedure delete the metadata definition without deleting the customization data
This procedure should be invoked only from the LOAD_ROW procedure which will re-load the metadata
definition.
*/
procedure DELETE_ROW_PRESERVE_CUSTOM(
X_GRID_DATASOURCE_NAME in VARCHAR2
) is
cursor sort_cols(x_grid_datasource_name in varchar2) is
select 'X'
from jtf_grid_sort_cols
where grid_datasource_name = x_grid_datasource_name;
delete from JTF_GRID_SORT_COLS
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME;
delete from JTF_GRID_DATASOURCES_TL
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME;
delete from JTF_GRID_DATASOURCES_B
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME;
delete from JTF_GRID_COLS_TL
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME ;
delete from JTF_GRID_COLS_B
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME ;
end DELETE_ROW_PRESERVE_CUSTOM;
procedure DELETE_ROW (
X_GRID_DATASOURCE_NAME in VARCHAR2
) is
l_custom_grid_id jtf_custom_grids.custom_grid_id%TYPE;
select custom_grid_id
from jtf_custom_grids
where grid_datasource_name = x_grid_datasource_name;
select 'X'
from jtf_grid_sort_cols
where grid_datasource_name = x_grid_datasource_name;
delete from JTF_CUSTOM_BIND_VALUES
where CUSTOM_GRID_ID = l_custom_grid_id;
delete from JTF_DEF_CUSTOM_GRIDS
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME;
delete from JTF_CUSTOM_GRIDS
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME;
delete from JTF_GRID_SORT_COLS
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME;
delete from JTF_GRID_DATASOURCES_TL
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME;
delete from JTF_GRID_DATASOURCES_B
where GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME;
end DELETE_ROW;
delete from JTF_GRID_DATASOURCES_TL T
where not exists
(select NULL
from JTF_GRID_DATASOURCES_B B
where B.GRID_DATASOURCE_NAME = T.GRID_DATASOURCE_NAME
);
update JTF_GRID_DATASOURCES_TL T set (
TITLE_TEXT
) = (select
B.TITLE_TEXT
from JTF_GRID_DATASOURCES_TL B
where B.GRID_DATASOURCE_NAME = T.GRID_DATASOURCE_NAME
and B.LANGUAGE = T.SOURCE_LANG)
where (
T.GRID_DATASOURCE_NAME,
T.LANGUAGE
) in (select
SUBT.GRID_DATASOURCE_NAME,
SUBT.LANGUAGE
from JTF_GRID_DATASOURCES_TL SUBB, JTF_GRID_DATASOURCES_TL SUBT
where SUBB.GRID_DATASOURCE_NAME = SUBT.GRID_DATASOURCE_NAME
and SUBB.LANGUAGE = SUBT.SOURCE_LANG
and (SUBB.TITLE_TEXT <> SUBT.TITLE_TEXT
));
insert into JTF_GRID_DATASOURCES_TL (
GRID_DATASOURCE_NAME,
TITLE_TEXT,
CREATED_BY,
CREATION_DATE,
LAST_UPDATED_BY,
LAST_UPDATE_DATE,
LAST_UPDATE_LOGIN,
LANGUAGE,
SOURCE_LANG
) select
B.GRID_DATASOURCE_NAME,
B.TITLE_TEXT,
B.CREATED_BY,
B.CREATION_DATE,
B.LAST_UPDATED_BY,
B.LAST_UPDATE_DATE,
B.LAST_UPDATE_LOGIN,
L.LANGUAGE_CODE,
B.SOURCE_LANG
from JTF_GRID_DATASOURCES_TL B, FND_LANGUAGES L
where L.INSTALLED_FLAG in ('I', 'B')
and B.LANGUAGE = userenv('LANG')
and not exists
(select NULL
from JTF_GRID_DATASOURCES_TL T
where T.GRID_DATASOURCE_NAME = B.GRID_DATASOURCE_NAME
and T.LANGUAGE = L.LANGUAGE_CODE);
X_LAST_UPDATE_DATE in VARCHAR2
) is
row_id varchar2(64);
f_ludate date; -- entity update date in file
db_ludate date; -- entity update date in db
select APPLICATION_ID
into owner_appid
from FND_APPLICATION
where APPLICATION_SHORT_NAME = X_APPLICATION_SHORT_NAME;
f_ludate := nvl(to_date(X_LAST_UPDATE_DATE, 'YYYY/MM/DD'), sysdate);
select LAST_UPDATED_BY, LAST_UPDATE_DATE
into db_luby, db_ludate
from JTF_GRID_DATASOURCES_B
where GRID_DATASOURCE_NAME = x_grid_datasource_name;
delete_row_preserve_custom(x_grid_datasource_name);
INSERT_ROW (X_ROWID => row_id
,X_GRID_DATASOURCE_NAME => X_GRID_DATASOURCE_NAME
,X_DB_VIEW_NAME => X_DB_VIEW_NAME
,X_APPLICATION_ID => owner_appid
,X_DEFAULT_ROW_HEIGHT => X_DEFAULT_ROW_HEIGHT
,X_MAX_QUERIED_ROWS => X_MAX_QUERIED_ROWS
,X_WHERE_CLAUSE => X_WHERE_CLAUSE
,X_ALT_COLOR_CODE => X_ALT_COLOR_CODE
,X_ALT_COLOR_INTERVAL => X_ALT_COLOR_INTERVAL
,X_TITLE_TEXT => X_TITLE_TEXT
,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_FETCH_SIZE => X_FETCH_SIZE);
UPDATE_ROW (X_GRID_DATASOURCE_NAME => X_GRID_DATASOURCE_NAME
,X_DB_VIEW_NAME => X_DB_VIEW_NAME
,X_APPLICATION_ID => owner_appid
,X_DEFAULT_ROW_HEIGHT => X_DEFAULT_ROW_HEIGHT
,X_MAX_QUERIED_ROWS => X_MAX_QUERIED_ROWS
,X_WHERE_CLAUSE => X_WHERE_CLAUSE
,X_ALT_COLOR_CODE => X_ALT_COLOR_CODE
,X_ALT_COLOR_INTERVAL => X_ALT_COLOR_INTERVAL
,X_TITLE_TEXT => X_TITLE_TEXT
,X_LAST_UPDATE_DATE => f_ludate
,X_LAST_UPDATED_BY => f_luby
,X_LAST_UPDATE_LOGIN => 0
,X_FETCH_SIZE => X_FETCH_SIZE);
INSERT_ROW (X_ROWID => row_id
,X_GRID_DATASOURCE_NAME => X_GRID_DATASOURCE_NAME
,X_DB_VIEW_NAME => X_DB_VIEW_NAME
,X_APPLICATION_ID => owner_appid
,X_DEFAULT_ROW_HEIGHT => X_DEFAULT_ROW_HEIGHT
,X_MAX_QUERIED_ROWS => X_MAX_QUERIED_ROWS
,X_WHERE_CLAUSE => X_WHERE_CLAUSE
,X_ALT_COLOR_CODE => X_ALT_COLOR_CODE
,X_ALT_COLOR_INTERVAL => X_ALT_COLOR_INTERVAL
,X_TITLE_TEXT => X_TITLE_TEXT
,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_FETCH_SIZE => X_FETCH_SIZE);
X_LAST_UPDATE_DATE in VARCHAR2
) is
f_luby number; -- entity owner in file
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 LAST_UPDATED_BY, LAST_UPDATE_DATE
into db_luby, db_ludate
from JTF_GRID_DATASOURCES_TL
where GRID_DATASOURCE_NAME = x_grid_datasource_name
and LANGUAGE = userenv('LANG');
update JTF_GRID_DATASOURCES_TL
set TITLE_TEXT = X_TITLE_TEXT
,LAST_UPDATE_DATE = f_ludate
,LAST_UPDATED_BY = f_luby
,LAST_UPDATE_LOGIN = 0
,SOURCE_LANG = userenv('LANG')
where userenv('LANG') in (LANGUAGE,SOURCE_LANG)
and GRID_DATASOURCE_NAME = X_GRID_DATASOURCE_NAME;
SELECT COUNT(1)
INTO DUMMY
FROM jtf_grid_datasources_vl
WHERE grid_datasource_name = X_GRID_DATASOURCE_NAME
AND ((X_ROWID IS NULL) OR (ROWID <> X_ROWID));
l_last_updated_by number;
select last_updated_by
into l_last_updated_by
from jtf_grid_datasources_b
where grid_datasource_name = p_datasource_name;
if l_last_updated_by <> p_owner then
return FALSE;
select 'x'
into l_custom_exists
from jtf_custom_grids
where grid_Datasource_name = p_datasource_name;