[Home] [Help]
PACKAGE BODY: APPS.PO_WF_PO_FLEXBUILDER_UPGRADE
Source
1 PACKAGE BODY PO_WF_PO_FLEXBUILDER_UPGRADE AS
2 /* $Header: POXWPFUB.pls 115.9 2002/11/22 22:06:11 sbull ship $ */
3
4 -- Read the profile option that enables/disables the debug log
5 g_po_wf_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('PO_SET_DEBUG_WORKFLOW_ON'),'N');
6
7 /*=======================================================================+
8 | FILENAME
9 | POXWPFUB.pls
10 |
11 | DESCRIPTION
12 | PL/SQL spec for package: PO_WF_PO_FLEXBUILDER_UPGRADE
13 |
14 | NOTES
15 | MODIFIED IMRAN ALI (08/26/97) - Created
16 *=====================================================================*/
17
18 -- Cursors
19
20 /*****************************************************************************
21 * The following are local/Private procedure that support the workflow APIs: *
22 *****************************************************************************/
23
24 function po_build_account ( itemtype in varchar2,
25 itemkey in varchar2,
26 accountType in varchar2,
27 FB_FLEX_SEG in out NOCOPY VARCHAR2,
28 FB_ERROR_MSG in out NOCOPY VARCHAR2 )
29 return boolean;
30
31 procedure Get_att (itemtype in varchar2, itemkey in varchar2, variable in out NOCOPY varchar2,
32 l_aname in varchar2);
33 procedure Get_number_att (itemtype in varchar2, itemkey in varchar2, variable in out NOCOPY number,
34 l_aname in varchar2);
35 procedure Get_date_att (itemtype in varchar2, itemkey in varchar2, variable in out NOCOPY date,
36 l_aname in varchar2);
37
38 --
39 -- charge_account
40 -- Build charge account for the specified structure
41 --
42 procedure charge_account ( itemtype in varchar2,
43 itemkey in varchar2,
44 actid in number,
45 funcmode in varchar2,
46 result out NOCOPY varchar2 )
47 is
48 l_result_flag BOOLEAN;
49 x_progress varchar2(1000);
50 FB_FLEX_SEG varchar2(2000);
51 FB_ERROR_MSG varchar2(2000);
52 x_destination_type varchar2(25);
53
54 BEGIN
55
56 x_progress := 'PO_WF_PO_FLEXBUILDER_UPGRADE.charge_account: 01';
57 IF (g_po_wf_debug = 'Y') THEN
58 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
59 END IF;
60
61
62 -- Do nothing in cancel or timeout mode
63 --
64 if (funcmode <> wf_engine.eng_run) then
65
66 result := wf_engine.eng_null;
67 return;
68
69 end if;
70
71 -- Get the required item attributes and then call the upgrade charge account
72 -- routine PO_PO_CHARGE_ACCOUNT.BUILD ( );
73
74 l_result_flag := po_build_account( itemtype,
75 itemkey,
76 'CHARGE',
77 FB_FLEX_SEG,
78 FB_ERROR_MSG );
79
80 x_progress := 'PO_WF_PO_FLEXBUILDER_UPGRADE.charge_account: 02';
81 IF (g_po_wf_debug = 'Y') THEN
82 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
83 END IF;
84
85 if l_result_flag then
86
87 -- Load the concated segment values returned by the BUILD function on to WF item
88 -- attributes.
89
90 FND_FLEX_WORKFLOW.LOAD_CONCATENATED_SEGMENTS ( itemtype, itemkey, FB_FLEX_SEG );
91
92 x_progress := 'FND_FLEX_WORKFLOW.LOAD_CONCATENATED_SEGMENTS:success:' || FB_FLEX_SEG;
93 IF (g_po_wf_debug = 'Y') THEN
94 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
95 END IF;
96
97 result := 'COMPLETE:SUCCESS';
98 return;
99 else
100 --If the build_account call returns an error message then set the ERROR_MSG attrib.
101
102 x_progress := 'FND_FLEX_WORKFLOW.LOAD_CONCATENATED_SEGMENTS:failure:' || FB_ERROR_MSG;
103 IF (g_po_wf_debug = 'Y') THEN
104 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
105 END IF;
106
107 wf_engine.SetItemAttrText ( itemtype=>itemtype,
108 itemkey=>itemkey,
109 aname=>'ERROR_MESSAGE',
110 avalue=>FB_ERROR_MSG );
111
112 -- result := 'COMPLETE:FAILURE';
113
114 Get_att(itemtype, itemkey, x_destination_type, 'DESTINATION_TYPE_CODE');
115
116 if x_destination_type = 'EXPENSE' then
117 result := 'COMPLETE:SUCCESS'; -- we will handle this in the libraray
118 else
119 result := 'COMPLETE:FAILURE';
120 end if;
121
122 RETURN;
123
124 end if;
125
126 EXCEPTION
127 WHEN OTHERS THEN
128 wf_core.context('PO_WF_PO_FLEXBUILDER_UPGRADE','charge_account',x_progress);
129 raise;
130
131 END charge_account;
132
133 /* ********************************************************************************* */
134
135 --
136 -- budget_account
137 -- Build budget account for the specified structure
138 --
139 procedure budget_account ( itemtype in varchar2,
140 itemkey in varchar2,
141 actid in number,
142 funcmode in varchar2,
143 result out NOCOPY varchar2 )
144 is
145 l_result_flag BOOLEAN;
146 x_progress varchar2(1000);
147 FB_FLEX_SEG varchar2(2000);
148 FB_ERROR_MSG varchar2(2000);
149 BEGIN
150
151 x_progress := 'PO_WF_PO_FLEXBUILDER_UPGRADE.budget_account: 01';
152 IF (g_po_wf_debug = 'Y') THEN
153 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
154 END IF;
155
156
157 -- Do nothing in cancel or timeout mode
158 --
159 if (funcmode <> wf_engine.eng_run) then
160
161 result := wf_engine.eng_null;
162 return;
163
164 end if;
165
166 -- Get the required item attributes and then call the upgrade charge account
167 -- routine PO_REQ_CHARGE_ACCOUNT.BUILD ( );
168
169 l_result_flag := po_build_account ( itemtype,
170 itemkey,
171 'BUDGET',
172 FB_FLEX_SEG,
173 FB_ERROR_MSG );
174
175 x_progress := 'PO_WF_PO_FLEXBUILDER_UPGRADE.budget_account: 02';
176 IF (g_po_wf_debug = 'Y') THEN
177 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
178 END IF;
179
180 if l_result_flag then
181
182 -- Load the concated segment values returned by the BUILD function on to WF item
183 -- attributes.
184
185 FND_FLEX_WORKFLOW.LOAD_CONCATENATED_SEGMENTS ( itemtype, itemkey, FB_FLEX_SEG );
186
187 result := 'COMPLETE:SUCCESS';
188 return;
189 else
190 --If the build_account call returns an error message then set the ERROR_MSG attrib.
191
192 wf_engine.SetItemAttrText ( itemtype=>itemtype,
193 itemkey=>itemkey,
194 aname=>'ERROR_MESSAGE',
195 avalue=>FB_ERROR_MSG );
196
197 result := 'COMPLETE:FAILURE';
198 RETURN;
199
200 end if;
201
202 EXCEPTION
203 WHEN OTHERS THEN
204 wf_core.context('PO_WF_PO_FLEXBUILDER_UPGRADE','budget_account',x_progress);
205 raise;
206
207 END budget_account;
208
209 /* ********************************************************************************* */
210
211 --
212 -- variance_account
213 -- Build variance account for the specified structure
214 --
215 procedure variance_account ( itemtype in varchar2,
216 itemkey in varchar2,
217 actid in number,
218 funcmode in varchar2,
219 result out NOCOPY varchar2 )
220 is
221 l_result_flag BOOLEAN;
222 x_progress varchar2(1000);
223 FB_FLEX_SEG varchar2(2000);
224 FB_ERROR_MSG varchar2(2000);
225 BEGIN
226
227 x_progress := 'PO_WF_PO_FLEXBUILDER_UPGRADE.variance_account: 01';
228 IF (g_po_wf_debug = 'Y') THEN
229 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
230 END IF;
231
232
233 -- Do nothing in cancel or timeout mode
234 --
235 if (funcmode <> wf_engine.eng_run) then
236
237 result := wf_engine.eng_null;
238 return;
239
240 end if;
241
242 -- Get the required item attributes and then call the upgrade charge account
243 -- routine PO_REQ_CHARGE_ACCOUNT.BUILD ( );
244
245 l_result_flag := po_build_account ( itemtype,
246 itemkey,
247 'VARIANCE',
248 FB_FLEX_SEG,
249 FB_ERROR_MSG );
250
251 x_progress := 'PO_WF_PO_FLEXBUILDER_UPGRADE.variance_account: 02';
252 IF (g_po_wf_debug = 'Y') THEN
253 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
254 END IF;
255
256 if l_result_flag then
257
258 -- Load the concated segment values returned by the BUILD function on to WF item
259 -- attributes.
260
261 FND_FLEX_WORKFLOW.LOAD_CONCATENATED_SEGMENTS ( itemtype, itemkey, FB_FLEX_SEG );
262
263 result := 'COMPLETE:SUCCESS';
264 return;
265 else
266 --If the build_account call returns an error message then set the ERROR_MSG attrib.
267
268 wf_engine.SetItemAttrText ( itemtype=>itemtype,
269 itemkey=>itemkey,
270 aname=>'ERROR_MESSAGE',
271 avalue=>FB_ERROR_MSG );
272
273 result := 'COMPLETE:FAILURE';
274 RETURN;
275
276 end if;
277
278 EXCEPTION
279 WHEN OTHERS THEN
280 wf_core.context('PO_WF_PO_FLEXBUILDER_UPGRADE','variance_account',x_progress);
281 raise;
282
283 END variance_account;
284
285 /* ********************************************************************************* */
286
287 --
288 -- accrual_account
289 -- Build accrual account for the specified structure
290 --
291 procedure accrual_account ( itemtype in varchar2,
292 itemkey in varchar2,
293 actid in number,
294 funcmode in varchar2,
295 result out NOCOPY varchar2 )
296 is
297 l_result_flag BOOLEAN;
298 x_progress varchar2(1000);
299 FB_FLEX_SEG varchar2(2000);
300 FB_ERROR_MSG varchar2(2000);
301 BEGIN
302
303 x_progress := 'PO_WF_PO_FLEXBUILDER_UPGRADE.accrual_account: 01';
304 IF (g_po_wf_debug = 'Y') THEN
305 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
306 END IF;
307
308
309 -- Do nothing in cancel or timeout mode
310 --
311 if (funcmode <> wf_engine.eng_run) then
312
313 result := wf_engine.eng_null;
314 return;
315
316 end if;
317
318 -- Get the required item attributes and then call the upgrade charge account
319 -- routine PO_REQ_CHARGE_ACCOUNT.BUILD ( );
320
321 l_result_flag := po_build_account ( itemtype,
322 itemkey,
323 'ACCRUAL',
324 FB_FLEX_SEG,
325 FB_ERROR_MSG );
326
327 x_progress := 'PO_WF_PO_FLEXBUILDER_UPGRADE.accrual_account: 02';
328 IF (g_po_wf_debug = 'Y') THEN
329 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
330 END IF;
331
332 if l_result_flag then
333
334 -- Load the concated segment values returned by the BUILD function on to WF item
335 -- attributes.
336
337 FND_FLEX_WORKFLOW.LOAD_CONCATENATED_SEGMENTS ( itemtype, itemkey, FB_FLEX_SEG );
338
339 result := 'COMPLETE:SUCCESS';
340 return;
341 else
342 --If the build_account call returns an error message then set the ERROR_MSG attrib.
343
344 wf_engine.SetItemAttrText ( itemtype=>itemtype,
345 itemkey=>itemkey,
346 aname=>'ERROR_MESSAGE',
347 avalue=>FB_ERROR_MSG );
348
349 result := 'COMPLETE:FAILURE';
350 RETURN;
351
352 end if;
353
354 EXCEPTION
355 WHEN OTHERS THEN
356 wf_core.context('PO_WF_PO_FLEXBUILDER_UPGRADE','accrual_account',x_progress);
357 raise;
358
359 END accrual_account;
360
361 /*****************************************************************************
362 * Local/Private procedure/functions that support the workflow APIs: *
363 *****************************************************************************/
364
365 function po_build_account ( itemtype in varchar2,
366 itemkey in varchar2,
367 accountType in varchar2,
368 FB_FLEX_SEG in out NOCOPY VARCHAR2,
369 FB_ERROR_MSG in out NOCOPY VARCHAR2 )
370 return boolean
371 is
372 x_result_flag BOOLEAN;
373 x_progress varchar2(1000);
374
375 chart_of_accounts_id NUMBER; -- gl_set_of_books.charge_of_account_id
376 bom_cost_element_id NUMBER;
377 bom_resource_id NUMBER;
378 category_id NUMBER;
379 deliver_to_location_id NUMBER;
380 destination_organization_id NUMBER;
381 destination_subinventory VARCHAR2(10);
382 destination_type_code VARCHAR2(25);
383 expenditure_type VARCHAR2(30);
384 expenditure_item_date DATE;
385 expenditure_organization_id NUMBER;
386
387 line_type_id NUMBER;
388 pa_billable_flag VARCHAR2(1);
389 preparer_id NUMBER;
390 project_id NUMBER;
391 source_document_header_id NUMBER;
392 source_document_line_id NUMBER;
393 source_document_type_code VARCHAR2(25);
394 task_id NUMBER;
395 to_person_id NUMBER;
396 type_lookup_code VARCHAR2(40);
397 vendor_id NUMBER;
398 item_id NUMBER;
399
400 header_att1 VARCHAR2(2000);
401 header_att2 VARCHAR2(2000);
402 header_att3 VARCHAR2(2000);
403 header_att4 VARCHAR2(2000);
404 header_att5 VARCHAR2(2000);
405 header_att6 VARCHAR2(2000);
406 header_att7 VARCHAR2(2000);
407 header_att8 VARCHAR2(2000);
408 header_att9 VARCHAR2(2000);
409 header_att10 VARCHAR2(2000);
410 header_att11 VARCHAR2(2000);
411 header_att12 VARCHAR2(2000);
412 header_att13 VARCHAR2(2000);
413 header_att14 VARCHAR2(2000);
414 header_att15 VARCHAR2(2000);
415
416 line_att1 VARCHAR2(2000);
417 line_att2 VARCHAR2(2000);
418 line_att3 VARCHAR2(2000);
419 line_att4 VARCHAR2(2000);
420 line_att5 VARCHAR2(2000);
421 line_att6 VARCHAR2(2000);
422 line_att7 VARCHAR2(2000);
423 line_att8 VARCHAR2(2000);
424 line_att9 VARCHAR2(2000);
425 line_att10 VARCHAR2(2000);
426 line_att11 VARCHAR2(2000);
427 line_att12 VARCHAR2(2000);
428 line_att13 VARCHAR2(2000);
429 line_att14 VARCHAR2(2000);
430 line_att15 VARCHAR2(2000);
431
432 shipment_att1 VARCHAR2(2000);
433 shipment_att2 VARCHAR2(2000);
434 shipment_att3 VARCHAR2(2000);
435 shipment_att4 VARCHAR2(2000);
436 shipment_att5 VARCHAR2(2000);
437 shipment_att6 VARCHAR2(2000);
438 shipment_att7 VARCHAR2(2000);
439 shipment_att8 VARCHAR2(2000);
440 shipment_att9 VARCHAR2(2000);
441 shipment_att10 VARCHAR2(2000);
442 shipment_att11 VARCHAR2(2000);
443 shipment_att12 VARCHAR2(2000);
444 shipment_att13 VARCHAR2(2000);
445 shipment_att14 VARCHAR2(2000);
446 shipment_att15 VARCHAR2(2000);
447
448 distribution_att1 VARCHAR2(2000);
449 distribution_att2 VARCHAR2(2000);
450 distribution_att3 VARCHAR2(2000);
451 distribution_att4 VARCHAR2(2000);
452 distribution_att5 VARCHAR2(2000);
453 distribution_att6 VARCHAR2(2000);
454 distribution_att7 VARCHAR2(2000);
455 distribution_att8 VARCHAR2(2000);
456 distribution_att9 VARCHAR2(2000);
457 distribution_att10 VARCHAR2(2000);
458 distribution_att11 VARCHAR2(2000);
459 distribution_att12 VARCHAR2(2000);
460 distribution_att13 VARCHAR2(2000);
461 distribution_att14 VARCHAR2(2000);
462 distribution_att15 VARCHAR2(2000);
463
464 wip_entity_id NUMBER;
465 wip_entity_type VARCHAR2(40);
466 wip_line_id NUMBER;
467 wip_operation_seq_num NUMBER;
468 wip_repetitive_schedule_id NUMBER;
469 wip_resource_seq_num NUMBER;
470
471 ccid NUMBER;
472 budget_account_id NUMBER;
473 accrual_account_id NUMBER;
474
475 begin
476
477 -- Get values for the arguments to the build call from the Workflow Item Attributes.
478
479 IF (accountType IN ('BUDGET', 'ACCRUAL', 'VARIANCE')) then
480 Get_number_att(itemtype, itemkey, ccid, 'CODE_COMBINATION_ID');
481 END IF;
482 IF (accountType IN ('ACCRUAL', 'VARIANCE')) then
483 Get_number_att(itemtype, itemkey, budget_account_id, 'BUDGET_ACCOUNT_ID');
484 END IF;
485 IF (accountType IN ('VARIANCE')) then
486 Get_number_att(itemtype, itemkey, accrual_account_id, 'ACCRUAL_ACCOUNT_ID');
487 END IF;
488 Get_number_att(itemtype, itemkey, chart_of_accounts_id, 'CHART_OF_ACCOUNTS_ID');
489 Get_number_att(itemtype, itemkey, bom_cost_element_id, 'BOM_COST_ELEMENT_ID');
490 Get_number_att(itemtype, itemkey, bom_resource_id, 'BOM_RESOURCE_ID');
491 Get_number_att(itemtype, itemkey, category_id, 'CATEGORY_ID');
492 Get_number_att(itemtype, itemkey, deliver_to_location_id, 'DELIVER_TO_LOCATION_ID');
493 Get_number_att(itemtype, itemkey, destination_organization_id, 'DESTINATION_ORGANIZATION_ID');
494 Get_att(itemtype, itemkey, destination_subinventory, 'DESTINATION_SUBINVENTORY');
495 Get_att(itemtype, itemkey, destination_type_code, 'DESTINATION_TYPE_CODE');
496 Get_att(itemtype, itemkey, expenditure_type, 'EXPENDITURE_TYPE');
497 Get_date_att(itemtype, itemkey, expenditure_item_date, 'EXPENDITURE_ITEM_DATE');
498 Get_number_att(itemtype, itemkey, expenditure_organization_id, 'EXPENDITURE_ORGANIZATION_ID');
499 Get_number_att(itemtype, itemkey, line_type_id, 'LINE_TYPE_ID');
500 Get_att(itemtype, itemkey, pa_billable_flag, 'PA_BILLABLE_FLAG');
501 Get_number_att(itemtype, itemkey, preparer_id, 'PREPARER_ID');
502 Get_number_att(itemtype, itemkey, project_id, 'PROJECT_ID');
503 Get_number_att(itemtype, itemkey, source_document_header_id, 'SOURCE_DOCUMENT_HEADER_ID');
504 Get_number_att(itemtype, itemkey, source_document_line_id, 'SOURCE_DOCUMENT_LINE_ID');
505 Get_att(itemtype, itemkey, source_document_type_code, 'SOURCE_DOCUMENT_TYPE_CODE');
506 Get_number_att(itemtype, itemkey, task_id, 'TASK_ID');
507 Get_number_att(itemtype, itemkey, to_person_id, 'TO_PERSON_ID');
508 Get_att(itemtype, itemkey, type_lookup_code, 'TYPE_LOOKUP_CODE');
509 Get_number_att(itemtype, itemkey, vendor_id, 'VENDOR_ID');
510 Get_number_att(itemtype, itemkey, item_id, 'ITEM_ID');
511 Get_number_att(itemtype, itemkey, wip_entity_id, 'WIP_ENTITY_ID');
512 Get_att(itemtype, itemkey, wip_entity_type, 'WIP_ENTITY_TYPE');
513 Get_number_att(itemtype, itemkey, wip_line_id, 'WIP_LINE_ID');
514 Get_number_att(itemtype, itemkey, wip_operation_seq_num, 'WIP_OPERATION_SEQ_NUM');
515 Get_number_att(itemtype, itemkey, wip_repetitive_schedule_id, 'WIP_REPETITIVE_SCHEDULE_ID');
516 Get_number_att(itemtype, itemkey, wip_resource_seq_num, 'WIP_RESOURCE_SEQ_NUM');
517
518 -- Get Header, line, shipment and distribution attributes.
519
520 Get_att(itemtype, itemkey, header_att1, 'HEADER_ATT1');
521 Get_att(itemtype, itemkey, header_att2, 'HEADER_ATT2');
522 Get_att(itemtype, itemkey, header_att3, 'HEADER_ATT3');
523 Get_att(itemtype, itemkey, header_att4, 'HEADER_ATT4');
524 Get_att(itemtype, itemkey, header_att5, 'HEADER_ATT5');
525 Get_att(itemtype, itemkey, header_att6, 'HEADER_ATT6');
526 Get_att(itemtype, itemkey, header_att7, 'HEADER_ATT7');
527 Get_att(itemtype, itemkey, header_att8, 'HEADER_ATT8');
528 Get_att(itemtype, itemkey, header_att9, 'HEADER_ATT9');
529 Get_att(itemtype, itemkey, header_att10, 'HEADER_ATT10');
530 Get_att(itemtype, itemkey, header_att11, 'HEADER_ATT11');
531 Get_att(itemtype, itemkey, header_att12, 'HEADER_ATT12');
532 Get_att(itemtype, itemkey, header_att13, 'HEADER_ATT13');
533 Get_att(itemtype, itemkey, header_att14, 'HEADER_ATT14');
534 Get_att(itemtype, itemkey, header_att15, 'HEADER_ATT15');
535
536 Get_att(itemtype, itemkey, line_att1, 'LINE_ATT1');
537 Get_att(itemtype, itemkey, line_att2, 'LINE_ATT2');
538 Get_att(itemtype, itemkey, line_att3, 'LINE_ATT3');
539 Get_att(itemtype, itemkey, line_att4, 'LINE_ATT4');
540 Get_att(itemtype, itemkey, line_att5, 'LINE_ATT5');
541 Get_att(itemtype, itemkey, line_att6, 'LINE_ATT6');
542 Get_att(itemtype, itemkey, line_att7, 'LINE_ATT7');
543 Get_att(itemtype, itemkey, line_att8, 'LINE_ATT8');
544 Get_att(itemtype, itemkey, line_att9, 'LINE_ATT9');
545 Get_att(itemtype, itemkey, line_att10, 'LINE_ATT10');
546 Get_att(itemtype, itemkey, line_att11, 'LINE_ATT11');
547 Get_att(itemtype, itemkey, line_att12, 'LINE_ATT12');
548 Get_att(itemtype, itemkey, line_att13, 'LINE_ATT13');
549 Get_att(itemtype, itemkey, line_att14, 'LINE_ATT14');
550 Get_att(itemtype, itemkey, line_att15, 'LINE_ATT15');
551
552 Get_att(itemtype, itemkey, shipment_att1, 'SHIPMENT_ATT1');
553 Get_att(itemtype, itemkey, shipment_att2, 'SHIPMENT_ATT2');
554 Get_att(itemtype, itemkey, shipment_att3, 'SHIPMENT_ATT3');
555 Get_att(itemtype, itemkey, shipment_att4, 'SHIPMENT_ATT4');
556 Get_att(itemtype, itemkey, shipment_att5, 'SHIPMENT_ATT5');
557 Get_att(itemtype, itemkey, shipment_att6, 'SHIPMENT_ATT6');
558 Get_att(itemtype, itemkey, shipment_att7, 'SHIPMENT_ATT7');
559 Get_att(itemtype, itemkey, shipment_att8, 'SHIPMENT_ATT8');
560 Get_att(itemtype, itemkey, shipment_att9, 'SHIPMENT_ATT9');
561 Get_att(itemtype, itemkey, shipment_att10, 'SHIPMENT_ATT10');
562 Get_att(itemtype, itemkey, shipment_att11, 'SHIPMENT_ATT11');
563 Get_att(itemtype, itemkey, shipment_att12, 'SHIPMENT_ATT12');
564 Get_att(itemtype, itemkey, shipment_att13, 'SHIPMENT_ATT13');
565 Get_att(itemtype, itemkey, shipment_att14, 'SHIPMENT_ATT14');
566 Get_att(itemtype, itemkey, shipment_att15, 'SHIPMENT_ATT15');
567
568 Get_att(itemtype, itemkey, distribution_att1, 'DISTRIBUTION_ATT1');
569 Get_att(itemtype, itemkey, distribution_att2, 'DISTRIBUTION_ATT2');
570 Get_att(itemtype, itemkey, distribution_att3, 'DISTRIBUTION_ATT3');
571 Get_att(itemtype, itemkey, distribution_att4, 'DISTRIBUTION_ATT4');
572 Get_att(itemtype, itemkey, distribution_att5, 'DISTRIBUTION_ATT5');
573 Get_att(itemtype, itemkey, distribution_att6, 'DISTRIBUTION_ATT6');
574 Get_att(itemtype, itemkey, distribution_att7, 'DISTRIBUTION_ATT7');
575 Get_att(itemtype, itemkey, distribution_att8, 'DISTRIBUTION_ATT8');
576 Get_att(itemtype, itemkey, distribution_att9, 'DISTRIBUTION_ATT9');
577 Get_att(itemtype, itemkey, distribution_att10, 'DISTRIBUTION_ATT10');
578 Get_att(itemtype, itemkey, distribution_att11, 'DISTRIBUTION_ATT11');
579 Get_att(itemtype, itemkey, distribution_att12, 'DISTRIBUTION_ATT12');
580 Get_att(itemtype, itemkey, distribution_att13, 'DISTRIBUTION_ATT13');
581 Get_att(itemtype, itemkey, distribution_att14, 'DISTRIBUTION_ATT14');
582 Get_att(itemtype, itemkey, distribution_att15, 'DISTRIBUTION_ATT15');
583
584 -- chart_of_accounts_id = gl_set_of_books.charge_of_account_id - structure id
585
586 x_progress := 'calling PO_PO_CHARGE_ACCOUNT.BUILD';
587 IF (g_po_wf_debug = 'Y') THEN
588 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
589 END IF;
590
591 IF (accountType = 'CHARGE') then
592
593 x_result_flag := PO_PO_CHARGE_ACCOUNT.BUILD (
594
595 FB_FLEX_NUM => chart_of_accounts_id,
596 BOM_COST_ELEMENT_ID => to_char(bom_cost_element_id),
597 BOM_RESOURCE_ID => to_char(bom_resource_id),
598 CATEGORY_ID => to_char(category_id),
599 DELIVER_TO_LOCATION_ID => to_char(deliver_to_location_id),
600 DESTINATION_ORGANIZATION_ID => to_char(destination_organization_id),
601 DESTINATION_SUBINVENTORY => destination_subinventory,
602 DESTINATION_TYPE_CODE => destination_type_code,
603 EXPENDITURE_TYPE => expenditure_type,
604 EXPENDITURE_ITEM_DATE => to_char(expenditure_item_date),
605 EXPENDITURE_ORGANIZATION_ID => to_char(expenditure_organization_id),
606 LINE_TYPE_ID => to_char(line_type_id),
607 PA_BILLABLE_FLAG => pa_billable_flag,
608 PREPARER_ID => to_char(preparer_id),
609 PROJECT_ID => to_char(project_id),
610 SOURCE_DOCUMENT_HEADER_ID => to_char(source_document_header_id),
611 SOURCE_DOCUMENT_LINE_ID => to_char(source_document_line_id),
612 SOURCE_DOCUMENT_TYPE_CODE => source_document_type_code,
613 TASK_ID => to_char(task_id),
614 TO_PERSON_ID => to_char(to_person_id),
615 TYPE_LOOKUP_CODE => type_lookup_code,
616 VENDOR_ID => to_char(vendor_id),
617 ITEM_ID => to_char(item_id),
618
619 HEADER_ATT1 => header_att1,
620 HEADER_ATT2 => header_att2,
621 HEADER_ATT3 => header_att3,
622 HEADER_ATT4 => header_att4,
623 HEADER_ATT5 => header_att5,
624 HEADER_ATT6 => header_att6,
625 HEADER_ATT7 => header_att7,
626 HEADER_ATT8 => header_att8,
627 HEADER_ATT9 => header_att9,
628 HEADER_ATT10 => header_att10,
629 HEADER_ATT11 => header_att11,
630 HEADER_ATT12 => header_att12,
631 HEADER_ATT13 => header_att13,
632 HEADER_ATT14 => header_att14,
633 HEADER_ATT15 => header_att15,
634
635 LINE_ATT1 => line_att1,
636 LINE_ATT2 => line_att2,
637 LINE_ATT3 => line_att3,
638 LINE_ATT4 => line_att4,
639 LINE_ATT5 => line_att5,
640 LINE_ATT6 => line_att6,
641 LINE_ATT7 => line_att7,
642 LINE_ATT8 => line_att8,
643 LINE_ATT9 => line_att9,
644 LINE_ATT10 => line_att10,
645 LINE_ATT11 => line_att11,
646 LINE_ATT12 => line_att12,
647 LINE_ATT13 => line_att13,
648 LINE_ATT14 => line_att14,
649 LINE_ATT15 => line_att15,
650
651 SHIPMENT_ATT1 => shipment_att1,
652 SHIPMENT_ATT2 => shipment_att2,
653 SHIPMENT_ATT3 => shipment_att3,
654 SHIPMENT_ATT4 => shipment_att4,
655 SHIPMENT_ATT5 => shipment_att5,
656 SHIPMENT_ATT6 => shipment_att6,
657 SHIPMENT_ATT7 => shipment_att7,
658 SHIPMENT_ATT8 => shipment_att8,
659 SHIPMENT_ATT9 => shipment_att9,
660 SHIPMENT_ATT10 => shipment_att10,
661 SHIPMENT_ATT11 => shipment_att11,
662 SHIPMENT_ATT12 => shipment_att12,
663 SHIPMENT_ATT13 => shipment_att13,
664 SHIPMENT_ATT14 => shipment_att14,
665 SHIPMENT_ATT15 => shipment_att15,
666
667 DISTRIBUTION_ATT1 => distribution_att1,
668 DISTRIBUTION_ATT2 => distribution_att2,
669 DISTRIBUTION_ATT3 => distribution_att3,
670 DISTRIBUTION_ATT4 => distribution_att4,
671 DISTRIBUTION_ATT5 => distribution_att5,
672 DISTRIBUTION_ATT6 => distribution_att6,
673 DISTRIBUTION_ATT7 => distribution_att7,
674 DISTRIBUTION_ATT8 => distribution_att8,
675 DISTRIBUTION_ATT9 => distribution_att9,
676 DISTRIBUTION_ATT10 => distribution_att10,
677 DISTRIBUTION_ATT11 => distribution_att11,
678 DISTRIBUTION_ATT12 => distribution_att12,
679 DISTRIBUTION_ATT13 => distribution_att13,
680 DISTRIBUTION_ATT14 => distribution_att14,
681 DISTRIBUTION_ATT15 => distribution_att15,
682
683 WIP_ENTITY_ID => to_char(wip_entity_id),
684 WIP_ENTITY_TYPE => wip_entity_type,
685 WIP_LINE_ID => to_char(wip_line_id),
686 WIP_OPERATION_SEQ_NUM => to_char(wip_operation_seq_num),
687 WIP_REPETITIVE_SCHEDULE_ID => to_char(wip_repetitive_schedule_id),
688 WIP_RESOURCE_SEQ_NUM => to_char(wip_resource_seq_num),
689
690 FB_FLEX_SEG => fb_flex_seg,
691 FB_ERROR_MSG => fb_error_msg );
692
693 ELSIF (accountType = 'BUDGET') then
694
695 x_result_flag := PO_PO_BUDGET_ACCOUNT.BUILD (
696
697 FB_FLEX_NUM => chart_of_accounts_id,
698 BOM_COST_ELEMENT_ID => to_char(bom_cost_element_id),
699 BOM_RESOURCE_ID => to_char(bom_resource_id),
700 CATEGORY_ID => to_char(category_id),
701 CODE_COMBINATION_ID => to_char(ccid),
702 DELIVER_TO_LOCATION_ID => to_char(deliver_to_location_id),
703 DESTINATION_ORGANIZATION_ID => to_char(destination_organization_id),
704 DESTINATION_SUBINVENTORY => destination_subinventory,
705 DESTINATION_TYPE_CODE => destination_type_code,
706 EXPENDITURE_TYPE => expenditure_type,
707 EXPENDITURE_ITEM_DATE => to_char(expenditure_item_date),
708 EXPENDITURE_ORGANIZATION_ID => to_char(expenditure_organization_id),
709 LINE_TYPE_ID => to_char(line_type_id),
710 PA_BILLABLE_FLAG => pa_billable_flag,
711 PREPARER_ID => to_char(preparer_id),
712 PROJECT_ID => to_char(project_id),
713 SOURCE_DOCUMENT_HEADER_ID => to_char(source_document_header_id),
714 SOURCE_DOCUMENT_LINE_ID => to_char(source_document_line_id),
715 SOURCE_DOCUMENT_TYPE_CODE => source_document_type_code,
716 TASK_ID => to_char(task_id),
717 TO_PERSON_ID => to_char(to_person_id),
718 TYPE_LOOKUP_CODE => type_lookup_code,
719 VENDOR_ID => to_char(vendor_id),
720 ITEM_ID => to_char(item_id),
721
722 HEADER_ATT1 => header_att1,
723 HEADER_ATT2 => header_att2,
724 HEADER_ATT3 => header_att3,
725 HEADER_ATT4 => header_att4,
726 HEADER_ATT5 => header_att5,
727 HEADER_ATT6 => header_att6,
728 HEADER_ATT7 => header_att7,
729 HEADER_ATT8 => header_att8,
730 HEADER_ATT9 => header_att9,
731 HEADER_ATT10 => header_att10,
732 HEADER_ATT11 => header_att11,
733 HEADER_ATT12 => header_att12,
734 HEADER_ATT13 => header_att13,
735 HEADER_ATT14 => header_att14,
736 HEADER_ATT15 => header_att15,
737
738 LINE_ATT1 => line_att1,
739 LINE_ATT2 => line_att2,
740 LINE_ATT3 => line_att3,
741 LINE_ATT4 => line_att4,
742 LINE_ATT5 => line_att5,
743 LINE_ATT6 => line_att6,
744 LINE_ATT7 => line_att7,
745 LINE_ATT8 => line_att8,
746 LINE_ATT9 => line_att9,
747 LINE_ATT10 => line_att10,
748 LINE_ATT11 => line_att11,
749 LINE_ATT12 => line_att12,
750 LINE_ATT13 => line_att13,
751 LINE_ATT14 => line_att14,
752 LINE_ATT15 => line_att15,
753
754 SHIPMENT_ATT1 => shipment_att1,
755 SHIPMENT_ATT2 => shipment_att2,
756 SHIPMENT_ATT3 => shipment_att3,
757 SHIPMENT_ATT4 => shipment_att4,
758 SHIPMENT_ATT5 => shipment_att5,
759 SHIPMENT_ATT6 => shipment_att6,
760 SHIPMENT_ATT7 => shipment_att7,
761 SHIPMENT_ATT8 => shipment_att8,
762 SHIPMENT_ATT9 => shipment_att9,
763 SHIPMENT_ATT10 => shipment_att10,
764 SHIPMENT_ATT11 => shipment_att11,
765 SHIPMENT_ATT12 => shipment_att12,
766 SHIPMENT_ATT13 => shipment_att13,
767 SHIPMENT_ATT14 => shipment_att14,
768 SHIPMENT_ATT15 => shipment_att15,
769
770 DISTRIBUTION_ATT1 => distribution_att1,
771 DISTRIBUTION_ATT2 => distribution_att2,
772 DISTRIBUTION_ATT3 => distribution_att3,
773 DISTRIBUTION_ATT4 => distribution_att4,
774 DISTRIBUTION_ATT5 => distribution_att5,
775 DISTRIBUTION_ATT6 => distribution_att6,
776 DISTRIBUTION_ATT7 => distribution_att7,
777 DISTRIBUTION_ATT8 => distribution_att8,
778 DISTRIBUTION_ATT9 => distribution_att9,
779 DISTRIBUTION_ATT10 => distribution_att10,
780 DISTRIBUTION_ATT11 => distribution_att11,
781 DISTRIBUTION_ATT12 => distribution_att12,
782 DISTRIBUTION_ATT13 => distribution_att13,
783 DISTRIBUTION_ATT14 => distribution_att14,
784 DISTRIBUTION_ATT15 => distribution_att15,
785
786 WIP_ENTITY_ID => to_char(wip_entity_id),
787 WIP_ENTITY_TYPE => wip_entity_type,
788 WIP_LINE_ID => to_char(wip_line_id),
789 WIP_OPERATION_SEQ_NUM => to_char(wip_operation_seq_num),
790 WIP_REPETITIVE_SCHEDULE_ID => to_char(wip_repetitive_schedule_id),
791 WIP_RESOURCE_SEQ_NUM => to_char(wip_resource_seq_num),
792
793 FB_FLEX_SEG => fb_flex_seg,
794 FB_ERROR_MSG => fb_error_msg );
795
796 ELSIF (accountType = 'ACCRUAL') then
797
798 x_result_flag := PO_PO_ACCRUAL_ACCOUNT.BUILD (
799
800 FB_FLEX_NUM => chart_of_accounts_id,
801 BOM_COST_ELEMENT_ID => to_char(bom_cost_element_id),
802 BOM_RESOURCE_ID => to_char(bom_resource_id),
803 CATEGORY_ID => to_char(category_id),
804 CODE_COMBINATION_ID => to_char(ccid),
805 BUDGET_ACCOUNT_ID => to_char(budget_account_id),
806 DELIVER_TO_LOCATION_ID => to_char(deliver_to_location_id),
807 DESTINATION_ORGANIZATION_ID => to_char(destination_organization_id),
808 DESTINATION_SUBINVENTORY => destination_subinventory,
809 DESTINATION_TYPE_CODE => destination_type_code,
810 EXPENDITURE_TYPE => expenditure_type,
811 EXPENDITURE_ITEM_DATE => to_char(expenditure_item_date),
812 EXPENDITURE_ORGANIZATION_ID => to_char(expenditure_organization_id),
813 LINE_TYPE_ID => to_char(line_type_id),
814 PA_BILLABLE_FLAG => pa_billable_flag,
815 PREPARER_ID => to_char(preparer_id),
816 PROJECT_ID => to_char(project_id),
817 SOURCE_DOCUMENT_HEADER_ID => to_char(source_document_header_id),
818 SOURCE_DOCUMENT_LINE_ID => to_char(source_document_line_id),
819 SOURCE_DOCUMENT_TYPE_CODE => source_document_type_code,
820 TASK_ID => to_char(task_id),
821 TO_PERSON_ID => to_char(to_person_id),
822 TYPE_LOOKUP_CODE => type_lookup_code,
823 VENDOR_ID => to_char(vendor_id),
824 ITEM_ID => to_char(item_id),
825
826 HEADER_ATT1 => header_att1,
827 HEADER_ATT2 => header_att2,
828 HEADER_ATT3 => header_att3,
829 HEADER_ATT4 => header_att4,
830 HEADER_ATT5 => header_att5,
831 HEADER_ATT6 => header_att6,
832 HEADER_ATT7 => header_att7,
833 HEADER_ATT8 => header_att8,
834 HEADER_ATT9 => header_att9,
835 HEADER_ATT10 => header_att10,
836 HEADER_ATT11 => header_att11,
837 HEADER_ATT12 => header_att12,
838 HEADER_ATT13 => header_att13,
839 HEADER_ATT14 => header_att14,
840 HEADER_ATT15 => header_att15,
841
842 LINE_ATT1 => line_att1,
843 LINE_ATT2 => line_att2,
844 LINE_ATT3 => line_att3,
845 LINE_ATT4 => line_att4,
846 LINE_ATT5 => line_att5,
847 LINE_ATT6 => line_att6,
848 LINE_ATT7 => line_att7,
849 LINE_ATT8 => line_att8,
850 LINE_ATT9 => line_att9,
851 LINE_ATT10 => line_att10,
852 LINE_ATT11 => line_att11,
853 LINE_ATT12 => line_att12,
854 LINE_ATT13 => line_att13,
855 LINE_ATT14 => line_att14,
856 LINE_ATT15 => line_att15,
857
858 SHIPMENT_ATT1 => shipment_att1,
859 SHIPMENT_ATT2 => shipment_att2,
860 SHIPMENT_ATT3 => shipment_att3,
861 SHIPMENT_ATT4 => shipment_att4,
862 SHIPMENT_ATT5 => shipment_att5,
863 SHIPMENT_ATT6 => shipment_att6,
864 SHIPMENT_ATT7 => shipment_att7,
865 SHIPMENT_ATT8 => shipment_att8,
866 SHIPMENT_ATT9 => shipment_att9,
867 SHIPMENT_ATT10 => shipment_att10,
868 SHIPMENT_ATT11 => shipment_att11,
869 SHIPMENT_ATT12 => shipment_att12,
870 SHIPMENT_ATT13 => shipment_att13,
871 SHIPMENT_ATT14 => shipment_att14,
872 SHIPMENT_ATT15 => shipment_att15,
873
874 DISTRIBUTION_ATT1 => distribution_att1,
875 DISTRIBUTION_ATT2 => distribution_att2,
876 DISTRIBUTION_ATT3 => distribution_att3,
877 DISTRIBUTION_ATT4 => distribution_att4,
878 DISTRIBUTION_ATT5 => distribution_att5,
879 DISTRIBUTION_ATT6 => distribution_att6,
880 DISTRIBUTION_ATT7 => distribution_att7,
881 DISTRIBUTION_ATT8 => distribution_att8,
882 DISTRIBUTION_ATT9 => distribution_att9,
883 DISTRIBUTION_ATT10 => distribution_att10,
884 DISTRIBUTION_ATT11 => distribution_att11,
885 DISTRIBUTION_ATT12 => distribution_att12,
886 DISTRIBUTION_ATT13 => distribution_att13,
887 DISTRIBUTION_ATT14 => distribution_att14,
888 DISTRIBUTION_ATT15 => distribution_att15,
889
890 WIP_ENTITY_ID => to_char(wip_entity_id),
891 WIP_ENTITY_TYPE => wip_entity_type,
892 WIP_LINE_ID => to_char(wip_line_id),
893 WIP_OPERATION_SEQ_NUM => to_char(wip_operation_seq_num),
894 WIP_REPETITIVE_SCHEDULE_ID => to_char(wip_repetitive_schedule_id),
895 WIP_RESOURCE_SEQ_NUM => to_char(wip_resource_seq_num),
896
897 FB_FLEX_SEG => fb_flex_seg,
898 FB_ERROR_MSG => fb_error_msg );
899
900 ELSE -- accountType = VARIANCE
901
902 x_result_flag := PO_PO_VARIANCE_ACCOUNT.BUILD (
903
904 FB_FLEX_NUM => chart_of_accounts_id,
905 BOM_COST_ELEMENT_ID => to_char(bom_cost_element_id),
906 BOM_RESOURCE_ID => to_char(bom_resource_id),
907 CATEGORY_ID => to_char(category_id),
908 CODE_COMBINATION_ID => to_char(ccid),
909 BUDGET_ACCOUNT_ID => to_char(budget_account_id),
910 ACCRUAL_ACCOUNT_ID => to_char(accrual_account_id),
911 DELIVER_TO_LOCATION_ID => to_char(deliver_to_location_id),
912 DESTINATION_ORGANIZATION_ID => to_char(destination_organization_id),
913 DESTINATION_SUBINVENTORY => destination_subinventory,
914 DESTINATION_TYPE_CODE => destination_type_code,
915 EXPENDITURE_TYPE => expenditure_type,
916 EXPENDITURE_ITEM_DATE => to_char(expenditure_item_date),
917 EXPENDITURE_ORGANIZATION_ID => to_char(expenditure_organization_id),
918 LINE_TYPE_ID => to_char(line_type_id),
919 PA_BILLABLE_FLAG => pa_billable_flag,
920 PREPARER_ID => to_char(preparer_id),
921 PROJECT_ID => to_char(project_id),
922 SOURCE_DOCUMENT_HEADER_ID => to_char(source_document_header_id),
923 SOURCE_DOCUMENT_LINE_ID => to_char(source_document_line_id),
924 SOURCE_DOCUMENT_TYPE_CODE => source_document_type_code,
925 TASK_ID => to_char(task_id),
926 TO_PERSON_ID => to_char(to_person_id),
927 TYPE_LOOKUP_CODE => type_lookup_code,
928 VENDOR_ID => to_char(vendor_id),
929 ITEM_ID => to_char(item_id),
930
931 HEADER_ATT1 => header_att1,
932 HEADER_ATT2 => header_att2,
933 HEADER_ATT3 => header_att3,
934 HEADER_ATT4 => header_att4,
935 HEADER_ATT5 => header_att5,
936 HEADER_ATT6 => header_att6,
937 HEADER_ATT7 => header_att7,
938 HEADER_ATT8 => header_att8,
939 HEADER_ATT9 => header_att9,
940 HEADER_ATT10 => header_att10,
941 HEADER_ATT11 => header_att11,
942 HEADER_ATT12 => header_att12,
943 HEADER_ATT13 => header_att13,
944 HEADER_ATT14 => header_att14,
945 HEADER_ATT15 => header_att15,
946
947 LINE_ATT1 => line_att1,
948 LINE_ATT2 => line_att2,
949 LINE_ATT3 => line_att3,
950 LINE_ATT4 => line_att4,
951 LINE_ATT5 => line_att5,
952 LINE_ATT6 => line_att6,
953 LINE_ATT7 => line_att7,
954 LINE_ATT8 => line_att8,
955 LINE_ATT9 => line_att9,
956 LINE_ATT10 => line_att10,
957 LINE_ATT11 => line_att11,
958 LINE_ATT12 => line_att12,
959 LINE_ATT13 => line_att13,
960 LINE_ATT14 => line_att14,
961 LINE_ATT15 => line_att15,
962
963 SHIPMENT_ATT1 => shipment_att1,
964 SHIPMENT_ATT2 => shipment_att2,
965 SHIPMENT_ATT3 => shipment_att3,
966 SHIPMENT_ATT4 => shipment_att4,
967 SHIPMENT_ATT5 => shipment_att5,
968 SHIPMENT_ATT6 => shipment_att6,
969 SHIPMENT_ATT7 => shipment_att7,
970 SHIPMENT_ATT8 => shipment_att8,
971 SHIPMENT_ATT9 => shipment_att9,
972 SHIPMENT_ATT10 => shipment_att10,
973 SHIPMENT_ATT11 => shipment_att11,
974 SHIPMENT_ATT12 => shipment_att12,
975 SHIPMENT_ATT13 => shipment_att13,
976 SHIPMENT_ATT14 => shipment_att14,
977 SHIPMENT_ATT15 => shipment_att15,
978
979 DISTRIBUTION_ATT1 => distribution_att1,
980 DISTRIBUTION_ATT2 => distribution_att2,
981 DISTRIBUTION_ATT3 => distribution_att3,
982 DISTRIBUTION_ATT4 => distribution_att4,
983 DISTRIBUTION_ATT5 => distribution_att5,
984 DISTRIBUTION_ATT6 => distribution_att6,
985 DISTRIBUTION_ATT7 => distribution_att7,
986 DISTRIBUTION_ATT8 => distribution_att8,
987 DISTRIBUTION_ATT9 => distribution_att9,
988 DISTRIBUTION_ATT10 => distribution_att10,
989 DISTRIBUTION_ATT11 => distribution_att11,
990 DISTRIBUTION_ATT12 => distribution_att12,
991 DISTRIBUTION_ATT13 => distribution_att13,
992 DISTRIBUTION_ATT14 => distribution_att14,
993 DISTRIBUTION_ATT15 => distribution_att15,
994
995 WIP_ENTITY_ID => to_char(wip_entity_id),
996 WIP_ENTITY_TYPE => wip_entity_type,
997 WIP_LINE_ID => to_char(wip_line_id),
998 WIP_OPERATION_SEQ_NUM => to_char(wip_operation_seq_num),
999 WIP_REPETITIVE_SCHEDULE_ID => to_char(wip_repetitive_schedule_id),
1000 WIP_RESOURCE_SEQ_NUM => to_char(wip_resource_seq_num),
1001
1002 FB_FLEX_SEG => fb_flex_seg,
1003 FB_ERROR_MSG => fb_error_msg );
1004
1005 END IF;
1006
1007 x_progress := 'After calling PO_PO_' || accountType || '_ACCOUNT.BUILD:fb_flex_seg:' || fb_flex_seg || ' fb_error_msg:' || fb_error_msg;
1008 IF (g_po_wf_debug = 'Y') THEN
1009 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,x_progress);
1010 END IF;
1011
1012 return x_result_flag;
1013
1014 exception
1015 when others then
1016 wf_core.context('PO_WF_PO_FLEXBUILDER_UPGRADE','po_build_account',x_progress);
1017 IF (g_po_wf_debug = 'Y') THEN
1018 /* DEBUG */ PO_WF_DEBUG_PKG.insert_debug(itemtype,itemkey,'EXCEPTION raised in po_build_account procedure');
1019 END IF;
1020 raise;
1021
1022 end po_build_account;
1023
1024 /*****************************************************************************
1025 * Local/Private procedure that support the workflow APIs: *
1026 *****************************************************************************/
1027
1028 procedure Get_att(itemtype in varchar2, itemkey in varchar2, variable in out NOCOPY varchar2, l_aname in varchar2)
1029 is
1030 begin
1031
1032 variable := wf_engine.GetItemAttrText ( itemtype => itemtype,
1033 itemkey => itemkey,
1034 aname => l_aname);
1035
1036 end;
1037
1038 procedure Get_number_att(itemtype in varchar2, itemkey in varchar2, variable in out NOCOPY number,
1039 l_aname in varchar2)
1040 is
1041 begin
1042
1043 variable := wf_engine.GetItemAttrNumber ( itemtype => itemtype,
1044 itemkey => itemkey,
1045 aname => l_aname);
1046
1047 end;
1048
1049 procedure Get_date_att(itemtype in varchar2, itemkey in varchar2, variable in out NOCOPY date,
1050 l_aname in varchar2)
1051 is
1052 begin
1053
1054 variable := wf_engine.GetItemAttrDate ( itemtype => itemtype,
1055 itemkey => itemkey,
1056 aname => l_aname);
1057
1058 end;
1059
1060
1061 end PO_WF_PO_FLEXBUILDER_UPGRADE;