The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE Delete_configuration(
P_Api_version_NUmber IN NUMBER,
P_Init_msg_List IN VARCHAR2 := FND_API.G_FALSE,
P_config_hdr_id IN NUMBER,
p_config_rev_nbr IN NUMBER,
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)
IS
l_usage_exists NUMBER;
cz_cf_api.delete_configuration(P_config_hdr_id,
p_config_rev_nbr,
l_usage_exists ,
l_Error_message ,
l_Return_value );
FND_MESSAGE.Set_Name('ASO', 'ASO_CZ_DELETE_ERR');
END Delete_configuration;
PROCEDURE Delete_configuration_auto(
P_Api_version_NUmber IN NUMBER,
P_Init_msg_List IN VARCHAR2 := FND_API.G_FALSE,
P_config_hdr_id IN NUMBER,
p_config_rev_nbr IN NUMBER,
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)
IS
PRAGMA AUTONOMOUS_TRANSACTION;
DELETE_CONFIGURATION(
P_API_VERSION_NUMBER => 1.0,
P_INIT_MSG_LIST => FND_API.G_FALSE,
P_CONFIG_HDR_ID => P_config_hdr_id,
P_CONFIG_REV_NBR => p_config_rev_nbr,
X_RETURN_STATUS => x_return_status,
X_MSG_COUNT => x_msg_count,
X_MSG_DATA => x_msg_data);
END Delete_configuration_auto;
p_handle_deleted_flag IN VARCHAR2 := NULL,
p_new_name IN VARCHAR2 := NULL,
p_autonomous_flag IN VARCHAR2 := FND_API.G_FALSE,
x_config_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
x_config_revision_num OUT NOCOPY /* file.sql.39 change */ NUMBER,
x_orig_item_id_tbl OUT NOCOPY CZ_API_PUB.number_tbl_type,
x_new_item_id_tbl OUT NOCOPY CZ_API_PUB.number_tbl_type,
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
)
IS
l_api_name CONSTANT VARCHAR2(30) := 'COPY_CONFIGURATION';
select config_rev_nbr
from cz_config_details_v
where config_hdr_id = p_config_header_id
and config_rev_nbr = p_config_revision_num;
cursor c_config_max_rev_nbr is select max(config_rev_nbr)
from cz_config_details_v
where config_hdr_id = p_config_header_id;
p_handle_deleted_flag => p_handle_deleted_flag,
p_new_name => p_new_name,
x_config_hdr_id => x_config_header_id,
x_config_rev_nbr => x_config_revision_num,
x_orig_item_id_tbl => x_orig_item_id_tbl,
x_new_item_id_tbl => x_new_item_id_tbl,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data
);
p_handle_deleted_flag => p_handle_deleted_flag,
p_new_name => p_new_name,
x_config_hdr_id => x_config_header_id,
x_config_rev_nbr => x_config_revision_num,
x_orig_item_id_tbl => x_orig_item_id_tbl,
x_new_item_id_tbl => x_new_item_id_tbl,
x_return_status => x_return_status,
x_msg_count => x_msg_count,
x_msg_data => x_msg_data
);
PROCEDURE Update_revision_num(
p_quote_header_id IN NUMBER ,
p_config_hdr_id IN NUMBER ,
p_config_rev_nbr IN NUMBER ,
p_to_config_hdr_id IN NUMBER ,
p_to_config_rev_nbr IN NUMBER ,
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 ) IS
Cursor c_update_revision IS
SELECT quote_line_id,
quote_line_Detail_id
From aso_quote_line_details
Where config_header_id = p_config_hdr_id
AND config_revision_num = p_config_rev_nbr ;
For i_update_revision IN c_update_revision Loop
l_qte_line_rec := l_miss_line_rec ;
l_qte_line_rec.quote_line_id := i_update_revision.quote_line_id ;
l_qte_line_dtl_tbl(1).operation_code := 'UPDATE';
l_qte_line_dtl_tbl(1).quote_line_id := i_update_revision.quote_line_id;
i_update_revision.quote_line_detail_id;
ASO_QUOTE_LINES_PVT.Update_Quote_Line(
P_Api_Version_Number => l_api_version_number ,
P_Init_Msg_List => FND_API.G_FALSE,
P_Commit => FND_API.G_FALSE,
P_Validation_Level => FND_API.G_VALID_LEVEL_NONE ,
P_Qte_Line_Rec => l_qte_line_REC,
P_Qte_Line_Dtl_Tbl => l_qte_line_dtl_TBL,
P_Update_Header_Flag => FND_API.G_FALSE ,
X_Qte_Line_Rec => x_Qte_Line_Rec,
X_payment_tbl => x_payment_tbl,
X_price_adj_tbl => x_price_adj_tbl ,
X_Qte_Line_Dtl_Tbl => x_Qte_Line_Dtl_Tbl ,
X_shipment_tbl => x_shipment_tbl ,
X_tax_detail_tbl => x_tax_detail_tbl ,
X_freight_charge_tbl => x_freight_charge_tbl ,
X_price_attributes_tbl => x_price_attributes_tbl ,
X_price_adj_attr_tbl => x_price_adj_attr_tbl ,
X_line_attribs_ext_tbl => x_line_attribs_ext_tbl ,
X_Sales_Credit_Tbl => x_sales_credit_tbl ,
X_Quote_Party_Tbl => x_quote_party_tbl ,
X_Return_Status => x_return_status ,
X_Msg_Count => x_msg_count,
X_Msg_Data => x_msg_data );
End Update_Revision_Num ;
select related_quote_line_id
from aso_line_relationships
where related_quote_line_id = p_quote_line_id;
SELECT qte_dtl.quote_line_id ,
cfg_dtl.parent_config_item_id ,
cfg_dtl.config_item_id ,
cfg_dtl.inventory_item_id ,
cfg_dtl.organization_id ,
cfg_dtl.component_code ,
cfg_dtl.quantity ,
cfg_dtl.uom_code -- 6661597
FROM cz_config_details_v cfg_dtl ,
aso_quote_line_details qte_dtl
WHERE cfg_dtl.config_hdr_id = l_config_hdr_id
AND cfg_dtl.config_rev_nbr = l_config_rev_nbr
AND cfg_dtl.config_hdr_id = qte_dtl.config_header_id
AND cfg_dtl.config_rev_nbr = qte_dtl.config_revision_num
AND qte_dtl.config_item_id = cfg_dtl.config_item_id ;
SELECT qte_dtl.quote_line_id ,
cfg_dtl.parent_config_item_id ,
cfg_dtl.config_item_id ,
cfg_dtl.inventory_item_id ,
cfg_dtl.organization_id ,
cfg_dtl.component_code ,
cfg_dtl.quantity ,
cfg_dtl.uom_code -- 6661597
FROM cz_config_details_v cfg_dtl ,
aso_quote_line_details qte_dtl
WHERE qte_dtl.quote_line_id = l_model_line_id
AND cfg_dtl.config_hdr_id = l_config_hdr_id
AND cfg_dtl.config_rev_nbr = l_config_rev_nbr
AND cfg_dtl.config_hdr_id = qte_dtl.config_header_id
AND cfg_dtl.config_rev_nbr = qte_dtl.config_revision_num
AND qte_dtl.config_item_id = cfg_dtl.config_item_id;
SELECT config_hdr_id,
config_rev_nbr ,
config_item_id ,
parent_config_item_id ,
inventory_item_id ,
organization_id ,
component_code ,
quantity ,
uom_code,
bom_sort_order,
config_delta,
name,
line_type,
component_sequence_id,
ato_config_item_id,
model_config_item_id
FROM cz_config_details_v cfg_dtl
WHERE config_hdr_id = l_config_hdr_id
AND config_rev_nbr = l_config_rev_nbr
AND NOT EXISTS (SELECT NULL
FROM ASO_QUOTE_LINE_DETAILS qte_dtl
WHERE qte_dtl.config_header_id = cfg_dtl.config_hdr_id
AND qte_dtl.config_revision_num = cfg_dtl.config_rev_nbr
AND qte_dtl.config_item_id = cfg_dtl.config_item_id )
ORDER BY cfg_dtl.bom_sort_order;
SELECT dtl.quote_line_id,
dtl.quote_line_detail_id,
cfg.inventory_item_id ,
cfg.organization_id ,
cfg.component_code ,
cfg.quantity ,
cfg.uom_code,
cfg.bom_sort_order,
cfg.config_delta,
cfg.line_type,
cfg.name,
qte.line_type_source_flag
FROM ASO_QUOTE_LINE_DETAILS dtl,
CZ_CONFIG_DETAILS_V cfg ,
ASO_QUOTE_LINES_ALL qte
WHERE dtl.config_header_id = l_config_hdr_id
AND cfg.config_rev_nbr = l_config_rev_nbr
AND dtl.config_header_id = cfg.config_hdr_id
AND dtl.config_revision_num = cfg.config_rev_nbr
AND dtl.config_item_id = cfg.config_item_id
AND dtl.quote_line_id = qte.quote_line_id
AND ((qte.quantity <> cfg.quantity)
OR (qte.uom_code <> cfg.uom_code)
OR (dtl.complete_configuration_flag <> l_complete_configuration_flag)
OR (dtl.valid_configuration_flag <> l_valid_configuration_flag)
OR (dtl.bom_sort_order <> cfg.bom_sort_order)
OR (dtl.config_instance_name <> cfg.name)
OR (nvl(dtl.config_delta,-1) <> nvl(cfg.config_delta, -1))
OR (nvl(qte.order_line_type_id,-1) <> nvl(cfg.line_type, -1)));
SELECT dtl.quote_line_id
FROM ASO_QUOTE_LINE_DETAILS dtl
WHERE dtl.config_header_id = l_config_hdr_id
AND dtl.config_revision_num = l_config_rev_nbr
AND NOT EXISTS ( SELECT NULL
FROM CZ_CONFIG_DETAILS_V cfg
WHERE cfg.config_item_id = dtl.config_item_id
AND cfg.config_hdr_id = l_config_hdr_id
AND cfg.config_rev_nbr = l_config_rev_nbr );
SELECT quote_line_id
FROM aso_quote_line_details
WHERE config_header_id = p_config_hdr_id
AND config_revision_num = p_config_rev_nbr
AND config_item_id = p_parent_config_item_id;
SELECT quote_line_id
FROM aso_quote_line_details
WHERE ref_type_code = 'CONFIG'
AND ref_line_id IS NULL
AND config_header_id = l_config_hdr_id
AND config_revision_num = l_config_rev_nbr;
SELECT last_update_date, quote_type
FROM ASO_QUOTE_HEADERS_ALL
WHERE quote_header_id = c_qte_header_id;
SELECT order_line_type_id, line_category_code, price_list_id, line_number,ship_model_complete_flag,
config_model_type
FROM aso_quote_lines_all
WHERE quote_line_id = p_config_rec.quote_line_id;
SELECT constraint_type, message
FROM cz_config_messages
WHERE config_hdr_id = p_config_hdr_id
AND config_rev_nbr = p_config_rev_nbr;
SELECT config_header_id
FROM aso_quote_line_details
WHERE ref_type_code = 'CONFIG'
AND ref_line_id IS NULL
AND quote_line_id = p_config_rec.quote_line_id;
select config_hdr_id
from cz_config_details_v
where config_hdr_id = p_config_hdr_id
and config_rev_nbr = p_config_rev_nbr;
l_last_update_date date;
FETCH c_quote INTO l_last_update_date, l_quote_type;
aso_debug_pub.add('Get_config_details: p_qte_header_rec.last_update_date: ' || to_char(p_qte_header_rec.last_update_date, 'DD-MON-YYYY HH24:MI:SS'));
aso_debug_pub.add('Get_config_details: l_last_update_date: ' || to_char(l_last_update_date, 'DD-MON-YYYY HH24:MI:SS'));
if (p_qte_header_rec.last_update_date is not null) and (p_qte_header_rec.last_update_date <> fnd_api.g_miss_date) then
If (l_last_update_date <> p_qte_header_rec.last_update_date) Then
IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR) THEN
FND_MESSAGE.Set_Name('ASO', 'ASO_API_RECORD_CHANGED');
UPDATE aso_quote_line_details
SET config_revision_num = p_config_rev_nbr,
last_update_date = sysdate,
last_updated_by = FND_GLOBAL.USER_ID,
last_update_login = FND_GLOBAL.CONC_LOGIN_ID
WHERE config_header_id = p_config_rec.config_header_id
AND config_revision_num = p_config_rec.config_revision_num ;
aso_debug_pub.add('Get_config_details: Inside WHEN OTHERS Exception of Update config_revision_num');
aso_debug_pub.add( 'ASO_CFG_INT: Get_config_details: After Update config_revision_num');
l_Qte_Line_Tbl(l_index).OPERATION_CODE := 'UPDATE';
l_Qte_Line_Tbl(l_index).OPERATION_CODE := 'UPDATE';
l_Qte_Line_dtl_Tbl(l_index).OPERATION_CODE := 'UPDATE';
l_Qte_Line_Tbl(l_index).OPERATION_CODE := 'DELETE';
l_qte_header_rec.last_update_date := l_last_update_date;
aso_debug_pub.add( 'Get_Config_details: Before call to Update Quote table count');
ASO_QUOTE_PUB.Update_Quote(
p_api_version_number => 1.0,
p_init_msg_list => FND_API.G_FALSE,
p_commit => FND_API.G_FALSE,
p_control_rec => p_control_rec,
p_qte_header_rec => l_qte_header_rec,
p_hd_tax_detail_tbl => l_hd_tax_detail_tbl,
--P_hd_Shipment_Tbl => l_Shipment_tbl,
P_Qte_Line_Tbl => l_Qte_Line_Tbl,
P_Qte_Line_Dtl_Tbl => l_Qte_Line_Dtl_Tbl,
P_ln_Payment_Tbl => l_ln_Payment_Tbl,
--P_ln_Tax_Detail_Tbl => l_ln_tax_detail_tbl,
x_Qte_Header_Rec => lx_qte_header_rec,
X_Qte_Line_Tbl => lx_Qte_Line_Tbl,
X_Qte_Line_Dtl_Tbl => lx_Qte_Line_Dtl_Tbl,
X_hd_Price_Attributes_Tbl => lx_hd_Price_Attr_Tbl,
X_hd_Payment_Tbl => lx_hd_Payment_Tbl,
X_hd_Shipment_Tbl => lx_hd_Shipment_Tbl,
X_hd_Freight_Charge_Tbl => lx_hd_Freight_Charge_Tbl,
X_hd_Tax_Detail_Tbl => lx_hd_Tax_Detail_Tbl,
x_Line_Attr_Ext_Tbl => lx_Line_Attr_Ext_Tbl,
X_line_rltship_tbl => lx_line_rltship_tbl,
X_Price_Adjustment_Tbl => lx_Price_Adjustment_Tbl,
X_Price_Adj_Attr_Tbl => lx_Price_Adj_Attr_Tbl,
X_Price_Adj_Rltship_Tbl => lx_Price_Adj_Rltship_Tbl,
X_ln_Price_Attributes_Tbl => lx_ln_Price_Attr_Tbl,
X_ln_Payment_Tbl => lx_ln_Payment_Tbl,
X_ln_Shipment_Tbl => lx_ln_Shipment_Tbl,
X_ln_Freight_Charge_Tbl => lx_ln_Freight_Charge_Tbl,
X_ln_Tax_Detail_Tbl => lx_ln_Tax_Detail_Tbl,
X_Return_Status => x_Return_Status,
X_Msg_Count => x_Msg_Count,
X_Msg_Data => x_Msg_Data);
aso_debug_pub.add('Get_config_details: After call to Update_quote x_Return_Status: ' || x_Return_Status);
ASO_CFG_INT.DELETE_CONFIGURATION( P_API_VERSION_NUMBER => 1.0,
P_INIT_MSG_LIST => FND_API.G_FALSE,
P_CONFIG_HDR_ID => p_config_rec.config_header_id,
P_CONFIG_REV_NBR => p_config_rec.config_revision_num,
X_RETURN_STATUS => lx_return_status,
X_MSG_COUNT => x_msg_count,
X_MSG_DATA => x_msg_data);
aso_debug_pub.add('After call to ASO_CFG_INT.DELETE_CONFIGURATION: x_Return_Status: ' || lx_Return_Status);
FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
DELETE aso_line_relationships
WHERE line_relationship_id IN (SELECT line_relationship_id
FROM aso_line_relationships a
WHERE a.relationship_type_code = 'CONFIG'
START WITH a.quote_line_id = p_config_rec.quote_line_id
CONNECT BY PRIOR a.related_quote_line_id = a.quote_line_id);
ASO_CFG_INT.DELETE_CONFIGURATION( P_API_VERSION_NUMBER => 1.0,
P_INIT_MSG_LIST => FND_API.G_FALSE,
P_CONFIG_HDR_ID => p_config_rec.config_header_id,
P_CONFIG_REV_NBR => p_config_rec.config_revision_num,
X_RETURN_STATUS => lx_return_status,
X_MSG_COUNT => x_msg_count,
X_MSG_DATA => x_msg_data);
aso_debug_pub.add('After call to ASO_CFG_INT.DELETE_CONFIGURATION: x_Return_Status: ' || lx_Return_Status);
FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
ASO_CFG_INT.DELETE_CONFIGURATION_AUTO( P_API_VERSION_NUMBER => 1.0,
P_INIT_MSG_LIST => FND_API.G_FALSE,
P_CONFIG_HDR_ID => p_config_hdr_id,
P_CONFIG_REV_NBR => p_config_rev_nbr,
X_RETURN_STATUS => lx_return_status,
X_MSG_COUNT => x_msg_count,
X_MSG_DATA => x_msg_data);
aso_debug_pub.add('After call to ASO_CFG_INT.DELETE_CONFIGURATION: x_Return_Status: ' || lx_Return_Status);
FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
ASO_CFG_INT.DELETE_CONFIGURATION_AUTO( P_API_VERSION_NUMBER => 1.0,
P_INIT_MSG_LIST => FND_API.G_FALSE,
P_CONFIG_HDR_ID => p_config_hdr_id,
P_CONFIG_REV_NBR => p_config_rev_nbr,
X_RETURN_STATUS => lx_return_status,
X_MSG_COUNT => x_msg_count,
X_MSG_DATA => x_msg_data);
aso_debug_pub.add('After call to ASO_CFG_INT.DELETE_CONFIGURATION: x_Return_Status: ' || lx_Return_Status);
FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
ASO_CFG_INT.DELETE_CONFIGURATION_AUTO( P_API_VERSION_NUMBER => 1.0,
P_INIT_MSG_LIST => FND_API.G_FALSE,
P_CONFIG_HDR_ID => p_config_hdr_id,
P_CONFIG_REV_NBR => p_config_rev_nbr,
X_RETURN_STATUS => lx_return_status,
X_MSG_COUNT => x_msg_count,
X_MSG_DATA => x_msg_data);
aso_debug_pub.add('After call to ASO_CFG_INT.DELETE_CONFIGURATION: x_Return_Status: ' || lx_Return_Status);
FND_MESSAGE.Set_Name('ASO', 'ASO_DELETE');
Select item_key, cz_atp_callback_util.inv_item_id_from_item_key(item_key) item_id,
quantity, uom_code,substr(item_key, 1,instr( item_key, ':' ,1)-1) component_code,
config_item_id
from cz_pricing_structures
Where configurator_session_key = p_config_session_key
and item_key_type = 1;
select a.quote_header_id, a.price_list_id, b.org_id
from aso_quote_lines_all a, aso_quote_headers_all b
where a.quote_header_id = b.quote_header_id
and a.quote_line_id = p_quote_line_id;
Select config_header_id
from aso_quote_line_details
where quote_line_id = p_quote_line_id;
Select qtl.price_list_id, qtl.quote_line_id
from aso_quote_lines_all qtl,
aso_quote_line_details qtl_dtl
where qtl.quote_line_id = qtl_dtl.quote_line_id
and qtl_dtl.config_item_id = p_config_item_id
and qtl_dtl.config_header_id = p_config_header_id
and ref_line_id is not null;
Select quote_line_id
from aso_quote_line_details
where quote_line_id = p_quote_line_id
and config_header_id = p_config_header_id
and ref_line_id is not null;
select list_price,selling_price,config_item_id
from cz_pricing_structures
where configurator_session_key = p_session_key;
select charge_periodicity_code
from mtl_system_items_b
where inventory_item_id = p_inventory_item_id
and organization_id = p_organization_id;
UPDATE CZ_PRICING_STRUCTURES
SET MSG_DATA = l_mymsg
WHERE configurator_session_key = p_config_session_key;
UPDATE CZ_PRICING_STRUCTURES
SET selling_price = lx_qte_line_tbl(i).LINE_QUOTE_PRICE,
list_price = lx_qte_line_tbl(i).line_list_price
WHERE configurator_session_key = p_config_session_key
AND config_item_id = l_qte_line_dtl_tbl(i - l_count).config_item_id;
aso_debug_pub.add('PRICING CALLBACK: After Update sql%rowcount: '|| sql%rowcount);
SELECT sum(selling_price) INTO x_total_price
FROM CZ_PRICING_STRUCTURES
WHERE configurator_session_key = p_config_session_key;
aso_debug_pub.add('ASO_CFG_INT: PRICING CALLBACK: Inside When Others Exception for select sum(selling_price)');
aso_debug_pub.add('PRICING CALLBACK: Data in CZ_PRICING_STRUCTURES table after update to list and selling prices columns.');
UPDATE CZ_PRICING_STRUCTURES
SET MSG_DATA = lx_msg_data
WHERE configurator_session_key = p_config_session_key;
select quote_line_id,
inventory_item_id,
quantity,
uom_code,
price_list_id,
charge_periodicity_code
from aso_quote_lines_all
where quote_header_id = p_qte_header_id
and quote_line_id not in ( select a.quote_line_id
from aso_quote_line_details a
where (a.config_header_id, a.config_revision_num)
= ( select config_header_id, config_revision_num
from aso_quote_line_details
where quote_line_id = p_qte_line_id ))
and quote_line_id <> p_qte_line_id;
select org_id from aso_quote_headers_all
where quote_header_id = p_quote_header_id;
select organization_id from aso_quote_lines_all
where quote_line_id = p_quote_line_id;
options that are newly inserted/updated/deleted
from the model.
SPC validation_status :
CONFIG_PROCESSED constant NUMBER :=0;
l_option_rec CZ_CF_API.INPUT_SELECTION;
l_delete_qty VARCHAR2(30) := '0';
IF P_Qte_Line_Tbl(i).operation_code = 'DELETE' THEN
l_option_rec.quantity := l_delete_qty;
ELSIF P_Qte_Line_Tbl(i).operation_code = 'UPDATE' THEN
l_option_rec.quantity := P_Qte_Line_Tbl(i).quantity;
l_html_pieces.DELETE;
SELECT constraint_type , message
FROM cz_config_messages
WHERE config_hdr_id = p_config_hdr_id
AND config_rev_nbr = p_config_rev_nbr;
that are updated and deleted from the model.
Parse_output_xml : parses the CZ output xml message to see if the configuration
is valid and complete.
Get_config_details : To save options along with the model line in ASO_QUOTE_LINES_ALL
, ASO_QUOTE_LINE_DETAILS and ASO_LINE_RELATIONSHIPS
-----------------------------------------------------------------------*/
PROCEDURE Validate_Configuration
(P_Api_Version_Number IN NUMBER := FND_API.G_MISS_NUM,
P_Init_Msg_List IN VARCHAR2 := FND_API.G_FALSE,
P_Commit IN VARCHAR2 := FND_API.G_FALSE,
p_control_rec IN aso_quote_pub.control_rec_type
:= aso_quote_pub.G_MISS_control_rec,
P_model_line_id IN NUMBER,
P_Qte_Line_Tbl IN ASO_QUOTE_PUB.Qte_Line_Tbl_Type
:= ASO_QUOTE_PUB.G_MISS_QTE_LINE_TBL,
P_Qte_Line_Dtl_Tbl IN ASO_QUOTE_PUB.Qte_Line_Dtl_Tbl_Type
:= ASO_QUOTE_PUB.G_MISS_QTE_LINE_DTL_TBL,
X_config_header_id OUT NOCOPY /* file.sql.39 change */ NUMBER,
X_config_revision_num OUT NOCOPY /* file.sql.39 change */ NUMBER,
X_valid_configuration_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
X_complete_configuration_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
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
)
IS
l_api_name CONSTANT VARCHAR2(30) := 'Validate_Configuration' ;
l_delete_config VARCHAR2(1) := fnd_api.g_false;
l_delete_config := fnd_api.g_true;
aso_debug_pub.add('Validate_Configuration: l_delete_config: '||l_delete_config);
IF (l_return_status = FND_API.G_RET_STS_SUCCESS) and (l_delete_config = fnd_api.g_false) THEN
-- Call GET_CONFIG_DETAILS to update the existing configuration
-- Set the Call_batch_validation_flag to FND_API.G_FALSE to avoid recursive call to update_quote
l_model_line_dtl_tbl(1).valid_configuration_flag := l_valid_configuration_flag;
l_delete_config := fnd_api.g_true;
aso_debug_pub.add('Validate_Configuration: l_delete_config: '||l_delete_config);
if l_delete_config = fnd_api.g_true then
x_return_status := FND_API.G_RET_STS_ERROR;