You are on page 1of 5

Declare p_line_tbl p_qual_tbl p_line_attr_tbl p_LINE_DETAIL_tbl p_LINE_DETAIL_qual_tbl p_LINE_DETAIL_attr_tbl p_related_lines_tbl p_control_rec x_line_tbl x_line_qual x_line_attr_tbl x_line_detail_tbl x_line_detail_qual_tbl x_line_detail_attr_tbl

x_related_lines_tbl x_return_status x_return_status_text qual_rec line_attr_rec line_rec detail_rec ; ldet_rec PE; rltd_rec TYPE; l_pricing_contexts_Tbl l_qualifier_contexts_Tbl v_line_tbl_cnt integer; I l_version l_file_val

QP_PREQ_GRP.LINE_TBL_TYPE; QP_PREQ_GRP.QUAL_TBL_TYPE; QP_PREQ_GRP.LINE_ATTR_TBL_TYPE; QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE; QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE; QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE; QP_PREQ_GRP.RELATED_LINES_TBL_TYPE; QP_PREQ_GRP.CONTROL_RECORD_TYPE; QP_PREQ_GRP.LINE_TBL_TYPE; QP_PREQ_GRP.QUAL_TBL_TYPE; QP_PREQ_GRP.LINE_ATTR_TBL_TYPE; QP_PREQ_GRP.LINE_DETAIL_TBL_TYPE; QP_PREQ_GRP.LINE_DETAIL_QUAL_TBL_TYPE; QP_PREQ_GRP.LINE_DETAIL_ATTR_TBL_TYPE; QP_PREQ_GRP.RELATED_LINES_TBL_TYPE; VARCHAR2(240); VARCHAR2(240); QP_PREQ_GRP.QUAL_REC_TYPE; QP_PREQ_GRP.LINE_ATTR_REC_TYPE; QP_PREQ_GRP.LINE_REC_TYPE; QP_PREQ_GRP.LINE_DETAIL_REC_TYPE QP_PREQ_GRP.LINE_DETAIL_REC_TY QP_PREQ_GRP.RELATED_LINES_REC_ QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type; QP_Attr_Mapping_PUB.Contexts_Result_Tbl_Type; BINARY_INTEGER; VARCHAR2(240); VARCHAR2(60);

BEGIN oe_debug_pub.debug_on; oe_debug_pub.initialize; l_file_val := OE_DEBUG_PUB.Set_Debug_Mode('FILE'); oe_Debug_pub.setdebuglevel(5); dbms_output.put_line('File : ' l_file_val); QP_Attr_Mapping_PUB.Build_Contexts( p_request_type_code => 'ONT', p_pricing_type => 'L', x_price_contexts_result_tbl => l_pricing_contexts_Tbl, x_qual_contexts_result_tbl => l_qualifier_Contexts_Tbl ); v_line_tbl_cnt := 1; ---- Control Record p_control_rec.pricing_event :='LINE';-- 'BATCH'; p_control_rec.calculate_flag := 'Y'; --QP_PREQ_GRP.G_SEARCH_N_CALCULATE; p_control_rec.simulation_flag := 'N'; p_control_rec.USE_MULTI_CURRENCY :='Y'; p_control_rec.rounding_flag p_control_Rec.manual_discount_flag p_control_rec.request_type_code p_control_rec.TEMP_TABLE_INSERT_FLAG := 'Q'; := 'Y'; := 'ONT'; := 'Y';

---------------------------- Line Records --------line_rec.request_type_code :='ONT'; line_rec.line_id be any thing for this script line_rec.line_Index line_rec.line_type_code ) line_rec.pricing_effective_date line_rec.active_date_first ip Date line_rec.active_date_second ip Date line_rec.active_date_first_type line_rec.active_date_second_type line_rec.line_quantity line_rec.line_uom_code line_rec.currency_code line_rec.price_flag (No pricing) , 'P'(Phase) p_line_tbl(1) := line_rec; ---- Line Attribute Record line_attr_rec.LINE_INDEX line_attr_rec.PRICING_CONTEXT line_attr_rec.PRICING_ATTRIBUTE line_attr_rec.PRICING_ATTR_VALUE_FROM ITEM ID line_attr_rec.VALIDATED_FLAG p_line_attr_tbl(2) ---- Qualifier Attribute Record

:=1; -- Order Line Id. This can :='1'; -- Request Line Index := 'LINE'; -- LINE or ORDER(Summary Line := sysdate; -- Pricing as of what date ? := sysdate; -- Can be Ordered Date or Sh := sysdate; -- Can be Ordered Date or Sh := 'NO TYPE'; -- ORD/SHIP :='NO TYPE'; -- ORD/SHIP := 1; -- Ordered Quantity := 'EA'; -- Ordered UOM Code := 'USD'; -- Currency Code := 'Y'; -- Price Flag can have 'Y' , 'N'

:= 1; :='ITEM'; -:='PRICING_ATTRIBUTE1'; :='199035'; -- INVENTORY :='N'; := line_attr_rec;

qual_rec.LINE_INDEX := 1; -- Attributes for the abov e line. Attributes are attached with the line index qual_rec.QUALIFIER_CONTEXT :='MODLIST'; qual_rec.QUALIFIER_ATTRIBUTE :='QUALIFIER_ATTRIBUTE4'; qual_rec.QUALIFIER_ATTR_VALUE_FROM :='120849'; - PRICE LIST ID qual_rec.COMPARISON_OPERATOR_CODE := '='; qual_rec.VALIDATED_FLAG :='Y'; p_qual_tbl(1) := qual_rec; qual_rec.LINE_INDEX qual_rec.QUALIFIER_CONTEXT qual_rec.QUALIFIER_ATTRIBUTE qual_rec.QUALIFIER_ATTR_VALUE_FROM -- CUSTOMER ID; qual_rec.COMPARISON_OPERATOR_CODE qual_rec.VALIDATED_FLAG p_qual_tbl(2) := 1; :='CUSTOMER'; :='QUALIFIER_ATTRIBUTE31'; := 207973; := '='; :='Y'; := qual_rec;

-- Promotion Code qual_rec.LINE_INDEX := 1; -- Attributes for the abov e line. Attributes are attached with the line index

qual_rec.QUALIFIER_CONTEXT qual_rec.QUALIFIER_ATTRIBUTE qual_rec.QUALIFIER_ATTR_VALUE_FROM -- COUPON CODE qual_rec.COMPARISON_OPERATOR_CODE qual_rec.VALIDATED_FLAG p_qual_tbl(3)

:='MODLIST'; :='QUALIFIER_ATTRIBUTE3'; :=153384520; := '='; :='Y'; := qual_rec;

QP_PREQ_PUB.PRICE_REQUEST (p_line_tbl, p_qual_tbl, p_line_attr_tbl, p_line_detail_tbl, p_line_detail_qual_tbl, p_line_detail_attr_tbl, p_related_lines_tbl, p_control_rec, x_line_tbl, x_line_qual, x_line_attr_tbl, x_line_detail_tbl, x_line_detail_qual_tbl, x_line_detail_attr_tbl, x_related_lines_tbl, x_return_status, x_return_status_text); -- Return Status Information .. DBMS_OUTPUT.PUT_LINE('Return Status text ' x_return_status_text); DBMS_OUTPUT.PUT_LINE('Return Status ' x_return_status);

DBMS_OUTPUT.PUT_LINE('+---------Information Returned to Caller--------------------+ '); DBMS_OUTPUT.PUT_LINE('-------------Request Line Information-------------------') ; I := x_line_tbl.FIRST; IF I IS NOT NULL THEN LOOP DBMS_OUTPUT.PUT_LINE('Line Index: ' x_line_tbl(I).line_index); DBMS_OUTPUT.PUT_LINE('Unit_price: ' x_line_tbl(I).unit_price); DBMS_OUTPUT.PUT_LINE('Percent price: ' x_line_tbl(I).percent_price); DBMS_OUTPUT.PUT_LINE('Adjusted Unit Price: ' x_line_tbl(I).adjusted_unit_pric e); DBMS_OUTPUT.PUT_LINE('Pricing status code: ' x_line_tbl(I).status_code); DBMS_OUTPUT.PUT_LINE('Pricing status text: ' x_line_tbl(I).status_text); EXIT WHEN I = x_line_tbl.LAST; I := x_line_tbl.NEXT(I); END LOOP; END IF; DBMS_OUTPUT.PUT_LINE('-----------Pricing Attributes Information-------------'); I := x_line_detail_attr_tbl.FIRST;

IF I IS NOT NULL THEN LOOP DBMS_OUTPUT.PUT_LINE(' I - ' I ); DBMS_OUTPUT.PUT_LINE('Line detail Index ' x_line_detail_attr_tbl(I).line_deta il_index); DBMS_OUTPUT.PUT_LINE('Context ' x_line_detail_attr_tbl(I).pricing_context); DBMS_OUTPUT.PUT_LINE('Attribute ' x_line_detail_attr_tbl(I).pricing_attribute ); DBMS_OUTPUT.PUT_LINE('Value ' x_line_detail_attr_tbl(I).pricing_attr_value_fr om); DBMS_OUTPUT.PUT_LINE('Status Code ' x_line_detail_attr_tbl(I).status_code); DBMS_OUTPUT.PUT_LINE('---------------------------------------------------'); EXIT WHEN I = x_line_detail_attr_tbl.last; I:=x_line_detail_attr_tbl.NEXT(I); END LOOP; END IF; DBMS_OUTPUT.PUT_LINE('-----------Qualifier Attributes Information-------------') ; I := x_line_detail_qual_tbl.FIRST; IF I IS NOT NULL THEN LOOP DBMS_OUTPUT.PUT_LINE('Line Detail Index ' x_line_detail_qual_tbl(I).line_deta il_index); DBMS_OUTPUT.PUT_LINE('Context ' x_line_detail_qual_tbl(I).qualifier_context); DBMS_OUTPUT.PUT_LINE('Attribute ' x_line_detail_qual_tbl(I).qualifier_attribu te); DBMS_OUTPUT.PUT_LINE('Value ' x_line_detail_qual_tbl(I).qualifier_attr_value_ from); DBMS_OUTPUT.PUT_LINE('Status Code ' x_line_detail_qual_tbl(I).status_code); DBMS_OUTPUT.PUT_LINE('---------------------------------------------------'); EXIT WHEN I = x_line_detail_qual_tbl.last; I:=x_line_detail_qual_tbl.NEXT(I); END LOOP; END IF; I := x_line_detail_tbl.FIRST; DBMS_OUTPUT.PUT_LINE('------------Price List/Discount Information------------'); IF I IS NOT NULL THEN LOOP DBMS_OUTPUT.PUT_LINE('Line Index: ' x_line_detail_tbl(I).line_index); DBMS_OUTPUT.PUT_LINE('Line Detail Index: ' x_line_detail_tbl(I).line_detail_i ndex); DBMS_OUTPUT.PUT_LINE('Line Detail Type:' x_line_detail_tbl(I).line_detail_typ e_code); DBMS_OUTPUT.PUT_LINE('List Header Id: ' x_line_detail_tbl(I).list_header_id); DBMS_OUTPUT.PUT_LINE('List Line Id: ' x_line_detail_tbl(I).list_line_id); DBMS_OUTPUT.PUT_LINE('List Line Type Code: ' x_line_detail_tbl(I).list_line_t ype_code); DBMS_OUTPUT.PUT_LINE('Adjustment Amount : ' x_line_detail_tbl(I).adjustment_a mount);

DBMS_OUTPUT.PUT_LINE('Line Quantity : ' x_line_detail_tbl(I).line_quantity); DBMS_OUTPUT.PUT_LINE('Operand Calculation Code: ' x_line_detail_tbl(I).Operan d_calculation_code); DBMS_OUTPUT.PUT_LINE('Operand value: ' x_line_detail_tbl(I).operand_value); DBMS_OUTPUT.PUT_LINE('Automatic Flag: ' x_line_detail_tbl(I).automatic_flag); DBMS_OUTPUT.PUT_LINE('Override Flag: ' x_line_detail_tbl(I).override_flag); DBMS_OUTPUT.PUT_LINE('status_code: ' x_line_detail_tbl(I).status_code); DBMS_OUTPUT.PUT_LINE('status text: ' x_line_detail_tbl(I).status_text); DBMS_OUTPUT.PUT_LINE('-------------------------------------------'); EXIT WHEN I = x_line_detail_tbl.LAST; I := x_line_detail_tbl.NEXT(I); END LOOP; END IF; DBMS_OUTPUT.PUT_LINE('--------------Related Lines Information for Price Breaks/S ervice Items---------------'); I := x_related_lines_tbl.FIRST; IF I IS NOT NULL THEN LOOP DBMS_OUTPUT.PUT_LINE('Line Index :' x_related_lines_tbl(I).line_index); DBMS_OUTPUT.PUT_LINE('Line Detail Index: ' x_related_lines_tbl(I).LINE_DETAIL _INDEX); DBMS_OUTPUT.PUT_LINE('Relationship Type Code: ' x_related_lines_tbl(I).relati onship_type_code); DBMS_OUTPUT.PUT_LINE('Related Line Index: ' x_related_lines_tbl(I).RELATED_LI NE_INDEX); DBMS_OUTPUT.PUT_LINE('Related Line Detail Index: ' x_related_lines_tbl(I).rel ated_line_detail_index); DBMS_OUTPUT.PUT_LINE('Status Code: ' x_related_lines_tbl(I).STATUS_CODE); EXIT WHEN I = x_related_lines_tbl.LAST; I := x_related_lines_tbl.NEXT(I); END LOOP; END IF; END;

You might also like