[Home] [Help]
PACKAGE BODY: APPS.AR_BPA_RULE_TEMPLATES_PKG
Source
1 package body AR_BPA_RULE_TEMPLATES_PKG as
2 /* $Header: ARBPRTMB.pls 120.1 2004/12/03 01:45:16 orashid noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out NOCOPY VARCHAR2,
5 X_RULE_TEMPLATE_ID in NUMBER,
6 X_TEMPLATE_ID in NUMBER,
7 X_RULE_ID in NUMBER,
8 X_EFFECTIVE_FROM_DATE in DATE,
9 X_EFFECTIVE_TO_DATE in DATE,
10 X_ASSIGNED_TEMPLATE_PURPOSE IN VARCHAR2,
11 X_CREATION_DATE in DATE,
12 X_CREATED_BY in NUMBER,
13 X_LAST_UPDATE_DATE in DATE,
14 X_LAST_UPDATED_BY in NUMBER,
15 X_LAST_UPDATE_LOGIN in NUMBER
16 ) is
17 cursor C is select ROWID from AR_BPA_RULE_TEMPLATES
18 where RULE_TEMPLATE_ID = X_RULE_TEMPLATE_ID
19 ;
20 begin
21 insert into AR_BPA_RULE_TEMPLATES (
22 RULE_TEMPLATE_ID,
23 TEMPLATE_ID,
24 RULE_ID,
25 EFFECTIVE_FROM_DATE,
26 EFFECTIVE_TO_DATE,
27 ASSIGNED_TEMPLATE_PURPOSE,
28 LAST_UPDATE_DATE,
29 LAST_UPDATED_BY,
30 CREATION_DATE,
31 CREATED_BY,
32 LAST_UPDATE_LOGIN
33 ) select
34 X_RULE_TEMPLATE_ID,
35 X_TEMPLATE_ID,
36 X_RULE_ID,
37 X_EFFECTIVE_FROM_DATE,
38 X_EFFECTIVE_TO_DATE,
39 X_ASSIGNED_TEMPLATE_PURPOSE,
40 X_LAST_UPDATE_DATE,
41 X_LAST_UPDATED_BY,
42 X_CREATION_DATE,
43 X_CREATED_BY,
44 X_LAST_UPDATE_LOGIN
45 from dual;
46
47 open c;
48 fetch c into X_ROWID;
49 if (c%notfound) then
50 close c;
51 raise no_data_found;
52 end if;
53 close c;
54
55 end INSERT_ROW;
56
57 procedure LOCK_ROW (
58 X_RULE_TEMPLATE_ID in NUMBER,
59 X_TEMPLATE_ID in NUMBER,
60 X_RULE_ID in NUMBER,
61 X_EFFECTIVE_FROM_DATE in DATE,
62 X_EFFECTIVE_TO_DATE in DATE,
63 X_ASSIGNED_TEMPLATE_PURPOSE IN VARCHAR2
64 ) is
65 cursor c is select
66 RULE_TEMPLATE_ID,
67 TEMPLATE_ID,
68 RULE_ID,
69 EFFECTIVE_FROM_DATE,
70 EFFECTIVE_TO_DATE,
71 ASSIGNED_TEMPLATE_PURPOSE
72 from AR_BPA_RULE_TEMPLATES
73 where RULE_TEMPLATE_ID = X_RULE_TEMPLATE_ID
74 for update of RULE_TEMPLATE_ID nowait;
75 recinfo c%rowtype;
76
77 begin
78 open c;
79 fetch c into recinfo;
80 if (c%notfound) then
81 close c;
82 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
83 app_exception.raise_exception;
84 end if;
85 close c;
86 if ( (recinfo.RULE_TEMPLATE_ID = X_RULE_TEMPLATE_ID)
87 AND (recinfo.TEMPLATE_ID = X_TEMPLATE_ID)
88 AND (recinfo.RULE_ID = X_RULE_ID)
89 AND (recinfo.EFFECTIVE_FROM_DATE = X_EFFECTIVE_FROM_DATE)
90 AND ((recinfo.EFFECTIVE_TO_DATE = X_EFFECTIVE_TO_DATE)
91 OR ((recinfo.EFFECTIVE_TO_DATE is null) AND (X_EFFECTIVE_TO_DATE is null)))
92 AND ( recinfo.ASSIGNED_TEMPLATE_PURPOSE = X_ASSIGNED_TEMPLATE_PURPOSE )
93
94 ) then
95 null;
96 else
97 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
98 app_exception.raise_exception;
99 end if;
100 return;
101 end LOCK_ROW;
102
103 procedure UPDATE_ROW (
104 X_RULE_TEMPLATE_ID in NUMBER,
105 X_TEMPLATE_ID in NUMBER,
106 X_RULE_ID in NUMBER,
107 X_EFFECTIVE_FROM_DATE in DATE,
108 X_EFFECTIVE_TO_DATE in DATE,
109 X_ASSIGNED_TEMPLATE_PURPOSE IN VARCHAR2,
110 X_LAST_UPDATE_DATE in DATE,
111 X_LAST_UPDATED_BY in NUMBER,
112 X_LAST_UPDATE_LOGIN in NUMBER
113 ) is
114 begin
115 update AR_BPA_RULE_TEMPLATES set
116 RULE_TEMPLATE_ID = X_RULE_TEMPLATE_ID,
117 TEMPLATE_ID = X_TEMPLATE_ID,
118 RULE_ID = X_RULE_ID,
119 EFFECTIVE_FROM_DATE = X_EFFECTIVE_FROM_DATE,
120 EFFECTIVE_TO_DATE = X_EFFECTIVE_TO_DATE,
121 ASSIGNED_TEMPLATE_PURPOSE = X_ASSIGNED_TEMPLATE_PURPOSE ,
122 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
123 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
124 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
125 where RULE_TEMPLATE_ID = X_RULE_TEMPLATE_ID;
126
127 if (sql%notfound) then
128 raise no_data_found;
129 end if;
130 end UPDATE_ROW;
131
132 procedure DELETE_ROW (
133 X_RULE_TEMPLATE_ID in NUMBER
134 ) is
135 begin
136 delete from AR_BPA_RULE_TEMPLATES
137 where RULE_TEMPLATE_ID = X_RULE_TEMPLATE_ID;
138
139 if (sql%notfound) then
140 raise no_data_found;
141 end if;
142
143 end DELETE_ROW;
144
145 procedure LOAD_ROW (
146 X_RULE_TEMPLATE_ID in NUMBER,
147 X_TEMPLATE_ID in NUMBER,
148 X_RULE_ID in NUMBER,
149 X_EFFECTIVE_FROM_DATE in DATE,
150 X_EFFECTIVE_TO_DATE in DATE,
151 X_ASSIGNED_TEMPLATE_PURPOSE IN VARCHAR2,
152 X_OWNER IN VARCHAR2
153 ) IS
154 begin
155 declare
156 user_id number := 0;
157 row_id varchar2(64);
158 begin
159 if (X_OWNER = 'SEED') then
160 user_id := 1;
161 end if;
162
163 AR_BPA_RULE_TEMPLATES_PKG.UPDATE_ROW (
164 X_RULE_TEMPLATE_ID => X_RULE_TEMPLATE_ID,
165 X_TEMPLATE_ID => X_TEMPLATE_ID,
166 X_RULE_ID => X_RULE_ID,
167 X_EFFECTIVE_FROM_DATE => X_EFFECTIVE_FROM_DATE,
168 X_EFFECTIVE_TO_DATE => X_EFFECTIVE_TO_DATE,
169 X_ASSIGNED_TEMPLATE_PURPOSE => X_ASSIGNED_TEMPLATE_PURPOSE ,
170 X_LAST_UPDATE_DATE => sysdate,
171 X_LAST_UPDATED_BY => user_id,
172 X_LAST_UPDATE_LOGIN => 0);
173 exception
174 when NO_DATA_FOUND then
175 AR_BPA_RULE_TEMPLATES_PKG.INSERT_ROW (
176 X_ROWID => row_id,
177 X_RULE_TEMPLATE_ID => X_RULE_TEMPLATE_ID,
178 X_TEMPLATE_ID => X_TEMPLATE_ID,
179 X_RULE_ID => X_RULE_ID,
180 X_EFFECTIVE_FROM_DATE => X_EFFECTIVE_FROM_DATE,
181 X_EFFECTIVE_TO_DATE => X_EFFECTIVE_TO_DATE,
182 X_ASSIGNED_TEMPLATE_PURPOSE => X_ASSIGNED_TEMPLATE_PURPOSE ,
183 X_CREATION_DATE => sysdate,
184 X_CREATED_BY => user_id,
185 X_LAST_UPDATE_DATE => sysdate,
186 X_LAST_UPDATED_BY => user_id,
187 X_LAST_UPDATE_LOGIN => 0);
188 end;
189 end LOAD_ROW;
190
191 end AR_BPA_RULE_TEMPLATES_PKG;