[Home] [Help]
PACKAGE BODY: APPS.IBC_CTYPE_GROUP_NODES_PKG
Source
1 PACKAGE BODY Ibc_Ctype_Group_Nodes_Pkg AS
2 /* $Header: ibctcgnb.pls 120.1 2005/07/12 01:43:05 appldev ship $*/
3
4 -- MODIFICATION HISTORY
5 -- Person Date Comments
6 -- --------- ------ ------------------------------------------
7 -- vicho 08/07/2003 created
8
9
10 PROCEDURE INSERT_ROW (
11 x_ROWID OUT NOCOPY VARCHAR2,
12 px_CTYPE_GROUP_NODE_ID IN OUT NOCOPY NUMBER,
13 p_CONTENT_TYPE_CODE IN VARCHAR2,
14 p_DIRECTORY_NODE_ID IN NUMBER,
15 p_OBJECT_VERSION_NUMBER IN NUMBER,
16 p_CREATION_DATE IN DATE,
17 p_CREATED_BY IN NUMBER,
18 p_LAST_UPDATE_DATE IN DATE,
19 p_LAST_UPDATED_BY IN NUMBER,
20 p_LAST_UPDATE_LOGIN IN NUMBER
21 ) IS
22 CURSOR C IS SELECT ROWID FROM Ibc_Ctype_Group_Nodes
23 WHERE CTYPE_GROUP_NODE_ID = px_CTYPE_GROUP_NODE_ID;
24
25 CURSOR c2 IS SELECT Ibc_Ctype_Group_Nodes_s1.NEXTVAL FROM dual;
26
27 BEGIN
28
29 -- Primary key validation check
30 IF ((px_CTYPE_GROUP_NODE_ID IS NULL) OR
31 (px_CTYPE_GROUP_NODE_ID = FND_API.G_MISS_NUM))
32 THEN
33 OPEN c2;
34 FETCH c2 INTO px_CTYPE_GROUP_NODE_ID;
35 CLOSE c2;
36 END IF;
37
38 INSERT INTO IBC_CTYPE_GROUP_NODES (
39 CTYPE_GROUP_NODE_ID
40 ,CONTENT_TYPE_CODE
41 ,DIRECTORY_NODE_ID
42 ,OBJECT_VERSION_NUMBER
43 ,CREATION_DATE
44 ,CREATED_BY
45 ,LAST_UPDATE_DATE
46 ,LAST_UPDATED_BY
47 ,LAST_UPDATE_LOGIN
48 ) VALUES (
49 px_CTYPE_GROUP_NODE_ID,
50 p_CONTENT_TYPE_CODE,
51 p_DIRECTORY_NODE_ID,
52 p_OBJECT_VERSION_NUMBER,
53 DECODE(p_creation_date, FND_API.G_MISS_DATE, SYSDATE, NULL, SYSDATE,
54 p_creation_date),
55 DECODE(p_created_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
56 NULL, FND_GLOBAL.user_id, p_created_by),
57 DECODE(p_last_update_date, FND_API.G_MISS_DATE, SYSDATE, NULL, SYSDATE,
58 p_last_update_date),
59 DECODE(p_last_updated_by, FND_API.G_MISS_NUM, FND_GLOBAL.user_id,
60 NULL, FND_GLOBAL.user_id, p_last_updated_by),
61 DECODE(p_last_update_login, FND_API.G_MISS_NUM, FND_GLOBAL.login_id,
62 NULL, FND_GLOBAL.login_id, p_last_update_login)
63 );
64
65 OPEN c;
66 FETCH c INTO x_ROWID;
67 IF (c%NOTFOUND) THEN
68 CLOSE c;
69 RAISE NO_DATA_FOUND;
70 END IF;
71 CLOSE c;
72
73 END INSERT_ROW;
74
75
76
77
78 PROCEDURE UPDATE_ROW (
79 p_CTYPE_GROUP_NODE_ID IN NUMBER,
80 p_CONTENT_TYPE_CODE IN VARCHAR2 DEFAULT NULL,
81 p_DIRECTORY_NODE_ID IN NUMBER DEFAULT NULL,
82 p_LAST_UPDATED_BY IN NUMBER DEFAULT NULL,
83 p_LAST_UPDATE_DATE IN DATE DEFAULT NULL,
84 p_LAST_UPDATE_LOGIN IN NUMBER DEFAULT NULL
85 ) IS
86 BEGIN
87 UPDATE IBC_CTYPE_GROUP_NODES SET
88 CONTENT_TYPE_CODE = p_CONTENT_TYPE_CODE,
89 DIRECTORY_NODE_ID = p_DIRECTORY_NODE_ID,
90 last_update_date = DECODE(p_last_update_date, FND_API.G_MISS_DATE, SYSDATE,
91 NULL, SYSDATE, p_last_update_date),
92 last_updated_by = DECODE(p_last_updated_by, FND_API.G_MISS_NUM,
93 FND_GLOBAL.user_id, NULL, FND_GLOBAL.user_id,
94 p_last_updated_by),
95 last_update_login = DECODE(p_last_update_login, FND_API.G_MISS_NUM,
96 FND_GLOBAL.login_id, NULL, FND_GLOBAL.login_id,
97 p_last_update_login)
98 WHERE CTYPE_GROUP_NODE_ID = p_CTYPE_GROUP_NODE_ID;
99
100 IF (SQL%NOTFOUND) THEN
101 RAISE NO_DATA_FOUND;
102 END IF;
103
104 END UPDATE_ROW;
105
106
107 PROCEDURE DELETE_ROW (
108 p_CTYPE_GROUP_NODE_ID IN NUMBER
109 ) IS
110 BEGIN
111 DELETE FROM IBC_CTYPE_GROUP_NODES
112 WHERE CTYPE_GROUP_NODE_ID = p_CTYPE_GROUP_NODE_ID;
113
114 IF (SQL%NOTFOUND) THEN
115 RAISE NO_DATA_FOUND;
116 END IF;
117 END DELETE_ROW;
118
119
120
121 PROCEDURE LOAD_ROW(
122 p_UPLOAD_MODE IN VARCHAR2,
123 p_CTYPE_GROUP_NODE_ID IN NUMBER,
124 p_CONTENT_TYPE_CODE IN VARCHAR2,
125 p_DIRECTORY_NODE_ID IN NUMBER,
126 p_OWNER IN VARCHAR2,
127 p_LAST_UPDATE_DATE IN VARCHAR2) IS
128 BEGIN
129 DECLARE
130 l_user_id NUMBER := 0;
131 l_last_update_date DATE;
132 l_row_id VARCHAR2(64);
133 lx_CTYPE_GROUP_NODE_ID NUMBER := p_CTYPE_GROUP_NODE_ID;
134
135 db_user_id NUMBER := 0;
136 db_last_update_date DATE;
137
138 BEGIN
139 --get last updated by user id
140 l_user_id := FND_LOAD_UTIL.OWNER_ID(p_OWNER);
141
142 --translate data type VARCHAR2 to DATE for last_update_date
143 l_last_update_date := nvl(TO_DATE(p_last_update_date, 'YYYY/MM/DD'),SYSDATE);
144
145 -- get updatedby and update_date values if existing in db
146 SELECT LAST_UPDATED_BY, LAST_UPDATE_DATE INTO db_user_id, db_last_update_date
147 FROM IBC_CTYPE_GROUP_NODES
148 WHERE CTYPE_GROUP_NODE_ID = p_CTYPE_GROUP_NODE_ID;
149
150 IF (FND_LOAD_UTIL.UPLOAD_TEST(l_user_id, l_last_update_date,
151 db_user_id, db_last_update_date, p_upload_mode )) THEN
152
153 Ibc_Ctype_Group_Nodes_Pkg.UPDATE_ROW (
154 p_CTYPE_GROUP_NODE_ID => p_CTYPE_GROUP_NODE_ID,
155 p_CONTENT_TYPE_CODE => p_CONTENT_TYPE_CODE,
156 p_DIRECTORY_NODE_ID => p_DIRECTORY_NODE_ID,
157 p_LAST_UPDATED_BY => l_user_id,
158 p_LAST_UPDATE_DATE => SYSDATE,
159 p_LAST_UPDATE_LOGIN => l_user_id
160 );
161 END IF;
162 EXCEPTION
163 WHEN NO_DATA_FOUND THEN
164 Ibc_Ctype_Group_Nodes_Pkg.INSERT_ROW (
165 x_ROWID => l_row_id,
166 px_CTYPE_GROUP_NODE_ID => lx_CTYPE_GROUP_NODE_ID,
167 p_CONTENT_TYPE_CODE => p_CONTENT_TYPE_CODE,
168 p_DIRECTORY_NODE_ID => p_DIRECTORY_NODE_ID,
169 p_OBJECT_VERSION_NUMBER => 1,
170 p_CREATED_BY => l_user_id,
171 p_CREATION_DATE => SYSDATE,
172 p_LAST_UPDATED_BY => l_user_id,
173 p_LAST_UPDATE_DATE => SYSDATE,
174 p_LAST_UPDATE_LOGIN => l_user_id
175 );
176 END;
177 END LOAD_ROW;
178
179 PROCEDURE LOAD_SEED_ROW (
180 p_UPLOAD_MODE IN VARCHAR2,
181 p_CTYPE_GROUP_NODE_ID IN NUMBER,
182 p_CONTENT_TYPE_CODE IN VARCHAR2,
183 p_DIRECTORY_NODE_ID IN NUMBER,
184 p_OWNER IN VARCHAR2,
185 p_LAST_UPDATE_DATE IN VARCHAR2) IS
186 BEGIN
187 IF (p_UPLOAD_MODE = 'NLS') THEN
188 NULL;
189 ELSE
190 Ibc_Ctype_Group_Nodes_Pkg.LOAD_ROW (
191 p_UPLOAD_MODE => p_UPLOAD_MODE,
192 p_CTYPE_GROUP_NODE_ID => p_CTYPE_GROUP_NODE_ID,
193 p_CONTENT_TYPE_CODE => p_CONTENT_TYPE_CODE,
194 p_DIRECTORY_NODE_ID => p_DIRECTORY_NODE_ID,
195 p_OWNER => p_OWNER,
196 p_last_update_date => p_LAST_UPDATE_DATE);
197 END IF;
198 END LOAD_SEED_ROW;
199
200 END Ibc_Ctype_Group_Nodes_Pkg;