46:
47: IF (X_ALT = 1) THEN
48: -- Inventory valuation
49:
50: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT1');
51: L_WORKFLOW_FUNC_FLAG := 1;
52:
53: ELSIF (X_ALT = 2) THEN
54: -- Account
52:
53: ELSIF (X_ALT = 2) THEN
54: -- Account
55:
56: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT2');
57: L_WORKFLOW_FUNC_FLAG := 1;
58:
59: ELSIF (X_ALT = 3) THEN
60: -- Overhead absorption
58:
59: ELSIF (X_ALT = 3) THEN
60: -- Overhead absorption
61:
62: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT3');
63: L_WORKFLOW_FUNC_FLAG := 1;
64:
65: ELSIF (X_ALT = 4) THEN
66: -- Resource absorption
64:
65: ELSIF (X_ALT = 4) THEN
66: -- Resource absorption
67:
68: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT4');
69: L_WORKFLOW_FUNC_FLAG := 1;
70:
71: ELSIF (X_ALT = 5) THEN
72: -- Receiving inspection
70:
71: ELSIF (X_ALT = 5) THEN
72: -- Receiving inspection
73:
74: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT5');
75: L_WORKFLOW_FUNC_FLAG := 1;
76:
77: ELSIF (X_ALT = 6) THEN
78: -- PPV or rate variance
76:
77: ELSIF (X_ALT = 6) THEN
78: -- PPV or rate variance
79:
80: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT6');
81: L_WORKFLOW_FUNC_FLAG := 1;
82:
83: ELSIF (X_ALT = 7) THEN
84: -- WIP valuation
82:
83: ELSIF (X_ALT = 7) THEN
84: -- WIP valuation
85:
86: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT7');
87: L_WORKFLOW_FUNC_FLAG := 1;
88:
89: ELSIF (X_ALT = 8) THEN
90: -- WIP variance
88:
89: ELSIF (X_ALT = 8) THEN
90: -- WIP variance
91:
92: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT8');
93: L_WORKFLOW_FUNC_FLAG := 1;
94:
95: ELSIF (X_ALT = 9) THEN
96: -- Inter-org payables
94:
95: ELSIF (X_ALT = 9) THEN
96: -- Inter-org payables
97:
98: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT9');
99: L_WORKFLOW_FUNC_FLAG := 1;
100:
101: ELSIF (X_ALT = 10) THEN
102: -- Inter-org receivables
100:
101: ELSIF (X_ALT = 10) THEN
102: -- Inter-org receivables
103:
104: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT10');
105: L_WORKFLOW_FUNC_FLAG := 1;
106:
107: ELSIF (X_ALT = 11) THEN
108: -- Inter-org transfer credit
106:
107: ELSIF (X_ALT = 11) THEN
108: -- Inter-org transfer credit
109:
110: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT11');
111: L_WORKFLOW_FUNC_FLAG := 1;
112:
113: ELSIF (X_ALT = 12) THEN
114: -- Inter-org freight charge
112:
113: ELSIF (X_ALT = 12) THEN
114: -- Inter-org freight charge
115:
116: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT12');
117: L_WORKFLOW_FUNC_FLAG := 1;
118:
119: ELSIF (X_ALT = 13) THEN
120: -- Average cost variance
118:
119: ELSIF (X_ALT = 13) THEN
120: -- Average cost variance
121:
122: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT13');
123: L_WORKFLOW_FUNC_FLAG := 1;
124:
125: ELSIF (X_ALT = 14) THEN
126: -- Intransit inventory
124:
125: ELSIF (X_ALT = 14) THEN
126: -- Intransit inventory
127:
128: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT14');
129: L_WORKFLOW_FUNC_FLAG := 1;
130:
131: ELSIF (X_ALT = 15) THEN
132: -- Encumbrance reversal
130:
131: ELSIF (X_ALT = 15) THEN
132: -- Encumbrance reversal
133:
134: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT15');
135: L_WORKFLOW_FUNC_FLAG := 1;
136:
137: ELSIF (X_ALT = 30) THEN
138: /* Added for Transfer Pricing Project */
137: ELSIF (X_ALT = 30) THEN
138: /* Added for Transfer Pricing Project */
139: -- Profit in inventory
140:
141: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT30');
142: L_WORKFLOW_FUNC_FLAG := 1;
143:
144: ELSIF (X_ALT = 16) THEN
145: -- Accrual
143:
144: ELSIF (X_ALT = 16) THEN
145: -- Accrual
146:
147: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT16');
148: L_WORKFLOW_FUNC_FLAG := 1;
149:
150: ELSIF (X_ALT = 31) THEN
151: -- Clearing Account
149:
150: ELSIF (X_ALT = 31) THEN
151: -- Clearing Account
152:
153: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT31');
154: L_WORKFLOW_FUNC_FLAG := 1;
155:
156: ELSIF (X_ALT = 32) THEN
157: -- Retroactive Price Adjustment
155:
156: ELSIF (X_ALT = 32) THEN
157: -- Retroactive Price Adjustment
158:
159: wf_engine.CreateProcess(L_ITEMTYPE, L_ITEMKEY, 'STDALT32');
160: L_WORKFLOW_FUNC_FLAG := 1;
161:
162: END IF;
163:
162: END IF;
163:
164: IF ( L_WORKFLOW_FUNC_FLAG = 1 ) THEN
165:
166: wf_engine.SetItemAttrNumber(itemtype => L_ITEMTYPE,
167: itemkey => L_ITEMKEY,
168: aname => 'TXN_ID',
169: avalue => X_TXN_ID);
170:
167: itemkey => L_ITEMKEY,
168: aname => 'TXN_ID',
169: avalue => X_TXN_ID);
170:
171: wf_engine.SetItemAttrNumber(itemtype => L_ITEMTYPE,
172: itemkey => L_ITEMKEY,
173: aname => 'TXN_TYPE_ID',
174: avalue => X_TXN_TYPE_ID);
175:
172: itemkey => L_ITEMKEY,
173: aname => 'TXN_TYPE_ID',
174: avalue => X_TXN_TYPE_ID);
175:
176: wf_engine.SetItemAttrNumber(itemtype => L_ITEMTYPE,
177: itemkey => L_ITEMKEY,
178: aname => 'TXN_ACT_ID',
179: avalue => X_TXN_ACT_ID);
180:
177: itemkey => L_ITEMKEY,
178: aname => 'TXN_ACT_ID',
179: avalue => X_TXN_ACT_ID);
180:
181: wf_engine.SetItemAttrNumber(itemtype => L_ITEMTYPE,
182: itemkey => L_ITEMKEY,
183: aname => 'SRC_TYPE_ID',
184: avalue => X_TXN_SRC_TYPE_ID);
185:
182: itemkey => L_ITEMKEY,
183: aname => 'SRC_TYPE_ID',
184: avalue => X_TXN_SRC_TYPE_ID);
185:
186: wf_engine.SetItemAttrNumber(itemtype => L_ITEMTYPE,
187: itemkey => L_ITEMKEY,
188: aname => 'ITEM_ID',
189: avalue => X_ITEM_ID);
190:
187: itemkey => L_ITEMKEY,
188: aname => 'ITEM_ID',
189: avalue => X_ITEM_ID);
190:
191: wf_engine.SetItemAttrText(itemtype => L_ITEMTYPE,
192:
193: itemkey => L_ITEMKEY,
194:
195: aname => 'SUBINV',
194:
195: aname => 'SUBINV',
196: avalue => X_SUBINV);
197:
198: wf_engine.SetItemAttrNumber(itemtype => L_ITEMTYPE,
199:
200: itemkey => L_ITEMKEY,
201:
202: aname => 'CG_ID',
201:
202: aname => 'CG_ID',
203: avalue => X_CG_ID);
204:
205: wf_engine.SetItemAttrNumber(itemtype => L_ITEMTYPE,
206:
207: itemkey => L_ITEMKEY,
208:
209: aname => 'ORG_ID',
208:
209: aname => 'ORG_ID',
210: avalue => X_ORG_ID);
211:
212: wf_engine.SetItemAttrNumber(itemtype => L_ITEMTYPE,
213:
214: itemkey => L_ITEMKEY,
215:
216: aname => 'CE_ID',
215:
216: aname => 'CE_ID',
217: avalue => X_CE_ID);
218:
219: wf_engine.SetItemAttrNumber(itemtype => L_ITEMTYPE,
220:
221: itemkey => L_ITEMKEY,
222:
223: aname => 'RES_ID',
223: aname => 'RES_ID',
224: avalue => X_RES_ID);
225:
226:
227: wf_engine.StartProcess(L_ITEMTYPE, L_ITEMKEY);
228:
229: L_ACCT_NUM := wf_engine.GetItemAttrNumber(itemtype => L_ITEMTYPE,
230:
231: itemkey => L_ITEMKEY,
225:
226:
227: wf_engine.StartProcess(L_ITEMTYPE, L_ITEMKEY);
228:
229: L_ACCT_NUM := wf_engine.GetItemAttrNumber(itemtype => L_ITEMTYPE,
230:
231: itemkey => L_ITEMKEY,
232:
233: aname => 'ACCT');
232:
233: aname => 'ACCT');
234:
235:
236: X_ERR_NUM := wf_engine.GetItemAttrNumber(itemtype => L_ITEMTYPE,
237:
238: itemkey => L_ITEMKEY,
239:
240: aname => 'ERR_NUM');
239:
240: aname => 'ERR_NUM');
241:
242:
243: X_ERR_CODE := wf_engine.GetItemAttrText(itemtype => L_ITEMTYPE,
244:
245: itemkey => L_ITEMKEY,
246:
247: aname => 'ERR_CODE');
245: itemkey => L_ITEMKEY,
246:
247: aname => 'ERR_CODE');
248:
249: X_ERR_MSG := wf_engine.GetItemAttrText(itemtype => L_ITEMTYPE,
250:
251: itemkey => L_ITEMKEY,
252:
253: aname => 'ERR_MSG');
282: IS
283: L_CE NUMBER;
284: BEGIN
285: IF (FUNCMODE = 'RUN') THEN
286: L_CE := wf_engine.GetItemAttrNumber(itemtype,itemkey,'CE_ID');
287:
288: if (L_CE = 1) then
289: result := 'COMPLETE:1';
290: elsif (L_CE = 2) then
310:
311: EXCEPTION
312: WHEN OTHERS THEN
313: wf_core.context('CSTPSCWF','GET_STD_CE',itemtype,itemkey,TO_CHAR(actid),funcmode);
314: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
315: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
316: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
317: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_CE' || substrb(SQLERRM,1,150));
318: result := 'COMPLETE:FAILURE';
311: EXCEPTION
312: WHEN OTHERS THEN
313: wf_core.context('CSTPSCWF','GET_STD_CE',itemtype,itemkey,TO_CHAR(actid),funcmode);
314: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
315: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
316: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
317: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_CE' || substrb(SQLERRM,1,150));
318: result := 'COMPLETE:FAILURE';
319: RAISE;
312: WHEN OTHERS THEN
313: wf_core.context('CSTPSCWF','GET_STD_CE',itemtype,itemkey,TO_CHAR(actid),funcmode);
314: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
315: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
316: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
317: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_CE' || substrb(SQLERRM,1,150));
318: result := 'COMPLETE:FAILURE';
319: RAISE;
320:
313: wf_core.context('CSTPSCWF','GET_STD_CE',itemtype,itemkey,TO_CHAR(actid),funcmode);
314: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
315: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
316: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
317: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_CE' || substrb(SQLERRM,1,150));
318: result := 'COMPLETE:FAILURE';
319: RAISE;
320:
321: END; /* GET_STD_CE */
337: BEGIN
338: IF (FUNCMODE = 'RUN') THEN
339: result := 'COMPLETE:-1';
340:
341: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',-1);
342:
343: RETURN;
344: END IF;
345:
352: END IF;
353: EXCEPTION
354: WHEN OTHERS THEN
355: wf_core.context('CSTPSCWF','GET_DEF_ACC',itemtype,itemkey,TO_CHAR(actid),funcmode);
356: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
357: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
358: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
359: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','CSTPSCWF.GET_DEF_ACC' || substrb(SQLERRM,1,150));
360: result := 'COMPLETE:FAILURE';
353: EXCEPTION
354: WHEN OTHERS THEN
355: wf_core.context('CSTPSCWF','GET_DEF_ACC',itemtype,itemkey,TO_CHAR(actid),funcmode);
356: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
357: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
358: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
359: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','CSTPSCWF.GET_DEF_ACC' || substrb(SQLERRM,1,150));
360: result := 'COMPLETE:FAILURE';
361: RAISE;
354: WHEN OTHERS THEN
355: wf_core.context('CSTPSCWF','GET_DEF_ACC',itemtype,itemkey,TO_CHAR(actid),funcmode);
356: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
357: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
358: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
359: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','CSTPSCWF.GET_DEF_ACC' || substrb(SQLERRM,1,150));
360: result := 'COMPLETE:FAILURE';
361: RAISE;
362:
355: wf_core.context('CSTPSCWF','GET_DEF_ACC',itemtype,itemkey,TO_CHAR(actid),funcmode);
356: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
357: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
358: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
359: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','CSTPSCWF.GET_DEF_ACC' || substrb(SQLERRM,1,150));
360: result := 'COMPLETE:FAILURE';
361: RAISE;
362:
363: END; /* GET_DEF_ACC */
383: L_SUBINV varchar2(20);
384: BEGIN
385: IF (FUNCMODE = 'RUN') THEN
386:
387: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
388: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
389: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
390:
391: SELECT nvl(mca.material_account,-1) into L_ACCOUNT
384: BEGIN
385: IF (FUNCMODE = 'RUN') THEN
386:
387: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
388: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
389: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
390:
391: SELECT nvl(mca.material_account,-1) into L_ACCOUNT
392: FROM MTL_CATEGORY_ACCOUNTS mca,
385: IF (FUNCMODE = 'RUN') THEN
386:
387: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
388: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
389: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
390:
391: SELECT nvl(mca.material_account,-1) into L_ACCOUNT
392: FROM MTL_CATEGORY_ACCOUNTS mca,
393: MTL_ITEM_CATEGORIES mic,
400: AND mca.subinventory_code = L_SUBINV
401: AND mic.organization_id = L_ORG_ID
402: AND mic.inventory_item_id = L_ITEM_ID;
403:
404: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',L_ACCOUNT);
405:
406: result := 'COMPLETE:SUCCESS';
407: RETURN;
408: END IF;
407: RETURN;
408: END IF;
409:
410: IF (funcmode = 'CANCEL') THEN
411: result := wf_engine.eng_completed;
412: RETURN;
413:
414: ELSE
415:
422: EXCEPTION
423:
424: WHEN NO_DATA_FOUND THEN
425: L_ACCOUNT := -1;
426: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',-1);
427: result := 'COMPLETE:SUCCESS';
428: RETURN;
429:
430: WHEN OTHERS THEN
428: RETURN;
429:
430: WHEN OTHERS THEN
431: wf_core.context('CSTPSCWF','GET_STD_MTL_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
432: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
433: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
434: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
435: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','CSTPSCWF.GET_STD_MTL_PLA' || substrb(SQLERRM,1,150));
436: result := 'COMPLETE:FAILURE';
429:
430: WHEN OTHERS THEN
431: wf_core.context('CSTPSCWF','GET_STD_MTL_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
432: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
433: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
434: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
435: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','CSTPSCWF.GET_STD_MTL_PLA' || substrb(SQLERRM,1,150));
436: result := 'COMPLETE:FAILURE';
437: RAISE;
430: WHEN OTHERS THEN
431: wf_core.context('CSTPSCWF','GET_STD_MTL_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
432: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
433: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
434: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
435: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','CSTPSCWF.GET_STD_MTL_PLA' || substrb(SQLERRM,1,150));
436: result := 'COMPLETE:FAILURE';
437: RAISE;
438: END; /* GET_STD_MTL_PLA */
431: wf_core.context('CSTPSCWF','GET_STD_MTL_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
432: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
433: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
434: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
435: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','CSTPSCWF.GET_STD_MTL_PLA' || substrb(SQLERRM,1,150));
436: result := 'COMPLETE:FAILURE';
437: RAISE;
438: END; /* GET_STD_MTL_PLA */
439:
458: L_SUBINV varchar2(20);
459: BEGIN
460: IF (FUNCMODE = 'RUN') THEN
461:
462: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
463: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
464: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
465:
466: SELECT nvl(mca.material_overhead_account,-1) into L_ACCOUNT
459: BEGIN
460: IF (FUNCMODE = 'RUN') THEN
461:
462: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
463: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
464: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
465:
466: SELECT nvl(mca.material_overhead_account,-1) into L_ACCOUNT
467: FROM MTL_CATEGORY_ACCOUNTS mca,
460: IF (FUNCMODE = 'RUN') THEN
461:
462: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
463: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
464: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
465:
466: SELECT nvl(mca.material_overhead_account,-1) into L_ACCOUNT
467: FROM MTL_CATEGORY_ACCOUNTS mca,
468: MTL_ITEM_CATEGORIES mic,
475: AND mca.subinventory_code = L_SUBINV
476: AND mic.organization_id = L_ORG_ID
477: AND mic.inventory_item_id = L_ITEM_ID;
478:
479: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',L_ACCOUNT);
480:
481: result := 'COMPLETE:SUCCESS';
482: RETURN;
483: END IF;
482: RETURN;
483: END IF;
484:
485: IF (funcmode = 'CANCEL') THEN
486: result := wf_engine.eng_completed;
487: RETURN;
488:
489: ELSE
490:
497: EXCEPTION
498:
499: WHEN NO_DATA_FOUND THEN
500: L_ACCOUNT := -1;
501: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',-1);
502: result := 'COMPLETE:SUCCESS';
503: RETURN;
504:
505:
504:
505:
506: WHEN OTHERS THEN
507: wf_core.context('CSTPSCWF','GET_STD_MO_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
508: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
509: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
510: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
511: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_MO_PLA' || substrb(SQLERRM,1,150));
512: result := 'COMPLETE:FAILURE';
505:
506: WHEN OTHERS THEN
507: wf_core.context('CSTPSCWF','GET_STD_MO_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
508: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
509: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
510: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
511: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_MO_PLA' || substrb(SQLERRM,1,150));
512: result := 'COMPLETE:FAILURE';
513: RAISE;
506: WHEN OTHERS THEN
507: wf_core.context('CSTPSCWF','GET_STD_MO_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
508: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
509: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
510: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
511: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_MO_PLA' || substrb(SQLERRM,1,150));
512: result := 'COMPLETE:FAILURE';
513: RAISE;
514:
507: wf_core.context('CSTPSCWF','GET_STD_MO_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
508: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
509: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
510: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
511: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_MO_PLA' || substrb(SQLERRM,1,150));
512: result := 'COMPLETE:FAILURE';
513: RAISE;
514:
515: END; /* GET_STD_MO_PLA */
535: L_SUBINV varchar2(20);
536: BEGIN
537: IF (FUNCMODE = 'RUN') THEN
538:
539: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
540: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
541: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
542:
543: SELECT nvl(mca.resource_account,-1) into L_ACCOUNT
536: BEGIN
537: IF (FUNCMODE = 'RUN') THEN
538:
539: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
540: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
541: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
542:
543: SELECT nvl(mca.resource_account,-1) into L_ACCOUNT
544: FROM MTL_CATEGORY_ACCOUNTS mca,
537: IF (FUNCMODE = 'RUN') THEN
538:
539: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
540: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
541: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
542:
543: SELECT nvl(mca.resource_account,-1) into L_ACCOUNT
544: FROM MTL_CATEGORY_ACCOUNTS mca,
545: MTL_ITEM_CATEGORIES mic,
552: AND mca.subinventory_code = L_SUBINV
553: AND mic.organization_id = L_ORG_ID
554: AND mic.inventory_item_id = L_ITEM_ID;
555:
556: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',L_ACCOUNT);
557:
558: result := 'COMPLETE:SUCCESS';
559: RETURN;
560: END IF;
559: RETURN;
560: END IF;
561:
562: IF (funcmode = 'CANCEL') THEN
563: result := wf_engine.eng_completed;
564: RETURN;
565:
566: ELSE
567:
574: EXCEPTION
575:
576: WHEN NO_DATA_FOUND THEN
577: L_ACCOUNT := -1;
578: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',-1);
579: result := 'COMPLETE:SUCCESS';
580: RETURN;
581:
582:
581:
582:
583: WHEN OTHERS THEN
584: wf_core.context('CSTPSCWF','GET_STD_RES_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
585: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
586: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
587: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
588: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_RES_PLA' || substrb(SQLERRM,1,150));
589: result := 'COMPLETE:FAILURE';
582:
583: WHEN OTHERS THEN
584: wf_core.context('CSTPSCWF','GET_STD_RES_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
585: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
586: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
587: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
588: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_RES_PLA' || substrb(SQLERRM,1,150));
589: result := 'COMPLETE:FAILURE';
590: RAISE;
583: WHEN OTHERS THEN
584: wf_core.context('CSTPSCWF','GET_STD_RES_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
585: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
586: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
587: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
588: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_RES_PLA' || substrb(SQLERRM,1,150));
589: result := 'COMPLETE:FAILURE';
590: RAISE;
591: END; /* GET_STD_RES_PLA */
584: wf_core.context('CSTPSCWF','GET_STD_RES_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
585: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
586: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
587: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
588: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_RES_PLA' || substrb(SQLERRM,1,150));
589: result := 'COMPLETE:FAILURE';
590: RAISE;
591: END; /* GET_STD_RES_PLA */
592:
611: L_SUBINV varchar2(20);
612: BEGIN
613: IF (FUNCMODE = 'RUN') THEN
614:
615: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
616: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
617: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
618:
619:
612: BEGIN
613: IF (FUNCMODE = 'RUN') THEN
614:
615: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
616: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
617: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
618:
619:
620: SELECT nvl(mca.outside_processing_account,-1) into L_ACCOUNT
613: IF (FUNCMODE = 'RUN') THEN
614:
615: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
616: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
617: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
618:
619:
620: SELECT nvl(mca.outside_processing_account,-1) into L_ACCOUNT
621: FROM MTL_CATEGORY_ACCOUNTS mca,
629: AND mca.subinventory_code = L_SUBINV
630: AND mic.organization_id = L_ORG_ID
631: AND mic.inventory_item_id = L_ITEM_ID;
632:
633: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',L_ACCOUNT);
634:
635: result := 'COMPLETE:SUCCESS';
636: RETURN;
637: END IF;
636: RETURN;
637: END IF;
638:
639: IF (funcmode = 'CANCEL') THEN
640: result := wf_engine.eng_completed;
641: RETURN;
642:
643: ELSE
644:
651: EXCEPTION
652:
653: WHEN NO_DATA_FOUND THEN
654: L_ACCOUNT := -1;
655: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',-1);
656: result := 'COMPLETE:SUCCESS';
657: RETURN;
658:
659:
658:
659:
660: WHEN OTHERS THEN
661: wf_core.context('CSTPSCWF','GET_STD_OSP_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
662: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
663: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
664: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
665: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_OSP_PLA' || substrb(SQLERRM,1,150));
666: result := 'COMPLETE:FAILURE';
659:
660: WHEN OTHERS THEN
661: wf_core.context('CSTPSCWF','GET_STD_OSP_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
662: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
663: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
664: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
665: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_OSP_PLA' || substrb(SQLERRM,1,150));
666: result := 'COMPLETE:FAILURE';
667: RAISE;
660: WHEN OTHERS THEN
661: wf_core.context('CSTPSCWF','GET_STD_OSP_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
662: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
663: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
664: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
665: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_OSP_PLA' || substrb(SQLERRM,1,150));
666: result := 'COMPLETE:FAILURE';
667: RAISE;
668: END; /* GET_STD_OSP_PLA */
661: wf_core.context('CSTPSCWF','GET_STD_OSP_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
662: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
663: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
664: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
665: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_OSP_PLA' || substrb(SQLERRM,1,150));
666: result := 'COMPLETE:FAILURE';
667: RAISE;
668: END; /* GET_STD_OSP_PLA */
669:
688: L_SUBINV varchar(20);
689: BEGIN
690: IF (FUNCMODE = 'RUN') THEN
691:
692: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
693: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
694: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
695:
696:
689: BEGIN
690: IF (FUNCMODE = 'RUN') THEN
691:
692: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
693: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
694: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
695:
696:
697: SELECT nvl(mca.overhead_account,-1) into L_ACCOUNT
690: IF (FUNCMODE = 'RUN') THEN
691:
692: L_ORG_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ORG_ID');
693: L_ITEM_ID := wf_engine.GetItemAttrNumber(itemtype,itemkey,'ITEM_ID');
694: L_SUBINV := wf_engine.GetItemAttrText(itemtype,itemkey,'SUBINV');
695:
696:
697: SELECT nvl(mca.overhead_account,-1) into L_ACCOUNT
698: FROM MTL_CATEGORY_ACCOUNTS mca,
706: AND mca.subinventory_code = L_SUBINV
707: AND mic.organization_id = L_ORG_ID
708: AND mic.inventory_item_id = L_ITEM_ID;
709:
710: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',L_ACCOUNT);
711:
712: result := 'COMPLETE:SUCCESS';
713: RETURN;
714: END IF;
713: RETURN;
714: END IF;
715:
716: IF (funcmode = 'CANCEL') THEN
717: result := wf_engine.eng_completed;
718: RETURN;
719:
720: ELSE
721:
728: EXCEPTION
729:
730: WHEN NO_DATA_FOUND THEN
731: L_ACCOUNT := -1;
732: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',-1);
733: result := 'COMPLETE:SUCCESS';
734: RETURN;
735:
736:
735:
736:
737: WHEN OTHERS THEN
738: wf_core.context('CSTPSCWF','GET_STD_OVH_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
739: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
740: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
741: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
742: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_OVH_PLA' || substrb(SQLERRM,1,150));
743: result := 'COMPLETE:FAILURE';
736:
737: WHEN OTHERS THEN
738: wf_core.context('CSTPSCWF','GET_STD_OVH_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
739: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
740: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
741: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
742: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_OVH_PLA' || substrb(SQLERRM,1,150));
743: result := 'COMPLETE:FAILURE';
744: RAISE;
737: WHEN OTHERS THEN
738: wf_core.context('CSTPSCWF','GET_STD_OVH_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
739: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
740: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
741: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
742: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_OVH_PLA' || substrb(SQLERRM,1,150));
743: result := 'COMPLETE:FAILURE';
744: RAISE;
745: END; /* GET_STD_OVH_PLA */
738: wf_core.context('CSTPSCWF','GET_STD_OVH_PLA',itemtype,itemkey,TO_CHAR(actid),funcmode);
739: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ACCT',0);
740: wf_engine.SetItemAttrNumber(itemtype,itemkey,'ERR_NUM',-1);
741: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_CODE',TO_CHAR(SQLCODE));
742: wf_engine.SetItemAttrText(itemtype,itemkey,'ERR_MSG','Error in CSTPSCWF.GET_STD_OVH_PLA' || substrb(SQLERRM,1,150));
743: result := 'COMPLETE:FAILURE';
744: RAISE;
745: END; /* GET_STD_OVH_PLA */
746: