DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_LIFECYCLE_USAGES_PKG

Source


1 PACKAGE BODY PA_LIFECYCLE_USAGES_PKG AS
2 /* $Header: PALCUPKB.pls 115.1 2002/10/22 21:25:22 mrajput noship $ */
3 
4 	/*-----------------------------------------------------------+
5 	 | For Details/Comments Refer Package Specification Comments |
6 	 +-----------------------------------------------------------*/
7 
8 PROCEDURE INSERT_ROW (
9   X_LIFECYCLE_USAGE_ID in NUMBER,
10   X_RECORD_VERSION_NUMBER in NUMBER :=1,
11   X_LIFECYCLE_ID in NUMBER,
12   X_USAGE_TYPE in VARCHAR2
13 ) IS
14 BEGIN
15   insert into PA_LIFECYCLE_USAGES (
16     LAST_UPDATE_LOGIN,
17     RECORD_VERSION_NUMBER,
18     LAST_UPDATE_DATE,
19     LAST_UPDATED_BY,
20     CREATED_BY,
21     LIFECYCLE_USAGE_ID,
22     LIFECYCLE_ID,
23     USAGE_TYPE,
24     CREATION_DATE
25   ) values
26  (
27     FND_GLOBAL.LOGIN_ID,
28     1,
29     SYSDATE,
30     FND_GLOBAL.USER_ID,
31     FND_GLOBAL.USER_ID,
32     X_LIFECYCLE_USAGE_ID,
33     X_LIFECYCLE_ID,
34     X_USAGE_TYPE,
35     SYSDATE
36  );
37 
38 END INSERT_ROW;
39 
40 	/*-----------------------------------------------------------+
41 	 | For Details/Comments Refer Package Specification Comments |
42 	 +-----------------------------------------------------------*/
43 -- Not used as of now. Locking should be done in calling API's
44 
45 PROCEDURE LOCK_ROW (
46   X_LIFECYCLE_USAGE_ID in NUMBER,
47   X_RECORD_VERSION_NUMBER in NUMBER,
48   X_LIFECYCLE_ID in NUMBER,
49   X_USAGE_TYPE in VARCHAR2
50 ) IS
51   cursor c1 is select
52       RECORD_VERSION_NUMBER,
53       LIFECYCLE_ID,
54       USAGE_TYPE,
55       LIFECYCLE_USAGE_ID
56     from PA_LIFECYCLE_USAGES
57     where LIFECYCLE_USAGE_ID = X_LIFECYCLE_USAGE_ID
58     for update of LIFECYCLE_USAGE_ID nowait;
59 BEGIN
60   for tlinfo in c1 loop
61       if (    (tlinfo.LIFECYCLE_USAGE_ID = X_LIFECYCLE_USAGE_ID)
62           AND ((tlinfo.RECORD_VERSION_NUMBER = X_RECORD_VERSION_NUMBER)
63                OR ((tlinfo.RECORD_VERSION_NUMBER is null) AND (X_RECORD_VERSION_NUMBER is null)))
64           AND (tlinfo.LIFECYCLE_ID = X_LIFECYCLE_ID)
65           AND (tlinfo.USAGE_TYPE = X_USAGE_TYPE)
66       ) then
67         null;
68       else
69         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
70         app_exception.raise_exception;
71       end if;
72   end loop;
73   return;
74 END LOCK_ROW;
75 
76 	/*-----------------------------------------------------------+
77 	 | For Details/Comments Refer Package Specification Comments |
78 	 +-----------------------------------------------------------*/
79 
80 PROCEDURE UPDATE_ROW (
81   X_LIFECYCLE_USAGE_ID in NUMBER,
82   X_RECORD_VERSION_NUMBER in NUMBER,
83   X_LIFECYCLE_ID in NUMBER,
84   X_USAGE_TYPE in VARCHAR2
85 ) IS
86 BEGIN
87   update PA_LIFECYCLE_USAGES set
88     RECORD_VERSION_NUMBER = nvl(X_RECORD_VERSION_NUMBER,0)+1,
89     LIFECYCLE_ID = X_LIFECYCLE_ID,
90     USAGE_TYPE = X_USAGE_TYPE,
91     LIFECYCLE_USAGE_ID = X_LIFECYCLE_USAGE_ID,
92     LAST_UPDATE_DATE = SYSDATE,
93     LAST_UPDATED_BY = FND_GLOBAL.USER_ID,
94     LAST_UPDATE_LOGIN = FND_GLOBAL.LOGIN_ID
95   where LIFECYCLE_USAGE_ID = X_LIFECYCLE_USAGE_ID;
96 
97   if (sql%notfound) then
98     raise no_data_found;
99   end if;
100 END UPDATE_ROW;
101 
102 	/*-----------------------------------------------------------+
103 	 | For Details/Comments Refer Package Specification Comments |
104 	 +-----------------------------------------------------------*/
105 
106 PROCEDURE DELETE_ROW (
107   X_LIFECYCLE_USAGE_ID in NUMBER
108 ) IS
109 BEGIN
110   delete from PA_LIFECYCLE_USAGES
111   where LIFECYCLE_USAGE_ID = X_LIFECYCLE_USAGE_ID;
112 
113   if (sql%notfound) then
114     raise no_data_found;
115   end if;
116 
117 END DELETE_ROW;
118 
119 END PA_LIFECYCLE_USAGES_PKG;