[Home] [Help]
PACKAGE BODY: APPS.HR_KI_ITF_LOAD_API
Source
1 Package Body HR_KI_ITF_LOAD_API as
2 /* $Header: hrkiitfl.pkb 120.1 2006/06/27 16:04:45 avarri noship $ */
3 --
4 -- Package Variables
5 --
6 g_package varchar2(31) := 'HR_KI_ITF_LOAD_API';
7 --
8
9 procedure INSERT_ROW (
10 X_ROWID in out nocopy VARCHAR2,
11 X_USER_INTERFACE_ID in out nocopy NUMBER,
12 X_USER_INTERFACE_KEY in VARCHAR2,
13 X_TYPE in VARCHAR2,
14 X_FORM_NAME in varchar2,
15 X_PAGE_REGION_CODE in VARCHAR2,
16 X_REGION_CODE in VARCHAR2,
17 X_CREATED_BY in NUMBER,
18 X_CREATION_DATE in DATE,
19 X_LAST_UPDATE_DATE in DATE,
20 X_LAST_UPDATED_BY in NUMBER,
21 X_LAST_UPDATE_LOGIN in NUMBER
22
23 ) is
24
25 cursor C is select ROWID from HR_KI_USER_INTERFACES
26 where user_interface_id = X_USER_INTERFACE_ID;
27
28 begin
29
30 select HR_KI_USER_INTERFACES_S.NEXTVAL into X_USER_INTERFACE_ID from sys.dual;
31
32 insert into HR_KI_USER_INTERFACES (
33 USER_INTERFACE_ID,
34 USER_INTERFACE_KEY,
35 TYPE,
36 FORM_NAME,
37 PAGE_REGION_CODE,
38 REGION_CODE,
39 CREATION_DATE,
40 CREATED_BY,
41 LAST_UPDATE_DATE,
42 LAST_UPDATED_BY,
43 LAST_UPDATE_LOGIN,
44 OBJECT_VERSION_NUMBER
45 ) values (
46 X_USER_INTERFACE_ID,
47 X_USER_INTERFACE_KEY,
48 X_TYPE,
49 X_FORM_NAME,
50 X_PAGE_REGION_CODE,
51 X_REGION_CODE,
52 X_CREATION_DATE,
53 X_CREATED_BY,
54 X_LAST_UPDATE_DATE,
55 X_LAST_UPDATED_BY,
56 X_LAST_UPDATE_LOGIN,
57 1
58 );
59
60 open c;
61 fetch c into X_ROWID;
62 if (c%notfound) then
63 close c;
64 hr_utility.set_message(801, 'HR_6153_ALL_PROCEDURE_FAIL');
65 hr_utility.set_message_token('PROCEDURE',
66 'HR_KI_HIERARCHIES.insert_row');
67 hr_utility.set_message_token('STEP','1');
68 hr_utility.raise_error;
69 end if;
70 close c;
71
72 end INSERT_ROW;
73
74 procedure LOAD_ROW
75 (
76 X_USER_INTERFACE_KEY in VARCHAR2,
77 X_TYPE in VARCHAR2,
78 X_FORM_NAME in VARCHAR2,
79 X_PAGE_REGION_CODE in VARCHAR2,
80 X_REGION_CODE in VARCHAR2,
81 X_LAST_UPDATE_DATE in VARCHAR2,
82 X_CUSTOM_MODE in VARCHAR2,
83 X_OWNER in VARCHAR2
84 )
85
86 is
87 l_proc VARCHAR2(31) := 'HR_KI_ITF_LOAD_API.LOAD_ROW';
88 l_rowid rowid;
89 l_created_by HR_KI_USER_INTERFACES.created_by%TYPE := 0;
90 l_creation_date HR_KI_USER_INTERFACES.creation_date%TYPE := SYSDATE;
91 l_last_update_date HR_KI_USER_INTERFACES.last_update_date%TYPE := SYSDATE;
92 l_last_updated_by HR_KI_USER_INTERFACES.last_updated_by%TYPE := 0;
93 l_last_update_login HR_KI_USER_INTERFACES.last_update_login%TYPE := 0;
94 l_user_interface_id HR_KI_USER_INTERFACES.user_interface_id%TYPE;
95
96 l_object_version_number HR_KI_USER_INTERFACES.object_version_number%TYPE;
97
98 db_luby number; -- entity owner in db
99 db_ludate date; -- entity update date in db
100
101
102
103 CURSOR C_APPL IS
104 select user_interface_id,object_version_number
105 from HR_KI_USER_INTERFACES
106 where upper(user_interface_key) = upper(X_USER_INTERFACE_KEY);
107
108 begin
109 --
110 -- added for 5354277
111 hr_general.g_data_migrator_mode := 'Y';
112 --
113
114 --
115 -- do any validations if necessary
116
117 -- Translate owner to file_last_updated_by
118 l_last_updated_by := fnd_load_util.owner_id(X_OWNER);
119 l_created_by := fnd_load_util.owner_id(X_OWNER);
120
121 -- Translate char last_update_date to date
122 l_last_update_date := nvl(to_date(X_LAST_UPDATE_DATE, 'YYYY/MM/DD hh24:mi:ss'), sysdate);
123
124
125 -- Update or insert row as appropriate
126
127 OPEN C_APPL;
128 FETCH C_APPL INTO l_user_interface_id,l_object_version_number;
129
130
131 if C_APPL%notfound then
132 close C_APPL;
133 INSERT_ROW
134 (
135 X_ROWID => l_rowid
136 ,X_USER_INTERFACE_ID => l_user_interface_id
137 ,X_USER_INTERFACE_KEY => X_USER_INTERFACE_KEY
138 ,X_TYPE => X_TYPE
139 ,X_FORM_NAME => X_FORM_NAME
140 ,X_PAGE_REGION_CODE => X_PAGE_REGION_CODE
141 ,X_REGION_CODE => X_REGION_CODE
142 ,X_CREATED_BY => l_created_by
143 ,X_CREATION_DATE => l_creation_date
144 ,X_LAST_UPDATE_DATE => l_last_update_date
145 ,X_LAST_UPDATED_BY => l_last_updated_by
146 ,X_LAST_UPDATE_LOGIN => l_last_update_login
147 );
148
149
150 else
151 close C_APPL;
152
153 -- we do not provide update functionality as developer keys can never be updated
154 -- and the user_interface_key depends on values that can potentially be updated
155 -- a combination is always treated as a changed combination
156 end if;
157 --
158 end LOAD_ROW;
159
160 END HR_KI_ITF_LOAD_API;