Hi, I am getting the below error
ORA-04092 cannot set savepoint in trigger in package oe_order_pub procedure process_order
step - 1 , I have a standard package
OE_Order_PUB, I am unable to paste complete code of this package but just pasted the process_order procedure from the package which is overloaded
step - 2 , Custom procedure TEST_CONTI_PRC to call OE_Order_PUB.process_order
step - 3 , trigger which calls custom procedure TEST_CONTI_PRC
When it is called I am getting
ORA-04092 cannot set savepoint in trigger in package oe_order_pub procedure process_order
Is there a way i can resolve this issue
appreciate your help
============================code ===================================
step -1
====================================================
PROCEDURE Process_Order
( p_org_id IN NUMBER := NULL --MOAC
, p_operating_unit IN VARCHAR2 := NULL -- MOAC
, p_api_version_number IN NUMBER
, p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
, p_return_values IN VARCHAR2 := FND_API.G_FALSE
, p_action_commit IN VARCHAR2 := FND_API.G_FALSE
, x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
, x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
, x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
, p_header_rec IN Header_Rec_Type :=
G_MISS_HEADER_REC
, p_old_header_rec IN Header_Rec_Type :=
G_MISS_HEADER_REC
, p_header_val_rec IN Header_Val_Rec_Type :=
G_MISS_HEADER_VAL_REC
, p_old_header_val_rec IN Header_Val_Rec_Type :=
G_MISS_HEADER_VAL_REC
, p_Header_Adj_tbl IN Header_Adj_Tbl_Type :=
G_MISS_HEADER_ADJ_TBL
, p_old_Header_Adj_tbl IN Header_Adj_Tbl_Type :=
G_MISS_HEADER_ADJ_TBL
, p_Header_Adj_val_tbl IN Header_Adj_Val_Tbl_Type :=
G_MISS_HEADER_ADJ_VAL_TBL
, p_old_Header_Adj_val_tbl IN Header_Adj_Val_Tbl_Type :=
G_MISS_HEADER_ADJ_VAL_TBL
, p_Header_price_Att_tbl IN Header_Price_Att_Tbl_Type :=
G_MISS_HEADER_PRICE_ATT_TBL
, p_old_Header_Price_Att_tbl IN Header_Price_Att_Tbl_Type :=
G_MISS_HEADER_PRICE_ATT_TBL
, p_Header_Adj_Att_tbl IN Header_Adj_Att_Tbl_Type :=
G_MISS_HEADER_ADJ_ATT_TBL
, p_old_Header_Adj_Att_tbl IN Header_Adj_Att_Tbl_Type :=
G_MISS_HEADER_ADJ_ATT_TBL
, p_Header_Adj_Assoc_tbl IN Header_Adj_Assoc_Tbl_Type :=
G_MISS_HEADER_ADJ_ASSOC_TBL
, p_old_Header_Adj_Assoc_tbl IN Header_Adj_Assoc_Tbl_Type :=
G_MISS_HEADER_ADJ_ASSOC_TBL
, p_Header_Scredit_tbl IN Header_Scredit_Tbl_Type :=
G_MISS_HEADER_SCREDIT_TBL
, p_old_Header_Scredit_tbl IN Header_Scredit_Tbl_Type :=
G_MISS_HEADER_SCREDIT_TBL
, p_Header_Scredit_val_tbl IN Header_Scredit_Val_Tbl_Type :=
G_MISS_HEADER_SCREDIT_VAL_TBL
, p_old_Header_Scredit_val_tbl IN Header_Scredit_Val_Tbl_Type :=
G_MISS_HEADER_SCREDIT_VAL_TBL
, p_Header_Payment_tbl IN Header_Payment_Tbl_Type :=
G_MISS_HEADER_PAYMENT_TBL
, p_old_Header_Payment_tbl IN Header_Payment_Tbl_Type :=
G_MISS_HEADER_PAYMENT_TBL
, p_Header_Payment_val_tbl IN Header_Payment_Val_Tbl_Type :=
G_MISS_HEADER_PAYMENT_VAL_TBL
, p_old_Header_Payment_val_tbl IN Header_Payment_Val_Tbl_Type :=
G_MISS_HEADER_PAYMENT_VAL_TBL
, p_line_tbl IN Line_Tbl_Type :=
G_MISS_LINE_TBL
, p_old_line_tbl IN Line_Tbl_Type :=
G_MISS_LINE_TBL
, p_line_val_tbl IN Line_Val_Tbl_Type :=
G_MISS_LINE_VAL_TBL
, p_old_line_val_tbl IN Line_Val_Tbl_Type :=
G_MISS_LINE_VAL_TBL
, p_Line_Adj_tbl IN Line_Adj_Tbl_Type :=
G_MISS_LINE_ADJ_TBL
, p_old_Line_Adj_tbl IN Line_Adj_Tbl_Type :=
G_MISS_LINE_ADJ_TBL
, p_Line_Adj_val_tbl IN Line_Adj_Val_Tbl_Type :=
G_MISS_LINE_ADJ_VAL_TBL
, p_old_Line_Adj_val_tbl IN Line_Adj_Val_Tbl_Type :=
G_MISS_LINE_ADJ_VAL_TBL
, p_Line_price_Att_tbl IN Line_Price_Att_Tbl_Type :=
G_MISS_LINE_PRICE_ATT_TBL
, p_old_Line_Price_Att_tbl IN Line_Price_Att_Tbl_Type :=
G_MISS_LINE_PRICE_ATT_TBL
, p_Line_Adj_Att_tbl IN Line_Adj_Att_Tbl_Type :=
G_MISS_LINE_ADJ_ATT_TBL
, p_old_Line_Adj_Att_tbl IN Line_Adj_Att_Tbl_Type :=
G_MISS_LINE_ADJ_ATT_TBL
, p_Line_Adj_Assoc_tbl IN Line_Adj_Assoc_Tbl_Type :=
G_MISS_LINE_ADJ_ASSOC_TBL
, p_old_Line_Adj_Assoc_tbl IN Line_Adj_Assoc_Tbl_Type :=
G_MISS_LINE_ADJ_ASSOC_TBL
, p_Line_Scredit_tbl IN Line_Scredit_Tbl_Type :=
G_MISS_LINE_SCREDIT_TBL
, p_old_Line_Scredit_tbl IN Line_Scredit_Tbl_Type :=
G_MISS_LINE_SCREDIT_TBL
, p_Line_Scredit_val_tbl IN Line_Scredit_Val_Tbl_Type :=
G_MISS_LINE_SCREDIT_VAL_TBL
, p_old_Line_Scredit_val_tbl IN Line_Scredit_Val_Tbl_Type :=
G_MISS_LINE_SCREDIT_VAL_TBL
, p_Line_Payment_tbl IN Line_Payment_Tbl_Type :=
G_MISS_LINE_PAYMENT_TBL
, p_old_Line_Payment_tbl IN Line_Payment_Tbl_Type :=
G_MISS_LINE_PAYMENT_TBL
, p_Line_Payment_val_tbl IN Line_Payment_Val_Tbl_Type :=
G_MISS_LINE_PAYMENT_VAL_TBL
, p_old_Line_Payment_val_tbl IN Line_Payment_Val_Tbl_Type :=
G_MISS_LINE_PAYMENT_VAL_TBL
, p_Lot_Serial_tbl IN Lot_Serial_Tbl_Type :=
G_MISS_LOT_SERIAL_TBL
, p_old_Lot_Serial_tbl IN Lot_Serial_Tbl_Type :=
G_MISS_LOT_SERIAL_TBL
, p_Lot_Serial_val_tbl IN Lot_Serial_Val_Tbl_Type :=
G_MISS_LOT_SERIAL_VAL_TBL
, p_old_Lot_Serial_val_tbl IN Lot_Serial_Val_Tbl_Type :=
G_MISS_LOT_SERIAL_VAL_TBL
, p_action_request_tbl IN Request_Tbl_Type :=
G_MISS_REQUEST_TBL
, x_header_rec OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
, x_header_val_rec OUT NOCOPY /* file.sql.39 change */ Header_Val_Rec_Type
, x_Header_Adj_tbl OUT NOCOPY /* file.sql.39 change */ Header_Adj_Tbl_Type
, x_Header_Adj_val_tbl OUT NOCOPY /* file.sql.39 change */ Header_Adj_Val_Tbl_Type
, x_Header_price_Att_tbl OUT NOCOPY /* file.sql.39 change */ Header_Price_Att_Tbl_Type
, x_Header_Adj_Att_tbl OUT NOCOPY /* file.sql.39 change */ Header_Adj_Att_Tbl_Type
, x_Header_Adj_Assoc_tbl OUT NOCOPY /* file.sql.39 change */ Header_Adj_Assoc_Tbl_Type
, x_Header_Scredit_tbl OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Tbl_Type
, x_Header_Scredit_val_tbl OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Val_Tbl_Type
, x_Header_Payment_tbl OUT NOCOPY /* file.sql.39 change */ Header_Payment_Tbl_Type
, x_Header_Payment_val_tbl OUT NOCOPY /* file.sql.39 change */ Header_Payment_Val_Tbl_Type
, x_line_tbl OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
, x_line_val_tbl OUT NOCOPY /* file.sql.39 change */ Line_Val_Tbl_Type
, x_Line_Adj_tbl OUT NOCOPY /* file.sql.39 change */ Line_Adj_Tbl_Type
, x_Line_Adj_val_tbl OUT NOCOPY /* file.sql.39 change */ Line_Adj_Val_Tbl_Type
, x_Line_price_Att_tbl OUT NOCOPY /* file.sql.39 change */ Line_Price_Att_Tbl_Type
, x_Line_Adj_Att_tbl OUT NOCOPY /* file.sql.39 change */ Line_Adj_Att_Tbl_Type
, x_Line_Adj_Assoc_tbl OUT NOCOPY /* file.sql.39 change */ Line_Adj_Assoc_Tbl_Type
, x_Line_Scredit_tbl OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Tbl_Type
, x_Line_Scredit_val_tbl OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Val_Tbl_Type
, x_Line_Payment_tbl OUT NOCOPY /* file.sql.39 change */ Line_Payment_Tbl_Type
, x_Line_Payment_val_tbl OUT NOCOPY /* file.sql.39 change */ Line_Payment_Val_Tbl_Type
, x_Lot_Serial_tbl OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Tbl_Type
, x_Lot_Serial_val_tbl OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Val_Tbl_Type
, x_action_request_tbl OUT NOCOPY /* file.sql.39 change */ Request_Tbl_Type
--For bug 3390458
, p_rtrim_data IN Varchar2 :='N'
, p_validate_desc_flex in varchar2 default 'Y' --bug4343612
--ER7675548
, p_header_customer_info_tbl IN OE_ORDER_PUB.CUSTOMER_INFO_TABLE_TYPE :=
OE_ORDER_PUB.G_MISS_CUSTOMER_INFO_TBL
, p_line_customer_info_tbl IN OE_ORDER_PUB.CUSTOMER_INFO_TABLE_TYPE :=
OE_ORDER_PUB.G_MISS_CUSTOMER_INFO_TBL
)
IS
--MOAC
l_org_id NUMBER;
l_operating_unit VARCHAR2(240);
l_api_version_number CONSTANT NUMBER := 1.0;
l_api_name CONSTANT VARCHAR2(30):= 'Process_Order';
l_control_rec OE_GLOBALS.Control_Rec_Type;
l_return_status VARCHAR2(1);
l_header_rec Header_Rec_Type;
l_Header_Adj_tbl Header_Adj_Tbl_Type;
l_Header_price_Att_tbl Header_Price_Att_Tbl_Type ;
l_Header_Adj_Att_tbl Header_Adj_Att_Tbl_Type ;
l_Header_Adj_Assoc_tbl Header_Adj_Assoc_Tbl_Type ;
l_Header_Scredit_tbl Header_Scredit_Tbl_Type;
l_Header_Payment_tbl Header_Payment_Tbl_Type;
l_line_tbl Line_Tbl_Type;
l_Line_Adj_tbl Line_Adj_Tbl_Type;
l_Line_price_Att_tbl Line_Price_Att_Tbl_Type ;
l_Line_Adj_Att_tbl Line_Adj_Att_Tbl_Type ;
l_Line_Adj_Assoc_tbl Line_Adj_Assoc_Tbl_Type ;
l_Line_Scredit_tbl Line_Scredit_Tbl_Type;
l_Line_Payment_tbl Line_Payment_Tbl_Type;
l_Lot_Serial_tbl Lot_Serial_Tbl_Type;
l_old_header_rec Header_Rec_Type;
l_old_Header_Adj_tbl Header_Adj_Tbl_Type;
l_old_Header_price_Att_tbl Header_Price_Att_Tbl_Type ;
l_old_Header_Adj_Att_tbl Header_Adj_Att_Tbl_Type ;
l_old_Header_Adj_Assoc_tbl Header_Adj_Assoc_Tbl_Type ;
l_old_Header_Scredit_tbl Header_Scredit_Tbl_Type;
l_old_Header_Payment_tbl Header_Payment_Tbl_Type;
l_old_line_tbl Line_Tbl_Type;
l_old_Line_Adj_tbl Line_Adj_Tbl_Type;
l_old_Line_price_Att_tbl Line_Price_Att_Tbl_Type ;
l_old_Line_Adj_Att_tbl Line_Adj_Att_Tbl_Type ;
l_old_Line_Adj_Assoc_tbl Line_Adj_Assoc_Tbl_Type ;
l_old_Line_Scredit_tbl Line_Scredit_Tbl_Type;
l_old_Line_Payment_tbl Line_Payment_Tbl_Type;
l_old_Lot_Serial_tbl Lot_Serial_Tbl_Type;
l_aac_header_rec OE_Order_PUB.Header_Rec_Type;
l_aac_line_tbl OE_Order_PUB.Line_Tbl_Type;
l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
l_cust_info_tbl OE_ORDER_PUB.CUSTOMER_INFO_TABLE_TYPE; --ER7675548
BEGIN
-- Standard call to check for call compatibility
IF NOT FND_API.Compatible_API_Call
( l_api_version_number
, p_api_version_number
, l_api_name
, G_PKG_NAME
)
THEN
RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
END IF;
-- Logic added for MOAC
-- FIND Org_Id logic :
-- We first look at p_org_id to set Context.
-- If p_org_id passed in, we ignore p_operating_unit.
-- If p_org_id not passed in, then we look at p_operating_unit to get org_id.
-- If both are not passed in, we get the context from MO Get_Default_Org API.
--
IF (p_org_id IS NOT NULL AND p_org_id <> FND_API.G_MISS_NUM) THEN
l_org_id := p_org_id;
-- ignore p_operating_unit since p_org_id has passed in.
-- We check if both p_org_id and p_operating_unit pass in,
-- add a message just for the information.
IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_SUCCESS)
THEN
fnd_message.set_name('ONT','OE_BOTH_VAL_AND_ID_EXIST');
FND_MESSAGE.SET_TOKEN('ATTRIBUTE','operating_unit');
OE_MSG_PUB.Add;
END IF;
END IF;
ELSE
IF (p_operating_unit IS NOT NULL AND p_operating_unit <> FND_API.G_MISS_CHAR) THEN
-- call value_to_id to get org_id
l_org_id := OE_Value_To_Id.OPERATING_UNIT(p_operating_unit);
-- comment out due to new call to MO_GLOBAL.validate_orgid_pub_api
/*
ELSE
-- Both p_org_id and p_operating_unit are not passed in.
l_org_id := MO_UTILS.get_default_org_id ;
*/
END IF;
END IF;
-- Validate Org_Id
-- call new API : MO_GLOBAL.validate_orgid_pub_api
-- Instead of calling old function - MO_GLOBAL.check_valid_org
-- MO_GLOBAL.validate_orgid_pub_api provides backward compatibility
-- without adding code to call MO_GLOBAL.init
/* MO_GLOBAL.validate_orgid_pub_api
( ORG_ID => l_org_id
, Status => l_return_status
) ;*/
/*IF(l_return_status ='F') THEN
-- return Failure
raise FND_API.G_EXC_ERROR;
END IF;*/
-- Set Application Context
-- Since we pass validation, we start to Set Application Context
-- Call MO set_policy_context to set application context by sending
-- p_access_mode ='S' (Single Operating Unit Access) and org_id
-- Then call OE_GLOBALS.Set_Context to set OE_GLOBALS.G_ORG_ID
--
--MO_GLOBAL.set_policy_context('S',l_org_id);
--OE_GLOBALS.Set_Context();
--Moved the logic to set context to new procedure set_context
set_context(p_org_id =>l_org_id);
-- From now on, we are in single access mode.
x_action_request_tbl := p_action_request_tbl;
l_Line_Price_Att_tbl := p_Line_Price_Att_tbl; --bug3160327
l_old_Line_Price_Att_tbl :=p_old_Line_Price_Att_tbl; --bug3160327
--Begin bug #5679661
l_Header_price_Att_tbl := p_Header_price_Att_tbl ;
l_Header_Adj_Att_tbl := p_Header_Adj_Att_tbl ;
l_Header_Adj_Assoc_tbl := p_Header_Adj_Assoc_tbl ;
l_old_Header_price_Att_tbl := p_old_Header_price_Att_tbl ;
l_old_Header_Adj_Att_tbl := p_old_Header_Adj_Att_tbl ;
l_old_Header_Adj_Assoc_tbl := p_old_Header_Adj_Assoc_tbl ;
l_Line_price_Att_tbl := p_Line_price_Att_tbl ;
l_Line_Adj_Att_tbl := p_Line_Adj_Att_tbl ;
l_Line_Adj_Assoc_tbl := p_Line_Adj_Assoc_tbl ;
l_old_Line_price_Att_tbl := p_old_Line_price_Att_tbl ;
l_old_Line_Adj_Att_tbl := p_old_Line_Adj_Att_tbl ;
l_old_Line_Adj_Assoc_tbl := p_old_Line_Adj_Assoc_tbl ;
--End bug #5679661
-- automatic account creation
-- use local variables to replace p_ paramters after AAC
-- so value_to_id can see it
l_aac_header_rec := p_header_rec;
l_aac_line_tbl := p_line_tbl;
IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL >= '110510'
THEN
oe_debug_pub.add('calling AAC from Pub Prcoess Order');
OE_Order_GRP.automatic_account_creation(p_header_rec => p_header_rec,
p_header_val_rec => p_header_val_rec,
p_line_tbl => p_line_tbl,
p_line_val_tbl => p_line_val_tbl,
x_header_rec => l_aac_header_Rec,
x_line_tbl => l_aac_line_tbl,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data);
END IF;
----ER7675548
savepoint ADD_CUSTOMER_INFO;
l_cust_info_tbl := p_header_customer_info_tbl;
OE_HEADER_UTIL.Get_customer_info_ids
(
p_header_customer_info_tbl => l_cust_info_tbl,
p_x_header_rec => l_aac_header_Rec,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data
);
IF l_debug_level > 0 THEN
oe_debug_pub.add('Call OE_HEADER_UTIL.Get_customer_info_ids :'||x_return_status);
END IF;
IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
ROLLBACK TO SAVEPOINT ADD_CUSTOMER_INFO;
RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
ROLLBACK TO SAVEPOINT ADD_CUSTOMER_INFO;
RAISE FND_API.G_EXC_ERROR;
END IF;
l_cust_info_tbl := p_line_customer_info_tbl;
OE_LINE_UTIL.Get_customer_info_ids
(
p_line_customer_info_tbl => l_cust_info_tbl,
p_x_line_tbl => l_aac_line_tbl,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data
);
IF l_debug_level > 0 THEN
oe_debug_pub.add('Call OE_LINE_UTIL.Get_customer_info_ids :'||x_return_status);
END IF;
IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
ROLLBACK TO SAVEPOINT ADD_CUSTOMER_INFO;
RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
ROLLBACK TO SAVEPOINT ADD_CUSTOMER_INFO;
RAISE FND_API.G_EXC_ERROR;
END IF;
--ER7675548
-- Perform Value to Id conversion
Value_To_Id
( x_return_status => l_return_status
, p_header_rec => l_aac_header_rec
, p_header_val_rec => p_header_val_rec
, p_Header_Adj_tbl => p_Header_Adj_tbl
, p_Header_Adj_val_tbl => p_Header_Adj_val_tbl
, p_Header_Scredit_tbl => p_Header_Scredit_tbl
, p_Header_Scredit_val_tbl => p_Header_Scredit_val_tbl
, p_Header_Payment_tbl => p_Header_Payment_tbl
, p_Header_Payment_val_tbl => p_Header_Payment_val_tbl
, p_line_tbl => l_aac_line_tbl
, p_line_val_tbl => p_line_val_tbl
, p_Line_Adj_tbl => p_Line_Adj_tbl
, p_Line_Adj_val_tbl => p_Line_Adj_val_tbl
, p_Line_Scredit_tbl => p_Line_Scredit_tbl
, p_Line_Scredit_val_tbl => p_Line_Scredit_val_tbl
, p_Line_Payment_tbl => p_Line_Payment_tbl
, p_Line_Payment_val_tbl => p_Line_Payment_val_tbl
, p_Lot_Serial_tbl => p_Lot_Serial_tbl
, p_Lot_Serial_val_tbl => p_Lot_Serial_val_tbl
, x_header_rec => l_header_rec
, x_Header_Adj_tbl => l_Header_Adj_tbl
, x_Header_Scredit_tbl => l_Header_Scredit_tbl
, x_Header_Payment_tbl => l_Header_Payment_tbl
, x_line_tbl => l_line_tbl
, x_Line_Adj_tbl => l_Line_Adj_tbl
, x_Line_Scredit_tbl => l_Line_Scredit_tbl
, x_Line_Payment_tbl => l_Line_Payment_tbl
, x_Lot_Serial_tbl => l_Lot_Serial_tbl
);
IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
RAISE FND_API.G_EXC_ERROR;
END IF;
-- Perform Value to Id conversion (for old)
Value_To_Id
( x_return_status => l_return_status
, p_header_rec => p_old_header_rec
, p_header_val_rec => p_old_header_val_rec
, p_Header_Adj_tbl => p_old_Header_Adj_tbl
, p_Header_Adj_val_tbl => p_old_Header_Adj_val_tbl
, p_Header_Scredit_tbl => p_old_Header_Scredit_tbl
, p_Header_Scredit_val_tbl => p_old_Header_Scredit_val_tbl
, p_Header_Payment_tbl => p_old_Header_Payment_tbl
, p_Header_Payment_val_tbl => p_old_Header_Payment_val_tbl
, p_line_tbl => p_old_line_tbl
, p_line_val_tbl => p_old_line_val_tbl
, p_Line_Adj_tbl => p_old_Line_Adj_tbl
, p_Line_Adj_val_tbl => p_old_Line_Adj_val_tbl
, p_Line_Scredit_tbl => p_old_Line_Scredit_tbl
, p_Line_Scredit_val_tbl => p_old_Line_Scredit_val_tbl
, p_Line_Payment_tbl => p_old_Line_Payment_tbl
, p_Line_Payment_val_tbl => p_old_Line_Payment_val_tbl
, p_Lot_Serial_tbl => p_Lot_Serial_tbl
, p_Lot_Serial_val_tbl => p_Lot_Serial_val_tbl
, x_header_rec => l_old_header_rec
, x_Header_Adj_tbl => l_old_Header_Adj_tbl
, x_Header_Scredit_tbl => l_old_Header_Scredit_tbl
, x_Header_Payment_tbl => l_old_Header_Payment_tbl
, x_line_tbl => l_old_line_tbl
, x_Line_Adj_tbl => l_old_Line_Adj_tbl
, x_Line_Scredit_tbl => l_old_Line_Scredit_tbl
, x_Line_Payment_tbl => l_old_Line_Payment_tbl
, x_Lot_Serial_tbl => l_Lot_Serial_tbl
);
IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
RAISE FND_API.G_EXC_ERROR;
END IF;
--added for bug 3390458
IF p_rtrim_data ='Y'
THEN
OE_ORDER_GRP.RTrim_data
( p_x_header_rec => l_header_rec
, p_x_line_tbl => l_line_tbl
, x_return_status =>x_return_status);
END IF;
OE_GLOBALS.g_validate_desc_flex :=p_validate_desc_flex; --bug 4343612
-- Call OE_Order_PVT.Process_Order
-- sol_ord_er #16014165 start
/* System Parameter "OM: Subscription Item Line Behavior" needs to be honored only from UI */
If l_line_tbl.count > 0 THEN
For i in l_line_tbl.first .. l_line_tbl.last
LOOP
If (l_line_tbl(i).operation = OE_GLOBALS.G_OPR_CREATE
or l_line_tbl(i).operation = OE_GLOBALS.G_OPR_INSERT)
AND NVL(l_line_tbl(i).subscription_enable_flag,FND_API.G_MISS_CHAR) = FND_API.G_MISS_CHAR THEN
l_line_tbl(i).subscription_enable_flag := 'N';
End If;
End LOOP;
End If;
-- sol_ord_er #16014165 end
OE_Order_PVT.Process_Order
( p_api_version_number => 1.0
, p_init_msg_list => p_init_msg_list
, p_validation_level => FND_API.G_VALID_LEVEL_FULL
, p_action_commit => p_action_commit
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
, p_control_rec => l_control_rec
, p_x_header_rec => l_header_rec
, p_old_header_rec => l_old_header_rec
, p_x_Header_Adj_tbl => l_Header_Adj_tbl
, p_old_Header_Adj_tbl => l_old_Header_Adj_tbl
, p_x_Header_Price_Att_tbl => l_Header_Price_Att_tbl
, p_old_Header_Price_Att_tbl => l_old_Header_Price_Att_tbl
, p_x_Header_Adj_Att_tbl => l_Header_Adj_Att_tbl
, p_old_Header_Adj_Att_tbl => l_old_Header_Adj_Att_tbl
, p_x_Header_Adj_Assoc_tbl => l_Header_Adj_Assoc_tbl
, p_old_Header_Adj_Assoc_tbl => l_old_Header_Adj_Assoc_tbl
, p_x_Header_Scredit_tbl => l_Header_Scredit_tbl
, p_old_Header_Scredit_tbl => l_old_Header_Scredit_tbl
, p_x_Header_Payment_tbl => l_Header_Payment_tbl
, p_old_Header_Payment_tbl => l_old_Header_Payment_tbl
, p_x_line_tbl => l_line_tbl
, p_old_line_tbl => l_old_line_tbl
, p_x_Line_Adj_tbl => l_Line_Adj_tbl
, p_old_Line_Adj_tbl => l_old_Line_Adj_tbl
, p_x_Line_Price_Att_tbl => l_Line_Price_Att_tbl
, p_old_Line_Price_Att_tbl => l_old_Line_Price_Att_tbl
, p_x_Line_Adj_Att_tbl => l_Line_Adj_Att_tbl
, p_old_Line_Adj_Att_tbl => l_old_Line_Adj_Att_tbl
, p_x_Line_Adj_Assoc_tbl => l_Line_Adj_Assoc_tbl
, p_old_Line_Adj_Assoc_tbl => l_old_Line_Adj_Assoc_tbl
, p_x_Line_Scredit_tbl => l_Line_Scredit_tbl
, p_old_Line_Scredit_tbl => l_old_Line_Scredit_tbl
, p_x_Line_Payment_tbl => l_Line_Payment_tbl
, p_old_Line_Payment_tbl => l_old_Line_Payment_tbl
, p_x_Lot_Serial_tbl => l_Lot_Serial_tbl
, p_old_Lot_Serial_tbl => l_old_Lot_Serial_tbl
, p_x_action_request_tbl => x_action_request_tbl
);
-- Load Id OUT NOCOPY /* file.sql.39 change */ parameters.
x_header_rec := l_header_rec;
x_Header_Adj_tbl := l_Header_Adj_tbl;
x_Header_Price_Att_tbl := l_Header_Price_Att_tbl;
x_Header_Adj_Att_tbl := l_Header_Adj_Att_tbl;
x_Header_Adj_Assoc_tbl := l_Header_Adj_Assoc_tbl;
x_Header_Scredit_tbl := l_Header_Scredit_tbl;
x_Header_Payment_tbl := l_Header_Payment_tbl;
x_line_tbl := l_line_tbl;
x_Line_Adj_tbl := l_Line_Adj_tbl;
x_Line_Price_Att_tbl := l_Line_Price_Att_tbl;
x_Line_Adj_Att_tbl := l_Line_Adj_Att_tbl;
x_Line_Adj_Assoc_tbl := l_Line_Adj_Assoc_tbl;
x_Line_Scredit_tbl := l_Line_Scredit_tbl;
x_Line_Payment_tbl := l_Line_Payment_tbl;
x_Lot_Serial_tbl := l_Lot_Serial_tbl;
-- If p_return_values is TRUE then convert Ids to Values.
IF FND_API.to_Boolean(p_return_values) THEN
Id_To_Value
( p_header_rec => l_header_rec
, p_Header_Adj_tbl => l_Header_Adj_tbl
, p_Header_Scredit_tbl => l_Header_Scredit_tbl
, p_Header_Payment_tbl => l_Header_Payment_tbl
, p_line_tbl => l_line_tbl
, p_Line_Adj_tbl => l_Line_Adj_tbl
, p_Line_Scredit_tbl => l_Line_Scredit_tbl
, p_Line_Payment_tbl => l_Line_Payment_tbl
, p_Lot_Serial_tbl => l_Lot_Serial_tbl
, x_header_val_rec => x_header_val_rec
, x_Header_Adj_val_tbl => x_Header_Adj_val_tbl
, x_Header_Scredit_val_tbl => x_Header_Scredit_val_tbl
, x_Header_Payment_val_tbl => x_Header_Payment_val_tbl
, x_line_val_tbl => x_line_val_tbl
, x_Line_Adj_val_tbl => x_Line_Adj_val_tbl
, x_Line_Scredit_val_tbl => x_Line_Scredit_val_tbl
, x_Line_Payment_val_tbl => x_Line_Payment_val_tbl
, x_Lot_Serial_val_tbl => x_Lot_Serial_val_tbl
);
END IF;
EXCEPTION
WHEN FND_API.G_EXC_ERROR THEN
x_return_status := FND_API.G_RET_STS_ERROR;
-- Get message count and data
OE_MSG_PUB.Count_And_Get
( p_count => x_msg_count
, p_data => x_msg_data
);
WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
-- Get message count and data
OE_MSG_PUB.Count_And_Get
( p_count => x_msg_count
, p_data => x_msg_data
);
WHEN OTHERS THEN
x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
THEN
OE_MSG_PUB.Add_Exc_Msg
( G_PKG_NAME
, 'Process_Order'
);
END IF;
-- Get message count and data
OE_MSG_PUB.Count_And_Get
( p_count => x_msg_count
, p_data => x_msg_data
);
END Process_Order;
PROCEDURE Process_Order
( p_org_id IN NUMBER := NULL --MOAC
, p_operating_unit IN VARCHAR2 := NULL -- MOAC
, p_api_version_number IN NUMBER
, p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
, p_return_values IN VARCHAR2 := FND_API.G_FALSE
, p_action_commit IN VARCHAR2 := FND_API.G_FALSE
, x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2
, x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER
, x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2
, p_header_rec IN Header_Rec_Type :=
G_MISS_HEADER_REC
, p_old_header_rec IN Header_Rec_Type :=
G_MISS_HEADER_REC
, p_header_val_rec IN Header_Val_Rec_Type :=
G_MISS_HEADER_VAL_REC
, p_old_header_val_rec IN Header_Val_Rec_Type :=
G_MISS_HEADER_VAL_REC
, p_Header_Adj_tbl IN Header_Adj_Tbl_Type :=
G_MISS_HEADER_ADJ_TBL
, p_old_Header_Adj_tbl IN Header_Adj_Tbl_Type :=
G_MISS_HEADER_ADJ_TBL
, p_Header_Adj_val_tbl IN Header_Adj_Val_Tbl_Type :=
G_MISS_HEADER_ADJ_VAL_TBL
, p_old_Header_Adj_val_tbl IN Header_Adj_Val_Tbl_Type :=
G_MISS_HEADER_ADJ_VAL_TBL
, p_Header_price_Att_tbl IN Header_Price_Att_Tbl_Type :=
G_MISS_HEADER_PRICE_ATT_TBL
, p_old_Header_Price_Att_tbl IN Header_Price_Att_Tbl_Type :=
G_MISS_HEADER_PRICE_ATT_TBL
, p_Header_Adj_Att_tbl IN Header_Adj_Att_Tbl_Type :=
G_MISS_HEADER_ADJ_ATT_TBL
, p_old_Header_Adj_Att_tbl IN Header_Adj_Att_Tbl_Type :=
G_MISS_HEADER_ADJ_ATT_TBL
, p_Header_Adj_Assoc_tbl IN Header_Adj_Assoc_Tbl_Type :=
G_MISS_HEADER_ADJ_ASSOC_TBL
, p_old_Header_Adj_Assoc_tbl IN Header_Adj_Assoc_Tbl_Type :=
G_MISS_HEADER_ADJ_ASSOC_TBL
, p_Header_Scredit_tbl IN Header_Scredit_Tbl_Type :=
G_MISS_HEADER_SCREDIT_TBL
, p_old_Header_Scredit_tbl IN Header_Scredit_Tbl_Type :=
G_MISS_HEADER_SCREDIT_TBL
, p_Header_Scredit_val_tbl IN Header_Scredit_Val_Tbl_Type :=
G_MISS_HEADER_SCREDIT_VAL_TBL
, p_old_Header_Scredit_val_tbl IN Header_Scredit_Val_Tbl_Type :=
G_MISS_HEADER_SCREDIT_VAL_TBL
, p_line_tbl IN Line_Tbl_Type :=
G_MISS_LINE_TBL
, p_old_line_tbl IN Line_Tbl_Type :=
G_MISS_LINE_TBL
, p_line_val_tbl IN Line_Val_Tbl_Type :=
G_MISS_LINE_VAL_TBL
, p_old_line_val_tbl IN Line_Val_Tbl_Type :=
G_MISS_LINE_VAL_TBL
, p_Line_Adj_tbl IN Line_Adj_Tbl_Type :=
G_MISS_LINE_ADJ_TBL
, p_old_Line_Adj_tbl IN Line_Adj_Tbl_Type :=
G_MISS_LINE_ADJ_TBL
, p_Line_Adj_val_tbl IN Line_Adj_Val_Tbl_Type :=
G_MISS_LINE_ADJ_VAL_TBL
, p_old_Line_Adj_val_tbl IN Line_Adj_Val_Tbl_Type :=
G_MISS_LINE_ADJ_VAL_TBL
, p_Line_price_Att_tbl IN Line_Price_Att_Tbl_Type :=
G_MISS_LINE_PRICE_ATT_TBL
, p_old_Line_Price_Att_tbl IN Line_Price_Att_Tbl_Type :=
G_MISS_LINE_PRICE_ATT_TBL
, p_Line_Adj_Att_tbl IN Line_Adj_Att_Tbl_Type :=
G_MISS_LINE_ADJ_ATT_TBL
, p_old_Line_Adj_Att_tbl IN Line_Adj_Att_Tbl_Type :=
G_MISS_LINE_ADJ_ATT_TBL
, p_Line_Adj_Assoc_tbl IN Line_Adj_Assoc_Tbl_Type :=
G_MISS_LINE_ADJ_ASSOC_TBL
, p_old_Line_Adj_Assoc_tbl IN Line_Adj_Assoc_Tbl_Type :=
G_MISS_LINE_ADJ_ASSOC_TBL
, p_Line_Scredit_tbl IN Line_Scredit_Tbl_Type :=
G_MISS_LINE_SCREDIT_TBL
, p_old_Line_Scredit_tbl IN Line_Scredit_Tbl_Type :=
G_MISS_LINE_SCREDIT_TBL
, p_Line_Scredit_val_tbl IN Line_Scredit_Val_Tbl_Type :=
G_MISS_LINE_SCREDIT_VAL_TBL
, p_old_Line_Scredit_val_tbl IN Line_Scredit_Val_Tbl_Type :=
G_MISS_LINE_SCREDIT_VAL_TBL
, p_Lot_Serial_tbl IN Lot_Serial_Tbl_Type :=
G_MISS_LOT_SERIAL_TBL
, p_old_Lot_Serial_tbl IN Lot_Serial_Tbl_Type :=
G_MISS_LOT_SERIAL_TBL
, p_Lot_Serial_val_tbl IN Lot_Serial_Val_Tbl_Type :=
G_MISS_LOT_SERIAL_VAL_TBL
, p_old_Lot_Serial_val_tbl IN Lot_Serial_Val_Tbl_Type :=
G_MISS_LOT_SERIAL_VAL_TBL
, p_action_request_tbl IN Request_Tbl_Type :=
G_MISS_REQUEST_TBL
, x_header_rec OUT NOCOPY /* file.sql.39 change */ Header_Rec_Type
, x_header_val_rec OUT NOCOPY /* file.sql.39 change */ Header_Val_Rec_Type
, x_Header_Adj_tbl OUT NOCOPY /* file.sql.39 change */ Header_Adj_Tbl_Type
, x_Header_Adj_val_tbl OUT NOCOPY /* file.sql.39 change */ Header_Adj_Val_Tbl_Type
, x_Header_price_Att_tbl OUT NOCOPY /* file.sql.39 change */ Header_Price_Att_Tbl_Type
, x_Header_Adj_Att_tbl OUT NOCOPY /* file.sql.39 change */ Header_Adj_Att_Tbl_Type
, x_Header_Adj_Assoc_tbl OUT NOCOPY /* file.sql.39 change */ Header_Adj_Assoc_Tbl_Type
, x_Header_Scredit_tbl OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Tbl_Type
, x_Header_Scredit_val_tbl OUT NOCOPY /* file.sql.39 change */ Header_Scredit_Val_Tbl_Type
, x_line_tbl OUT NOCOPY /* file.sql.39 change */ Line_Tbl_Type
, x_line_val_tbl OUT NOCOPY /* file.sql.39 change */ Line_Val_Tbl_Type
, x_Line_Adj_tbl OUT NOCOPY /* file.sql.39 change */ Line_Adj_Tbl_Type
, x_Line_Adj_val_tbl OUT NOCOPY /* file.sql.39 change */ Line_Adj_Val_Tbl_Type
, x_Line_price_Att_tbl OUT NOCOPY /* file.sql.39 change */ Line_Price_Att_Tbl_Type
, x_Line_Adj_Att_tbl OUT NOCOPY /* file.sql.39 change */ Line_Adj_Att_Tbl_Type
, x_Line_Adj_Assoc_tbl OUT NOCOPY /* file.sql.39 change */ Line_Adj_Assoc_Tbl_Type
, x_Line_Scredit_tbl OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Tbl_Type
, x_Line_Scredit_val_tbl OUT NOCOPY /* file.sql.39 change */ Line_Scredit_Val_Tbl_Type
, x_Lot_Serial_tbl OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Tbl_Type
, x_Lot_Serial_val_tbl OUT NOCOPY /* file.sql.39 change */ Lot_Serial_Val_Tbl_Type
, x_action_request_tbl OUT NOCOPY /* file.sql.39 change */ Request_Tbl_Type
--For bug 3390458
, p_rtrim_data IN Varchar2 :='N'
, p_validate_desc_flex in varchar2 default 'Y' --bug4343612
--ER7675548
, p_header_customer_info_tbl IN OE_ORDER_PUB.CUSTOMER_INFO_TABLE_TYPE :=
OE_ORDER_PUB.G_MISS_CUSTOMER_INFO_TBL
, p_line_customer_info_tbl IN OE_ORDER_PUB.CUSTOMER_INFO_TABLE_TYPE :=
OE_ORDER_PUB.G_MISS_CUSTOMER_INFO_TBL
)
IS
l_api_version_number CONSTANT NUMBER := 1.0;
l_api_name CONSTANT VARCHAR2(30):= 'Process_Order';
l_control_rec OE_GLOBALS.Control_Rec_Type;
l_return_status VARCHAR2(1);
l_header_rec Header_Rec_Type;
l_Header_Adj_tbl Header_Adj_Tbl_Type;
l_Header_price_Att_tbl Header_Price_Att_Tbl_Type ;
l_Header_Adj_Att_tbl Header_Adj_Att_Tbl_Type ;
l_Header_Adj_Assoc_tbl Header_Adj_Assoc_Tbl_Type ;
l_Header_Scredit_tbl Header_Scredit_Tbl_Type;
l_line_tbl Line_Tbl_Type;
l_Line_Adj_tbl Line_Adj_Tbl_Type;
l_Line_price_Att_tbl Line_Price_Att_Tbl_Type ;
l_Line_Adj_Att_tbl Line_Adj_Att_Tbl_Type ;
l_Line_Adj_Assoc_tbl Line_Adj_Assoc_Tbl_Type ;
l_Line_Scredit_tbl Line_Scredit_Tbl_Type;
l_Lot_Serial_tbl Lot_Serial_Tbl_Type;
l_old_header_rec Header_Rec_Type;
l_old_Header_Adj_tbl Header_Adj_Tbl_Type;
l_old_Header_price_Att_tbl Header_Price_Att_Tbl_Type ;
l_old_Header_Adj_Att_tbl Header_Adj_Att_Tbl_Type ;
l_old_Header_Adj_Assoc_tbl Header_Adj_Assoc_Tbl_Type ;
l_old_Header_Scredit_tbl Header_Scredit_Tbl_Type;
l_old_line_tbl Line_Tbl_Type;
l_old_Line_Adj_tbl Line_Adj_Tbl_Type;
l_old_Line_price_Att_tbl Line_Price_Att_Tbl_Type ;
l_old_Line_Adj_Att_tbl Line_Adj_Att_Tbl_Type ;
l_old_Line_Adj_Assoc_tbl Line_Adj_Assoc_Tbl_Type ;
l_old_Line_Scredit_tbl Line_Scredit_Tbl_Type;
l_old_Lot_Serial_tbl Lot_Serial_Tbl_Type;
x_Header_Payment_tbl Header_Payment_Tbl_Type;
x_Header_Payment_val_tbl Header_Payment_Val_Tbl_Type;
x_Line_Payment_tbl Line_Payment_Tbl_Type;
x_Line_Payment_val_tbl Line_Payment_Val_Tbl_Type;
BEGIN
-- Call over loaded process_order to pass payment tables
Process_Order
( p_org_id => p_org_id --MOAC
, p_operating_unit => p_operating_unit
, p_api_version_number => p_api_version_number
, p_init_msg_list => p_init_msg_list
, p_return_values => p_return_values
, p_action_commit => p_action_commit
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
, p_header_rec => p_header_rec
, p_old_header_rec => p_old_header_rec
, p_header_val_rec => p_header_val_rec
, p_old_header_val_rec => p_old_header_val_rec
, p_Header_Adj_tbl => p_Header_Adj_tbl
, p_old_Header_Adj_tbl => p_old_Header_Adj_tbl
, p_Header_Adj_val_tbl => p_Header_Adj_val_tbl
, p_old_Header_Adj_val_tbl => p_old_Header_Adj_val_tbl
, p_Header_price_Att_tbl => p_Header_price_Att_tbl
, p_old_Header_Price_Att_tbl => p_old_Header_Price_Att_tbl
, p_Header_Adj_Att_tbl => p_Header_Adj_Att_tbl
, p_old_Header_Adj_Att_tbl => p_old_Header_Adj_Att_tbl
, p_Header_Adj_Assoc_tbl => p_Header_Adj_Assoc_tbl
, p_old_Header_Adj_Assoc_tbl => p_old_Header_Adj_Assoc_tbl
, p_Header_Scredit_tbl => p_Header_Scredit_tbl
, p_old_Header_Scredit_tbl => p_old_Header_Scredit_tbl
, p_Header_Scredit_val_tbl => p_Header_Scredit_val_tbl
, p_old_Header_Scredit_val_tbl => p_old_Header_Scredit_val_tbl
, p_Header_Payment_tbl => G_MISS_HEADER_PAYMENT_TBL
, p_old_Header_Payment_tbl => G_MISS_HEADER_PAYMENT_TBL
, p_Header_Payment_val_tbl => G_MISS_HEADER_PAYMENT_VAL_TBL
, p_old_Header_Payment_val_tbl => G_MISS_HEADER_PAYMENT_VAL_TBL
, p_line_tbl => p_line_tbl
, p_old_line_tbl => p_old_line_tbl
, p_line_val_tbl => p_line_val_tbl
, p_old_line_val_tbl => p_old_line_val_tbl
, p_Line_Adj_tbl => p_Line_Adj_tbl
, p_old_Line_Adj_tbl => p_old_Line_Adj_tbl
, p_Line_Adj_val_tbl => p_Line_Adj_val_tbl
, p_old_Line_Adj_val_tbl => p_old_Line_Adj_val_tbl
, p_Line_price_Att_tbl => p_Line_price_Att_tbl
, p_old_Line_Price_Att_tbl => p_old_Line_Price_Att_tbl
, p_Line_Adj_Att_tbl => p_Line_Adj_Att_tbl
, p_old_Line_Adj_Att_tbl => p_old_Line_Adj_Att_tbl
, p_Line_Adj_Assoc_tbl => p_Line_Adj_Assoc_tbl
, p_old_Line_Adj_Assoc_tbl => p_old_Line_Adj_Assoc_tbl
, p_Line_Scredit_tbl => p_Line_Scredit_tbl
, p_old_Line_Scredit_tbl => p_old_Line_Scredit_tbl
, p_Line_Scredit_val_tbl => p_Line_Scredit_val_tbl
, p_old_Line_Scredit_val_tbl => p_old_Line_Scredit_val_tbl
, p_Line_Payment_tbl => G_MISS_LINE_PAYMENT_TBL
, p_old_Line_Payment_tbl => G_MISS_LINE_PAYMENT_TBL
, p_Line_Payment_val_tbl => G_MISS_LINE_PAYMENT_VAL_TBL
, p_old_Line_Payment_val_tbl => G_MISS_LINE_PAYMENT_VAL_TBL
, p_Lot_Serial_tbl => p_Lot_Serial_tbl
, p_old_Lot_Serial_tbl => p_old_Lot_Serial_tbl
, p_Lot_Serial_val_tbl => p_Lot_Serial_val_tbl
, p_old_Lot_Serial_val_tbl => p_old_Lot_Serial_val_tbl
, p_action_request_tbl => p_action_request_tbl
, x_header_rec => x_header_rec
, x_header_val_rec => x_header_val_rec
, x_Header_Adj_tbl => x_Header_Adj_tbl
, x_Header_Adj_val_tbl => x_Header_Adj_val_tbl
, x_Header_price_Att_tbl => x_Header_price_Att_tbl
, x_Header_Adj_Att_tbl => x_Header_Adj_Att_tbl
, x_Header_Adj_Assoc_tbl => x_Header_Adj_Assoc_tbl
, x_Header_Scredit_tbl => x_Header_Scredit_tbl
, x_Header_Scredit_val_tbl => x_Header_Scredit_val_tbl
, x_Header_Payment_tbl => x_Header_Payment_tbl
, x_Header_Payment_val_tbl => x_Header_Payment_val_tbl
, x_line_tbl => x_line_tbl
, x_line_val_tbl => x_line_val_tbl
, x_Line_Adj_tbl => x_Line_Adj_tbl
, x_Line_Adj_val_tbl => x_Line_Adj_val_tbl
, x_Line_price_Att_tbl => x_Line_price_Att_tbl
, x_Line_Adj_Att_tbl => x_Line_Adj_Att_tbl
, x_Line_Adj_Assoc_tbl => x_Line_Adj_Assoc_tbl
, x_Line_Scredit_tbl => x_Line_Scredit_tbl
, x_Line_Scredit_val_tbl => x_Line_Scredit_val_tbl
, x_Line_Payment_tbl => x_Line_Payment_tbl
, x_Line_Payment_val_tbl => x_Line_Payment_val_tbl
, x_Lot_Serial_tbl => x_Lot_Serial_tbl
, x_Lot_Serial_Val_tbl => x_Lot_Serial_Val_tbl
, x_action_request_tbl => x_action_request_tbl
--For bug 3390458
, p_rtrim_data =>p_rtrim_data
, p_validate_desc_flex =>p_validate_desc_flex --for bug4343612
--ER7675548
, p_header_customer_info_tbl =>p_header_customer_info_tbl
, p_line_customer_info_tbl =>p_line_customer_info_tbl
);
EXCEPTION
WHEN FND_API.G_EXC_ERROR THEN
x_return_status := FND_API.G_RET_STS_ERROR;
-- Get message count and data
OE_MSG_PUB.Count_And_Get
( p_count => x_msg_count
, p_data => x_msg_data
);
WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
-- Get message count and data
OE_MSG_PUB.Count_And_Get
( p_count => x_msg_count
, p_data => x_msg_data
);
WHEN OTHERS THEN
x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
THEN
OE_MSG_PUB.Add_Exc_Msg
( G_PKG_NAME
, 'Process_Order'
);
END IF;
-- Get message count and data
OE_MSG_PUB.Count_And_Get
( p_count => x_msg_count
, p_data => x_msg_data
);
END Process_Order;
=========================================
step - 2
=========================================
create or replace
PROCEDURE TEST_CONTI_PRC(p_header_id NUMBER,
p_line_id NUMBER,
p_SHIPPING_METHOD_CODE VARCHAR2)
IS
l_header_rec apps.OE_ORDER_PUB.Header_Rec_Type;
l_line_tbl apps.OE_ORDER_PUB.Line_Tbl_Type;
l_action_request_tbl apps.OE_ORDER_PUB.Request_Tbl_Type;
l_header_adj_tbl apps.OE_ORDER_PUB.Header_Adj_Tbl_Type;
l_line_adj_tbl apps.OE_ORDER_PUB.line_adj_tbl_Type;
l_header_scr_tbl apps.OE_ORDER_PUB.Header_Scredit_Tbl_Type;
l_line_scredit_tbl apps.OE_ORDER_PUB.Line_Scredit_Tbl_Type;
l_request_rec apps.OE_ORDER_PUB.Request_Rec_Type ;
l_return_status VARCHAR2(1000);
l_msg_count NUMBER;
l_msg_data VARCHAR2(1000);
l_msg_index_out NUMBER;
p_api_version_number NUMBER :=1.0;
p_init_msg_list VARCHAR2(10) := apps.FND_API.G_FALSE;
p_return_values VARCHAR2(10) := apps.FND_API.G_FALSE;
p_action_commit VARCHAR2(10) := apps.FND_API.G_FALSE;
x_return_status VARCHAR2(1);
x_msg_count NUMBER;
x_msg_data VARCHAR2(100);
x_header_rec apps.OE_ORDER_PUB.Header_Rec_Type := apps.OE_ORDER_PUB.G_MISS_HEADER_REC;
x_header_val_rec apps.OE_ORDER_PUB.Header_Val_Rec_Type;
x_Header_Adj_tbl apps.OE_ORDER_PUB.Header_Adj_Tbl_Type;
x_Header_Adj_val_tbl apps.OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;
x_Header_price_Att_tbl apps.OE_ORDER_PUB.Header_Price_Att_Tbl_Type;
x_Header_Adj_Att_tbl apps.OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;
x_Header_Adj_Assoc_tbl apps.OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;
x_Header_Scredit_tbl apps.OE_ORDER_PUB.Header_Scredit_Tbl_Type;
x_Header_Scredit_val_tbl apps.OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;
x_line_tbl apps.OE_ORDER_PUB.Line_Tbl_Type;
x_line_val_tbl apps.OE_ORDER_PUB.Line_Val_Tbl_Type;
x_Line_Adj_tbl apps.OE_ORDER_PUB.Line_Adj_Tbl_Type;
x_Line_Adj_val_tbl apps.OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;
x_Line_price_Att_tbl apps.OE_ORDER_PUB.Line_Price_Att_Tbl_Type;
x_Line_Adj_Att_tbl apps.OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;
x_Line_Adj_Assoc_tbl apps.OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;
x_Line_Scredit_tbl apps.OE_ORDER_PUB.Line_Scredit_Tbl_Type;
x_Line_Scredit_val_tbl apps.OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;
x_Lot_Serial_tbl apps.OE_ORDER_PUB.Lot_Serial_Tbl_Type;
x_Lot_Serial_val_tbl apps.OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;
x_action_request_tbl apps.OE_ORDER_PUB.Request_Tbl_Type;
ln_user_id NUMBER;
X_DEBUG VARCHAR2(100);
ln_test VARCHAR2(100) := NULL;
lx_line_rec apps.OE_Order_PUB.Line_Rec_Type;
ln_book NUMBER := 0;
lv_ship_method OE_SHIP_METHODS_V.meaning%type;
BEGIN
dbms_output.enable(1000000);
FND_GLOBAL.APPS_INITIALIZE(
user_id => 2858
, resp_id => 50648
, resp_appl_id => 20011);
mo_global.init('ONT');
apps.MO_GLOBAL.SET_POLICY_CONTEXT('S',82);
l_line_tbl(1) := apps.OE_ORDER_PUB.G_MISS_LINE_REC;
l_line_tbl(1).header_id := p_header_id;
l_line_tbl(1).line_id := p_line_id;
BEGIN
SELECT fl.description , adr.contingency_id, sm.lookup_code, fl.tag INTO
lv_ship_method, l_line_tbl(1).contingency_id,l_line_tbl (1).shipping_method_code, l_line_tbl (1).REVREC_EXPIRATION_DAYS from
fnd_lookup_values fl,
AR_DEFERRAL_REASONS adr, oe_ship_methods_v sm
WHERE adr.contingency_name=fl.description
--and upper(sm.meaning)=fl.lookup_code
and sm.meaning=fl.meaning
AND fl.lookup_type ='GEAR_ACCEPTANCE_S_MAP_APL_LT'
AND fl.meaning= p_SHIPPING_METHOD_CODE
--AND sm.lookup_code=p_SHIPPING_METHOD_CODE
AND fl.language = 'US'
AND fl.enabled_flag = 'Y'
AND sm.enabled_flag='Y'
AND TRUNC (SYSDATE) BETWEEN TRUNC(NVL ( sm.start_date_active,SYSDATE)) AND TRUNC(NVL (sm.end_date_active,SYSDATE+ 1))