129: IF pon_cf_type_grp.get_cost_factor_details(p_charge_record.cost_factor_id)
130: .price_element_type_id IS NULL
131: THEN
132: asn_debug.put_line('Invalid cost factor id: ' || p_charge_record.cost_factor_id);
133: rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE');
134: rcv_error_pkg.set_token('COLUMN', 'COST_FACTOR_ID');
135: rcv_error_pkg.set_token('ROI_VALUE', p_charge_record.cost_factor_id);
136: rcv_error_pkg.set_token('SYS_VALUE', '');
137: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
130: .price_element_type_id IS NULL
131: THEN
132: asn_debug.put_line('Invalid cost factor id: ' || p_charge_record.cost_factor_id);
133: rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE');
134: rcv_error_pkg.set_token('COLUMN', 'COST_FACTOR_ID');
135: rcv_error_pkg.set_token('ROI_VALUE', p_charge_record.cost_factor_id);
136: rcv_error_pkg.set_token('SYS_VALUE', '');
137: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
138: , 'COST_FACTOR_ID'
131: THEN
132: asn_debug.put_line('Invalid cost factor id: ' || p_charge_record.cost_factor_id);
133: rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE');
134: rcv_error_pkg.set_token('COLUMN', 'COST_FACTOR_ID');
135: rcv_error_pkg.set_token('ROI_VALUE', p_charge_record.cost_factor_id);
136: rcv_error_pkg.set_token('SYS_VALUE', '');
137: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
138: , 'COST_FACTOR_ID'
139: , FALSE
132: asn_debug.put_line('Invalid cost factor id: ' || p_charge_record.cost_factor_id);
133: rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE');
134: rcv_error_pkg.set_token('COLUMN', 'COST_FACTOR_ID');
135: rcv_error_pkg.set_token('ROI_VALUE', p_charge_record.cost_factor_id);
136: rcv_error_pkg.set_token('SYS_VALUE', '');
137: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
138: , 'COST_FACTOR_ID'
139: , FALSE
140: );
133: rcv_error_pkg.set_error_message('RCV_INVALID_ROI_VALUE');
134: rcv_error_pkg.set_token('COLUMN', 'COST_FACTOR_ID');
135: rcv_error_pkg.set_token('ROI_VALUE', p_charge_record.cost_factor_id);
136: rcv_error_pkg.set_token('SYS_VALUE', '');
137: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
138: , 'COST_FACTOR_ID'
139: , FALSE
140: );
141:
168: IF l_vendor_record.error_record.error_status = 'E' THEN
169: asn_debug.put_line('validate_vendor_info returned error: vendor_id: ' || p_charge_record.vendor_id);
170: IF l_vendor_record.error_record.error_message = 'VEN_DISABLED' THEN
171: asn_debug.put_line('Invalid vendor id: ' || p_charge_record.vendor_id);
172: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_VENDOR');
173: rcv_error_pkg.set_token('VALUE', l_vendor_record.vendor_id);
174: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
175: , 'VENDOR_ID'
176: , FALSE
169: asn_debug.put_line('validate_vendor_info returned error: vendor_id: ' || p_charge_record.vendor_id);
170: IF l_vendor_record.error_record.error_message = 'VEN_DISABLED' THEN
171: asn_debug.put_line('Invalid vendor id: ' || p_charge_record.vendor_id);
172: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_VENDOR');
173: rcv_error_pkg.set_token('VALUE', l_vendor_record.vendor_id);
174: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
175: , 'VENDOR_ID'
176: , FALSE
177: );
170: IF l_vendor_record.error_record.error_message = 'VEN_DISABLED' THEN
171: asn_debug.put_line('Invalid vendor id: ' || p_charge_record.vendor_id);
172: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_VENDOR');
173: rcv_error_pkg.set_token('VALUE', l_vendor_record.vendor_id);
174: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
175: , 'VENDOR_ID'
176: , FALSE
177: );
178: ELSIF l_vendor_record.error_record.error_message = 'VEN_HOLD' THEN
176: , FALSE
177: );
178: ELSIF l_vendor_record.error_record.error_message = 'VEN_HOLD' THEN
179: asn_debug.put_line('Invalid vendor id: ' || p_charge_record.vendor_id);
180: rcv_error_pkg.set_error_message('PO_PO_VENDOR_ON_HOLD');
181: rcv_error_pkg.set_token('VALUE', l_vendor_record.vendor_id);
182: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
183: , 'VENDOR_ID'
184: , FALSE
177: );
178: ELSIF l_vendor_record.error_record.error_message = 'VEN_HOLD' THEN
179: asn_debug.put_line('Invalid vendor id: ' || p_charge_record.vendor_id);
180: rcv_error_pkg.set_error_message('PO_PO_VENDOR_ON_HOLD');
181: rcv_error_pkg.set_token('VALUE', l_vendor_record.vendor_id);
182: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
183: , 'VENDOR_ID'
184: , FALSE
185: );
178: ELSIF l_vendor_record.error_record.error_message = 'VEN_HOLD' THEN
179: asn_debug.put_line('Invalid vendor id: ' || p_charge_record.vendor_id);
180: rcv_error_pkg.set_error_message('PO_PO_VENDOR_ON_HOLD');
181: rcv_error_pkg.set_token('VALUE', l_vendor_record.vendor_id);
182: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
183: , 'VENDOR_ID'
184: , FALSE
185: );
186: ELSIF l_vendor_record.error_record.error_message = 'VEN_ID' THEN
184: , FALSE
185: );
186: ELSIF l_vendor_record.error_record.error_message = 'VEN_ID' THEN
187: asn_debug.put_line('Invalid vendor id: ' || p_charge_record.vendor_id);
188: rcv_error_pkg.set_error_message('RCV_VEN_ID');
189: rcv_error_pkg.set_token('SUPPLIER', l_vendor_record.vendor_id);
190: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
191: , 'VENDOR_ID'
192: , FALSE
185: );
186: ELSIF l_vendor_record.error_record.error_message = 'VEN_ID' THEN
187: asn_debug.put_line('Invalid vendor id: ' || p_charge_record.vendor_id);
188: rcv_error_pkg.set_error_message('RCV_VEN_ID');
189: rcv_error_pkg.set_token('SUPPLIER', l_vendor_record.vendor_id);
190: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
191: , 'VENDOR_ID'
192: , FALSE
193: );
186: ELSIF l_vendor_record.error_record.error_message = 'VEN_ID' THEN
187: asn_debug.put_line('Invalid vendor id: ' || p_charge_record.vendor_id);
188: rcv_error_pkg.set_error_message('RCV_VEN_ID');
189: rcv_error_pkg.set_token('SUPPLIER', l_vendor_record.vendor_id);
190: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
191: , 'VENDOR_ID'
192: , FALSE
193: );
194: END IF;
223: IF l_vendor_site_record.error_record.error_message IN
224: ('VEN_SITE_ID', 'VEN_SITE_DISABLED', 'VEN_SITE_NOT_PURCH')
225: THEN
226: asn_debug.put_line('Invalid vendor site id: ' || p_charge_record.vendor_site_id);
227: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_VENDOR_SITE');
228: rcv_error_pkg.set_token('VALUE', l_vendor_site_record.vendor_site_id);
229: rcv_error_pkg.log_interface_error( 'RCV_HEADERS_INTERFACE'
230: , 'VENDOR_SITE_ID'
231: , FALSE
224: ('VEN_SITE_ID', 'VEN_SITE_DISABLED', 'VEN_SITE_NOT_PURCH')
225: THEN
226: asn_debug.put_line('Invalid vendor site id: ' || p_charge_record.vendor_site_id);
227: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_VENDOR_SITE');
228: rcv_error_pkg.set_token('VALUE', l_vendor_site_record.vendor_site_id);
229: rcv_error_pkg.log_interface_error( 'RCV_HEADERS_INTERFACE'
230: , 'VENDOR_SITE_ID'
231: , FALSE
232: );
225: THEN
226: asn_debug.put_line('Invalid vendor site id: ' || p_charge_record.vendor_site_id);
227: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_VENDOR_SITE');
228: rcv_error_pkg.set_token('VALUE', l_vendor_site_record.vendor_site_id);
229: rcv_error_pkg.log_interface_error( 'RCV_HEADERS_INTERFACE'
230: , 'VENDOR_SITE_ID'
231: , FALSE
232: );
233: END IF;
247: RETURN;
248: END IF;
249:
250: IF p_charge_record.amount <= 0 THEN
251: rcv_error_pkg.set_error_message('RCV_ROI_INVALID_VALUE');
252: rcv_error_pkg.set_token('COLUMN', 'AMOUNT');
253: rcv_error_pkg.set_token('ROI_VALUE', p_charge_record.amount);
254: rcv_error_pkg.set_token('SYS_VALUE', 'a positive value');
255: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
248: END IF;
249:
250: IF p_charge_record.amount <= 0 THEN
251: rcv_error_pkg.set_error_message('RCV_ROI_INVALID_VALUE');
252: rcv_error_pkg.set_token('COLUMN', 'AMOUNT');
253: rcv_error_pkg.set_token('ROI_VALUE', p_charge_record.amount);
254: rcv_error_pkg.set_token('SYS_VALUE', 'a positive value');
255: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
256: , 'ESTIMATED_AMOUNT'
249:
250: IF p_charge_record.amount <= 0 THEN
251: rcv_error_pkg.set_error_message('RCV_ROI_INVALID_VALUE');
252: rcv_error_pkg.set_token('COLUMN', 'AMOUNT');
253: rcv_error_pkg.set_token('ROI_VALUE', p_charge_record.amount);
254: rcv_error_pkg.set_token('SYS_VALUE', 'a positive value');
255: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
256: , 'ESTIMATED_AMOUNT'
257: , FALSE);
250: IF p_charge_record.amount <= 0 THEN
251: rcv_error_pkg.set_error_message('RCV_ROI_INVALID_VALUE');
252: rcv_error_pkg.set_token('COLUMN', 'AMOUNT');
253: rcv_error_pkg.set_token('ROI_VALUE', p_charge_record.amount);
254: rcv_error_pkg.set_token('SYS_VALUE', 'a positive value');
255: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
256: , 'ESTIMATED_AMOUNT'
257: , FALSE);
258:
251: rcv_error_pkg.set_error_message('RCV_ROI_INVALID_VALUE');
252: rcv_error_pkg.set_token('COLUMN', 'AMOUNT');
253: rcv_error_pkg.set_token('ROI_VALUE', p_charge_record.amount);
254: rcv_error_pkg.set_token('SYS_VALUE', 'a positive value');
255: rcv_error_pkg.log_interface_error( 'RCV_CHARGES_INTERFACE'
256: , 'ESTIMATED_AMOUNT'
257: , FALSE);
258:
259: p_charge_record.processing_status_code := 'E';
278: IF l_currency_record.error_record.error_status = 'E' THEN
279: IF l_currency_record.error_record.error_message IN
280: ('CURRENCY_DISABLED', 'CURRENCY_INVALID')
281: THEN
282: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_CURRENCY');
283: rcv_error_pkg.set_token('VALUE', l_currency_record.currency_code);
284: rcv_error_pkg.log_interface_error( 'RCV_HEADERS_INTERFACE'
285: , 'CURRENCY_CODE'
286: , FALSE
279: IF l_currency_record.error_record.error_message IN
280: ('CURRENCY_DISABLED', 'CURRENCY_INVALID')
281: THEN
282: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_CURRENCY');
283: rcv_error_pkg.set_token('VALUE', l_currency_record.currency_code);
284: rcv_error_pkg.log_interface_error( 'RCV_HEADERS_INTERFACE'
285: , 'CURRENCY_CODE'
286: , FALSE
287: );
280: ('CURRENCY_DISABLED', 'CURRENCY_INVALID')
281: THEN
282: rcv_error_pkg.set_error_message('PO_PDOI_INVALID_CURRENCY');
283: rcv_error_pkg.set_token('VALUE', l_currency_record.currency_code);
284: rcv_error_pkg.log_interface_error( 'RCV_HEADERS_INTERFACE'
285: , 'CURRENCY_CODE'
286: , FALSE
287: );
288:
804: , p_charge_allocation_table
805: );
806: ELSE
807: asn_debug.put_line('Unknown allocation method: ' || p_charge.allocation_method);
808: rcv_error_pkg.set_error_message('RCV_UNKNOWN_ALLOCATION_METHOD');
809: rcv_error_pkg.set_token('VALUE', p_charge.allocation_method);
810: rcv_error_pkg.log_interface_error( 'RCV_CHARGES'
811: , 'ALLOCATION_METHOD'
812: , FALSE
805: );
806: ELSE
807: asn_debug.put_line('Unknown allocation method: ' || p_charge.allocation_method);
808: rcv_error_pkg.set_error_message('RCV_UNKNOWN_ALLOCATION_METHOD');
809: rcv_error_pkg.set_token('VALUE', p_charge.allocation_method);
810: rcv_error_pkg.log_interface_error( 'RCV_CHARGES'
811: , 'ALLOCATION_METHOD'
812: , FALSE
813: );
806: ELSE
807: asn_debug.put_line('Unknown allocation method: ' || p_charge.allocation_method);
808: rcv_error_pkg.set_error_message('RCV_UNKNOWN_ALLOCATION_METHOD');
809: rcv_error_pkg.set_token('VALUE', p_charge.allocation_method);
810: rcv_error_pkg.log_interface_error( 'RCV_CHARGES'
811: , 'ALLOCATION_METHOD'
812: , FALSE
813: );
814: RAISE UNKNOWN_ALLOCATION_METHOD;