236: END IF;
237:
238: if tax_treatment = 'PRORATE' then
239: if ((tax_remaining+line_remaining) <> 0) then
240: l_tax_applied := arpcurr.currround((tax_remaining*amt/(tax_remaining+line_remaining)),currency);
241: end if;
242: line_applied := amt - l_tax_applied;
243: IF PG_DEBUG in ('Y', 'C') THEN
244: arp_standard.debug('extract_taxes: ' || '.. PRORATE : line_applied = ' || to_char(line_applied));
267: end if;
268: else
269: if o_tax_treatment = 'PRORATE' then
270: if ((tax_remaining+line_remaining) <> 0) then
271: l_tax_applied := arpcurr.currround((tax_remaining*amt/(tax_remaining+line_remaining)),currency);
272: end if;
273: line_applied := amt - l_tax_applied;
274: elsif o_tax_treatment = 'BEFORE' then
275: line_applied := line_remaining ;
1141: | l_gross_remaining := l_line_remaining + l_freight_remaining + l_charges_rema
1142: | ining ;
1143: | if (l_amt > 0) and (l_amt < l_gross_remaining) then
1144: |
1145: | l_freight_applied := arpcurr.currround((l_amt * l_freight_remaining /
1146: | l_gross_remaining),:currency) ;
1147: |
1148: | l_charges_applied := arpcurr.currround((l_amt * l_charges_remaining /
1149: | l_gross_remaining),:currency) ;
1144: |
1145: | l_freight_applied := arpcurr.currround((l_amt * l_freight_remaining /
1146: | l_gross_remaining),:currency) ;
1147: |
1148: | l_charges_applied := arpcurr.currround((l_amt * l_charges_remaining /
1149: | l_gross_remaining),:currency) ;
1150: |
1151: | l_line_applied := l_amt - l_freight_applied - l_charges_applied ;
1152: |
1179: | l_amt := l_amt - l_charges_remaining ;
1180: |
1181: | end loop;
1182: |
1183: | l_freight_applied := l_freight_applied + arpcurr.currround((l_amt * l
1184: | _freight_remaining / l_gross_remaining),:currency) ;
1185: |
1186: | l_charges_applied := l_charges_applied + arpcurr.currround((l_amt * l_
1187: | charges_remaining / l_gross_remaining),:currency) ;
1182: |
1183: | l_freight_applied := l_freight_applied + arpcurr.currround((l_amt * l
1184: | _freight_remaining / l_gross_remaining),:currency) ;
1185: |
1186: | l_charges_applied := l_charges_applied + arpcurr.currround((l_amt * l_
1187: | charges_remaining / l_gross_remaining),:currency) ;
1188: |
1189: | l_line_applied := l_line_applied + l_amt - arpcurr.currround((l_amt *
1190: | l_freight_remaining / l_gross_remaining),:currency) - arpcurr.currround((l_amt
1185: |
1186: | l_charges_applied := l_charges_applied + arpcurr.currround((l_amt * l_
1187: | charges_remaining / l_gross_remaining),:currency) ;
1188: |
1189: | l_line_applied := l_line_applied + l_amt - arpcurr.currround((l_amt *
1190: | l_freight_remaining / l_gross_remaining),:currency) - arpcurr.currround((l_amt
1191: | * l_charges_remaining / l_gross_remaining),:currency) ;
1192: |
1193: | l_amt := 0 ;
1186: | l_charges_applied := l_charges_applied + arpcurr.currround((l_amt * l_
1187: | charges_remaining / l_gross_remaining),:currency) ;
1188: |
1189: | l_line_applied := l_line_applied + l_amt - arpcurr.currround((l_amt *
1190: | l_freight_remaining / l_gross_remaining),:currency) - arpcurr.currround((l_amt
1191: | * l_charges_remaining / l_gross_remaining),:currency) ;
1192: |
1193: | l_amt := 0 ;
1194: |
1213:
1214: procedure COMPILE_RULE ( p_rule_set_id in ar_app_rule_sets.rule_set_id%TYPE) is
1215:
1216:
1217: prorate_line_gross varchar2(100) :='arpcurr.currround((l_amt * l_line_remaining / l_gross_remaining),:currency) ';
1218: prorate_freight_gross varchar2(100) :='arpcurr.currround((l_amt * l_freight_remaining / l_gross_remaining),:currency) ';
1219: prorate_charges_gross varchar2(100) :='arpcurr.currround((l_amt * l_charges_remaining / l_gross_remaining),:currency) ';
1220:
1221: cursor rules is
1214: procedure COMPILE_RULE ( p_rule_set_id in ar_app_rule_sets.rule_set_id%TYPE) is
1215:
1216:
1217: prorate_line_gross varchar2(100) :='arpcurr.currround((l_amt * l_line_remaining / l_gross_remaining),:currency) ';
1218: prorate_freight_gross varchar2(100) :='arpcurr.currround((l_amt * l_freight_remaining / l_gross_remaining),:currency) ';
1219: prorate_charges_gross varchar2(100) :='arpcurr.currround((l_amt * l_charges_remaining / l_gross_remaining),:currency) ';
1220:
1221: cursor rules is
1222: select rule_set_name
1215:
1216:
1217: prorate_line_gross varchar2(100) :='arpcurr.currround((l_amt * l_line_remaining / l_gross_remaining),:currency) ';
1218: prorate_freight_gross varchar2(100) :='arpcurr.currround((l_amt * l_freight_remaining / l_gross_remaining),:currency) ';
1219: prorate_charges_gross varchar2(100) :='arpcurr.currround((l_amt * l_charges_remaining / l_gross_remaining),:currency) ';
1220:
1221: cursor rules is
1222: select rule_set_name
1223: from ar_app_rule_sets