DBA Data[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;