[Home] [Help]
PACKAGE BODY: APPS.CS_SR_EVENT_ACTIONS_PKG
Source
1 package body CS_SR_EVENT_ACTIONS_PKG as
2 /* $Header: csxtneab.pls 120.0 2005/08/12 15:29:53 aneemuch noship $ */
3 procedure INSERT_ROW (
4 PX_EVENT_CODE in out NOCOPY VARCHAR2,
5 PX_ACTION_CODE in out NOCOPY VARCHAR2,
6 P_SEEDED_FLAG in VARCHAR2,
7 P_APPLICATION_ID in NUMBER,
8 P_START_DATE_ACTIVE in DATE,
9 P_END_DATE_ACTIVE in DATE,
10 P_CREATION_DATE in DATE,
11 P_CREATED_BY in NUMBER,
12 P_LAST_UPDATE_DATE in DATE,
13 P_LAST_UPDATED_BY in NUMBER,
14 P_LAST_UPDATE_LOGIN in NUMBER,
15 X_OBJECT_VERSION_NUMBER out NOCOPY NUMBER
16 ) is
17 l_object_Version_number number := 1;
18 begin
19 insert into CS_SR_EVENT_ACTIONS (
20 EVENT_CODE,
21 ACTION_CODE,
22 SEEDED_FLAG,
23 APPLICATION_ID,
24 START_DATE_ACTIVE,
25 END_DATE_ACTIVE,
26 CREATED_BY,
27 CREATION_DATE,
28 LAST_UPDATED_BY,
29 LAST_UPDATE_DATE,
30 LAST_UPDATE_LOGIN,
31 OBJECT_VERSION_NUMBER
32 ) values (
33 PX_EVENT_CODE,
34 PX_ACTION_CODE,
35 P_SEEDED_FLAG,
36 P_APPLICATION_ID,
37 P_START_DATE_ACTIVE,
38 P_END_DATE_ACTIVE,
39 P_CREATED_BY,
40 P_CREATION_DATE,
41 P_LAST_UPDATED_BY,
42 P_LAST_UPDATE_DATE,
43 P_LAST_UPDATE_LOGIN,
44 L_OBJECT_VERSION_NUMBER);
45
46 x_object_version_number := l_object_version_number;
47
48 end INSERT_ROW;
49
50 procedure LOCK_ROW (
51 P_EVENT_CODE in VARCHAR2,
52 P_ACTION_CODE in VARCHAR2,
53 P_OBJECT_VERSION_NUMBER in NUMBER
54 ) is
55 cursor c is select
56 OBJECT_VERSION_NUMBER
57 from CS_SR_EVENT_ACTIONS
58 where EVENT_CODE = P_EVENT_CODE
59 and ACTION_CODE = P_ACTION_CODE
60 for update of EVENT_CODE nowait;
61
62 l_object_Version_number number := 0;
63
64 begin
65 open c;
66 fetch c into l_object_Version_number;
67 if (c%notfound) then
68 close c;
69 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
70 app_exception.raise_exception;
71 end if;
72 close c;
73
74 if (l_object_version_number = P_OBJECT_VERSION_NUMBER) then
75 null;
76 else
77 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
78 app_exception.raise_exception;
79 end if;
80
81 return;
82
83 end LOCK_ROW;
84
85 procedure UPDATE_ROW (
86 P_EVENT_CODE in VARCHAR2,
87 P_ACTION_CODE in VARCHAR2,
88 P_SEEDED_FLAG in VARCHAR2,
89 P_APPLICATION_ID in NUMBER,
90 P_START_DATE_ACTIVE in DATE,
91 P_END_DATE_ACTIVE in DATE,
92 P_LAST_UPDATE_DATE in DATE,
93 P_LAST_UPDATED_BY in NUMBER,
94 P_LAST_UPDATE_LOGIN in NUMBER,
95 X_OBJECT_VERSION_NUMBER out NOCOPY NUMBER
96 ) is
97 begin
98 update CS_SR_EVENT_ACTIONS set
99 SEEDED_FLAG = P_SEEDED_FLAG,
100 APPLICATION_ID = P_APPLICATION_ID,
101 OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1,
102 START_DATE_ACTIVE = P_START_DATE_ACTIVE,
103 END_DATE_ACTIVE = P_END_DATE_ACTIVE,
104 EVENT_CODE = P_EVENT_CODE,
105 LAST_UPDATE_DATE = P_LAST_UPDATE_DATE,
106 LAST_UPDATED_BY = P_LAST_UPDATED_BY,
107 LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN
108 where EVENT_CODE = P_EVENT_CODE
109 and ACTION_CODE = P_ACTION_CODE
110 RETURNING OBJECT_VERSION_NUMBER INTO X_OBJECT_VERSION_NUMBER;
111
112 if (sql%notfound) then
113 raise no_data_found;
114 end if;
115 end UPDATE_ROW;
116
117 procedure DELETE_ROW (
118 P_EVENT_CODE in VARCHAR2,
119 P_ACTION_CODE in VARCHAR2
120 ) is
121 begin
122 delete from CS_SR_EVENT_ACTIONS
123 where EVENT_CODE = P_EVENT_CODE
124 and ACTION_CODE = P_ACTION_CODE;
125
126 if (sql%notfound) then
127 raise no_data_found;
128 end if;
129 end DELETE_ROW;
130
131 PROCEDURE LOAD_ROW (
132 P_EVENT_CODE IN VARCHAR2,
133 P_ACTION_CODE IN VARCHAR2,
134 P_SEEDED_FLAG IN VARCHAR2,
135 P_APPLICATION_ID IN NUMBER,
136 P_START_DATE_ACTIVE IN VARCHAR2,
137 P_END_DATE_ACTIVE IN VARCHAR2,
138 P_OWNER IN VARCHAR2,
139 P_CREATION_DATE IN VARCHAR2,
140 P_CREATED_BY IN NUMBER,
141 P_LAST_UPDATE_DATE IN VARCHAR2,
142 P_LAST_UPDATED_BY IN NUMBER,
143 P_LAST_UPDATE_LOGIN IN NUMBER,
144 P_OBJECT_VERSION_NUMBER IN NUMBER
145 )
146
147 IS
148 -- Out local variables for the update / insert row procedures.
149 lx_object_version_number NUMBER := 0;
150 l_user_id NUMBER := 0;
151
152 -- needed to be passed as the parameter value for the insert's in/out
153 -- parameter.
154 l_action_code VARCHAR2(30);
155 l_event_code VARCHAR2(30);
156
157 BEGIN
158
159 if ( p_owner = 'SEED' ) then
160 l_user_id := 1;
161 end if;
162
163 l_action_code := p_action_code;
164 l_event_code := p_event_code;
165
166 UPDATE_ROW (
167 P_EVENT_CODE =>l_event_code,
168 P_ACTION_CODE =>l_action_code,
169 P_SEEDED_FLAG =>p_seeded_flag,
170 P_APPLICATION_ID =>p_application_id,
171 P_START_DATE_ACTIVE =>to_date(p_start_date_active,'DD-MM-YYYY'),
172 P_END_DATE_ACTIVE =>to_date(p_end_date_active,'DD-MM-YYYY'),
173 P_LAST_UPDATE_DATE =>nvl(to_date(p_last_update_date,
174 'DD-MM-YYYY'),sysdate),
175 P_LAST_UPDATED_BY =>l_user_id,
176 P_LAST_UPDATE_LOGIN =>0,
177 X_OBJECT_VERSION_NUMBER =>lx_object_version_number
178 );
179
180 EXCEPTION
181 WHEN NO_DATA_FOUND THEN
182 INSERT_ROW (
183 PX_EVENT_CODE =>l_event_code,
184 PX_ACTION_CODE =>l_action_code,
185 P_SEEDED_FLAG =>p_seeded_flag,
186 P_APPLICATION_ID =>p_application_id,
187 P_START_DATE_ACTIVE =>to_date(p_start_date_active,'DD-MM-YYYY'),
188 P_END_DATE_ACTIVE =>to_date(p_end_date_active,'DD-MM-YYYY'),
189 P_CREATION_DATE =>nvl(to_date( p_creation_date,
190 'DD-MM-YYYY'),sysdate),
191 P_CREATED_BY =>l_user_id,
192 P_LAST_UPDATE_DATE =>nvl(to_date( p_last_update_date,
193 'DD-MM-YYYY'),sysdate),
194 P_LAST_UPDATED_BY =>l_user_id,
195 P_LAST_UPDATE_LOGIN =>0,
196 X_OBJECT_VERSION_NUMBER =>lx_object_version_number
197 );
198
199 END LOAD_ROW;
200
201 end CS_SR_EVENT_ACTIONS_PKG;