DBA Data[Home] [Help]

PACKAGE BODY: APPS.PO_JOB_ASSOCIATIONS_PKG

Source


1 PACKAGE BODY po_job_associations_pkg AS
2 /* $Header: POXTIJAB.pls 115.0 2003/09/08 19:58:25 tpoon noship $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out nocopy VARCHAR2,
6   X_JOB_ID in NUMBER,
7   X_CATEGORY_ID in NUMBER,
8   X_INACTIVE_DATE in DATE,
9   X_JOB_DESCRIPTION in VARCHAR2,
10   X_JOB_LONG_DESCRIPTION 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 PO_JOB_ASSOCIATIONS_B
18     where JOB_ID = X_JOB_ID
19     ;
20 begin
21   insert into PO_JOB_ASSOCIATIONS_B (
22     JOB_ID,
23     CATEGORY_ID,
24     INACTIVE_DATE,
25     CREATION_DATE,
26     CREATED_BY,
27     LAST_UPDATE_DATE,
28     LAST_UPDATED_BY,
29     LAST_UPDATE_LOGIN
30   ) values (
31     X_JOB_ID,
32     X_CATEGORY_ID,
33     X_INACTIVE_DATE,
34     X_CREATION_DATE,
35     X_CREATED_BY,
36     X_LAST_UPDATE_DATE,
37     X_LAST_UPDATED_BY,
38     X_LAST_UPDATE_LOGIN
39   );
40 
41   insert into PO_JOB_ASSOCIATIONS_TL (
42     JOB_ID,
43     JOB_DESCRIPTION,
44     JOB_LONG_DESCRIPTION,
45     LAST_UPDATE_DATE,
46     LAST_UPDATED_BY,
47     LAST_UPDATE_LOGIN,
48     CREATED_BY,
49     CREATION_DATE,
50     LANGUAGE,
51     SOURCE_LANG
52   ) select
53     X_JOB_ID,
54     X_JOB_DESCRIPTION,
55     X_JOB_LONG_DESCRIPTION,
56     X_LAST_UPDATE_DATE,
57     X_LAST_UPDATED_BY,
58     X_LAST_UPDATE_LOGIN,
59     X_CREATED_BY,
60     X_CREATION_DATE,
61     L.LANGUAGE_CODE,
62     userenv('LANG')
63   from FND_LANGUAGES L
64   where L.INSTALLED_FLAG in ('I', 'B')
65   and not exists
66     (select NULL
67     from PO_JOB_ASSOCIATIONS_TL T
68     where T.JOB_ID = X_JOB_ID
69     and T.LANGUAGE = L.LANGUAGE_CODE);
70 
71   open c;
72   fetch c into X_ROWID;
73   if (c%notfound) then
74     close c;
75     raise no_data_found;
76   end if;
77   close c;
78 
79 end INSERT_ROW;
80 
81 procedure LOCK_ROW (
82   X_JOB_ID in NUMBER,
83   X_CATEGORY_ID in NUMBER,
84   X_INACTIVE_DATE in DATE,
85   X_JOB_DESCRIPTION in VARCHAR2,
86   X_JOB_LONG_DESCRIPTION in VARCHAR2
87 ) is
88   cursor c is select
89       CATEGORY_ID,
90       INACTIVE_DATE
91     from PO_JOB_ASSOCIATIONS_B
92     where JOB_ID = X_JOB_ID
93     for update of JOB_ID nowait;
94   recinfo c%rowtype;
95 
96   cursor c1 is select
97       JOB_DESCRIPTION,
98       JOB_LONG_DESCRIPTION,
99       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
100     from PO_JOB_ASSOCIATIONS_TL
101     where JOB_ID = X_JOB_ID
102     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
103     for update of JOB_ID nowait;
104 begin
105   open c;
106   fetch c into recinfo;
107   if (c%notfound) then
108     close c;
109     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
110     app_exception.raise_exception;
111   end if;
112   close c;
113   if (    (recinfo.CATEGORY_ID = X_CATEGORY_ID)
114       AND ((recinfo.INACTIVE_DATE = X_INACTIVE_DATE)
115            OR ((recinfo.INACTIVE_DATE is null) AND (X_INACTIVE_DATE is null)))
116   ) then
117     null;
118   else
119     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
120     app_exception.raise_exception;
121   end if;
122 
123   for tlinfo in c1 loop
124     if (tlinfo.BASELANG = 'Y') then
125       if (    (tlinfo.JOB_DESCRIPTION = X_JOB_DESCRIPTION)
126           AND ((tlinfo.JOB_LONG_DESCRIPTION = X_JOB_LONG_DESCRIPTION)
127                OR ((tlinfo.JOB_LONG_DESCRIPTION is null) AND (X_JOB_LONG_DESCRIPTION is null)))
128       ) then
129         null;
130       else
131         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
132         app_exception.raise_exception;
133       end if;
134     end if;
135   end loop;
136   return;
137 end LOCK_ROW;
138 
139 procedure UPDATE_ROW (
140   X_JOB_ID in NUMBER,
141   X_CATEGORY_ID in NUMBER,
142   X_INACTIVE_DATE in DATE,
143   X_JOB_DESCRIPTION in VARCHAR2,
144   X_JOB_LONG_DESCRIPTION in VARCHAR2,
145   X_LAST_UPDATE_DATE in DATE,
146   X_LAST_UPDATED_BY in NUMBER,
147   X_LAST_UPDATE_LOGIN in NUMBER
148 ) is
149 begin
150   update PO_JOB_ASSOCIATIONS_B set
151     CATEGORY_ID = X_CATEGORY_ID,
152     INACTIVE_DATE = X_INACTIVE_DATE,
153     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
154     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
155     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
156   where JOB_ID = X_JOB_ID;
157 
158   if (sql%notfound) then
159     raise no_data_found;
160   end if;
161 
162   update PO_JOB_ASSOCIATIONS_TL set
163     JOB_DESCRIPTION = X_JOB_DESCRIPTION,
164     JOB_LONG_DESCRIPTION = X_JOB_LONG_DESCRIPTION,
165     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
166     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
167     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
168     SOURCE_LANG = userenv('LANG')
169   where JOB_ID = X_JOB_ID
170   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
171 
172   if (sql%notfound) then
173     raise no_data_found;
174   end if;
175 end UPDATE_ROW;
176 
177 procedure DELETE_ROW (
178   X_JOB_ID in NUMBER
179 ) is
180 begin
181   delete from PO_JOB_ASSOCIATIONS_TL
182   where JOB_ID = X_JOB_ID;
183 
184   if (sql%notfound) then
185     raise no_data_found;
186   end if;
187 
188   delete from PO_JOB_ASSOCIATIONS_B
189   where JOB_ID = X_JOB_ID;
190 
191   if (sql%notfound) then
192     raise no_data_found;
193   end if;
194 end DELETE_ROW;
195 
196 procedure ADD_LANGUAGE
197 is
198 begin
199   delete from PO_JOB_ASSOCIATIONS_TL T
200   where not exists
201     (select NULL
202     from PO_JOB_ASSOCIATIONS_B B
203     where B.JOB_ID = T.JOB_ID
204     );
205 
206   insert into PO_JOB_ASSOCIATIONS_TL (
207     JOB_ID,
208     JOB_DESCRIPTION,
209     JOB_LONG_DESCRIPTION,
210     LAST_UPDATE_DATE,
211     LAST_UPDATED_BY,
212     LAST_UPDATE_LOGIN,
213     CREATED_BY,
214     CREATION_DATE,
215     LANGUAGE,
216     SOURCE_LANG
217   ) select
218     B.JOB_ID,
219     B.JOB_DESCRIPTION,
220     B.JOB_LONG_DESCRIPTION,
221     B.LAST_UPDATE_DATE,
222     B.LAST_UPDATED_BY,
223     B.LAST_UPDATE_LOGIN,
224     B.CREATED_BY,
225     B.CREATION_DATE,
226     L.LANGUAGE_CODE,
227     B.SOURCE_LANG
228   from PO_JOB_ASSOCIATIONS_TL B, FND_LANGUAGES L
229   where L.INSTALLED_FLAG in ('I', 'B')
230   and B.LANGUAGE = userenv('LANG')
231   and not exists
232     (select NULL
233     from PO_JOB_ASSOCIATIONS_TL T
234     where T.JOB_ID = B.JOB_ID
235     and T.LANGUAGE = L.LANGUAGE_CODE);
236 end ADD_LANGUAGE;
237 
238 end PO_JOB_ASSOCIATIONS_PKG;