DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_ALLOC_TARGET_LINES_PKG

Source


1 package body PA_ALLOC_TARGET_LINES_PKG AS
2  /* $Header: PAXATTLB.pls 120.2 2005/08/19 16:19:08 ramurthy noship $  */
3 procedure INSERT_ROW (
4   X_ROWID 		in out NOCOPY VARCHAR2,
5   X_RULE_ID 		in NUMBER,
6   X_LINE_NUM 		in NUMBER,
7   X_PROJECT_ORG_ID 	in NUMBER,
8   X_TASK_ORG_ID 	in NUMBER,
9   X_PROJECT_TYPE 	in VARCHAR2,
10   X_CLASS_CATEGORY 	in VARCHAR2,
11   X_CLASS_CODE 		in VARCHAR2,
12   X_SERVICE_TYPE 	in VARCHAR2,
13   X_PROJECT_ID 		in NUMBER,
14   X_TASK_ID 		in NUMBER,
15   X_EXCLUDE_FLAG 	in VARCHAR2,
16   X_BILLABLE_ONLY_FLAG 	in VARCHAR2,
17   X_LINE_PERCENT 	in NUMBER,
18   X_CREATED_BY		in NUMBER,
19   X_CREATION_DATE 	in DATE,
20   X_LAST_UPDATE_DATE 	in DATE,
21   X_LAST_UPDATED_BY 	in NUMBER,
22   X_LAST_UPDATE_LOGIN 	in NUMBER
23   ) is
24     cursor C is select ROWID from PA_ALLOC_TARGET_LINES
25       where RULE_ID = X_RULE_ID
26       and LINE_NUM = X_LINE_NUM;
27   begin
28   insert into PA_ALLOC_TARGET_LINES (
29     RULE_ID,
30     LINE_NUM,
31     PROJECT_ORG_ID,
32     TASK_ORG_ID,
33     PROJECT_TYPE,
34     CLASS_CATEGORY,
35     CLASS_CODE,
36     SERVICE_TYPE,
37     PROJECT_ID,
38     TASK_ID,
39     EXCLUDE_FLAG,
40     BILLABLE_ONLY_FLAG,
41     LINE_PERCENT,
42     CREATED_BY,
43     CREATION_DATE,
44     LAST_UPDATE_DATE,
45     LAST_UPDATED_BY,
46     LAST_UPDATE_LOGIN
47   ) values (
48     X_RULE_ID,
49     X_LINE_NUM,
50     X_PROJECT_ORG_ID,
51     X_TASK_ORG_ID,
52     X_PROJECT_TYPE,
53     X_CLASS_CATEGORY,
54     X_CLASS_CODE,
55     X_SERVICE_TYPE,
56     X_PROJECT_ID,
57     X_TASK_ID,
58     X_EXCLUDE_FLAG,
59     X_BILLABLE_ONLY_FLAG,
60     X_LINE_PERCENT,
61     X_CREATED_BY,
62     X_CREATION_DATE,
63     X_LAST_UPDATE_DATE,
64     X_LAST_UPDATED_BY,
65     X_LAST_UPDATE_LOGIN
66   );
67 
68   open c;
69   fetch c into X_ROWID;
70   if (c%notfound) then
71     close c;
72     raise no_data_found;
73   end if;
74   close c;
75 
76 end INSERT_ROW;
77 
78 procedure LOCK_ROW (
79   X_RULE_ID 		in NUMBER,
80   X_LINE_NUM 		in NUMBER,
81   X_PROJECT_ORG_ID 	in NUMBER,
82   X_TASK_ORG_ID 	in NUMBER,
83   X_PROJECT_TYPE 	in VARCHAR2,
84   X_CLASS_CATEGORY 	in VARCHAR2,
85   X_CLASS_CODE 		in VARCHAR2,
86   X_SERVICE_TYPE 	in VARCHAR2,
87   X_PROJECT_ID 		in NUMBER,
88   X_TASK_ID 		in NUMBER,
89   X_EXCLUDE_FLAG 	in VARCHAR2,
90   X_BILLABLE_ONLY_FLAG 	in VARCHAR2,
91   X_LINE_PERCENT 	in NUMBER
92 ) is
93   cursor c1 is select
94       PROJECT_ORG_ID,
95       TASK_ORG_ID,
96       PROJECT_TYPE,
97       CLASS_CATEGORY,
98       CLASS_CODE,
99       SERVICE_TYPE,
100       PROJECT_ID,
101       TASK_ID,
102       EXCLUDE_FLAG,
103       BILLABLE_ONLY_FLAG,
104       LINE_PERCENT
105     from PA_ALLOC_TARGET_LINES
106     where RULE_ID = X_RULE_ID
107     and LINE_NUM = X_LINE_NUM
108     for update of RULE_ID nowait;
109   tlinfo c1%rowtype;
110 
111 begin
112   open c1;
113   fetch c1 into tlinfo;
114   if (c1%notfound) then
115     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
116     app_exception.raise_exception;
117     close c1;
118     return;
119   end if;
120   close c1;
121 
122       if ( ((tlinfo.PROJECT_ORG_ID = X_PROJECT_ORG_ID)
123            OR ((tlinfo.PROJECT_ORG_ID is null)
124                AND (X_PROJECT_ORG_ID is null)))
125       AND ((tlinfo.TASK_ORG_ID = X_TASK_ORG_ID)
126            OR ((tlinfo.TASK_ORG_ID is null)
127                AND (X_TASK_ORG_ID is null)))
128       AND ((tlinfo.PROJECT_TYPE = X_PROJECT_TYPE)
129            OR ((tlinfo.PROJECT_TYPE is null)
130                AND (X_PROJECT_TYPE is null)))
131       AND ((tlinfo.CLASS_CATEGORY = X_CLASS_CATEGORY)
132            OR ((tlinfo.CLASS_CATEGORY is null)
133                AND (X_CLASS_CATEGORY is null)))
134       AND ((tlinfo.CLASS_CODE = X_CLASS_CODE)
135            OR ((tlinfo.CLASS_CODE is null)
136                AND (X_CLASS_CODE is null)))
137       AND ((tlinfo.SERVICE_TYPE = X_SERVICE_TYPE)
138            OR ((tlinfo.SERVICE_TYPE is null)
139                AND (X_SERVICE_TYPE is null)))
140       AND ((tlinfo.PROJECT_ID = X_PROJECT_ID)
141            OR ((tlinfo.PROJECT_ID is null)
142                AND (X_PROJECT_ID is null)))
143       AND ((tlinfo.TASK_ID = X_TASK_ID)
144            OR ((tlinfo.TASK_ID is null)
145                AND (X_TASK_ID is null)))
146       AND (tlinfo.EXCLUDE_FLAG = X_EXCLUDE_FLAG)
147       AND ((tlinfo.BILLABLE_ONLY_FLAG = X_BILLABLE_ONLY_FLAG)
148            OR ((tlinfo.BILLABLE_ONLY_FLAG is null)
149                AND (X_BILLABLE_ONLY_FLAG is null)))
150       AND ((tlinfo.LINE_PERCENT = X_LINE_PERCENT)
151            OR ((tlinfo.LINE_PERCENT is null)
152                AND (X_LINE_PERCENT is null)))
153   ) then
154     null;
155   else
156     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
157     app_exception.raise_exception;
158   end if;
159   return;
160 end LOCK_ROW;
161 
162 procedure UPDATE_ROW (
163   X_ROWID		in VARCHAR2,
164   X_RULE_ID 		in NUMBER,
165   X_LINE_NUM 		in NUMBER,
166   X_PROJECT_ORG_ID 	in NUMBER,
167   X_TASK_ORG_ID 	in NUMBER,
168   X_PROJECT_TYPE 	in VARCHAR2,
169   X_CLASS_CATEGORY 	in VARCHAR2,
170   X_CLASS_CODE 		in VARCHAR2,
171   X_SERVICE_TYPE 	in VARCHAR2,
172   X_PROJECT_ID 		in NUMBER,
173   X_TASK_ID 		in NUMBER,
174   X_EXCLUDE_FLAG 	in VARCHAR2,
175   X_BILLABLE_ONLY_FLAG 	in VARCHAR2,
176   X_LINE_PERCENT 	in NUMBER,
177   X_LAST_UPDATE_DATE 	in DATE,
178   X_LAST_UPDATED_BY 	in NUMBER,
179   X_LAST_UPDATE_LOGIN 	in NUMBER
180   ) is
181 
182 begin
183 
184   update PA_ALLOC_TARGET_LINES set
185     LINE_NUM = X_LINE_NUM,
186     PROJECT_ORG_ID = X_PROJECT_ORG_ID,
187     TASK_ORG_ID = X_TASK_ORG_ID,
188     PROJECT_TYPE = X_PROJECT_TYPE,
189     CLASS_CATEGORY = X_CLASS_CATEGORY,
190     CLASS_CODE = X_CLASS_CODE,
191     SERVICE_TYPE = X_SERVICE_TYPE,
192     PROJECT_ID = X_PROJECT_ID,
193     TASK_ID = X_TASK_ID,
194     EXCLUDE_FLAG = X_EXCLUDE_FLAG,
195     BILLABLE_ONLY_FLAG = X_BILLABLE_ONLY_FLAG,
196     LINE_PERCENT = X_LINE_PERCENT,
197     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
198     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
199     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
200   where ROWID = X_ROWID;
201 --RULE_ID = X_RULE_ID
202 --  and LINE_NUM = X_LINE_NUM
203 
204   if (sql%notfound) then
205     raise no_data_found;
206   end if;
207 end UPDATE_ROW;
208 
209 procedure DELETE_ROW (X_ROWID in VARCHAR2
210   --X_RULE_ID in NUMBER,
211   --X_LINE_NUM in NUMBER
212 ) is
213 begin
214   delete from PA_ALLOC_TARGET_LINES
215   where ROWID = X_ROWID;
216 --RULE_ID = X_RULE_ID
217 --  and LINE_NUM = X_LINE_NUM;
218   if (sql%notfound) then
219     raise no_data_found;
220   end if;
221 end DELETE_ROW;
222 end PA_ALLOC_TARGET_LINES_PKG;