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