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