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