1: PACKAGE BODY OE_CNCL_VALIDATE_LINE AS
2: /* $Header: OEXVCLNB.pls 120.10.12010000.2 2010/03/03 00:59:51 smusanna ship $ */
3:
4: -- Global constant holding the package name
5:
2: /* $Header: OEXVCLNB.pls 120.10.12010000.2 2010/03/03 00:59:51 smusanna ship $ */
3:
4: -- Global constant holding the package name
5:
6: G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_CNCL_Validate_Line';
7:
8: -- LOCAL PROCEDURES
9:
10: -- Check_Book_Reqd_Attributes
22: l_line_type_rec OE_Order_Cache.Line_Type_Rec_Type;
23: l_item_type_code VARCHAR2(30);
24: BEGIN
25:
26: OE_DEBUG_PUB.Add('Entering OE_CNCL_VALIDATE_LINE.Check_Book_Reqd_Attributes',1);
27: -- Check for fields required on a booked order line
28:
29: IF p_line_rec.sold_to_org_id IS NULL THEN
30: x_return_status := FND_API.G_RET_STS_ERROR;
243: OE_MSG_PUB.ADD;
244: END IF;
245: END IF;
246:
247: OE_DEBUG_PUB.Add('Entering OE_CNCL_VALIDATE_LINE.Check_Book_Reqd_Attributes',1);
248:
249: EXCEPTION
250: WHEN OTHERS THEN
251: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
290: l_validated_quantity NUMBER;
291: l_primary_quantity NUMBER;
292: l_qty_return_status VARCHAR2(1);
293: BEGIN
294: OE_DEBUG_PUB.Add('Entering OE_CNCL_VALIDATE_LINE.Validate_Decimal_Quantity',1);
295: -- validate input quantity
296: IF (p_input_quantity is not null AND
297: p_input_quantity <> FND_API.G_MISS_NUM) THEN
298:
340: END IF; -- item_type_code is null
341: END IF; -- if not decimal qty
342: END IF; -- quantity is null
343:
344: OE_DEBUG_PUB.Add('Exiting OE_CNCL_VALIDATE_LINE.Validate_Decimal_Quantity',1);
345: END Validate_Decimal_Quantity;
346:
347:
348: Procedure Validate_Line_Type(p_line_rec IN oe_order_pub.line_rec_type)
381:
382:
383: BEGIN
384:
385: OE_DEBUG_PUB.Add('Entering OE_CNCL_VALIDATE_LINE.Validate_Line_Type',1);
386:
387: IF p_line_rec.ITEM_TYPE_CODE = OE_GLOBALS.G_ITEM_CONFIG THEN
388:
389: l_new_wf_item_type := OE_Order_WF_Util.get_wf_item_type(p_line_rec);
406: END IF;
407:
408: END IF;
409:
410: OE_DEBUG_PUB.Add('Exiting OE_CNCL_VALIDATE_LINE.Validate_Line_Type',1);
411: EXCEPTION
412: WHEN NO_DATA_FOUND THEN
413: FND_MESSAGE.SET_NAME('ONT','OE_FLOW_CNT_CHANGE');
414: OE_MSG_PUB.ADD;
437: IS
438: l_validate VARCHAR2(1) := 'Y';
439: l_dummy VARCHAR2(10);
440: BEGIN
441: OE_DEBUG_PUB.Add('Entering OE_CNCL_VALIDATE_LINE.Validate_Receiving_Org',1);
442: SELECT null
443: INTO l_dummy
444: FROM mtl_system_items msi,
445: org_organization_definitions org
449: AND org.set_of_books_id= ( SELECT fsp.set_of_books_id
450: FROM financials_system_parameters fsp)
451: AND ROWNUM=1 ;
452:
453: OE_DEBUG_PUB.Add('Exiting OE_CNCL_VALIDATE_LINE.Validate_Receiving_Org',1);
454: RETURN TRUE;
455: EXCEPTION
456: WHEN NO_DATA_FOUND THEN
457: FND_MESSAGE.SET_NAME('ONT', 'OE_INVALID_ITEM_WHSE');
954: lcustomer_relations varchar2(1);
955:
956: BEGIN
957:
958: oe_debug_pub.add('Entering OE_CNCL_VALIDATE_LINE.Validate_Deliver_To_Org',1);
959: oe_debug_pub.add('deliver_to_org_id :'||to_char(p_deliver_to_org_id),2);
960: lcustomer_relations := OE_Sys_Parameters.VALUE('CUSTOMER_RELATIONSHIPS_FLAG');
961:
962: IF nvl(lcustomer_relations,'N') = 'N' THEN
966: WHERE customer_id = p_sold_to_org_id
967: AND site_use_id = p_deliver_to_org_id
968: AND status = 'A';
969:
970: oe_debug_pub.add('Exiting OE_CNCL_VALIDATE_LINE.Validate_Deliver_To_Org',1);
971: RETURN TRUE;
972:
973: ELSIF lcustomer_relations = 'Y' THEN
974: oe_debug_pub.add('Cr: Yes Line Deliver',2);
989: AND R.RELATED_CUST_ACCOUNT_ID = p_sold_to_org_id
990: and R.ship_to_flag = 'Y')
991: AND ROWNUM = 1;
992:
993: oe_debug_pub.add('Exiting OE_CNCL_VALIDATE_LINE.Validate_Deliver_To_Org',1);
994: RETURN TRUE;
995:
996: ELSIF lcustomer_relations = 'A' THEN
997:
999: INTO l_dummy
1000: FROM HZ_CUST_SITE_USES SITE
1001: WHERE SITE.SITE_USE_ID =p_deliver_to_org_id;
1002:
1003: oe_debug_pub.add('Exiting OE_CNCL_VALIDATE_LINE.Validate_Deliver_To_Org',1);
1004: RETURN TRUE;
1005:
1006:
1007: END IF;
1006:
1007: END IF;
1008:
1009:
1010: oe_debug_pub.add('Exiting OE_CNCL_VALIDATE_LINE.Validate_Deliver_To_Org',1);
1011:
1012: EXCEPTION
1013:
1014: WHEN OTHERS THEN
1221: and rownum = 1 ;
1222:
1223: BEGIN
1224:
1225: oe_debug_pub.add('Enter OE_CNCL_VALIDATE_LINE.ENTITY',1);
1226:
1227:
1228: -----------------------------------------------------------
1229: -- Check required attributes.
2736: oe_debug_pub.add('18 '||l_return_status ,1);
2737: x_return_status := l_return_status;
2738:
2739: -- Done validating entity
2740: oe_debug_pub.add('Exit OE_CNCL_VALIDATE_LINE.ENTITY',1);
2741: EXCEPTION
2742:
2743: WHEN FND_API.G_EXC_ERROR THEN
2744:
2773: l_return_status VARCHAR2(1);
2774: l_line_rec OE_Order_PUB.Line_Rec_Type := OE_Order_PUB.G_MISS_LINE_REC;
2775: l_type_code VARCHAR2(30);
2776: BEGIN
2777: oe_debug_pub.add('Enter procedure OE_CNCL_VALIDATE_line.Attributes',1);
2778:
2779: x_return_status := FND_API.G_RET_STS_SUCCESS;
2780: l_return_status := FND_API.G_RET_STS_SUCCESS;
2781:
3267: END IF;
3268:
3269: IF p_x_line_rec.flow_status_code IS NOT NULL
3270: THEN
3271: IF NOT OE_CNCL_Validate.Line_Flow_Status(p_x_line_rec.flow_status_code) THEN
3272: IF p_validation_level = OE_GLOBALS.G_VALID_LEVEL_PARTIAL THEN
3273: p_x_line_rec.flow_status_code := NULL;
3274: ELSIF p_validation_level = OE_GLOBALS.G_VALID_PARTIAL_WITH_DEF THEN
3275: p_x_line_rec.flow_status_code := FND_API.G_MISS_CHAR;
3303: OR p_x_line_rec.context IS NOT NULL
3304: THEN
3305:
3306: oe_debug_pub.add('Before calling line_desc_flex',2);
3307: IF NOT OE_CNCL_Validate.Line_Desc_Flex
3308: (p_context => p_x_line_rec.context
3309: ,p_attribute1 => p_x_line_rec.attribute1
3310: ,p_attribute2 => p_x_line_rec.attribute2
3311: ,p_attribute3 => p_x_line_rec.attribute3
3845: IF NOT OE_CNCL_Validate.commitment(p_x_line_rec.commitment_id) THEN
3846: x_return_status := FND_API.G_RET_STS_ERROR;
3847: END IF;
3848: END IF;
3849: oe_debug_pub.add('Exiting procedure OE_CNCL_VALIDATE_line.Attributes',1);
3850:
3851: EXCEPTION
3852:
3853: WHEN FND_API.G_EXC_ERROR THEN
4000:
4001:
4002: END Get_Item_Type;
4003:
4004: END OE_CNCL_Validate_Line;