DBA Data[Home] [Help]

PACKAGE BODY: APPS.ASO_DEPENDENCY_MAPPINGS_PKG

Source


1 PACKAGE BODY ASO_DEPENDENCY_MAPPINGS_PKG as
2 /* $Header: asotdepb.pls 120.2 2005/12/06 09:48:56 hagrawal noship $ */
3 -- Start of Comments
4 -- Package name     : ASO_DEPENDENCY_MAPPINGS_PKG
5 -- Purpose          :
6 -- History          :
7 --	  01-28-2005 hyang - created
8 -- NOTE             :
9 -- End of Comments
10 
11 
12 G_PKG_NAME CONSTANT VARCHAR2(30):= 'ASO_DEPENDENCY_MAPPINGS_PKG';
13 G_FILE_NAME CONSTANT VARCHAR2(12) := 'asotdepb.pls';
14 
15 PROCEDURE Insert_Row(
16     PX_DEPENDENCY_ID          IN OUT NOCOPY /* file.sql.39 change */  NUMBER
17   , P_TRIGGER_ATTRIBUTE_ID    IN      NUMBER
18   , P_DEPENDENT_ATTRIBUTE_ID  IN      NUMBER
19   , P_ENABLED_FLAG            IN      VARCHAR2
20   , P_DATABASE_OBJECT_NAME    IN      VARCHAR2
21   , P_APPLICATION_ID          IN      NUMBER
22   , P_SEED_TAG                IN      VARCHAR2
23   , P_CREATION_DATE           IN      DATE
24   , P_CREATED_BY              IN      NUMBER
25   , P_LAST_UPDATE_DATE        IN      DATE
26   , P_LAST_UPDATE_LOGIN       IN      NUMBER
27   , P_LAST_UPDATED_BY         IN      NUMBER
28   , P_REQUEST_ID              IN      NUMBER
29   , P_PROGRAM_APPLICATION_ID  IN      NUMBER
30   , P_PROGRAM_ID              IN      NUMBER
31   , P_PROGRAM_UPDATE_DATE     IN      DATE
32 )
33 IS
34    CURSOR C IS SELECT ASO_DEPENDENCY_MAPPINGS_S.nextval FROM sys.dual;
35 BEGIN
36    If (PX_DEPENDENCY_ID IS NULL) OR (PX_DEPENDENCY_ID = FND_API.G_MISS_NUM) then
37        OPEN C;
38        FETCH C INTO PX_DEPENDENCY_ID;
39        CLOSE C;
40    End If;
41    INSERT INTO ASO_DEPENDENCY_MAPPINGS(
42            DEPENDENCY_ID,
43            TRIGGER_ATTRIBUTE_ID,
44            DEPENDENT_ATTRIBUTE_ID,
45            ENABLED_FLAG,
46            DATABASE_OBJECT_NAME,
47            APPLICATION_ID,
48            SEED_TAG,
49            CREATION_DATE,
50            CREATED_BY,
51            LAST_UPDATED_BY,
52            LAST_UPDATE_DATE,
53            LAST_UPDATE_LOGIN,
54            REQUEST_ID,
55            PROGRAM_APPLICATION_ID,
56            PROGRAM_ID,
57            PROGRAM_UPDATE_DATE
58           ) VALUES (
59            PX_DEPENDENCY_ID,
60            decode( P_TRIGGER_ATTRIBUTE_ID, FND_API.G_MISS_NUM, NULL, P_TRIGGER_ATTRIBUTE_ID),
61            decode( P_DEPENDENT_ATTRIBUTE_ID, FND_API.G_MISS_NUM, NULL, P_DEPENDENT_ATTRIBUTE_ID),
62            decode( P_ENABLED_FLAG, FND_API.G_MISS_CHAR, NULL, P_ENABLED_FLAG),
63            decode( P_DATABASE_OBJECT_NAME, FND_API.G_MISS_CHAR, NULL, P_DATABASE_OBJECT_NAME),
64            decode( P_APPLICATION_ID, FND_API.G_MISS_NUM, NULL, P_APPLICATION_ID),
65            decode( P_SEED_TAG, FND_API.G_MISS_CHAR, NULL, P_SEED_TAG),
66            ASO_UTILITY_PVT.decode( p_CREATION_DATE, FND_API.G_MISS_DATE, NULL, p_CREATION_DATE),
67            decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
68            decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY),
69            ASO_UTILITY_PVT.decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, NULL, p_LAST_UPDATE_DATE),
70            decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN),
71            decode( p_REQUEST_ID, FND_API.G_MISS_NUM, NULL, p_REQUEST_ID),
72            decode( p_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_APPLICATION_ID),
73            decode( p_PROGRAM_ID, FND_API.G_MISS_NUM, NULL, p_PROGRAM_ID),
74            ASO_UTILITY_PVT.decode( p_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, NULL, p_PROGRAM_UPDATE_DATE)
75           );
76 
77 END Insert_Row;
78 
79 PROCEDURE Update_Row(
80     P_DEPENDENCY_ID           IN      NUMBER
81   , P_TRIGGER_ATTRIBUTE_ID    IN      NUMBER
82   , P_DEPENDENT_ATTRIBUTE_ID  IN      NUMBER
83   , P_ENABLED_FLAG            IN      VARCHAR2
84   , P_DATABASE_OBJECT_NAME    IN      VARCHAR2
85   , P_APPLICATION_ID          IN      NUMBER
86   , P_SEED_TAG                IN      VARCHAR2
87   , P_CREATION_DATE           IN      DATE
88   , P_CREATED_BY              IN      NUMBER
89   , P_LAST_UPDATE_DATE        IN      DATE
90   , P_LAST_UPDATE_LOGIN       IN      NUMBER
91   , P_LAST_UPDATED_BY         IN      NUMBER
92   , P_REQUEST_ID              IN      NUMBER
93   , P_PROGRAM_APPLICATION_ID  IN      NUMBER
94   , P_PROGRAM_ID              IN      NUMBER
95   , P_PROGRAM_UPDATE_DATE     IN      DATE
96 )
97 IS
98 BEGIN
99     Update ASO_DEPENDENCY_MAPPINGS
100     SET
101               TRIGGER_ATTRIBUTE_ID = decode( P_TRIGGER_ATTRIBUTE_ID, FND_API.G_MISS_NUM, TRIGGER_ATTRIBUTE_ID, P_TRIGGER_ATTRIBUTE_ID),
102               DEPENDENT_ATTRIBUTE_ID = decode( P_DEPENDENT_ATTRIBUTE_ID, FND_API.G_MISS_NUM, DEPENDENT_ATTRIBUTE_ID, P_DEPENDENT_ATTRIBUTE_ID),
103               ENABLED_FLAG = decode( P_ENABLED_FLAG, FND_API.G_MISS_CHAR, ENABLED_FLAG, P_ENABLED_FLAG),
104               DATABASE_OBJECT_NAME = decode( P_DATABASE_OBJECT_NAME, FND_API.G_MISS_CHAR, DATABASE_OBJECT_NAME, P_DATABASE_OBJECT_NAME),
105               APPLICATION_ID = decode( P_APPLICATION_ID, FND_API.G_MISS_NUM, APPLICATION_ID, P_APPLICATION_ID),
106               SEED_TAG = decode( P_SEED_TAG, FND_API.G_MISS_CHAR, SEED_TAG, P_SEED_TAG),
107               CREATION_DATE = ASO_UTILITY_PVT.decode( p_CREATION_DATE, FND_API.G_MISS_DATE, CREATION_DATE, p_CREATION_DATE),
108               CREATED_BY = decode( p_CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, p_CREATED_BY),
109               LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, p_LAST_UPDATED_BY),
110               LAST_UPDATE_DATE = ASO_UTILITY_PVT.decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, LAST_UPDATE_DATE, p_LAST_UPDATE_DATE),
111               LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN),
112               REQUEST_ID = decode( p_REQUEST_ID, FND_API.G_MISS_NUM, REQUEST_ID, p_REQUEST_ID),
113               PROGRAM_APPLICATION_ID = decode( p_PROGRAM_APPLICATION_ID, FND_API.G_MISS_NUM, PROGRAM_APPLICATION_ID, p_PROGRAM_APPLICATION_ID),
114               PROGRAM_ID = decode( p_PROGRAM_ID, FND_API.G_MISS_NUM, PROGRAM_ID, p_PROGRAM_ID),
115               PROGRAM_UPDATE_DATE = ASO_UTILITY_PVT.decode( p_PROGRAM_UPDATE_DATE, FND_API.G_MISS_DATE, PROGRAM_UPDATE_DATE, p_PROGRAM_UPDATE_DATE)
116     where DEPENDENCY_ID = P_DEPENDENCY_ID;
117 
118     If (SQL%NOTFOUND) then
119         RAISE NO_DATA_FOUND;
120     End If;
121 
122 END Update_Row;
123 
124 PROCEDURE Delete_Row(
125     P_DEPENDENCY_ID  NUMBER)
126 IS
127 BEGIN
128    DELETE FROM ASO_DEPENDENCY_MAPPINGS
129     WHERE DEPENDENCY_ID = P_DEPENDENCY_ID;
130    If (SQL%NOTFOUND) then
131        RAISE NO_DATA_FOUND;
132    End If;
133 
134 END Delete_Row;
135 
136 PROCEDURE Lock_Row(
137     P_DEPENDENCY_ID           IN      NUMBER
138   , P_TRIGGER_ATTRIBUTE_ID    IN      NUMBER
139   , P_DEPENDENT_ATTRIBUTE_ID  IN      NUMBER
140   , P_ENABLED_FLAG            IN      VARCHAR2
141   , P_DATABASE_OBJECT_NAME    IN      VARCHAR2
142   , P_APPLICATION_ID          IN      NUMBER
143   , P_SEED_TAG                IN      VARCHAR2
144   , P_CREATION_DATE           IN      DATE
145   , P_CREATED_BY              IN      NUMBER
146   , P_LAST_UPDATE_DATE        IN      DATE
147   , P_LAST_UPDATE_LOGIN       IN      NUMBER
148   , P_LAST_UPDATED_BY         IN      NUMBER
149   , P_REQUEST_ID              IN      NUMBER
150   , P_PROGRAM_APPLICATION_ID  IN      NUMBER
151   , P_PROGRAM_ID              IN      NUMBER
152   , P_PROGRAM_UPDATE_DATE     IN      DATE
153 )
154 IS
155    CURSOR C IS
156         SELECT *
157          FROM ASO_DEPENDENCY_MAPPINGS
158         WHERE DEPENDENCY_ID =  P_DEPENDENCY_ID
159         FOR UPDATE of DEPENDENCY_ID NOWAIT;
160   Recinfo C%ROWTYPE;
161 
162 BEGIN
163     OPEN C;
164     FETCH C INTO Recinfo;
165     If (C%NOTFOUND) then
166         CLOSE C;
167         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
168         APP_EXCEPTION.RAISE_EXCEPTION;
169     End If;
170     CLOSE C;
171 
172     IF(    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
173             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
174                 AND (  p_LAST_UPDATE_DATE IS NULL )))
175     THEN
176       RETURN;
177     ELSE
178       FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
179       APP_EXCEPTION.RAISE_EXCEPTION;
180     END IF;
181 
182 END Lock_Row;
183 
184 PROCEDURE Load_Row (
185     X_DEPENDENCY_ID           IN      NUMBER
186   , X_TRIGGER_ATTRIBUTE_ID    IN      NUMBER
187   , X_DEPENDENT_ATTRIBUTE_ID  IN      NUMBER
188   , X_ENABLED_FLAG            IN      VARCHAR2
189   , X_DATABASE_OBJECT_NAME    IN      VARCHAR2
190   , X_APPLICATION_ID          IN      NUMBER
191   , X_SEED_TAG                IN      VARCHAR2
192   , X_OWNER                   IN      VARCHAR2
193 ) IS
194      l_user_id          NUMBER := 0;
195      l_dependency_id    NUMBER;
196 
197      CURSOR C IS
198       SELECT DEPENDENCY_ID FROM ASO_DEPENDENCY_MAPPINGS
199       WHERE DEPENDENCY_ID =  X_DEPENDENCY_ID;
200 
201 BEGIN
202 
203      if (X_OWNER = 'SEED') then
204         l_user_id := 1;
205      end if;
206 
207     OPEN C;
208     FETCH C INTO l_dependency_id;
209     If (C%NOTFOUND)
210     THEN
211       INSERT_ROW (
212         PX_DEPENDENCY_ID          => l_dependency_id
213       , P_TRIGGER_ATTRIBUTE_ID    => X_TRIGGER_ATTRIBUTE_ID
214       , P_DEPENDENT_ATTRIBUTE_ID  => X_DEPENDENT_ATTRIBUTE_ID
215       , P_ENABLED_FLAG            => X_ENABLED_FLAG
216       , P_DATABASE_OBJECT_NAME    => X_DATABASE_OBJECT_NAME
217       , P_APPLICATION_ID          => X_APPLICATION_ID
218       , P_SEED_TAG                => X_SEED_TAG
219       , P_CREATION_DATE           => sysdate
220       , P_CREATED_BY              => l_user_id
221       , P_LAST_UPDATED_BY         => l_user_id
222       , P_LAST_UPDATE_DATE        => sysdate
223       , P_LAST_UPDATE_LOGIN       => 0
224       , P_REQUEST_ID              => FND_API.G_MISS_NUM
225       , P_PROGRAM_APPLICATION_ID  => FND_API.G_MISS_NUM
226       , P_PROGRAM_ID              => FND_API.G_MISS_NUM
227       , P_PROGRAM_UPDATE_DATE     => FND_API.G_MISS_DATE
228       );
229     ELSE
230       UPDATE_ROW (
231         P_DEPENDENCY_ID           => l_dependency_id
232       , P_TRIGGER_ATTRIBUTE_ID    => X_TRIGGER_ATTRIBUTE_ID
233       , P_DEPENDENT_ATTRIBUTE_ID  => X_DEPENDENT_ATTRIBUTE_ID
234       , P_ENABLED_FLAG            => X_ENABLED_FLAG
235       , P_DATABASE_OBJECT_NAME    => X_DATABASE_OBJECT_NAME
236       , P_APPLICATION_ID          => X_APPLICATION_ID
237       , P_SEED_TAG                => X_SEED_TAG
238       , P_CREATION_DATE           => sysdate
239       , P_CREATED_BY              => l_user_id
240       , P_LAST_UPDATED_BY         => l_user_id
241       , P_LAST_UPDATE_DATE        => sysdate
242       , P_LAST_UPDATE_LOGIN       => 0
243       , P_REQUEST_ID              => FND_API.G_MISS_NUM
244       , P_PROGRAM_APPLICATION_ID  => FND_API.G_MISS_NUM
245       , P_PROGRAM_ID              => FND_API.G_MISS_NUM
246       , P_PROGRAM_UPDATE_DATE     => FND_API.G_MISS_DATE
247       );
248     END IF;
249 
250     CLOSE C;
251 
252 END LOAD_ROW;
253 
254 
255 End ASO_DEPENDENCY_MAPPINGS_PKG;
256