3:
4:
5:
6: G_PKG_NAME CONSTANT VARCHAR2(30) := 'Ozf_Acct_Generator';
7: G_DEBUG_HIGH_ON BOOLEAN := FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_debug_high);
8:
9: -- Start of Comments
10: -- API name ams_acct_generator
11: -- Type Private
171:
172: --DBMS_OUTPUT.PUT_LINE('Entering the api gl_post_account');
173: IF p_account_type = 'ACCRUAL_LIABILITY' THEN
174: IF l_fund_accrual_liability is null THEN
175: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
176: FND_MESSAGE.set_name('OZF', 'OZF_GL_NO_ACC_LIAB_ACCT');
177: FND_MSG_PUB.add;
178: END IF;
179: x_return_status := FND_API.g_ret_sts_error;
173: IF p_account_type = 'ACCRUAL_LIABILITY' THEN
174: IF l_fund_accrual_liability is null THEN
175: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
176: FND_MESSAGE.set_name('OZF', 'OZF_GL_NO_ACC_LIAB_ACCT');
177: FND_MSG_PUB.add;
178: END IF;
179: x_return_status := FND_API.g_ret_sts_error;
180: ELSE
181: l_post_account := l_fund_accrual_liability;
181: l_post_account := l_fund_accrual_liability;
182: END IF;
183: ELSIF p_account_type = 'EXPENSE ACCOUNT' THEN
184: IF l_fund_expense_account is null THEN
185: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
186: FND_MESSAGE.set_name('OZF', 'OZF_GL_NO_EXP_ACCT');
187: FND_MSG_PUB.add;
188: END IF;
189: x_return_status := FND_API.g_ret_sts_error;
183: ELSIF p_account_type = 'EXPENSE ACCOUNT' THEN
184: IF l_fund_expense_account is null THEN
185: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
186: FND_MESSAGE.set_name('OZF', 'OZF_GL_NO_EXP_ACCT');
187: FND_MSG_PUB.add;
188: END IF;
189: x_return_status := FND_API.g_ret_sts_error;
190: ELSE
191: l_post_account := l_fund_expense_account;
191: l_post_account := l_fund_expense_account;
192: END IF;
193: ELSIF p_account_type = 'VEN_CLEARING' THEN
194: IF l_ven_clearing is null THEN
195: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
196: FND_MESSAGE.set_name('OZF', 'OZF_GL_NO_VEN_CLEAR_ACCT');
197: FND_MSG_PUB.add;
198: END IF;
199: x_return_status := FND_API.g_ret_sts_error;
193: ELSIF p_account_type = 'VEN_CLEARING' THEN
194: IF l_ven_clearing is null THEN
195: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
196: FND_MESSAGE.set_name('OZF', 'OZF_GL_NO_VEN_CLEAR_ACCT');
197: FND_MSG_PUB.add;
198: END IF;
199: x_return_status := FND_API.g_ret_sts_error;
200: ELSE
201: l_post_account := l_ven_clearing;
201: l_post_account := l_ven_clearing;
202: END IF;
203: ELSIF p_account_type = 'REC_CLEARING' THEN
204: IF l_rec_clearing is null THEN
205: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
206: FND_MESSAGE.set_name('OZF', 'OZF_GL_NO_REC_CLEAR_ACCT');
207: FND_MSG_PUB.add;
208: END IF;
209: x_return_status := FND_API.g_ret_sts_error;
203: ELSIF p_account_type = 'REC_CLEARING' THEN
204: IF l_rec_clearing is null THEN
205: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
206: FND_MESSAGE.set_name('OZF', 'OZF_GL_NO_REC_CLEAR_ACCT');
207: FND_MSG_PUB.add;
208: END IF;
209: x_return_status := FND_API.g_ret_sts_error;
210: ELSE
211: l_post_account := l_rec_clearing;
210: ELSE
211: l_post_account := l_rec_clearing;
212: END IF;
213: ELSE
214: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
215: FND_MESSAGE.set_name('OZF', 'OZF_GL_INVALID_ACCT_EVENT');
216: FND_MSG_PUB.add;
217: END IF;
218: l_post_account := null;
212: END IF;
213: ELSE
214: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
215: FND_MESSAGE.set_name('OZF', 'OZF_GL_INVALID_ACCT_EVENT');
216: FND_MSG_PUB.add;
217: END IF;
218: l_post_account := null;
219: END IF;
220:
217: END IF;
218: l_post_account := null;
219: END IF;
220:
221: FND_MSG_PUB.Count_And_Get
222: (p_count => x_msg_count,
223: p_data => x_msg_data);
224:
225: IF G_DEBUG_HIGH_ON THEN
230: EXCEPTION
231: WHEN NO_DATA_FOUND THEN
232: l_post_account := 0;
233: -- Standard call to get message count and if count=1, get the message
234: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
235: FND_MESSAGE.SET_NAME('OZF','OZF_INVALID_ACCOUNT');
236: FND_MESSAGE.SET_TOKEN('CCID',l_post_account);
237: FND_MSG_PUB.ADD;
238: END IF;
233: -- Standard call to get message count and if count=1, get the message
234: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
235: FND_MESSAGE.SET_NAME('OZF','OZF_INVALID_ACCOUNT');
236: FND_MESSAGE.SET_TOKEN('CCID',l_post_account);
237: FND_MSG_PUB.ADD;
238: END IF;
239: FND_MSG_PUB.Count_And_Get
240: (p_count => x_msg_count,
241: p_data => x_msg_data);
235: FND_MESSAGE.SET_NAME('OZF','OZF_INVALID_ACCOUNT');
236: FND_MESSAGE.SET_TOKEN('CCID',l_post_account);
237: FND_MSG_PUB.ADD;
238: END IF;
239: FND_MSG_PUB.Count_And_Get
240: (p_count => x_msg_count,
241: p_data => x_msg_data);
242: x_return_status := FND_API.g_ret_sts_error;
243: RETURN l_post_account;
243: RETURN l_post_account;
244: WHEN FND_API.G_EXC_ERROR THEN
245: l_post_account := 0;
246: -- Standard call to get message count and if count=1, get the message
247: FND_MSG_PUB.Count_And_Get (
248: p_encoded => FND_API.G_FALSE,
249: p_count => x_msg_count,
250: p_data => x_msg_data);
251: x_return_status := FND_API.g_ret_sts_error;
252: RETURN l_post_account;
253: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
254: l_post_account := 0;
255: -- Standard call to get message count and if count=1, get the message
256: FND_MSG_PUB.Count_And_Get (
257: p_encoded => FND_API.G_FALSE,
258: p_count => x_msg_count,
259: p_data => x_msg_data);
260: x_return_status := FND_API.g_ret_sts_unexp_error;
259: p_data => x_msg_data);
260: x_return_status := FND_API.g_ret_sts_unexp_error;
261: RETURN l_post_account;
262: WHEN OTHERS THEN
263: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
264: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
265: END IF;
266: l_post_account := 0;
267: -- Standard call to get message count and if count=1, get the message
260: x_return_status := FND_API.g_ret_sts_unexp_error;
261: RETURN l_post_account;
262: WHEN OTHERS THEN
263: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
264: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
265: END IF;
266: l_post_account := 0;
267: -- Standard call to get message count and if count=1, get the message
268: FND_MSG_PUB.Count_And_Get (
264: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
265: END IF;
266: l_post_account := 0;
267: -- Standard call to get message count and if count=1, get the message
268: FND_MSG_PUB.Count_And_Get (
269: p_encoded => FND_API.G_FALSE,
270: p_count => x_msg_count,
271: p_data => x_msg_data);
272: RETURN l_post_account;
415: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
416: END IF;
417: --Initialize message list if p_init_msg_list is TRUE.
418: IF FND_API.To_Boolean (p_init_msg_list) THEN
419: FND_MSG_PUB.initialize;
420: END IF;
421: -- Initialize API return status to sucess
422: x_return_status := FND_API.G_RET_STS_SUCCESS;
423:
438: FETCH chart_of_acct_csr INTO l_chart_of_accounts_id;
439: CLOSE chart_of_acct_csr;
440:
441: IF l_chart_of_accounts_id is null THEN
442: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
443: FND_MESSAGE.SET_NAME('OZF','OZF_GL_CHART_OF_ACCT_MISSING');
444: FND_MESSAGE.SET_TOKEN('BUDGET',p_budget_id);
445: END IF;
446: RAISE FND_API.G_EXC_ERROR;
524: l_inventory_item_id,
525: l_item_type_code;
526: CLOSE line_detail_csr;
527: IF l_header_id is null THEN
528: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
529: FND_MESSAGE.SET_NAME('OZF','OZF_GL_HEADER_DETAIL_MISSING');
530: FND_MESSAGE.SET_TOKEN('LINE_ID',l_line_id);
531: FND_MSG_PUB.ADD;
532: END IF;
527: IF l_header_id is null THEN
528: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
529: FND_MESSAGE.SET_NAME('OZF','OZF_GL_HEADER_DETAIL_MISSING');
530: FND_MESSAGE.SET_TOKEN('LINE_ID',l_line_id);
531: FND_MSG_PUB.ADD;
532: END IF;
533: RAISE FND_API.G_EXC_ERROR;
534: END IF;
535:
535:
536: IF l_ship_from_org_id IS NULL THEN
537: -- 19-JUL-2004 yizhang: bill only orders do not have ship from org
538: /*
539: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
540: FND_MESSAGE.SET_NAME('OZF','OZF_WAREHOUSE_MISSING');
541: FND_MESSAGE.SET_TOKEN('LINE_ID',l_line_id);
542: FND_MSG_PUB.ADD;
543: END IF;
538: /*
539: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
540: FND_MESSAGE.SET_NAME('OZF','OZF_WAREHOUSE_MISSING');
541: FND_MESSAGE.SET_TOKEN('LINE_ID',l_line_id);
542: FND_MSG_PUB.ADD;
543: END IF;
544: RAISE FND_API.G_EXC_ERROR;
545: */
546: l_ship_from_org_id := l_org_id;
628: l_sold_to_org_id := p_cust_account_id;
629: END IF; -- order line is not passed
630:
631: /* Initialize the workflow item attributes */
632: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW) THEN
633: FND_MESSAGE.SET_NAME('OZF','INITIALIZE_WORK_FLOW');
634: END IF;
635:
636: l_itemkey := Fnd_Flex_Workflow.INITIALIZE
792: ELSE
793: IF G_DEBUG_HIGH_ON THEN
794: OZF_UTILITY_PVT.debug_message('Error in OZFACCTG WF'||'-'||x_return_ccid);
795: END IF;
796: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
797: FND_MESSAGE.SET_NAME('OZF','OZF_GL_ACC_GEN_FAILED');
798: FND_MSG_PUB.ADD;
799: END IF;
800: x_return_status := FND_API.G_RET_STS_ERROR;
794: OZF_UTILITY_PVT.debug_message('Error in OZFACCTG WF'||'-'||x_return_ccid);
795: END IF;
796: IF FND_MSG_PUB.Check_Msg_level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
797: FND_MESSAGE.SET_NAME('OZF','OZF_GL_ACC_GEN_FAILED');
798: FND_MSG_PUB.ADD;
799: END IF;
800: x_return_status := FND_API.G_RET_STS_ERROR;
801: END IF;
802: END IF;
804: IF G_DEBUG_HIGH_ON THEN
805: OZF_UTILITY_PVT.debug_message('Private Api: ' || l_api_name || ' END');
806: END IF;
807: --Standard call to get message count and if count=1, get the message
808: FND_MSG_PUB.Count_And_Get (
809: p_encoded => FND_API.G_FALSE,
810: p_count => x_msg_count,
811: p_data => x_msg_data
812: );
812: );
813: EXCEPTION
814: WHEN NO_DATA_FOUND THEN
815: x_return_status := FND_API.G_RET_STS_ERROR;
816: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
817: FND_MESSAGE.SET_NAME('OZF','OZF_COGS_NOT_FOUND');
818: FND_MESSAGE.SET_TOKEN('LINE_ID',l_line_id);
819: FND_MSG_PUB.ADD;
820: END IF;
815: x_return_status := FND_API.G_RET_STS_ERROR;
816: IF FND_MSG_PUB.check_msg_level(FND_MSG_PUB.g_msg_lvl_error) THEN
817: FND_MESSAGE.SET_NAME('OZF','OZF_COGS_NOT_FOUND');
818: FND_MESSAGE.SET_TOKEN('LINE_ID',l_line_id);
819: FND_MSG_PUB.ADD;
820: END IF;
821: FND_MSG_PUB.Count_And_Get (
822: p_encoded => FND_API.G_FALSE,
823: p_count => x_msg_count,
817: FND_MESSAGE.SET_NAME('OZF','OZF_COGS_NOT_FOUND');
818: FND_MESSAGE.SET_TOKEN('LINE_ID',l_line_id);
819: FND_MSG_PUB.ADD;
820: END IF;
821: FND_MSG_PUB.Count_And_Get (
822: p_encoded => FND_API.G_FALSE,
823: p_count => x_msg_count,
824: p_data => x_msg_data
825: );
825: );
826: WHEN FND_API.G_EXC_ERROR THEN
827: x_return_status := FND_API.G_RET_STS_ERROR;
828: -- Standard call to get message count and if count=1, get the message
829: FND_MSG_PUB.Count_And_Get (
830: p_encoded => FND_API.G_FALSE,
831: p_count => x_msg_count,
832: p_data => x_msg_data
833: );
833: );
834: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
835: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
836: -- Standard call to get message count and if count=1, get the message
837: FND_MSG_PUB.Count_And_Get (
838: p_encoded => FND_API.G_FALSE,
839: p_count => x_msg_count,
840: p_data => x_msg_data
841: );
840: p_data => x_msg_data
841: );
842: WHEN OTHERS THEN
843: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
844: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
845: THEN
846: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
847: END IF;
848: -- Standard call to get message count and if count=1, get the message
842: WHEN OTHERS THEN
843: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
844: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
845: THEN
846: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
847: END IF;
848: -- Standard call to get message count and if count=1, get the message
849: FND_MSG_PUB.Count_And_Get (
850: p_encoded => FND_API.G_FALSE,
845: THEN
846: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
847: END IF;
848: -- Standard call to get message count and if count=1, get the message
849: FND_MSG_PUB.Count_And_Get (
850: p_encoded => FND_API.G_FALSE,
851: p_count => x_msg_count,
852: p_data => x_msg_data
853: );