DBA Data[Home] [Help]

PACKAGE BODY: APPS.IBC_CONTENT_ITEM_NODES_PKG

Source


1 PACKAGE BODY Ibc_Content_Item_Nodes_Pkg AS
2 /* $Header: ibctcinb.pls 115.4 2002/11/17 16:05:00 srrangar ship $*/
3 
4 -- Purpose: Table Handler for Ibc_Content_Item_Nodes table.
5 
6 -- MODIFICATION HISTORY
7 -- Person            Date        Comments
8 -- ---------         ------      ------------------------------------------
9 -- Sri Rangarajan    01/06/2002      Created Package
10 -- shitij.vatsa      11/04/2002      Updated for FND_API.G_MISS_XXX
11 
12 PROCEDURE INSERT_ROW (
13  x_rowid                           OUT NOCOPY VARCHAR2
14 ,px_content_item_node_id           IN OUT NOCOPY NUMBER
15 ,p_content_item_id                 IN NUMBER
16 ,p_directory_node_id               IN NUMBER
17 ,p_object_version_number           IN NUMBER
18 ,p_creation_date                   IN DATE          --DEFAULT NULL
19 ,p_created_by                      IN NUMBER        --DEFAULT NULL
20 ,p_last_update_date                IN DATE          --DEFAULT NULL
21 ,p_last_updated_by                 IN NUMBER        --DEFAULT NULL
22 ,p_last_update_login               IN NUMBER        --DEFAULT NULL
23 ) IS
24   CURSOR C IS SELECT ROWID FROM IBC_CONTENT_ITEM_NODES
25     WHERE content_item_node_id =   px_content_item_node_id;
26   CURSOR c2 IS SELECT ibc_content_item_nodes_s1.NEXTVAL FROM dual;
27 
28 BEGIN
29 
30   -- Primary key validation check
31 
32   IF ((px_content_item_node_id IS NULL) OR
33       (px_content_item_node_id = FND_API.G_MISS_NUM))
34   THEN
35     OPEN c2;
36     FETCH c2 INTO px_content_item_node_id;
37     CLOSE c2;
38   END IF;
39 
40   INSERT INTO IBC_CONTENT_ITEM_NODES (
41     content_item_node_id,
42     CONTENT_ITEM_ID,
43     DIRECTORY_NODE_ID,
44     OBJECT_VERSION_NUMBER,
45     CREATION_DATE,
46     CREATED_BY,
47     LAST_UPDATE_DATE,
48     LAST_UPDATED_BY,
49     LAST_UPDATE_LOGIN
50   ) VALUES (
51      px_content_item_node_id
52     ,p_content_item_id
53     ,p_directory_node_id
54     ,DECODE(p_object_version_number,FND_API.G_MISS_NUM,1,NULL,1,p_object_version_number)
55     ,DECODE(p_creation_date,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,p_creation_date)
56     ,DECODE(p_created_by,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,p_created_by)
57     ,DECODE(p_last_update_date,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,p_last_update_date)
58     ,DECODE(p_last_updated_by,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,p_last_updated_by)
59     ,DECODE(p_last_update_login,FND_API.G_MISS_NUM,FND_GLOBAL.login_id,NULL,FND_GLOBAL.user_id,p_last_update_login)
60   );
61 
62   OPEN c;
63   FETCH c INTO x_rowid;
64   IF (c%NOTFOUND) THEN
65     CLOSE c;
66     RAISE NO_DATA_FOUND;
67   END IF;
68   CLOSE c;
69 
70 END INSERT_ROW;
71 
72 PROCEDURE LOCK_ROW (
73   p_content_item_node_id IN NUMBER,
74   p_CONTENT_ITEM_ID IN NUMBER,
75   p_DIRECTORY_NODE_ID IN NUMBER,
76   p_OBJECT_VERSION_NUMBER IN NUMBER
77 ) IS
78   CURSOR c IS SELECT
79       OBJECT_VERSION_NUMBER
80     FROM IBC_CONTENT_ITEM_NODES
81     WHERE   content_item_node_id  =   p_content_item_node_id
82     FOR UPDATE OF CONTENT_ITEM_ID NOWAIT;
83   recinfo c%ROWTYPE;
84 
85 BEGIN
86   OPEN c;
87   FETCH c INTO recinfo;
88   IF (c%NOTFOUND) THEN
89     CLOSE c;
90     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
91     app_exception.raise_exception;
92   END IF;
93   CLOSE c;
94   IF (    (recinfo.OBJECT_VERSION_NUMBER = p_OBJECT_VERSION_NUMBER)
95   ) THEN
96     NULL;
97   ELSE
98     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
99     app_exception.raise_exception;
100   END IF;
101 
102 END LOCK_ROW;
103 
104 PROCEDURE UPDATE_ROW (
105  p_content_item_node_id            IN NUMBER
106 ,p_content_item_id                 IN NUMBER        --DEFAULT NULL
107 ,p_directory_node_id               IN NUMBER        --DEFAULT NULL
108 ,p_last_updated_by                 IN NUMBER        --DEFAULT NULL
109 ,p_last_update_date                IN DATE          --DEFAULT NULL
110 ,p_last_update_login               IN NUMBER        --DEFAULT NULL
111 ,p_object_version_number           IN NUMBER        --DEFAULT NULL
112 ) IS
113 BEGIN
114   UPDATE IBC_CONTENT_ITEM_NODES SET
115       content_item_id                = DECODE(p_content_item_id,FND_API.G_MISS_NUM,NULL,NULL,content_item_id,p_content_item_id)
116      ,directory_node_id              = DECODE(p_directory_node_id,FND_API.G_MISS_NUM,NULL,NULL,directory_node_id,p_directory_node_id)
117      ,object_version_number          = NVL(object_version_number,0) + 1
118      ,last_update_date               = DECODE(p_last_update_date,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,p_last_update_date)
119      ,last_updated_by                = DECODE(p_last_updated_by,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,p_last_updated_by)
120      ,last_update_login              = DECODE(p_last_update_login,FND_API.G_MISS_NUM,FND_GLOBAL.login_id,NULL,FND_GLOBAL.user_id,p_last_update_login)
121   WHERE   content_item_node_id =   p_content_item_node_id
122   AND object_version_number = DECODE(p_object_version_number,
123                                        FND_API.G_MISS_NUM,
124                                        object_version_number,
125                                        NULL,
126                                        object_version_number,
127                                        p_object_version_number);
128 
129   IF (SQL%NOTFOUND) THEN
130     RAISE NO_DATA_FOUND;
131   END IF;
132 
133 END UPDATE_ROW;
134 
135 PROCEDURE DELETE_ROW (
136   p_content_item_node_id IN NUMBER
137 ) IS
138 BEGIN
139 
140   DELETE FROM IBC_CONTENT_ITEM_NODES
141   WHERE content_item_node_id = p_content_item_node_id;
142 
143   IF (SQL%NOTFOUND) THEN
144     RAISE NO_DATA_FOUND;
145   END IF;
146 END DELETE_ROW;
147 
148 
149 END Ibc_Content_Item_Nodes_Pkg;