24: l_api_name CONSTANT VARCHAR2(30) := 'create_object';
25: l_line_loc_changes PO_AP_LINE_LOC_REC_TYPE;
26: BEGIN
27:
28: IF PO_LOG.d_proc THEN
29: PO_LOG.proc_begin(d_mod,'p_po_line_location_id',p_po_line_location_id);
30: END IF;
31:
32: l_line_loc_changes := PO_AP_LINE_LOC_REC_TYPE (
25: l_line_loc_changes PO_AP_LINE_LOC_REC_TYPE;
26: BEGIN
27:
28: IF PO_LOG.d_proc THEN
29: PO_LOG.proc_begin(d_mod,'p_po_line_location_id',p_po_line_location_id);
30: END IF;
31:
32: l_line_loc_changes := PO_AP_LINE_LOC_REC_TYPE (
33: po_line_location_id => p_po_line_location_id,
47: quantity_financed => null,
48: quantity_recouped => null
49: );
50:
51: IF PO_LOG.d_proc THEN
52: PO_LOG.proc_end(d_mod);
53: END IF;
54:
55: RETURN l_line_loc_changes;
48: quantity_recouped => null
49: );
50:
51: IF PO_LOG.d_proc THEN
52: PO_LOG.proc_end(d_mod);
53: END IF;
54:
55: RETURN l_line_loc_changes;
56: END create_object;
68: l_uom_rate number;
69: l_item_id number;
70: BEGIN
71:
72: IF PO_LOG.d_proc THEN
73: PO_LOG.proc_begin(d_mod,'po_line_location_id', po_line_location_id);
74: PO_LOG.proc_begin(d_mod,'uom_code_ap', uom_code_ap);
75: END IF;
76:
69: l_item_id number;
70: BEGIN
71:
72: IF PO_LOG.d_proc THEN
73: PO_LOG.proc_begin(d_mod,'po_line_location_id', po_line_location_id);
74: PO_LOG.proc_begin(d_mod,'uom_code_ap', uom_code_ap);
75: END IF;
76:
77: d_position := 10;
70: BEGIN
71:
72: IF PO_LOG.d_proc THEN
73: PO_LOG.proc_begin(d_mod,'po_line_location_id', po_line_location_id);
74: PO_LOG.proc_begin(d_mod,'uom_code_ap', uom_code_ap);
75: END IF;
76:
77: d_position := 10;
78:
85: WHERE PLL.line_location_id = po_line_location_id
86: AND PLL.po_line_id = POL.po_line_id;
87: EXCEPTION
88: WHEN OTHERS THEN
89: IF PO_LOG.d_exc THEN
90: PO_LOG.exc(d_mod,d_position,SQLERRM);
91: END IF;
92: RAISE;
93: END;
86: AND PLL.po_line_id = POL.po_line_id;
87: EXCEPTION
88: WHEN OTHERS THEN
89: IF PO_LOG.d_exc THEN
90: PO_LOG.exc(d_mod,d_position,SQLERRM);
91: END IF;
92: RAISE;
93: END;
94:
92: RAISE;
93: END;
94:
95: d_position := 20;
96: IF PO_LOG.d_stmt THEN
97: PO_LOG.stmt(d_mod,d_position,'uom_code_po: ' || uom_code_po);
98: PO_LOG.stmt(d_mod,d_position,'l_item_id: ' || l_item_id);
99: END IF;
100:
93: END;
94:
95: d_position := 20;
96: IF PO_LOG.d_stmt THEN
97: PO_LOG.stmt(d_mod,d_position,'uom_code_po: ' || uom_code_po);
98: PO_LOG.stmt(d_mod,d_position,'l_item_id: ' || l_item_id);
99: END IF;
100:
101: -- Do the UOM conversion if necessary
94:
95: d_position := 20;
96: IF PO_LOG.d_stmt THEN
97: PO_LOG.stmt(d_mod,d_position,'uom_code_po: ' || uom_code_po);
98: PO_LOG.stmt(d_mod,d_position,'l_item_id: ' || l_item_id);
99: END IF;
100:
101: -- Do the UOM conversion if necessary
102:
113:
114: -- Fetch the conversion rate
115: l_uom_rate := po_uom_s.po_uom_convert(
116: uom_code_ap, uom_code_po, l_item_id);
117: IF PO_LOG.d_stmt THEN
118: PO_LOG.stmt(d_mod,d_position,'l_uom_rate: ' || l_uom_rate);
119: END IF;
120:
121: quantity_billed := round(quantity_billed_ap * l_uom_rate, 15);
114: -- Fetch the conversion rate
115: l_uom_rate := po_uom_s.po_uom_convert(
116: uom_code_ap, uom_code_po, l_item_id);
117: IF PO_LOG.d_stmt THEN
118: PO_LOG.stmt(d_mod,d_position,'l_uom_rate: ' || l_uom_rate);
119: END IF;
120:
121: quantity_billed := round(quantity_billed_ap * l_uom_rate, 15);
122: quantity_financed := round(quantity_financed_ap * l_uom_rate, 15);
124:
125: ELSE
126: -- No UOM conversion necessary
127: d_position := 40;
128: IF PO_LOG.d_stmt THEN
129: PO_LOG.stmt(d_mod,d_position,'No UOM conversion necessary');
130: END IF;
131:
132: quantity_billed := quantity_billed_ap;
125: ELSE
126: -- No UOM conversion necessary
127: d_position := 40;
128: IF PO_LOG.d_stmt THEN
129: PO_LOG.stmt(d_mod,d_position,'No UOM conversion necessary');
130: END IF;
131:
132: quantity_billed := quantity_billed_ap;
133: quantity_financed := quantity_financed_ap;
136: END IF; -- IF (uom_code_ap IS NOT NULL and (uom_code_po <> uom_code_ap) )THEN
137: --
138:
139: d_position := 50;
140: IF PO_LOG.d_stmt THEN
141: PO_LOG.stmt(d_mod,d_position,'quantity_billed: ' || quantity_billed);
142: PO_LOG.stmt(d_mod,d_position,'quantity_financed: '||quantity_financed);
143: PO_LOG.stmt(d_mod,d_position,'quantity_recouped: '||quantity_recouped);
144: END IF;
137: --
138:
139: d_position := 50;
140: IF PO_LOG.d_stmt THEN
141: PO_LOG.stmt(d_mod,d_position,'quantity_billed: ' || quantity_billed);
142: PO_LOG.stmt(d_mod,d_position,'quantity_financed: '||quantity_financed);
143: PO_LOG.stmt(d_mod,d_position,'quantity_recouped: '||quantity_recouped);
144: END IF;
145:
138:
139: d_position := 50;
140: IF PO_LOG.d_stmt THEN
141: PO_LOG.stmt(d_mod,d_position,'quantity_billed: ' || quantity_billed);
142: PO_LOG.stmt(d_mod,d_position,'quantity_financed: '||quantity_financed);
143: PO_LOG.stmt(d_mod,d_position,'quantity_recouped: '||quantity_recouped);
144: END IF;
145:
146: d_position := 60;
139: d_position := 50;
140: IF PO_LOG.d_stmt THEN
141: PO_LOG.stmt(d_mod,d_position,'quantity_billed: ' || quantity_billed);
142: PO_LOG.stmt(d_mod,d_position,'quantity_financed: '||quantity_financed);
143: PO_LOG.stmt(d_mod,d_position,'quantity_recouped: '||quantity_recouped);
144: END IF;
145:
146: d_position := 60;
147: IF PO_LOG.d_proc THEN
143: PO_LOG.stmt(d_mod,d_position,'quantity_recouped: '||quantity_recouped);
144: END IF;
145:
146: d_position := 60;
147: IF PO_LOG.d_proc THEN
148: PO_LOG.proc_end(d_mod);
149: END IF;
150:
151: END populate_calculated_fields;
144: END IF;
145:
146: d_position := 60;
147: IF PO_LOG.d_proc THEN
148: PO_LOG.proc_end(d_mod);
149: END IF;
150:
151: END populate_calculated_fields;
152: