commit de11ed073cd23c9906ee8c07469438f6e16735c1 Author: Nemanthi <143495337+Nemanthi@users.noreply.github.com> Date: Tue Jul 15 20:59:24 2025 +0530 SSRS to report designer conversion diff --git a/apppay/model/apppay/AppForPayment.report b/apppay/model/apppay/AppForPayment.report new file mode 100644 index 0000000..0bf2635 --- /dev/null +++ b/apppay/model/apppay/AppForPayment.report @@ -0,0 +1,1497 @@ + + + + + AppForPaymentRep + + + + + Main + REPORT_STRUCTURE + + + 53f87400-a633-11e1-0f58-e7430adee1ca + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + DocumentFooter + + + + + -192 + 199 + + + + + 160 + 817 + + + + + d86d4870-6e82-11e1-0ae5-a3ea7f089dce + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + Footer + + + + + 574 + 598 + + + + + 147 + 171 + + + + + ddca56c0-6e80-11e1-00f1-e6eec4d9e8fe + REPORT + 0 + 0 + + + EntityName + AppForPayment + + + LUName + AppForPaymentRep + + + + + 196 + 101 + + + + + 156 + 76 + + + + + ddccc7c0-6e80-11e1-00f1-e6eec4d9e8fe + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + Head + + + + + 187 + 217 + + + + + 174 + 1083 + + + + + ddcf38c0-6e80-11e1-00f1-e6eec4d9e8fe + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + Item + + + + + -165 + 1218 + + + + + 169 + 95 + + + + + ddcf38c1-6e80-11e1-00f1-e6eec4d9e8fe + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + DLine + + + + + -181 + 1379 + + + + + 129 + 76 + + + + + ddcf38c2-6e80-11e1-00f1-e6eec4d9e8fe + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + DLineDetail + + + + + 101 + 1439 + + + + + 153 + 152 + + + + + ddcf38c3-6e80-11e1-00f1-e6eec4d9e8fe + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + Line + + + + + 156 + 1343 + + + + + 129 + 76 + + + + + ddcf38c4-6e80-11e1-00f1-e6eec4d9e8fe + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + LineDetail + + + + + 294 + 1439 + + + + + 153 + 152 + + + + + 51d11820-dfbf-11ef-1c35-d33c0337a71d + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + Detail + + + + + 406 + 215 + + + + + 128 + 76 + + + + + + + AGGREGATE + ddcf38c3-6e80-11e1-00f1-e6eec4d9e8fe + ddcf38c4-6e80-11e1-00f1-e6eec4d9e8fe + 0 + + + ReportBlockEdgeName + LineDetails + + + IsArray + true + + + BlockName + LineDetail + + + + + 262 + 1418 + + + 293 + 1445 + + + + + AGGREGATE + ddcf38c0-6e80-11e1-00f1-e6eec4d9e8fe + ddcf38c1-6e80-11e1-00f1-e6eec4d9e8fe + 0 + + + ReportBlockEdgeName + DLines + + + IsArray + true + + + BlockName + DLine + + + + + -93 + 1312 + + + -109 + 1378 + + + + + AGGREGATE + ddccc7c0-6e80-11e1-00f1-e6eec4d9e8fe + 53f87400-a633-11e1-0f58-e7430adee1ca + 0 + + + ReportBlockEdgeName + DocumentFooters + + + IsArray + true + + + BlockName + DocumentFooter + + + + + 186 + 723 + + + -33 + 637 + + + + + AGGREGATE + ddca56c0-6e80-11e1-00f1-e6eec4d9e8fe + ddccc7c0-6e80-11e1-00f1-e6eec4d9e8fe + 0 + + + ReportBlockEdgeName + Heads + + + IsArray + true + + + BlockName + Head + + + + + 273 + 176 + + + 273 + 216 + + + + + AGGREGATE + ddccc7c0-6e80-11e1-00f1-e6eec4d9e8fe + ddcf38c0-6e80-11e1-00f1-e6eec4d9e8fe + 0 + + + ReportBlockEdgeName + Items + + + IsArray + true + + + BlockName + Item + + + + + 186 + 881 + + + -49 + 1217 + + + + + AGGREGATE + ddcf38c1-6e80-11e1-00f1-e6eec4d9e8fe + ddcf38c2-6e80-11e1-00f1-e6eec4d9e8fe + 0 + + + ReportBlockEdgeName + DLineDetails + + + IsArray + true + + + BlockName + DLineDetail + + + + + -53 + 1437 + + + 100 + 1488 + + + + + AGGREGATE + ddccc7c0-6e80-11e1-00f1-e6eec4d9e8fe + d86d4870-6e82-11e1-0ae5-a3ea7f089dce + 0 + + + ReportBlockEdgeName + Footers + + + IsArray + true + + + BlockName + Footer + + + + + 360 + 740 + + + 573 + 697 + + + + + 0 + 1 + + + + + AGGREGATE + ddcf38c0-6e80-11e1-00f1-e6eec4d9e8fe + ddcf38c3-6e80-11e1-00f1-e6eec4d9e8fe + 0 + + + ReportBlockEdgeName + Lines + + + IsArray + true + + + BlockName + Line + + + + + 3 + 1296 + + + 155 + 1355 + + + + + AGGREGATE + ddccc7c0-6e80-11e1-00f1-e6eec4d9e8fe + 51d11820-dfbf-11ef-1c35-d33c0337a71d + 0 + + + ReportBlockEdgeName + Details + + + IsArray + true + + + BlockName + Detail + + + + + 360 + 533 + + + 454 + 290 + + + + + + + AppForPayment + APPPAY + AppForPaymentRep + + + Head + SELECT + to_number(NULL) deduction_percent, + to_number(NULL) discount_percent, + to_number(NULL) retention_percent, + to_number(NULL) bal_due, + to_number(NULL) paid_to_date, + to_number(NULL) this_tax_amount, + to_number(NULL) prev_tax_amount, + to_number(NULL) used_tax_amount, + to_number(NULL) this_afp_total_due, + to_number(NULL) this_used_ret_released, + to_number(NULL) this_used_deduction, + to_number(NULL) this_used_discount, + to_number(NULL) this_used_tot_retvalue, + to_number(NULL) this_afp_total_value, + to_number(NULL) prev_afp_total_due, + to_number(NULL) prev_used_ret_released, + to_number(NULL) prev_used_deduction, + to_number(NULL) prev_used_discount, + to_number(NULL) prev_used_tot_retvalue, + to_number(NULL) prev_afp_total_value, + to_number(NULL) afp_total_due, + to_number(NULL) used_ret_released, + to_number(NULL) used_deduction, + to_number(NULL) used_discount, + to_number(NULL) used_tot_retvalue, + to_number(NULL) afp_total_value, + NULL currency_code, + NULL customer_name, + NULL contract_ref, + NULL county, + NULL city, + NULL zip_code, + NULL address6, + NULL address5, + NULL address4, + NULL address3, + NULL address2, + NULL address1, + NULL our_ref, + NULL pay_terms, + to_date(NULL) pay_due_date, + NULL customer_no, + NULL contract_name, + to_number(NULL) afp_no, + NULL contract_no, + to_date(NULL) val_date, + to_date(NULL) afp_date, + NULL cust_cert_no, + NULL page_footer_1, + NULL page_footer_2, + NULL page_footer_3, + NULL page_footer_4 + FROM dual + + + DeductionPercent + NUMBER + + + DiscountPercent + NUMBER + + + RetentionPercent + NUMBER + + + BalDue + NUMBER + + + PaidToDate + NUMBER + + + ThisTaxAmount + NUMBER + + + PrevTaxAmount + NUMBER + + + UsedTaxAmount + NUMBER + + + ThisAfpTotalDue + NUMBER + + + ThisUsedRetReleased + NUMBER + + + ThisUsedDeduction + NUMBER + + + ThisUsedDiscount + NUMBER + + + ThisUsedTotRetvalue + NUMBER + + + ThisAfpTotalValue + NUMBER + + + PrevAfpTotalDue + NUMBER + + + PrevUsedRetReleased + NUMBER + + + PrevUsedDeduction + NUMBER + + + PrevUsedDiscount + NUMBER + + + PrevUsedTotRetvalue + NUMBER + + + PrevAfpTotalValue + NUMBER + + + AfpTotalDue + NUMBER + + + UsedRetReleased + NUMBER + + + UsedDeduction + NUMBER + + + UsedDiscount + NUMBER + + + UsedTotRetvalue + NUMBER + + + AfpTotalValue + NUMBER + + + CurrencyCode + TEXT + 2000 + + + CustomerName + TEXT + 2000 + + + ContractRef + TEXT + 2000 + + + County + TEXT + 2000 + + + City + TEXT + 2000 + + + ZipCode + TEXT + 2000 + + + + + ADDRESS_6 + + + Address6 + TEXT + 2000 + + + + + ADDRESS_5 + + + Address5 + TEXT + 2000 + + + + + ADDRESS_4 + + + Address4 + TEXT + 2000 + + + + + ADDRESS_3 + + + Address3 + TEXT + 2000 + + + + + ADDRESS_2 + + + Address2 + TEXT + 2000 + + + + + ADDRESS_1 + + + Address1 + TEXT + 2000 + + + OurRef + TEXT + 2000 + + + PayTerms + TEXT + 2000 + + + PayDueDate + TIMESTAMP + + + CustomerNo + TEXT + 2000 + + + ContractName + TEXT + 2000 + + + AfpNo + NUMBER + + + ContractNo + TEXT + 2000 + + + ValDate + TIMESTAMP + + + AfpDate + TIMESTAMP + + + CustCertNo + TEXT + 2000 + + + + + PAGE_FOOTER_1 + PAGE_FOOTER_1 + + + PageFooter1 + TEXT + 2000 + + + + + PAGE_FOOTER_2 + PAGE_FOOTER_2 + + + PageFooter2 + TEXT + 2000 + + + + + PAGE_FOOTER_3 + PAGE_FOOTER_3 + + + PageFooter3 + TEXT + 2000 + + + + + PAGE_FOOTER_4 + PAGE_FOOTER_4 + + + PageFooter4 + TEXT + 2000 + + + AddressPosition + TEXT + 5 + + + DocumentFooter + TEXT + 5 + + + DocumentAddress + TEXT + 4000 + + + + + Items + 1 + Item + + + Footers + 1 + Footer + + + DocumentFooters + 1 + DocumentFooter + + + Details + 1 + Detail + + + + + Item + SELECT + to_number(NULL) rev_seq, + to_number(NULL) rev_contract_sales_val, + to_number(NULL) tot_contract_sales_val +FROM dual + + + RevSeq + NUMBER + + + RevContractSalesVal + NUMBER + + + TotContractSalesVal + NUMBER + + + + + DLines + 1 + DLine + + + Lines + 1 + Line + + + + + DLine + SELECT + NULL line_name, + NULL line +FROM dual + + + LineName + TEXT + 2000 + + + Line + TEXT + 2000 + + + + + DLineDetails + 1 + DLineDetail + + + + + DLineDetail + SELECT + to_number(NULL) revenue_value_adj, + to_number(NULL) total_valuation, + NULL co_number, + NULL change_status, + NULL item_name, + NULL item_no +FROM dual + + + RevenueValueAdj + NUMBER + + + TotalValuation + NUMBER + + + CoNumber + TEXT + 2000 + + + ChangeStatus + TEXT + 2000 + + + ItemName + TEXT + 2000 + + + ItemNo + TEXT + 2000 + + + + + Line + SELECT + NULL line_name, + NULL line +FROM dual + + + LineName + TEXT + 2000 + + + Line + TEXT + 2000 + + + + + LineDetails + 1 + LineDetail + + + + + LineDetail + SELECT + to_number(NULL) revenue_value_adj, + to_number(NULL) total_valuation, + NULL co_number, + NULL change_status, + NULL item_name, + NULL item_no +FROM dual + + + RevenueValueAdj + NUMBER + + + TotalValuation + NUMBER + + + CoNumber + TEXT + 2000 + + + ChangeStatus + TEXT + 2000 + + + ItemName + TEXT + 2000 + + + ItemNo + TEXT + 2000 + + + + + Footer + + + PageFooterVal1 + TEXT + 50 + + + PageFooterVal2 + TEXT + 50 + + + PageFooterVal3 + TEXT + 50 + + + PageFooterVal4 + TEXT + 50 + + + PageFooterVal5 + TEXT + 50 + + + PageFooterVal6 + TEXT + 50 + + + PageFooterVal7 + TEXT + 50 + + + + + DocumentFooter + + + Text1 + TEXT + 200 + + + Text2 + TEXT + 200 + + + Text3 + TEXT + 200 + + + Text4 + TEXT + 200 + + + Text5 + TEXT + 200 + + + Text6 + TEXT + 200 + + + Text7 + TEXT + 200 + + + Text8 + TEXT + 200 + + + Text9 + TEXT + 200 + + + Text10 + TEXT + 200 + + + Text11 + TEXT + 200 + + + Text12 + TEXT + 200 + + + Text13 + TEXT + 200 + + + Text14 + TEXT + 200 + + + Text15 + TEXT + 200 + + + Text16 + TEXT + 200 + + + Text17 + TEXT + 200 + + + Text18 + TEXT + 200 + + + Text19 + TEXT + 200 + + + Text20 + TEXT + 200 + + + Text21 + TEXT + 200 + + + Text22 + TEXT + 200 + + + Text23 + TEXT + 200 + + + Text24 + TEXT + 200 + + + Text25 + TEXT + 200 + + + Text26 + TEXT + 200 + + + Text27 + TEXT + 200 + + + Text28 + TEXT + 200 + + + Text29 + TEXT + 200 + + + Text30 + TEXT + 200 + + + Text31 + TEXT + 200 + + + Text32 + TEXT + 200 + + + Text33 + TEXT + 200 + + + Text34 + TEXT + 200 + + + Text35 + TEXT + 200 + + + Text36 + TEXT + 200 + + + Text37 + TEXT + 200 + + + Text38 + TEXT + 200 + + + Text39 + TEXT + 200 + + + Text40 + TEXT + 200 + + + IsFreeText + TEXT + 5 + + + + + Detail + + + ContractNo + TEXT + 20 + + + AfpNo + NUMBER + + + LineNo + NUMBER + + + Item + NUMBER + + + DescriptionOfWork + TEXT + 50 + + + ScheduledValueBase + NUMBER + + + ScheduledValueChangeOrders + NUMBER + + + ScheduledValueTotal + NUMBER + + + WorkCompletedFromPrevious + NUMBER + + + WorkCompFromPrevPercent + NUMBER + + + ThisPeriodPercent + NUMBER + + + TotalCompletedAndStored + NUMBER + + + GPercentage + NUMBER + + + Retainage + NUMBER + + + MaterialsPresentlyStored + NUMBER + + + + + + + ContractNo + TEXT + 12 + SALES_CONTRACT + 1 + 1 + 1 + 0 + 1 + + + + + Application No + + + AfpNo + NUMBER + APP_FOR_PAYMENT_LOV(CONTRACT_NO) + 1 + 1 + 1 + 0 + 0 + + + + + RetentionRel + Add Retention Released + + + Taxes + Add Taxes + + + ReportTitle + Application for Payment + + + BalDue + Balance Due + + + Deductions + Less Deductions + + + Discount + Less Discount + + + LessPaid + Less Paid to Date + + + Retention + Less Retention + + + RemovedItems + Removed Items + + + NotTax + THIS IS NOT A TAX INVOICE + + + AmountDue + Total Amount Due + + + WorkVal + Value of work applied for (see attached breakdown) + + + PageFooterTitles + Visit Address,Invoice Address,Phone,Fax,Bank Giro,Postal Giro,Tax Number + + + + + Heads + 1 + Head + + + diff --git a/apppay/server/reports/samplexml/AppForPaymentRep.xml b/apppay/server/reports/samplexml/AppForPaymentRep.xml new file mode 100644 index 0000000..9ca0a67 --- /dev/null +++ b/apppay/server/reports/samplexml/AppForPaymentRep.xml @@ -0,0 +1,1065 @@ + + + + + 1 + 1 + 99 + en + + . + + + + + + + 2009-01-01T11:22:00 + + 12345 + + 2009-01-01T11:22:00 + App For Payment + + + + + + Execution Time: + Ordered By: + Job Id: + Comment: + Order Time: + Report: + Printed By: + Current Time: + Current Date: + Page + -------- End of Report -------- + Rep. Params: + IFS Applications + Created: + none + Notes: + No data found + + + + + + + + + + + + + + + + + + + Contract No: + + + + Application No: + + + + + + + Add Retention Released + Add Taxes + Application for Payment + Balance Due + Less Deductions + Less Discount + Less Paid to Date + Less Retention + Removed Items + THIS IS NOT A TAX INVOICE + Total Amount Due + Value of work applied for (see attached breakdown) + Visit Address,Invoice Address,Phone,Fax,Bank Giro,Postal Giro,Tax Number + + + + + Deduction Percent: + Discount Percent: + Retention Percent: + Bal Due: + Paid To Date: + This Tax Amount: + Prev Tax Amount: + Used Tax Amount: + This Afp Total Due: + This Used Ret Released: + This Used Deduction: + This Used Discount: + This Used Tot Retvalue: + This Afp Total Value: + Prev Afp Total Due: + Prev Used Ret Released: + Prev Used Deduction: + Prev Used Discount: + Prev Used Tot Retvalue: + Prev Afp Total Value: + Afp Total Due: + Used Ret Released: + Used Deduction: + Used Discount: + Used Tot Retvalue: + Afp Total Value: + Currency Code: + Customer Name: + Contract Ref: + County: + City: + Zip Code: + Address6: + Address5: + Address4: + Address3: + Address2: + Address1: + Our Ref: + Pay Terms: + Pay Due Date: + Customer No: + Contract Name: + Afp No: + Contract No: + Val Date: + Afp Date: + Cust Cert No: + Page Footer1: + Page Footer2: + Page Footer3: + Page Footer4: + Address Position: + Document Footer: + Document Address: + + + Rev Seq: + Rev Contract Sales Val: + Tot Contract Sales Val: + + + Line Name: + Line: + + + Revenue Value Adj: + Total Valuation: + Co Number: + Change Status: + Item Name: + Item No: + + + + + + + Line Name: + Line: + + + Revenue Value Adj: + Total Valuation: + Co Number: + Change Status: + Item Name: + Item No: + + + + + + + +
+ Page Footer Val1: + Page Footer Val2: + Page Footer Val3: + Page Footer Val4: + Page Footer Val5: + Page Footer Val6: + Page Footer Val7: +
+
+ + + Text1: + Text2: + Text3: + Text4: + Text5: + Text6: + Text7: + Text8: + Text9: + Text10: + Text11: + Text12: + Text13: + Text14: + Text15: + Text16: + Text17: + Text18: + Text19: + Text20: + Text21: + Text22: + Text23: + Text24: + Text25: + Text26: + Text27: + Text28: + Text29: + Text30: + Text31: + Text32: + Text33: + Text34: + Text35: + Text36: + Text37: + Text38: + Text39: + Text40: + Is Free Text: + + +
+ + Contract No: + Afp No: + Line No: + Item: + Description Of Work: + Scheduled Value Base: + Scheduled Value Change Orders: + Scheduled Value Total: + Work Completed From Previous: + Work Comp From Prev Percent: + This Period Percent: + Total Completed And Stored: + G Percentage: + Retainage: + Materials Presently Stored: + +
+ +
+
+
+ + + + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 2009-01-01T11:22:00 + ABC + ABC + 123 + ABC + 2009-01-01T11:22:00 + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + 123 + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + + + 123 + 123 + 123 + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + + + +
+ ABC + ABC + ABC + ABC + ABC + ABC + ABC +
+
+ ABC + ABC + ABC + ABC + ABC + ABC + ABC +
+
+ + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + +
+ + ABC + 123 + 123 + 123 + ABC + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + + + ABC + 123 + 123 + 123 + ABC + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + +
+ + + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 2009-01-01T11:22:00 + ABC + ABC + 123 + ABC + 2009-01-01T11:22:00 + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + 123 + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + + + 123 + 123 + 123 + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + ABC + ABC + + + + + + + +
+ ABC + ABC + ABC + ABC + ABC + ABC + ABC +
+
+ ABC + ABC + ABC + ABC + ABC + ABC + ABC +
+
+ + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + +
+ + ABC + 123 + 123 + 123 + ABC + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + + + ABC + 123 + 123 + 123 + ABC + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + +
+ +
+
+
\ No newline at end of file diff --git a/apppay/server/reports/schemas/AppForPaymentRep.xsd b/apppay/server/reports/schemas/AppForPaymentRep.xsd new file mode 100644 index 0000000..d9fa724 --- /dev/null +++ b/apppay/server/reports/schemas/AppForPaymentRep.xsd @@ -0,0 +1,2360 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/apppay/source/apppay/database/AppForPayment.rdf b/apppay/source/apppay/database/AppForPayment.rdf new file mode 100644 index 0000000..87a3910 --- /dev/null +++ b/apppay/source/apppay/database/AppForPayment.rdf @@ -0,0 +1,1591 @@ +----------------------------------------------------------------------------- +--old +-- Logical unit: AppForPayment +-- +-- File: AppForPayment.rdf +-- +-- Date Sign History +-- ------ ---- --------------------------------------------------------- +-- 240912 HOINeEd Assyst: 12012 +-- 210108 Janslk PJZ-7178(LCS Bug 157421), Passed report id in places where +-- Add_Custom_Fields is called. +-- 160525 reanpl STRLOC-393, Added handling of new address attributes +-- 131227 Chselk Bug ID 114534. Increased the length of payment_terms_ variable in Report_App_For_Payment() method. +-- 120524 Paralk EDEL-787, Added Address Positioning and senders address. +-- 120518 LAMALK EDEL-741, Added 'Document Footer' Functionality +-- 120315 KAELLK Bug ID 101654, Added Footer block to have separately aligned footer values. +-- 091030 VIATLK ME310- Removed bug comments +-- 091016 DKarlk Removed unused internal variables. +-- 091014 Harplk Removed unused implemttation method TRANSLATE___ in eagle project. +-------------------------- Project Eagle ------------------------------------ +-- 091002 CHRALK Bug ID 86251, Corrected customer_name_ & first_address_ variable size in Report_App_For_Payment() method. +-- 090505 DAWELK Bug ID 82158,Added reference to column comments for contract_no and afp_no to activate the LOV. +-- 081125 LARELK Bug Id 78771,Removed codes releated with qrp layouts as it is not suppoted in app75. +-- 071117 RAEKLK Bug Id 69124,Corrected get_contract_lines,get_contract_del_lines,get_contract_del_items and get_contract_items cursors. +-- 071128 CHSELK Bug Id 69285.Changed the data type of AFP_NO from STRING to NUMBER. +-- 061226 CHSELK Issue 129034. Added where cluases to exclude items where EXCLUDE_FROM_CONTRACT is true in contract_item_tab. +-- 060814 InBaza G474395: C_G454834, Changed the report to get retrieve user selected Invoice Address from AFP instead of retrieving the default Invoice Address. +-- If a payer exists the customer name will take its value. +-- 060517 AMNALK Added code to Report Designer conversion. +-- 060302 PRPULK Changed view comments of CONTRACT_NO so as to allow wild card charaters. +-- 060223 HAUNLK Added the Japanese layout qrp entry. +-- 051111 PRPULK Changed report texts NOT_VAT to NOT_TAX and Add VAT to Add Taxes. +-- 050920 ATSILK CID127037, make the length of contract_ref to 100. +-- 050919 ATSILK Call 127009, Report title is modified with Preliminary text if not submitted and added Valuation No. +-- 050427 ATSILK Created. + +-- N.B. Order_No to be implemented at a later date +----------------------------------------------------------------------------- + +DEFINE MODULE = APPPAY +DEFINE LU = AppForPayment +DEFINE PKG = APP_FOR_PAYMENT_RPI + +DEFINE REPTAB = CONMGT_INFO_SERVICES_RPT +DEFINE VIEW = APP_FOR_PAYMENT_REP + +DEFINE METHOD = Report_App_For_Payment +DEFINE REPORTNAME = "'Report_App_For_Payment'" + +DEFINE AFP_DATE = D1 +DEFINE VAL_DATE = D2 +DEFINE PAY_DUE_DATE = D3 + +DEFINE AFP_NO = N34 +DEFINE CONTRACT_NO = S2 +DEFINE CONTRACT_NAME = S3 +DEFINE CUSTOMER_NO = S4 +DEFINE ORDER_NO = S5 +DEFINE PAY_TERMS = S6 +DEFINE COMPANY = S7 +DEFINE OUR_REF = S8 +DEFINE ADDRESS1 = S9 +DEFINE ADDRESS2 = S10 +DEFINE ZIP_CODE = S11 +DEFINE CITY = S12 +DEFINE COUNTY = S13 +DEFINE ADDR_STATE = S14 +DEFINE CONTRACT_REF = S15 +DEFINE CUSTOMER_NAME = S16 +DEFINE CURRENCY_CODE = S17 +DEFINE PAGE_FOOTER_1 = S18 +DEFINE PAGE_FOOTER_2 = S19 +DEFINE PAGE_FOOTER_3 = S20 +DEFINE PAGE_FOOTER_4 = S21 + +DEFINE LINE = S22 +DEFINE LINE_NAME = S23 +DEFINE ITEM_NO = S24 +DEFINE ITEM_NAME = S25 +DEFINE CHANGE_STATUS = S26 +DEFINE CO_NUMBER = S27 +DEFINE TITLE = S28 +DEFINE PAGE_FOOTER_VAL = S29 +DEFINE CUST_CERT_NO = S30 + +DEFINE ADDRESS3 = S31 +DEFINE ADDRESS4 = S32 +DEFINE ADDRESS5 = S33 +DEFINE ADDRESS6 = S34 + +DEFINE AFP_TOTAL_VALUE = N1 +DEFINE USED_TOT_RETVALUE = N2 +DEFINE USED_DISCOUNT = N3 +DEFINE USED_DEDUCTION = N4 +DEFINE USED_RET_RELEASED = N5 +DEFINE AFP_TOTAL_DUE = N6 + +DEFINE PREV_AFP_TOTAL_VALUE = N7 +DEFINE PREV_USED_TOT_RETVALUE = N8 +DEFINE PREV_USED_DISCOUNT = N9 +DEFINE PREV_USED_DEDUCTION = N10 +DEFINE PREV_USED_RET_RELEASED = N11 +DEFINE PREV_AFP_TOTAL_DUE = N12 + +DEFINE THIS_AFP_TOTAL_VALUE = N13 +DEFINE THIS_USED_TOT_RETVALUE = N14 +DEFINE THIS_USED_DISCOUNT = N15 +DEFINE THIS_USED_DEDUCTION = N16 +DEFINE THIS_USED_RET_RELEASED = N17 +DEFINE THIS_AFP_TOTAL_DUE = N18 + +DEFINE USED_TAX_AMOUNT = N19 +DEFINE PREV_TAX_AMOUNT = N20 +DEFINE THIS_TAX_AMOUNT = N21 +DEFINE PAID_TO_DATE = N22 +DEFINE BAL_DUE = N23 + +DEFINE TOT_CONTRACT_SALES_VAL = N24 +DEFINE REV_SEQ = N25 +DEFINE BLOCK_NO = N26 +DEFINE REV_CONTRACT_SALES_VAL = N27 +DEFINE TOTAL_VALUATION = N28 +DEFINE REVENUE_VALUE_ADJ = N29 +DEFINE RETENTION_PERCENT = N30 +DEFINE DISCOUNT_PERCENT = N31 +DEFINE DEDUCTION_PERCENT = N32 +DEFINE VALUATION_NO = N33 + +----------------------------------------------------------------------------- +-- PACKAGE SPECIFICATION: APP_FOR_PAYMENT_RPI +----------------------------------------------------------------------------- + +PROMPT Creating &PKG SPECIFICATION + +CREATE OR REPLACE PACKAGE &PKG IS + +module_ CONSTANT VARCHAR2(6) := '&MODULE'; +lu_name_ CONSTANT VARCHAR2(25) := '&LU'; + +----------------------------------------------------------------------------- +-------------------- GLOBAL LU CONSTANTS ------------------------------------ +----------------------------------------------------------------------------- + +PROCEDURE &METHOD ( + report_attr_ IN VARCHAR2, + parameter_attr_ IN VARCHAR2 ); + +PROCEDURE Init; + +END &PKG; +/ + +SHOW ERROR + +----------------------------------------------------------------------------- +----------------------------------------------------------------------------- +PROMPT Creating report VIEW &VIEW +CREATE OR REPLACE VIEW APP_FOR_PAYMENT_REP AS +SELECT /*+ RULE */ + H.RESULT_KEY RESULT_KEY, + H.PARENT_ROW_NO PARENT_ROW_NO, + H.ROW_NO ROW_NO, + H.D1 AFP_DATE, + H.D2 VAL_DATE, + H.S2 CONTRACT_NO, + H.N34 AFP_NO, + H.N33 VALUATION_NO, + Language_SYS.Translate_Constant('AppForPayment', H.S28, Language_SYS.Get_Print_Language) + TITLE, + H.S3 CONTRACT_NAME, + H.S4 CUSTOMER_NO, + H.S5 ORDER_NO, + H.D3 PAY_DUE_DATE, + H.S6 PAY_TERMS, + H.S8 OUR_REF, + H.S9 ADDRESS1, + H.S10 ADDRESS2, + H.S31 ADDRESS3, + H.S32 ADDRESS4, + H.S33 ADDRESS5, + H.S34 ADDRESS6, + H.S11 ZIP_CODE, + H.S12 CITY, + H.S13 COUNTY, + H.S14 ADDR_STATE, + H.S15 CONTRACT_REF, + H.S16 CUSTOMER_NAME, + H.S18 PAGE_FOOTER_1, + H.S19 PAGE_FOOTER_2, + H.S20 PAGE_FOOTER_3, + H.S21 PAGE_FOOTER_4, + H.S30 CUST_CERT_NO, + D.S17 CURRENCY_CODE, + D.N1 AFP_TOTAL_VALUE, + D.N2 USED_TOT_RETVALUE, + D.N3 USED_DISCOUNT, + D.N4 USED_DEDUCTION, + D.N5 USED_RET_RELEASED, + D.N6 AFP_TOTAL_DUE, + D.N7 PREV_AFP_TOTAL_VALUE, + D.N8 PREV_USED_TOT_RETVALUE, + D.N9 PREV_USED_DISCOUNT, + D.N10 PREV_USED_DEDUCTION, + D.N11 PREV_USED_RET_RELEASED, + D.N12 PREV_AFP_TOTAL_DUE, + D.N13 THIS_AFP_TOTAL_VALUE, + D.N14 THIS_USED_TOT_RETVALUE, + D.N15 THIS_USED_DISCOUNT, + D.N16 THIS_USED_DEDUCTION, + D.N17 THIS_USED_RET_RELEASED, + D.N18 THIS_AFP_TOTAL_DUE, + D.N19 USED_TAX_AMOUNT, + D.N20 PREV_TAX_AMOUNT, + D.N21 THIS_TAX_AMOUNT, + D.N22 PAID_TO_DATE, + D.N23 BAL_DUE, + D.N24 TOT_CONTRACT_SALES_VAL, + D.N27 REV_CONTRACT_SALES_VAL, + D.N25 REV_SEQ, + D.N26 BLOCK_NO, + D.S22 LINE, + D.S23 LINE_NAME, + D.S24 ITEM_NO, + D.S25 ITEM_NAME, + D.S26 CHANGE_STATUS, + D.S27 CO_NUMBER, + D.N28 TOTAL_VALUATION, + D.N29 REVENUE_VALUE_ADJ, + D.N30 RETENTION_PERCENT, + D.N31 DISCOUNT_PERCENT, + D.N32 DEDUCTION_PERCENT, + D.S29 PAGE_FOOTER_VAL1, + D.S29 PAGE_FOOTER_VAL2, + D.S29 PAGE_FOOTER_VAL3, + D.S29 PAGE_FOOTER_VAL4, + D.S29 PAGE_FOOTER_VAL5, + D.S29 PAGE_FOOTER_VAL6, + D.S29 PAGE_FOOTER_VAL7 +FROM CONMGT_INFO_SERVICES_RPT H, CONMGT_INFO_SERVICES_RPT D +WHERE D.RESULT_KEY = H.RESULT_KEY +AND D.ROW_NO = H.ROW_NO; + +COMMENT ON TABLE APP_FOR_PAYMENT_REP IS 'MODULE=APPPAY^LU=AppForPayment^PROMPT=Application For Payment^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.RESULT_KEY IS 'FLAGS=M----^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.AFP_DATE IS 'FLAGS=A----^DATATYPE=DATE/DATE^TITLE=Application Date^ITEM_NAME=iAfpDate^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.VAL_DATE IS 'FLAGS=A----^DATATYPE=DATE/DATE^TITLE=Valuation Date^ITEM_NAME=iValDate^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.CONTRACT_NO IS 'FLAGS=A----^DATATYPE=STRING(12)^QUERY=Contract No:^QFLAGS=MCS-L^TITLE=Contract No^ITEM_NAME=iContractNo^REF=SALES_CONTRACT^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.AFP_NO IS 'FLAGS=A----^DATATYPE=NUMBER^QUERY=Application No:^QFLAGS=MCS--^TITLE=Application No^ITEM_NAME=iAfpNo^REF=APP_FOR_PAYMENT_LOV(CONTRACT_NO)^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.VALUATION_NO IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Valuation No^ITEM_NAME=iValuationNo^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.TITLE IS 'FLAGS=A----^DATATYPE=STRING(100)^TITLE=Title^ITEM_NAME=iTitle^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.CONTRACT_NAME IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Contract Name^ITEM_NAME=iContractName^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.CUSTOMER_NO IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Customer No^ITEM_NAME=iCustomerNo^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ORDER_NO IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Order No^ITEM_NAME=iOrderNo^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAY_DUE_DATE IS 'FLAGS=A----^DATATYPE=DATE/DATE^TITLE=Payment Due Date^ITEM_NAME=iPayDueDate^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAY_TERMS IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Payment Terms^ITEM_NAME=iPayTerms^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.OUR_REF IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Our Reference^ITEM_NAME=iOurRef^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ADDRESS1 IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Address 1^ITEM_NAME=iAddr1^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ADDRESS2 IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Address 2^ITEM_NAME=iAddr2^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ADDRESS3 IS 'FLAGS=A----^DATATYPE=STRING(100)^TITLE=Address 3^ITEM_NAME=iAddr3^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ADDRESS4 IS 'FLAGS=A----^DATATYPE=STRING(100)^TITLE=Address 4^ITEM_NAME=iAddr4^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ADDRESS5 IS 'FLAGS=A----^DATATYPE=STRING(100)^TITLE=Address 5^ITEM_NAME=iAddr5^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ADDRESS6 IS 'FLAGS=A----^DATATYPE=STRING(100)^TITLE=Address 6^ITEM_NAME=iAddr6^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ZIP_CODE IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Zip Code^ITEM_NAME=iZipCode^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.CITY IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=City^ITEM_NAME=iCity^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.COUNTY IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=County^ITEM_NAME=iCounty^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ADDR_STATE IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Addr State^ITEM_NAME=iAddrState^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.CONTRACT_REF IS 'FLAGS=A----^DATATYPE=STRING(100)^TITLE=Your Reference^ITEM_NAME=iContractRef^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.CUSTOMER_NAME IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Customer Name^ITEM_NAME=iCustName^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_1 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer 1^ITEM_NAME=iPageFooter1^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_2 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer 2^ITEM_NAME=iPageFooter2^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_3 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer 3^ITEM_NAME=iPageFooter3^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_4 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer 4^ITEM_NAME=iPageFooter4^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.CUST_CERT_NO IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Customer Certificate No:^ITEM_NAME=iCustCertNo^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.CURRENCY_CODE IS 'FLAGS=A----^DATATYPE=STRING(3)^TITLE=Currency Code^ITEM_NAME=iCurrCode^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.AFP_TOTAL_VALUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Total Application^ITEM_NAME=iAfpTotalValue^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.USED_TOT_RETVALUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Used Tot Retvalue^ITEM_NAME=iUsedTotalRetValue^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.USED_DISCOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Used Discount^ITEM_NAME=iUsedDiscount^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.USED_DEDUCTION IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Used Deduction^ITEM_NAME=iUsedDeduction^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.USED_RET_RELEASED IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Used Ret Released^ITEM_NAME=iUsedRetReleased^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.AFP_TOTAL_DUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=afp_total_due:^ITEM_NAME=iAfpTotalDue^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PREV_AFP_TOTAL_VALUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Previous Application^ITEM_NAME=iPrevAfpTotalValue^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PREV_USED_TOT_RETVALUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Prev Used Tot Retvalue^ITEM_NAME=iPrevUsedTotalRetValue^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PREV_USED_DISCOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Prev Used Discount^ITEM_NAME=iPrevUsedDiscount^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PREV_USED_DEDUCTION IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Prev Used Deduction^ITEM_NAME=iPrevUsedDeduction^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PREV_USED_RET_RELEASED IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Prev Used Ret Released^ITEM_NAME=iPrevUsedRetReleased^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PREV_AFP_TOTAL_DUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Prev Afp Total Due:^ITEM_NAME=iPrevAfpTotalDue^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.THIS_AFP_TOTAL_VALUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=This Application^ITEM_NAME=iThisAfpTotalValue^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.THIS_USED_TOT_RETVALUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=This Used Tot Retvalue^ITEM_NAME=iThisUsedTotalRetValue^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.THIS_USED_DISCOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=This Used Discount^ITEM_NAME=iThisUsedDiscount^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.THIS_USED_DEDUCTION IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=This Used Deduction^ITEM_NAME=iThisUsedDeduction^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.THIS_USED_RET_RELEASED IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=This Used Ret Released^ITEM_NAME=iThisUsedRetReleased^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.THIS_AFP_TOTAL_DUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=This Afp Total Due:^ITEM_NAME=iThisAfpTotalDue^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.USED_TAX_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Used Tax Amount:^ITEM_NAME=iUsedTaxAmount^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PREV_TAX_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Previous Tax Amount:^ITEM_NAME=iPrevTaxAmount^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.THIS_TAX_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=This Tax Amount:^ITEM_NAME=iThisTaxAmount^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAID_TO_DATE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Paid To Date:^ITEM_NAME=iPaidToDate^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.BAL_DUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Balance Due:^ITEM_NAME=iBalDue^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.TOT_CONTRACT_SALES_VAL IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Contract Value (Baseline Revision):^ITEM_NAME=iTotContactSalesVal^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.REV_CONTRACT_SALES_VAL IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Revised Agreed Contract Value on contract revision^ITEM_NAME=iRevContactSalesVal^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.REV_SEQ IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Revision:^ITEM_NAME=iRevSeq^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.BLOCK_NO IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Block No:^ITEM_NAME=iBlockNo^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.LINE IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Line No^ITEM_NAME=iLineNo^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.LINE_NAME IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Name^ITEM_NAME=iLineName^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ITEM_NO IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Item No^ITEM_NAME=iItemNo^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.ITEM_NAME IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Item Name^ITEM_NAME=iItemName^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.CHANGE_STATUS IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Status^ITEM_NAME=iChangeStatus^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.CO_NUMBER IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Contract Change Order^ITEM_NAME=iChangeOrder^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.TOTAL_VALUATION IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Value to Date^ITEM_NAME=iTotalValuation^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.REVENUE_VALUE_ADJ IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Total Value^ITEM_NAME=iRevenueValueAdj^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.RETENTION_PERCENT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Retention^ITEM_NAME=iRetentionPercent^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.DISCOUNT_PERCENT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Discount^ITEM_NAME=iDiscountPercent^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.DEDUCTION_PERCENT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Deduction^ITEM_NAME=iDeductionPercent^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_VAL1 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer Val1^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_VAL2 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer Val2^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_VAL3 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer Val3^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_VAL4 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer Val4^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_VAL5 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer Val5^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_VAL6 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer Val6^'; +COMMENT ON COLUMN APP_FOR_PAYMENT_REP.PAGE_FOOTER_VAL7 IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Page Footer Val7^'; + +BEGIN + Report_SYS.Define_Report_('&VIEW','&MODULE','&LU','Application for Payment','&REPTAB','&PKG..&METHOD',30,NULL, NULL ,NULL,'PLSQL1.2','TRUE','Contract Management','Sales Contract Application for Payment'); + Report_Lu_Definition_API.Clear_Custom_Fields_For_Report('&VIEW'); + Report_Lu_Definition_API.Enable_Custom_Fields_for_LU('&VIEW', '&LU', 'APP_FOR_PAYMENT_REP/HEADS/HEAD'); + Report_Lu_Definition_API.Enable_Custom_Fields_for_LU('&VIEW', 'AfpLine', 'APP_FOR_PAYMENT_REP/HEADS/HEAD/ITEMS/ITEM/LINES/LINE'); + Report_Lu_Definition_API.Enable_Custom_Fields_for_LU('&VIEW', 'AfpItem', 'APP_FOR_PAYMENT_REP/HEADS/HEAD/ITEMS/ITEM/LINES/LINE/LINE_DETAILS/LINE_DETAIL'); + Report_Lu_Definition_API.Enable_Custom_Fields_for_LU('&VIEW', 'ContractLine', 'APP_FOR_PAYMENT_REP/HEADS/HEAD/ITEMS/ITEM/D_LINES/D_LINE'); + Report_Lu_Definition_API.Enable_Custom_Fields_for_LU('&VIEW', 'ContractItem', 'APP_FOR_PAYMENT_REP/HEADS/HEAD/ITEMS/ITEM/D_LINES/D_LINE/D_LINE_DETAILS/D_LINE_DETAIL'); + + Report_SYS.Define_Report_Text_('&VIEW', 'REPORT_TITLE', 'Application for Payment'); + --Page 1 headings + Report_SYS.Define_Report_Text_('&VIEW', 'WORK_VAL', 'Value of work applied for (see attached breakdown)'); + Report_SYS.Define_Report_Text_('&VIEW', 'RETENTION', 'Less Retention'); + Report_SYS.Define_Report_Text_('&VIEW', 'DISCOUNT', 'Less Discount'); + Report_SYS.Define_Report_Text_('&VIEW', 'DEDUCTIONS', 'Less Deductions'); + Report_SYS.Define_Report_Text_('&VIEW', 'RETENTION_REL', 'Add Retention Released'); + Report_SYS.Define_Report_Text_('&VIEW', 'TAXES', 'Add Tax'); + Report_SYS.Define_Report_Text_('&VIEW', 'AMOUNT_DUE', 'Total Amount Due'); + Report_SYS.Define_Report_Text_('&VIEW', 'LESS_PAID', 'Less Paid to Date'); + Report_SYS.Define_Report_Text_('&VIEW', 'BAL_DUE', 'Balance Due'); + Report_SYS.Define_Report_Text_('&VIEW', 'NOT_TAX', 'THIS IS NOT A TAX INVOICE'); + --Page 2 heading + Report_SYS.Define_Report_Text_('&VIEW', 'REMOVED_ITEMS', 'Removed Items'); + + Report_SYS.Define_Report_Text_('&VIEW', 'PAGE_FOOTER_TITLES', 'Visit Address,Invoice Address,Phone,Fax,Bank Giro,Postal Giro,Tax Number'); + Report_SYS.Refresh_('&VIEW'); +END; +/ + +COMMIT +/ + +----------------------------------------------------------------------------- +-- PACKAGE IMPLEMENTATION APP_FOR_PAYMENT_RPI +----------------------------------------------------------------------------- + +PROMPT Creating &PKG implementation + +CREATE OR REPLACE PACKAGE BODY APP_FOR_PAYMENT_RPI IS + +TYPE pagefoot_rec IS RECORD ( + val1 VARCHAR2(50), + val2 VARCHAR2(50), + val3 VARCHAR2(50), + val4 VARCHAR2(50), + val5 VARCHAR2(50), + val6 VARCHAR2(50), + val7 VARCHAR2(50)); + +----------------------------------------------------------------------------- +-- PUBLIC REPORT GENERATION METHODS +----------------------------------------------------------------------------- +--Calculates values for 'This application' based on total and previous application +FUNCTION Calc_This_AFP___ ( + total_value_ IN NUMBER, + prev_value_ IN NUMBER) RETURN NUMBER +IS + this_value_ NUMBER; +BEGIN + + IF(total_value_ IS NOT NULL) THEN + this_value_ := total_value_ - nvl(prev_value_,0); + ELSE + this_value_ := NULL; + END IF; + + RETURN this_value_; +END Calc_This_AFP___; + +PROCEDURE Split_Pagefooter___ ( + pagefoot_rec_ OUT pagefoot_rec, + page_footer_ IN VARCHAR2) +IS + j_ NUMBER; + start_index_ NUMBER; + end_index_ NUMBER; + page_footer_val_ VARCHAR2(50); + pagefoot_length_ NUMBER; +BEGIN + General_SYS.Init_Method(lu_name_, 'APP_FOR_PAYMENT_RPI', 'Split_Pagefooter___', TRUE); + pagefoot_length_ := length(page_footer_); + j_ := 1; + end_index_ := 0; + + WHILE (j_ < 8) LOOP + IF (end_index_ < pagefoot_length_) THEN + start_index_ := end_index_+ 1; + + -- Find index of jth instance of CHR(9) + end_index_ := instr(page_footer_, CHR(9),1, j_); + IF end_index_ = 0 THEN + -- If CHR(9) not found + end_index_ := pagefoot_length_ + 1; + END IF; + + page_footer_val_ := substr(substr(page_footer_, start_index_, (end_index_-start_index_)), 1, 50); + + CASE j_ + WHEN 1 THEN + pagefoot_rec_.val1 := page_footer_val_; + WHEN 2 THEN + pagefoot_rec_.val2 := page_footer_val_; + WHEN 3 THEN + pagefoot_rec_.val3 := page_footer_val_; + WHEN 4 THEN + pagefoot_rec_.val4 := page_footer_val_; + WHEN 5 THEN + pagefoot_rec_.val5 := page_footer_val_; + WHEN 6 THEN + pagefoot_rec_.val6 := page_footer_val_; + WHEN 7 THEN + pagefoot_rec_.val7 := page_footer_val_; + END CASE; + END IF; + + j_ := j_ +1; + END LOOP; + +END Split_Pagefooter___; + +PROCEDURE Add_Pagefooter_Values___ ( + xml_ IN OUT CLOB, + pagefoot_rec_ IN pagefoot_rec) +IS +BEGIN + General_SYS.Init_Method(lu_name_, 'APP_FOR_PAYMENT_RPI', 'Add_Pagefooter_Values___', TRUE); + Xml_Record_Writer_SYS.Start_Element(xml_, 'FOOTER'); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_VAL1', pagefoot_rec_.val1); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_VAL2', pagefoot_rec_.val2); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_VAL3', pagefoot_rec_.val3); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_VAL4', pagefoot_rec_.val4); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_VAL5', pagefoot_rec_.val5); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_VAL6', pagefoot_rec_.val6); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_VAL7', pagefoot_rec_.val7); + Xml_Record_Writer_SYS.End_Element(xml_, 'FOOTER'); +END Add_Pagefooter_Values___; + +----------------------------------------------------------------------------- +-- Purpose: Generate Customer Invoice Report. +----------------------------------------------------------------------------- + +PROCEDURE Report_App_For_Payment ( + report_attr_ IN VARCHAR2, + parameter_attr_ IN VARCHAR2 ) +IS + result_key_ NUMBER; + row_no_ NUMBER := 0; + parent_row_no_ NUMBER := 0; + afp_no_ APP_FOR_PAYMENT_TAB.afp_no%TYPE; + contract_no_ SALES_CONTRACT_TAB.contract_no%TYPE; + contract_name_ SALES_CONTRACT_TAB.contract_name%TYPE; + cust_cert_no_ APP_FOR_PAYMENT_TAB.cust_cert_no%TYPE; + -- Bug 114534, start + payment_terms_ VARCHAR2(200); + -- Bug 114534, end + contract_manager_ VARCHAR2(50); + val_date_ APP_FOR_PAYMENT_TAB.valuation_date%TYPE; + order_no_ VARCHAR2(50); + customer_id_ SALES_CONTRACT_TAB.customer_id%TYPE; + contract_reference_ SALES_CONTRACT_TAB.contract_ref%TYPE; + customer_name_ VARCHAR2(100); + language_code_ VARCHAR2(10); + + page_footer_1_ VARCHAR2(2000); + page_footer_2_ VARCHAR2(2000); + page_footer_3_ VARCHAR2(2000); + page_footer_4_ VARCHAR2(2000); + + company_ APP_FOR_PAYMENT_TAB.company%TYPE; + + logotype_ VARCHAR2(100); + company_name_ VARCHAR2(100); + + first_address_ VARCHAR2(50); + address1_ VARCHAR2(50); + address2_ VARCHAR2(50); + address3_ VARCHAR2(100); + address4_ VARCHAR2(100); + address5_ VARCHAR2(100); + address6_ VARCHAR2(100); + zip_code_ VARCHAR2(50); + city_ VARCHAR2(50); + county_ VARCHAR2(50); + addr_state_ VARCHAR2(50); + site_ SALES_CONTRACT_TAB.site%TYPE; + + --total application detail + afp_work_value_ NUMBER; + afp_sm_value_ NUMBER; + afp_total_value_ NUMBER; + used_int_retvalue_ NUMBER; + used_fin_retvalue_ NUMBER; + used_tot_retvalue_ NUMBER; + used_discount_ NUMBER; + used_deduction_ NUMBER; + used_ret_released_ NUMBER; + afp_total_due_ NUMBER; + used_tax_amount_ NUMBER; + + --previous application detail + prev_afp_work_value_ NUMBER; + prev_afp_sm_value_ NUMBER; + prev_afp_total_value_ NUMBER; + prev_used_int_retvalue_ NUMBER; + prev_used_fin_retvalue_ NUMBER; + prev_used_tot_retvalue_ NUMBER; + prev_used_discount_ NUMBER; + prev_used_deduction_ NUMBER; + prev_used_ret_released_ NUMBER; + prev_afp_total_due_ NUMBER; + prev_afp_no_ APP_FOR_PAYMENT_TAB.afp_no%TYPE; + prev_used_tax_amount_ NUMBER; + + --this application detail + this_afp_total_value_ NUMBER; + this_used_tot_retvalue_ NUMBER; + this_used_discount_ NUMBER; + this_used_deduction_ NUMBER; + this_used_ret_released_ NUMBER; + this_afp_total_due_ NUMBER; + this_used_tax_amount_ NUMBER; + + paid_to_date_ NUMBER; + bal_due_ NUMBER; + + --Page 2 + tot_contract_sales_val_ NUMBER; + rev_contract_sales_val_ NUMBER; + + rev_seq_ APP_FOR_PAYMENT_TAB.rev_seq%TYPE; + line_no_ AFP_LINE_TAB.line_no%TYPE; + line_name_ AFP_LINE_TAB.line_name%TYPE; + item_no_ AFP_ITEM_TAB.item_no%TYPE; + item_name_ AFP_ITEM_TAB.item_name%TYPE; + change_status_ CONTRACT_ITEM_TAB.change_status_cb%TYPE; + co_number_ CONTRACT_ITEM_TAB.co_number%TYPE; + total_valuation_ NUMBER; + revenue_value_adj_ NUMBER; + contract_baseline_ NUMBER; + + retention_percent_ NUMBER := 0.00; + discount_percent_ NUMBER := 0.00; + deduction_percent_ NUMBER := 0.00; + + --Following two variables needed for function, but not displayed + used_sub_total_ NUMBER; + prev_used_sub_total_ NUMBER; + + valuation_no_ APP_FOR_PAYMENT_TAB.valuation_no%TYPE; + title_ VARCHAR2(100); + page_footer_rec_ pagefoot_rec; + + row_ NUMBER; + print_address_on_left_ NUMBER; + column_title_ Footer_Connection_API.footer_arr; + column_text_ Footer_Connection_API.footer_arr; + f_title_ Footer_Connection_API.t_varchar2; + f_text_ Footer_Connection_API.t_varchar2; + + -- Header loop cursor + CURSOR get_header IS + SELECT application_date application_date, + customer_id customer_id, + pay_term_id pay_term_id, + due_date due_date, + contract_manager contract_manager, + company company, + currency_code currency_code, + rev_seq rev_seq, + cust_cert_no cust_cert_no, + objstate status, + objkey rowkey + FROM app_for_payment_main + WHERE afp_no = afp_no_ + AND contract_no = contract_no_; + + CURSOR get_address_info(customer_id_ IN VARCHAR2, first_address_ IN VARCHAR2) IS + SELECT address1 address1, + address2 address2, + address3 address3, + address4 address4, + address5 address5, + address6 address6, + zip_code zip_code, + city city, + county county, + state state + FROM customer_info_address t + WHERE customer_id = customer_id_ + AND address_id = first_address_; + + payer_ APP_FOR_PAYMENT_TAB.payer%TYPE; + document_address_ APP_FOR_PAYMENT_TAB.document_address%TYPE; + + CURSOR get_contract_ref IS + SELECT contract_ref contract_ref + FROM sales_contract + WHERE contract_no = contract_no_; + + CURSOR get_contract_lines IS + SELECT cl.line_no line_no, + cl.line_name line_name, + cl.objkey rowkey + FROM afp_line cl + WHERE cl.afp_no = afp_no_ + AND cl.contract_no = contract_no_; + + CURSOR get_contract_del_lines IS + SELECT cl.line_no line_no, + cl.line_name line_name, + cl.objkey rowkey + FROM contract_line cl + WHERE cl.rev_seq = rev_seq_ + AND cl.contract_no = contract_no_ + AND EXISTS (SELECT NULL + FROM contract_item ci + WHERE cl.line_no = ci.line_no + AND cl.contract_no = ci.contract_no + AND cl.rev_seq = ci.rev_seq + AND EXCLUDE_FROM_CONTRACT !='TRUE' + AND ci.change_status_db = '3'); + + CURSOR get_contract_del_items IS + SELECT item_no item_no, + item_name item_name, + change_status_cb change_status, + objkey rowkey + FROM contract_item + WHERE contract_no = contract_no_ + AND rev_seq = rev_seq_ + AND line_no = line_no_ + AND EXCLUDE_FROM_CONTRACT !='TRUE' + AND change_status_db = '3'; + + CURSOR get_contract_items IS + SELECT item_no item_no, + item_name item_name, + objkey rowkey + FROM afp_item + WHERE contract_no = contract_no_ + AND afp_no = afp_no_ + AND line_no = line_no_; + + CURSOR get_contract_baseline IS + SELECT rev_seq rev_seq + FROM contract_revision + WHERE contract_no = contract_no_ + AND contract_baseline = 'TRUE'; + + CURSOR get_retention IS + SELECT int_retention int_retention + FROM sales_contract + WHERE contract_no = contract_no_; + + + CURSOR get_deductions IS + SELECT TYPE TYPE + FROM afp_deduction + WHERE contract_no = contract_no_ + AND afp_no = afp_no_; + + do_xml_ BOOLEAN := Report_SYS.Should_Generate_Xml('APP_FOR_PAYMENT_REP'); + do_rs_ BOOLEAN := Report_SYS.Should_Generate_Result_Set('APP_FOR_PAYMENT_REP'); + xml_ CLOB; + package_name_ VARCHAR2(100) := 'APP_FOR_PAYMENT_REP'; + + --HOINeEd (START) Assyst: 12012 + CURSOR get_ssrs_header IS + SELECT contract_no,application_no,project_id,project_name,customer_name,project_address,contact,contact_phone,contact_email,invoice_no,due_date,application_date,period_to,customer_id + FROM ifsapp.leg_rep_aia_head + WHERE 1 = 1 + AND contract_no = contract_no_ + AND application_no = afp_no_ ; + + + CURSOR get_ssrs_details IS + SELECT contract_no, afp_no,line_no,item,description_of_work,scheduled_value_base,scheduled_value_change_orders,scheduled_value_total,work_completed_from_previous, + work_comp_from_prev_percent ,this_period_percent,total_completed_and_stored,g_percentage,retainage,materials_presently_stored + FROM ifsapp.leg_rep_aia_details + WHERE 1 = 1 + AND contract_no = contract_no_ + AND afp_no = afp_no_ ; + + + --HOINeEd (FINISH) Assyst: 12012 + +BEGIN + General_SYS.Init_Method(lu_name_, 'APP_FOR_PAYMENT_RPI', 'Report_App_For_Payment'); + result_key_ := to_number(Client_SYS.Get_Item_Value('RESULT_KEY', report_attr_)); + afp_no_ := Client_SYS.Get_Item_Value('AFP_NO', parameter_attr_); + contract_no_ := Client_SYS.Get_Item_Value('CONTRACT_NO', parameter_attr_); + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Create_Report_Header(xml_,'APP_FOR_PAYMENT_REP',package_name_); + Xml_Record_Writer_SYS.Start_Element(xml_, 'HEADS'); + END IF; + + FOR header_rec_ IN get_header LOOP + + language_code_ := Customer_Info_API.Get_Default_Language_Db(header_rec_.customer_id); + IF (language_code_ = 'PROG') THEN + language_code_ := 'en'; + END IF; + + -- If there is a payment term description defined in customers language it should be used. + payment_terms_ := Text_Field_Translation_API.Get_text(header_rec_.company, 'PAYMENTTERM', header_rec_.pay_term_id, language_code_); + + IF (payment_terms_ IS NULL) THEN + payment_terms_ := PAYMENT_TERM_API.Get_Description(header_rec_.company,header_rec_.pay_term_id); + END IF; + + contract_name_ := SALES_CONTRACT_API.Get_Contract_Name(contract_no_); + contract_manager_ := PERSON_INFO_API.Get_Name(header_rec_.contract_manager); + customer_id_ := header_rec_.customer_id; + -- if payer is connected to afp then use it instead of customer + payer_ := App_For_Payment_API.Get_Payer (contract_no_, afp_no_); + IF payer_ IS NOT NULL THEN + customer_name_ := customer_info_API.Get_Name(payer_); + ELSE + customer_name_ := customer_info_API.Get_Name(customer_id_); + END IF; + rev_seq_ := header_rec_.rev_seq; + company_ := header_rec_.company; + val_date_ := App_For_Payment_API.Get_Valuation_Date (contract_no_, afp_no_); + cust_cert_no_ := header_rec_.cust_cert_no; + + --To be implemented at a later date + order_no_ := 'Order_No'; + + --Fetch address + -- if a payer with document address exists in AFP then use it else use default customer and address + document_address_ := App_For_Payment_API.Get_Document_Address (contract_no_, afp_no_); + IF document_address_ IS NOT NULL THEN + payer_ := App_For_Payment_API.Get_Payer (contract_no_, afp_no_); + first_address_ := document_address_; + ELSE + payer_ := customer_id_; + first_address_ := Customer_Info_Address_API.Get_Default_Address(customer_id_, Address_Type_Code_API.Decode('INVOICE')); + END IF; + + OPEN get_address_info(payer_, first_address_); + FETCH get_address_info INTO address1_, address2_, address3_, address4_, address5_, address6_, zip_code_, city_, county_, addr_state_; + CLOSE get_address_info; + + --Fetch contract reference + OPEN get_contract_ref; + FETCH get_contract_ref INTO contract_reference_; + CLOSE get_contract_ref; + + --Fetch details for total application columns on page 1 + App_For_Payment_API.Get_Total_Value(afp_work_value_, + afp_sm_value_ , + afp_total_value_, + used_int_retvalue_ , + used_fin_retvalue_, + used_tot_retvalue_, + used_discount_, + used_deduction_, + used_ret_released_, + used_sub_total_, + contract_no_, + afp_no_); + + used_tax_amount_ := App_For_Payment_API.Get_Total_Tax_Amount(contract_no_, afp_no_); + afp_total_due_ := App_For_Payment_API.Get_Afp_Total_Due(contract_no_, afp_no_); + --Fetch details for previous application columns on page 1 + prev_afp_no_ := App_For_Payment_API.Get_Prev_Afp_No(contract_no_, afp_no_); + App_For_Payment_API.Get_Total_Value(prev_afp_work_value_, + prev_afp_sm_value_ , + prev_afp_total_value_, + prev_used_int_retvalue_ , + prev_used_fin_retvalue_, + prev_used_tot_retvalue_, + prev_used_discount_, + prev_used_deduction_, + prev_used_ret_released_, + prev_used_sub_total_, + contract_no_, + prev_afp_no_); + prev_used_tax_amount_ := App_For_Payment_API.Get_Prev_Total_Tax_Amount(contract_no_, afp_no_); + prev_afp_total_due_ := prev_used_sub_total_ + nvl(prev_used_tax_amount_,0); + --Fetch details for this application columns on page 1 + this_afp_total_value_ := Calc_This_AFP___(afp_total_value_, prev_afp_total_value_); + this_used_tot_retvalue_ := Calc_This_AFP___(used_tot_retvalue_, prev_used_tot_retvalue_); + this_used_discount_ := Calc_This_AFP___(used_discount_, prev_used_discount_); + this_used_deduction_ := Calc_This_AFP___(used_deduction_, prev_used_deduction_); + this_used_ret_released_ := Calc_This_AFP___(used_ret_released_, prev_used_ret_released_); + this_used_tax_amount_ := Calc_This_AFP___(used_tax_amount_, prev_used_tax_amount_); + this_afp_total_due_ := Calc_This_AFP___(afp_total_due_, prev_afp_total_due_); + + paid_to_date_ := Afp_Payment_API.Get_Afp_Group_Paid_To_Date (company_, contract_no_, afp_no_); + bal_due_ := App_For_Payment_API.Get_Total_Bal_Due(company_, contract_no_, afp_no_); + + -- Replace ^:s with tabs in footers + page_footer_1_ := translate(Company_Invoice_Info_API.Get_Footing_Line(header_rec_.company, 1), '^', chr(9)); + page_footer_2_ := translate(Company_Invoice_Info_API.Get_Footing_Line(header_rec_.company, 2), '^', chr(9)); + page_footer_3_ := translate(Company_Invoice_Info_API.Get_Footing_Line(header_rec_.company, 3), '^', chr(9)); + page_footer_4_ := translate(Company_Invoice_Info_API.Get_Footing_Line(header_rec_.company, 4), '^', chr(9)); + + OPEN get_retention; + FETCH get_retention INTO retention_percent_; + CLOSE get_retention; + + discount_percent_ := Sales_Contract_API.Get_Discount(contract_no_); + + FOR deduction_rec_ IN get_deductions LOOP + deduction_percent_ := deduction_percent_ + Con_Deduction_Type_API.Get_Percentage(deduction_rec_.TYPE); + END LOOP; + + valuation_no_ := App_For_Payment_API.Get_Valuation_No (contract_no_, afp_no_); + IF (App_For_Payment_API.Get_Objstate(contract_no_, afp_no_) IN ('Submitted','Certified', 'Partially Paid', 'Fully Paid')) THEN + title_ := 'AFP: APPLICATION FOR PAYMENT'; + ELSE + title_ := 'PRELAFP: PRELIMINARY APPLICATION FOR PAYMENT'; + END IF; + + site_ := SALES_CONTRACT_API.Get_Site(contract_no_); + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'HEAD'); + + --HOINeEd Assyst: 12012 (START) + FOR recH_ IN get_ssrs_header LOOP + Xml_Record_Writer_SYS.Add_Element(xml_,'PROJECT_NAME_HE', recH_.project_name); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_NAME_HE', recH_.customer_name); + Xml_Record_Writer_SYS.Add_Element(xml_,'PROJECT_ADDRESS_HE', recH_.project_address); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTACT_HE', recH_.contact); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTACT_PHONE_HE', recH_.contact_phone); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTRACT_NO_HE', recH_.contract_no); + Xml_Record_Writer_SYS.Add_Element(xml_,'OUR_JOB_NO_HE', recH_.project_id); + Xml_Record_Writer_SYS.Add_Element(xml_,'INVOICE_NO_HE', recH_.invoice_no); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_DUE_ON_HE', recH_.due_date); + Xml_Record_Writer_SYS.Add_Element(xml_,'APPLICATION_NO_HE', recH_.application_no); + Xml_Record_Writer_SYS.Add_Element(xml_,'APPLICATION_DATE_HE', recH_.application_date); + Xml_Record_Writer_SYS.Add_Element(xml_,'PERIOD_TO_HE', recH_.period_to); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_ID_HE', recH_.customer_id); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTACT_EMAIL_HE', recH_.contact_email); + + END LOOP; + + --HOINeEd Assyst: 12012 (FINISH) + + Xml_Record_Writer_SYS.Add_Element(xml_,'DEDUCTION_PERCENT', deduction_percent_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISCOUNT_PERCENT', discount_percent_); + Xml_Record_Writer_SYS.Add_Element(xml_,'RETENTION_PERCENT', retention_percent_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BAL_DUE', bal_due_); + Xml_Record_Writer_SYS.Add_Element(xml_,'USED_DEDUCTION', used_deduction_); + Xml_Record_Writer_SYS.Add_Element(xml_,'USED_DISCOUNT', used_discount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'USED_TOT_RETVALUE', used_tot_retvalue_); + Xml_Record_Writer_SYS.Add_Element(xml_,'AFP_TOTAL_VALUE', afp_total_value_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_CODE', header_rec_.currency_code); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_NAME', customer_name_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTRACT_REF', contract_reference_); + Xml_Record_Writer_SYS.Add_Element(xml_,'COUNTY', county_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CITY', city_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ZIP_CODE', zip_code_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ADDRESS_6', address6_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ADDRESS_5', address5_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ADDRESS_4', address4_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ADDRESS_3', address3_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ADDRESS_2', address2_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ADDRESS_1', address1_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAY_TERMS', payment_terms_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAY_DUE_DATE', header_rec_.due_date); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_NO', customer_id_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTRACT_NAME', contract_name_); + Xml_Record_Writer_SYS.Add_Element(xml_,'AFP_NO', afp_no_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTRACT_NO', contract_no_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAL_DATE', val_date_); + Xml_Record_Writer_SYS.Add_Element(xml_,'AFP_DATE', header_rec_.application_date); + Xml_Record_Writer_SYS.Add_Element(xml_,'THIS_TAX_AMOUNT', this_used_tax_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAID_TO_DATE', paid_to_date_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PREV_TAX_AMOUNT', prev_used_tax_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'USED_TAX_AMOUNT', used_tax_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'THIS_AFP_TOTAL_DUE', this_afp_total_due_); + Xml_Record_Writer_SYS.Add_Element(xml_,'THIS_USED_RET_RELEASED', this_used_ret_released_); + Xml_Record_Writer_SYS.Add_Element(xml_,'THIS_USED_DEDUCTION', this_used_deduction_); + Xml_Record_Writer_SYS.Add_Element(xml_,'THIS_USED_DISCOUNT', this_used_discount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'THIS_USED_TOT_RETVALUE', this_used_tot_retvalue_); + Xml_Record_Writer_SYS.Add_Element(xml_,'THIS_AFP_TOTAL_VALUE', this_afp_total_value_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PREV_AFP_TOTAL_DUE', prev_afp_total_due_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PREV_USED_RET_RELEASED', prev_used_ret_released_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PREV_USED_DEDUCTION', prev_used_deduction_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PREV_USED_DISCOUNT', prev_used_discount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PREV_USED_TOT_RETVALUE', prev_used_tot_retvalue_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PREV_AFP_TOTAL_VALUE', prev_afp_total_value_); + Xml_Record_Writer_SYS.Add_Element(xml_,'AFP_TOTAL_DUE', afp_total_due_); + Xml_Record_Writer_SYS.Add_Element(xml_,'USED_RET_RELEASED', used_ret_released_); + Xml_Record_Writer_SYS.Add_Element(xml_,'OUR_REF', contract_manager_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUST_CERT_NO', cust_cert_no_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_1', page_footer_1_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_2', page_footer_2_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_3', page_footer_3_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAGE_FOOTER_4', page_footer_4_); + Xml_Record_Writer_SYS.Add_Custom_Fields(xml_,'AppForPayment', header_rec_.rowkey, 'APP_FOR_PAYMENT_REP', language_code_); + + IF (Footer_Connection_API.Is_Report_Footer_Connected(company_,'APP_FOR_PAYMENT_REP',contract_no_)) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'DOCUMENT_FOOTER', 'TRUE'); + ELSE + Xml_Record_Writer_SYS.Add_Element(xml_,'DOCUMENT_FOOTER', 'FALSE'); + END IF; + IF Fnd_Boolean_API.Encode(Company_API.Get_Print_Senders_Address(company_)) = 'TRUE' THEN + Xml_Record_Writer_SYS.Add_Element(xml_, 'DOCUMENT_ADDRESS', Company_Address_API.Get_Address_Form(company_,Site_Discom_Info_API.Get_Document_Address_Id(site_,'TRUE'),'TRUE','TRUE',' ') ); + END IF; + IF (Company_API.Get_Positioning_Type(company_) = 'LEFT' )THEN + print_address_on_left_ := 1; + ELSE + print_address_on_left_ := 0; + END IF; + Xml_Record_Writer_SYS.Add_Element(xml_, 'ADDRESS_POSITION',print_address_on_left_); + + + Xml_Record_Writer_SYS.Start_Element(xml_, 'FOOTERS'); + -- For 'FOOTER 1' + Split_Pagefooter___(page_footer_rec_, page_footer_1_); + Add_Pagefooter_Values___(xml_, page_footer_rec_); + + -- For 'FOOTER 2' + Split_Pagefooter___(page_footer_rec_, page_footer_2_); + Add_Pagefooter_Values___(xml_, page_footer_rec_); + + -- For 'FOOTER 3' + Split_Pagefooter___(page_footer_rec_, page_footer_3_); + Add_Pagefooter_Values___(xml_, page_footer_rec_); + + -- For 'FOOTER 4' + Split_Pagefooter___(page_footer_rec_, page_footer_4_); + Add_Pagefooter_Values___(xml_, page_footer_rec_); + Xml_Record_Writer_SYS.End_Element(xml_, 'FOOTERS'); + END IF; + IF (do_rs_) THEN + -- Insert values for application header + INSERT INTO CONMGT_INFO_SERVICES_RPT + (result_key, row_no, parent_row_no, + N26, + D1, + D2, + N34, + N33, + S28, + S2, + S3, + S4, + S5, + D3, + S6, + S7, + S8, + S9, + S10, + S31, + S32, + S33, + S34, + S11, + S12, + S13, + S14, + S15, + S16, + N1, + N2, + N3, + N4, + N5, + N6, + N7, + N8, + N9, + N10, + N11, + N12, + N13, + N14, + N15, + N16, + N17, + N18, + N19, + N20, + N21, + N22, + N23, + S17, + S30, + S18, + S19, + S20, + S21, + N30, + N31, + N32, + N25) + VALUES + (result_key_, row_no_, parent_row_no_, + 1, + header_rec_.application_date, + val_date_, + afp_no_, + valuation_no_, + title_, + contract_no_, + contract_name_, + customer_id_, + order_no_, + header_rec_.due_date, + payment_terms_, + company_, + contract_manager_, + address1_, + address2_, + address3_, + address4_, + address5_, + address6_, + zip_code_, + city_, + county_, + addr_state_, + contract_reference_, + customer_name_, + afp_total_value_, + used_tot_retvalue_, + used_discount_, + used_deduction_, + used_ret_released_, + afp_total_due_, + prev_afp_total_value_, + prev_used_tot_retvalue_, + prev_used_discount_, + prev_used_deduction_, + prev_used_ret_released_, + prev_afp_total_due_, + this_afp_total_value_, + this_used_tot_retvalue_, + this_used_discount_, + this_used_deduction_, + this_used_ret_released_, + this_afp_total_due_, + used_tax_amount_, + prev_used_tax_amount_, + this_used_tax_amount_, + paid_to_date_, + bal_due_, + header_rec_.currency_code, + cust_cert_no_, + page_footer_1_, + page_footer_2_, + page_footer_3_, + page_footer_4_, + retention_percent_, + discount_percent_, + deduction_percent_, + rev_seq_); + END IF; + + parent_row_no_ := row_no_; + row_no_ := row_no_ + 1; + + --HOINeEd (START) Assyst: 12012 + + + Xml_Record_Writer_SYS.Start_Element(xml_, 'DETAILS'); + FOR recD_ IN get_ssrs_details LOOP + Xml_Record_Writer_SYS.Start_Element(xml_, 'DETAIL'); + Xml_Record_Writer_SYS.Add_Element(xml_, 'CONTRACT_NO', recD_.contract_no); + Xml_Record_Writer_SYS.Add_Element(xml_, 'AFP_NO', recD_.afp_no); + Xml_Record_Writer_SYS.Add_Element(xml_, 'LINE_NO', recD_.line_no); + Xml_Record_Writer_SYS.Add_Element(xml_, 'ITEM', recD_.line_no || '-' || recD_.item); + Xml_Record_Writer_SYS.Add_Element(xml_, 'DESCRIPTION_OF_WORK', recD_.description_of_work); + Xml_Record_Writer_SYS.Add_Element(xml_, 'SCHEDULED_VALUE_BASE', recD_.scheduled_value_base); + Xml_Record_Writer_SYS.Add_Element(xml_, 'SCHEDULED_VALUE_CHANGE_ORDERS', recD_.scheduled_value_change_orders); + Xml_Record_Writer_SYS.Add_Element(xml_, 'SCHEDULED_VALUE_TOTAL', recD_.scheduled_value_total); + Xml_Record_Writer_SYS.Add_Element(xml_, 'WORK_COMPLETED_FROM_PREVIOUS', recD_.work_completed_from_previous); + Xml_Record_Writer_SYS.Add_Element(xml_, 'WORK_COMP_FROM_PREV_PERCENT', recD_. work_comp_from_prev_percent); + Xml_Record_Writer_SYS.Add_Element(xml_, 'THIS_PERIOD_PERCENT', recD_.this_period_percent); + Xml_Record_Writer_SYS.Add_Element(xml_, 'TOTAL_COMPLETED_AND_STORED', recD_.total_completed_and_stored); + Xml_Record_Writer_SYS.Add_Element(xml_, 'G_PERCENTAGE', recD_.g_percentage); + Xml_Record_Writer_SYS.Add_Element(xml_, 'RETAINAGE', recD_.retainage); + Xml_Record_Writer_SYS.Add_Element(xml_, 'MATERIALS_PRESENTLY_STORED', recD_.materials_presently_stored); + Xml_Record_Writer_SYS.End_Element(xml_, 'DETAIL'); + END LOOP; + Xml_Record_Writer_SYS.End_Element(xml_, 'DETAILS'); + + + + --HOINeEd (FINISH) Assyst: 12012 + + + --Total for the contract baseline revision (Revision Tab of Contract) + OPEN get_contract_baseline; + FETCH get_contract_baseline INTO contract_baseline_; + CLOSE get_contract_baseline; + + tot_contract_sales_val_ := Contract_Revision_Util_API.Get_Contract_Sales_Value(contract_no_, contract_baseline_, header_rec_.currency_code); + + --Total for this application revision (if different from baseline revision) + IF (contract_baseline_ != rev_seq_ OR contract_baseline_ IS NULL) THEN + rev_contract_sales_val_ := Contract_Revision_Util_API.Get_Contract_Sales_Value(contract_no_, rev_seq_, header_rec_.currency_code); + END IF; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'ITEMS'); + END IF; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'ITEM'); + Xml_Record_Writer_SYS.Add_Element(xml_,'REV_SEQ', rev_seq_); + Xml_Record_Writer_SYS.Add_Element(xml_,'REV_CONTRACT_SALES_VAL', rev_contract_sales_val_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TOT_CONTRACT_SALES_VAL', tot_contract_sales_val_); + END IF; + + IF (do_rs_) THEN + -- Insert values for page 2 header + INSERT INTO CONMGT_INFO_SERVICES_RPT + (result_key, row_no, parent_row_no, + N26, + N34, + S2, + N25, + S18, + S19, + S20, + S21, + N24, + N27) + VALUES + (result_key_, row_no_, parent_row_no_, + 2, + afp_no_, + contract_no_, + rev_seq_, + page_footer_1_, + page_footer_2_, + page_footer_3_, + page_footer_4_, + tot_contract_sales_val_, + rev_contract_sales_val_); + END IF; + + parent_row_no_ := row_no_; + row_no_ := row_no_ + 1; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'LINES'); + END IF; + + --Fetch contract lines + FOR lines_rec_ IN get_contract_lines LOOP + + line_no_ := lines_rec_.line_no; + line_name_ := lines_rec_.line_name; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'LINE'); + Xml_Record_Writer_SYS.Add_Element(xml_,'LINE_NAME', line_name_); + Xml_Record_Writer_SYS.Add_Element(xml_,'LINE', line_no_); + Xml_Record_Writer_SYS.Add_Custom_Fields(xml_,'AfpLine', lines_rec_.rowkey, 'APP_FOR_PAYMENT_REP', language_code_); + END IF; + + IF (do_rs_) THEN + --Insert line detail + INSERT INTO CONMGT_INFO_SERVICES_RPT + (result_key, row_no, parent_row_no, + N26, + N34, + S2, + N25, + S18, + S19, + S20, + S21, + S22, + S23) + VALUES + (result_key_, row_no_, parent_row_no_, + 3, + afp_no_, + contract_no_, + rev_seq_, + page_footer_1_, + page_footer_2_, + page_footer_3_, + page_footer_4_, + line_no_, + line_name_); + END IF; + + parent_row_no_ := row_no_; + row_no_ := row_no_ + 1; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'LINE_DETAILS'); + END IF; + + + + --Fetch contract line items + FOR items_rec_ IN get_contract_items LOOP + + + item_no_ := items_rec_.item_no; + item_name_ := items_rec_.item_name; + change_status_ := Afp_Item_API.Get_Contract_Item_Status(contract_no_,afp_no_,line_no_,item_no_); + co_number_ := Afp_Item_API.Get_Contract_Change_Order_Id(contract_no_, afp_no_, line_no_, item_no_); + + --Value to date + total_valuation_ := Afp_Item_API.Get_Total_Valuation(contract_no_, afp_no_, line_no_, item_no_); + --Total Value + revenue_value_adj_ := Contract_Item_API.Get_Revenue_Value_Adj(contract_no_, rev_seq_, line_no_, item_no_); + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'LINE_DETAIL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'REVENUE_VALUE_ADJ', NVL(revenue_value_adj_, 0.00)); + Xml_Record_Writer_SYS.Add_Element(xml_,'TOTAL_VALUATION', NVL(total_valuation_, 0.00)); + Xml_Record_Writer_SYS.Add_Element(xml_,'CO_NUMBER', co_number_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHANGE_STATUS', NVL(change_status_, '-')); + Xml_Record_Writer_SYS.Add_Element(xml_,'ITEM_NAME', item_name_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ITEM_NO', item_no_); + Xml_Record_Writer_SYS.Add_Custom_Fields(xml_,'AfpItem', items_rec_.rowkey, 'APP_FOR_PAYMENT_REP', language_code_); + + + END IF; + + IF (do_rs_) THEN + --Insert line items for all normal change status types + INSERT INTO CONMGT_INFO_SERVICES_RPT + (result_key, row_no, parent_row_no, + N26, + N34, + S2, + N25, + S22, + S24, + S25, + S26, + S27, + N28, + S18, + S19, + S20, + S21, + N29) + VALUES + (result_key_, row_no_, parent_row_no_, + 4, + afp_no_, + contract_no_, + rev_seq_, + line_no_, + item_no_, + item_name_, + NVL(change_status_, '-'), + co_number_, + NVL(total_valuation_, 0.00), + page_footer_1_, + page_footer_2_, + page_footer_3_, + page_footer_4_, + NVL(revenue_value_adj_, 0.00)); + END IF; + parent_row_no_ := row_no_; + row_no_ := row_no_ + 1; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'LINE_DETAIL'); + END IF; + + END LOOP; -- end item_rec_ LOOP + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'LINE_DETAILS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'LINE'); + END IF; + + END LOOP; -- end lines_rec LOOP + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'LINES'); + END IF; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'D_LINES'); + END IF; + --Fetch deleted contract lines + FOR del_lines_rec_ IN get_contract_del_lines LOOP + + line_no_ := del_lines_rec_.line_no; + line_name_ := del_lines_rec_.line_name; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'D_LINE'); + Xml_Record_Writer_SYS.Add_Element(xml_,'LINE_NAME', line_name_); + Xml_Record_Writer_SYS.Add_Element(xml_,'LINE', line_no_); + Xml_Record_Writer_SYS.Add_Custom_Fields(xml_,'ContractLine', del_lines_rec_.rowkey, 'APP_FOR_PAYMENT_REP', language_code_); + END IF; + + IF (do_rs_) THEN + --Insert line detail + INSERT INTO CONMGT_INFO_SERVICES_RPT + (result_key, row_no, parent_row_no, + N26, + N34, + S2, + N25, + S18, + S19, + S20, + S21, + S22, + S23) + VALUES + (result_key_, row_no_, parent_row_no_, + 5, + afp_no_, + contract_no_, + rev_seq_, + page_footer_1_, + page_footer_2_, + page_footer_3_, + page_footer_4_, + line_no_, + line_name_); + END IF; + + parent_row_no_ := row_no_; + row_no_ := row_no_ + 1; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'D_LINE_DETAILS'); + END IF; + + --Fetch contract line items for deleted lines + FOR del_items_rec_ IN get_contract_del_items LOOP + + item_no_ := del_items_rec_.item_no; + item_name_ := del_items_rec_.item_name; + change_status_ := del_items_rec_.change_status; + co_number_ := Contract_Item_API.Get_Contract_Change_Order_Id(line_no_, item_no_, contract_no_, rev_seq_); + + --Value to date + total_valuation_ := Afp_Item_API.Get_Total_Valuation(contract_no_, afp_no_, line_no_, item_no_); + --Total Value + revenue_value_adj_ := Contract_Item_API.Get_Revenue_Value_Adj(contract_no_, rev_seq_, line_no_, item_no_); + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'D_LINE_DETAIL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'REVENUE_VALUE_ADJ', NVL(revenue_value_adj_, 0.00)); + Xml_Record_Writer_SYS.Add_Element(xml_,'TOTAL_VALUATION', NVL(total_valuation_, 0.00)); + Xml_Record_Writer_SYS.Add_Element(xml_,'CO_NUMBER', co_number_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHANGE_STATUS', NVL(change_status_, '-')); + Xml_Record_Writer_SYS.Add_Element(xml_,'ITEM_NAME', item_name_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ITEM_NO', item_no_); + Xml_Record_Writer_SYS.Add_Custom_Fields(xml_,'ContractItem', del_items_rec_.rowkey, 'APP_FOR_PAYMENT_REP', language_code_); + END IF; + IF (do_rs_) THEN + INSERT INTO CONMGT_INFO_SERVICES_RPT + (result_key, row_no, parent_row_no, + N26, + N34, + S2, + N25, + S22, + S24, + S25, + S26, + S27, + N28, + S18, + S19, + S20, + S21, + N29) + VALUES + (result_key_, row_no_, parent_row_no_, + 6, + afp_no_, + contract_no_, + rev_seq_, + line_no_, + item_no_, + item_name_, + NVL(change_status_, '-'), + co_number_, + NVL(total_valuation_, 0.00), + page_footer_1_, + page_footer_2_, + page_footer_3_, + page_footer_4_, + NVL(revenue_value_adj_, 0.00)); + END IF; + + parent_row_no_ := row_no_; + row_no_ := row_no_ + 1; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'D_LINE_DETAIL'); + END IF; + + END LOOP; -- end del_items_rec_ LOOP + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'D_LINE_DETAILS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'D_LINE'); + END IF; + END LOOP; -- end del_lines_rec LOOP + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'D_LINES'); + END IF; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'ITEM'); + END IF; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'ITEMS'); + END IF; + + -- Note: Document Footer for report + IF (Footer_Connection_API.Is_Report_Footer_Connected(company_,'APP_FOR_PAYMENT_REP','*')) THEN + + Footer_Connection_API.Get_Footer_Details(row_,column_title_,column_text_,company_,'APP_FOR_PAYMENT_REP','*'); + Xml_Record_Writer_SYS.Start_Element(xml_, 'DOCUMENT_FOOTERS'); + + FOR i IN 0..row_ LOOP + Xml_Record_Writer_SYS.Start_Element(xml_,'DOCUMENT_FOOTER'); + f_title_ := column_title_(i); + f_text_ := column_text_(i); + FOR n IN f_title_.FIRST..f_text_.LAST LOOP + Xml_Record_Writer_SYS.Add_Element(xml_,f_title_(n),f_text_(n)); + END LOOP; + Xml_Record_Writer_SYS.End_Element(xml_,'DOCUMENT_FOOTER'); + END LOOP; + Xml_Record_Writer_SYS.End_Element(xml_,'DOCUMENT_FOOTERS'); + END IF; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'HEAD'); + END IF; + + END LOOP; -- end header_rec LOOP + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'HEADS'); + END IF; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_,'APP_FOR_PAYMENT_REP'); + Report_SYS.Finish_Xml_Report('APP_FOR_PAYMENT_REP',result_key_,xml_); + END IF; + + logotype_ := Company_API.Get_Logotype(company_); + company_name_ := Company_API.Get_Name(company_); + + IF (logotype_ IS NOT NULL ) THEN + Archive_Variable_API.Set_Object(result_key_, 'rhSysLogo', logotype_); + Archive_Variable_API.Set_Variable(result_key_, 'companyName', company_name_); + END IF; + +END Report_App_For_Payment; + +----------------------------------------------------------------------------- +-------------------- FOUNDATION1 METHODS ------------------------------------ +----------------------------------------------------------------------------- +-- Init +-- Dummy procedure that can be called at database startup to ensure that +-- this package is loaded into memory for performance reasons only. +----------------------------------------------------------------------------- + +PROCEDURE Init +IS +BEGIN + NULL; +END Init; + + +END APP_FOR_PAYMENT_RPI; +/ + +SHOW ERROR + + +----------------------------------------------------------------------------- +-- END +----------------------------------------------------------------------------- + + +---------------------------------------------------------- +-- +---------------------------------------------------------- +-- This section is reserved for undefine statements +-- nothing should be manually written below because +-- that would be overwritten everytime the IFS / Undefine +-- tool is run. +-- Also do NOT make any changes to the above tag because +-- this will result in duplicated code +---------------------------------------------------------- +UNDEFINE MODULE +UNDEFINE LU +UNDEFINE PKG +UNDEFINE REPTAB +UNDEFINE VIEW +UNDEFINE METHOD +UNDEFINE REPORTNAME +UNDEFINE AFP_DATE +UNDEFINE VAL_DATE +UNDEFINE PAY_DUE_DATE +UNDEFINE AFP_NO +UNDEFINE CONTRACT_NO +UNDEFINE CONTRACT_NAME +UNDEFINE CUSTOMER_NO +UNDEFINE ORDER_NO +UNDEFINE PAY_TERMS +UNDEFINE COMPANY +UNDEFINE OUR_REF +UNDEFINE ADDRESS1 +UNDEFINE ADDRESS2 +UNDEFINE ADDRESS3 +UNDEFINE ADDRESS4 +UNDEFINE ADDRESS5 +UNDEFINE ADDRESS6 +UNDEFINE ZIP_CODE +UNDEFINE CITY +UNDEFINE COUNTY +UNDEFINE ADDR_STATE +UNDEFINE CONTRACT_REF +UNDEFINE CUSTOMER_NAME +UNDEFINE CURRENCY_CODE +UNDEFINE CUST_CERT_NO +UNDEFINE PAGE_FOOTER_1 +UNDEFINE PAGE_FOOTER_2 +UNDEFINE PAGE_FOOTER_3 +UNDEFINE PAGE_FOOTER_4 +UNDEFINE LINE +UNDEFINE LINE_NAME +UNDEFINE ITEM_NO +UNDEFINE ITEM_NAME +UNDEFINE CHANGE_STATUS +UNDEFINE CO_NUMBER +UNDEFINE TITLE +UNDEFINE AFP_TOTAL_VALUE +UNDEFINE USED_TOT_RETVALUE +UNDEFINE USED_DISCOUNT +UNDEFINE USED_DEDUCTION +UNDEFINE USED_RET_RELEASED +UNDEFINE AFP_TOTAL_DUE +UNDEFINE PREV_AFP_TOTAL_VALUE +UNDEFINE PREV_USED_TOT_RETVALUE +UNDEFINE PREV_USED_DISCOUNT +UNDEFINE PREV_USED_DEDUCTION +UNDEFINE PREV_USED_RET_RELEASED +UNDEFINE PREV_AFP_TOTAL_DUE +UNDEFINE THIS_AFP_TOTAL_VALUE +UNDEFINE THIS_USED_TOT_RETVALUE +UNDEFINE THIS_USED_DISCOUNT +UNDEFINE THIS_USED_DEDUCTION +UNDEFINE THIS_USED_RET_RELEASED +UNDEFINE THIS_AFP_TOTAL_DUE +UNDEFINE USED_TAX_AMOUNT +UNDEFINE PREV_TAX_AMOUNT +UNDEFINE THIS_TAX_AMOUNT +UNDEFINE PAID_TO_DATE +UNDEFINE BAL_DUE +UNDEFINE TOT_CONTRACT_SALES_VAL +UNDEFINE REV_SEQ +UNDEFINE BLOCK_NO +UNDEFINE REV_CONTRACT_SALES_VAL +UNDEFINE TOTAL_VALUATION +UNDEFINE REVENUE_VALUE_ADJ +UNDEFINE RETENTION_PERCENT +UNDEFINE DISCOUNT_PERCENT +UNDEFINE DEDUCTION_PERCENT +UNDEFINE VALUATION_NO diff --git a/cmod/model/cmod/CExternalBillingSupport-Cust.utility b/cmod/model/cmod/CExternalBillingSupport-Cust.utility new file mode 100644 index 0000000..55f28b1 --- /dev/null +++ b/cmod/model/cmod/CExternalBillingSupport-Cust.utility @@ -0,0 +1,6 @@ + + + CExternalBillingSupport + CMOD + Cust + diff --git a/cmod/model/cmod/CExternalBillingSupport.report b/cmod/model/cmod/CExternalBillingSupport.report new file mode 100644 index 0000000..1d0fc49 --- /dev/null +++ b/cmod/model/cmod/CExternalBillingSupport.report @@ -0,0 +1,447 @@ + + + + + + + + + Main + REPORT_STRUCTURE + + + 4b26a060-9511-11ef-1b7f-b0fd28e91275 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + HeaderDetail + + + + + 391 + 136 + + + + + 139 + 114 + + + + + 01faac50-9512-11ef-1b7f-b0fd28e91275 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + LineDetail + + + + + 639 + 363 + + + + + 147 + 266 + + + + + 86435630-9510-11ef-1b7f-b0fd28e91275 + REPORT + 0 + 0 + + + EntityName + CExternalBillingSupport + + + LUName + CExternalBillingSupport + + + + + 349 + -32 + + + + + 217 + 95 + + + + + bcf5b9c0-ed03-11ef-262d-d1b616e37b63 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + LaborDetails + + + + + 92 + 313 + + + + + 160 + 266 + + + + + + + AGGREGATE + 86435630-9510-11ef-1b7f-b0fd28e91275 + 4b26a060-9511-11ef-1b7f-b0fd28e91275 + 0 + + + ReportBlockEdgeName + HeaderDetails + + + IsArray + true + + + BlockName + HeaderDetail + + + + + 457 + 62 + + + 458 + 135 + + + + + AGGREGATE + 4b26a060-9511-11ef-1b7f-b0fd28e91275 + 01faac50-9512-11ef-1b7f-b0fd28e91275 + 0 + + + ReportBlockEdgeName + LineDetails + + + IsArray + true + + + BlockName + LineDetail + + + + + 506 + 249 + + + 638 + 407 + + + + + AGGREGATE + 4b26a060-9511-11ef-1b7f-b0fd28e91275 + bcf5b9c0-ed03-11ef-262d-d1b616e37b63 + 0 + + + ReportBlockEdgeName + LaborDetailses + + + IsArray + true + + + BlockName + LaborDetails + + + + + 394 + 249 + + + 251 + 375 + + + + + + + CExternalBillingSupport + CMOD + CExternalBillingSupport + + + HeaderDetail + SELECT NULL runBy, + to_date(NULL) reportDate, + NULL projectId , + null invoiceNo + from dual + + + Runby + TEXT + 200 + + + Reportdate + TIMESTAMP + + + ProjectidH + TEXT + 2000 + + + InvoicenoH + TEXT + 200 + + + + + LaborDetailses + 1 + LaborDetails + + + LineDetails + 1 + LineDetail + + + + + LineDetail + SELECT to_date(NULL) transactionDate, + NULL supplierName, + NULL invoiceNo, + NULL typeWo, + NULL activity, + NULL employee, + NULL description, + to_number(NULL) quantity, + to_number(NULL) materialCostTax, + NULL timeType, + to_number(NULL) price , + to_number(NULL) extension + from dual + + + Transactiondate + DATE + + + Suppliername + TEXT + 1000 + + + Invoiceno + TEXT + 1000 + + + Typewo + TEXT + 200 + + + Activity + TEXT + 200 + + + Employee + TEXT + 1000 + + + Description + TEXT + 2000 + + + Quantity + NUMBER + + + Materialcosttax + NUMBER + + + Timetype + TEXT + 200 + + + Price + NUMBER + + + Extension + NUMBER + + + + + LaborDetails + SELECT to_date(NULL) transactionDateL, + NULL supplierNameL, + NULL invoiceNoL, + NULL typeWoL, + NULL activityL, + NULL employeeL, + NULL descriptionL, + to_number(NULL) quantityL, + to_number(NULL) materialCostTaxL, + NULL timeTypeL, + to_number(NULL) priceL , + to_number(NULL) extensionL + from dual + + + Transactiondatel + TIMESTAMP + + + Suppliernamel + TEXT + 1000 + + + Invoicenol + TEXT + 1000 + + + Typewol + TEXT + 200 + + + Activityl + TEXT + 200 + + + Employeel + TEXT + 1000 + + + Descriptionl + TEXT + 2000 + + + Quantityl + NUMBER + + + Materialcosttaxl + NUMBER + + + Timetypel + TEXT + 200 + + + Pricel + NUMBER + + + Extensionl + NUMBER + + + + + + + ProjectId + TEXT + 50 + ACCOUNTING_PROJECT(COMPANY) + 0 + 0 + 1 + 0 + 0 + + + ProjectInvoice + TEXT + 1000 + C_PROJECTINV_BILLING_SUPPORT(PROJECT_ID) + 0 + 0 + 1 + 0 + 0 + + + Supplier + ENUMERATION + SupplierDetailsN + Supplier Id + 0 + 0 + 1 + 0 + 0 + + + + + CExternalBillingSupport + Sample + + + + + HeaderDetails + 1 + HeaderDetail + + + diff --git a/cmod/model/cmod/CInternalBillingSupport.report b/cmod/model/cmod/CInternalBillingSupport.report new file mode 100644 index 0000000..a939450 --- /dev/null +++ b/cmod/model/cmod/CInternalBillingSupport.report @@ -0,0 +1,484 @@ + + + + + + + + + Main + REPORT_STRUCTURE + + + 4b26a060-9511-11ef-1b7f-b0fd28e91275 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + HeaderDetail + + + + + 391 + 136 + + + + + 139 + 114 + + + + + 01faac50-9512-11ef-1b7f-b0fd28e91275 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + LineDetail + + + + + 713 + 293 + + + + + 158 + 323 + + + + + 86435630-9510-11ef-1b7f-b0fd28e91275 + REPORT + 0 + 0 + + + EntityName + CInternalBillingSupport + + + LUName + CInternalBillingSupport + + + + + 349 + -32 + + + + + 217 + 95 + + + + + bcf5b9c0-ed03-11ef-262d-d1b616e37b63 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + LaborDetails + + + + + 92 + 313 + + + + + 160 + 323 + + + + + + + AGGREGATE + 86435630-9510-11ef-1b7f-b0fd28e91275 + 4b26a060-9511-11ef-1b7f-b0fd28e91275 + 0 + + + ReportBlockEdgeName + HeaderDetails + + + IsArray + true + + + BlockName + HeaderDetail + + + + + 457 + 62 + + + 458 + 135 + + + + + AGGREGATE + 4b26a060-9511-11ef-1b7f-b0fd28e91275 + 01faac50-9512-11ef-1b7f-b0fd28e91275 + 0 + + + ReportBlockEdgeName + LineDetails + + + IsArray + true + + + BlockName + LineDetail + + + + + 529 + 246 + + + 712 + 390 + + + + + AGGREGATE + 4b26a060-9511-11ef-1b7f-b0fd28e91275 + bcf5b9c0-ed03-11ef-262d-d1b616e37b63 + 0 + + + ReportBlockEdgeName + LaborDetailses + + + IsArray + true + + + BlockName + LaborDetails + + + + + 398 + 249 + + + 251 + 393 + + + + + + + CInternalBillingSupport + CMOD + CInternalBillingSupport + + + HeaderDetail + SELECT NULL runBy, + to_date(NULL) reportDate, + NULL projectId , + null invoiceNo + from dual + + + Runby + TEXT + 200 + + + Reportdate + TIMESTAMP + + + ProjectidH + TEXT + 2000 + + + InvoicenoH + TEXT + 200 + + + + + LaborDetailses + 1 + LaborDetails + + + LineDetails + 1 + LineDetail + + + + + LineDetail + SELECT to_date(NULL) transactionDate, + NULL supplierName, + NULL invoiceNo, + NULL typeWo, + NULL activity, + NULL employee, + NULL description, + to_number(NULL) quantity, + to_number(NULL) materialCostTax, + NULL timeType, + to_number(NULL) price , + to_number(NULL) extension, + +NULL PURCHASE_ORDER, +NULL WORK_TASK, +NULL WORK_ORDER + from dual + + + Transactiondate + TIMESTAMP + + + Suppliername + TEXT + 1000 + + + Invoiceno + TEXT + 1000 + + + Typewo + TEXT + 200 + + + Activity + TEXT + 200 + + + Employee + TEXT + 1000 + + + Description + TEXT + 2000 + + + Quantity + INTEGER + + + Materialcosttax + INTEGER + + + Timetype + TEXT + 200 + + + Price + INTEGER + + + Extension + INTEGER + + + PurchaseOrder + TEXT + 500 + + + WorkTask + TEXT + 500 + + + WorkOrder + TEXT + 500 + + + + + LaborDetails + SELECT to_date(NULL) transactionDateL, + NULL supplierNameL, + NULL invoiceNoL, + NULL typeWoL, + NULL activityL, + NULL employeeL, + NULL descriptionL, + to_number(NULL) quantityL, + to_number(NULL) materialCostTaxL, + NULL timeTypeL, + to_number(NULL) priceL , + to_number(NULL) extensionL, + NULL PURCHASE_ORDERL, +NULL WORK_TASKL, +NULL WORK_ORDERL + from dual + + + Transactiondatel + TIMESTAMP + + + Suppliernamel + TEXT + 1000 + + + Invoicenol + TEXT + 1000 + + + Typewol + TEXT + 200 + + + Activityl + TEXT + 200 + + + Employeel + TEXT + 1000 + + + Descriptionl + TEXT + 2000 + + + Quantityl + INTEGER + + + Materialcosttaxl + INTEGER + + + Timetypel + TEXT + 200 + + + Pricel + INTEGER + + + Extensionl + INTEGER + + + PurchaseOrderl + TEXT + 500 + + + WorkTaskl + TEXT + 500 + + + WorkOrderl + TEXT + 500 + + + + + + + ProjectId + TEXT + 50 + ACCOUNTING_PROJECT(COMPANY) + 0 + 0 + 1 + 0 + 0 + + + ProjectInvoice + TEXT + 1000 + C_PROJECTINV_BILLING_SUPPORT(PROJECT_ID) + 0 + 0 + 1 + 0 + 0 + + + Supplier + ENUMERATION + SupplierDetailsN + Supplier Id + 0 + 0 + 1 + 0 + 0 + + + + + CInternalBillingSupport + Sample + + + + + HeaderDetails + 1 + HeaderDetail + + + diff --git a/cmod/model/cmod/SupplierDetailsN-Cust.enumeration b/cmod/model/cmod/SupplierDetailsN-Cust.enumeration new file mode 100644 index 0000000..d519880 --- /dev/null +++ b/cmod/model/cmod/SupplierDetailsN-Cust.enumeration @@ -0,0 +1,18 @@ + + + + + + + SupplierDetailsN + CMOD + Cust + + + SupplierName + + + SupplierId + + + diff --git a/cmod/server/reports/layouts/CInternalBillingSuppRep.rdl b/cmod/server/reports/layouts/CInternalBillingSuppRep.rdl new file mode 100644 index 0000000..0d4bb96 --- /dev/null +++ b/cmod/server/reports/layouts/CInternalBillingSuppRep.rdl @@ -0,0 +1,1897 @@ + + + + + Arial + 12pt + 21cm + 1 + 1cm + 0.3cm + 0.3cm + 1cm + C_INTERNAL_BILLING_SUPPORT_REP + Portrait + CInternalBillingSupport.xsd + 9.0 + 27.94cm + + + + 4cm + repeat-page-head + + + + 20pt + bold + 1cm + 0cm + 1cm + 9cm + + 'Internal Billing Support ' + + + + 10pt + 0.5cm + 18.5cm + 0.5cm + 2cm + + 'Run By:' + + + + 10pt + 0.5cm + 18.5cm + 1cm + 2.497667cm + + 'Report Date:' + + + + 10pt + 0.5cm + 0cm + 2.5cm + 2.5cm + + 'Project ID:' + + + + 10pt + 0.5cm + 0cm + 3cm + 2.5cm + + 'Invoice No:' + + + + 0.5cm + 2.5cm + 2.5cm + 5.5cm + + + + 10pt + 0.5cm + 0cm + left + 0cm + 5.5cm + + /tns:C_INTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:PROJECTID_H + + + + + 0.5cm + 2.5cm + 3cm + 5.5cm + + + + 10pt + 0.5cm + 0cm + left + 0cm + 5.5cm + + /tns:C_INTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:INVOICENO_H + + + + + 10pt + 0.5cm + 21cm + left + 0.5cm + 4.44cm + + /tns:C_INTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:RUNBY + + + + 0.5cm + 21cm + 1cm + 4.44cm + + + + 10pt + 0.5cm + 0cm + left + 0cm + 4.056cm + + /tns:C_INTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:REPORTDATE + + medium + medium + + + + + + + 1cm + repeat-page-foot + + + + Times New Roman + 10pt + normal + 0.6cm + 2.8cm + left + 0.4cm + 4.2cm + + /tns:C_INTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:PROCESSING_INFO/tns:PROCESSING_ATTRIBUTES/tns:REPORT_TITLE + + + + Times New Roman + 8pt + 0.5cm + 0cm + left + 0.47cm + 2.6cm + + /tns:C_INTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:PROCESSING_INFO/tns:STANDARD_TRANSLATIONS/tns:ATTRIBUTE_DISPLAY_TEXTS/tns:REPORT_TITLE + + + + Times New Roman + 10pt + 0.6cm + 7.2cm + center + 0.4cm + 7.69875cm + + /tns:C_INTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:PROCESSING_INFO/tns:STANDARD_TRANSLATIONS/tns:ATTRIBUTE_DISPLAY_TEXTS/tns:APPLICATION_TEXT + + + + Times New Roman + 8pt + 0.5cm + 15.6cm + right + 0.47cm + 1.4cm + + /tns:C_INTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:PROCESSING_INFO/tns:STANDARD_TRANSLATIONS/tns:ATTRIBUTE_DISPLAY_TEXTS/tns:PAGE + + + + Times New Roman + 10pt + 0.6cm + 17cm + right + 0.4cm + 1.5cm + + concat(vldtstr:pageNumber(),' (',vldtstr:totalPages(),')') + + + + + + 0cm + fixed + 0cm + + + + 1.70727cm + + + + + 2.598016cm + + + + + 2.325563cm + + + + + 1.668353cm + + + + + 2.102361cm + + + + + 3.23125cm + + + + + 3.916648cm + + + + + 1.818248cm + + + + + 2.335559cm + + + + + 1.67432cm + + + + + 1.750401cm + + + + + 2.137637cm + + + + + + 0.64544cm + + + + 12 + +
+ + 0cm + true + fixed + 0cm + + + + 1.545675cm + + + + + 1.995101cm + + + + + 1.695714cm + + + + + 1.605469cm + + + + + 1.723834cm + + + + + 4.041491cm + + + + + 2.797952cm + + + + + 1.04288cm + + + + + 1.953706cm + + + + + 1.421551cm + + + + + 1.350966cm + + + + + 1.99412cm + + + + + 1.411163cm + + + + + 1.355794cm + + + + + 1.330208cm + + + + + + 9pt + bold + 0.390567cm + + + + solid + 0.3pt + center + 9pt + bold + center + + 'DATE' + + + 0cm + 0pt + + 'DATE' + + + + + solid + 0.3pt + center + 9pt + bold + center + + 'SUPPLIER' + + + 0cm + 0pt + + 'SUPPLIER' + + + + + solid + 0.3pt + center + 9pt + bold + true + center + + 'INVOICE NO' + + + 0cm + 0pt + + 'INVOICE NO' + + + + + solid + 0.3pt + center + bold + center + + 'TYPE' + + + 0cm + 0pt + + 'TYPE' + + + + + solid + 0.3pt + center + bold + center + + 'ACTIVITY' + + + 0cm + 0pt + + 'ACTIVITY' + + + + + solid + 0.3pt + center + bold + center + + 'EMPLOYEE' + + + 0cm + 0pt + + 'EMPLOYEE' + + + + + solid + 0.3pt + center + bold + center + + 'DESCRIPTION' + + + 0cm + 0pt + + 'DESCRIPTION' + + + + + solid + 0.3pt + center + bold + center + + 'QTY' + + + 0cm + 0pt + + 'QUANTITY' + + + + + solid + 0.3pt + center + 8pt + bold + center + + 'MATERIAL COST INCL TAX' + + + 0cm + 0pt + + 'MATERIAL COST INCL TAX' + + + + + solid + 0.3pt + center + 9pt + bold + true + 0.5pt + center + + 'TIME TYPE' + + + 0cm + 0pt + + 'TIME TYPE' + + + + + solid + 0.3pt + center + bold + center + + 'PRICE' + + + 0cm + 0pt + + 'PRICE' + + + + + solid + 0.3pt + center + bold + center + + 'EXTENSION' + + + bold + 0cm + 0pt + + 'EXTENSION' + + + + + solid + 0.3pt + center + bold + center + + 'PO ' + + + 0cm + 0pt + + 'PO NUMBER' + + + + + solid + 0.3pt + center + bold + true + center + + 'WO ' + + + 0cm + 0pt + + 'WO NUMBER' + + + + + solid + 0.3pt + center + bold + true + center + + 'WT ' + + + 0cm + 0pt + + 'WORK TASK NO' + + + + + + /tns:C_INTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LABOR_DETAILSES/tns:LABOR_DETAILS + + + 10pt + 0.423333cm + 0.3cm + + + + solid + 0.3pt + center + 8pt + center + + tns:TRANSACTIONDATEL + + + 0cm + 0pt + + tns:TRANSACTIONDATEL + + medium + medium + + + + MM/dd/yy + + + + + solid + 0.3pt + center + 8pt + center + + tns:SUPPLIERNAMEL + + + 0cm + 0pt + + tns:SUPPLIERNAMEL + + + + + solid + 0.3pt + center + 8pt + center + + tns:INVOICENOL + + + 0cm + 0pt + + tns:INVOICENOL + + + + + solid + 0.3pt + center + 8pt + center + + tns:TYPEWOL + + + 0cm + 0pt + + tns:TYPEWOL + + + + + solid + 0.3pt + center + 8pt + center + + tns:ACTIVITYL + + + 0cm + 0pt + + tns:ACTIVITYL + + + + + solid + 0.3pt + center + 8pt + true + center + + tns:EMPLOYEEL + + + 0cm + 0pt + + tns:EMPLOYEEL + + + + + solid + 0.3pt + center + 8pt + true + center + + tns:DESCRIPTIONL + + + 0cm + 0pt + + tns:DESCRIPTIONL + + + + + solid + 0.3pt + center + 8pt + center + + tns:QUANTITYL + + + 0cm + 0pt + + tns:QUANTITYL + + + + + solid + 0.3pt + center + 8pt + right + + tns:MATERIALCOSTTAXL + + + 0cm + 0pt + + tns:MATERIALCOSTTAXL + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + 0.3pt + center + 8pt + center + + tns:TIMETYPEL + + + 0cm + 0pt + + tns:TIMETYPEL + + + + + solid + 0.3pt + center + 8pt + center + + tns:PRICEL + + + 0cm + 0pt + + tns:PRICEL + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + 0.3pt + center + 8pt + center + + tns:EXTENSIONL + + + 0cm + 0pt + + tns:EXTENSIONL + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + 0.3pt + center + 8pt + center + + tns:PURCHASE_ORDERL + + + 0cm + 0pt + + tns:PURCHASE_ORDERL + + + + + solid + 0.3pt + center + 8pt + center + + tns:WORK_ORDERL + + + 0cm + 0pt + + tns:WORK_ORDERL + + + + + solid + 0.3pt + center + 8pt + center + + tns:WORK_TASKL + + + 0cm + 0pt + + tns:WORK_TASKL + + + + +
+ + + + + 0cm + 0.3cm + 0.3cm + + + + + + + + + + + + + + + + + + + + center + 10pt + bold + 2 + + 'Labor Total' + + + 0cm + 0pt + + 'Labor Total' + + + + + + + center + 10pt + bold + center + + sum(tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LABOR_DETAILSES/tns:LABOR_DETAILS/tns:EXTENSIONL[.!='']) + + + 0cm + 0pt + + sum(tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LABOR_DETAILSES/tns:LABOR_DETAILS/tns:EXTENSIONL[.!='']) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + 12 + + + + 0cm + fixed + 0cm + + + + 1.599896cm + + + + + 1.880965cm + + + + + 1.790906cm + + + + + 1.648904cm + + + + + 1.698599cm + + + + + 4.093847cm + + + + + 2.742515cm + + + + + 1.107136cm + + + + + 1.860722cm + + + + + 1.380388cm + + + + + 1.398775cm + + + + + 1.965806cm + + + + + 1.453681cm + + + + + 1.391071cm + + + + + 1.252413cm + + + + + + 9pt + bold + + + + solid + 0.3pt + center + bold + center + + 'DATE' + + + 0cm + 0pt + + 'DATE' + + + + + solid + 0.3pt + center + bold + center + + 'SUPPLIER' + + + 0cm + 0pt + + 'SUPPLIER' + + + + + solid + 0.3pt + center + bold + true + center + + 'INVOICE NO' + + + 0cm + 0pt + + 'INVOICE NO' + + + + + solid + 0.3pt + center + bold + center + + 'TYPE' + + + 0cm + 0pt + + 'TYPE' + + + + + solid + 0.3pt + center + bold + center + + 'ACTIVITY' + + + 0cm + 0pt + + 'ACTIVITY' + + + + + solid + 0.3pt + center + bold + center + + 'EMPLOYEE' + + + 0cm + 0pt + + 'EMPLOYEE' + + + + + solid + 0.3pt + center + bold + center + + 'DESCRIPTION' + + + 0cm + 0pt + + 'DESCRIPTION' + + + + + solid + 0.3pt + center + bold + center + + 'QTY' + + + 0cm + 0pt + + 'QUANTITY' + + + + + solid + 0.3pt + center + 8pt + bold + center + + 'MATERIAL COST INCL TAX' + + + 0cm + 0pt + + 'MATERIAL COST INCL TAX' + + + + + solid + 0.3pt + center + bold + center + + 'TIME TYPE' + + + 0cm + 0pt + + 'TIME TYPE' + + + + + solid + 0.3pt + center + bold + center + + 'PRICE' + + + 0cm + 0pt + + 'PRICE' + + + + + solid + 0.3pt + center + bold + center + + 'EXTENSION' + + + bold + 0cm + 0pt + + 'EXTENSION' + + + + + solid + 0.3pt + center + bold + true + center + + 'PO' + + + 0cm + 0pt + + 'PO NUMBER' + + + + + solid + 0.3pt + center + bold + center + + 'WO' + + + 0cm + 0pt + + 'WO NUMBER' + + + + + solid + 0.3pt + center + bold + true + center + + 'WT' + + + 0cm + 0pt + + 'WORK TASK NO' + + + + + + /tns:C_INTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL + + + 10pt + 0.64544cm + 0.3cm + + + + solid + 0.3pt + center + 8pt + center + + tns:TRANSACTIONDATE + + + 0cm + 0pt + + tns:TRANSACTIONDATE + + medium + medium + + + + MM/dd/yy + + + + + solid + 0.3pt + center + 8pt + center + + tns:SUPPLIERNAME + + + 0cm + 0pt + + tns:SUPPLIERNAME + + + + + solid + 0.3pt + center + 8pt + center + + tns:INVOICENO + + + 0cm + 0pt + + tns:INVOICENO + + + + + solid + 0.3pt + center + 8pt + center + + tns:TYPEWO + + + 0cm + 0pt + + tns:TYPEWO + + + + + solid + 0.3pt + center + 8pt + center + + tns:ACTIVITY + + + 0cm + 0pt + + tns:ACTIVITY + + + + + solid + 0.3pt + center + 8pt + true + center + + tns:EMPLOYEE + + + 0cm + 0pt + + tns:EMPLOYEE + + + + + solid + 0.3pt + center + 8pt + true + center + + tns:DESCRIPTION + + + 0cm + 0pt + + tns:DESCRIPTION + + + + + solid + 0.3pt + center + 8pt + center + + tns:QUANTITY + + + 0cm + 0pt + + tns:QUANTITY + + + + + solid + 0.3pt + center + 8pt + center + + tns:MATERIALCOSTTAX + + + 0cm + 0pt + + tns:MATERIALCOSTTAX + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + 0.3pt + center + 8pt + center + + tns:TIMETYPE + + + 0cm + 0pt + + tns:TIMETYPE + + + + + solid + 0.3pt + center + 8pt + center + + tns:PRICE + + + 0cm + 0pt + + tns:PRICE + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + 0.3pt + center + 8pt + center + + tns:EXTENSION + + + 0cm + 0pt + + tns:EXTENSION + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + 0.3pt + center + 8pt + center + + tns:PURCHASE_ORDER + + + 0cm + 0pt + + tns:PURCHASE_ORDER + + + + + solid + 0.3pt + center + 8pt + center + + tns:WORK_ORDER + + + 0cm + 0pt + + tns:WORK_ORDER + + + + + solid + 0.3pt + center + 8pt + center + + tns:WORK_TASK + + + 0cm + 0pt + + tns:WORK_TASK + + + + +
+
+
+ + + + + 0cm + fixed + 0cm + + + + 6.652708cm + + + + + 12.711666cm + + + + + 2.364323cm + + + + + 1.59997cm + + + + + 1.796939cm + + + + + 2.214392cm + + + + + + + + + + $new_line + + + 0cm + 0pt + + $new_line + + + + + + + + + + + + 0.3cm + 0.3cm + + + sum(tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL/tns:EXTENSION[.!='']) != 0 + + + + + + + + center + 10pt + bold + 2 + + 'Materials Total' + + + 0cm + 0pt + + 'Materials Total' + + + + + 10pt + bold + + + + + center + 10pt + bold + center + + sum(tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL/tns:EXTENSION[.!='']) + + + 0cm + 0pt + + sum(tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL/tns:EXTENSION[.!='']) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + bold + right + + + + + + + center + 10pt + bold + 2 + + 'Grand Total' + + + 0cm + 0pt + + 'Grand Total' + + + + + 10pt + 1 + + + + + center + 10pt + bold + center + + sum(tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LABOR_DETAILSES/tns:LABOR_DETAILS/tns:EXTENSIONL[.!='']) + sum(tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL/tns:EXTENSION[.!='']) + + + 0cm + 0pt + + sum(tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LABOR_DETAILSES/tns:LABOR_DETAILS/tns:EXTENSIONL[.!='']) + sum(tns:C_INTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL/tns:EXTENSION[.!='']) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + + + + + 4 + + + + +
+
+ + + repeating + + + + repeat-page-head + + + + + page-body + + + + + repeat-page-foot + + + +
\ No newline at end of file diff --git a/cmod/server/reports/layouts/C_EXTERNAL_BILLING_SUPPORT_REP_TEMP.xlsx b/cmod/server/reports/layouts/C_EXTERNAL_BILLING_SUPPORT_REP_TEMP.xlsx new file mode 100644 index 0000000..622d6c0 Binary files /dev/null and b/cmod/server/reports/layouts/C_EXTERNAL_BILLING_SUPPORT_REP_TEMP.xlsx differ diff --git a/cmod/server/reports/layouts/C_INTERNAL_BILLING_SUPPORT_REP_TEMP.xlsx b/cmod/server/reports/layouts/C_INTERNAL_BILLING_SUPPORT_REP_TEMP.xlsx new file mode 100644 index 0000000..6b7696a Binary files /dev/null and b/cmod/server/reports/layouts/C_INTERNAL_BILLING_SUPPORT_REP_TEMP.xlsx differ diff --git a/cmod/server/reports/layouts/cExternalBillingSuppRep.rpl b/cmod/server/reports/layouts/cExternalBillingSuppRep.rpl new file mode 100644 index 0000000..fa851c8 --- /dev/null +++ b/cmod/server/reports/layouts/cExternalBillingSuppRep.rpl @@ -0,0 +1,37 @@ + + + + 9.0 + EXCEL + ifs.application.reportingservices.impl.extendedformatter.excelplugin.ExcelPlugin + + + xlsx + + + + + + + + + + TRUE + + TRUE + TRUE + OFF + OFF + + C_EXTERNAL_BILLING_SUPPORT_REP + Excel Layout + + + + ON + [#ReportId]_TEMP.xlsx + + + + + \ No newline at end of file diff --git a/cmod/server/reports/layouts/cInternalBillingSuppRep.rpl b/cmod/server/reports/layouts/cInternalBillingSuppRep.rpl new file mode 100644 index 0000000..2b876e4 --- /dev/null +++ b/cmod/server/reports/layouts/cInternalBillingSuppRep.rpl @@ -0,0 +1,37 @@ + + + + 9.0 + EXCEL + ifs.application.reportingservices.impl.extendedformatter.excelplugin.ExcelPlugin + + + xlsx + + + + + + + + + + TRUE + + TRUE + TRUE + OFF + OFF + + C_INTERNAL_BILLING_SUPPORT_REP + Excel Layout + + + + ON + [#ReportId]_TEMP.xlsx + + + + + \ No newline at end of file diff --git a/cmod/server/reports/layouts/cexternalbillingsupport.rdl b/cmod/server/reports/layouts/cexternalbillingsupport.rdl new file mode 100644 index 0000000..e59ac2a --- /dev/null +++ b/cmod/server/reports/layouts/cexternalbillingsupport.rdl @@ -0,0 +1,1625 @@ + + + + + Arial + 12pt + 21cm + 1 + 1cm + 0.3cm + 0.3cm + 1cm + C_EXTERNAL_BILLING_SUPPORT_REP + Portrait + C External Billing Support + 9.0 + 27.94cm + + + + 4cm + repeat-page-head + + + + 20pt + bold + 1cm + 0cm + 1cm + 7cm + + 'Billing Support ' + + + + 10pt + 0.5cm + 18.5cm + 0.5cm + 2cm + + 'Run By:' + + + + 10pt + 0.5cm + 18.5cm + 1cm + 2.497667cm + + 'Report Date:' + + + + 10pt + 0.5cm + 0cm + 2.5cm + 2.5cm + + 'Project ID:' + + + + 10pt + 0.5cm + 0cm + 3cm + 2.5cm + + 'Invoice No:' + + + + 0.5cm + 2.5cm + 2.5cm + 5.5cm + + + + 10pt + 0.5cm + 0cm + left + 0cm + 5.5cm + + /tns:C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:PROJECTID_H + + + + + 0.5cm + 2.5cm + 3cm + 5.5cm + + + + 10pt + 0.5cm + 0cm + left + 0cm + 5.5cm + + /tns:C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:INVOICENO_H + + + + + 10pt + 0.5cm + 21cm + left + 0.5cm + 4.44cm + + /tns:C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:RUNBY + + + + 0.5cm + 21cm + 1cm + 4.44cm + + + + 10pt + 0.5cm + 0cm + left + 0cm + 4.056cm + + /tns:C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:REPORTDATE + + medium + medium + + + + + + + 1cm + repeat-page-foot + + + + Times New Roman + 10pt + normal + 0.6cm + 2.8cm + left + 0.4cm + 4.2cm + + /tns:C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:PROCESSING_INFO/tns:PROCESSING_ATTRIBUTES/tns:REPORT_TITLE + + + + Times New Roman + 8pt + 0.5cm + 0cm + left + 0.47cm + 2.6cm + + /tns:C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:PROCESSING_INFO/tns:STANDARD_TRANSLATIONS/tns:ATTRIBUTE_DISPLAY_TEXTS/tns:REPORT_TITLE + + + + Times New Roman + 10pt + 0.6cm + 7.2cm + center + 0.4cm + 7.69875cm + + /tns:C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:PROCESSING_INFO/tns:STANDARD_TRANSLATIONS/tns:ATTRIBUTE_DISPLAY_TEXTS/tns:APPLICATION_TEXT + + + + Times New Roman + 8pt + 0.5cm + 15.6cm + right + 0.47cm + 1.4cm + + /tns:C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:PROCESSING_INFO/tns:STANDARD_TRANSLATIONS/tns:ATTRIBUTE_DISPLAY_TEXTS/tns:PAGE + + + + Times New Roman + 10pt + 0.6cm + 17cm + right + 0.4cm + 1.5cm + + concat(vldtstr:pageNumber(),' (',vldtstr:totalPages(),')') + + + + + + 0cm + fixed + 0cm + + + + 1.70727cm + + + + + 2.598016cm + + + + + 2.325563cm + + + + + 1.668353cm + + + + + 2.102361cm + + + + + 3.23125cm + + + + + 3.916648cm + + + + + 1.818248cm + + + + + 2.335559cm + + + + + 1.67432cm + + + + + 1.750401cm + + + + + 2.137637cm + + + + + + 0.64544cm + + + + 12 + +
+ + 0cm + true + fixed + 0cm + + + + 1.707777cm + + + + + 2.598173cm + + + + + 2.325247cm + + + + + 1.670556cm + + + + + 2.106422cm + + + + + 3.224635cm + + + + + 3.912552cm + + + + + 1.822343cm + + + + + 2.336293cm + + + + + 1.671847cm + + + + + 1.751192cm + + + + + 2.138583cm + + + + + + 9pt + bold + 0.379984cm + + + + solid + 0.3pt + center + bold + center + + 'DATE' + + + 0cm + 0pt + + 'DATE' + + + + + solid + 0.3pt + center + bold + center + + 'SUPPLIER' + + + 0cm + 0pt + + 'SUPPLIER' + + + + + solid + 0.3pt + center + bold + center + + 'INVOICE NO' + + + 0cm + 0pt + + 'INVOICE NO' + + + + + solid + 0.3pt + center + bold + center + + 'TYPE' + + + 0cm + 0pt + + 'TYPE' + + + + + solid + 0.3pt + center + bold + center + + 'ACTIVITY' + + + 0cm + 0pt + + 'ACTIVITY' + + + + + solid + 0.3pt + center + bold + center + + 'EMPLOYEE' + + + 0cm + 0pt + + 'EMPLOYEE' + + + + + solid + 0.3pt + center + bold + center + + 'DESCRIPTION' + + + 0cm + 0pt + + 'DESCRIPTION' + + + + + solid + 0.3pt + center + bold + center + + 'QUANTITY' + + + 0cm + 0pt + + 'QUANTITY' + + + + + solid + 0.3pt + center + bold + center + + 'MATERIAL COST INCL TAX' + + + 0cm + 0pt + + 'MATERIAL COST INCL TAX' + + + + + solid + 0.3pt + center + bold + center + + 'TIME TYPE' + + + 0cm + 0pt + + 'TIME TYPE' + + + + + solid + 0.3pt + center + bold + center + + 'PRICE' + + + 0cm + 0pt + + 'PRICE' + + + + + solid + 0.3pt + center + bold + center + + 'EXTENSION' + + + bold + 0cm + 0pt + + 'EXTENSION' + + + + + + /tns:C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LABOR_DETAILSES/tns:LABOR_DETAILS + + + 10pt + 0.423333cm + 0.3cm + + + + solid + 0.3pt + center + 8pt + center + + tns:TRANSACTIONDATEL + + + 0cm + 0pt + + tns:TRANSACTIONDATEL + + medium + medium + + + + MM/dd/yy + + + + + solid + 0.3pt + center + 8pt + center + + tns:SUPPLIERNAMEL + + + 0cm + 0pt + + tns:SUPPLIERNAMEL + + + + + solid + 0.3pt + center + 8pt + center + + tns:INVOICENOL + + + 0cm + 0pt + + tns:INVOICENOL + + + + + solid + 0.3pt + center + 8pt + center + + tns:TYPEWOL + + + 0cm + 0pt + + tns:TYPEWOL + + + + + solid + 0.3pt + center + 8pt + center + + tns:ACTIVITYL + + + 0cm + 0pt + + tns:ACTIVITYL + + + + + solid + 0.3pt + center + 8pt + center + + tns:EMPLOYEEL + + + 0cm + 0pt + + tns:EMPLOYEEL + + + + + solid + 0.3pt + center + 8pt + true + center + + tns:DESCRIPTIONL + + + 0cm + 0pt + + tns:DESCRIPTIONL + + + + + solid + 0.3pt + center + 8pt + center + + tns:QUANTITYL + + + 0cm + 0pt + + tns:QUANTITYL + + + + + solid + 0.3pt + center + 8pt + right + + tns:MATERIALCOSTTAXL + + + 0cm + 0pt + + tns:MATERIALCOSTTAXL + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + 0.3pt + center + 8pt + center + + tns:TIMETYPEL + + + 0cm + 0pt + + tns:TIMETYPEL + + + + + solid + 0.3pt + center + 8pt + center + + tns:PRICEL + + + 0cm + 0pt + + tns:PRICEL + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + 0.3pt + center + 8pt + center + + tns:EXTENSIONL + + + 0cm + 0pt + + tns:EXTENSIONL + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + +
+ + + + + 0cm + 0.3cm + 0.3cm + + + + + + + + + + + + + + + + + + + + center + 10pt + bold + 2 + + 'Labor Total' + + + 0cm + 0pt + + 'Labor Total' + + + + + + + center + 10pt + bold + center + + sum(tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LABOR_DETAILSES/tns:LABOR_DETAILS/tns:EXTENSIONL[.!='']) + + + 0cm + 0pt + + sum(tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LABOR_DETAILSES/tns:LABOR_DETAILS/tns:EXTENSIONL[.!='']) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + 12 + + + + 0cm + fixed + 0cm + + + + 1.709081cm + + + + + 2.598691cm + + + + + 2.323424cm + + + + + 1.669894cm + + + + + 2.116464cm + + + + + 3.215256cm + + + + + 3.918852cm + + + + + 1.816043cm + + + + + 2.331502cm + + + + + 1.683601cm + + + + + 1.746084cm + + + + + 2.136728cm + + + + + + 9pt + bold + + + + solid + 0.3pt + center + bold + center + + 'DATE' + + + 0cm + 0pt + + 'DATE' + + + + + solid + 0.3pt + center + bold + center + + 'SUPPLIER' + + + 0cm + 0pt + + 'SUPPLIER' + + + + + solid + 0.3pt + center + bold + center + + 'INVOICE NO' + + + 0cm + 0pt + + 'INVOICE NO' + + + + + solid + 0.3pt + center + bold + center + + 'TYPE' + + + 0cm + 0pt + + 'TYPE' + + + + + solid + 0.3pt + center + bold + center + + 'ACTIVITY' + + + 0cm + 0pt + + 'ACTIVITY' + + + + + solid + 0.3pt + center + bold + center + + 'EMPLOYEE' + + + 0cm + 0pt + + 'EMPLOYEE' + + + + + solid + 0.3pt + center + bold + center + + 'DESCRIPTION' + + + 0cm + 0pt + + 'DESCRIPTION' + + + + + solid + 0.3pt + center + bold + center + + 'QUANTITY' + + + 0cm + 0pt + + 'QUANTITY' + + + + + solid + 0.3pt + center + bold + center + + 'MATERIAL COST INCL TAX' + + + 0cm + 0pt + + 'MATERIAL COST INCL TAX' + + + + + solid + 0.3pt + center + bold + center + + 'TIME TYPE' + + + 0cm + 0pt + + 'TIME TYPE' + + + + + solid + 0.3pt + center + bold + center + + 'PRICE' + + + 0cm + 0pt + + 'PRICE' + + + + + solid + 0.3pt + center + bold + center + + 'EXTENSION' + + + bold + 0cm + 0pt + + 'EXTENSION' + + + + + + /tns:C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST/tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL + + + 10pt + 0.64544cm + 0.3cm + + + + solid + 0.3pt + center + 8pt + center + + tns:TRANSACTIONDATE + + + 0cm + 0pt + + tns:TRANSACTIONDATE + + medium + medium + + + + MM/dd/yy + + + + + solid + 0.3pt + center + 8pt + center + + tns:SUPPLIERNAME + + + 0cm + 0pt + + tns:SUPPLIERNAME + + + + + solid + 0.3pt + center + 8pt + center + + tns:INVOICENO + + + 0cm + 0pt + + tns:INVOICENO + + + + + solid + 0.3pt + center + 8pt + center + + tns:TYPEWO + + + 0cm + 0pt + + tns:TYPEWO + + + + + solid + 0.3pt + center + 8pt + center + + tns:ACTIVITY + + + 0cm + 0pt + + tns:ACTIVITY + + + + + solid + 0.3pt + center + 8pt + center + + tns:EMPLOYEE + + + 0cm + 0pt + + tns:EMPLOYEE + + + + + solid + 0.3pt + center + 8pt + true + center + + tns:DESCRIPTION + + + 0cm + 0pt + + tns:DESCRIPTION + + + + + solid + 0.3pt + center + 8pt + center + + tns:QUANTITY + + + 0cm + 0pt + + tns:QUANTITY + + + + + solid + 0.3pt + center + 8pt + center + + tns:MATERIALCOSTTAX + + + 0cm + 0pt + + tns:MATERIALCOSTTAX + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + 0.3pt + center + 8pt + center + + tns:TIMETYPE + + + 0cm + 0pt + + tns:TIMETYPE + + + + + solid + 0.3pt + center + 8pt + center + + tns:PRICE + + + 0cm + 0pt + + tns:PRICE + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + 0.3pt + center + 8pt + center + + tns:EXTENSION + + + 0cm + 0pt + + tns:EXTENSION + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + +
+
+
+ + + + + 0cm + fixed + 0cm + + + + 6.652708cm + + + + + 12.711666cm + + + + + 2.364323cm + + + + + 1.59997cm + + + + + 1.796939cm + + + + + 2.214392cm + + + + + + 0.3cm + 0.3cm + + + sum(tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL/tns:EXTENSION[.!='']) != 0 + + + + + + + + center + 10pt + bold + 2 + + 'Materials Total' + + + 0cm + 0pt + + 'Materials Total' + + + + + 10pt + bold + + + + + center + 10pt + bold + center + + sum(tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL/tns:EXTENSION[.!='']) + + + 0cm + 0pt + + sum(tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL/tns:EXTENSION[.!='']) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + bold + right + + + + + + + center + 10pt + bold + 2 + + 'Grand Total' + + + 0cm + 0pt + + 'Grand Total' + + + + + 10pt + 1 + + + + + center + 10pt + bold + center + + sum(tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LABOR_DETAILSES/tns:LABOR_DETAILS/tns:EXTENSIONL[.!='']) + sum(tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL/tns:EXTENSION[.!='']) + + + 0cm + 0pt + + sum(tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LABOR_DETAILSES/tns:LABOR_DETAILS/tns:EXTENSIONL[.!='']) + sum(tns:C_EXTERNAL_BILLING_SUPPORT_REP/tns:HEADER_DETAILS/tns:HEADER_DETAIL/tns:LINE_DETAILS/tns:LINE_DETAIL/tns:EXTENSION[.!='']) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + + + + + 4 + + + + +
+
+ + + repeating + + + + repeat-page-head + + + + + page-body + + + + + repeat-page-foot + + + +
\ No newline at end of file diff --git a/cmod/server/reports/samplexml/CExternalBillingSupport.xml b/cmod/server/reports/samplexml/CExternalBillingSupport.xml new file mode 100644 index 0000000..3201814 --- /dev/null +++ b/cmod/server/reports/samplexml/CExternalBillingSupport.xml @@ -0,0 +1,262 @@ + + + + + 1 + 1 + 99 + en + + . + + + + + + + 2009-01-01T11:22:00 + + 12345 + + 2009-01-01T11:22:00 + C External Billing Support + + + + + + Execution Time: + Ordered By: + Job Id: + Comment: + Order Time: + Report: + Printed By: + Current Time: + Current Date: + Page + -------- End of Report -------- + Rep. Params: + IFS Applications + Created: + none + Notes: + No data found + + + + + + + + + + + + + + + + + + + Project Id: + + + + Project Invoice: + + + + Supplier: + + + + + + + Sample + + + + + Runby: + Reportdate: + Projectid H: + Invoiceno H: + + + Transactiondatel: + Suppliernamel: + Invoicenol: + Typewol: + Activityl: + Employeel: + Descriptionl: + Quantityl: + Materialcosttaxl: + Timetypel: + Pricel: + Extensionl: + + + + + Transactiondate: + Suppliername: + Invoiceno: + Typewo: + Activity: + Employee: + Description: + Quantity: + Materialcosttax: + Timetype: + Price: + Extension: + + + + + + + + + + ABC + 2009-01-01T11:22:00 + ABC + ABC + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + + + + + 2009-01-01 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + + + 2009-01-01 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + + + + + ABC + 2009-01-01T11:22:00 + ABC + ABC + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + + + + + 2009-01-01 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + + + 2009-01-01 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + + + + + + \ No newline at end of file diff --git a/cmod/server/reports/samplexml/CInternalBillingSupport.xml b/cmod/server/reports/samplexml/CInternalBillingSupport.xml new file mode 100644 index 0000000..e4d140a --- /dev/null +++ b/cmod/server/reports/samplexml/CInternalBillingSupport.xml @@ -0,0 +1,292 @@ + + + + + 1 + 1 + 99 + en + + . + + + + + + + 2009-01-01T11:22:00 + + 12345 + + 2009-01-01T11:22:00 + C Internal Billing Support + + + + + + Execution Time: + Ordered By: + Job Id: + Comment: + Order Time: + Report: + Printed By: + Current Time: + Current Date: + Page + -------- End of Report -------- + Rep. Params: + IFS Applications + Created: + none + Notes: + No data found + + + + + + + + + + + + + + + + + + + Project Id: + + + + Project Invoice: + + + + Supplier: + + + + + + + Sample + + + + + Runby: + Reportdate: + Projectid H: + Invoiceno H: + + + Transactiondatel: + Suppliernamel: + Invoicenol: + Typewol: + Activityl: + Employeel: + Descriptionl: + Quantityl: + Materialcosttaxl: + Timetypel: + Pricel: + Extensionl: + Purchase Orderl: + Work Taskl: + Work Orderl: + + + + + Transactiondate: + Suppliername: + Invoiceno: + Typewo: + Activity: + Employee: + Description: + Quantity: + Materialcosttax: + Timetype: + Price: + Extension: + Purchase Order: + Work Task: + Work Order: + + + + + + + + + + ABC + 2009-01-01T11:22:00 + ABC + ABC + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + ABC + ABC + ABC + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + ABC + ABC + ABC + + + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + ABC + ABC + ABC + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + ABC + ABC + ABC + + + + + ABC + 2009-01-01T11:22:00 + ABC + ABC + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + ABC + ABC + ABC + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + ABC + ABC + ABC + + + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + ABC + ABC + ABC + + + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + ABC + 123 + 123 + ABC + ABC + ABC + + + + + + \ No newline at end of file diff --git a/cmod/server/reports/schemas/CExternalBillingSupport.xsd b/cmod/server/reports/schemas/CExternalBillingSupport.xsd new file mode 100644 index 0000000..dec93a8 --- /dev/null +++ b/cmod/server/reports/schemas/CExternalBillingSupport.xsd @@ -0,0 +1,860 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cmod/server/reports/schemas/CInternalBillingSupport.xsd b/cmod/server/reports/schemas/CInternalBillingSupport.xsd new file mode 100644 index 0000000..4c04912 --- /dev/null +++ b/cmod/server/reports/schemas/CInternalBillingSupport.xsd @@ -0,0 +1,944 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cmod/source/cmod/database/CExternalBillingSupport-Cust.plsql b/cmod/source/cmod/database/CExternalBillingSupport-Cust.plsql new file mode 100644 index 0000000..15fcaeb --- /dev/null +++ b/cmod/source/cmod/database/CExternalBillingSupport-Cust.plsql @@ -0,0 +1,32 @@ +----------------------------------------------------------------------------- +-- +-- Logical unit: CExternalBillingSupport +-- Component: CMOD +-- +-- IFS Developer Studio Template Version 3.0 +-- +-- Date Sign History +-- ------ ------ --------------------------------------------------------- +----------------------------------------------------------------------------- + +layer Cust; + +-------------------- PUBLIC DECLARATIONS ------------------------------------ + + +-------------------- PRIVATE DECLARATIONS ----------------------------------- + + +-------------------- LU SPECIFIC IMPLEMENTATION METHODS --------------------- + + +-------------------- LU SPECIFIC PRIVATE METHODS ---------------------------- + + +-------------------- LU SPECIFIC PROTECTED METHODS -------------------------- + + +-------------------- LU SPECIFIC PUBLIC METHODS ----------------------------- + + +-------------------- LU CUST NEW METHODS ------------------------------------- diff --git a/cmod/source/cmod/database/CExternalBillingSupport-Cust.storage b/cmod/source/cmod/database/CExternalBillingSupport-Cust.storage new file mode 100644 index 0000000..4b01921 --- /dev/null +++ b/cmod/source/cmod/database/CExternalBillingSupport-Cust.storage @@ -0,0 +1,19 @@ +----------------------------------------------------------------------------- +-- +-- Logical unit: CExternalBillingSupport +-- Component: CMOD +-- +-- IFS Developer Studio Template Version 3.0 +-- +-- Date Sign History +-- ------ ------ --------------------------------------------------------- +----------------------------------------------------------------------------- + + +layer Cust; + +-------------------- TABLE DEFINITIONS -------------------------------------- + + +-------------------- OTHER DEFINITIONS -------------------------------------- + diff --git a/cmod/source/cmod/database/CExternalBillingSupport-Cust.views b/cmod/source/cmod/database/CExternalBillingSupport-Cust.views new file mode 100644 index 0000000..b172072 --- /dev/null +++ b/cmod/source/cmod/database/CExternalBillingSupport-Cust.views @@ -0,0 +1,34 @@ +----------------------------------------------------------------------------- +-- +-- Logical unit: CExternalBillingSupport +-- Component: CMOD +-- +-- IFS Developer Studio Template Version 3.0 +-- +-- Date Sign History +-- ------ ------ --------------------------------------------------------- +----------------------------------------------------------------------------- + +layer Cust; + +-------------------- PUBLIC VIEW DEFINITIONS -------------------------------- + + +-------------------- PRIVATE VIEW DEFINITIONS ------------------------------- + +VIEW C_PROJECTINV_BILLING_SUPPORT IS +Prompt = 'Project Invoice Nos Billing Support ' + +Project_Id.Flags = 'KMI--' +Project_Id.DataType = 'STRING(20)' +Project_Id.Prompt = 'Project ID' +Invoice_No.Flags = 'PMI-L' +Invoice_No.DataType = 'STRING(60)' +Invoice_No.Prompt = 'Invoice No' + + + +select a.project_id ,a.invoice_no +FROM PROJECT_INVOICE a; + + diff --git a/cmod/source/cmod/database/CExternalBillingSupport.rdf b/cmod/source/cmod/database/CExternalBillingSupport.rdf new file mode 100644 index 0000000..f6a9df6 --- /dev/null +++ b/cmod/source/cmod/database/CExternalBillingSupport.rdf @@ -0,0 +1,672 @@ +----------------------------------------------------------------------------- +-- +-- Logical unit: CExternalBillingSupport +-- +-- Report: CExternalBillingSupport +-- +-- IFS Developer Studio Template Version 1.3 +-- +-- NOTE: This file is generated and will be overwritten at next model change +----------------------------------------------------------------------------- +-- 20250320 Custom report Development + +----------------------------------------------------------------------------- +-------------------- PACKAGE SPECIFICATION ---------------------------------- +----------------------------------------------------------------------------- + +PROMPT Creating C_EXTERNAL_BILLING_SUPPORT_RPI SPECIFICATION + +CREATE OR REPLACE PACKAGE C_EXTERNAL_BILLING_SUPPORT_RPI AS + +module_ CONSTANT VARCHAR2(6) := 'CMOD'; +lu_name_ CONSTANT VARCHAR2(25) := 'CExternalBillingSupport'; + +PROCEDURE Execute_Report ( + report_attr_ IN VARCHAR2, + parameter_attr_ IN VARCHAR2 ); + +PROCEDURE Default_Supplier ( + supplier_ OUT VARCHAR2 ); + +FUNCTION Test ( + project_id_ IN VARCHAR2, + project_invoice_ IN VARCHAR2, + supplier_ IN VARCHAR2) +RETURN NUMBER; + +PROCEDURE Init; + +END C_EXTERNAL_BILLING_SUPPORT_RPI; +/ +SHOW ERROR + +----------------------------------------------------------------------------- +-------------------- VIEWS FOR REPORT META DATA ----------------------------- +----------------------------------------------------------------------------- + +PROMPT Creating report TABLE C_EXTERNAL_BILLING_SUPPORT_RPT + +DECLARE + columns_ Database_SYS.ColumnTabType; + table_name_ VARCHAR2(30) := 'C_EXTERNAL_BILLING_SUPPORT_RPT'; +BEGIN + Database_SYS.Reset_Column_Table(columns_); + Database_SYS.Set_Table_Column(columns_, 'RESULT_KEY', 'NUMBER', 'N'); + Database_SYS.Set_Table_Column(columns_, 'ROW_NO', 'NUMBER', 'N'); + Database_SYS.Set_Table_Column(columns_, 'PARENT_ROW_NO', 'NUMBER', 'N'); + Database_SYS.Set_Table_Column(columns_, 'ROWVERSION', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'PROJECT_ID', 'VARCHAR2(50)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'PROJECT_INVOICE', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'SUPPLIER', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'RUNBY', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'REPORTDATE', 'DATE', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'PROJECTID_H', 'VARCHAR2(2000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'INVOICENO_H', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TRANSACTIONDATE', 'DATE', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'SUPPLIERNAME', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'INVOICENO', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TYPEWO', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'ACTIVITY', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'EMPLOYEE', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'DESCRIPTION', 'VARCHAR2(2000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'QUANTITY', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'MATERIALCOSTTAX', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TIMETYPE', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'PRICE', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'EXTENSION', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TRANSACTIONDATEL', 'DATE', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'SUPPLIERNAMEL', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'INVOICENOL', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TYPEWOL', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'ACTIVITYL', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'EMPLOYEEL', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'DESCRIPTIONL', 'VARCHAR2(2000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'QUANTITYL', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'MATERIALCOSTTAXL', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TIMETYPEL', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'PRICEL', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'EXTENSIONL', 'NUMBER', 'Y'); + Database_SYS.Create_Or_Replace_Table(table_name_, columns_, '&IFSAPP_REPORT_DATA', NULL, TRUE); +END; +/ + +DECLARE + columns_ Database_SYS.ColumnTabType; + table_name_ VARCHAR2(30) := 'C_EXTERNAL_BILLING_SUPPORT_RPT'; + index_name_ VARCHAR2(30) := 'C_EXTERNAL_BILLING_SUPPORT_RPK'; +BEGIN + Database_SYS.Reset_Column_Table(columns_); + Database_SYS.Set_Table_Column(columns_, 'RESULT_KEY'); + Database_SYS.Set_Table_Column(columns_, 'ROW_NO'); + Database_SYS.Set_Table_Column(columns_, 'PARENT_ROW_NO'); + Database_SYS.Create_Constraint(table_name_, index_name_, columns_, 'P', '&IFSAPP_REPORT_INDEX', NULL, TRUE, TRUE); + Database_SYS.Reset_Column_Table(columns_); +END; +/ + +PROMPT Creating report VIEW C_EXTERNAL_BILLING_SUPPORT_REP + +CREATE OR REPLACE VIEW C_EXTERNAL_BILLING_SUPPORT_REP AS +SELECT RESULT_KEY, ROW_NO, PARENT_ROW_NO, ROWVERSION +,PROJECT_ID,PROJECT_INVOICE,SUPPLIER,RUNBY,REPORTDATE,PROJECTID_H,INVOICENO_H,TRANSACTIONDATE,SUPPLIERNAME,INVOICENO,TYPEWO,ACTIVITY,EMPLOYEE,DESCRIPTION,QUANTITY,MATERIALCOSTTAX,TIMETYPE,PRICE,EXTENSION,TRANSACTIONDATEL,SUPPLIERNAMEL,INVOICENOL,TYPEWOL,ACTIVITYL,EMPLOYEEL,DESCRIPTIONL,QUANTITYL,MATERIALCOSTTAXL,TIMETYPEL,PRICEL,EXTENSIONL +FROM C_EXTERNAL_BILLING_SUPPORT_RPT t +WHERE EXISTS (SELECT 1 FROM allowed_report a WHERE a.result_key = t.result_key) +WITH READ ONLY; + +COMMENT ON TABLE C_EXTERNAL_BILLING_SUPPORT_REP + IS 'LU=CExternalBillingSupport^PROMPT=C External Billing Support^MODULE=CMOD^TITLETEXT=C External Billing Support^'; + +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.result_key + IS 'FLAGS=M----^DATATYPE=NUMBER^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.row_no + IS 'FLAGS=M----^DATATYPE=NUMBER^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.project_id + IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Project Id^QUERY=Project Id:^QFLAGS=OWS--^REF=ACCOUNTING_PROJECT(COMPANY)^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.project_invoice + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Project Invoice^QUERY=Project Invoice:^QFLAGS=OWS--^REF=C_PROJECTINV_BILLING_SUPPORT(PROJECT_ID)^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.supplier + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Supplier^QUERY=Supplier:^QFLAGS=OWS--^ENUMERATE=Supplier_Details_N_API.Enumerate^QVALUE=:C_External_Billing_Support_RPI.Default_Supplier^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.runby + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Runby^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.reportdate + IS 'FLAGS=A----^DATATYPE=DATE/DATETIME^TITLE=Reportdate^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.projectid_h + IS 'FLAGS=A----^DATATYPE=STRING(2000)^TITLE=Projectid H^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.invoiceno_h + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Invoiceno H^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.transactiondate + IS 'FLAGS=A----^DATATYPE=DATE/DATE^TITLE=Transactiondate^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.suppliername + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Suppliername^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.invoiceno + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Invoiceno^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.typewo + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Typewo^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.activity + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Activity^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.employee + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Employee^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.description + IS 'FLAGS=A----^DATATYPE=STRING(2000)^TITLE=Description^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.quantity + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Quantity^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.materialcosttax + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Materialcosttax^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.timetype + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Timetype^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.price + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Price^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.extension + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Extension^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.transactiondatel + IS 'FLAGS=A----^DATATYPE=DATE/DATETIME^TITLE=Transactiondatel^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.suppliernamel + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Suppliernamel^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.invoicenol + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Invoicenol^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.typewol + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Typewol^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.activityl + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Activityl^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.employeel + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Employeel^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.descriptionl + IS 'FLAGS=A----^DATATYPE=STRING(2000)^TITLE=Descriptionl^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.quantityl + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Quantityl^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.materialcosttaxl + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Materialcosttaxl^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.timetypel + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Timetypel^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.pricel + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Pricel^'; +COMMENT ON COLUMN C_EXTERNAL_BILLING_SUPPORT_REP.extensionl + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Extensionl^'; + +----------------------------------------------------------------------------- +-------------------- REPORT REGISTRATION ------------------------------------ +----------------------------------------------------------------------------- + +BEGIN + Report_SYS.Define_Report_('C_EXTERNAL_BILLING_SUPPORT_REP', 'CMOD', 'CExternalBillingSupport', 'C External Billing Support', 'C_EXTERNAL_BILLING_SUPPORT_RPT', 'C_EXTERNAL_BILLING_SUPPORT_RPI.Execute_Report', 0); + Report_SYS.Define_Report_Text_('C_EXTERNAL_BILLING_SUPPORT_REP', 'C_EXTERNAL_BILLING_SUPPORT', 'Sample'); + Report_SYS.Refresh_('C_EXTERNAL_BILLING_SUPPORT_REP'); + Report_Lu_Definition_API.Clear_Custom_Fields_For_Report('C_EXTERNAL_BILLING_SUPPORT_REP'); +END; +/ + +----------------------------------------------------------------------------- +-------------------- PACKAGE IMPLEMENTATION --------------------------------- +----------------------------------------------------------------------------- + +PROMPT Creating C_EXTERNAL_BILLING_SUPPORT_RPI implementation + +CREATE OR REPLACE PACKAGE BODY C_EXTERNAL_BILLING_SUPPORT_RPI IS + +TYPE binds$ IS RECORD ( + project_id VARCHAR2(32000), + project_invoice VARCHAR2(32000), + supplier VARCHAR2(32000)); + +CURSOR get_header_detail IS + SELECT NULL runBy, + to_date(NULL) reportDate, + NULL projectId , + NULL invoiceNo + FROM dual; + +CURSOR get_line_detail IS + SELECT to_date(NULL) transactionDate, + NULL supplierName, + NULL invoiceNo, + NULL typeWo, + NULL activity, + NULL employee, + NULL description, + to_number(NULL) quantity, + to_number(NULL) materialCostTax, + NULL timeType, + to_number(NULL) price , + to_number(NULL) extension + FROM dual; + +CURSOR get_labor_details IS + SELECT to_date(NULL) transactionDateL, + NULL supplierNameL, + NULL invoiceNoL, + NULL typeWoL, + NULL activityL, + NULL employeeL, + NULL descriptionL, + to_number(NULL) quantityL, + to_number(NULL) materialCostTaxL, + NULL timeTypeL, + to_number(NULL) priceL , + to_number(NULL) extensionL + FROM dual; + +----------------------------------------------------------------------------- +-------------------- RESULT SET METHODS ------------------------------------- +----------------------------------------------------------------------------- + +--@IgnoreWrongParamOrder +PROCEDURE Add_Result_Row___ ( + result_key$_ IN NUMBER, + binds$_ IN binds$, + rec_header_detail_ IN get_header_detail%ROWTYPE DEFAULT NULL, + rec_line_detail_ IN get_line_detail%ROWTYPE DEFAULT NULL, + rec_labor_details_ IN get_labor_details%ROWTYPE DEFAULT NULL, + row_no$_ IN OUT NUMBER) +IS +BEGIN + row_no$_ := row_no$_+1; +END Add_Result_Row___; + +----------------------------------------------------------------------------- +-------------------- REPORT EXECUTION --------------------------------------- +----------------------------------------------------------------------------- + +PROCEDURE Execute_Report ( + report_attr_ IN VARCHAR2, + parameter_attr_ IN VARCHAR2 ) +IS + result_key$_ NUMBER; + row_no$_ NUMBER := 1; + binds$_ binds$; + xml$_ CLOB; + outer_filter_attr$_ VARCHAR2(32000); + outer_filter_where$_ VARCHAR2(32000); + inner_filter_attr$_ VARCHAR2(32000); + inner_filter_where$_ VARCHAR2(32000); + has_header_detail_ BOOLEAN; + rec_header_detail_ get_header_detail%ROWTYPE; + par_header_detail_ binds$; + has_line_detail_ BOOLEAN; + rec_line_detail_ get_line_detail%ROWTYPE; + par_line_detail_ binds$; + has_labor_details_ BOOLEAN; + rec_labor_details_ get_labor_details%ROWTYPE; + par_labor_details_ binds$; + grand_total_ NUMBER; + sum_labour_ NUMBER := 0; + sum_material_ NUMBER := 0; + + -- material + CURSOR get_projectWOtransactions(ProjectId_ VARCHAR2 ,ProjectInvoice_ VARCHAR2) IS + SELECT t.transaction_date AS dateN--0 + , NULL supplier --1 + , NULL supplier_name + , NULL supp_inv_no + , NULL invoice_comments --2 + , ifsapp.activity_api.Get_Activity_No(ifsapp.active_separate_api.Get_Activity_Seq(t.wo_no)) activity_no + , transaction_type --3 + , employee_name --4 + , CASE transaction_type + WHEN 'Work Task Inventory' THEN decode(transaction_type,'Work Task Inventory',s.line_description,NULL) + WHEN 'Expenses' THEN s.line_description + ELSE ifsapp.job_transaction_parameter_api.get_parameter_value(transaction_type_ => 'Work Task' + , transaction_id_ => transaction_id + , parameter_no_ => 1) + END descripion --5 & 6 + , round(quantity,16) quantity --7 + , decode(transaction_type, 'Work Task Inventory', round(t.cost_amount,16),NULL) total_cost --8 + , time_type_id time_type --9 + , round((SELECT DECODE(QUANTITY,0,0,(Leg_Jt_Task_Trans_Util_API.Get_Sales_Amount(t.transaction_id, t.company, t.transaction_date, t.resource_group_seq, t.task_seq))/QUANTITY) + FROM JT_TASK_TRANSACTION_CFV + WHERE TRANSACTION_ID = t.TRANSACTION_ID),16) price --10 custom field + , round((Leg_Jt_Task_Trans_Util_API.Get_Sales_Amount(t.transaction_id, t.company, t.transaction_date, t.resource_group_seq, t.task_seq)),2) extension --11 custom field dependent + , 'Work Task '||t.task_seq SOURCE--development qc + + FROM ifsapp.jt_task_transaction_uiv_cfv t + left join ifsapp.jt_task_cost_line_uiv cl + ON t.transaction_id = cl.task_transaction_id + left join ifsapp.jt_task_sales_line s + ON cl.sales_line_seq = s.sales_line_seq + WHERE Work_Order_Api.Get_Project_No(Jt_Task_Api.Get_Wo_No(t.task_seq)) = ProjectId_ + AND (ifsapp.project_invoice_api.get_invoice_no(t.company, cf$_project_invoice) IN (ProjectInvoice_) OR ' All' IN (ProjectInvoice_)) + AND (time_type_id NOT IN ('ST','DT','OT','TH' ) OR transaction_type NOT IN ('Personnel' , 'Time')) + UNION ALL + + SELECT p.account_date AS dateN--0 + , substr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), 1, instr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), '-') - 2) supplier --1 custom field + , ifsapp.supplier_api.Get_Vendor_Name(substr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), 1, instr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), '-') - 2)) supplier_name + , SUPP_INVOICE_NO -- 1B custom field + , invoice_comments --2 + , activity_no + , report_cost_type --3 + , ifsapp.company_pers_api.get_name(company_id,emp_no) employee --4 + , CASE report_cost_type + WHEN 'Time' THEN ifsapp.job_transaction_parameter_api.get_parameter_value(transaction_type_ => 'Project' + , transaction_id_ => project_transaction_seq + , parameter_no_ => 1) + ELSE decode(report_cost_code,'MAT',internal_comments -- BQA-9821 invoice_comments + ,'MAT_INV',internal_comments -- BQA-9821 invoice_comments + ,'RENT_INV', internal_comments + ,'SUB_INV', internal_comments + ,'EQU_INV', internal_comments + ,invoice_comments) + END description --5 & 6 + , round(sales_quantity,16) --7 + , decode(report_cost_code,'MAT',round(total_internal_price,16) -- BQA-9821 suppress for labor + ,'MAT_INV',round(total_internal_price ,16) + ,NULL) total_internal_price --8 + , report_cost_code --9 + , round(sales_price,16) --10 + , round(sales_quantity * sales_price,2) extension --11 + , 'Project '||project_id --development qc + + FROM ifsapp.project_transaction_cfv p + WHERE cf$_link_to_work_trans_db = 'FALSE' -- filter out transferred summarized work task records + AND project_id = ProjectId_ + AND (ifsapp.project_invoice_api.get_invoice_no(company_id, invoice_id) IN (ProjectInvoice_) OR ' All' IN (ProjectInvoice_)) + AND (report_cost_code NOT IN ('ST','DT','OT','TH' ) OR report_cost_type NOT IN ('Personnel' , 'Time')) + ORDER BY dateN; + + + CURSOR get_labor_detail(ProjectId_ VARCHAR2 ,ProjectInvoice_ VARCHAR2)IS + SELECT t.transaction_date AS dateN--0 + , NULL supplier --1 + , NULL supplier_name --2 + , NULL supp_inv_no --3 + , NULL invoice_comments --4 + , ifsapp.activity_api.Get_Activity_No(ifsapp.active_separate_api.Get_Activity_Seq(t.wo_no)) activity_no --5 + , transaction_type AS Transaction_type --6 + , employee_name --7 + , CASE transaction_type + WHEN 'Work Task Inventory' THEN decode(transaction_type,'Work Task Inventory',s.line_description,NULL) + WHEN 'Expenses' THEN s.line_description + ELSE ifsapp.job_transaction_parameter_api.get_parameter_value(transaction_type_ => 'Work Task' + , transaction_id_ => transaction_id + , parameter_no_ => 1) + END description --8 + , round(quantity,16) quantity --9 + , decode(transaction_type, 'Work Task Inventory', round(t.cost_amount,16),NULL) total_internal_price --10 + , time_type_id AS time_type --11 + , round((SELECT DECODE(QUANTITY,0,0,(Leg_Jt_Task_Trans_Util_API.Get_Sales_Amount(t.transaction_id, t.company, t.transaction_date, t.resource_group_seq, t.task_seq))/QUANTITY) --12 + + FROM JT_TASK_TRANSACTION_CFV + WHERE TRANSACTION_ID = t.TRANSACTION_ID),16) price --10 custom field + , round((Leg_Jt_Task_Trans_Util_API.Get_Sales_Amount(t.transaction_id, t.company, t.transaction_date, t.resource_group_seq, t.task_seq)),2) calc_amount --11 custom field dependent + , 'Work Task '||t.task_seq SOURCE--development qc + + + FROM ifsapp.jt_task_transaction_uiv_cfv t + left join ifsapp.jt_task_cost_line_uiv cl + ON t.transaction_id = cl.task_transaction_id + left join ifsapp.jt_task_sales_line s + ON cl.sales_line_seq = s.sales_line_seq + WHERE Work_Order_Api.Get_Project_No(Jt_Task_Api.Get_Wo_No(t.task_seq)) = ProjectId_ + AND (ifsapp.project_invoice_api.get_invoice_no(t.company, cf$_project_invoice) IN (ProjectInvoice_) OR ' All' IN (ProjectInvoice_)) + AND (time_type_id IN ('ST','DT','OT','TH' ) OR transaction_type IN ('Personnel' , 'Time')) + UNION ALL + + SELECT p.account_date AS dateN--0 + , substr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), 1, instr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), '-') - 2) supplier --1 custom field + , ifsapp.supplier_api.Get_Vendor_Name(substr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), 1, instr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), '-') - 2)) supplier_name + , SUPP_INVOICE_NO AS supp_inv_no -- 1B custom field + , invoice_comments --2 + , activity_no + , report_cost_type AS Transaction_type--3 + , ifsapp.company_pers_api.get_name(company_id,emp_no) employee_name --4 + , CASE report_cost_type + WHEN 'Time' THEN ifsapp.job_transaction_parameter_api.get_parameter_value(transaction_type_ => 'Project' + , transaction_id_ => project_transaction_seq + , parameter_no_ => 1) + ELSE decode(report_cost_code,'MAT',internal_comments -- BQA-9821 invoice_comments + ,'MAT_INV',internal_comments -- BQA-9821 invoice_comments + ,'RENT_INV', internal_comments + ,'SUB_INV', internal_comments + ,'EQU_INV', internal_comments + ,invoice_comments) + END description --5 & 6 + , round(sales_quantity,16) AS quantity --7 + , decode(report_cost_code,'MAT',round(total_internal_price,16) -- BQA-9821 suppress for labor + ,'MAT_INV',round(total_internal_price ,16) + ,NULL) total_internal_price --8 + , report_cost_code AS time_type --9 + , round(sales_price,16) AS price --10 + , round(sales_quantity * sales_price,2) calc_amount --11 + , 'Project '||project_id AS SOURCE--development qc + + FROM ifsapp.project_transaction_cfv p + WHERE cf$_link_to_work_trans_db = 'FALSE' -- filter out transferred summarized work task records + AND project_id = ProjectId_ + AND (ifsapp.project_invoice_api.get_invoice_no(company_id, invoice_id) IN (ProjectInvoice_) OR ' All' IN (ProjectInvoice_)) + AND (report_cost_code IN ('ST','DT','OT','TH' ) OR report_cost_type IN ('Personnel' , 'Time')) + + ORDER BY dateN; + + + + + CURSOR get_grand_total(ProjectId_ VARCHAR2 ,ProjectInvoice_ VARCHAR2) IS + SELECT gross_amount + FROM ifsapp.project_invoice + WHERE invoice_id = ProjectInvoice_ + AND project_id = ProjectId_ ; + + + +BEGIN + General_SYS.Init_Method(lu_name_, 'C_EXTERNAL_BILLING_SUPPORT_RPI', 'Execute_Report'); + result_key$_ := Client_SYS.Attr_Value_To_Number(Client_SYS.Get_Item_Value('RESULT_KEY', report_attr_)); + binds$_.project_id := Client_SYS.Get_Item_Value('PROJECT_ID', parameter_attr_); + binds$_.project_invoice := Client_SYS.Get_Item_Value('PROJECT_INVOICE', parameter_attr_); + binds$_.supplier := Client_SYS.Get_Item_Value('SUPPLIER', parameter_attr_); + + + + + Xml_Record_Writer_SYS.Create_Report_Header(xml$_, 'C_EXTERNAL_BILLING_SUPPORT_REP', 'C External Billing Support'); + + + has_header_detail_ := FALSE; + par_header_detail_ := binds$_; + Xml_Record_Writer_SYS.Start_Element(xml$_, 'HEADER_DETAILS'); + OPEN get_header_detail; + LOOP + FETCH get_header_detail INTO rec_header_detail_; + has_header_detail_ := get_header_detail%FOUND OR get_header_detail%ROWCOUNT > 0; + EXIT WHEN get_header_detail%NOTFOUND; + Xml_Record_Writer_SYS.Start_Element(xml$_, 'HEADER_DETAIL'); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'RUNBY', fnd_session_api.Get_Fnd_User()); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'REPORTDATE', sysdate); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'PROJECTID_H',binds$_.project_id ); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'INVOICENO_H',binds$_.project_invoice); + + OPEN get_grand_total(binds$_.project_id, binds$_.project_invoice); + FETCH get_grand_total INTO grand_total_; + CLOSE get_grand_total; + Xml_Record_Writer_SYS.Add_Element(xml$_, 'GRAND_TOTAL',grand_total_); + + + has_labor_details_ := FALSE; + par_labor_details_ := binds$_; + Xml_Record_Writer_SYS.Start_Element(xml$_, 'LABOR_DETAILSES'); + + + FOR recL_ IN get_labor_detail(binds$_.project_id, binds$_.project_invoice) LOOP + + Xml_Record_Writer_SYS.Start_Element(xml$_, 'LABOR_DETAILS'); + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TRANSACTIONDATEL', recL_.dateN); + IF (binds$_.supplier = 'Supplier Name') THEN + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'SUPPLIERNAMEL', recL_.supplier_name); + ELSIF(binds$_.supplier = 'Supplier Id')THEN + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'SUPPLIERNAMEL', recL_.supplier); + END IF ; + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'INVOICENOL', recL_.supp_inv_no); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TYPEWOL', recL_.Transaction_type); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'ACTIVITYL', recL_.activity_no); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'EMPLOYEEL', recL_.employee_name); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'DESCRIPTIONL', recL_.description); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'QUANTITYL', recL_.quantity); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'MATERIALCOSTTAXL', recL_.total_internal_price); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TIMETYPEL', recL_.time_type); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'PRICEL', recL_.price); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'EXTENSIONL', recL_.calc_amount); + + + + sum_labour_ := NVL(recL_.calc_amount,0) + sum_labour_; + + Xml_Record_Writer_SYS.End_Element(xml$_, 'LABOR_DETAILS'); + Add_Result_Row___(result_key$_, + binds$_ => binds$_, + rec_header_detail_ => rec_header_detail_, + rec_labor_details_ => rec_labor_details_, + row_no$_ => row_no$_); + END LOOP; + Xml_Record_Writer_SYS.Add_Element(xml$_, 'LABOUR_TOTAL', sum_labour_); + + Xml_Record_Writer_SYS.End_Element(xml$_, 'LABOR_DETAILSES'); + binds$_ := par_labor_details_; + + has_line_detail_ := FALSE; + par_line_detail_ := binds$_; + Xml_Record_Writer_SYS.Start_Element(xml$_, 'LINE_DETAILS'); + + + FOR rec_ IN get_projectWOtransactions(binds$_.project_id, binds$_.project_invoice)LOOP + + Xml_Record_Writer_SYS.Start_Element(xml$_, 'LINE_DETAIL'); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TRANSACTIONDATE', rec_.dateN); + IF (binds$_.supplier = 'Supplier Name') THEN + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'SUPPLIERNAME', rec_.supplier_name); + ELSIF(binds$_.supplier = 'Supplier Id')THEN + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'SUPPLIERNAME', rec_.supplier); + END IF ; + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'INVOICENO', rec_.supp_inv_no); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TYPEWO', rec_.transaction_type); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'ACTIVITY', rec_.activity_no); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'EMPLOYEE', rec_.employee_name); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'DESCRIPTION', rec_.descripion); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'QUANTITY', rec_.quantity); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'MATERIALCOSTTAX', rec_.total_cost); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TIMETYPE', rec_.time_type); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'PRICE', rec_.price); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'EXTENSION', rec_.extension); + + + sum_material_ := sum_material_ + nvl(rec_.extension,0) ; + + Xml_Record_Writer_SYS.End_Element(xml$_, 'LINE_DETAIL'); + Add_Result_Row___(result_key$_, + binds$_ => binds$_, + rec_header_detail_ => rec_header_detail_, + rec_line_detail_ => rec_line_detail_, + row_no$_ => row_no$_); + END LOOP; + Xml_Record_Writer_SYS.Add_Element(xml$_, 'MATERIAL_TOTAL', sum_material_); + Xml_Record_Writer_SYS.End_Element(xml$_, 'LINE_DETAILS'); + binds$_ := par_line_detail_; + IF NOT has_labor_details_ AND NOT has_line_detail_ THEN + Add_Result_Row___(result_key$_, + binds$_ => binds$_, + rec_header_detail_ => rec_header_detail_, + row_no$_ => row_no$_); + END IF; + + Xml_Record_Writer_SYS.End_Element(xml$_, 'HEADER_DETAIL'); + END LOOP; + CLOSE get_header_detail; + Xml_Record_Writer_SYS.End_Element(xml$_, 'HEADER_DETAILS'); + binds$_ := par_header_detail_; + IF NOT has_header_detail_ THEN + Add_Result_Row___(result_key$_, + binds$_ => binds$_, + row_no$_ => row_no$_); + END IF; + + Xml_Record_Writer_SYS.End_Element(xml$_, 'C_EXTERNAL_BILLING_SUPPORT_REP'); + Report_SYS.Finish_Xml_Report('C_EXTERNAL_BILLING_SUPPORT_REP', result_key$_, xml$_); +EXCEPTION + WHEN OTHERS THEN + IF get_header_detail%ISOPEN THEN + CLOSE get_header_detail; + END IF; + IF get_line_detail%ISOPEN THEN + CLOSE get_line_detail; + END IF; + IF get_labor_details%ISOPEN THEN + CLOSE get_labor_details; + END IF; + RAISE; +END Execute_Report; + + +PROCEDURE Default_Supplier ( + supplier_ OUT VARCHAR2 ) +IS +BEGIN + General_SYS.Init_Method( lu_name_, 'C_EXTERNAL_BILLING_SUPPORT_RPI', 'Default_Supplier'); + supplier_ := Supplier_Details_N_API.Decode('SUPPLIER_ID'); +END Default_Supplier; + +----------------------------------------------------------------------------- +-------------------- FOUNDATION1 METHODS ------------------------------------ +----------------------------------------------------------------------------- +-- Test +-- Invokes the report method for testing purposes. +-- Init +-- Dummy procedure that can be called at database startup to ensure that +-- this package is loaded into memory for performance reasons only. +----------------------------------------------------------------------------- + +FUNCTION Test ( + project_id_ IN VARCHAR2, + project_invoice_ IN VARCHAR2, + supplier_ IN VARCHAR2) +RETURN NUMBER +IS + result_key_ NUMBER; + report_attr_ VARCHAR2(200); + parameter_attr_ VARCHAR2(32000); +BEGIN + General_SYS.Init_Method(lu_name_, 'C_EXTERNAL_BILLING_SUPPORT_RPI', 'Test'); + Report_SYS.Get_Result_Key__(result_key_); + Client_SYS.Add_To_Attr('RESULT_KEY', result_key_, report_attr_); + IF (project_id_ IS NOT NULL) THEN + Client_SYS.Add_To_Attr('PROJECT_ID', project_id_, parameter_attr_); + END IF; + IF (project_invoice_ IS NOT NULL) THEN + Client_SYS.Add_To_Attr('PROJECT_INVOICE', project_invoice_, parameter_attr_); + END IF; + IF (supplier_ IS NOT NULL) THEN + Client_SYS.Add_To_Attr('SUPPLIER', supplier_, parameter_attr_); + END IF; + Execute_Report(report_attr_, parameter_attr_); + RETURN result_key_; +END Test; + + +PROCEDURE Init +IS +BEGIN + NULL; +END Init; + +END C_EXTERNAL_BILLING_SUPPORT_RPI; +--presentation object creation-- + + +BEGIN + IF (Security_Sys.Is_Pres_Object_Available('repC_EXTERNAL_BILLING_SUPPORT_REP')) THEN + BEGIN + Security_Sys.New_Pres_Object('repC_EXTERNAL_BILLING_SUPPORT_REP','CMOD','REP', 'Report - C_EXTERNAL_BILLING_SUPPORT','Manual'); + Security_Sys.New_Pres_Object_Sec('repC_EXTERNAL_BILLING_SUPPORT_REP','C_EXTERNAL_BILLING_SUPPORT_REP','VIEW','4','Manual'); + Security_Sys.New_Pres_Object_Sec('repC_EXTERNAL_BILLING_SUPPORT_REP','C_EXTERNAL_BILLING_SUPPORT_RPI.External_Billing_Report','METHOD','2','Manual'); + + + + END; + END IF; +END; +/ +SHOW ERROR \ No newline at end of file diff --git a/cmod/source/cmod/database/CInternalBillingSupport.rdf b/cmod/source/cmod/database/CInternalBillingSupport.rdf new file mode 100644 index 0000000..0592dcb --- /dev/null +++ b/cmod/source/cmod/database/CInternalBillingSupport.rdf @@ -0,0 +1,750 @@ +----------------------------------------------------------------------------- +-- +-- Logical unit: CInternalBillingSupport +-- +-- Report: CInternalBillingSupport +-- +-- IFS Developer Studio Template Version 1.3 +-- +-- NOTE: This file is generated and will be overwritten at next model change +----------------------------------------------------------------------------- +-- 20250516 Custom report Development + +----------------------------------------------------------------------------- +-------------------- PACKAGE SPECIFICATION ---------------------------------- +----------------------------------------------------------------------------- + +PROMPT Creating C_INTERNAL_BILLING_SUPPORT_RPI SPECIFICATION + +CREATE OR REPLACE PACKAGE C_INTERNAL_BILLING_SUPPORT_RPI AS + +module_ CONSTANT VARCHAR2(6) := 'CMOD'; +lu_name_ CONSTANT VARCHAR2(25) := 'CInternalBillingSupport'; + +PROCEDURE Execute_Report ( + report_attr_ IN VARCHAR2, + parameter_attr_ IN VARCHAR2 ); + +PROCEDURE Default_Supplier ( + supplier_ OUT VARCHAR2 ); + +FUNCTION Test ( + project_id_ IN VARCHAR2, + project_invoice_ IN VARCHAR2, + supplier_ IN VARCHAR2) +RETURN NUMBER; + +PROCEDURE Init; + +END C_INTERNAL_BILLING_SUPPORT_RPI; +/ +SHOW ERROR + +----------------------------------------------------------------------------- +-------------------- VIEWS FOR REPORT META DATA ----------------------------- +----------------------------------------------------------------------------- + +PROMPT Creating report TABLE C_INTERNAL_BILLING_SUPPORT_RPT + +DECLARE + columns_ Database_SYS.ColumnTabType; + table_name_ VARCHAR2(30) := 'C_INTERNAL_BILLING_SUPPORT_RPT'; +BEGIN + Database_SYS.Reset_Column_Table(columns_); + Database_SYS.Set_Table_Column(columns_, 'RESULT_KEY', 'NUMBER', 'N'); + Database_SYS.Set_Table_Column(columns_, 'ROW_NO', 'NUMBER', 'N'); + Database_SYS.Set_Table_Column(columns_, 'PARENT_ROW_NO', 'NUMBER', 'N'); + Database_SYS.Set_Table_Column(columns_, 'ROWVERSION', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'PROJECT_ID', 'VARCHAR2(50)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'PROJECT_INVOICE', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'SUPPLIER', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'RUNBY', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'REPORTDATE', 'DATE', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'PROJECTID_H', 'VARCHAR2(2000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'INVOICENO_H', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TRANSACTIONDATE', 'DATE', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'SUPPLIERNAME', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'INVOICENO', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TYPEWO', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'ACTIVITY', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'EMPLOYEE', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'DESCRIPTION', 'VARCHAR2(2000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'QUANTITY', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'MATERIALCOSTTAX', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TIMETYPE', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'PRICE', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'EXTENSION', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TRANSACTIONDATEL', 'DATE', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'SUPPLIERNAMEL', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'INVOICENOL', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TYPEWOL', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'ACTIVITYL', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'EMPLOYEEL', 'VARCHAR2(1000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'DESCRIPTIONL', 'VARCHAR2(2000)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'QUANTITYL', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'MATERIALCOSTTAXL', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'TIMETYPEL', 'VARCHAR2(200)', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'PRICEL', 'NUMBER', 'Y'); + Database_SYS.Set_Table_Column(columns_, 'EXTENSIONL', 'NUMBER', 'Y'); + Database_SYS.Create_Or_Replace_Table(table_name_, columns_, '&IFSAPP_REPORT_DATA', NULL, TRUE); +END; +/ + +DECLARE + columns_ Database_SYS.ColumnTabType; + table_name_ VARCHAR2(30) := 'C_INTERNAL_BILLING_SUPPORT_RPT'; + index_name_ VARCHAR2(30) := 'C_INTERNAL_BILLING_SUPPORT_RPK'; +BEGIN + Database_SYS.Reset_Column_Table(columns_); + Database_SYS.Set_Table_Column(columns_, 'RESULT_KEY'); + Database_SYS.Set_Table_Column(columns_, 'ROW_NO'); + Database_SYS.Set_Table_Column(columns_, 'PARENT_ROW_NO'); + Database_SYS.Create_Constraint(table_name_, index_name_, columns_, 'P', '&IFSAPP_REPORT_INDEX', NULL, TRUE, TRUE); + Database_SYS.Reset_Column_Table(columns_); +END; +/ + +PROMPT Creating report VIEW C_INTERNAL_BILLING_SUPPORT_REP + +CREATE OR REPLACE VIEW C_INTERNAL_BILLING_SUPPORT_REP AS +SELECT RESULT_KEY, ROW_NO, PARENT_ROW_NO, ROWVERSION +,PROJECT_ID,PROJECT_INVOICE,SUPPLIER,RUNBY,REPORTDATE,PROJECTID_H,INVOICENO_H,TRANSACTIONDATE,SUPPLIERNAME,INVOICENO,TYPEWO,ACTIVITY,EMPLOYEE,DESCRIPTION,QUANTITY,MATERIALCOSTTAX,TIMETYPE,PRICE,EXTENSION,TRANSACTIONDATEL,SUPPLIERNAMEL,INVOICENOL,TYPEWOL,ACTIVITYL,EMPLOYEEL,DESCRIPTIONL,QUANTITYL,MATERIALCOSTTAXL,TIMETYPEL,PRICEL,EXTENSIONL +FROM C_INTERNAL_BILLING_SUPPORT_RPT t +WHERE EXISTS (SELECT 1 FROM allowed_report a WHERE a.result_key = t.result_key) +WITH READ ONLY; + +COMMENT ON TABLE C_INTERNAL_BILLING_SUPPORT_REP + IS 'LU=CInternalBillingSupport^PROMPT=C Internal Billing Support^MODULE=CMOD^TITLETEXT=C Internal Billing Support^'; + +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.result_key + IS 'FLAGS=M----^DATATYPE=NUMBER^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.row_no + IS 'FLAGS=M----^DATATYPE=NUMBER^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.project_id + IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Project Id^QUERY=Project Id:^QFLAGS=OWS--^REF=ACCOUNTING_PROJECT(COMPANY)^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.project_invoice + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Project Invoice^QUERY=Project Invoice:^QFLAGS=OWS--^REF=C_PROJECTINV_BILLING_SUPPORT(PROJECT_ID)^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.supplier + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Supplier^QUERY=Supplier:^QFLAGS=OWS--^ENUMERATE=Supplier_Details_N_API.Enumerate^QVALUE=:C_Internal_Billing_Support_RPI.Default_Supplier^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.runby + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Runby^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.reportdate + IS 'FLAGS=A----^DATATYPE=DATE/DATETIME^TITLE=Reportdate^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.projectid_h + IS 'FLAGS=A----^DATATYPE=STRING(2000)^TITLE=Projectid H^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.invoiceno_h + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Invoiceno H^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.transactiondate + IS 'FLAGS=A----^DATATYPE=DATE/DATE^TITLE=Transactiondate^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.suppliername + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Suppliername^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.invoiceno + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Invoiceno^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.typewo + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Typewo^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.activity + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Activity^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.employee + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Employee^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.description + IS 'FLAGS=A----^DATATYPE=STRING(2000)^TITLE=Description^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.quantity + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Quantity^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.materialcosttax + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Materialcosttax^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.timetype + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Timetype^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.price + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Price^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.extension + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Extension^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.transactiondatel + IS 'FLAGS=A----^DATATYPE=DATE/DATETIME^TITLE=Transactiondatel^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.suppliernamel + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Suppliernamel^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.invoicenol + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Invoicenol^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.typewol + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Typewol^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.activityl + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Activityl^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.employeel + IS 'FLAGS=A----^DATATYPE=STRING(1000)^TITLE=Employeel^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.descriptionl + IS 'FLAGS=A----^DATATYPE=STRING(2000)^TITLE=Descriptionl^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.quantityl + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Quantityl^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.materialcosttaxl + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Materialcosttaxl^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.timetypel + IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Timetypel^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.pricel + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Pricel^'; +COMMENT ON COLUMN C_INTERNAL_BILLING_SUPPORT_REP.extensionl + IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Extensionl^'; + +----------------------------------------------------------------------------- +-------------------- REPORT REGISTRATION ------------------------------------ +----------------------------------------------------------------------------- + +BEGIN + Report_SYS.Define_Report_('C_INTERNAL_BILLING_SUPPORT_REP', 'CMOD', 'CInternalBillingSupport', 'Internal Billing Support', 'C_INTERNAL_BILLING_SUPPORT_RPT', 'C_INTERNAL_BILLING_SUPPORT_RPI.Execute_Report', 0); + Report_SYS.Define_Report_Text_('C_INTERNAL_BILLING_SUPPORT_REP', 'C_INTERNAL_BILLING_SUPPORT', 'Sample'); + Report_SYS.Refresh_('C_INTERNAL_BILLING_SUPPORT_REP'); + Report_Lu_Definition_API.Clear_Custom_Fields_For_Report('C_INTERNAL_BILLING_SUPPORT_REP'); +END; +/ + +----------------------------------------------------------------------------- +-------------------- PACKAGE IMPLEMENTATION --------------------------------- +----------------------------------------------------------------------------- + +PROMPT Creating C_INTERNAL_BILLING_SUPPORT_RPI implementation + +CREATE OR REPLACE PACKAGE BODY C_INTERNAL_BILLING_SUPPORT_RPI IS + +TYPE binds$ IS RECORD ( + project_id VARCHAR2(32000), + project_invoice VARCHAR2(32000), + supplier VARCHAR2(32000)); + +CURSOR get_header_detail IS + SELECT NULL runBy, + to_date(NULL) reportDate, + NULL projectId , + NULL invoiceNo + FROM dual; + +CURSOR get_line_detail IS + SELECT to_date(NULL) transactionDate, + NULL supplierName, + NULL invoiceNo, + NULL typeWo, + NULL activity, + NULL employee, + NULL description, + to_number(NULL) quantity, + to_number(NULL) materialCostTax, + NULL timeType, + to_number(NULL) price , + to_number(NULL) extension + FROM dual; + +CURSOR get_labor_details IS + SELECT to_date(NULL) transactionDateL, + NULL supplierNameL, + NULL invoiceNoL, + NULL typeWoL, + NULL activityL, + NULL employeeL, + NULL descriptionL, + to_number(NULL) quantityL, + to_number(NULL) materialCostTaxL, + NULL timeTypeL, + to_number(NULL) priceL , + to_number(NULL) extensionL + FROM dual; + +----------------------------------------------------------------------------- +-------------------- RESULT SET METHODS ------------------------------------- +----------------------------------------------------------------------------- + +--@IgnoreWrongParamOrder +PROCEDURE Add_Result_Row___ ( + result_key$_ IN NUMBER, + binds$_ IN binds$, + rec_header_detail_ IN get_header_detail%ROWTYPE DEFAULT NULL, + rec_line_detail_ IN get_line_detail%ROWTYPE DEFAULT NULL, + rec_labor_details_ IN get_labor_details%ROWTYPE DEFAULT NULL, + row_no$_ IN OUT NUMBER) +IS +BEGIN + row_no$_ := row_no$_+1; +END Add_Result_Row___; + +----------------------------------------------------------------------------- +-------------------- REPORT EXECUTION --------------------------------------- +----------------------------------------------------------------------------- + +PROCEDURE Execute_Report ( + report_attr_ IN VARCHAR2, + parameter_attr_ IN VARCHAR2 ) +IS + result_key$_ NUMBER; + row_no$_ NUMBER := 1; + binds$_ binds$; + xml$_ CLOB; + outer_filter_attr$_ VARCHAR2(32000); + outer_filter_where$_ VARCHAR2(32000); + inner_filter_attr$_ VARCHAR2(32000); + inner_filter_where$_ VARCHAR2(32000); + has_header_detail_ BOOLEAN; + rec_header_detail_ get_header_detail%ROWTYPE; + par_header_detail_ binds$; + has_line_detail_ BOOLEAN; + rec_line_detail_ get_line_detail%ROWTYPE; + par_line_detail_ binds$; + has_labor_details_ BOOLEAN; + rec_labor_details_ get_labor_details%ROWTYPE; + par_labor_details_ binds$; + grand_total_ NUMBER; + sum_labour_ NUMBER := 0; + sum_material_ NUMBER := 0; + + --material type + CURSOR get_projectWOtransactions(ProjectId_ VARCHAR2 ,ProjectInvoice_ VARCHAR2) IS + SELECT t.transaction_date AS dateN--0 + , NULL supplier --1 + , NULL supplier_name + , NULL supp_inv_no + , NULL invoice_comments --2 + , ifsapp.activity_api.Get_Activity_No(ifsapp.active_separate_api.Get_Activity_Seq(t.wo_no)) activity_no + , transaction_type --3 + , employee_name --4 + , CASE transaction_type + WHEN 'Work Task Inventory' THEN decode(transaction_type,'Work Task Inventory',s.line_description,NULL) + WHEN 'Expenses' THEN s.line_description + ELSE ifsapp.job_transaction_parameter_api.get_parameter_value(transaction_type_ => 'Work Task' + , transaction_id_ => transaction_id + , parameter_no_ => 1) + END descripion --5 & 6 + , round(quantity,16) quantity --7 + , decode(transaction_type, 'Work Task Inventory', round(t.cost_amount,16),NULL) total_cost --8 + , time_type_id time_type --9 + , round((SELECT DECODE(QUANTITY,0,0,(Leg_Jt_Task_Trans_Util_API.Get_Sales_Amount(t.transaction_id, t.company, t.transaction_date, t.resource_group_seq, t.task_seq))/QUANTITY) + FROM JT_TASK_TRANSACTION_CFV + WHERE TRANSACTION_ID = t.TRANSACTION_ID),16) price --10 custom field + , round((Leg_Jt_Task_Trans_Util_API.Get_Sales_Amount(t.transaction_id, t.company, t.transaction_date, t.resource_group_seq, t.task_seq)),2) extension --11 custom field dependent + , 'Work Task '||t.task_seq SOURCE--development qc + , NULL Purchase_order_no, + t.task_seq AS work_task_no , + JT_TASK_API.Get_Wo_No(t.task_seq) AS work_order_no , t.transaction_id + FROM ifsapp.jt_task_transaction_uiv_cfv t + left join ifsapp.jt_task_cost_line_uiv cl + ON t.transaction_id = cl.task_transaction_id + left join ifsapp.jt_task_sales_line s + ON cl.sales_line_seq = s.sales_line_seq + WHERE Work_Order_Api.Get_Project_No(Jt_Task_Api.Get_Wo_No(t.task_seq)) = ProjectId_ + AND (ifsapp.project_invoice_api.get_invoice_no(t.company, cf$_project_invoice) IN (ProjectInvoice_) OR ' All' IN (ProjectInvoice_)) + AND (time_type_id NOT IN ('ST','DT','OT','TH' ) OR transaction_type NOT IN ('Personnel' , 'Time')) + UNION ALL + + SELECT p.account_date AS dateN--0 + , substr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), 1, instr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), '-') - 2) supplier --1 custom field + , ifsapp.supplier_api.Get_Vendor_Name(substr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), 1, instr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), '-') - 2)) supplier_name + , SUPP_INVOICE_NO -- 1B custom field + , invoice_comments --2 + , activity_no + , report_cost_type --3 + , ifsapp.company_pers_api.get_name(company_id,emp_no) employee --4 + , CASE report_cost_type + WHEN 'Time' THEN ifsapp.job_transaction_parameter_api.get_parameter_value(transaction_type_ => 'Project' + , transaction_id_ => project_transaction_seq + , parameter_no_ => 1) + ELSE decode(report_cost_code,'MAT',internal_comments -- BQA-9821 invoice_comments + ,'MAT_INV',internal_comments -- BQA-9821 invoice_comments + ,'RENT_INV', internal_comments + ,'SUB_INV', internal_comments + ,'EQU_INV', internal_comments + ,invoice_comments) + END description --5 & 6 + , round(sales_quantity,16) --7 + , decode(report_cost_code,'MAT',round(total_internal_price,16) -- BQA-9821 suppress for labor + ,'MAT_INV',round(total_internal_price ,16) + ,NULL) total_internal_price --8 + , report_cost_code --9 + , round(sales_price,16) --10 + , round(sales_quantity * sales_price,2) extension --11 + , 'Project '||project_id --development qc + , NULL Purchase_order_no + ,NULL AS work_task_no , + NULL AS work_order_no ,to_number(NULL)transaction_id + + FROM ifsapp.project_transaction_cfv p + WHERE cf$_link_to_work_trans_db = 'FALSE' -- filter out transferred summarized work task records + AND project_id = ProjectId_ + AND (ifsapp.project_invoice_api.get_invoice_no(company_id, invoice_id) IN (ProjectInvoice_) OR ' All' IN (ProjectInvoice_)) + AND (report_cost_code NOT IN ('ST','DT','OT','TH' ) OR report_cost_type NOT IN ('Personnel' , 'Time')) + ORDER BY dateN; + + + -- material PO number fetching for project transactions + CURSOR get_po_material(ProjectId_ VARCHAR2 ,ProjectInvoice_ VARCHAR2 ,Qty_ NUMBER, dateMat_ DATE )IS + SELECT a.PO_REF_NUMBER + FROM MAN_SUPP_INVOICE a, project_transaction_cfv p + WHERE a.INVOICE_NO = p.supp_invoice_no + AND ((p.REPORT_COST_TYPE = 'Cost' AND p.REPORT_COST_CODE LIKE '%_INV') OR + (p.REPORT_COST_TYPE = 'Material' AND p.REPORT_COST_CODE = 'MMAT')) + AND p.project_id = ProjectId_ + AND (ifsapp.project_invoice_api.get_invoice_no(p.company_id, + p.invoice_id) IN + (ProjectInvoice_) OR ' All' IN (ProjectInvoice_)) + AND (p.report_cost_code NOT IN ('ST', 'DT', 'OT', 'TH') OR + p.report_cost_type NOT IN ('Personnel', 'Time')) + AND p.SALES_QUANTITY = Qty_ + AND p.account_date = dateMat_ + AND p.cf$_link_to_work_trans_db = 'FALSE' ; + + + --labour details + CURSOR get_labor_detail(ProjectId_ VARCHAR2 ,ProjectInvoice_ VARCHAR2)IS + SELECT t.transaction_date AS dateN--0 + , NULL supplier --1 + , NULL supplier_name --2 + , NULL supp_inv_no --3 + , NULL invoice_comments --4 + , ifsapp.activity_api.Get_Activity_No(ifsapp.active_separate_api.Get_Activity_Seq(t.wo_no)) activity_no --5 + , transaction_type AS Transaction_type --6 + , employee_name --7 + , CASE transaction_type + WHEN 'Work Task Inventory' THEN decode(transaction_type,'Work Task Inventory',s.line_description,NULL) + WHEN 'Expenses' THEN s.line_description + ELSE ifsapp.job_transaction_parameter_api.get_parameter_value(transaction_type_ => 'Work Task' + , transaction_id_ => transaction_id + , parameter_no_ => 1) + END description --8 + , round(quantity,16) quantity --9 + , decode(transaction_type, 'Work Task Inventory', round(t.cost_amount,16),NULL) total_internal_price --10 + , time_type_id AS time_type --11 + , round((SELECT DECODE(QUANTITY,0,0,(Leg_Jt_Task_Trans_Util_API.Get_Sales_Amount(t.transaction_id, t.company, t.transaction_date, t.resource_group_seq, t.task_seq))/QUANTITY) --12 + + FROM JT_TASK_TRANSACTION_CFV + WHERE TRANSACTION_ID = t.TRANSACTION_ID),16) price --10 custom field + , round((Leg_Jt_Task_Trans_Util_API.Get_Sales_Amount(t.transaction_id, t.company, t.transaction_date, t.resource_group_seq, t.task_seq)),2) calc_amount --11 custom field dependent + , 'Work Task '||t.task_seq SOURCE--development qc + + , NULL Purchase_order_no + ,t.task_seq AS work_task_no + ,JT_TASK_API.Get_Wo_No(t.task_seq) AS work_order_no + ,t.transaction_id + + FROM ifsapp.jt_task_transaction_uiv_cfv t + left join ifsapp.jt_task_cost_line_uiv cl + ON t.transaction_id = cl.task_transaction_id + left join ifsapp.jt_task_sales_line s + ON cl.sales_line_seq = s.sales_line_seq + WHERE Work_Order_Api.Get_Project_No(Jt_Task_Api.Get_Wo_No(t.task_seq)) = ProjectId_ + AND (ifsapp.project_invoice_api.get_invoice_no(t.company, cf$_project_invoice) IN (ProjectInvoice_) OR ' All' IN (ProjectInvoice_)) + AND (time_type_id IN ('ST','DT','OT','TH' ) OR transaction_type IN ('Personnel' , 'Time')) + UNION ALL + + SELECT p.account_date AS dateN--0 + , substr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), 1, instr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), '-') - 2) supplier --1 custom field + , ifsapp.supplier_api.Get_Vendor_Name(substr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), 1, instr((CASE WHEN SUPP_IDENTITY IS NOT NULL THEN SUPP_IDENTITY || ' - ' || supplier_info_api.Get_Name(SUPP_IDENTITY) ELSE NULL END), '-') - 2)) supplier_name + , SUPP_INVOICE_NO AS supp_inv_no -- 1B custom field + , invoice_comments --2 + , activity_no + , report_cost_type AS Transaction_type--3 + , ifsapp.company_pers_api.get_name(company_id,emp_no) employee_name --4 + , CASE report_cost_type + WHEN 'Time' THEN ifsapp.job_transaction_parameter_api.get_parameter_value(transaction_type_ => 'Project' + , transaction_id_ => project_transaction_seq + , parameter_no_ => 1) + ELSE decode(report_cost_code,'MAT',internal_comments -- BQA-9821 invoice_comments + ,'MAT_INV',internal_comments -- BQA-9821 invoice_comments + ,'RENT_INV', internal_comments + ,'SUB_INV', internal_comments + ,'EQU_INV', internal_comments + ,invoice_comments) + END description --5 & 6 + , round(sales_quantity,16) AS quantity --7 + , decode(report_cost_code,'MAT',round(total_internal_price,16) -- BQA-9821 suppress for labor + ,'MAT_INV',round(total_internal_price ,16) + ,NULL) total_internal_price --8 + , report_cost_code AS time_type --9 + , round(sales_price,16) AS price --10 + , round(sales_quantity * sales_price,2) calc_amount --11 + , 'Project '||project_id AS SOURCE--development qc + ,NULL Purchase_order_no ,NULL AS work_task_no , + NULL AS work_order_no ,to_number(NULL)transaction_id + FROM ifsapp.project_transaction_cfv p + WHERE cf$_link_to_work_trans_db = 'FALSE' -- filter out transferred summarized work task records + AND project_id = ProjectId_ + AND (ifsapp.project_invoice_api.get_invoice_no(company_id, invoice_id) IN (ProjectInvoice_) OR ' All' IN (ProjectInvoice_)) + AND (report_cost_code IN ('ST','DT','OT','TH' ) OR report_cost_type IN ('Personnel' , 'Time')) + + ORDER BY dateN; + + + CURSOR get_grand_total(ProjectId_ VARCHAR2 ,ProjectInvoice_ VARCHAR2) IS + SELECT gross_amount + FROM ifsapp.project_invoice + WHERE invoice_id = ProjectInvoice_ + AND project_id = ProjectId_ ; + + CURSOR get_PO_number_labour_personnel(transaction_id_ NUMBER )IS + SELECT a.source_ref1 + FROM RECEIPT_INFO a + WHERE a.source_ref_type = 'Purchase Order' + AND receipt_sequence = + (SELECT b.receipt_seq + FROM JT_TASK_COST_LINE_UIV b + WHERE b.task_transaction_id = transaction_id_) ; + +BEGIN + General_SYS.Init_Method(lu_name_, 'C_INTERNAL_BILLING_SUPPORT_RPI', 'Execute_Report'); + result_key$_ := Client_SYS.Attr_Value_To_Number(Client_SYS.Get_Item_Value('RESULT_KEY', report_attr_)); + binds$_.project_id := Client_SYS.Get_Item_Value('PROJECT_ID', parameter_attr_); + binds$_.project_invoice := Client_SYS.Get_Item_Value('PROJECT_INVOICE', parameter_attr_); + binds$_.supplier := Client_SYS.Get_Item_Value('SUPPLIER', parameter_attr_); + + Xml_Record_Writer_SYS.Create_Report_Header(xml$_, 'C_INTERNAL_BILLING_SUPPORT_REP', 'C Internal Billing Support'); + + has_header_detail_ := FALSE; + par_header_detail_ := binds$_; + Xml_Record_Writer_SYS.Start_Element(xml$_, 'HEADER_DETAILS'); + OPEN get_header_detail; + LOOP + FETCH get_header_detail INTO rec_header_detail_; + has_header_detail_ := get_header_detail%FOUND OR get_header_detail%ROWCOUNT > 0; + EXIT WHEN get_header_detail%NOTFOUND; + Xml_Record_Writer_SYS.Start_Element(xml$_, 'HEADER_DETAIL'); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'RUNBY', fnd_session_api.Get_Fnd_User()); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'REPORTDATE', sysdate); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'PROJECTID_H',binds$_.project_id ); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'INVOICENO_H',binds$_.project_invoice); + + OPEN get_grand_total(binds$_.project_id, binds$_.project_invoice); + FETCH get_grand_total INTO grand_total_; + CLOSE get_grand_total; + Xml_Record_Writer_SYS.Add_Element(xml$_, 'GRAND_TOTAL',grand_total_); + + + has_labor_details_ := FALSE; + par_labor_details_ := binds$_; + Xml_Record_Writer_SYS.Start_Element(xml$_, 'LABOR_DETAILSES'); + + + FOR recL_ IN get_labor_detail(binds$_.project_id, binds$_.project_invoice) LOOP + + Xml_Record_Writer_SYS.Start_Element(xml$_, 'LABOR_DETAILS'); + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TRANSACTIONDATEL', recL_.dateN); + IF (binds$_.supplier = 'Supplier Name') THEN + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'SUPPLIERNAMEL', recL_.supplier_name); + ELSIF(binds$_.supplier = 'Supplier Id')THEN + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'SUPPLIERNAMEL', recL_.supplier); + END IF ; + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'INVOICENOL', recL_.supp_inv_no); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TYPEWOL', recL_.Transaction_type); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'ACTIVITYL', recL_.activity_no); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'EMPLOYEEL', recL_.employee_name); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'DESCRIPTIONL', recL_.description); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'QUANTITYL', recL_.quantity); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'MATERIALCOSTTAXL', recL_.total_internal_price); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TIMETYPEL', recL_.time_type); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'PRICEL', recL_.price); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'EXTENSIONL', recL_.calc_amount); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TEST_TRANSACTION_ID', recL_.transaction_id); + + IF (recL_.Transaction_type = 'Personnel') THEN + OPEN get_PO_number_labour_personnel(recL_.transaction_id ); + FETCH get_PO_number_labour_personnel INTO recL_.Purchase_order_no; + CLOSE get_PO_number_labour_personnel; + ELse + recL_.Purchase_order_no := NULL ; + + end IF ; + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'PURCHASE_ORDERL', recL_.Purchase_order_no); + + IF (recL_.Transaction_type != 'Personnel') THEN + Xml_Record_Writer_SYS.Add_Element(xml$_, 'WORK_TASKL', '' ); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'WORK_ORDERL', '' ); + ELSIF(recL_.Transaction_type = 'Time') THEN + Xml_Record_Writer_SYS.Add_Element(xml$_, 'WORK_TASKL', recL_.work_task_no ); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'WORK_ORDERL', recL_.work_order_no ); + + END IF ; + + sum_labour_ := NVL(recL_.calc_amount,0) + sum_labour_; + + Xml_Record_Writer_SYS.End_Element(xml$_, 'LABOR_DETAILS'); + Add_Result_Row___(result_key$_, + binds$_ => binds$_, + rec_header_detail_ => rec_header_detail_, + rec_labor_details_ => rec_labor_details_, + row_no$_ => row_no$_); + END LOOP; + Xml_Record_Writer_SYS.Add_Element(xml$_, 'LABOUR_TOTAL', sum_labour_); + + + Xml_Record_Writer_SYS.End_Element(xml$_, 'LABOR_DETAILSES'); + binds$_ := par_labor_details_; + + has_line_detail_ := FALSE; + par_line_detail_ := binds$_; + Xml_Record_Writer_SYS.Start_Element(xml$_, 'LINE_DETAILS'); + + + FOR rec_ IN get_projectWOtransactions(binds$_.project_id, binds$_.project_invoice)LOOP + + Xml_Record_Writer_SYS.Start_Element(xml$_, 'LINE_DETAIL'); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TRANSACTIONDATE', rec_.dateN); + IF (binds$_.supplier = 'Supplier Name') THEN + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'SUPPLIERNAME', rec_.supplier_name); + ELSIF(binds$_.supplier = 'Supplier Id')THEN + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'SUPPLIERNAME', rec_.supplier); + END IF ; + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'INVOICENO', rec_.supp_inv_no); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TYPEWO', rec_.transaction_type); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'ACTIVITY', rec_.activity_no); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'EMPLOYEE', rec_.employee_name); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'DESCRIPTION', rec_.descripion); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'QUANTITY', rec_.quantity); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'MATERIALCOSTTAX', rec_.total_cost); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TIMETYPE', rec_.time_type); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'PRICE', rec_.price); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'EXTENSION', rec_.extension); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'TEST_TRANSACTION_ID', rec_.transaction_id); + + + IF (rec_.time_type IS NULL )THEN -- WO + + OPEN get_PO_number_labour_personnel(rec_.transaction_id ); + FETCH get_PO_number_labour_personnel INTO rec_.Purchase_order_no; + CLOSE get_PO_number_labour_personnel; + + ELSE + OPEN get_po_material(binds$_.project_id ,binds$_.project_invoice ,rec_.quantity,rec_.dateN ); + FETCH get_po_material INTO rec_.Purchase_order_no ; + CLOSE get_po_material; + + + END IF ; + + Xml_Record_Writer_SYS.Add_Element(xml$_, 'PURCHASE_ORDER', rec_.Purchase_order_no); + + IF (rec_.time_type IS NULL )THEN -- WO + Xml_Record_Writer_SYS.Add_Element(xml$_, 'WORK_TASK', rec_.work_task_no); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'WORK_ORDER', rec_.work_order_no); + + ELSE + Xml_Record_Writer_SYS.Add_Element(xml$_, 'WORK_TASK', ' ' ); + Xml_Record_Writer_SYS.Add_Element(xml$_, 'WORK_ORDER', ' '); + END IF ; + + sum_material_ := sum_material_ + nvl(rec_.extension,0) ; + + + Xml_Record_Writer_SYS.End_Element(xml$_, 'LINE_DETAIL'); + + + Add_Result_Row___(result_key$_, + binds$_ => binds$_, + rec_header_detail_ => rec_header_detail_, + rec_line_detail_ => rec_line_detail_, + row_no$_ => row_no$_); + END LOOP; + Xml_Record_Writer_SYS.Add_Element(xml$_, 'MATERIAL_TOTAL', sum_material_); + Xml_Record_Writer_SYS.End_Element(xml$_, 'LINE_DETAILS'); + binds$_ := par_line_detail_; + IF NOT has_labor_details_ AND NOT has_line_detail_ THEN + Add_Result_Row___(result_key$_, + binds$_ => binds$_, + rec_header_detail_ => rec_header_detail_, + row_no$_ => row_no$_); + END IF; + + Xml_Record_Writer_SYS.End_Element(xml$_, 'HEADER_DETAIL'); + END LOOP; + CLOSE get_header_detail; + Xml_Record_Writer_SYS.End_Element(xml$_, 'HEADER_DETAILS'); + binds$_ := par_header_detail_; + IF NOT has_header_detail_ THEN + Add_Result_Row___(result_key$_, + binds$_ => binds$_, + row_no$_ => row_no$_); + END IF; + + Xml_Record_Writer_SYS.End_Element(xml$_, 'C_INTERNAL_BILLING_SUPPORT_REP'); + Report_SYS.Finish_Xml_Report('C_INTERNAL_BILLING_SUPPORT_REP', result_key$_, xml$_); +EXCEPTION + WHEN OTHERS THEN + IF get_header_detail%ISOPEN THEN + CLOSE get_header_detail; + END IF; + IF get_line_detail%ISOPEN THEN + CLOSE get_line_detail; + END IF; + IF get_labor_details%ISOPEN THEN + CLOSE get_labor_details; + END IF; + RAISE; +END Execute_Report; + + +PROCEDURE Default_Supplier ( + supplier_ OUT VARCHAR2 ) +IS +BEGIN + General_SYS.Init_Method( lu_name_, 'C_INTERNAL_BILLING_SUPPORT_RPI', 'Default_Supplier'); + supplier_ := Supplier_Details_N_API.Decode('SUPPLIER_ID'); +END Default_Supplier; + +----------------------------------------------------------------------------- +-------------------- FOUNDATION1 METHODS ------------------------------------ +----------------------------------------------------------------------------- +-- Test +-- Invokes the report method for testing purposes. +-- Init +-- Dummy procedure that can be called at database startup to ensure that +-- this package is loaded into memory for performance reasons only. +----------------------------------------------------------------------------- + +FUNCTION Test ( + project_id_ IN VARCHAR2, + project_invoice_ IN VARCHAR2, + supplier_ IN VARCHAR2) +RETURN NUMBER +IS + result_key_ NUMBER; + report_attr_ VARCHAR2(200); + parameter_attr_ VARCHAR2(32000); +BEGIN + General_SYS.Init_Method(lu_name_, 'C_INTERNAL_BILLING_SUPPORT_RPI', 'Test'); + Report_SYS.Get_Result_Key__(result_key_); + Client_SYS.Add_To_Attr('RESULT_KEY', result_key_, report_attr_); + IF (project_id_ IS NOT NULL) THEN + Client_SYS.Add_To_Attr('PROJECT_ID', project_id_, parameter_attr_); + END IF; + IF (project_invoice_ IS NOT NULL) THEN + Client_SYS.Add_To_Attr('PROJECT_INVOICE', project_invoice_, parameter_attr_); + END IF; + IF (supplier_ IS NOT NULL) THEN + Client_SYS.Add_To_Attr('SUPPLIER', supplier_, parameter_attr_); + END IF; + Execute_Report(report_attr_, parameter_attr_); + RETURN result_key_; +END Test; + + +PROCEDURE Init +IS +BEGIN + NULL; +END Init; + +END C_INTERNAL_BILLING_SUPPORT_RPI; +/ + +BEGIN + IF (Security_Sys.Is_Pres_Object_Available('repC_INTERNAL_BILLING_SUPPORT_REP')) THEN + BEGIN + Security_Sys.New_Pres_Object('repC_INTERNAL_BILLING_SUPPORT_REP','CMOD','REP', 'Report - C_INTERNAL_BILLING_SUPPORT','Manual'); + Security_Sys.New_Pres_Object_Sec('repC_INTERNAL_BILLING_SUPPORT_REP','C_INTERNAL_BILLING_SUPPORT_REP','VIEW','4','Manual'); + Security_Sys.New_Pres_Object_Sec('repC_INTERNAL_BILLING_SUPPORT_REP','C_INTERNAL_BILLING_SUPPORT_RPI.Internal_Billing_Report','METHOD','2','Manual'); + + + + END; + END IF; +END; +/ +SHOW ERROR \ No newline at end of file diff --git a/prjrep/model/prjrep/ProjectInvoice.report b/prjrep/model/prjrep/ProjectInvoice.report new file mode 100644 index 0000000..d11af12 --- /dev/null +++ b/prjrep/model/prjrep/ProjectInvoice.report @@ -0,0 +1,2726 @@ + + + + + ProjectInvoiceRep + + + + + Main + REPORT_STRUCTURE + + + 2861d0d0-c8c0-11e0-3636-f94038a06f01 + REPORT + 0 + 0 + + + EntityName + ProjectInvoice + + + LUName + ProjectInvoiceRep + + + + + 634 + -54 + + + + + 147 + 95 + + + + + 28833b80-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + ProjectInvoiceHeader + + + + + 1120 + 30 + + + + + 216 + 1558 + + + + + 2885ac80-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + EuroDetail + + + + + 101 + 941 + + + + + 164 + 247 + + + + + 2885ac81-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + FeeCodeTotal + + + + + 305 + 941 + + + + + 167 + 209 + + + + + 2885ac82-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + InstallmentPlan + + + + + 512 + 941 + + + + + 169 + 418 + + + + + 2885ac83-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + InvoiceValue + + + + + 721 + 941 + + + + + 165 + 304 + + + + + 2885ac84-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + Project + + + + + 923 + 1236 + + + + + 218 + 152 + + + + + 2885ac85-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + SubProject + + + + + 945 + 1410 + + + + + 161 + 95 + + + + + 2885ac86-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + Activity + + + + + 957 + 1518 + + + + + 145 + 95 + + + + + 2885ac87-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + ProjectInvoiceDetail + + + + + 943 + 1631 + + + + + 179 + 247 + + + + + 2885ac88-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + TaxLine + + + + + 956 + 1908 + + + + + 150 + 171 + + + + + 2885ac89-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + ReportFooter + + + + + 1181 + 940 + + + + + 145 + 171 + + + + + 2885ac8a-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + TaxSummaryRow + + + + + 1366 + 941 + + + + + 170 + 209 + + + + + 2885ac8b-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + TransferredFalseDtl + + + + + 1576 + 941 + + + + + 179 + 152 + + + + + 2885ac8c-c8c0-11e0-3636-f94038a06f01 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + VatInvoiceTotal + + + + + 1795 + 941 + + + + + 167 + 247 + + + + + 3ae943a0-9a5c-11e1-190f-8675bf497393 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + DocumentFooter + + + + + 286 + 26 + + + + + 160 + 817 + + + + + 3f220850-a9d5-11e3-2fff-b9f9329d9d90 + REPORT_BLOCK + 0 + 0 + + + ReportBlockName + DocPhrase + + + + + 1398 + 689 + + + + + 164 + 57 + + + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 2885ac83-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + InvoiceValues + + + IsArray + true + + + BlockName + InvoiceValue + + + + + 1119 + 880 + + + 885 + 1037 + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 2885ac8a-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + TaxSummaryRows + + + IsArray + true + + + BlockName + TaxSummaryRow + + + + + 1335 + 921 + + + 1365 + 953 + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 2885ac8b-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + TransferredFalseDtls + + + IsArray + true + + + BlockName + TransferredFalseDtl + + + + + 1335 + 859 + + + 1575 + 973 + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 2885ac89-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + ReportFooters + + + IsArray + true + + + BlockName + ReportFooter + + + + + 1317 + 1587 + + + 1262 + 1110 + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 3ae943a0-9a5c-11e1-190f-8675bf497393 + 0 + + + ReportBlockEdgeName + DocumentFooters + + + IsArray + true + + + BlockName + DocumentFooter + + + + + 1119 + 761 + + + 445 + 468 + + + + + AGGREGATE + 2861d0d0-c8c0-11e0-3636-f94038a06f01 + 28833b80-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + ProjectInvoiceHeaders + + + IsArray + true + + + BlockName + ProjectInvoiceHeader + + + + + 736 + 40 + + + 1119 + 639 + + + + + AGGREGATE + 2885ac87-c8c0-11e0-3636-f94038a06f01 + 2885ac88-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + TaxLines + + + IsArray + true + + + BlockName + TaxLine + + + + + 1030 + 1877 + + + 1030 + 1907 + + + + + AGGREGATE + 2885ac84-c8c0-11e0-3636-f94038a06f01 + 2885ac85-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + SubProjects + + + IsArray + true + + + BlockName + SubProject + + + + + 1026 + 1387 + + + 1025 + 1409 + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 2885ac84-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + Projects + + + IsArray + true + + + BlockName + Project + + + + + 1119 + 1084 + + + 1060 + 1235 + + + + + -3 + 8 + + + + + AGGREGATE + 2885ac85-c8c0-11e0-3636-f94038a06f01 + 2885ac86-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + Activities + + + IsArray + true + + + BlockName + Activity + + + + + 1026 + 1504 + + + 1026 + 1517 + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 2885ac80-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + EuroDetails + + + IsArray + true + + + BlockName + EuroDetail + + + + + 1119 + 834 + + + 264 + 1043 + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 2885ac8c-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + VatInvoiceTotals + + + IsArray + true + + + BlockName + VatInvoiceTotal + + + + + 1335 + 850 + + + 1794 + 1030 + + + + + AGGREGATE + 2885ac86-c8c0-11e0-3636-f94038a06f01 + 2885ac87-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + ProjectInvoiceDetails + + + IsArray + true + + + BlockName + ProjectInvoiceDetail + + + + + 1029 + 1612 + + + 1029 + 1630 + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 2885ac82-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + InstallmentPlans + + + IsArray + true + + + BlockName + InstallmentPlan + + + + + 1119 + 866 + + + 680 + 1103 + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 2885ac81-c8c0-11e0-3636-f94038a06f01 + 0 + + + ReportBlockEdgeName + FeeCodeTotals + + + IsArray + true + + + BlockName + FeeCodeTotal + + + + + 1119 + 838 + + + 471 + 1021 + + + + + AGGREGATE + 28833b80-c8c0-11e0-3636-f94038a06f01 + 3f220850-a9d5-11e3-2fff-b9f9329d9d90 + 0 + + + ReportBlockEdgeName + DocPhrases + + + IsArray + true + + + BlockName + DocPhrase + + + + + 1335 + 769 + + + 1402 + 745 + + + + + + + + + 145 + /*HoiNeEd (START) BQA-1142,BQA-11122,BQA-11123,BQA-11611 (Assyst :12117,12009,12010,14617) */ + +
block ProjectInvoiceHeader
+
+ + 164 + /*HoiNeEd (FINISH) BQA-1142,BQA-11122,BQA-11123,BQA-11611 (Assyst :12117,12009,12010,14617) */ + +
block ProjectInvoiceHeader
+
+
+ ProjectInvoice + PRJREP + ProjectInvoiceRep + + + ProjectInvoiceHeader + SELECT + NULL del_address_one, + NULL del_address_two, + NULL del_address_three, + NULL del_address_four, + NULL del_address_five, + NULL del_address_seven, + NULL del_address_eight, + NULL del_address_nine, + NULL del_address_ten, + NULL del_country, + NULL del_customer_name, + to_date(NULL) invoice_date, + NULL invoice_no, + NULL company, + NULL series_id, + NULL order_no, + NULL our_reference, + NULL customer_no, + NULL customer_name, + NULL your_reference, + NULL billing_address_one, + NULL billing_address_two, + NULL billing_address_three, + NULL billing_address_four, + NULL billing_address_five, + NULL billing_address_seven, + NULL billing_address_eight, + NULL billing_address_nine, + NULL billing_address_ten, + NULL payment_terms, + to_date(NULL) due_date, + to_date(NULL) inv_period_start, + to_date(NULL) inv_period_end, + NULL customer_vat_no, + NULL reportfoot, + NULL country, + NULL ncf_reference, + NULL title_type, + NULL debit_invoice_ref, + NULL billing_address_six, + NULL del_address_six, + NULL invoice_text, + NULL prefix_a_title, + NULL prefix_b_title, + NULL prefix_c_title, + NULL prefix_a, + NULL prefix_b, + NULL prefix_c, + NULL serial_number, + NULL tax_exempt_cert_no, + NULL cert_jurisdiction, + NULL org_series_id, + NULL org_invoice_no, + NULL cust_group_tax_id_number, + NULL comp_group_tax_id_number, + NULL digital_signature, + NULL document_type, + NULL erp_certificate, + NULL Irn, + NULL QrData, + NULL QrCode, + NULL Atcud + FROM dual + + + DelAddressOne + TEXT + 2000 + + + DelAddressTwo + TEXT + 2000 + + + DelAddressThree + TEXT + 2000 + + + DelAddressFour + TEXT + 2000 + + + DelAddressFive + TEXT + 2000 + + + DelAddressSeven + TEXT + 2000 + + + DelAddressEight + TEXT + 2000 + + + DelAddressNine + TEXT + 2000 + + + DelAddressTen + TEXT + 2000 + + + DelCountry + TEXT + 2000 + + + DelCustomerName + TEXT + 2000 + + + InvoiceDate + TIMESTAMP + + + InvoiceNo + TEXT + 2000 + + + Company + TEXT + 2000 + + + SeriesId + TEXT + 2000 + + + OrderNo + TEXT + 2000 + + + OurReference + TEXT + 2000 + + + CustomerNo + TEXT + 2000 + + + CustomerName + TEXT + 40 + + + YourReference + TEXT + 2000 + + + BillingAddressOne + TEXT + 2000 + + + BillingAddressTwo + TEXT + 2000 + + + BillingAddressThree + TEXT + 2000 + + + BillingAddressFour + TEXT + 2000 + + + BillingAddressFive + TEXT + 2000 + + + BillingAddressSeven + TEXT + 2000 + + + BillingAddressEight + TEXT + 2000 + + + BillingAddressNine + TEXT + 2000 + + + BillingAddressTen + TEXT + 2000 + + + PaymentTerms + TEXT + 4000 + + + DueDate + TIMESTAMP + + + InvPeriodStart + TIMESTAMP + + + InvPeriodEnd + TIMESTAMP + + + CustomerVatNo + TEXT + 2000 + + + CustGroupTaxIdNumber + TEXT + 2000 + + + CompGroupTaxIdNumber + TEXT + 2000 + + + CustDomesticTaxIdNumber + TEXT + 2000 + + + CompDomesticTaxIdNumber + TEXT + 2000 + + + Reportfoot + TEXT + 2000 + + + Country + TEXT + 2000 + + + NcfReference + TEXT + 2000 + + + TitleType + TEXT + 200 + + + DebitInvoiceRef + TEXT + 2000 + + + BillingAddressSix + TEXT + 2000 + + + DelAddressSix + TEXT + 2000 + + + InvoiceText + TEXT + 2000 + + + PrintAddressOnLeft + NUMBER + + + DocumentFooter + TEXT + 5 + + + DocumentAddress + TEXT + 4000 + + + HeaderCorrectionReason + TEXT + 2000 + + + CompBranchId + TEXT + 20 + + + CompBranchDesc + TEXT + 200 + + + CustomerBranch + TEXT + 20 + + + ContractDescription + TEXT + 20 + + + CompAssociationNo + TEXT + 50 + + + CustAssociationNo + TEXT + 50 + + + VerballyAmount + TEXT + 5 + + + IsCorrectionInvoice + TEXT + 5 + + + PrefixATitle + TEXT + 50 + + + PrefixBTitle + TEXT + 50 + + + PrefixCTitle + TEXT + 50 + + + PrefixA + TEXT + 50 + + + PrefixB + TEXT + 50 + + + PrefixC + TEXT + 50 + + + SerialNumber + TEXT + 50 + + + TaxExemptCertNo + TEXT + 20 + + + CertJurisdiction + TEXT + 200 + + + PaymentReference + TEXT + 50 + + + SiteDesc + TEXT + 50 + + + CustomerTaxId + TEXT + 50 + + + DigitalSignature + TEXT + 7 + + + DocumentType + TEXT + 200 + + + + + -Processed by certificated program Num. + + + ErpCertificate + TEXT + 20 + + + Irn + TEXT + 100 + + + QrData + TEXT + 4000 + + + QrCode + TEXT + 1000 + + + Atcud + TEXT + 100 + + + ContractAmountNe + NUMBER + + + TotBillDate1Ne + NUMBER + + + TotPreBillDate1Ne + NUMBER + + + TotRetentionNe + NUMBER + + + HeaderAddresNe + TEXT + 20000 + + + PurchaseOrdNe + TEXT + 300 + + + ContractTypeNe + TEXT + 4000 + + + ContactNe + TEXT + 200 + + + PhoneNe + TEXT + 200 + + + BillToAddrNe + TEXT + 2000 + + + ShipToAddrNe + TEXT + 2000 + + + JobNe + TEXT + 500 + + + RtotBillDate2Ne + NUMBER + + + LessPreBilledNe + NUMBER + + + TotAmtDueNe + NUMBER + + + SalesTaxAmountNe + NUMBER + + + LessRetentionToDateNe + NUMBER + + + InvoiceTypeNe + TEXT + 50 + + + + + EuroDetails + 1 + EuroDetail + + + FeeCodeTotals + 1 + FeeCodeTotal + + + InstallmentPlans + 1 + InstallmentPlan + + + InvoiceValues + 1 + InvoiceValue + + + Projects + 1 + Project + + + ReportFooters + 1 + ReportFooter + + + TaxSummaryRows + 1 + TaxSummaryRow + + + TransferredFalseDtls + 1 + TransferredFalseDtl + + + VatInvoiceTotals + 1 + VatInvoiceTotal + + + DocumentFooters + 1 + DocumentFooter + + + DocPhrases + 1 + DocPhrase + + + + + EuroDetail + SELECT + NULL eur_percent_txt, + to_number(NULL) chk_euro_exist, + to_number(NULL) eur_net_amount, + to_number(NULL) eur_vat_amount, + to_number(NULL) eur_gross_amount, + NULL eur_exist, + to_number(NULL) vat_percentage, + NULL eurvat_currency, + to_number(NULL) vat_free_euro_amount, + to_number(NULL) block_no, + to_number(NULL) last_row +FROM dual + + + EurPercentTxt + TEXT + 2000 + + + ChkEuroExist + NUMBER + + + EurNetAmount + NUMBER + + + EurVatAmount + NUMBER + + + EurGrossAmount + NUMBER + + + EurExist + TEXT + 2000 + + + VatPercentage + NUMBER + + + EurvatCurrency + TEXT + 2000 + + + VatFreeEuroAmount + NUMBER + + + BlockNo + NUMBER + + + LastRow + NUMBER + + + + + FeeCodeTotal + SELECT + NULL vat_percent_txt, + to_number(NULL) chk_dom_tot, + NULL base_currency_txt, + to_number(NULL) currency_rate, + to_number(NULL) vat_percentage, + to_number(NULL) temp_tax_value, + to_number(NULL) check_dom, + to_number(NULL) tax_dom_amount, + to_number(NULL) block_no +FROM dual + + + VatPercentTxt + TEXT + 100 + + + ChkDomTot + NUMBER + + + BaseCurrencyTxt + TEXT + 2000 + + + CurrencyRate + NUMBER + + + VatPercentage + NUMBER + + + TempTaxValue + NUMBER + + + CheckDom + NUMBER + + + TaxDomAmount + NUMBER + + + BlockNo + NUMBER + + + + + InstallmentPlan + SELECT + to_number(NULL) installment_id, + NULL payment_method, + NULL bank_account, + NULL bank_account_text, + to_date(NULL) installment_due_date, + to_number(NULL) installment_net_amount, + to_number(NULL) amount_to_pay, + to_number(NULL) count, + to_number(NULL) disc_percentage, + to_number(NULL) disc_net_amt, + to_number(NULL) disc_vat_amt, + to_number(NULL) disc_gross_amt, + to_number(NULL) disc_amount_to_pay, + to_number(NULL) disc_count, + to_date(NULL) disc_date, + to_number(NULL) disc_tax_percentage, + to_number(NULL) disc_tax_net_amt, + NULL bic_swift_code, + NULL cig_code, + NULL cup_code +FROM dual + + + InstallmentId + NUMBER + + + PaymentMethod + TEXT + 60 + + + BankAccount + TEXT + 100 + + + BankAccountText + TEXT + 200 + + + InstallmentDueDate + DATE + + + InstallmentNetAmount + NUMBER + + + AmountToPay + NUMBER + + + Count + NUMBER + + + DiscPercentage + NUMBER + + + DiscNetAmt + NUMBER + + + DiscVatAmt + NUMBER + + + DiscGrossAmt + NUMBER + + + DiscAmountToPay + NUMBER + + + DiscCount + NUMBER + + + DiscDate + DATE + + + DiscTaxPercentage + NUMBER + + + DiscTaxNetAmt + NUMBER + + + BicSwiftCode + TEXT + 100 + + + CigCode + TEXT + 10 + + + CupCode + TEXT + 15 + + + + + InvoiceValue + SELECT + to_number(NULL) vat_exist, + to_number(NULL) net_amount, + to_number(NULL) gross_amount, + NULL vat_currency, + NULL currency_code, + to_number(NULL) currency_rounding, + NULL round_it, + to_number(NULL) gross_amount_not_rd, + to_number(NULL) fee_amount, + NULL fee_exist, + to_number(NULL) temp_tax_value, + to_number(NULL) chk_gross_amt, + to_number(NULL) block_no +FROM dual + + + VatExist + NUMBER + + + NetAmount + NUMBER + + + GrossAmount + NUMBER + + + VatCurrency + TEXT + 2000 + + + CurrencyCode + TEXT + 2000 + + + CurrencyRounding + NUMBER + + + RoundIt + TEXT + 2000 + + + GrossAmountNotRd + NUMBER + + + FeeAmount + NUMBER + + + FeeExist + TEXT + 2000 + + + TempTaxValue + NUMBER + + + ChkGrossAmt + NUMBER + + + BlockNo + NUMBER + + + BaseNetCurrAmount + NUMBER + + + + + Project + SELECT + NULL project_id, + NULL project_name, + NULL customer_id, + NULL customer_name_proj, + NULL print_referance_cust_ordering, + to_number(NULL) block_no +FROM dual + + + ProjectId + TEXT + 2000 + + + ProjectName + TEXT + 2000 + + + CustomerId + TEXT + 2000 + + + CustomerNameProj + TEXT + 2000 + + + PrintReferanceCustOrdering + TEXT + 2000 + + + BlockNo + NUMBER + + + + + SubProjects + 1 + SubProject + + + + + SubProject + SELECT + NULL sub_project_id, + NULL sub_project_name, + to_number(NULL) block_no +FROM dual + + + SubProjectId + TEXT + 2000 + + + SubProjectName + TEXT + 2000 + + + BlockNo + NUMBER + + + + + Activities + 1 + Activity + + + + + Activity + SELECT + to_number(NULL) activity_seq, + NULL activity_name, + to_number(NULL) block_no +FROM dual + + + ActivitySeq + NUMBER + + + ActivityName + TEXT + 2000 + + + BlockNo + NUMBER + + + + + ProjectInvoiceDetails + 1 + ProjectInvoiceDetail + + + + + ProjectInvoiceDetail + SELECT + to_number(NULL) invoice_qty, + to_number(NULL) sale_unit_price, + to_number(NULL) net_curr_amount, + NULL note, + to_number(NULL) block_no, + NULL tax_code, + NULL lang_list, + NULL value_list, + NULL invoice_text, + NULL service_statistics_no +FROM dual + + + InvoiceQty + NUMBER + + + SaleUnitPrice + NUMBER + + + NetCurrAmount + NUMBER + + + Note + TEXT + 4000 + + + BlockNo + NUMBER + + + TaxCode + TEXT + 2000 + + + LangList + TEXT + 2000 + + + ValueList + TEXT + 2000 + + + InvoiceText + TEXT + 2000 + + + CorrectionReason + TEXT + 2000 + + + ServiceStatisticsNo + TEXT + 15 + + + + + TaxLines + 1 + TaxLine + + + + + TaxLine + SELECT + to_number(NULL) check_value, + to_number(NULL) temp_tax_value, + NULL fee_code, + NULL fee_code_desc, + to_number(NULL) tax_curr_amount, + NULL included_txt, + to_number(NULL) block_no +FROM dual + + + CheckValue + NUMBER + + + TempTaxValue + NUMBER + + + FeeCode + TEXT + 2000 + + + FeeCodeDesc + TEXT + 2000 + + + TaxCurrAmount + NUMBER + + + IncludedTxt + TEXT + 2000 + + + BlockNo + NUMBER + + + + + ReportFooter + SELECT + NULL report_footer_1, + NULL report_footer_2, + NULL report_footer_3, + NULL report_footer_4, + NULL report_footer_5, + NULL report_footer_6, + NULL report_footer_7 +FROM dual + + + + + REPORT_FOOTER_1 + REPORT_FOOTER_1 + + + ReportFooter1 + TEXT + 200 + + + + + REPORT_FOOTER_2 + REPORT_FOOTER_2 + + + ReportFooter2 + TEXT + 200 + + + + + REPORT_FOOTER_3 + REPORT_FOOTER_3 + + + ReportFooter3 + TEXT + 200 + + + + + REPORT_FOOTER_4 + REPORT_FOOTER_4 + + + ReportFooter4 + TEXT + 200 + + + + + REPORT_FOOTER_5 + REPORT_FOOTER_5 + + + ReportFooter5 + TEXT + 200 + + + + + REPORT_FOOTER_6 + REPORT_FOOTER_6 + + + ReportFooter6 + TEXT + 200 + + + + + REPORT_FOOTER_7 + REPORT_FOOTER_7 + + + ReportFooter7 + TEXT + 200 + + + + + TaxSummaryRow + SELECT + to_number(NULL) temp_tax_value, + NULL fee_code, + to_number(NULL) tax_curr_amount, + NULL tax_percentage_txt, + NULL fee_code_desc, + to_number(NULL) check_value, + to_number(NULL) chk_transfer_false, + to_number(NULL) chk_gross_amt, + to_number(NULL) block_no +FROM dual + + + TempTaxValue + NUMBER + + + FeeCode + TEXT + 2000 + + + TaxCurrAmount + NUMBER + + + TaxPercentageTxt + TEXT + 2000 + + + FeeCodeDesc + TEXT + 2000 + + + CheckValue + NUMBER + + + ChkTransferFalse + NUMBER + + + ChkGrossAmt + NUMBER + + + BlockNo + NUMBER + + + + + TransferredFalseDtl + SELECT + NULL fee_code, + to_number(NULL) tax_curr_amount, + NULL tax_percentage_txt, + to_number(NULL) chk_transfer_false, + NULL fee_code_desc, + to_number(NULL) block_no +FROM dual + + + FeeCode + TEXT + 2000 + + + TaxCurrAmount + NUMBER + + + TaxPercentageTxt + TEXT + 2000 + + + ChkTransferFalse + NUMBER + + + FeeCodeDesc + TEXT + 200 + + + BlockNo + NUMBER + + + + + VatInvoiceTotal + SELECT + NULL vat_percent_txt, + to_number(NULL) vat_amount, + to_number(NULL) vat_percentage, + to_number(NULL) temp_tax_value, + to_number(NULL) check_dom, + NULL fee_code_desc, + NULL tax_text, + NULL net_amount, + to_number(NULL) block_no, + to_number(NULL) tax_base_amount, + to_number(NULL) tax_base_dom_amount +FROM dual + + + VatPercentTxt + TEXT + 100 + + + VatAmount + NUMBER + + + VatPercentage + NUMBER + + + TempTaxValue + NUMBER + + + CheckDom + NUMBER + + + FeeCodeDesc + TEXT + 2000 + + + TaxText + TEXT + 2000 + + + NetAmount + TEXT + 200 + + + BlockNo + NUMBER + + + TaxBaseAmount + NUMBER + + + TaxBaseDomAmount + NUMBER + + + + + DocumentFooter + + + Text1 + TEXT + 200 + + + Text2 + TEXT + 200 + + + Text3 + TEXT + 200 + + + Text4 + TEXT + 200 + + + Text5 + TEXT + 200 + + + Text6 + TEXT + 200 + + + Text7 + TEXT + 200 + + + Text8 + TEXT + 200 + + + Text9 + TEXT + 200 + + + Text10 + TEXT + 200 + + + Text11 + TEXT + 200 + + + Text12 + TEXT + 200 + + + Text13 + TEXT + 200 + + + Text14 + TEXT + 200 + + + Text15 + TEXT + 200 + + + Text16 + TEXT + 200 + + + Text17 + TEXT + 200 + + + Text18 + TEXT + 200 + + + Text19 + TEXT + 200 + + + Text20 + TEXT + 200 + + + Text21 + TEXT + 200 + + + Text22 + TEXT + 200 + + + Text23 + TEXT + 200 + + + Text24 + TEXT + 200 + + + Text25 + TEXT + 200 + + + Text26 + TEXT + 200 + + + Text27 + TEXT + 200 + + + Text28 + TEXT + 200 + + + Text29 + TEXT + 200 + + + Text30 + TEXT + 200 + + + Text31 + TEXT + 200 + + + Text32 + TEXT + 200 + + + Text33 + TEXT + 200 + + + Text34 + TEXT + 200 + + + Text35 + TEXT + 200 + + + Text36 + TEXT + 200 + + + Text37 + TEXT + 200 + + + Text38 + TEXT + 200 + + + Text39 + TEXT + 200 + + + Text40 + TEXT + 200 + + + IsFreeText + TEXT + 5 + + + + + DocPhrase + + + DocumentPhrase + TEXT + 2000 + + + + + + + Company + TEXT + 20 + COMPANY_FINANCE + 1 + 0 + 1 + 0 + 0 + + + + + Invoice Series + + + SeriesId + TEXT + 20 + INVOICE_SERIES(COMPANY) + 1 + 0 + 1 + 0 + 0 + + + InvoiceNo + TEXT + 50 + PROJECT_INVOICE_LOV + 1 + 0 + 1 + 0 + 0 + + + + + Txperc + % + + + Txfooter4 + Bank Giro + + + Txcorinvoice + Correction Invoice + + + Txdeccorrect + Decrease Correction + + + Txtaxdesc + Description + + + Txfooter3 + Fax + + + Txgrossamount + Gross Amount + + + Txinccorrect + Increase Correction + + + Txinstplanhead + Installment Plans and Cash Discounts + + + Txfooter1 + Invoice Address + + + Txaftcorrect + Invoice After Correction + + + Txbefcorrect + Invoice Before Correction + + + Txinvtext + Invoice Text + + + Txnetamount + Net Amount + + + Txnetprice + Net Price + + + Txorderingcustomer + Ordering Customer : + + + Txinvoicetitle + PRELIMINARY INVOICE,PRELIMINARY CREDIT INVOICE,INVOICE,CREDIT INVOICE,INVOICE/TAX INVOICE,CREDIT INVOICE/TAX INVOICE,TAX INVOICE,PRELIMINARY CORRECTION INVOICE,CORRECTION INVOICE,CORRECTION INVOICE/TAX INVOICE + + + Txfooter2 + Phone + + + Txfooter5 + Postal Giro + + + Txrateused + Rate Used + + + Txsumpertaxcode + Sum per tax code + + + Txtaxamt + Tax Amount + + + Txtaxamountsin + Tax Amounts in + + + Txtaxcodetitle + Tax Code + + + Txtaxfree + Tax Free Amount in + + + Txtaxsummary + Tax Summary + + + Txtaxtotals + Tax Totals + + + Txtotal + Total + + + Txtotunitprice + Total Unit Price + + + Txvatamount + Vat Amount + + + Txfooter6 + Vat Number + + + Txfooter0 + Visit Address + + + Txfooter + Visit Address,Invoice Address,Phone,Fax,Bank Giro,Postal Giro,Vat Number,Page,Ordering Customer : + + + Txverbally + Verbally + + + + + ProjectInvoiceHeaders + 1 + ProjectInvoiceHeader + + +
diff --git a/prjrep/model/prjrep/ProjectInvoiceSSRS-Cust.utility b/prjrep/model/prjrep/ProjectInvoiceSSRS-Cust.utility new file mode 100644 index 0000000..6934433 --- /dev/null +++ b/prjrep/model/prjrep/ProjectInvoiceSSRS-Cust.utility @@ -0,0 +1,6 @@ + + + ProjectInvoiceSSRS + PRJREP + Cust + diff --git a/prjrep/server/layouts/ProjectInvoiceRep.rdl b/prjrep/server/layouts/ProjectInvoiceRep.rdl new file mode 100644 index 0000000..79fc253 --- /dev/null +++ b/prjrep/server/layouts/ProjectInvoiceRep.rdl @@ -0,0 +1,2090 @@ + + + + + portrait + Arial + 12pt + 27.94cm + 1 + 1cm + 1.5cm + 1cm + 1cm + PROJECT_INVOICE_REP + Portrait + ProjectInvoiceRep.xsd + 9.0 + 21cm + + + + 2.3cm + repeat-page-head + + + + 10pt + 0.626533cm + 8cm + 0cm + 1.4478cm + + 'DATE :' + + + + 10pt + 1cm + 9.5cm + left + 0cm + 4.5cm + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_DATE + + M/d/yyyy + + + + + 10pt + bold + 0.5cm + 15.5cm + left + 0.5cm + 3cm + + 'INVOICE NO.' + + + + 10pt + 0.5cm + 15.5cm + left + 1cm + 3cm + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_NO + + + + 10pt + bold + 0.5cm + 15.5cm + 0cm + 3cm + + 'Credit Invoice' + + tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_TYPE_NE = 'PRJINVCRE' + + + + + 2cm + 0cm + 0cm + 7cm + + + + 2cm + 0cm + 0cm + 7cm + + + + true + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROCESSING_INFO/tns:PROCESSING_ATTRIBUTES/tns:DEFAULT_LOGOTYPE + gif + 2cm + true + 0cm + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP_ARCHIVE_VARIABLES/tns:VARIABLE[tns:NAME='rhSysLogo']/tns:VALUE + PRJREP/PROJECT_INVOICE_REP/logo.png + 0cm + 3.555556cm + + + + + 2cm + 0cm + 0cm + 7cm + + + + <_default-logotype>true + <_explicit-path>true + true + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROCESSING_INFO/tns:PROCESSING_ATTRIBUTES/tns:DEFAULT_LOGOTYPE + gif + 2cm + true + 0cm + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP_ARCHIVE_VARIABLES/tns:VARIABLE[tns:NAME='rhSysLogo']/tns:VALUE + PRJREP/PROJECT_INVOICE_REP/IFSlogbw.gif + 0cm + 2.81749cm + + + + + + + + + 1.2cm + repeat-page-foot + + + + 0.94cm + 0cm + 0.06cm + 18.5cm + + + + 0cm + fixed + 0cm + + + + 18.5cm + + + + + + 0.423333cm + + + + 10pt + bold + 1.2 + 3pt + center + + 'CALIFORNIA STATE CONTRACTOR LIC. #1027316' + + + bold + 0cm + 2 + 0pt + + 'CALIFORNIA STATE CONTRACTOR LIC. #1027316' + + + + + + 2.328334cm + + + + 8pt + true + + + + + + + + +
+
+ + + 8pt + 2cm + 0cm + 0.5cm + 18.5cm + + 'Under the Mechanic's Lien Law (California Civil code Section 3082, et Seq.) any contractor, subcontractor, laborer, supplier, or other person who helps to improve your property but is not paid for his work has a right to enforce a claim against your property .' + +
+ + + + 0cm + fixed + 0cm + + + + 2.3125cm + + + + + 1.15625cm + + + + + 1.15625cm + + + + + 2.3125cm + + + + + 2.3125cm + + + + + 1.15625cm + + + + + 1.15625cm + + + + + 0.306927cm + + + + + 0.306927cm + + + + + -0cm + + + + + 1.647084cm + + + + + -0cm + + + + + 0.432605cm + + + + + 0.558282cm + + + + + 1.563698cm + + + + + 2.121979cm + + + + + + + 16 + +
+ + 0cm + fixed + 0pt + + + + 18.5cm + + + + + + 0.423164cm + + + + 10pt + + concat(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:HEADER_ADDRES_NE,tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PHONE_NE) + + + 0cm + 0pt + + concat(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:HEADER_ADDRES_NE,tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PHONE_NE) + + + + +
+ + + + + $new_line + + + 0cm + 0pt + + $new_line + + + + + + + + + + + + + + + + + 3 + + + + + 3 + + + + + 3 + + + + + + 0.423333cm + + + + 10pt + normal + 2 + 2 + + 'Purchase Order:' + + + 0cm + 0pt + + 'Purchase Order:' + + + + + 10pt + 2 + 3 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PURCHASE_ORD_NE + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PURCHASE_ORD_NE + + + MM/dd/yyyy + + + + + 1 + + + + + + + 1 + + + + + 10pt + 2 + 3 + + 'Contact:' + + + 0cm + 0pt + + 'Contact :' + + + + + 10pt + 2 + 5 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTACT_NE + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTACT_NE + + + + + + 0.509524cm + + + + 10pt + 2 + 2 + + 'Contract Type:' + + + 0cm + 0pt + + 'Contract Type :' + + + + + 10pt + 2 + 2 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE + + + + + + + 1 + + + + + + + 1 + + + + + 10pt + 2 + 3 + + 'Terms:' + + + 0cm + 0pt + + 'Terms :' + + + + + 10pt + 2 + 5 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PAYMENT_TERMS + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PAYMENT_TERMS + + + + + + 0.51cm + + + + 10pt + 2 + 2 + + 'Contract Amt:' + + tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE != 'T*M' + + + + 0cm + 0pt + + 'Contract Amt:' + + + + + 10pt + 2 + 2 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_AMOUNT_NE + + tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE != 'T*M' + + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_AMOUNT_NE + + + 3 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + , + #BASEONLOCALE# + + + + + + + 1 + + + + + + + 1 + + + + + 10pt + 2 + 4 + + 'Project ID:' + + + 0cm + 0pt + + 'Project ID:' + + + + + 10pt + 2 + 4 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PROJECTS/tns:PROJECT/tns:PROJECT_ID + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PROJECTS/tns:PROJECT/tns:PROJECT_ID + + + + + + 0.51pt + + + + + + + + + + + + + + + + + + 1 + + + + + 10pt + 2 + 4 + + 'Contract:' + + tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE != 'T*M' + + + + 0cm + 0pt + + 'Contract:' + + + + + 10pt + 2 + 4 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:OUR_REFERENCE + + tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE != 'T*M' + + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:OUR_REFERENCE + + + + + + + + 0cm + fixed + 0cm + + + + 1.465833cm + + + + + 3.159167cm + + + + + 2.3125cm + + + + + 2.3125cm + + + + + 2.3125cm + + + + + 1.15625cm + + + + + 1.15625cm + + + + + 2.3125cm + + + + + 1.15625cm + + + + + 1.15625cm + + + + + + 0.509524cm + + + $new_line + + + 0cm + 0pt + + $new_line + + + + + + + + + + + + + 2 + + + + + + + 2 + + + + + + 0.423333cm + + + + 10pt + + 'Bill To:' + + + 0cm + 0pt + + 'Bill To:' + + + + + 10pt + 3 + + vldtstr:strIFF(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PRINT_ADDRESS_ON_LEFT,'',/tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:DEL_CUSTOMER_NAME,/tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CUSTOMER_NAME) + + + 0cm + 0pt + + vldtstr:strIFF(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PRINT_ADDRESS_ON_LEFT,'',/tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:DEL_CUSTOMER_NAME,/tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CUSTOMER_NAME) + + + + + 10pt + 1 + center + + 'Ship To:' + + + 0cm + 0pt + + 'Ship To :' + + + + + 10pt + 5 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PROJECTS/tns:PROJECT/tns:PROJECT_NAME + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:PROJECTS/tns:PROJECT/tns:PROJECT_NAME + + + + + + 0.423333cm + + + + + + 10pt + 2 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:BILL_TO_ADDR_NE + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:BILL_TO_ADDR_NE + + + + + + + + + 10pt + 3 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:SHIP_TO_ADDR_NE + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:SHIP_TO_ADDR_NE + + + + + + + + +
+ + + 0cm + fixed + 0cm + + + + 1.409375cm + + + + + 0.052917cm + + + + + 1.621041cm + + + + + 3.083333cm + + + + + 6.166667cm + + + + + 6.166667cm + + + + + + 0.423333cm + + + + 1 + + + + + 1 + + + + + 10pt + 3 + 3 + + 'ATTN: Accounts Payable' + + + 0cm + 0pt + + 'ATTN :Accounts Payable' + + + + + + + + 0.423333cm + + + + 10pt + 3 + 2 + + 'Job:' + + + 0cm + 0pt + + 'Job :' + + + + + 10pt + 3 + 4 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:JOB_NE + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:JOB_NE + + + + +
+ + + 0cm + fixed + 0cm + + + + 2.3125cm + + + + + 2.3125cm + + + + + 2.3125cm + + + + + 2.3125cm + + + + + 1.15625cm + + + + + 1.15625cm + + + + + 2.3125cm + + + + + 2.3125cm + + + + + 2.3125cm + + + + + + 0.509524cm + + + + solid + + $new_line + + + 0cm + 0pt + + $new_line + + + + + solid + + + + + solid + + + + + solid + + + + + solid + + + + + solid + + + + + solid + + + + + solid + + + + + solid + + + + + + tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'T*M' + + + + + + + + 10pt + 2.5 + 2 + + 'TOTAL DUE TO DATE ' + + + 0cm + 0pt + + 'TOTAL DUE TO DATE ' + + + + + 2 + + + + + 10pt + 2.5 + 2 + right + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:TOT_BILL_DATE1_NE,0) + + + 0cm + 0pt + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:TOT_BILL_DATE1_NE,0) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + + 0.423333cm + + + tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'T*M' + + + + + + + + 10pt + 2.5 + 4 + + 'LESS PREVIOUSLY BILLED' + + + 0cm + 0pt + + 'LESS PREVIOUSLY BILLED' + + + + + 10pt + 2.5 + 2 + right + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:TOT_PRE_BILL_DATE1_NE,0) + + + 0cm + 0pt + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:TOT_PRE_BILL_DATE1_NE,0) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + + 0.423333cm + + + (tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'T*M' ) + + + + + + + + 10pt + 2.5 + 4 + + 'TOTAL AMOUNT DUE ' + + + 0cm + 0pt + + 'TOTAL AMOUNT DUE :' + + + + + 10pt + 2.5 + 2 + right + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:NET_AMOUNT + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:NET_AMOUNT + + + -1 + -1 + 2 + 2 + (1.1) + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + + 0.423333cm + + + (tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'T*M' ) and ((vldtmath:nvl((tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:GROSS_AMOUNT) - (tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:NET_AMOUNT ),0)) != 0) + + + + + + + + 10pt + 2.5 + 4 + + 'SALES TAX AMOUNT' + + + 0cm + 0pt + + 'SALES TAX AMOUNT' + + + + + 10pt + 2.5 + 2 + right + + vldtmath:nvl((tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:GROSS_AMOUNT) - (tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:NET_AMOUNT ),0) + + + 0cm + 0pt + + vldtmath:nvl((tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:GROSS_AMOUNT) - (tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:NET_AMOUNT ),0) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + + tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE != 'T*M' + + + + + + + + 10pt + 2.5 + 4 + + 'TOTAL DUE TO DATE ' + + + 0cm + 0pt + + 'TOTAL DUE TO DATE ' + + + + + 10pt + 2.5 + 2 + right + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:RTOT_BILL_DATE2_NE,0) + + + 0cm + 0pt + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:RTOT_BILL_DATE2_NE,0) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + + 0.423333cm + + + tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'CONTRET' or +tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'NTERET' or +tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'T*MCONTRET' + + + + + + + + 10pt + 2.5 + 4 + + 'LESS RETENTION TO DATE' + + + 0cm + 0pt + + 'LESS RETENTION TO DATE' + + + + + 10pt + 2.5 + 2 + right + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:LESS_RETENTION_TO_DATE_NE,0) + + + 0cm + 0pt + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:LESS_RETENTION_TO_DATE_NE,0) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + + 0.423333cm + + + tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE != 'T*M' + + + + + + + + 10pt + 2.5 + 4 + + 'LESS PREVIOUSLY BILLED' + + + 0cm + 0pt + + 'LESS PREVIOUSLY BILLED' + + + + + 10pt + 2.5 + 2 + right + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:LESS_PRE_BILLED_NE,0) + + + 0cm + 0pt + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:LESS_PRE_BILLED_NE,0) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + + 0.423333cm + + + (tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE != 'T*M' ) and ( tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_TYPE_NE != 'PRJINVCRE' ) + + + + + + + + 10pt + 2.5 + 4 + + 'TOTAL AMOUNT DUE ' + + + 0cm + 0pt + + 'TOTAL AMOUNT DUE :' + + + + + 10pt + 2.5 + 2 + right + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:TOT_AMT_DUE_NE,0) + + + 0cm + 0pt + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:TOT_AMT_DUE_NE,0) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + + + 0.423333cm + + + (tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE != 'T*M' ) and ( tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_TYPE_NE = 'PRJINVCRE' ) + + + + + + + + 10pt + 2.5 + 4 + + 'TOTAL AMOUNT DUE ' + + + 0cm + 0pt + + 'TOTAL AMOUNT DUE :' + + + + + 10pt + 2.5 + 2 + right + + vldtmath:abs(/tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:NET_AMOUNT ) * ( - 1) + + + 0cm + 0pt + + vldtmath:abs(/tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:NET_AMOUNT ) * ( - 1) + + + -1 + -1 + 2 + 2 + (1.1) + #BASEONLOCALE# + #BASEONLOCALE# + . + + + + + + + + (( vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:SALES_TAX_AMOUNT_NE,0) ) != 0) +and (tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE != 'T*M' ) + + + + + + + + 10pt + 2.5 + 4 + + 'SALES TAX AMOUNT' + + + 0cm + 0pt + + 'SALES TAX AMOUNT' + + + + + 10pt + 2.5 + 2 + right + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:SALES_TAX_AMOUNT_NE,0) + + + 0cm + 0pt + + vldtmath:nvl(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:SALES_TAX_AMOUNT_NE,0) + + + -1 + -1 + 2 + 2 + -1.1 + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + + +
+ + + 0cm + fixed + 0cm + + + + 1.541667cm + + + + + 2.467709cm + + + + + 0.245208cm + + + + + 0.370417cm + + + + + 1.541666cm + + + + + 6.166667cm + + + + + 6.166667cm + + + + + + 0.423333cm + + + + 7 + 1 + + + + + 10pt + 7 + 3 + + 'PLEASE NOTE:' + + + 0cm + 0pt + + 'PLEASE NOTE :' + + + + + 10pt + 7 + 3 + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_TEXT + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_TEXT + + + + +
+ + + 0cm + fixed + 0cm + + + + 2.3125cm + + + + + 2.3125cm + + + + + 2.3125cm + + + + + 2.3125cm + + + + + 2.3125cm + + + + + 0.289062cm + + + + + 0.289062cm + + + + + 0.578125cm + + + + + 0.940186cm + + + + + 2.528564cm + + + + + 0cm + + + + + 0.578125cm + + + + + 0.578125cm + + + + + 0cm + + + + + 0.578125cm + + + + + 0.289062cm + + + + + + 0.456607cm + + + + + + + + + + + + + + 11 + + + + + + 0.453319cm + + + + + + + + 10pt + 3 + + 'PLEASE PAY THIS AMOUNT' + + + 0cm + 0pt + + 'PLEASE PAY THIS AMOUNT' + + + + + 10pt + 3 + right + + + + + 1 + + + + + solid + solid + solid + 0.1pt + center + 10pt + 2 + right + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:GROSS_AMOUNT + + + 0cm + 0pt + + /tns:PROJECT_INVOICE_REP_REQUEST/tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:INVOICE_VALUES/tns:INVOICE_VALUE/tns:GROSS_AMOUNT + + + -1 + -1 + 2 + 2 + (1.1) + #BASEONLOCALE# + #BASEONLOCALE# + #BASEONLOCALE# + + + + + solid + solid + solid + 0.1pt + 1 + + + + + + + + + + + + + + + + + + + 3 + + + + + 11 + + '' + + + 0cm + 0pt + + '******************************************************************************' + + + + +
+ + + 0cm + fixed + 0cm + + + + 6.166667cm + + + + + 6.166667cm + + + + + 6.166667cm + + + + + + 0.423164cm + + + (tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'T*M' )or +(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'NTE') or +(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'NTERET') or +(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'TM-NTE') or +(tns:PROJECT_INVOICE_REP/tns:PROJECT_INVOICE_HEADERS/tns:PROJECT_INVOICE_HEADER/tns:CONTRACT_TYPE_NE = 'T*M-NTE') + + + + 10pt + 9 + 3 + center + + 'SEE FOLLOWING PAGES FOR DETAILS' + + + 0cm + 0pt + + 'SEE FOLLOWING PAGES FOR DETAILS' + + + + +
+ + + 0cm + fixed + 0cm + + + + 6.166667cm + + + + + 6.166667cm + + + + + 6.166667cm + + + + + + 0.423164cm + + + + 10pt + bold + 3 + center + + + + + + 0.846328cm + + + + 8pt + true + 3 + + + + +
+
+ + + + + repeating + + + + repeat-page-head + + + + + page-body + + + + + repeat-page-foot + + + +
\ No newline at end of file diff --git a/prjrep/server/report/schemas/ProjectInvoiceRep.XSD b/prjrep/server/report/schemas/ProjectInvoiceRep.XSD new file mode 100644 index 0000000..60fecbf --- /dev/null +++ b/prjrep/server/report/schemas/ProjectInvoiceRep.XSD @@ -0,0 +1,3696 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/prjrep/server/reports/samplexml/ProjectInvoiceRep.xml b/prjrep/server/reports/samplexml/ProjectInvoiceRep.xml new file mode 100644 index 0000000..7ac5a07 --- /dev/null +++ b/prjrep/server/reports/samplexml/ProjectInvoiceRep.xml @@ -0,0 +1,2539 @@ + + + + + 1 + 1 + 99 + en + + . + + + + + + + 2009-01-01T11:22:00 + + 12345 + + 2009-01-01T11:22:00 + Project Invoice + + + + + + Execution Time: + Ordered By: + Job Id: + Comment: + Order Time: + Report: + Printed By: + Current Time: + Current Date: + Page + -------- End of Report -------- + Rep. Params: + IFS Applications + Created: + none + Notes: + No data found + + + + + + + + + + + + + + + + + + + Company: + + + + Invoice Series: + + + + Invoice No: + + + + + + + % + Bank Giro + Correction Invoice + Decrease Correction + Description + Fax + Gross Amount + Increase Correction + Installment Plans and Cash Discounts + Invoice Address + Invoice After Correction + Invoice Before Correction + Invoice Text + Net Amount + Net Price + Ordering Customer : + PRELIMINARY INVOICE,PRELIMINARY CREDIT INVOICE,INVOICE,CREDIT INVOICE,INVOICE/TAX INVOICE,CREDIT INVOICE/TAX INVOICE,TAX INVOICE,PRELIMINARY CORRECTION INVOICE,CORRECTION INVOICE,CORRECTION INVOICE/TAX INVOICE + Phone + Postal Giro + Rate Used + Sum per tax code + Tax Amount + Tax Amounts in + Tax Code + Tax Free Amount in + Tax Summary + Tax Totals + Total + Total Unit Price + Vat Amount + Vat Number + Visit Address + Visit Address,Invoice Address,Phone,Fax,Bank Giro,Postal Giro,Vat Number,Page,Ordering Customer : + Verbally + + + + + Del Address One: + Del Address Two: + Del Address Three: + Del Address Four: + Del Address Five: + Del Address Seven: + Del Address Eight: + Del Address Nine: + Del Address Ten: + Del Country: + Del Customer Name: + Invoice Date: + Invoice No: + Company: + Series Id: + Order No: + Our Reference: + Customer No: + Customer Name: + Your Reference: + Billing Address One: + Billing Address Two: + Billing Address Three: + Billing Address Four: + Billing Address Five: + Billing Address Seven: + Billing Address Eight: + Billing Address Nine: + Billing Address Ten: + Payment Terms: + Due Date: + Inv Period Start: + Inv Period End: + Customer Vat No: + Cust Group Tax Id Number: + Comp Group Tax Id Number: + Cust Domestic Tax Id Number: + Comp Domestic Tax Id Number: + Reportfoot: + Country: + Ncf Reference: + Title Type: + Debit Invoice Ref: + Billing Address Six: + Del Address Six: + Invoice Text: + Print Address On Left: + Document Footer: + Document Address: + Header Correction Reason: + Comp Branch Id: + Comp Branch Desc: + Customer Branch: + Contract Description: + Comp Association No: + Cust Association No: + Verbally Amount: + Is Correction Invoice: + Prefix A Title: + Prefix B Title: + Prefix C Title: + Prefix A: + Prefix B: + Prefix C: + Serial Number: + Tax Exempt Cert No: + Cert Jurisdiction: + Payment Reference: + Site Desc: + Customer Tax Id: + Digital Signature: + Document Type: + -Processed by certificated program Num.: + Irn: + Qr Data: + Qr Code: + Atcud: + Contract Amount Ne: + Tot Bill Date1 Ne: + Tot Pre Bill Date1 Ne: + Tot Retention Ne: + Header Addres Ne: + Purchase Ord Ne: + Contract Type Ne: + Contact Ne: + Phone Ne: + Bill To Addr Ne: + Ship To Addr Ne: + Job Ne: + Rtot Bill Date2 Ne: + Less Pre Billed Ne: + Tot Amt Due Ne: + Sales Tax Amount Ne: + Less Retention To Date Ne: + Invoice Type Ne: + + + Eur Percent Txt: + Chk Euro Exist: + Eur Net Amount: + Eur Vat Amount: + Eur Gross Amount: + Eur Exist: + Vat Percentage: + Eurvat Currency: + Vat Free Euro Amount: + Block No: + Last Row: + + + + + Vat Percent Txt: + Chk Dom Tot: + Base Currency Txt: + Currency Rate: + Vat Percentage: + Temp Tax Value: + Check Dom: + Tax Dom Amount: + Block No: + + + + + Installment Id: + Payment Method: + Bank Account: + Bank Account Text: + Installment Due Date: + Installment Net Amount: + Amount To Pay: + Count: + Disc Percentage: + Disc Net Amt: + Disc Vat Amt: + Disc Gross Amt: + Disc Amount To Pay: + Disc Count: + Disc Date: + Disc Tax Percentage: + Disc Tax Net Amt: + Bic Swift Code: + Cig Code: + Cup Code: + + + + + Vat Exist: + Net Amount: + Gross Amount: + Vat Currency: + Currency Code: + Currency Rounding: + Round It: + Gross Amount Not Rd: + Fee Amount: + Fee Exist: + Temp Tax Value: + Chk Gross Amt: + Block No: + Base Net Curr Amount: + + + + + Project Id: + Project Name: + Customer Id: + Customer Name Proj: + Print Referance Cust Ordering: + Block No: + + + Sub Project Id: + Sub Project Name: + Block No: + + + Activity Seq: + Activity Name: + Block No: + + + Invoice Qty: + Sale Unit Price: + Net Curr Amount: + Note: + Block No: + Tax Code: + Lang List: + Value List: + Invoice Text: + Correction Reason: + Service Statistics No: + + + Check Value: + Temp Tax Value: + Fee Code: + Fee Code Desc: + Tax Curr Amount: + Included Txt: + Block No: + + + + + + + + + + + + + Report Footer1: + Report Footer2: + Report Footer3: + Report Footer4: + Report Footer5: + Report Footer6: + Report Footer7: + + + + + Temp Tax Value: + Fee Code: + Tax Curr Amount: + Tax Percentage Txt: + Fee Code Desc: + Check Value: + Chk Transfer False: + Chk Gross Amt: + Block No: + + + + + Fee Code: + Tax Curr Amount: + Tax Percentage Txt: + Chk Transfer False: + Fee Code Desc: + Block No: + + + + + Vat Percent Txt: + Vat Amount: + Vat Percentage: + Temp Tax Value: + Check Dom: + Fee Code Desc: + Tax Text: + Net Amount: + Block No: + Tax Base Amount: + Tax Base Dom Amount: + + + + + Text1: + Text2: + Text3: + Text4: + Text5: + Text6: + Text7: + Text8: + Text9: + Text10: + Text11: + Text12: + Text13: + Text14: + Text15: + Text16: + Text17: + Text18: + Text19: + Text20: + Text21: + Text22: + Text23: + Text24: + Text25: + Text26: + Text27: + Text28: + Text29: + Text30: + Text31: + Text32: + Text33: + Text34: + Text35: + Text36: + Text37: + Text38: + Text39: + Text40: + Is Free Text: + + + + + Document Phrase: + + + + + + + + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 2009-01-01T11:22:00 + 2009-01-01T11:22:00 + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + 123 + 123 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + 123 + 123 + 123 + ABC + + + ABC + 123 + 123 + 123 + 123 + ABC + 123 + ABC + 123 + 123 + 123 + + + ABC + 123 + 123 + 123 + 123 + ABC + 123 + ABC + 123 + 123 + 123 + + + + + ABC + 123 + ABC + 123 + 123 + 123 + 123 + 123 + 123 + + + ABC + 123 + ABC + 123 + 123 + 123 + 123 + 123 + 123 + + + + + 123 + ABC + ABC + ABC + 2009-01-01 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 2009-01-01 + 123 + 123 + ABC + ABC + ABC + + + 123 + ABC + ABC + ABC + 2009-01-01 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 2009-01-01 + 123 + 123 + ABC + ABC + ABC + + + + + 123 + 123 + 123 + ABC + ABC + 123 + ABC + 123 + 123 + ABC + 123 + 123 + 123 + 123 + + + 123 + 123 + 123 + ABC + ABC + 123 + ABC + 123 + 123 + ABC + 123 + 123 + 123 + 123 + + + + + ABC + ABC + ABC + ABC + ABC + 123 + + + ABC + ABC + 123 + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + + + ABC + ABC + 123 + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + + + + + ABC + ABC + ABC + ABC + ABC + 123 + + + ABC + ABC + 123 + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + + + ABC + ABC + 123 + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + + + + + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + + + 123 + ABC + 123 + ABC + ABC + 123 + 123 + 123 + 123 + + + 123 + ABC + 123 + ABC + ABC + 123 + 123 + 123 + 123 + + + + + ABC + 123 + ABC + 123 + ABC + 123 + + + ABC + 123 + ABC + 123 + ABC + 123 + + + + + ABC + 123 + 123 + 123 + 123 + ABC + ABC + ABC + 123 + 123 + 123 + + + ABC + 123 + 123 + 123 + 123 + ABC + ABC + ABC + 123 + 123 + 123 + + + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + + + ABC + + + ABC + + + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 2009-01-01T11:22:00 + 2009-01-01T11:22:00 + 2009-01-01T11:22:00 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + 123 + 123 + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + 123 + 123 + 123 + 123 + 123 + ABC + + + ABC + 123 + 123 + 123 + 123 + ABC + 123 + ABC + 123 + 123 + 123 + + + ABC + 123 + 123 + 123 + 123 + ABC + 123 + ABC + 123 + 123 + 123 + + + + + ABC + 123 + ABC + 123 + 123 + 123 + 123 + 123 + 123 + + + ABC + 123 + ABC + 123 + 123 + 123 + 123 + 123 + 123 + + + + + 123 + ABC + ABC + ABC + 2009-01-01 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 2009-01-01 + 123 + 123 + ABC + ABC + ABC + + + 123 + ABC + ABC + ABC + 2009-01-01 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 123 + 2009-01-01 + 123 + 123 + ABC + ABC + ABC + + + + + 123 + 123 + 123 + ABC + ABC + 123 + ABC + 123 + 123 + ABC + 123 + 123 + 123 + 123 + + + 123 + 123 + 123 + ABC + ABC + 123 + ABC + 123 + 123 + ABC + 123 + 123 + 123 + 123 + + + + + ABC + ABC + ABC + ABC + ABC + 123 + + + ABC + ABC + 123 + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + + + ABC + ABC + 123 + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + + + + + ABC + ABC + ABC + ABC + ABC + 123 + + + ABC + ABC + 123 + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + + + ABC + ABC + 123 + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + 123 + ABC + 123 + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + 123 + 123 + 123 + ABC + 123 + ABC + ABC + ABC + ABC + ABC + ABC + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + 123 + 123 + ABC + ABC + 123 + ABC + 123 + + + + + + + + + + + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + + + 123 + ABC + 123 + ABC + ABC + 123 + 123 + 123 + 123 + + + 123 + ABC + 123 + ABC + ABC + 123 + 123 + 123 + 123 + + + + + ABC + 123 + ABC + 123 + ABC + 123 + + + ABC + 123 + ABC + 123 + ABC + 123 + + + + + ABC + 123 + 123 + 123 + 123 + ABC + ABC + ABC + 123 + 123 + 123 + + + ABC + 123 + 123 + 123 + 123 + ABC + ABC + ABC + 123 + 123 + 123 + + + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + ABC + + + + + ABC + + + ABC + + + + + + \ No newline at end of file diff --git a/prjrep/server/reports/schemas/ProjectInvoiceRep.xsd b/prjrep/server/reports/schemas/ProjectInvoiceRep.xsd new file mode 100644 index 0000000..6f5904e --- /dev/null +++ b/prjrep/server/reports/schemas/ProjectInvoiceRep.xsd @@ -0,0 +1,4147 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/prjrep/source/prjrep/database/ProjectInvoice.rdf b/prjrep/source/prjrep/database/ProjectInvoice.rdf new file mode 100644 index 0000000..0034003 --- /dev/null +++ b/prjrep/source/prjrep/database/ProjectInvoice.rdf @@ -0,0 +1,7252 @@ + +-- ----------------------------------------------------------------------------- +--Legence project invoice +-- Logical unit: ProjectInvoice +-- +-- File: PRJINV.RDF +-- +-- Date Sign History +-- ------ ---- ----------------------------------------------------------- +-- 241007 HOINeEd BQA-1142,BQA-11122,BQA-11123,BQA-11611 (Assyst :12117,12009,12010,14617) +-- 220719 Prbulk Bug 164012, Changed REPORT_PRJINV method to get invoice date for Calculate_To_Euro +-- 220603 Chgulk gelr:es_einvoice, Bug 163826, Spanish TBAI reporting implementation +-- 211014 NWeelk Bug 160703, Added ATCUD XML tag to support ATCUD_CODE functionality. +-- 210519 JanaLk Bug 159441, Added 2 code blocks (for invoice and correction invoice) to print separate Tax line in accounting currency if currency invoice is other. +-- 210430 Chgulk gelr:qr_codes, bug 159158, Modified Build_Pt_Qr_Data_Rec___(). +-- 210415 HuBaUK Bug 158949, Added verbally_amount and is_correction_invoice. +-- 210108 Janslk PJZ-7178(LCS Bug 157421), Passed report id in places where +-- Add_Custom_Fields is called. +-- 201123 NWeelk Bug 156675, Added QR_CODE functionality. +-- 200602 PraWlk Bug 154216, Added the code Report_SYS.Refresh_RPV_View(). +-- 200124 CPriLK Bug 152072, Moved the get_transferred_tax_id cursor calls out of the invoice item loop. +-- 200505 Kagalk Bug 153795, GEZ-2202, Modified Report_Cost_API.Get_Service_Statistics_No method call to fetch a distinct record. +-- 191010 Chgulk gelr:pt_erp_certification, Bug 150500, Modified the invoice number format displayed in the report-- 190924 Nasrlk Bug 150132 (FIZ-4326), Added comp_association_no and cust_association_no to header. +-- 190817 Jawalk PJUXXW4-13726, Modified REPORT_PRJINV() method to display invoice total when there is no tax applied. +-- 190611 Jawalk Bug 148528, Modified REPORT_PRJINV() method to not to include LAST_ROW and EURO_DETAIL elements when Project Invoice is connected to a Project Activity with a non-taxable Report Code. +-- 190522 Jawalk Bug 147882, Added VAT_INVOICE_TOTALS code block. Removed one of the INVOICE_VALUES code block in order to avoid code duplication. +-- 181002 CPriLK Bug 144010, Modified REPORT_PRJINV function to display different vat codes with same tax percentage, correctly. +-- 180511 CPriLK Bug 141583, Added default value for the prel_series_ and modified code to tax invoice number in invoice note in the print dialog. +-- 171215 Nasrlk Bug 139303, Changed the length of certificate_jurisdiction. +-- 171205 NiEdLk SCUXX-907, Modified REPORT_PRJINV() to update the latest_result_key when a modified invoice is reprinted as an original. +-- 171128 Kagalk CRUISE-996, Added contract_description. +-- 171110 Kagalk CRUISE_598, Added columns comp_branch_id, comp_branch_desc, customer_branch. +-- 160105 HiFelk STRFI-20, Replaced Customer_info_API.Get_Default_Language_Code with Customer_info_API.Get_Default_Language_Db +-- 170208 kusplk FU-6095 Fetched the site_desc correctly. +-- 170120 Nuudlk FU-5791 Added Payment_Reference, Site_desc,customer_tax_id to Project Invoice RDF +-- 150409 Thsalk Bug 121979, Enabled custom field at PROJECTS level. +-- 141015 HasRlk PRHR-2043 removed " AND prel_update_allowed = 'TRUE' " from the "get_cur_amounts" cursor where condition ,introduced by 110771. +-- 141015 HasRlk PRHR-2043 modified "get_cur_amounts" cursor +-- 131001 Subalk Bug 112753, Modified REPORT_PRJINV to get the correct address information. +-- 130924 Piczpl Bug 109260, Modified REPORT_PRJINV function to print the report correctly in different languages.(mergge from App75) +-- 130827 Subalk Bug 111274, Modified REPORT_INVSPEC to add customer delivery address +-- 130724 Yabalk Bug 110771, Fetching records also considering series_id. +-- 130701 Krwipl TIBE-1418, Remove global variables +-- 130625 JuKoDE EDEL-2132, Modified IF stmt print_tax_base_currency_ db value to &METHOD() +-- 130520 Nueklk Bug 110163, Modified PROJECT_INVOICE_REP view to accept customer name completely. +-- 130227 SALIDE EDEL-2020, Changed the get_name functionality to fetch the address specific name instead of the name from customer info +-- 130127 Yabalk Bug 106680, Modified Conditional compilation to use single component package +-- 120903 Meallk Bug 103021, merged code from App75 - Enabled the presentation of vat amounts in accounting currency. +-- 120127 Pacipl SHR-816. Removing static connection from prjrep to invoic. +-- 120829 JuKoDE EDEL-1535, Added EXCEPTION CLOSE CURSOR cid_ in &METHOD() +-- 120518 Paralk EDEL-779, Added Document Address. +-- 120510 Sacalk EDEL-738, Added Document Footer +-- 120127 Pacipl SHR-816. Removing static connection from prjrep to invoic. +-- 111014 Thsalk SHR-54, Added field PRINT_ADDRESS_ON_LEFT. +-- 101126 Amgalk Bug 94338, Fetch the fee_code_desc_prt_ correctly. +-- 110817 Krwipl EASTTWO-7784, Patch 95610 merged. +-- 110709 Subalk Bug 97898, Modified order by clause of prjinv_headercursor in REPORT_PRJINV method. +-- 110725 Surwlk HRDEAGLE-551, Merged the correction 97639. +-- 110722 Surwlk HRDEAGLE-549, Merged the correction 97636. +-- 110514 Mohrlk EASTONE-19561, Printed the customer vat number by using data from Customer_Document_Tax_Info_tab. +-- 110330 Mohrlk DF-1097, Modified Vat Number Printing. +-- 100914 Amgalk Bug 92767, Customer Vat Number fetched from delivery address. +-- 100621 Thsalk Bug 76870, Added BIC/Swift Code to installment plan sections. +-- 100426 InGalk Bug 89957, Modified Statutory_Fee_API.Get_Description function to add the lang_code_ parameter +-- 091105 Thsalk Bug 86856, Modified PROJECT_INVOICE_REP and inserted 2 to INFO_SERVICES_RPT as the parent_row_no for installment plan records. +-- 090721 Thsalk Bug 84877, Corrected. +-- 090701 InGalk Bug 83316, Modified the length of fee_code_desc_prt_ and tax_text_ +-- 090513 KrPelk Bug 81660, Added the missing sections that insert data to INFO_SERVICES_RPT. +-- 090507 Hidilk Bug 82608, Fixed incorrect type if the in parameter of the cursor get_delivery_address. +-- 090421 Pwewlk Bug 81398, added ifs_assert_safe annotation. +-- 090417 Surwlk Bug 80347, Increased the length of Sub_Project_Name to 255 in view PROJECT_INVOICE_REP. +-- 090403 AmGalk Bug 79264, If fee type is NOTAX then set vat_percentage_ to empty string. +-- 090101 KrPeLK Bug 76869, Added Installment Plans section and included AccountNumber, PaymentMethod to the report. +-- 081217 Insalk Bug 77943, Added modifications to group the values according to the report code when print the invoice. +-- 080904 GihRlk Bug 75724, Modified the if conditions which ignore rounding items to ignore +-- 080904 tax rounding items also. +-- 080819 Deidlk Bug 75947, Added code to display the 6th line of the customer's Invoice and Delivery addresses. +-- 080623 Thsalk Bug 74414, Fixed problem when printing invoice comments. +-- 080430 Thsalk Bug 72973, Added code to fetch report code translations. +-- 080408 Amgalk Bug 72557, Limited Note lenght to 2000 characters. +-- 080326 Nueklk Bug 72069, added assert safe annotation. +-- 080325 Insalk Bug 71115, Modified the length of the note. +-- 080130 Thsalk Bug 69807, Added modifications for correction invoices. +-- 080102 Amgalk Bug 70039, Append invoice comments to notes when invoice created by invocing plan. +-- 071023 InGalk Bug 67789, Modified the length of fields in REC_INVOICE_LINES Record +-- 070405 AmGa Bug 64545, Fetch country codes and tax codes using customer language. +-- 060803 Paralk FIBR209 , increase the length of delivery_add_id_,delivery_address_ +-- 070207 GaKa Bug 62840, modified size of the note parameters to 255 as in project_invoice_item. +-- 060804 CHUSLK Bug 58882, Modified cursor chk_delivery_address_exist. +-- 050222 reanpl FITH351 Added Tax Invoice handling +-- 041213 NaJa IID HRHT354, Added 'CUSTOMER' as 2nd IN param for Currency_Type_Api.Get_Default_Type(). +-- 040707 AmGa Bug 115628, Removed Register calls for qrp's. +-- 040604 HaGa Bug 44975, Modified to select from the raw data view instead of the raw data table. +-- 040406 NaJa Bug 41629,Changed the totals section according to EU Council Directive 2001/115/EC. +-- 030120 GaKa Set Notes-field in Archive +-- 020905 RoLa Bug 32623, Made the 'Tax Summary'translatable. +-- 020904 RoLa Bug 30015, Made the 'Tax Summary','Sum per tax code','Tax Amounts in XXX' and 'Rate Used' translatable. +-- 020829 Jape Bug 32163, Company is added to the Where condition of the cursor print_ref_to_ord_cust. +-- 020710 RoLa Bug 31507, Changes were done to correct the Amount column and the Net Price +-- 020626 RoLa Bug 30430, A new cursor get_tax_id1 was added and its used in the tax summary section +-- 020622 RoLa Bug 30164, Part1, Condition was added to remove the additional line of 0.00 appearing +-- Part2c, Made the appropriate spacing changes. +-- 020619 RoLa Bug 30879, Changes made to reflect the changes in the serverside coding +-- 020611 NaJa Bug 29890, Added net_amount_ when Transferred is TRUE. +-- 020610 NaJa Bug 30010, Added the customer's delivery info to the Header of the report. +-- 020529 NaJa Bug 29931, Modifed curr_rate to remove the decimals. +-- 020524 NaJa Bug 29992, Modified the total section 'Total invoice amount...' +-- 020521 NaJa Bug 29880, changed the general Tax summary. +-- 020515 NaJa Bug 29931, layout changes to tax in local currency loop by changing +-- 020515 the base_currency_txt_. +-- 020323 NaJa 77256-Changes to the totals when using VAT. +-- 020319 NaJa 79678-Changed cursor get_transferred_tax_id to subtotal the +-- transferred taxes. +-- 020314 GaKa 76246-Changes to Calucation of note +-- 020222 NaJa Call 73303-Added Vat_percent_txt to display the Vat percentage. +-- 020215 NaJa Layout changes to totals. +-- 020203 NaJa Added seperate totals for fee codes based on the value for +-- TRANSFERRED in TAX_ITEM. +-- 020201 NaJa Added VAT in local currency(IID 10960) +-- 020121 NaJa Added total lines for tax. +-- 020116 NaJa IID 10018 -added NFC_REFERENCE. +-- 010801 RiRa Bug 16017 - Used Get_Description instead of Get_Desc_Cust_Lang +-- in REPORT_COST_DESC_API to get translated report code. +-- 010723 GaKa 22180 - added country (S41) to the report +-- 010620 RiRa Bug 22064. Added S39,S40 for page footers five and six. +-- 010522 AlSk Bug 15677 GENERAL_SYS.Init_Method +-- 010508 AlSk 21760 - Changes for grouping on printout. +-- 001109 GaKa changes to get sales tax prinout +-- 000905 SaSe Changes in item_id 10000 -> 100001 and 10001 -> 100001 +-- 000621 Ushan The new function on report_code_desc Get_Desc_Cust_Lang +-- is used to take the translated report code. +-- 000619 GaKa Bug 16502 Payment term not translated +-- 000503 Ushan added header cursor items to the detail cursor item. +-- 990812 UsLo Added cursor print_ref_to_ord_cust to select the paying +-- customers names to used in prjinv.qrp +-- 990811 UsLo Added columns(S36,S37) and comments(line 253,255) to use in +-- prjinv.qrp. +-- 990412 KiPe Add reportfoot to comply with new changes in the old version. +-- 990115 StLi Included code for bug 7846. Changed vat number on footline 1. +-- 981020 ChEr Bug 7524. Added customer_vat_no and foot-titles. Moved address +-- in qrp. +-- 981012 ErWe New condition for 'Preliminary' text(supp id 6132) +-- 980921 ErWe Wrong status when printing from IFS/Invoice (supp id 6132, 6162) +-- 980819 UlPe Version 1.2.0 - Report cost description is language dependent +-- - Layouts, print with or without structure +-- 980610 StLi Bug #5004 Header in Invoice Printout not translated correctly +-- 980306 StLi objstate -> invoice_objstate +-- 971216 StLi Changed variable credit_ to credit_invoice_ +-- 970826 ELRU Created. +----------------------------------------------------------------------------- + +DEFINE MODULE = PRJREP +DEFINE LU = ProjectInvoice +DEFINE PKG = PROJECT_INVOICE_RPI +DEFINE TABLE = INFO_SERVICES_RPT +DEFINE VIEW = PROJECT_INVOICE_REP +DEFINE METHOD = REPORT_PRJINV +DEFINE RAWVIEW = INFO_SERVICES_RPV + + + +----------------------------------------------------------------------------- +-- PACKAGE SPECIFICATION: +----------------------------------------------------------------------------- + +PROMPT Creating &PKG SPECIFICATION + +CREATE OR REPLACE PACKAGE &PKG AS + +module_ CONSTANT VARCHAR2(6) := '&MODULE'; +lu_name_ CONSTANT VARCHAR2(25) := '&LU'; + +PROCEDURE &METHOD ( + report_attr_ IN VARCHAR2, + parameter_attr_ IN VARCHAR2 ); + +END &PKG; +/ +SHOW ERROR + +----------------------------------------------------------------------------- +-- REPORTS +----------------------------------------------------------------------------- + +--Bug 154216, start +PROMPT Refreshing RPV VIEW + +BEGIN + Report_SYS.Refresh_RPV_View ('&RAWVIEW', '&TABLE'); +END; +/ +--Bug 154216, end + +CREATE OR REPLACE VIEW PROJECT_INVOICE_REP AS +SELECT H.RESULT_KEY RESULT_KEY, + H.ROW_NO ROW_NO, + H.PARENT_ROW_NO PARENT_ROW_NO, + DECODE(H.PARENT_ROW_NO, 1, H.D1) INVOICE_DATE, + DECODE(H.PARENT_ROW_NO, 1, substr(H.S1,1,instr(H.S1,'^',1,1)-1)) INVOICE_NO, + DECODE(H.PARENT_ROW_NO, 1,rtrim( substr( H.S1, instr(H.S1, '^', 1, 1) + 1 ), '^' )) DEBIT_INVOICE_REF, + DECODE(H.PARENT_ROW_NO, 1, H.S2) COMPANY, + DECODE(H.PARENT_ROW_NO, 1, H.S3) SERIES_ID, + H.S4 ORDER_NO, + H.S5 OUR_REFERENCE, + substr(H.S6,1,instr(H.S6,'^',1,1)-1) CUSTOMER_NO, + H.S7 CUSTOMER_NAME, + H.S8 YOUR_REFERENCE, + substr(H.S9,1,instr(H.S9,'^',1,1)-1) BILLING_ADDRESS_ONE, + substr(H.S10,1,instr(H.S10,'^',1,1)-1) BILLING_ADDRESS_TWO, + substr(H.S11,1,instr(H.S11,'^',1,1)-1) BILLING_ADDRESS_THREE, + substr(H.S12,1,instr(H.S12,'^',1,1)-1) BILLING_ADDRESS_FOUR, + substr(H.S13,1,instr(H.S13,'^',1,1)-1) BILLING_ADDRESS_FIVE, + substr(H.S52,1,instr(H.S52,'^',1,1)-1) BILLING_ADDRESS_SIX, + substr(H.S53,1,instr(H.S53,'^',1,1)-1) BILLING_ADDRESS_SEVEN, + substr(H.S54,1,instr(H.S54,'^',1,1)-1) BILLING_ADDRESS_EIGHT, + substr(H.S55,1,instr(H.S55,'^',1,1)-1) BILLING_ADDRESS_NINE, + DECODE(H.PARENT_ROW_NO, 1,Text_Field_Translation_API.Get_Text( H.S2, 'PAYMENTTERM', H.S14, + Language_SYS.Get_Print_Language)) PAYMENT_TERMS, + DECODE(H.PARENT_ROW_NO, 1, H.D2) DUE_DATE, + H.D3 INV_PERIOD_START, + H.D4 INV_PERIOD_END, + DECODE(H.PARENT_ROW_NO, 1, H.N1) ITEM_ID, + H.S15 PROJECT_ID, + H.S16 PROJECT_NAME, + H.S17 SUB_PROJECT_ID, + H.S18 SUB_PROJECT_NAME, + DECODE(H.PARENT_ROW_NO, 1,H.N2) ACTIVITY_SEQ, + H.S19 ACTIVITY_NAME, + decode(H.s22, + REPORT_COST_API.Get_Description (H.s2, H.s20,H.D1), + decode(REPORT_COST_DESC_API.Get_Description (H.s2, H.s20, + Iso_Language_API.decode(Language_SYS.Get_Print_Language)), + NULL, + H.S22, + REPORT_COST_DESC_API.Get_Description (H.s2, H.s20, + Iso_Language_API.decode(Language_SYS.Get_Print_Language))), + H.S22 ) NOTE, + DECODE(H.PARENT_ROW_NO, 1,H.N3) INVOICE_QTY, + DECODE(H.PARENT_ROW_NO, 1,H.N4) SALE_UNIT_PRICE, + DECODE(H.PARENT_ROW_NO, 1,H.N5) NET_CURR_AMOUNT, + DECODE(H.PARENT_ROW_NO, 1,H.N6) NET_AMOUNT, + DECODE(H.PARENT_ROW_NO, 1,H.N7) VAT_AMOUNT, + DECODE(H.PARENT_ROW_NO, 1,H.N8) GROSS_AMOUNT, + substr(Language_SYS.Translate_Constant('ProjectInvoice', H.S21, Language_SYS.Get_Print_Language), + 1, 100) TITLE, + H.S22 DEFAULT_NOTE, + H.S23 CUSTOMER_VAT_NO, + H.S24 PAGEFOOT_ONE, + H.S25 PAGEFOOT_TWO, + H.S26 PAGEFOOT_THREE, + H.S27 PAGEFOOT_FOUR, + H.S39 PAGEFOOT_FIVE, + H.S40 PAGEFOOT_SIX, + H.S28 VAT_NO, + DECODE(H.PARENT_ROW_NO, 1,H.N9) EUR_NET_AMOUNT, + DECODE(H.PARENT_ROW_NO, 1,H.N10) EUR_VAT_AMOUNT, + DECODE(H.PARENT_ROW_NO, 1,H.N11) EUR_GROSS_AMOUNT, + H.S29 EUR_EXIST, + DECODE(H.PARENT_ROW_NO, 1,H.N12) VAT_PERCENTAGE, + H.S30 VAT_CURRENCY, + H.S31 CURRENCY_CODE, + H.S32 EURVAT_CURRENCY, + H.N13 CURRENCY_ROUNDING, + H.S33 ROUND_IT, + H.N14 GROSS_AMOUNT_NOT_RD, + H.N15 FEE_AMOUNT, + H.S34 REPORTFOOT, + H.S35 FEE_EXIST, + H.N16 VAT_FREE_EURO_AMOUNT, + H.S36 CUSTOMER_ID, + H.S37 CUSTOMER_NAME_PROJ, + H.S38 PRINT_REFERANCE_CUST_ORDERING, + H.N17 SALES_TAX_VALUE, + H.N18 TEMP_TAX_VALUE, + substr(H.S41,1,instr(H.S41,'^',1,1)-1) COUNTRY, + H.S50 NCF_REFERENCE, + H.S42 FEE_CODE, + H.N19 TAX_CURR_AMOUNT, + H.S44 TAX_PERCENTAGE_TXT, + H.S43 FEE_CODE_DESC, + H.N20 CHECK_VALUE, + H.N21 CHECK_NOTE, + H.N22 CHECK_DOM, + H.N23 TAX_DOM_AMOUNT, + H.N24 TOTAL_CURR_AMT, + H.N25 CHK_TRANSFER_FALSE, + H.N26 CHK_GROSS_AMT, + H.S45 INCLUDED_TXT, + substr(Language_SYS.Translate_Constant('ProjectInvoice', H.S46, Language_SYS.Get_Print_Language), + 1, 100) VAT_PERCENT_TXT, + H.N27 CHK_DOM_TOT, + H.S47 BASE_CURRENCY_TXT, + H.S48 EUR_PERCENT_TXT, + H.N28 VAT_EXIST, + H.N29 CHK_EURO_EXIST, + rtrim( substr( H.S9, instr( H.S9, '^', 1, 1) + 1 ), '^' ) DEL_ADDRESS_ONE, + rtrim( substr( H.S10, instr( H.S10, '^', 1, 1) + 1 ), '^' ) DEL_ADDRESS_TWO, + rtrim( substr( H.S11, instr( H.S11, '^', 1, 1) + 1 ), '^' ) DEL_ADDRESS_THREE, + rtrim( substr( H.S12, instr( H.S12, '^', 1, 1) + 1 ), '^' ) DEL_ADDRESS_FOUR, + rtrim( substr( H.S13, instr( H.S13, '^', 1, 1) + 1 ), '^' ) DEL_ADDRESS_FIVE, + rtrim( substr( H.S41, instr( H.S41, '^', 1, 1) + 1 ), '^' ) DEL_COUNTRY, + rtrim( substr( H.S52, instr( H.S52, '^', 1, 1) + 1 ), '^' ) DEL_ADDRESS_SIX, + rtrim( substr( H.S53, instr( H.S53, '^', 1, 1) + 1 ), '^' ) DEL_ADDRESS_SEVEN, + rtrim( substr( H.S54, instr( H.S54, '^', 1, 1) + 1 ), '^' ) DEL_ADDRESS_EIGHT, + rtrim( substr( H.S55, instr( H.S55, '^', 1, 1) + 1 ), '^' ) DEL_ADDRESS_NINE, + rtrim( substr( H.S6, instr( H.S6, '^', 1, 1) + 1 ), '^' ) DEL_CUSTOMER_NAME, + H.N30 CURRENCY_RATE, + H.S49 TAX_TEXTS, + DECODE(H.PARENT_ROW_NO,2,D.N1) INSTALLMENT_ID, + DECODE(H.PARENT_ROW_NO,2,D.S1) PAYMENT_METHOD, + DECODE(H.PARENT_ROW_NO,2,D.S2) BANK_ACCOUNT, + DECODE(H.PARENT_ROW_NO,2,D.S3) BANK_ACCOUNT_TEXT, + DECODE(H.PARENT_ROW_NO,2,D.S4) BIC_SWIFT_CODE, + DECODE(H.PARENT_ROW_NO,2,D.D1) INSTALLMENT_DUE_DATE, + DECODE(H.PARENT_ROW_NO,2,D.N2) INSTALLMENT_NET_AMOUNT, + DECODE(H.PARENT_ROW_NO,2,D.N3) AMOUNT_TO_PAY, + DECODE(H.PARENT_ROW_NO,2,D.N4) COUNT_PLAN, + DECODE(H.PARENT_ROW_NO,2,D.N5) DISC_PERCENTAGE, + DECODE(H.PARENT_ROW_NO,2,D.N6) DISC_NET_AMT, + DECODE(H.PARENT_ROW_NO,2,D.N7) DISC_VAT_AMT, + DECODE(H.PARENT_ROW_NO,2,D.N8) DISC_GROSS_AMT, + DECODE(H.PARENT_ROW_NO,2,D.N9) DISC_AMOUNT_TO_PAY, + DECODE(H.PARENT_ROW_NO,2,D.D2) DISC_DATE, + DECODE(H.PARENT_ROW_NO,2,D.N10) DISC_TAX_PERCENTAGE, + DECODE(H.PARENT_ROW_NO,2,D.N11) DISC_TAX_NET_AMT, + DECODE(H.PARENT_ROW_NO,2,D.N12) DISC_COUNT, + D.S5 INVOICE_TEXT, + D.S6 PRINT_ADDRESS_ON_LEFT, + D.S51 HEADER_DOC_TEXT, + D.N31 BASE_NET_CURR_AMOUNT, + H.S56 HEADER_CORRECTION_REASON, + D.S57 CORRECTION_REASON, + H.S58 COMP_BRANCH_ID, + H.S59 COMP_BRANCH_DESC, + H.S60 CUSTOMER_BRANCH, + H.S61 CONTRACT_DESCRIPTION, + -- Bug 144010, Start + D.N32 LAST_ROW, + -- Bug 144010, End + -- Bug 150132, start + H.S62 COMP_ASSOCIATION_NO, + H.S63 CUST_ASSOCIATION_NO, + -- Bug 150132, end + H.S64 VERBALLY_AMOUNT, + H.S65 IS_CORRECTION_INVOICE +FROM INFO_SERVICES_RPV H, INFO_SERVICES_RPV D +WHERE H.RESULT_KEY = D.RESULT_KEY +AND H.ROW_NO = D.ROW_NO +WITH READ ONLY +; +COMMENT ON TABLE PROJECT_INVOICE_REP IS 'MODULE=PRJREP^LU=ProjectInvoice^PROMPT=ProjectInvoice^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.RESULT_KEY IS 'FLAGS=M----^DATATYPE=NUMBER^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.ROW_NO IS 'FLAGS=M----^DATATYPE=NUMBER^ITEM_NAME=iRowNo^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PARENT_ROW_NO IS 'FLAGS=M----^DATATYPE=NUMBER^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.INVOICE_DATE IS 'FLAGS=A----^DATATYPE=DATE^TITLE=Invoice Date^ITEM_NAME=iInvoiceDate^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.INVOICE_NO IS 'FLAGS=A----^DATATYPE=STRING(50)/UPPERCASE^TITLE=Invoice No^ITEM_NAME=iInvoiceNo^QUERY=Invoice No:^QFLAGS=MWS--^REF=PROJECT_INVOICE_LOV^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEBIT_INVOICE_REF IS 'FLAGS=A----^DATATYPE=STRING(70)/UPPERCASE^TITLE=Reference Invoice No^ITEM_NAME=iDebitInvoiceRef^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.COMPANY IS 'FLAGS=A----^DATATYPE=STRING(20)/UPPERCASE^TITLE=Company Id^ITEM_NAME=iCompany^QUERY=Company:^QFLAGS=MWS--^REF=COMPANY_FINANCE^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.SERIES_ID IS 'FLAGS=A----^DATATYPE=STRING(20)/UPPERCASE^TITLE=Series Id^ITEM_NAME=iSeriesId^QUERY=Invoice Series:^QFLAGS=MWS--^REF=INVOICE_SERIES(COMPANY)^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.ORDER_NO IS 'FLAGS=A----^DATATYPE=STRING(24)/UPPERCASE^TITLE=Order No^ITEM_NAME=iOrderNo^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.OUR_REFERENCE IS 'FLAGS=A----^DATATYPE=STRING(40)/UPPERCASE^TITLE=Our Reference^ITEM_NAME=iOurReference^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CUSTOMER_NO IS 'FLAGS=A----^DATATYPE=STRING(80)/UPPERCASE^TITLE=Customer No^ITEM_NAME=iCustomerNo^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CUSTOMER_NAME IS 'FLAGS=A----^DATATYPE=STRING(400)/UPPERCASE^TITLE=Customer Name^ITEM_NAME=iCustomerName^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.YOUR_REFERENCE IS 'FLAGS=A----^DATATYPE=STRING(40)/UPPERCASE^TITLE=Your Reference^ITEM_NAME=iYourReference^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BILLING_ADDRESS_ONE IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Invoice Address^ITEM_NAME=iBillingAddressOne^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BILLING_ADDRESS_TWO IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Address^ITEM_NAME=iBillingAddressTwo^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BILLING_ADDRESS_THREE IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Address^ITEM_NAME=iBillingAddressThree^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BILLING_ADDRESS_FOUR IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Address^ITEM_NAME=iBillingAddressFour^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BILLING_ADDRESS_FIVE IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Address^ITEM_NAME=iBillingAddressFive^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BILLING_ADDRESS_SIX IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Address^ITEM_NAME=iBillingAddressSix^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BILLING_ADDRESS_SEVEN IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Address^ITEM_NAME=iBillingAddressSeven^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BILLING_ADDRESS_EIGHT IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Address^ITEM_NAME=iBillingAddressEight^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BILLING_ADDRESS_NINE IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Address^ITEM_NAME=iBillingAddressNine^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PAYMENT_TERMS IS 'FLAGS=A----^DATATYPE=STRING(2000)/UPPERCASE^TITLE=Payment Terms^ITEM_NAME=iPaymentTerms^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DUE_DATE IS 'FLAGS=A----^DATATYPE=DATE^TITLE=Due Date^ITEM_NAME=iDueDate^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.INV_PERIOD_START IS 'FLAGS=A----^DATATYPE=DATE^TITLE=Period^ITEM_NAME=iInvPeriodStart^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.INV_PERIOD_END IS 'FLAGS=A----^DATATYPE=DATE^TITLE=Period^ITEM_NAME=iInvPeriodEnd^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.ITEM_ID IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Item^ITEM_NAME=iItemId^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PROJECT_ID IS 'FLAGS=A----^DATATYPE=STRING(40)/UPPERCASE^TITLE=Description^ITEM_NAME=iProjectId^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PROJECT_NAME IS 'FLAGS=A----^DATATYPE=STRING(140)/UPPERCASE^TITLE=Project ^ITEM_NAME=iProjectName^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.SUB_PROJECT_ID IS 'FLAGS=A----^DATATYPE=STRING(10)/UPPERCASE^TITLE=Sub Project Id^ITEM_NAME=iSubProjectId^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.SUB_PROJECT_NAME IS 'FLAGS=A----^DATATYPE=STRING(255)/UPPERCASE^TITLE=Sub Project ^ITEM_NAME=iSubProjectName^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.ACTIVITY_SEQ IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Activity ID^ITEM_NAME=iActivitySeq^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.ACTIVITY_NAME IS 'FLAGS=A----^DATATYPE=STRING(800)/UPPERCASE^TITLE=Activity ^ITEM_NAME=iActivityName^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.NOTE IS 'FLAGS=A----^DATATYPE=STRING(1500)/UPPERCASE^TITLE=Note^ITEM_NAME=iNote^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.INVOICE_QTY IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Quantity^ITEM_NAME=iInvoiceQty^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.SALE_UNIT_PRICE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Price^ITEM_NAME=iSaleUnitPrice^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.NET_CURR_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Amount^ITEM_NAME=iNetCurrAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.NET_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Total Exclusive Tax^ITEM_NAME=iNetAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.VAT_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=VAT^ITEM_NAME=iVatAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.GROSS_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Invoice Amount to Pay^ITEM_NAME=iGrossAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.TITLE IS 'FLAGS=A----^DATATYPE=STRING(100)^ITEM_NAME=iTitle^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEFAULT_NOTE IS 'FLAGS=A----^DATATYPE=STRING(1500)/UPPERCASE^TITLE=Default Note^ITEM_NAME=iDefaultNote^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CUSTOMER_VAT_NO IS 'FLAGS=A----^DATATYPE=STRING(20)/UPPERCASE^TITLE=Customer Vat No^ITEM_NAME=iCustomerVatNo^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PAGEFOOT_ONE IS 'FLAGS=A----^DATATYPE=STRING(2000)^PROMPT=Pagefoot One^TITLE=Pagefoot One^ITEM_NAME=iPagefootOne^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PAGEFOOT_TWO IS 'FLAGS=A----^DATATYPE=STRING(2000)^PROMPT=Pagefoot Two^TITLE=Pagefoot Two^ITEM_NAME=iPagefootTwo^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PAGEFOOT_THREE IS 'FLAGS=A----^DATATYPE=STRING(2000)^PROMPT=Pagefoot Three^TITLE=Pagefoot Three^ITEM_NAME=iPagefootThree^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PAGEFOOT_FOUR IS 'FLAGS=A----^DATATYPE=STRING(2000)^PROMPT=Pagefoot Four^TITLE=Pagefoot Four^ITEM_NAME=iPagefootFour^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PAGEFOOT_FIVE IS 'FLAGS=A----^DATATYPE=STRING(2000)^PROMPT=Pagefoot Five^TITLE=Pagefoot Five^ITEM_NAME=iPagefootFive^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PAGEFOOT_SIX IS 'FLAGS=A----^DATATYPE=STRING(2000)^PROMPT=Pagefoot Six^TITLE=Pagefoot Six^ITEM_NAME=iPagefootSix^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.VAT_NO IS 'FLAGS=A----^DATATYPE=STRING(20)^PROMPT=Vat No^TITLE=Vat No^ITEM_NAME=iVatNo^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.EUR_NET_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Net Price^ITEM_NAME=iEurNetAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.EUR_VAT_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=VAT^ITEM_NAME=iEurVatAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.EUR_GROSS_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Invoice Amount to Pay^ITEM_NAME=iEurGrossAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.EUR_EXIST IS 'FLAGS=A----^DATATYPE=STRING(20)^PROMPT=Eur Exist^TITLE=Eur Exist^ITEM_NAME=iEurExist^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.VAT_PERCENTAGE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Vat Percentage^ITEM_NAME=iVatPercentage^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.VAT_CURRENCY IS 'FLAGS=A----^DATATYPE=STRING(50)^PROMPT=in^TITLE=in^ITEM_NAME=iVatCurrency^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CURRENCY_CODE IS 'FLAGS=A----^DATATYPE=STRING(20)^PROMPT=Currency Code^TITLE=Currency Code^ITEM_NAME=iCurrencyCode^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.EURVAT_CURRENCY IS 'FLAGS=A----^DATATYPE=STRING(10)^PROMPT=EurVatCurrency^TITLE=EurVatCurrency^ITEM_NAME=iEurVatCurrency^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CURRENCY_ROUNDING IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Rounding^ITEM_NAME=iRounding^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.ROUND_IT IS 'FLAGS=A----^DATATYPE=STRING(20)^PROMPT=VatFreeAmountin^TITLE=VAT Free Amount in^ITEM_NAME=iRoundIt^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.GROSS_AMOUNT_NOT_RD IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Gross Amount Not Rounded^ITEM_NAME=iGrossAmountNotRd^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.FEE_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Invoice Fee^ITEM_NAME=iFeeAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.REPORTFOOT IS 'FLAGS=A----^DATATYPE=STRING(2000)^PROMPT=Reportfoot^TITLE=Reportfoot^ITEM_NAME=iReportfoot^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.FEE_EXIST IS 'FLAGS=A----^DATATYPE=STRING(20)^PROMPT=InvoiceFeeExist^TITLE=Invoice Fee Exist^ITEM_NAME=iFeeExist^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.VAT_FREE_EURO_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Vat Free Amount in Euro^ITEM_NAME=iVatFreeEuroAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CUSTOMER_ID IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Ordering Customer : ^ITEM_NAME=iCustomerId^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CUSTOMER_NAME_PROJ IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Customer Name Proj^ITEM_NAME=iCustomerNameProj^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PRINT_REFERANCE_CUST_ORDERING IS 'FLAGS=A----^DATATYPE=STRING(5)^TITLE= PRINT REFERANCE CUST ORDERING Proj^ITEM_NAME=iPrintReferanceCustOrdering^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.SALES_TAX_VALUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Sales Tax Amount^ITEM_NAME=iSalesTaxValue^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.TEMP_TAX_VALUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Temp Tax Amount^ITEM_NAME=iTempTaxValue^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.COUNTRY IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Country^ITEM_NAME=iCountry^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.NCF_REFERENCE IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Reference No^ITEM_NAME=iNcfReference^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.FEE_CODE IS 'FLAGS=A----^DATATYPE=STRING(20)/UPPERCASE^TITLE=Fee Code^ITEM_NAME=iFeeCode^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.TAX_CURR_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Tax Current Amount^ITEM_NAME=iTaxCurrAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.TAX_PERCENTAGE_TXT IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Tax Percentage^ITEM_NAME=iTaxPercentTxt^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.FEE_CODE_DESC IS 'FLAGS=A----^DATATYPE=STRING(100)/UPPERCASE^TITLE=Fee Code Description^ITEM_NAME=iFeeCodeDesc^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CHECK_VALUE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Check Value^ITEM_NAME=iCheckValue^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CHECK_NOTE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Check Note^ITEM_NAME=iCheckNote^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CHECK_DOM IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Check Domestic^ITEM_NAME=iCheckDom^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.TAX_DOM_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Tax Domestic Amount^ITEM_NAME=iTaxDomAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.TOTAL_CURR_AMT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Total Current Amount^ITEM_NAME=iTotalCurrAmt^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CHK_TRANSFER_FALSE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Check Transferred False^ITEM_NAME=iCheckTransFalse^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CHK_GROSS_AMT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Check Gross amount^ITEM_NAME=iChkGross^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.INCLUDED_TXT IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Included^ITEM_NAME=iIncludedTxt^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.VAT_PERCENT_TXT IS 'FLAGS=A----^DATATYPE=STRING(50)/UPPERCASE^TITLE=Vat Percentage^ITEM_NAME=iVatPercentTxt^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CHK_DOM_TOT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Check domestic total^ITEM_NAME=iChkDomTot^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BASE_CURRENCY_TXT IS 'FLAGS=A----^DATATYPE=STRING(20)/UPPERCASE^TITLE=Base Currency^ITEM_NAME=iBaseCurrTxt^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.EUR_PERCENT_TXT IS 'FLAGS=A----^DATATYPE=STRING(50)/UPPERCASE^TITLE=Euro Percentage^ITEM_NAME=iEurPercentTxt^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.VAT_EXIST IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Vat Exist^ITEM_NAME=iVatExist^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CHK_EURO_EXIST IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Check Euro Exist^ITEM_NAME=iChkEurExist^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_ADDRESS_ONE IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Address^ITEM_NAME=iDelAddressOne^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_ADDRESS_TWO IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Address^ITEM_NAME=iDelAddressTwo^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_ADDRESS_THREE IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Address^ITEM_NAME=iDelAddressThree^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_ADDRESS_FOUR IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Address^ITEM_NAME=iDelAddressFour^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_ADDRESS_FIVE IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Address^ITEM_NAME=iDelAddressFive^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_COUNTRY IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Country^ITEM_NAME=iDelCountry^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_ADDRESS_SIX IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Address^ITEM_NAME=iDelAddressSix^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_ADDRESS_SEVEN IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Address^ITEM_NAME=iDelAddressSeven^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_ADDRESS_EIGHT IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Address^ITEM_NAME=iDelAddressEight^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_ADDRESS_NINE IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Address^ITEM_NAME=iDelAddressNine^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DEL_CUSTOMER_NAME IS 'FLAGS=A----^DATATYPE=STRING(200)/UPPERCASE^TITLE=Delivery Customer^ITEM_NAME=iDelCustomer^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CURRENCY_RATE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Currency Rate^ITEM_NAME=iCurrRate^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.TAX_TEXTS IS 'FLAGS=A----^DATATYPE=STRING(500)^TITLE=Tax Texts^ITEM_NAME=iTaxTexts^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.INSTALLMENT_ID IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Inst. Id^ITEM_NAME=iInstId^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PAYMENT_METHOD IS 'FLAGS=A----^DATATYPE=STRING(60)^TITLE=Payment Method^ITEM_NAME=iPayMeth^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BANK_ACCOUNT IS 'FLAGS=A----^DATATYPE=STRING(100)^TITLE=Bank Account^ITEM_NAME=iBankAcc^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BANK_ACCOUNT_TEXT IS 'FLAGS=A----^DATATYPE=STRING(100)^TITLE=Bank Account Text^ITEM_NAME=iBankAccText^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BIC_SWIFT_CODE IS 'FLAGS=A----^DATATYPE=STRING(100)^TITLE=BIC/SWIFT Code^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.INSTALLMENT_DUE_DATE IS 'FLAGS=A----^DATATYPE=DATE^TITLE=Due Date^ITEM_NAME=iInstDueDate^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.INSTALLMENT_NET_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Net Amount^ITEM_NAME=iInstNetAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.AMOUNT_TO_PAY IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Amount To Pay^ITEM_NAME=iAmtToPay^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.COUNT_PLAN IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Count Plan^ITEM_NAME=iCountPlan^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DISC_PERCENTAGE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Disc. %^ITEM_NAME=iDiscPercent^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DISC_NET_AMT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Net Amount^ITEM_NAME=iDiscNetAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DISC_VAT_AMT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Disc. Vat Amount^ITEM_NAME=iDiscVatAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DISC_GROSS_AMT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Gross Amount^ITEM_NAME=iDiscGrossAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DISC_AMOUNT_TO_PAY IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Discount Amount To Pay^ITEM_NAME=iDiscAmtToPay^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DISC_DATE IS 'FLAGS=A----^DATATYPE=DATE^TITLE=Disc. Date^ITEM_NAME=iDiscDate^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DISC_TAX_PERCENTAGE IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Tax %^ITEM_NAME=iDiscTaxPercentage^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DISC_TAX_NET_AMT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Tax Amount^ITEM_NAME=iDiscTaxAmt^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.DISC_COUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Discount Count^ITEM_NAME=iDiscountCount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.INVOICE_TEXT IS 'FLAGS=A----^DATATYPE=STRING(2000)^TITLE=Invoice Text^ITEM_NAME=iInvoiceText^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.PRINT_ADDRESS_ON_LEFT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Print Address On Left^ITEM_NAME=iPrintAddressOnLeft^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.HEADER_DOC_TEXT IS 'FLAGS=A----^DATATYPE=STRING(2000)^TITLE=Document Text^ITEM_NAME=iHeaderDocText^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.BASE_NET_CURR_AMOUNT IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Base Net Curr Amount^ITEM_NAME=iBaseNetCurrAmount'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.HEADER_CORRECTION_REASON IS 'FLAGS=A----^DATATYPE=STRING(2000)^TITLE=Correction Reason^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CORRECTION_REASON IS 'FLAGS=A----^DATATYPE=STRING(2000)^TITLE=Correction Reason^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.COMP_BRANCH_ID IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Company Branch ID^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.COMP_BRANCH_DESC IS 'FLAGS=A----^DATATYPE=STRING(200)^TITLE=Company Branch Desc^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CUSTOMER_BRANCH IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Customer Branch^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CONTRACT_DESCRIPTION IS 'FLAGS=A----^DATATYPE=STRING(20)^TITLE=Contract Description^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.LAST_ROW IS 'FLAGS=A----^DATATYPE=NUMBER^TITLE=Last Row^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.COMP_ASSOCIATION_NO IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Company Association No^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.CUST_ASSOCIATION_NO IS 'FLAGS=A----^DATATYPE=STRING(50)^TITLE=Customer Association No^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.VERBALLY_AMOUNT IS 'FLAGS=A----^DATATYPE=VARCHAR2(5)^TITLE=Verbally Amount^ITEM_NAME=iVerballyAmount^'; +COMMENT ON COLUMN PROJECT_INVOICE_REP.IS_CORRECTION_INVOICE IS 'FLAGS=A----^DATATYPE=VARCHAR2(5)^TITLE=Is Correction Invoice^ITEM_NAME=iIsCorrectionInvoice^'; + +BEGIN + Report_SYS.Define_Report_( '&VIEW', '&MODULE', '&LU', 'Invoice Printout', '&TABLE', '&PKG..&METHOD',0,'','','','PLSQL1.2','TRUE','Project Reporting','Project Reporting'); + Report_SYS.Define_Report_Text_( '&VIEW', 'txFooter', + 'Visit Address,Invoice Address,Phone,Fax,Bank Giro,Postal Giro,Vat Number,Page,Ordering Customer : ' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txNetPrice', 'Net Price' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txTaxFree', 'Tax Free Amount in' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txSumPerTaxCode', 'Sum per tax code' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txTaxAmountsin', 'Tax Amounts in' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txRateUsed', 'Rate Used' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txTaxSummary', 'Tax Summary' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txFooter0', 'Visit Address' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txFooter1', 'Invoice Address' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txFooter2', 'Phone' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txFooter3', 'Fax' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txFooter4', 'Bank Giro' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txFooter5', 'Postal Giro' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txFooter6', 'Vat Number' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txOrderingCustomer', 'Ordering Customer : ' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txInvoiceTitle', + 'PRELIMINARY INVOICE,PRELIMINARY CREDIT INVOICE,INVOICE,CREDIT INVOICE,INVOICE/TAX INVOICE,CREDIT INVOICE/TAX INVOICE,TAX INVOICE,'|| + 'PRELIMINARY CORRECTION INVOICE,CORRECTION INVOICE,CORRECTION INVOICE/TAX INVOICE'); + Report_SYS.Define_Report_Text_('&VIEW','txTaxTotals','Tax Totals' ); + Report_SYS.Define_Report_Text_('&VIEW','txTaxCodeTitle','Tax Code'); + Report_SYS.Define_Report_Text_('&VIEW','txTaxDesc', 'Description'); + Report_SYS.Define_Report_Text_('&VIEW','txPerc','%'); + Report_SYS.Define_Report_Text_('&VIEW','txTotUnitPrice', 'Total Unit Price'); + Report_SYS.Define_Report_Text_('&VIEW','txTaxAmt', 'Tax Amount'); + + Report_SYS.Define_Report_Text_('&VIEW','txTotal', 'Total'); + + Report_SYS.Define_Report_Text_( '&VIEW', 'txBefCorrect', 'Invoice Before Correction' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txAftCorrect', 'Invoice After Correction' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txDecCorrect', 'Decrease Correction' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txIncCorrect', 'Increase Correction' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txCorInvoice', 'Correction Invoice' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txNetAmount', 'Net Amount' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txVatAmount', 'Tax Amount' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txGrossAmount', 'Gross Amount' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txInstPlanHead', 'Installment Plans and Cash Discounts' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txInvText', 'Invoice Text' ); + Report_SYS.Define_Report_Text_( '&VIEW', 'txVerbally', 'Verbally' ); + Report_Lu_Definition_API.Clear_Custom_Fields_For_Report('&VIEW'); + Report_Lu_Definition_API.Enable_Custom_Fields_for_Lu('&VIEW','Invoice','PROJECT_INVOICE_REP/PROJECT_INVOICE_HEADERS/PROJECT_INVOICE_HEADER'); + Report_Lu_Definition_API.Enable_Custom_Fields_for_Lu('&VIEW','InvoiceItem','PROJECT_INVOICE_REP/PROJECT_INVOICE_HEADERS/PROJECT_INVOICE_HEADER/PROJECTS/PROJECT'); +END; +/ +BEGIN + Report_SYS.Refresh_('&VIEW'); +END; +/ +----------------------------------------------------------------------------- +-- PACKAGE IMPLEMENTATION +----------------------------------------------------------------------------- + +PROMPT Creating &PKG implementation + +CREATE OR REPLACE PACKAGE BODY &PKG AS + +--xml start +TYPE REC_TAX_LINES IS RECORD + (a_check_value_ NUMBER, + a_temp_tax_value_ NUMBER, + a_fee_code_ VARCHAR2(20), + a_fee_code_desc_ VARCHAR2(100), + a_tax_curr_amount_ NUMBER, + a_included_txt_ VARCHAR2(20)); + +TYPE REC_INVOICE_LINES IS RECORD + ( + a_company_ Project_Tab.Company%TYPE, + a_proj_id_ Project_Tab.Project_Id%TYPE, + a_proj_name_ Project_Tab.Name%TYPE, + a_cust_id_ Customer_Info_Tab.Customer_Id%TYPE, + a_cust_name_ Customer_Info_Tab.Name%TYPE, + a_print_ref_ VARCHAR2(5), + a_sub_proj_id_ Sub_Project_Tab.Sub_Project_Id%TYPE, + a_sub_proj_name_ Sub_Project_Tab.Description%TYPE, + a_activity_seq_ NUMBER, + a_activity_name_ Activity_Tab.Description%TYPE, + a_invoice_qty_ NUMBER, + a_sale_unit_price_ NUMBER, + a_net_curr_amount_ NUMBER, + a_note_ VARCHAR2(2000), + a_emp_no_ VARCHAR2(11), + + a_vat_code_ VARCHAR2(20), + a_price_adj_id_ VARCHAR2(10), + a_rep_cost_code_ VARCHAR2(10), + a_invoice_date_ DATE, + a_item_id_ NUMBER, + a_correction_reason VARCHAR2(2000), + b_vat_percentage_row_ NUMBER, + b_vat_amount_row_ NUMBER, + b_gross_amount_row_ NUMBER ); + +TYPE ARR_TAX_LINES IS TABLE OF +REC_TAX_LINES INDEX BY BINARY_INTEGER; + +TYPE ARR_INVOICE_LINES IS TABLE OF +REC_INVOICE_LINES INDEX BY BINARY_INTEGER; + +TYPE ARR_INVOICE_TEXTS IS VARRAY(200) OF VARCHAR2(2000); + +--TIBE-1418, Start +PROCEDURE Generate_Xml___(s_tax_line_array_ IN OUT ARR_TAX_LINES, +s_inv_line_array_ IN OUT ARR_INVOICE_LINES, +s_inv_text_array_ IN OUT ARR_INVOICE_TEXTS, +arr_index_ IN OUT NUMBER, +n_tax_line_size_ IN OUT NUMBER, +n_inv_line_size_ IN OUT NUMBER, +temp_size_ IN OUT NUMBER, +xml_ IN OUT CLOB, +block_ IN NUMBER) +IS + lang_list_ VARCHAR2(500); + value_list_ VARCHAR2(2000); + default_lang VARCHAR(50); + report_code_def_lng VARCHAR(50); + + CURSOR get_lang_rep_code_desc IS + SELECT iso_language_db, description + FROM report_cost_desc + WHERE company = s_inv_line_array_(0).a_company_ + AND report_cost_code = s_inv_line_array_(0).a_rep_cost_code_; + + invoice_text_ CLOB; +BEGIN + --XML VIEW - PROJECT INVOICE DETAIL + Xml_Record_Writer_SYS.Start_Element(xml_, 'PROJECT_INVOICE_DETAIL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', block_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INVOICE_QTY',s_inv_line_array_(0).a_invoice_qty_); + Xml_Record_Writer_SYS.Add_Element(xml_,'SALE_UNIT_PRICE',s_inv_line_array_(0).a_sale_unit_price_); + WHILE(arr_index_ > 1) LOOP + invoice_text_ := s_inv_text_array_(arr_index_-1) || invoice_text_; + arr_index_ := arr_index_ - 1; + IF (arr_index_ > 1) THEN + invoice_text_ := CHR(13) || CHR(10) || invoice_text_; + END IF; + END LOOP; + Xml_Record_Writer_SYS.Add_Element(xml_,'INVOICE_TEXT', invoice_text_); + IF ((s_inv_line_array_(0).a_proj_id_ IS NULL) AND (s_inv_line_array_(0).a_sub_proj_id_ IS NULL) AND ((s_inv_line_array_(0).a_activity_seq_ IS NULL) OR (s_inv_line_array_(0).a_activity_seq_ = -1))) THEN + IF (s_inv_line_array_(0).a_item_Id_ != 100000 AND s_inv_line_array_(0).a_item_Id_ != 100001) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_CURR_AMOUNT',''); + ELSE + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_CURR_AMOUNT',s_inv_line_array_(0).a_net_curr_amount_); + END IF; + ELSE + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_CURR_AMOUNT',s_inv_line_array_(0).a_net_curr_amount_); + END IF; + + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_CODE',s_inv_line_array_(0).a_vat_code_); + default_lang := Customer_Info_API.Get_Default_Language_Db(s_inv_line_array_(0).a_cust_id_); + + IF (Report_Cost_API.Get_Description(s_inv_line_array_(0).a_company_,s_inv_line_array_(0).a_rep_cost_code_, + s_inv_line_array_(0).a_invoice_date_) = s_inv_line_array_(0).a_note_) THEN + + FOR lang_rep_desc IN get_lang_rep_code_desc LOOP + lang_list_ := lang_list_ || ',' || lang_rep_desc.iso_language_db; + value_list_ := value_list_ || ',' || REPLACE(lang_rep_desc.description, ',' , 'CHR44'); + IF (lang_rep_desc.iso_language_db = default_lang) THEN + report_code_def_lng := lang_rep_desc.description; + END IF; + END LOOP; + END IF; + + IF (report_code_def_lng IS NULL) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'NOTE',s_inv_line_array_(0).a_note_); + ELSE + Xml_Record_Writer_SYS.Add_Element(xml_,'NOTE',report_code_def_lng); + END IF; + + Xml_Record_Writer_SYS.Add_Element(xml_,'LANG_LIST',lang_list_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VALUE_LIST',value_list_); + + Xml_Record_Writer_SYS.Add_Element(xml_,'CORRECTION_REASON', s_inv_line_array_(0).a_correction_reason); + + /*decode(S22, + REPORT_COST_API.Get_Description (s2, s20,D1), + decode(REPORT_COST_DESC_API.Get_Description (s2, s20, + Iso_Language_API.decode(Language_SYS.Get_Print_Language)), + NULL, + S22, + REPORT_COST_DESC_API.Get_Description (s2, s20, + Iso_Language_API.decode(Language_SYS.Get_Print_Language))), + S22 );*/ + + + Xml_Record_Writer_SYS.Start_Element(xml_, 'TAX_LINES'); + + s_inv_line_array_(0).a_proj_id_ := NULL; + s_inv_line_array_(0).a_proj_name_ := NULL; + s_inv_line_array_(0).a_cust_id_ := NULL; + s_inv_line_array_(0).a_cust_name_ := NULL; + s_inv_line_array_(0).a_print_ref_ := NULL; + s_inv_line_array_(0).a_sub_proj_id_ := NULL; + s_inv_line_array_(0).a_sub_proj_name_ := NULL; + s_inv_line_array_(0).a_activity_seq_ := NULL; + s_inv_line_array_(0).a_activity_name_ := NULL; + s_inv_line_array_(0).a_invoice_qty_ := NULL; + s_inv_line_array_(0).a_sale_unit_price_ := NULL; + s_inv_line_array_(0).a_net_curr_amount_ := NULL; + s_inv_line_array_(0).a_note_ := NULL; + s_inv_line_array_(0).a_vat_code_ := NULL; + s_inv_line_array_(0).a_price_adj_id_ := NULL; + s_inv_line_array_(0).a_rep_cost_code_ := NULL; + s_inv_line_array_(0).b_vat_percentage_row_ := NULL; + s_inv_line_array_(0).b_vat_amount_row_ := NULL; + s_inv_line_array_(0).b_gross_amount_row_ := NULL; + s_inv_line_array_(0).a_item_Id_ := NULL; + s_inv_line_array_(0).a_emp_no_ := NULL; + s_inv_line_array_(0).a_correction_reason := NULL; + + + arr_index_ := 1; + + temp_size_ := 0; + + lang_list_ := NULL; + value_list_ := NULL; + + --XML VIEW - TAX_LINES + WHILE (temp_size_ <= (n_tax_line_size_ - 1)) LOOP + IF s_tax_line_array_(temp_size_).a_fee_code_ IS NOT NULL THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'TAX_LINE'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO',block_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHECK_VALUE',s_tax_line_array_(temp_size_).a_check_value_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',s_tax_line_array_(temp_size_).a_temp_tax_value_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_CODE',s_tax_line_array_(temp_size_).a_fee_code_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_CODE_DESC',s_tax_line_array_(temp_size_).a_fee_code_desc_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_CURR_AMOUNT',s_tax_line_array_(temp_size_).a_tax_curr_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INCLUDED_TXT',s_tax_line_array_(temp_size_).a_included_txt_); + Xml_Record_Writer_SYS.End_Element(xml_, 'TAX_LINE'); + + s_tax_line_array_(n_tax_line_size_).a_check_value_ := NULL; + s_tax_line_array_(n_tax_line_size_).a_temp_tax_value_ := NULL; + s_tax_line_array_(n_tax_line_size_).a_fee_code_ := NULL; + s_tax_line_array_(n_tax_line_size_).a_fee_code_desc_ := NULL; + s_tax_line_array_(n_tax_line_size_).a_tax_curr_amount_ := NULL; + s_tax_line_array_(n_tax_line_size_).a_included_txt_ := NULL; + END IF; + temp_size_ := temp_size_ + 1; + END LOOP; + n_tax_line_size_ := 0; + n_inv_line_size_ := 0; + Xml_Record_Writer_SYS.End_Element(xml_, 'TAX_LINES'); + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_DETAIL'); +END Generate_Xml___; +--TIBE-1418, End + +--TIBE-1418, Start +PROCEDURE Split_Pagefooter___( + xml_ IN OUT CLOB, + pagefoot_ IN VARCHAR2 ) +IS + i_ NUMBER := 1; + from_ NUMBER := 1; + to_ NUMBER; + delim_ VARCHAR2(1) := CHR(9); + tmp_ VARCHAR2(2000); +BEGIN + to_ := INSTR(pagefoot_, delim_, from_); + IF to_ = 0 THEN + to_ := length(pagefoot_) + 1; + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'REPORT_FOOTER'); + WHILE (i_ < 8) LOOP + tmp_ := SUBSTR(pagefoot_, from_, to_ - from_); + from_ := to_ + 1; + to_ := INSTR(pagefoot_, delim_, from_); + IF to_ = 0 THEN + to_ := length(pagefoot_) + 1; + END IF; + + IF (i_ = 1) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'REPORT_FOOTER_1',tmp_); + ELSIF (i_ = 2) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'REPORT_FOOTER_2',tmp_); + ELSIF (i_ = 3) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'REPORT_FOOTER_3',tmp_); + ELSIF (i_ = 4) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'REPORT_FOOTER_4',tmp_); + ELSIF (i_ = 5) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'REPORT_FOOTER_5',tmp_); + ELSIF (i_ = 6) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'REPORT_FOOTER_6',tmp_); + ELSIF (i_ = 7) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'REPORT_FOOTER_7',tmp_); + END IF; + i_ := i_+1; + END LOOP; + Xml_Record_Writer_SYS.End_Element(xml_, 'REPORT_FOOTER'); +END Split_Pagefooter___; +--TIBE-1418, End + +--xml end + + + +PROCEDURE &METHOD ( + + report_attr_ IN VARCHAR2, + parameter_attr_ IN VARCHAR2 ) +IS + result_key_ NUMBER; + pagefoot1_ VARCHAR2(2000); + pagefoot2_ VARCHAR2(2000); + pagefoot3_ VARCHAR2(2000); + pagefoot4_ VARCHAR2(2000); + pagefoot5_ VARCHAR2(2000); + pagefoot6_ VARCHAR2(2000); + + row_ NUMBER; + column_title_ Footer_Connection_API.footer_arr; + column_text_ Footer_Connection_API.footer_arr; + f_title_ Footer_Connection_API.t_varchar2; + f_text_ Footer_Connection_API.t_varchar2; + sys_footer_field_attr_ VARCHAR2(2000); + + $IF Component_Invoic_SYS.INSTALLED $THEN + row_no_ NUMBER := 1; + parent_row_no_ NUMBER := 1; + invoice_no_ Project_Invoice.Invoice_No%TYPE; + company_ Project_Invoice.Company%TYPE; + series_id_ Invoice_Series.Series_Id%TYPE; + domain_id_ Company.Domain_Id%TYPE; + party_ Project_Invoice.Party%TYPE; + customer_ Project_Invoice.Customer%TYPE; + invoice_id_ Project_Invoice.Invoice_Id%TYPE; + inv_period_end_ DATE; + inv_period_start_ DATE; + cust_print_ref_ Customer_Prjrep_Params.PRINT_REFERANCE%TYPE; + Customer_Ord_ Customer_Prjrep_Params.IDENTITY%TYPE; + title_ VARCHAR2(100); + row_amount_ NUMBER; + dummy_ NUMBER; + stmt_ VARCHAR2(2000); + cid_ INTEGER; + ignore_ INTEGER; + + dom_amount_ NUMBER; + eur_net_amount_ NUMBER; + eur_vat_amount_ NUMBER; + eur_gross_amount_ NUMBER; + vat_free_euro_amount_ NUMBER; + eur_exist_ VARCHAR2(20); + vat_percentage_ VARCHAR2(20); + vat_code_ VARCHAR2(20); + cust_ VARCHAR2(30); + Currency_ VARCHAR2(20); + vat_currency_ VARCHAR2(20); + Eurvat_currency_ VARCHAR2(10); + + currency_rounding_ NUMBER :=0; + fee_amount_ NUMBER :=0; + round_it_ VARCHAR2(20) := 'FALSE'; + fee_exist_ VARCHAR2(20) := 'FALSE'; + temp_vat_percentage_ NUMBER ; + -- Bug 144010, Start + temp_tax_code_ VARCHAR2(20); + temp_tax_percentage_ NUMBER ; + xml_tax_curr_amt_prt_ NUMBER ; + xml_transfered_false_dtl_flag_ NUMBER := 0; + -- Bug 144010, End + temp_vat_percentage1_ NUMBER ; + net_amount_ NUMBER :=0; + Customer_Id VARCHAR2(20); + Customer_Name_Proj VARCHAR2(200); + + ncf_reference_ VARCHAR2(50); + fee_code_prt_ VARCHAR2(20); + tax_curr_amt_prt_ NUMBER; + tax_percentage_prt_ VARCHAR2(20); + fee_code_desc_prt_ VARCHAR2(2000); + item_id_ NUMBER; + check_value_ NUMBER:=0; + check_note_ NUMBER:=0; + company_country_ VARCHAR2(200); + customer_country_ VARCHAR2(200); + delivery_address_ VARCHAR2(50); + tax_dom_amt_prt_ NUMBER; + check_dom_amt_ NUMBER:=0; + chk_trans_false_ NUMBER; + chk_gross_amt_ NUMBER:=0; + save_result_key_ NUMBER; + save_row_no_ NUMBER; + included_prt_ VARCHAR2(20) := NULL; + tot_tax_curr_amt_ NUMBER:=0; + vat_percent_txt_ VARCHAR2(1000); + chk_dom_tot_ NUMBER:=0; + base_currency_txt_ VARCHAR2(1000); + base_currency_ VARCHAR2(20); + eur_percent_txt VARCHAR2(1000); + vat_exist_ NUMBER:=0; + chk_eur_exist NUMBER:=0; + curr_rate_ NUMBER; + parallel_curr_rate_ NUMBER; + curr_rate_to_print_ NUMBER; + p_length_ NUMBER:=0; + decimals_in_rounding_ NUMBER :=0; + decimals_in_par_curr_ NUMBER :=0; + delivery_exist_ NUMBER; + delivery_add_id_ VARCHAR2(50); + del_add_line1_ VARCHAR2(200); + del_add_line2_ VARCHAR2(200); + del_add_line3_ VARCHAR2(200); + del_add_line4_ VARCHAR2(200); + del_add_line5_ VARCHAR2(200); + del_add_line6_ VARCHAR2(200); + del_add_line7_ VARCHAR2(200); + del_add_line8_ VARCHAR2(200); + del_add_line9_ VARCHAR2(200); + del_add_line10_ VARCHAR2(200); + del_country_ VARCHAR2(200); + del_customer_name VARCHAR2(200); + notes_text_ VARCHAR2(200); + valid_from_ DATE; + valid_until_ DATE; + invoice_date_str_ VARCHAR2(15); + fee_type_ VARCHAR2(10); + inv_addr_id_ VARCHAR2(50); + + --xml start + do_xml_ BOOLEAN := Report_SYS.Should_Generate_Xml('PROJECT_INVOICE_REP'); + do_rs_ BOOLEAN := Report_SYS.Should_Generate_Result_Set('PROJECT_INVOICE_REP'); + package_name_ VARCHAR2(100) := 'PROJECT_INVOICE_REP'; + + xml_header_flag_ NUMBER := 0; + xml_euro_dtl_flag_ NUMBER := 0; + xml_eur_vat_amount_ NUMBER := 0; + xml_fee_code_total_flag_ NUMBER := 0; + xml_tax_dom_amt_prt_ NUMBER := 0; + xml_vat_invoice_total_flag_ NUMBER := 0; + xml_vat_curr_amount_ NUMBER := 0; + xml_net_curr_amount_ NUMBER := 0; + activity_flag_ NUMBER := 0; + sub_project_flag_ NUMBER := 0; + project_flag_ NUMBER := 0; + old_project_id_ VARCHAR2(10):= NULL; + old_sub_project_id_ VARCHAR2(10) := NULL; + old_activity_ NUMBER := NULL; + --xml end + + print_tax_texts_ VARCHAR2(5); + tax_text_ VARCHAR2(2000); + --xml end + + debit_inv_ref_ VARCHAR2(70); + logotype_ VARCHAR2(100); + company_name_ VARCHAR2(100); + vat_registered_same_country_ BOOLEAN; + company_country_db_ VARCHAR2(2); + customer_vat_no_ VARCHAR(50); + lang_code_ VARCHAR2(5); + + pri_net_amount_sum_ NUMBER; + pri_vat_amount_sum_ NUMBER; + pri_gross_amount_sum_ NUMBER; + + sec_net_amount_sum_ NUMBER; + sec_vat_amount_sum_ NUMBER; + sec_gross_amount_sum_ NUMBER; + vat_code_ VARCHAR2(100); + + is_cor_invoice_ VARCHAR2(5); + primary_invoice_no_ VARCHAR2(50); + tmp_invoice_id_ NUMBER; + -- Bug 141583, Start + prel_series_ BOOLEAN := FALSE; + -- Bug 141583, End + sec_invoice_no_ VARCHAR2(50); + sec_invoice_id_ NUMBER; + net_amnt_diff_ NUMBER; + vat_amnt_diff_ NUMBER; + gross_amnt_diff_ NUMBER; + primary_invoice_id_ Project_Invoice.Invoice_Id%TYPE; + doc_recip_address_pos_ VARCHAR2(5); + print_address_on_left_ NUMBER; + primery_series_id_ VARCHAR(20); + cust_country_code_ VARCHAR2(2); + source_ref_invoic_db_ CONSTANT VARCHAR2(20) := Tax_Source_API.DB_INVOICE; + source_ref_prj_db_ CONSTANT VARCHAR2(50) := Tax_Source_API.DB_TRAVEL_EXPENSE_PROJ_TRANS; + + CURSOR prjinv_headercursor IS + SELECT + Company, + Currency, + Series_Id, + Invoice_No, + Series_Reference, + Number_Reference, + Invoice_Id, + Invoice_Date, + Order_No, + Our_Reference, + Your_Reference, + Party, + Name, + Customer, + Address_API.Get_Line(domain_id_,Party,Invoice_Address_Id,1) Billing_Address_One, + Address_API.Get_Line(domain_id_,Party,Invoice_Address_Id,2) Billing_Address_Two, + Address_API.Get_Line(domain_id_,Party,Invoice_Address_Id,3) Billing_Address_Three, + Address_API.Get_Line(domain_id_,Party,Invoice_Address_Id,4) Billing_Address_Four, + Address_API.Get_Line(domain_id_,Party,Invoice_Address_Id,5) Billing_Address_Five, + Address_API.Get_Line(domain_id_,Party,Invoice_Address_Id,6) Billing_Address_Six, + Address_API.Get_Line(domain_id_,Party,Invoice_Address_Id,7) Billing_Address_Seven, + Address_API.Get_Line(domain_id_,Party,Invoice_Address_Id,8) Billing_Address_Eight, + Address_API.Get_Line(domain_id_,Party,Invoice_Address_Id,9) Billing_Address_Nine, + Address_API.Get_Line(domain_id_,Party,Invoice_Address_Id,10) Billing_Address_Ten, + Supply_Country, + Delivery_Address_Id, + Invoice_Address_Id, + Invoice_Period_Start, + Invoice_Period_End, + Pay_Term_Id, + Due_Date, + Net_Amount, + Vat_Amount, + Gross_Amount, + Invoice_Type, + Invoice_Objstate, + Invoice_Api.Get_Tax_Id_Number(company, Invoice_Id) vat_no, + Company_Invoice_Info_API.Get_Footing_Line(company,1) pagefoot_one, + Company_Invoice_Info_API.Get_Footing_Line(company,2) pagefoot_two, + Company_Invoice_Info_API.Get_Footing_Line(company,3) pagefoot_three, + Company_Invoice_Info_API.Get_Footing_Line(company,4) pagefoot_four, + Company_Invoice_Info_API.Get_Footing_Line(company,5) pagefoot_five, + Company_Invoice_Info_API.Get_Footing_Line(company,6) pagefoot_six, + Invoice_Type_API.Get_Report_Footing(company,Party_Type_API.Decode('CUSTOMER'),invoice_type) reportfoot, + Iso_Country_API.Get_Description(Iso_Country_API.Encode( + Address_API.Get_country(domain_id_,Party,Invoice_Address_Id)) + ,Customer_Info_API.Get_Default_Language_Db(Customer)) country, + ncf_reference, + tax_invoice_number tax_invoice_number, + invoice_text invoice_text, + curr_rate curr_rate, + correction_reason header_correction_reason, + + branch, + contract, + + objkey rowkey + FROM + Project_Invoice + WHERE REPORT_SYS.PARSE_PARAMETER(Invoice_No, invoice_no_) = 'TRUE' + AND REPORT_SYS.PARSE_PARAMETER(Company , company_) = 'TRUE' + AND REPORT_SYS.PARSE_PARAMETER(Series_Id , series_id_) = 'TRUE' + ORDER BY + Invoice_No,Company,Series_Id,Invoice_Date; + CURSOR prjinv_detailcursor(invoice_id_tmp_ IN NUMBER) IS + SELECT + Item_Id, + Project_Id, + Project_API.Get_Name(Project_Id) Project_Name, + Sub_Project_Id, + Sub_Project_API.Get_Description(Project_Id,Sub_Project_Id) Sub_Project_Name, + Activity_Seq, + Activity_API.Get_Description(Activity_Seq) Activity_Name, + SUBSTR(DECODE(SUBSTR(reference,0,8),'PRJINVPL', + Note || Invoicing_Plan_API.Get_Invoice_Comments(company, Invoice_Id, Item_Id), Note),1,2000) Note, + Invoiced_Qty, + Sale_Unit_Price, + Net_Curr_Amount, + report_cost_code, + vat_code, + Source_Tax_Item_API.Get_Tax_Code_Percentage(company, source_ref_invoic_db_, TO_CHAR(Invoice_Id), TO_CHAR(Item_Id), '*', '*', '*', vat_code) tax_percentage, + vat_curr_amount, + price_adjustment_id, + gross_curr_amount, + emp_no, + invoice_text, + prel_update_allowed, + correction_reason, + objkey + FROM + Project_Invoice_item_corct + WHERE Company = company_ + AND Party = party_ + AND Invoice_Id = invoice_id_tmp_ + AND Customer = customer_ + ORDER BY + Project_Id,Sub_Project_Id,Activity_API.Get_Activity_No(Activity_Seq),Report_Cost_Code,Item_Id; + + temp_ prjinv_detailcursor%ROWTYPE; + + CURSOR prjinv_vatcursor(invoice_id_tmp_ IN NUMBER) IS + SELECT + s.tax_code vat_code, + s.tax_percentage tax_percentage, + s.tax_curr_amount vat_curr_amount, + p.item_id item_id, + s.tax_dom_amount vat_dom_amount, + p.net_curr_amount net_curr_amount, + s.tax_parallel_amount vat_parallel_amount, + s.tax_type_db + FROM project_invoice_item_corct p, source_tax_item_inv_withhold s + WHERE p.company = company_ + AND p.party = party_ + AND p.invoice_id = invoice_id_tmp_ + AND p.customer = customer_ + AND p.company = s.company + AND s.source_ref_type = source_ref_invoic_db_ + AND s.source_ref1 = TO_CHAR(p.invoice_id) + AND s.source_ref2 = TO_CHAR(p.item_id) + AND s.source_ref3 = '*' + AND s.source_ref4 = '*' + AND s.source_ref5 = '*' + ORDER BY tax_code,decode(tax_type_db, 'IRS1099TX', NULL, '*'); + + CURSOR check_acc IS + SELECT 1 FROM user_source + WHERE name = 'CURRENCY_AMOUNT_API' + AND TYPE = 'PACKAGE' + AND text LIKE '%Calculate_To_Euro%'; + + CURSOR print_ref_to_ord_cust IS + SELECT PRINT_REFERANCE + FROM Customer_Prjrep_Params + WHERE Company = company_ + AND IDENTITY = Customer_Ord_; + + + sales_tax_amount_ NUMBER :=0; + dummy_sales_tax_ NUMBER ; + transferred_ VARCHAR2(5); + CURSOR get_tax_id(invoice_id_tmp_ IN NUMBER) IS + SELECT tax_code, + tax_percentage, + SUM(tax_curr_amount) tot_tax_curr_amount, + SUM(tax_dom_amount) tot_tax_dom_amount, + transferred, + tax_type_db, + source_ref2 + FROM source_tax_item_inv_withhold + WHERE company = company_ + AND source_ref_type = source_ref_invoic_db_ + AND source_ref1 = TO_CHAR(invoice_id_tmp_) + AND source_ref2 IN (SELECT TO_CHAR(item_id) + FROM Project_Invoice_item_corct p, project_invoice pi + WHERE p.company = company_ + AND p.invoice_id = invoice_id_tmp_ + AND pi.company = p.company + AND pi.invoice_id = p.invoice_id + AND ((pi.correction_invoice = 'TRUE' AND p.prel_update_allowed = 'TRUE') + OR (pi.correction_invoice = 'FALSE'))) + AND source_ref3 = '*' + AND source_ref4 = '*' + AND source_ref5 = '*' + GROUP BY tax_code, tax_percentage, transferred, tax_type_db, source_ref2 + ORDER BY decode(tax_type_db, 'IRS1099TX', NULL, '*'), tax_code; + + CURSOR get_tax_id1(invoice_id_tmp_ IN NUMBER) IS + SELECT tax_code, + tax_percentage, + SUM(tax_curr_amount) tot_tax_curr_amount, + SUM(tax_dom_amount) tot_tax_dom_amount, + tax_type_db + FROM source_tax_item_inv_withhold + WHERE company = company_ + AND source_ref_type = source_ref_invoic_db_ + AND source_ref1 = TO_CHAR(invoice_id_tmp_) + AND source_ref2 IN (SELECT TO_CHAR(item_id) + FROM Project_Invoice_item_corct p, project_invoice pi + WHERE p.company = company_ + AND p.invoice_id = invoice_id_tmp_ + AND pi.company = p.company + AND pi.invoice_id = p.invoice_id + AND ((pi.correction_invoice = 'TRUE' AND p.prel_update_allowed = 'TRUE') + OR (pi.correction_invoice = 'FALSE'))) + AND source_ref3 = '*' + AND source_ref4 = '*' + AND source_ref5 = '*' + GROUP BY tax_code,tax_percentage,tax_type_db + ORDER BY decode(tax_type_db, 'IRS1099TX', NULL, '*'); + + CURSOR get_transferred_tax_id(invoice_id_tmp_ IN NUMBER) IS + SELECT tax_code, + tax_percentage, + SUM(tax_curr_amount) tax_curr_amount, + transferred, + tax_type_db + FROM source_tax_item_inv_withhold + WHERE company = company_ + AND source_ref_type = source_ref_invoic_db_ + AND source_ref1 = TO_CHAR(invoice_id_tmp_) + AND source_ref2 IN (SELECT TO_CHAR(item_id) + FROM Project_Invoice_item_corct p, project_invoice pi + WHERE p.company = company_ + AND p.invoice_id = invoice_id_tmp_ + AND pi.company = p.company + AND pi.invoice_id = p.invoice_id + AND ((pi.correction_invoice = 'TRUE' AND p.prel_update_allowed = 'TRUE') + OR (pi.correction_invoice = 'FALSE'))) + AND source_ref3 = '*' + AND source_ref4 = '*' + AND source_ref5 = '*' + GROUP BY tax_code,tax_percentage,transferred,tax_type_db + ORDER BY decode(tax_type_db, 'IRS1099TX', NULL, '*'); + + CURSOR get_delivery_address(invoice_no_tmp_ IN VARCHAR2, series_id_tmp_ IN VARCHAR2) IS + SELECT DELIVERY_ADDRESS_ID + FROM PROJECT_INVOICE + WHERE company = company_ + AND INVOICE_NO = invoice_no_tmp_ + AND series_id = series_id_tmp_; + + + CURSOR get_cur_amounts(invoice_id_tmp_ IN NUMBER) IS + SELECT SUM(Net_Curr_Amount), SUM(vat_curr_amount), SUM(gross_curr_amount) + FROM + Project_Invoice_Item_Corct + WHERE Company = company_ + AND Party = party_ + AND Invoice_Id = invoice_id_tmp_ + AND Customer = customer_; + + CURSOR chk_delivery_address_exist(invoice_id_tmp_ IN NUMBER) IS + SELECT 1 + FROM dual + WHERE EXISTS + (SELECT PI.project_id + FROM PROJECT_INVOICE_ITEM_CORCT PI + WHERE PI.company = company_ + AND PI.invoice_id = invoice_id_tmp_); + + temp_report_cost_code_ VARCHAR2(10); + temp_invoiced_qty_ NUMBER; + temp_Sale_Unit_Price_ NUMBER; + First_Time_ VARCHAR2(5); + title_type_ NUMBER; + + tax_invoice_param_ NUMBER; + inv_no_ VARCHAR2(50); + + CURSOR get_date_range(tax_code_ IN VARCHAR2, invoice_date_str_ IN VARCHAR2 ) IS + SELECT valid_from, valid_until + FROM Tax_Code_Texts_Tab + WHERE company = company_ + AND fee_code = tax_code_ + AND valid_from <= To_Date(invoice_date_str_,'yyyy/mm/dd') + AND valid_until >= To_Date(invoice_date_str_,'yyyy/mm/dd'); + CURSOR get_invoice_id(invoice_no_tmp_ IN VARCHAR2,series_id_tmp_ IN VARCHAR2) IS + SELECT invoice_id + FROM project_invoice + WHERE company = company_ + AND invoice_no = invoice_no_tmp_ + AND series_id = series_id_tmp_; + + CURSOR get_debt_invoice_id(invoice_no_tmp_ IN VARCHAR2) IS + SELECT pii.invoice_id + FROM Project_Invoice_Item pii, project_invoice pi + WHERE pii.company = company_ + AND pi.invoice_no = invoice_no_tmp_ + AND pii.invoice_id = pi.invoice_id; + + CURSOR check_correction_invoice IS + SELECT 1 + FROM project_invoice + WHERE company = company_ + AND invoice_no = primary_invoice_no_ + AND series_id_ = primery_series_id_ + AND correction_invoice_id IS NOT NULL; + + TYPE vat_disc IS RECORD + (vat_code Statutory_Fee_Tab.fee_code%TYPE, + sum_vat_curr_amount NUMBER, + sum_gross_curr_amount NUMBER, + tax_percentage Statutory_Fee_Tab.fee_rate%TYPE); + + TYPE vat_disc_tbl IS TABLE OF vat_disc INDEX BY BINARY_INTEGER; + + -- Bug 152072, Start + TYPE Transferred_Tax_Rec IS RECORD + (tax_code statutory_fee_tab.fee_code%TYPE, + tax_percentage statutory_fee_tab.fee_rate%TYPE, + tax_curr_amount NUMBER, + transferred source_tax_item_tab.transferred%TYPE, + tax_type_db statutory_fee_tab.fee_type%TYPE); + + TYPE Transferred_Tax_Tab IS TABLE OF Transferred_Tax_Rec INDEX BY BINARY_INTEGER; + transferred_tax_tab_ Transferred_Tax_Tab; + -- Bug 152072, End + + vat_disc_tbl_ vat_disc_tbl; + inv_state_ invoice.objstate%TYPE; + simulated_payment_plan_ Invoice_API.Simulated_Pay_Plan_Array; + + language_code_ VARCHAR2(4); + bank_account_ VARCHAR2(150); + bank_account_text_ VARCHAR2(1000); + payment_method_ VARCHAR2(60); + pay_method_desc_ VARCHAR2(2000); + cursor1_stmt VARCHAR2(5000); + cursor2_stmt VARCHAR2(5000); + block_ VARCHAR2(5000); + has_adv_inv_ VARCHAR2(5); + tax_reduction_at_payment_ VARCHAR2(5); + curr_code_ VARCHAR2(3); + document_add_ VARCHAR2(4000); + inst_due_date_ DATE; + interest_percent_ NUMBER; + curr_amount_ NUMBER; + open_amount_ NUMBER; + cur_rounding_ NUMBER; + installment_count_ NUMBER; + installment_id_ NUMBER; + disc_count_ NUMBER; + disc_gross_amt_ NUMBER; + disc_vat_amt_ NUMBER; + disc_net_amt_ NUMBER; + amt_to_pay_ NUMBER; + vat_percent_ NUMBER; + ratio_ NUMBER; + tax_code_disc_ NUMBER; + disc_flag_ NUMBER; + count_ NUMBER; + gross_amount_ NUMBER := 0; + count_plan_ NUMBER := 0; + count_disc_ NUMBER := 0; + counter_ NUMBER; + pos_ NUMBER; + lines_tax_defined_flag_ NUMBER; + bic_swift_code_ VARCHAR2(100); + print_tax_alternate_currency_ VARCHAR2(30); + selected_alt_currency_ VARCHAR2(20); + print_tax_in_alternate_ BOOLEAN; + company_parallel_curr_ VARCHAR2(3); + branch_desc_ VARCHAR2(200); + customer_branch_ VARCHAR2(20); + conv_factor_ NUMBER; + base_net_curr_amount_ NUMBER; + currency_rate_inv_ NUMBER; + curr_rounding_ NUMBER := 0; + contract_desc_ VARCHAR2(20); + first_result_key_ NUMBER; + -- Bug 150132, start + comp_association_no_ VARCHAR2(50); + cust_association_no_ VARCHAR2(50); + -- Bug 150132, end + verbally_amount_ VARCHAR2(5); + + CURSOR count_plan_details(invoice_id_tmp_ IN NUMBER) IS + SELECT COUNT(*) + FROM Payment_Plan_Tab + WHERE invoice_id = invoice_id_tmp_ + AND company = company_; + + CURSOR count_disc_details(invoice_id_tmp_ IN NUMBER) IS + SELECT COUNT(*) + FROM Invoice_Disc_Tab + WHERE invoice_id = invoice_id_tmp_ + AND company = company_; + + CURSOR get_tax_details(invoice_id_tmp_ IN VARCHAR2) IS + SELECT sti.tax_code vat_code, + SUM(nvl(sti.tax_curr_amount, 0)) sum_vat_curr_amount, + SUM(nvl(sti.tax_curr_amount, 0) + nvl(ii.net_curr_amount, 0)) sum_gross_curr_amount + FROM source_tax_item_inv_withhold sti, + invoice_item ii + WHERE sti.company = ii.company + AND sti.company = company_ + AND sti.source_ref_type = source_ref_invoic_db_ + AND sti.source_ref1 = TO_CHAR(ii.invoice_id) + AND sti.source_ref1 = invoice_id_tmp_ + AND sti.source_ref2 = TO_CHAR(ii.item_id) + AND sti.source_ref3 = '*' + AND sti.source_ref4 = '*' + AND sti.source_ref5 = '*' + GROUP BY sti.tax_code; + + CURSOR get_disc_details(invoice_id_tmp_ IN NUMBER) IS + SELECT installment_id, + disc_date, + curr_amount, + disc_percent + FROM Invoice_Disc_Tab + WHERE installment_id = installment_id_ + AND invoice_id = invoice_id_tmp_ + AND company = company_ + ORDER BY disc_date; + + CURSOR get_position IS + SELECT doc_recip_address_pos + FROM company_tab + WHERE company = company_; + inv_currency_ VARCHAR2(20); + tr_tax_curr_amount_ NUMBER; + tax_curr_amount_ NUMBER; + CURSOR get_currency(invoice_id_ IN NUMBER) IS + SELECT currency + FROM project_invoice + WHERE company = company_ + AND invoice_id = invoice_id_; + + CURSOR get_proj_trans_seq(invoice_id_ IN NUMBER, item_id_ IN NUMBER) IS + SELECT project_transaction_seq + FROM project_transaction_tab + WHERE company_id = company_ + AND invoice_id = invoice_id_ + AND item_id = item_id_; + + CURSOR get_transferred_tax(prj_tran_seq_ IN NUMBER, currency_ IN VARCHAR2, tax_code_ IN VARCHAR2) IS + SELECT SUM(NVL(tax_curr_amount, 0)) tr_tax_curr_amount + FROM source_tax_item_pub + WHERE company = company_ + AND source_ref_type_db = source_ref_prj_db_ + AND source_ref1 = prj_tran_seq_ + AND source_ref2 = currency_ + AND source_ref3 = '*' + AND source_ref4 = '*' + AND source_ref5 = '*' + AND tax_code = tax_code_ + GROUP BY tax_code; + + --TIBE-1418, Start + s_tax_line_array_ ARR_TAX_LINES; + s_inv_line_array_ ARR_INVOICE_LINES; + s_inv_text_array_ ARR_INVOICE_TEXTS := ARR_INVOICE_TEXTS(200); + arr_index_ NUMBER := 1; + n_tax_line_size_ NUMBER := 0; + n_inv_line_size_ NUMBER := 0; + temp_size_ NUMBER := 0; + xml_ CLOB; + --TIBE-1418, End + $END + + --TIBE-1418, Start + $IF Component_Invoic_SYS.INSTALLED $THEN + $IF Component_Payled_SYS.INSTALLED $THEN + CURSOR count_plan_details_cur (p_invoice_id_ NUMBER) IS + SELECT COUNT(*) + FROM Payment_Plan_Tab + WHERE invoice_id = p_invoice_id_ + AND company = company_; + + CURSOR get_installment_cur (p_invoice_id_ NUMBER) IS + SELECT payment_method, installment_id, due_date, interest_percent, + curr_amount, curr_amount - cleared_curr_amount open_amount + FROM payment_plan_tab + WHERE invoice_id = p_invoice_id_ + AND company = company_ + AND identity = customer_; + short_name_ VARCHAR2(80); + + $END + $END + --TIBE-1418, End + $IF Component_Mpccom_SYS.INSTALLED $THEN + phrase_on_document_tab_ Phrase_On_Document_API.Phrase_Id_Tab; + document_phrase_ VARCHAR2(2000); + $END + + + --HOINeEd (START) BQA-1142,BQA-11122,BQA-11123,BQA-11611 (Assyst :12117,12009,12010,14617) + + addrne_ VARCHAR2(2000) ; + purchase_ord_ne_ VARCHAR2(300); + contract_type_ VARCHAR2(4000); + jobne_ VARCHAR2(500); + tot_rev_ NUMBER; + contactne_ VARCHAR2(200) ; + bill_to_addrne_ VARCHAR2(2000) ; + ship_to_addrne_ VARCHAR2(2000) ; + phonene_ VARCHAR2(200) ; + tot_billed_to_datene_ NUMBER; -- T*M TYPE + tot_prev_billed_to_datene_ NUMBER;--T*M TYPE + rtot_billed_to_datene_ NUMBER;-- not T*M TYPE + less_ret_todate_ne_ NUMBER;-- 'CONTRET' TYPE + less_prev_billed_ne_ NUMBER;-- not T*M TYPE + tot_amount_due_ne_ NUMBER;-- not T*M TYPE + sales_tax_amount_ne_ NUMBER;-- not T*M TYPE + invoice_typene_ VARCHAR2(50); + ret_tot_retne_ NUMBER; + + CURSOR get_address(company_ VARCHAR2) IS + SELECT Address1 ||Address2||', ' || Address3 || CITY ||', ' ||STATE ||' '|| ZIP_CODE || ' * PHONE ' + FROM COMPANY_ADDRESS + WHERE COMPANY = company_ + AND ADDRESS_ID = (SELECT COMPANY_ADDRESS_TYPE_API.Get_Company_Address_Id(company_,'Pay','TRUE')FROM dual); + + + + CURSOR get_phone(company_ VARCHAR2) IS + SELECT VALUE + FROM COMM_METHOD + WHERE ADDRESS_ID = (SELECT COMPANY_ADDRESS_TYPE_API.Get_Company_Address_Id(company_ ,'Pay','TRUE')FROM dual) + AND METHOD_ID = 'Phone'; + + + + CURSOR get_job(invoice_no_ VARCHAR2 ,company_ VARCHAR2,series_id_ VARCHAR2)IS + SELECT CASE + WHEN SALES_CONTRACT_API.Get_Contract_Name(op.OUR_REFERENCE) IS NOT NULL THEN + SALES_CONTRACT_API.Get_Contract_Name(op.OUR_REFERENCE) + ELSE + PROJECT_API.Get_Description(op.project_id) + END AS job + + FROM Project_Invoice op + WHERE invoice_no = invoice_no_ + AND company = company_ + AND series_id = series_id_; + + CURSOR get_purchase_order(invoice_no_ VARCHAR2 ,company_ VARCHAR2,series_id_ VARCHAR2)IS + SELECT CASE + WHEN (SELECT CONTRACT_REF FROM SALES_CONTRACT WHERE CONTRACT_NO = op.OUR_REFERENCE) IS NOT NULL THEN + (SELECT CONTRACT_REF + FROM SALES_CONTRACT + WHERE CONTRACT_NO = op.OUR_REFERENCE) + ELSE + project_api.get_customer_project_id(op.project_id) + END AS PO + + FROM Project_Invoice op + WHERE invoice_no = invoice_no_ + AND company = company_ + AND series_id = series_id_; + + CURSOR contract_type_ne(invoice_no_ VARCHAR2 ,company_ VARCHAR2,series_id_ VARCHAR2)IS + SELECT CASE + WHEN (SELECT TYPE_ID FROM SALES_CONTRACT WHERE CONTRACT_NO = op.OUR_REFERENCE) IS NOT NULL THEN + (SELECT TYPE_ID + FROM SALES_CONTRACT + WHERE CONTRACT_NO = op.OUR_REFERENCE) + ELSE + project_api.Get_Category1_Id(op.project_id) + END AS PO + + FROM Project_Invoice op + WHERE invoice_no = invoice_no_ + AND company = company_ + AND series_id = series_id_; + + + CURSOR get_head_details_ssr(invoice_no_ VARCHAR2 ,company_ VARCHAR2,series_id_ VARCHAR2)IS + SELECT tot_billed_to_date ,tot_prev_billed_to_date,TOT_RETENTION + FROM ifsapp.leg_rep_proj_inv_head + WHERE 1 = 1 + AND invoice_no = invoice_no_ + AND company = company_ + AND series_id = series_id_ ; + + + CURSOR get_contact(invoice_no_ VARCHAR2 ,company_ VARCHAR2,series_id_ VARCHAR2)IS + SELECT DISTINCT pcm.name + FROM ifsapp.project_invoice pi + join ifsapp.project p + ON pi.company = p.company + AND pi.project_id = p.project_id + left join ifsapp.project_comm_method pcm + ON pi.project_id = pcm.project_id + WHERE pi.invoice_no = invoice_no_ + AND pi.company = company_ + AND series_id = series_id_ ; + + + CURSOR get_bill_to_addr(invoice_no_ VARCHAR2 ,company_ VARCHAR2,series_id_ VARCHAR2)IS + SELECT DISTINCT ifsapp.customer_info_address_api.Get_Address(customer_id_ => op.customer, address_id_ => ifsapp.customer_info_address_type_api.Get_Default_Address_Id(customer_id_ => op.customer,address_type_code_ => 'PAY')) + FROM Project_Invoice op + WHERE company = company_ + AND invoice_no = invoice_no_ + AND series_id = series_id_; + + + + CURSOR get_shipto_addr(invoice_no_ VARCHAR2 ,company_ VARCHAR2,series_id_ VARCHAR2)IS + SELECT DISTINCT ifsapp.project_address_api.Get_Address(project_id_ => pi.project_id, address_id_ => 'JOBSITE') AS ship_to_address + FROM ifsapp.project_invoice pi + WHERE pi.invoice_no = invoice_no_ + AND pi.company = company_ + AND pi.series_id = series_id_; + + + CURSOR get_data_ssr(invoice_no_ VARCHAR2 ,company_ VARCHAR2,series_id_ VARCHAR2)IS + SELECT (nvl(TOTAL_RETENTION,0) - nvl(RETENTION_RELEASED,0)) ,TOTAL_VALUE,AFP_PREV_DUE,THIS_APPL_AMOUNT_DUE,THIS_APPL_TAX_AMOUNT + FROM ifsapp.leg_rep_proj_inv_ret + WHERE company = company_ + AND invoice_no = invoice_no_ + AND ledger_item_series_id = series_id_; + + CURSOR get_contract_amount(invoice_no_ VARCHAR2 ,company_ VARCHAR2,series_id_ VARCHAR2)IS + SELECT sum (CONTRACT_REVISION_UTIL_API.Get_Contract_Sales_Value_Cc(cr.CONTRACT_NO, cr.REV_SEQ))AS tot_rev + FROM CONTRACT_REVISION cr ,project_invoice pi + WHERE + STATE = 'Active' + AND pi.OUR_REFERENCE = cr.CONTRACT_NO + AND company = company_ + AND invoice_no = invoice_no_ + AND series_id = series_id_; + + + + CURSOR get_invoice_type_ne(invoice_no_ VARCHAR2 ,company_ VARCHAR2,series_id_ VARCHAR2)IS + SELECT INVOICE_TYPE + FROM PROJECT_INVOICE + WHERE invoice_no = invoice_no_ + AND company = company_ + AND series_id = series_id_ ; + + --HOINeEd (FINISH) BQA-1142,BQA-11122,BQA-11123,BQA-11611 (Assyst :12117,12009,12010,14617) + +BEGIN + General_SYS.Init_Method(lu_name_, 'PROJECT_INVOICE_RPI', 'REPORT_PRJINV'); + + result_key_ := Client_SYS.Attr_Value_To_Number(Client_SYS.Get_Item_Value('RESULT_KEY', report_attr_)); + $IF Component_Invoic_SYS.INSTALLED $THEN + invoice_no_ := Client_SYS.Get_Item_Value('INVOICE_NO', parameter_attr_); + company_ := Client_SYS.Get_Item_Value('COMPANY', parameter_attr_); + series_id_ := Client_SYS.Get_Item_Value('SERIES_ID', parameter_attr_); + tax_invoice_param_ := nvl(to_number(Client_SYS.Get_Item_Value('TAX_INVOICE', parameter_attr_)),0); + + OPEN get_position; + FETCH get_position INTO doc_recip_address_pos_; + CLOSE get_position; + + IF doc_recip_address_pos_ = 'LEFT' THEN + print_address_on_left_ := 1; + ELSE + print_address_on_left_ := 0; + END IF; + + domain_id_ := Company_API.Get_Domain_Id(company_); + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Create_Report_Header(xml_,'PROJECT_INVOICE_REP',package_name_); + Xml_Record_Writer_SYS.Start_Element(xml_, 'PROJECT_INVOICE_HEADERS'); + END IF; + OPEN get_invoice_id(invoice_no_,series_id_); + FETCH get_invoice_id INTO tmp_invoice_id_; + CLOSE get_invoice_id; + + is_cor_invoice_ := Invoice_API.Is_Correction_Invoice(company_,tmp_invoice_id_); + + + + + FOR prjinv_header IN prjinv_headercursor LOOP + -- Bug 141583, Start + -- Set Notes-field in Archive + IF tax_invoice_param_ = 1 THEN + notes_text_ := Language_SYS.Translate_Constant(lu_name_,'TAXINVNO: Tax Invoice No')||' :'; + Archive_API.Set_Notes(notes_text_||series_id_||prjinv_header.tax_invoice_number); + ELSE + notes_text_ := Language_SYS.Translate_Constant(lu_name_,'INVNO: Invoice No')||' :'; + Archive_API.Set_Notes(notes_text_||series_id_||invoice_no_); + END IF; + -- Bug 141583, End + + IF (prjinv_header.number_reference IS NOT NULL) THEN + debit_inv_ref_ := prjinv_header.series_reference||prjinv_header.number_reference; + ELSE + debit_inv_ref_ := NULL; + END IF; + --IID Refernec no + ncf_reference_ := Ncf_Invoice_Util_API.Ncf_Format_Reference(prjinv_header.company, prjinv_header.ncf_reference); + IF (prjinv_header.Invoice_Period_Start IS NULL ) THEN + inv_period_end_ := NULL; + ELSE + inv_period_end_ := prjinv_header.Invoice_Period_End; + inv_period_start_ := prjinv_header.Invoice_Period_Start; + END IF; + party_ := prjinv_header.Party; + customer_ := prjinv_header.Customer; + invoice_id_ := prjinv_header.Invoice_Id; + + first_result_key_ := Invoice_API.Get_Original_Result_Key(prjinv_header.company, invoice_id_); + + IF first_result_key_ IS NOT NULL THEN + Invoice_API.Update_Inv_Latest_Result_Key(prjinv_header.company, invoice_id_, result_key_); + END IF; + + invoice_date_str_ := To_Char(prjinv_header.Invoice_Date,'yyyy/mm/dd'); + print_tax_texts_ := Identity_Invoice_Info_API.Get_Print_Tax_Code_Text( company_, + customer_, + Party_Type_API.Decode('CUSTOMER')); + + s_inv_line_array_(0).a_company_ := prjinv_header.Company; + s_inv_line_array_(0).a_invoice_date_ := prjinv_header.Invoice_Date; + + primery_series_id_ := prjinv_header.series_id; + primary_invoice_no_ := prjinv_header.number_reference; + + IF (is_cor_invoice_ = 'TRUE') THEN + OPEN check_correction_invoice; + FETCH check_correction_invoice INTO dummy_; + + IF check_correction_invoice%NOTFOUND THEN + is_cor_invoice_ := 'FALSE'; + END IF; + CLOSE check_correction_invoice; + END IF; + + inv_no_ := prjinv_header.invoice_no; + + IF prjinv_header.series_id = Invoice_Type_API.Get_Prel_Invoice_Series(company_, + Party_Type_API.Decode('CUSTOMER'),prjinv_header.invoice_type) THEN + prel_series_ := TRUE; + END IF; + + IF (is_cor_invoice_ = 'TRUE') THEN + IF (prel_series_ = TRUE) THEN + title_ := 'PRELCORRINVOICE: PRELIMINARY CORRECTION INVOICE'; + title_type_ := 7; + ELSE + title_ := 'CORRINVOICE: CORRECTION INVOICE'; + title_type_ := 8; + END IF; + + OPEN get_debt_invoice_id(primary_invoice_no_); + FETCH get_debt_invoice_id INTO primary_invoice_id_; + CLOSE get_debt_invoice_id; + + sec_invoice_no_ := prjinv_header.Invoice_no; + sec_invoice_id_ := prjinv_header.Invoice_id; + ELSE + IF (prel_series_ = TRUE) THEN + IF (prjinv_header.Net_Amount > 0) THEN + title_ := 'PRELINVOICE: PRELIMINARY INVOICE'; + title_type_ := 0; + ELSE + title_ := 'PRELCREDITINVOICE: PRELIMINARY CREDIT INVOICE'; + title_type_ := 1; + END IF; + ELSE + IF (prjinv_header.Net_Amount > 0) THEN + title_ := 'INVOICE: INVOICE'; + title_type_ := 2; + ELSE + title_ := 'CREDITINVOICE: CREDIT INVOICE'; + title_type_ := 3; + END IF; + END IF; + + primary_invoice_no_ := prjinv_header.invoice_no; + OPEN get_invoice_id(primary_invoice_no_,primery_series_id_); + FETCH get_invoice_id INTO primary_invoice_id_; + CLOSE get_invoice_id; + END IF; + IF (prel_series_ != TRUE) THEN + -- tax_invoice_param_ + -- 1 - print separate Tax Invoice + -- 0 - print "normal" invoice, print tax invoice together if necessary + IF tax_invoice_param_ = 1 THEN + -- print separate Tax Invoice + title_ := 'TAXINV: TAX INVOICE'; + title_type_ := 6; + inv_no_ := prjinv_header.tax_invoice_number; + ELSIF Company_Tax_Control_Invoic_API.Get_Use_Tax_Invoice_Db(company_)='TRUE' AND + Invoice_Series_API.Get_Separate_Tax_Invoice(company_, prjinv_header.series_id) = 'FALSE' AND + prjinv_header.tax_invoice_number IS NOT NULL THEN + IF (is_cor_invoice_ = 'TRUE') THEN + title_ := 'CORRINVOICETAX: CORRECTION INVOICE / TAX INVOICE'; + title_type_ := 9; + ELSE + IF (prjinv_header.Net_Amount > 0) THEN + title_ := 'INVOICETAX: INVOICE / TAX INVOICE'; + title_type_ := 4; + ELSE + title_ := 'CREDITINVOICETAX: CREDIT INVOICE / TAX INVOICE'; + title_type_ := 5; + END IF; + END IF; + END IF; + END IF; + + counter_ := 0; + pos_ := instr(nvl(prjinv_header.pagefoot_one,' '),'^', 1); + + WHILE pos_ > 0 LOOP + pos_ := instr(prjinv_header.pagefoot_one,'^', pos_); + IF pos_ = 0 THEN + EXIT; + ELSE + pos_ := pos_ + 1; + counter_ := counter_ + 1; + END IF; + END LOOP; + + WHILE counter_ <= 4 LOOP + counter_ := counter_ + 1; + prjinv_header.pagefoot_one := prjinv_header.pagefoot_one || '^'; + END LOOP; + + pagefoot1_ := TRANSLATE(prjinv_header.pagefoot_one || '^' || prjinv_header.vat_no || '^','^',CHR(9)); + pagefoot2_ := TRANSLATE(prjinv_header.pagefoot_two,'^',CHR(9)); + pagefoot3_ := TRANSLATE(prjinv_header.pagefoot_three,'^',CHR(9)); + pagefoot4_ := TRANSLATE(prjinv_header.pagefoot_four,'^',CHR(9)); + pagefoot5_ := TRANSLATE(prjinv_header.pagefoot_five,'^',CHR(9)); + pagefoot6_ := TRANSLATE(prjinv_header.pagefoot_six,'^',CHR(9)); + + + OPEN chk_delivery_address_exist(prjinv_header.invoice_id); + FETCH chk_delivery_address_exist INTO delivery_exist_; + CLOSE chk_delivery_address_exist; + + cust_country_code_ := Customer_Info_Address_API.Get_Country_Code (prjinv_header.Customer, + prjinv_header.Invoice_Address_Id); + + customer_vat_no_ := Customer_Document_Tax_Info_api.Get_Vat_No_Db(prjinv_header.Customer, + prjinv_header.Invoice_Address_Id, + prjinv_header.Company, + Iso_Country_Api.Encode(prjinv_header.Supply_Country), + cust_country_code_); + + IF (delivery_exist_ = 1) THEN + OPEN get_delivery_address(prjinv_header.invoice_no, prjinv_header.series_id) ; + FETCH get_delivery_address INTO delivery_add_id_; + CLOSE get_delivery_address; + + cust_country_code_ := Customer_Info_Address_API.Get_Country_Code (prjinv_header.Customer, + delivery_add_id_); + customer_vat_no_ := Customer_Document_Tax_Info_api.Get_Vat_No_Db(prjinv_header.Customer, + prjinv_header.Invoice_Address_Id, + prjinv_header.Company, + Iso_Country_Api.Encode(prjinv_header.supply_country), + cust_country_code_); + + del_add_line1_ := Address_API.Get_Line(domain_id_,party_,delivery_add_id_,1); + del_add_line2_ := Address_API.Get_Line(domain_id_,party_,delivery_add_id_,2); + del_add_line3_ := Address_API.Get_Line(domain_id_,party_,delivery_add_id_,3); + del_add_line4_ := Address_API.Get_Line(domain_id_,party_,delivery_add_id_,4); + del_add_line5_ := Address_API.Get_Line(domain_id_,party_,delivery_add_id_,5); + del_add_line6_ := Address_API.Get_Line(domain_id_,party_,delivery_add_id_,6); + del_add_line7_ := Address_API.Get_Line(domain_id_,party_,delivery_add_id_,7); + del_add_line8_ := Address_API.Get_Line(domain_id_,party_,delivery_add_id_,8); + del_add_line9_ := Address_API.Get_Line(domain_id_,party_,delivery_add_id_,9); + del_add_line10_ := Address_API.Get_Line(domain_id_,party_,delivery_add_id_,10); + del_country_ := Iso_Country_API.Get_Description(Iso_Country_API.Encode( + CUSTOMER_INFO_ADDRESS_API.Get_Country(customer_,delivery_add_id_)) + ,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + del_customer_name:= Customer_Info_Address_API.Get_Name( customer_, delivery_add_id_); + END IF; + + IF Fnd_Boolean_API.Encode(Company_API.Get_Print_Senders_Address(company_)) = 'TRUE' THEN + document_add_ := Company_Address_API.Get_Address_Form(company_,Company_Address_API.Get_Id_By_Type(company_,Address_Type_Code_API.Decode('INVOICE')),'TRUE','TRUE',' '); + END IF; + + IF (prjinv_header.branch IS NOT NULL) THEN + branch_desc_ := Branch_API.Get_Branch_Desc(prjinv_header.Company, prjinv_header.branch); + END IF; + customer_branch_ := Customer_Info_Address_API.Get_Customer_Branch(prjinv_header.Customer, prjinv_header.invoice_address_id); + -- Bug 150132, start + comp_association_no_ := Company_API.Get_Association_No(company_); + cust_association_no_ := Customer_Info_API.Get_Association_No(prjinv_header.Customer); + -- Bug 150132, end + IF (prjinv_header.contract IS NOT NULL) THEN + contract_desc_ := Company_Site_API.Get_Description(prjinv_header.contract); + END IF; + verbally_amount_ := Invoice_Type_API.Get_Verbal_Amount(company_, Party_Type_API.Decode('CUSTOMER'), prjinv_header.invoice_type); + --HOINeEd (START) BQA-1142,BQA-11122,BQA-11123,BQA-11611 (Assyst :12117,12009,12010,14617) + + + OPEN get_address(company_) ; + FETCH get_address INTO addrne_; + CLOSE get_address; + + OPEN get_data_ssr(invoice_no_ ,company_ ,series_id_ ); + FETCH get_data_ssr INTO less_ret_todate_ne_,rtot_billed_to_datene_,less_prev_billed_ne_,tot_amount_due_ne_, sales_tax_amount_ne_ ; + CLOSE get_data_ssr; + + + OPEN get_head_details_ssr(invoice_no_ ,company_ ,series_id_ ); + FETCH get_head_details_ssr INTO tot_billed_to_datene_,tot_prev_billed_to_datene_ ,ret_tot_retne_ ; + CLOSE get_head_details_ssr; + + OPEN get_contact(invoice_no_ ,company_ ,series_id_ ); + FETCH get_contact INTO contactne_; + CLOSE get_contact; + + + OPEN get_phone(company_); + FETCH get_phone INTO phonene_ ; + CLOSE get_phone; + + + OPEN get_bill_to_addr(invoice_no_ ,company_ ,series_id_ ); + FETCH get_bill_to_addr INTO bill_to_addrne_; + CLOSE get_bill_to_addr; + + OPEN get_shipto_addr(invoice_no_ ,company_ ,series_id_ ); + FETCH get_shipto_addr INTO ship_to_addrne_; + CLOSE get_shipto_addr; + + OPEN get_purchase_order(invoice_no_ ,company_ ,series_id_ ); + FETCH get_purchase_order INTO purchase_ord_ne_; + CLOSE get_purchase_order; + + OPEN contract_type_ne(invoice_no_ ,company_ ,series_id_ ); + FETCH contract_type_ne INTO contract_type_ ; + CLOSE contract_type_ne; + + + OPEN get_job(invoice_no_ ,company_ ,series_id_ ); + FETCH get_job INTO jobne_; + CLOSE get_job; + + OPEN get_contract_amount (invoice_no_ ,company_ ,series_id_ ); + FETCH get_contract_amount INTO tot_rev_ ; + CLOSE get_contract_amount; + + OPEN get_invoice_type_ne(invoice_no_ ,company_ ,series_id_ ); + FETCH get_invoice_type_ne INTO invoice_typene_ ; + CLOSE get_invoice_type_ne; + + --HOINeEd (FINISH) BQA-1142,BQA-11122,BQA-11123,BQA-11611 (Assyst :12117,12009,12010,14617) + IF (do_xml_) THEN + IF (xml_header_flag_ = 0) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'PROJECT_INVOICE_HEADER'); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_ADDRESS_ONE',del_add_line1_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_ADDRESS_TWO',del_add_line2_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_ADDRESS_THREE',del_add_line3_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_ADDRESS_FOUR',del_add_line4_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_ADDRESS_FIVE',del_add_line5_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_ADDRESS_SIX',del_add_line6_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_ADDRESS_SEVEN',del_add_line7_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_ADDRESS_EIGHT',del_add_line8_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_ADDRESS_EIGHT',del_add_line9_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_ADDRESS_TEN',del_add_line10_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_COUNTRY',del_country_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEL_CUSTOMER_NAME',del_customer_name); + Xml_Record_Writer_SYS.Add_Element(xml_,'INVOICE_DATE',prjinv_header.Invoice_Date); + Xml_Record_Writer_SYS.Add_Element(xml_,'INVOICE_NO', inv_no_); + Xml_Record_Writer_SYS.Add_Element(xml_,'COMPANY',prjinv_header.Company); + Xml_Record_Writer_SYS.Add_Element(xml_,'SERIES_ID',prjinv_header.Series_Id); + Xml_Record_Writer_SYS.Add_Element(xml_,'ORDER_NO',prjinv_header.Order_No); + Xml_Record_Writer_SYS.Add_Element(xml_,'OUR_REFERENCE',prjinv_header.Our_Reference); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_NO',prjinv_header.Customer); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_NAME',prjinv_header.Name); + Xml_Record_Writer_SYS.Add_Element(xml_,'YOUR_REFERENCE',prjinv_header.Your_Reference); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_ADDRESS_ONE',prjinv_header.Billing_Address_One); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_ADDRESS_TWO',prjinv_header.Billing_Address_Two); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_ADDRESS_THREE',prjinv_header.Billing_Address_Three); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_ADDRESS_FOUR',prjinv_header.Billing_Address_Four); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_ADDRESS_FIVE',prjinv_header.Billing_Address_Five); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_ADDRESS_SIX',prjinv_header.Billing_Address_Six); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_ADDRESS_SEVEN',prjinv_header.Billing_Address_Seven); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_ADDRESS_EIGHT',prjinv_header.Billing_Address_Eight); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_ADDRESS_NINE',prjinv_header.Billing_Address_Nine); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILLING_ADDRESS_TEN',prjinv_header.Billing_Address_Ten); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAYMENT_TERMS',Text_Field_Translation_API.Get_Text( prjinv_header.company, 'PAYMENTTERM', prjinv_header.Pay_Term_Id, Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer))); + Xml_Record_Writer_SYS.Add_Element(xml_,'DUE_DATE',prjinv_header.Due_Date); + Xml_Record_Writer_SYS.Add_Element(xml_,'INV_PERIOD_START',prjinv_header.Invoice_Period_Start); + Xml_Record_Writer_SYS.Add_Element(xml_,'INV_PERIOD_END',inv_period_end_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_VAT_NO',customer_vat_no_); + --HOINeEd (START) BQA-1142,BQA-11122,BQA-11123,BQA-11611 (Assyst :12117,12009,12010,14617) + + Xml_Record_Writer_SYS.Add_Element(xml_,'HEADER_ADDRES_NE',addrne_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PURCHASE_ORD_NE',purchase_ord_ne_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTRACT_TYPE_NE', contract_type_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTRACT_AMOUNT_NE', tot_rev_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTACT_NE', contactne_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'PHONE_NE',phonene_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'TOT_BILL_DATE1_NE',tot_billed_to_datene_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'TOT_PRE_BILL_DATE1_NE',tot_prev_billed_to_datene_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'TOT_RETENTION_NE',ret_tot_retne_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'BILL_TO_ADDR_NE',bill_to_addrne_); + Xml_Record_Writer_SYS.Add_Element(xml_,'SHIP_TO_ADDR_NE',ship_to_addrne_); + Xml_Record_Writer_SYS.Add_Element(xml_,'JOB_NE', jobne_); + --not 'T*M' type + Xml_Record_Writer_SYS.Add_Element(xml_,'RTOT_BILL_DATE2_NE',rtot_billed_to_datene_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'LESS_PRE_BILLED_NE', less_prev_billed_ne_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'TOT_AMT_DUE_NE', tot_amount_due_ne_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'SALES_TAX_AMOUNT_NE', sales_tax_amount_ne_ ); + + --CONTRET & NTERET Type + Xml_Record_Writer_SYS.Add_Element(xml_,'LESS_RETENTION_TO_DATE_NE',less_ret_todate_ne_ ); + --fetch the credit invoice type + Xml_Record_Writer_SYS.Add_Element(xml_,'INVOICE_TYPE_NE',invoice_typene_ ); + + + --HOINeEd (FINISH) BQA-1142,BQA-11122,BQA-11123,BQA-11611 (Assyst :12117,12009,12010,14617) + Xml_Record_Writer_SYS.Add_Element(xml_,'REPORTFOOT',prjinv_header.Reportfoot); + Xml_Record_Writer_SYS.Add_Element(xml_,'COUNTRY',prjinv_header.country); + Xml_Record_Writer_SYS.Add_Element(xml_,'NCF_REFERENCE',ncf_reference_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TITLE_TYPE',title_type_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DEBIT_INVOICE_REF', debit_inv_ref_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INVOICE_TEXT', prjinv_header.invoice_text); + Xml_Record_Writer_SYS.Add_Element(xml_,'HEADER_CORRECTION_REASON', prjinv_header.header_correction_reason); + Xml_Record_Writer_SYS.Add_Element(xml_,'COMP_BRANCH_ID', prjinv_header.branch); + Xml_Record_Writer_SYS.Add_Element(xml_,'COMP_BRANCH_DESC', branch_desc_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_BRANCH', customer_branch_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CONTRACT_DESCRIPTION', contract_desc_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PRINT_ADDRESS_ON_LEFT', print_address_on_left_); + Xml_Record_Writer_SYS.Add_Custom_Fields(xml_, 'Invoice', prjinv_header.rowkey, 'PROJECT_INVOICE_REP', language_code_); + + Xml_Record_Writer_SYS.Add_Element(xml_,'DOCUMENT_ADDRESS',document_add_ ); + -- Bug 150132, start + Xml_Record_Writer_SYS.Add_Element(xml_, 'COMP_ASSOCIATION_NO', comp_association_no_); + Xml_Record_Writer_SYS.Add_Element(xml_, 'CUST_ASSOCIATION_NO', cust_association_no_); + -- Bug 150132, end + Xml_Record_Writer_SYS.Add_Element(xml_, 'VERBALLY_AMOUNT', verbally_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_, 'IS_CORRECTION_INVOICE', is_cor_invoice_); + IF (Footer_Connection_API.Is_Report_Footer_Connected(company_,'PROJECT_INVOICE_REP','*')) THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'DOCUMENT_FOOTER', 'TRUE'); + ELSE + Xml_Record_Writer_SYS.Add_Element(xml_,'DOCUMENT_FOOTER', 'FALSE'); + END IF; + + xml_header_flag_ := 1; + + Xml_Record_Writer_SYS.Start_Element(xml_, 'REPORT_FOOTERS'); + IF pagefoot1_ IS NOT NULL THEN + --TIBE-1418, Start + Split_Pagefooter___(xml_, pagefoot1_); + --TIBE-1418, End + END IF; + IF pagefoot2_ IS NOT NULL THEN + --TIBE-1418, Start + Split_Pagefooter___(xml_, pagefoot2_); + --TIBE-1418, End + END IF; + IF pagefoot3_ IS NOT NULL THEN + --TIBE-1418, Start + Split_Pagefooter___(xml_, pagefoot3_); + --TIBE-1418, End + END IF; + IF pagefoot4_ IS NOT NULL THEN + --TIBE-1418, Start + Split_Pagefooter___(xml_, pagefoot4_); + --TIBE-1418, End + END IF; + IF pagefoot5_ IS NOT NULL THEN + --TIBE-1418, Start + Split_Pagefooter___(xml_, pagefoot5_); + --TIBE-1418, End + END IF; + IF pagefoot6_ IS NOT NULL THEN + --TIBE-1418, Start + Split_Pagefooter___(xml_, pagefoot6_); + --TIBE-1418, End + END IF; + Xml_Record_Writer_SYS.End_Element(xml_, 'REPORT_FOOTERS'); + + $IF Component_Mpccom_SYS.INSTALLED $THEN + lang_code_ := Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer); + IF lang_code_ IS NOT NULL THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'DOC_PHRASES'); + phrase_on_document_tab_ := Phrase_On_Document_API.Get_Phrase_Id_Tab( 'PROJINV', prjinv_header.Company, NULL); + IF (phrase_on_document_tab_.COUNT > 0) THEN + FOR n IN phrase_on_document_tab_.FIRST..phrase_on_document_tab_.LAST LOOP + document_phrase_ := Mpccom_Phrase_Text_API.Get_Phrase_Text( phrase_on_document_tab_(n), lang_code_); + IF (document_phrase_ IS NOT NULL) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'DOC_PHRASE'); + Xml_Record_Writer_SYS.Add_Element(xml_, 'DOCUMENT_PHRASE', document_phrase_ ); + Xml_Record_Writer_SYS.End_Element(xml_, 'DOC_PHRASE'); + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT (result_key, + row_no, + parent_row_no, + S51) + VALUES (result_key_, + row_no_, + parent_row_no_, + document_phrase_ ); + row_no_ := row_no_ + 1; + END IF; + END IF; + END LOOP; + END IF; + Xml_Record_Writer_SYS.End_Element(xml_, 'DOC_PHRASES'); + END IF; + $END + + -- Note: Document Footer for report + IF (Footer_Connection_API.Is_Report_Footer_Connected(company_,'PROJECT_INVOICE_REP','*')) THEN + -- Create attribute string with data for system defined footer field (at release of Apps 8 SP1 only TAX_NO exist) + -- Registered interface for the system defined footer field needs to know (hard coded) what to extract. + Client_SYS.Add_To_Attr('TAX_NO', prjinv_header.vat_no, sys_footer_field_attr_); + + Footer_Connection_API.Get_Footer_Details(row_, + column_title_, + column_text_, + company_, + 'PROJECT_INVOICE_REP', + '*', + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer), + sys_footer_field_attr_); + Xml_Record_Writer_SYS.Start_Element(xml_, 'DOCUMENT_FOOTERS'); + + FOR i IN 0..row_ LOOP + Xml_Record_Writer_SYS.Start_Element(xml_,'DOCUMENT_FOOTER'); + f_title_ := column_title_(i); + f_text_ := column_text_(i); + FOR n IN f_title_.FIRST..f_text_.LAST LOOP + Xml_Record_Writer_SYS.Add_Element(xml_,f_title_(n),f_text_(n)); + END LOOP; + Xml_Record_Writer_SYS.End_Element(xml_,'DOCUMENT_FOOTER'); + END LOOP; + Xml_Record_Writer_SYS.End_Element(xml_,'DOCUMENT_FOOTERS'); + END IF; + -- + + Xml_Record_Writer_SYS.Start_Element(xml_, 'PROJECTS'); + END IF; + END IF; + + First_Time_ := 'TRUE'; + + -- Bug 152072, Start + OPEN get_transferred_tax_id(primary_invoice_id_); + FETCH get_transferred_tax_id BULK COLLECT INTO transferred_tax_tab_; + CLOSE get_transferred_tax_id; + -- Bug 152072, End + + FOR prjinv_detail IN prjinv_detailcursor(primary_invoice_id_) LOOP + row_amount_ := prjinv_detail.Net_Curr_Amount; + cust_ := prjinv_header.Customer; + + Eurvat_currency_ := 'EUR'; + vat_currency_ := 'VATCURR: in '; + + IF(prjinv_detail.Item_Id = 100001) THEN + round_it_ := 'TRUE'; + currency_rounding_ :=row_amount_; + END IF; + + IF(prjinv_detail.Item_Id = 100000) THEN + fee_exist_ := 'TRUE'; + fee_amount_ := row_amount_; + END IF; + + fee_type_ := Statutory_Fee_Api.Get_Fee_Type_Db(prjinv_header.Company,prjinv_detail.VAT_CODE); + IF (fee_type_ = 'NOTAX') THEN + vat_percentage_ := ''; + ELSE + vat_percentage_ := prjinv_detail.tax_percentage; + END IF; + net_amount_ := net_amount_ + row_amount_; + + Customer_Id := Project_API.Get_Customer_Id(prjinv_detail.Project_Id); + inv_addr_id_ := Invoice_API.Get_Invoice_Address_Id(company_, primary_invoice_id_); + Customer_Name_Proj := Customer_Info_Address_API.Get_Name(Customer_Id, inv_addr_id_); + Customer_Ord_ := Customer_Id; + + gross_amount_ := gross_amount_ + (prjinv_detail.net_curr_amount + prjinv_detail.vat_curr_amount); + + OPEN print_ref_to_ord_cust; + FETCH print_ref_to_ord_cust INTO cust_print_ref_; + CLOSE print_ref_to_ord_cust; + + item_id_ := prjinv_detail.Item_Id; + + --To check for TRANSFERRED=TRUE + check_value_ := 0; + dummy_sales_tax_ := 1; + + --A check value in order to ensure that the report code prints once for each ITEM_ID + check_note_ := 1; + + temp_report_cost_code_ := ''; + temp_invoiced_qty_ := 0; + temp_Sale_Unit_Price_ := 0; + + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001 AND NOT prjinv_detail.Item_Id > 100100) THEN + IF (prjinv_detail.Project_Id != old_project_id_ OR old_project_id_ IS NULL) THEN + IF (old_project_id_ IS NOT NULL OR (First_Time_ NOT LIKE 'TRUE' AND prjinv_detail.Project_Id IS NULL)) THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 1); + --TIBE-1418, End + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_DETAILS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITY'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITIES'); + Xml_Record_Writer_SYS.End_Element(xml_, 'SUB_PROJECT'); + Xml_Record_Writer_SYS.End_Element(xml_, 'SUB_PROJECTS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT'); + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'PROJECT'); + Xml_Record_Writer_SYS.Add_Custom_Fields(xml_, 'InvoiceItem', prjinv_detail.objkey, 'PROJECT_INVOICE_REP', language_code_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 1); + Xml_Record_Writer_SYS.Add_Element(xml_,'PROJECT_ID',prjinv_detail.Project_Id); + Xml_Record_Writer_SYS.Add_Element(xml_,'PROJECT_NAME',prjinv_detail.Project_Name); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_ID',Customer_Id); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_NAME_PROJ',Customer_Name_Proj); + Xml_Record_Writer_SYS.Add_Element(xml_,'PRINT_REFERANCE_CUST_ORDERING',cust_print_ref_); + project_flag_ := 1; + Xml_Record_Writer_SYS.Start_Element(xml_, 'SUB_PROJECTS'); + old_sub_project_id_ := NULL; + END IF; + + IF (prjinv_detail.Sub_Project_Id != old_sub_project_id_ OR old_sub_project_id_ IS NULL) THEN + IF (old_sub_project_id_ IS NOT NULL) THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 1); + --TIBE-1418, End + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_DETAILS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITY'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITIES'); + Xml_Record_Writer_SYS.End_Element(xml_, 'SUB_PROJECT'); + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'SUB_PROJECT'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 1); + Xml_Record_Writer_SYS.Add_Element(xml_,'SUB_PROJECT_ID',prjinv_detail.Sub_Project_Id); + Xml_Record_Writer_SYS.Add_Element(xml_,'SUB_PROJECT_NAME',prjinv_detail.Sub_Project_Name); + sub_project_flag_ := 1; + Xml_Record_Writer_SYS.Start_Element(xml_, 'ACTIVITIES'); + old_activity_ := NULL; + END IF; + + IF (prjinv_detail.Activity_Seq != old_activity_ OR old_activity_ IS NULL) THEN + IF (old_activity_ IS NOT NULL) THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 1); + --TIBE-1418, End + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_DETAILS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITY'); + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'ACTIVITY'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 1); + Xml_Record_Writer_SYS.Add_Element(xml_,'ACTIVITY_SEQ',prjinv_detail.Activity_Seq); + Xml_Record_Writer_SYS.Add_Element(xml_,'ACTIVITY_NAME',prjinv_detail.Activity_Name); + activity_flag_ := 1; + Xml_Record_Writer_SYS.Start_Element(xml_, 'PROJECT_INVOICE_DETAILS'); + END IF; + + IF n_inv_line_size_ = 1 THEN + IF(s_inv_line_array_(0).a_proj_id_ = prjinv_detail.Project_Id AND + s_inv_line_array_(0).a_sub_proj_id_ = prjinv_detail.Sub_Project_Id AND + s_inv_line_array_(0).a_activity_seq_ = prjinv_detail.Activity_Seq AND + s_inv_line_array_(0).a_activity_name_ = prjinv_detail.Activity_Name AND + s_inv_line_array_(0).a_rep_cost_code_ = prjinv_detail.report_cost_code AND + ((s_inv_line_array_(0).a_sale_unit_price_ = prjinv_detail.Sale_Unit_Price) + OR (s_inv_line_array_(0).a_sale_unit_price_ IS NULL AND prjinv_detail.Sale_Unit_Price IS NULL)) AND + ((s_inv_line_array_(0).a_note_ = prjinv_detail.Note) + OR (s_inv_line_array_(0).a_note_ IS NULL AND prjinv_detail.Note IS NULL)) AND + ((s_inv_line_array_(0).a_vat_code_ = prjinv_detail.vat_code ) + OR (s_inv_line_array_(0).a_vat_code_ IS NULL AND prjinv_detail.vat_code IS NULL)) AND + + ((s_inv_line_array_(0).a_price_adj_id_ = prjinv_detail.price_adjustment_id) + OR (s_inv_line_array_(0).a_price_adj_id_ IS NULL AND prjinv_detail.price_adjustment_id IS NULL)) AND + ((s_inv_line_array_(0).a_emp_no_ = prjinv_detail.emp_no) + OR (s_inv_line_array_(0).a_emp_no_ IS NULL AND prjinv_detail.emp_no IS NULL))) THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 1); + --TIBE-1418, End + END IF; + END IF; + END IF; + END IF; + + lines_tax_defined_flag_ := 0; + OPEN get_currency(primary_invoice_id_); + FETCH get_currency INTO inv_currency_; + CLOSE get_currency; + IF (transferred_tax_tab_.COUNT > 0) THEN + FOR i IN transferred_tax_tab_.FIRST .. transferred_tax_tab_.LAST LOOP + lines_tax_defined_flag_ := 1; + IF (transferred_tax_tab_(i).transferred='TRUE') THEN + tr_tax_curr_amount_ := 0; + FOR rec_ IN get_proj_trans_seq(primary_invoice_id_, prjinv_detail.Item_Id) LOOP + OPEN get_transferred_tax(rec_.project_transaction_seq, inv_currency_, transferred_tax_tab_(i).tax_code); + FETCH get_transferred_tax INTO tax_curr_amount_; + CLOSE get_transferred_tax; + tr_tax_curr_amount_ := NVL(tr_tax_curr_amount_, 0) + NVL(tax_curr_amount_, 0); + END LOOP; + check_value_ := 1; + included_prt_ := ' included'; + tax_percentage_prt_ := transferred_tax_tab_(i).tax_percentage||'%'; + IF (print_tax_texts_ = 'TRUE') THEN + OPEN get_date_range(transferred_tax_tab_(i).tax_code, invoice_date_str_); + FETCH get_date_range INTO valid_from_, valid_until_; + CLOSE get_date_range; + + fee_code_desc_prt_ := NVL(Enterp_Comp_Connect_V170_API.Get_Company_Translation( company_, + 'ACCRUL', + 'TaxCodeTexts', + transferred_tax_tab_(i).tax_code||'^'||REPLACE(To_Char(valid_from_,'yyyy/mm/dd'), '/', '')||'^'||REPLACE(To_Char(valid_until_,'yyyy/mm/dd'), '/', ''), + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)), + statutory_fee_api.get_description(company_,transferred_tax_tab_(i).tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer))); + ELSE + fee_code_desc_prt_ := statutory_fee_api.get_description(company_,transferred_tax_tab_(i).tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + END IF; + + --To get the total amount of fee codes when transferred is TRUE,this should be removed from the gross amount. + IF (NVL(tr_tax_curr_amount_, 0) < transferred_tax_tab_(i).tax_curr_amount) THEN + tot_tax_curr_amt_ := tot_tax_curr_amt_ + transferred_tax_tab_(i).tax_curr_amount; + ELSE + tot_tax_curr_amt_ := tot_tax_curr_amt_ + NVL(tr_tax_curr_amount_, 0); + END IF; + row_amount_ := row_amount_ + NVL(tr_tax_curr_amount_, 0); + IF (do_rs_) THEN + IF(temp_report_cost_code_ = prjinv_detail.report_cost_code AND + temp_invoiced_qty_ = prjinv_detail.invoiced_qty AND + temp_Sale_Unit_Price_ = prjinv_detail.Sale_Unit_Price) THEN + UPDATE INFO_SERVICES_RPT + SET N5 = row_amount_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + END IF; + + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001 AND NOT prjinv_detail.Item_Id > 100100) THEN + s_tax_line_array_(n_tax_line_size_).a_check_value_ := check_value_; + s_tax_line_array_(n_tax_line_size_).a_temp_tax_value_ := dummy_sales_tax_; + s_tax_line_array_(n_tax_line_size_).a_fee_code_ := transferred_tax_tab_(i).tax_code; + s_tax_line_array_(n_tax_line_size_).a_fee_code_desc_ := fee_code_desc_prt_; + s_tax_line_array_(n_tax_line_size_).a_tax_curr_amount_ := NVL(tr_tax_curr_amount_, 0); + s_tax_line_array_(n_tax_line_size_).a_included_txt_ := included_prt_; + n_tax_line_size_ := n_tax_line_size_ + 1; + END IF; + END IF; + + temp_report_cost_code_ := prjinv_detail.report_cost_code; + temp_invoiced_qty_ := prjinv_detail.invoiced_qty; + temp_Sale_Unit_Price_ := prjinv_detail.Sale_Unit_Price; + + END IF; + -- Bug 167717, Start, Changed tax_curr_amount + -- Bug 150132, Added COMP_ASSOCIATION_NO and CUST_ASSOCIATION_NO. + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + D1, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + N1, + S15, + S16, + S17, + S18, + N2, + S19, + S20, + N3, + N4, + N5, + S21, + S22, + S23, + S24, + S25, + S26, + S27, + S39, + S40, + S34, + S36, + S37, + S38, + S41, + S50, + N20, + S42, + S44, + N19, + S43, + N21, + S45, + N18, + S33, + N13, + S31, + N31, + S56, + S57, + S58, + S59, + S60, + S61, + S62, + S63, + S64, + S65) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Invoice_Date, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer||'^'||del_customer_name||'^', + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One||'^'||del_add_line1_||'^', + prjinv_header.Billing_Address_Two||'^'||del_add_line2_||'^', + prjinv_header.Billing_Address_Three||'^'||del_add_line3_||'^', + prjinv_header.Billing_Address_Four||'^'||del_add_line4_||'^', + prjinv_header.Billing_Address_Five||'^'||del_add_line5_||'^', + prjinv_header.Billing_Address_Six||'^'||del_add_line6_||'^', + prjinv_header.Billing_Address_Seven||'^'||del_add_line7_||'^', + prjinv_header.Billing_Address_Eight||'^'||del_add_line8_||'^', + prjinv_header.Billing_Address_Nine||'^'||del_add_line9_||'^', + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + prjinv_detail.Item_Id, + prjinv_detail.Project_Id, + prjinv_detail.Project_Name, + prjinv_detail.Sub_Project_Id, + prjinv_detail.Sub_Project_Name, + prjinv_detail.Activity_Seq, + prjinv_detail.Activity_Name, + prjinv_detail.report_cost_code, + prjinv_detail.Invoiced_Qty, + prjinv_detail.Sale_Unit_Price, + row_amount_, + title_, + prjinv_detail.Note, + customer_vat_no_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + prjinv_header.Reportfoot, + Customer_Id, + Customer_Name_Proj, + cust_print_ref_, + prjinv_header.country||'^'||del_country_||'^', + ncf_reference_, + check_value_, + transferred_tax_tab_(i).tax_code, + tax_percentage_prt_, + NVL(tr_tax_curr_amount_, 0), + fee_code_desc_prt_, + check_note_, + included_prt_, + dummy_sales_tax_, + round_it_, + currency_rounding_, + prjinv_header.Currency, + base_net_curr_amount_, + prjinv_header.header_correction_reason, + prjinv_detail.correction_reason, + prjinv_header.branch, + branch_desc_, + customer_branch_, + contract_desc_, + comp_association_no_, + cust_association_no_, + verbally_amount_, + is_cor_invoice_ + + ); + -- Bug 167717, End + row_no_ := row_no_ + 1; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + S5) + VALUES( + result_key_, + row_no_, + 2, + prjinv_detail.invoice_text); + END IF; + row_no_ := row_no_ + 1; + END IF; + check_note_ := 0; + END LOOP; + END IF; + -- Bug 152072, End + + IF (lines_tax_defined_flag_ = 0) THEN + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + D1, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + N1, + S15, + S16, + S17, + S18, + N2, + S19, + S20, + N3, + N4, + N5, + S21, + S22, + S23, + S24, + S25, + S26, + S27, + S39, + S40, + S34, + S36, + S37, + S38, + S41, + S50, + N20, + S44, + S43, + N21, + S45, + N18, + S33, + N13, + S31, + S56, + S57, + S64, + S65) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Invoice_Date, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer||'^'||del_customer_name||'^', + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One||'^'||del_add_line1_||'^', + prjinv_header.Billing_Address_Two||'^'||del_add_line2_||'^', + prjinv_header.Billing_Address_Three||'^'||del_add_line3_||'^', + prjinv_header.Billing_Address_Four||'^'||del_add_line4_||'^', + prjinv_header.Billing_Address_Five||'^'||del_add_line5_||'^', + prjinv_header.Billing_Address_Six||'^'||del_add_line6_||'^', + prjinv_header.Billing_Address_Seven||'^'||del_add_line7_||'^', + prjinv_header.Billing_Address_Eight||'^'||del_add_line8_||'^', + prjinv_header.Billing_Address_Nine||'^'||del_add_line9_||'^', + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + prjinv_detail.Item_Id, + prjinv_detail.Project_Id, + prjinv_detail.Project_Name, + prjinv_detail.Sub_Project_Id, + prjinv_detail.Sub_Project_Name, + prjinv_detail.Activity_Seq, + prjinv_detail.Activity_Name, + prjinv_detail.report_cost_code, + prjinv_detail.Invoiced_Qty, + prjinv_detail.Sale_Unit_Price, + row_amount_, + title_, + prjinv_detail.Note, + customer_vat_no_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + prjinv_header.Reportfoot, + Customer_Id, + Customer_Name_Proj, + cust_print_ref_, + prjinv_header.country||'^'||del_country_||'^', + ncf_reference_, + check_value_, + tax_percentage_prt_, + fee_code_desc_prt_, + check_note_, + included_prt_, + dummy_sales_tax_, + round_it_, + currency_rounding_, + prjinv_header.Currency, + prjinv_header.header_correction_reason, + prjinv_detail.correction_reason, + verbally_amount_, + is_cor_invoice_ + ); + row_no_ := row_no_ + 1; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + S5) + VALUES( + result_key_, + row_no_, + 2, + prjinv_detail.invoice_text); + END IF; + row_no_ := row_no_ + 1; + END IF; + END IF; + + IF (check_value_ = 0) THEN + IF(temp_.Project_Id = prjinv_detail.Project_Id AND + temp_.Sub_Project_Id = prjinv_detail.Sub_Project_Id AND + temp_.Activity_Seq = prjinv_detail.Activity_Seq AND + temp_.Activity_Name = prjinv_detail.Activity_Name AND + temp_.report_cost_code = prjinv_detail.report_cost_code AND + ((temp_.Sale_Unit_Price = prjinv_detail.Sale_Unit_Price) + OR (temp_.Sale_Unit_Price IS NULL AND prjinv_detail.Sale_Unit_Price IS NULL)) AND + ((temp_.Note = prjinv_detail.Note) + OR (temp_.Note IS NULL AND prjinv_detail.Note IS NULL)) AND + ((temp_.vat_code = prjinv_detail.vat_code ) + OR (temp_.vat_code IS NULL AND prjinv_detail.vat_code IS NULL)) AND + ((temp_.price_adjustment_id = prjinv_detail.price_adjustment_id) + OR (temp_.price_adjustment_id IS NULL AND prjinv_detail.price_adjustment_id IS NULL))) THEN + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001) THEN + s_inv_line_array_(0).a_invoice_qty_ := s_inv_line_array_(0).a_invoice_qty_ + prjinv_detail.Invoiced_Qty; + s_inv_line_array_(0).a_net_curr_amount_ := s_inv_line_array_(0).a_net_curr_amount_ + row_amount_; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + s_inv_text_array_(arr_index_) := prjinv_detail.invoice_text; + s_inv_text_array_.extend(1); + arr_index_ := arr_index_ + 1; + END IF; + END IF; + END IF; + + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N3 = N3 + prjinv_detail.Invoiced_Qty, + N5 = N5 + row_amount_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + ELSE + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001 AND NOT prjinv_detail.Item_Id > 100100) THEN + IF n_inv_line_size_ = 1 THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 1); + --TIBE-1418, End + END IF; + s_inv_line_array_(0).a_proj_id_ := prjinv_detail.Project_Id; + s_inv_line_array_(0).a_proj_name_ := prjinv_detail.Project_Name; + s_inv_line_array_(0).a_cust_id_ := Customer_Id; + s_inv_line_array_(0).a_cust_name_ := Customer_Name_Proj; + s_inv_line_array_(0).a_print_ref_ := cust_print_ref_; + s_inv_line_array_(0).a_sub_proj_id_ := prjinv_detail.Sub_Project_Id; + s_inv_line_array_(0).a_sub_proj_name_ := prjinv_detail.Sub_Project_Name; + s_inv_line_array_(0).a_activity_seq_ := prjinv_detail.Activity_Seq; + s_inv_line_array_(0).a_activity_name_ := prjinv_detail.Activity_Name; + s_inv_line_array_(0).a_invoice_qty_ := prjinv_detail.Invoiced_Qty; + s_inv_line_array_(0).a_sale_unit_price_ := prjinv_detail.Sale_Unit_Price; + s_inv_line_array_(0).a_net_curr_amount_ := row_amount_; + s_inv_line_array_(0).a_note_ := prjinv_detail.Note; + s_inv_line_array_(0).a_vat_code_ := prjinv_detail.vat_code; + s_inv_line_array_(0).a_price_adj_id_ := prjinv_detail.price_adjustment_id; + s_inv_line_array_(0).a_rep_cost_code_ := prjinv_detail.report_cost_code; + s_inv_line_array_(0).a_item_id_ := prjinv_detail.item_id; + s_inv_line_array_(0).a_correction_reason := prjinv_detail.correction_reason; + + + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + s_inv_text_array_(arr_index_) := prjinv_detail.invoice_text; + s_inv_text_array_.extend(1); + arr_index_ := arr_index_ + 1; + END IF; + --IF (fee_type_ != 'NOTAX') THEN + -- IF (fee_type_ != 'SALETX') THEN + --s_inv_line_array_(0).b_vat_percentage_row_ := vat_percentage_; + -- END IF; + --s_inv_line_array_(0).b_vat_amount_row_ := prjinv_detail.vat_curr_amount; + --END IF; + + --s_inv_line_array_(0).b_gross_amount_row_ := prjinv_detail.gross_curr_amount; + + n_inv_line_size_ := 1; + END IF; + END IF; + END IF; + temp_.Project_Id := prjinv_detail.Project_Id; + temp_.Sub_Project_Id := prjinv_detail.Sub_Project_Id; + temp_.Activity_Seq := prjinv_detail.Activity_Seq; + temp_.Activity_Name := prjinv_detail.Activity_Name; + temp_.report_cost_code := prjinv_detail.report_cost_code; + temp_.Sale_Unit_Price := prjinv_detail.Sale_Unit_Price; + IF (temp_.Sale_Unit_Price IS NULL ) THEN + temp_.Sale_Unit_Price := 0; + END IF; + temp_.Note := prjinv_detail.Note; + temp_.Net_Curr_Amount := prjinv_detail.Net_Curr_Amount; + temp_.vat_code := prjinv_detail.vat_code; + temp_.vat_curr_amount := prjinv_detail.vat_curr_amount; + temp_.price_adjustment_id := prjinv_detail.price_adjustment_id; + END IF; + + + + + IF (check_value_ = 1) THEN + IF(temp_.Project_Id = prjinv_detail.Project_Id AND + temp_.Sub_Project_Id = prjinv_detail.Sub_Project_Id AND + temp_.Activity_Seq = prjinv_detail.Activity_Seq AND + temp_.Activity_Name = prjinv_detail.Activity_Name AND + temp_.report_cost_code = prjinv_detail.report_cost_code AND + ((temp_.Sale_Unit_Price = prjinv_detail.Sale_Unit_Price) + OR (temp_.Sale_Unit_Price IS NULL AND prjinv_detail.Sale_Unit_Price IS NULL)) AND + ((temp_.Note = prjinv_detail.Note) + OR (temp_.Note IS NULL AND prjinv_detail.Note IS NULL)) AND + ((temp_.vat_code = prjinv_detail.vat_code ) + OR (temp_.vat_code IS NULL AND prjinv_detail.vat_code IS NULL)) AND + ((temp_.price_adjustment_id = prjinv_detail.price_adjustment_id) + OR (temp_.price_adjustment_id IS NULL AND prjinv_detail.price_adjustment_id IS NULL))) THEN + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001 AND NOT prjinv_detail.Item_Id > 100100) THEN + s_inv_line_array_(0).a_invoice_qty_ := s_inv_line_array_(0).a_invoice_qty_ + prjinv_detail.Invoiced_Qty; + s_inv_line_array_(0).a_net_curr_amount_ := s_inv_line_array_(0).a_net_curr_amount_ + row_amount_; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + s_inv_text_array_(arr_index_) := prjinv_detail.invoice_text; + s_inv_text_array_.extend(1); + arr_index_ := arr_index_ + 1; + END IF; + END IF; + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N3 = N3 + prjinv_detail.Invoiced_Qty, + N5 = N5 + row_amount_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + ELSE + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001 AND NOT prjinv_detail.Item_Id > 100100) THEN + IF n_inv_line_size_ = 1 THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 1); + --TIBE-1418, End + END IF; + s_inv_line_array_(0).a_proj_id_ := prjinv_detail.Project_Id; + s_inv_line_array_(0).a_proj_name_ := prjinv_detail.Project_Name; + s_inv_line_array_(0).a_cust_id_ := Customer_Id; + s_inv_line_array_(0).a_cust_name_ := Customer_Name_Proj; + s_inv_line_array_(0).a_print_ref_ := cust_print_ref_; + s_inv_line_array_(0).a_sub_proj_id_ := prjinv_detail.Sub_Project_Id; + s_inv_line_array_(0).a_sub_proj_name_ := prjinv_detail.Sub_Project_Name; + s_inv_line_array_(0).a_activity_seq_ := prjinv_detail.Activity_Seq; + s_inv_line_array_(0).a_activity_name_ := prjinv_detail.Activity_Name; + s_inv_line_array_(0).a_invoice_qty_ := prjinv_detail.Invoiced_Qty; + s_inv_line_array_(0).a_sale_unit_price_ := prjinv_detail.Sale_Unit_Price; + s_inv_line_array_(0).a_net_curr_amount_ := row_amount_; + s_inv_line_array_(0).a_note_ := prjinv_detail.Note; + s_inv_line_array_(0).a_vat_code_ := prjinv_detail.vat_code; + s_inv_line_array_(0).a_price_adj_id_ := prjinv_detail.price_adjustment_id; + s_inv_line_array_(0).a_rep_cost_code_ := prjinv_detail.report_cost_code; + s_inv_line_array_(0).a_item_id_ := prjinv_detail.item_id; + s_inv_line_array_(0).a_correction_reason := prjinv_detail.correction_reason; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + s_inv_text_array_(arr_index_) := prjinv_detail.invoice_text; + s_inv_text_array_.extend(1); + arr_index_ := arr_index_ + 1; + END IF; + n_inv_line_size_ := 1; + END IF; + END IF; + + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + D1, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + N1, + S15, + S16, + S17, + S18, + N2, + S19, + S20, + N3, + N4, + N5, + S21, + S22, + S23, + S24, + S25, + S26, + S27, + S39, + S40, + S34, + S36, + S37, + S38, + S41, + S50, + N20, + S42, + S44, + N19, + S43, + N21, + S33, + N13, + S31, + S56, + S57, + S64, + S65) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Invoice_Date, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer||'^'||del_customer_name||'^', + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One||'^'||del_add_line1_||'^', + prjinv_header.Billing_Address_Two||'^'||del_add_line2_||'^', + prjinv_header.Billing_Address_Three||'^'||del_add_line3_||'^', + prjinv_header.Billing_Address_Four||'^'||del_add_line4_||'^', + prjinv_header.Billing_Address_Five||'^'||del_add_line5_||'^', + prjinv_header.Billing_Address_Six||'^'||del_add_line6_||'^', + prjinv_header.Billing_Address_Seven||'^'||del_add_line7_||'^', + prjinv_header.Billing_Address_Eight||'^'||del_add_line8_||'^', + prjinv_header.Billing_Address_Nine||'^'||del_add_line9_||'^', + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + prjinv_detail.Item_Id, + prjinv_detail.Project_Id, + prjinv_detail.Project_Name, + prjinv_detail.Sub_Project_Id, + prjinv_detail.Sub_Project_Name, + prjinv_detail.Activity_Seq, + prjinv_detail.Activity_Name, + prjinv_detail.report_cost_code, + prjinv_detail.Invoiced_Qty, + prjinv_detail.Sale_Unit_Price, + row_amount_, + title_, + prjinv_detail.Note, + customer_vat_no_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + prjinv_header.Reportfoot, + Customer_Id, + Customer_Name_Proj, + cust_print_ref_, + prjinv_header.country||'^'||del_country_||'^', + ncf_reference_, + check_value_, + NULL, + NULL, + NULL, + NULL, + 1, + round_it_, + currency_rounding_, + prjinv_header.Currency, + prjinv_header.header_correction_reason, + prjinv_detail.correction_reason, + verbally_amount_, + is_cor_invoice_ + ); + row_no_ := row_no_ + 1; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + S5) + VALUES( + result_key_, + row_no_, + 2, + prjinv_detail.invoice_text); + END IF; + row_no_ := row_no_ + 1; + END IF; + + END IF; + + temp_.Project_Id := prjinv_detail.Project_Id; + temp_.Sub_Project_Id := prjinv_detail.Sub_Project_Id; + temp_.Activity_Seq := prjinv_detail.Activity_Seq; + temp_.Activity_Name := prjinv_detail.Activity_Name; + temp_.report_cost_code := prjinv_detail.report_cost_code; + temp_.Sale_Unit_Price := prjinv_detail.Sale_Unit_Price; + temp_.Note := prjinv_detail.Note; + temp_.Net_Curr_Amount := prjinv_detail.Net_Curr_Amount; + temp_.vat_code := prjinv_detail.vat_code; + temp_.vat_curr_amount := prjinv_detail.vat_curr_amount; + temp_.price_adjustment_id := prjinv_detail.price_adjustment_id; + END IF; + + old_project_id_ := prjinv_detail.Project_Id; + old_sub_project_id_ := prjinv_detail.Sub_Project_Id; + old_activity_ := prjinv_detail.Activity_Seq; + First_Time_ := 'FALSE'; + END LOOP; + + + IF (do_xml_) THEN + IF n_inv_line_size_ = 1 THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 1); + --TIBE-1418, End + END IF; + IF (activity_flag_ = 1) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_DETAILS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITY'); + END IF; + IF (sub_project_flag_ = 1) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITIES'); + Xml_Record_Writer_SYS.End_Element(xml_, 'SUB_PROJECT'); + END IF; + IF (project_flag_ = 1) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'SUB_PROJECTS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT'); + END IF; + IF (xml_header_flag_ = 1) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECTS'); + END IF; + + activity_flag_ := 0; + sub_project_flag_ := 0; + project_flag_ := 0; + old_project_id_ := NULL; + old_sub_project_id_ := NULL; + old_activity_ := NULL; + END IF; + + + --XML VIEW - TRANSFERRED_FALSE_DTLS + -- for taxes that are TRANSFERRED = FALSE + dummy_sales_tax_ := 1; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'TRANSFERRED_FALSE_DTLS'); + END IF; + + FOR tax_rec_ IN get_tax_id(primary_invoice_id_) LOOP + -- Bug 144010, Start + IF (tax_rec_.transferred='FALSE') THEN + fee_code_prt_ := tax_rec_.tax_code; + IF (print_tax_texts_ = 'TRUE') THEN + OPEN get_date_range(tax_rec_.tax_code, invoice_date_str_); + FETCH get_date_range INTO valid_from_, valid_until_; + CLOSE get_date_range; + + fee_code_desc_prt_ := NVL(Enterp_Comp_Connect_V170_API.Get_Company_Translation( company_, + 'ACCRUL', + 'TaxCodeTexts', + tax_rec_.tax_code||'^'||REPLACE(To_Char(valid_from_,'yyyy/mm/dd'), '/', '')||'^'||REPLACE(To_Char(valid_until_,'yyyy/mm/dd'), '/', ''), + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)), + statutory_fee_api.get_description(company_,tax_rec_.tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer))); + ELSE + fee_code_desc_prt_ := statutory_fee_api.get_description(company_,tax_rec_.tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + END IF; + tax_curr_amt_prt_ :=tax_rec_.tot_tax_curr_amount; + tax_percentage_prt_ :=tax_rec_.tax_percentage||'%'; + chk_trans_false_ := 1; + + IF(temp_tax_percentage_ = tax_rec_.tax_percentage AND NVL(temp_tax_code_, '') = tax_rec_.tax_code) THEN + IF (do_xml_) THEN + xml_tax_curr_amt_prt_ := xml_tax_curr_amt_prt_ + tax_curr_amt_prt_; + END IF; + IF (do_rs_) THEN + -- Bug 167717, Start + UPDATE INFO_SERVICES_RPT + SET N19 = N19 + tax_curr_amt_prt_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = save_row_no_ + AND PARENT_ROW_NO = parent_row_no_; + -- Bug 167717, End + END IF; + ELSE + IF (do_xml_) THEN + IF xml_transfered_false_dtl_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_CURR_AMOUNT',xml_tax_curr_amt_prt_); + Xml_Record_Writer_SYS.End_Element(xml_, 'TRANSFERRED_FALSE_DTL'); + xml_transfered_false_dtl_flag_ := 0; + xml_tax_curr_amt_prt_ := 0; + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'TRANSFERRED_FALSE_DTL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 1); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_CODE',fee_code_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_PERCENTAGE_TXT',tax_percentage_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_CODE_DESC',fee_code_desc_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_TRANSFER_FALSE',chk_trans_false_); + xml_tax_curr_amt_prt_ := tax_curr_amt_prt_; + xml_transfered_false_dtl_flag_ := 1; + END IF; + + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N6, + N8, + S28, + N12, + S30, + S31, + N13, + S33, + N14, + S34, + N15, + S35, + S24, + S25, + S26, + S27, + S39, + S40, + --these values are inserted to display the header values + D1, + S21, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + S23, + N17, + N18, + S41, + S42, + N19, + S44, + S43, + N23, + N25, + S46, + S56, + S64, + S65 ) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Net_Amount, + prjinv_header.Gross_Amount, + prjinv_header.Vat_No, + vat_percentage_, + vat_currency_, + prjinv_header.Currency, + currency_rounding_, + round_it_, + net_amount_, + prjinv_header.Reportfoot, + fee_amount_, + fee_exist_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + --this values are inserted to display the header values + prjinv_header.Invoice_Date, + title_, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer, + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One, + prjinv_header.Billing_Address_Two, + prjinv_header.Billing_Address_Three, + prjinv_header.Billing_Address_Four, + prjinv_header.Billing_Address_Five, + prjinv_header.Billing_Address_Six, + prjinv_header.Billing_Address_Seven, + prjinv_header.Billing_Address_Eight, + prjinv_header.Billing_Address_Nine, + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + customer_vat_no_, + sales_tax_amount_, + dummy_sales_tax_, + prjinv_header.country||'^'||del_country_||'^', + fee_code_prt_, + tax_curr_amt_prt_, + tax_percentage_prt_, + fee_code_desc_prt_, + -1, + chk_trans_false_, + vat_percent_txt_, + prjinv_header.header_correction_reason, + verbally_amount_, + is_cor_invoice_ ); + -- Bug 167717, Start + save_row_no_ := row_no_; + -- Bug 167717, End + row_no_ := row_no_ + 1; + IF(prjinv_header.invoice_text IS NOT NULL)THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + S5) + VALUES( + result_key_, + row_no_, + 2, + prjinv_header.invoice_text); + END IF; + row_no_ := row_no_ + 1; + END IF; + END IF; + chk_trans_false_ := 0; + save_result_key_ := result_key_; + + temp_tax_percentage_ := tax_rec_.tax_percentage; + temp_tax_code_:= tax_rec_.tax_code; + END IF; + -- Bug 144010, End + END LOOP; + IF (do_xml_) THEN + IF xml_transfered_false_dtl_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_CURR_AMOUNT',xml_tax_curr_amt_prt_); + Xml_Record_Writer_SYS.End_Element(xml_, 'TRANSFERRED_FALSE_DTL'); + xml_transfered_false_dtl_flag_ := 0; + xml_tax_curr_amt_prt_ := 0; + END IF; + Xml_Record_Writer_SYS.End_Element(xml_, 'TRANSFERRED_FALSE_DTLS'); + END IF; + + -- Bug 147882, Start + + --XML VIEW - VAT_INVOICE_TOTALS + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'VAT_INVOICE_TOTALS'); + END IF; + + FOR prjinv_vat IN prjinv_vatcursor(primary_invoice_id_) LOOP + item_id_ :=prjinv_vat.item_id; + + dummy_sales_tax_ := 0; + vat_exist_ :=1; + fee_type_ := Statutory_Fee_Api.Get_Fee_Type_Db(prjinv_header.Company,prjinv_vat.VAT_CODE); + IF (fee_type_ = 'NOTAX') THEN + vat_percentage_ := 0; + ELSE + vat_percentage_ := Statutory_Fee_API.Get_Percentage(prjinv_header.Company,prjinv_vat.VAT_CODE); + END IF; + p_length_ := LENGTH(vat_percentage_); + + IF (p_length_ = 1) THEN + vat_percentage_ := ' '|| vat_percentage_; + END IF; + IF (prjinv_vat.VAT_CODE IS NOT NULL ) THEN + vat_percent_txt_ := prjinv_vat.VAT_CODE; + fee_code_desc_prt_ := statutory_fee_api.get_description(company_,prjinv_vat.VAT_CODE,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + ELSE + vat_percent_txt_ :=NULL; + END IF; + + IF (print_tax_texts_ = 'TRUE') THEN + OPEN get_date_range(prjinv_vat.VAT_CODE, invoice_date_str_); + FETCH get_date_range INTO valid_from_, valid_until_; + CLOSE get_date_range; + + tax_text_ := NVL(Enterp_Comp_Connect_V170_API.Get_Company_Translation( company_, + 'ACCRUL', + 'TaxCodeTexts', + prjinv_vat.VAT_CODE||'^'||REPLACE(To_Char(valid_from_,'yyyy/mm/dd'), '/', '')||'^'||REPLACE(To_Char(valid_until_,'yyyy/mm/dd'), '/', ''), + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)), + Tax_Code_Texts_API.Get_Tax_Code_Text( company_, vat_percent_txt_, inv_period_start_, inv_period_end_ )); + ELSE + tax_text_ := NULL; + END IF; + + -- Bug 144010, Start + IF (temp_vat_percentage_ = vat_percentage_ AND NVL(temp_tax_code_, '') = prjinv_vat.vat_code) THEN + IF (do_xml_) THEN + xml_vat_curr_amount_ := xml_vat_curr_amount_ + prjinv_vat.vat_curr_amount; + xml_net_curr_amount_ := xml_net_curr_amount_ + prjinv_vat.net_curr_amount; + END IF; + IF (do_rs_) THEN + -- Bug 167717, Start + UPDATE INFO_SERVICES_RPT + SET N7 = N7 + prjinv_vat.vat_curr_amount, + N5 = N5 + prjinv_vat.net_curr_amount + WHERE RESULT_KEY = result_key_ + AND ROW_NO = save_row_no_ + AND PARENT_ROW_NO = parent_row_no_; + -- Bug 167717, End + END IF; + ELSE + IF (do_xml_) THEN + IF xml_vat_invoice_total_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_AMOUNT',xml_vat_curr_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_AMOUNT',xml_net_curr_amount_); + Xml_Record_Writer_SYS.End_Element(xml_, 'VAT_INVOICE_TOTAL'); + xml_vat_invoice_total_flag_ := 0; + xml_vat_curr_amount_ := 0; + xml_net_curr_amount_ := 0; + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'VAT_INVOICE_TOTAL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 1); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENT_TXT',vat_percent_txt_); + IF(fee_type_ = 'NOTAX') THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',''); + ELSE + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',vat_percentage_); + END IF; + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',dummy_sales_tax_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHECK_DOM',0); + Xml_Record_Writer_SYS.Add_Element(xml_, 'FEE_CODE_DESC', fee_code_desc_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_, 'TAX_TEXT', tax_text_); + xml_vat_curr_amount_ := prjinv_vat.vat_curr_amount; + xml_net_curr_amount_ := prjinv_vat.net_curr_amount; + xml_vat_invoice_total_flag_ := 1; + END IF; + IF (do_rs_) THEN + -- Bug 111274, Start + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N6, + N5, + N7, + N8, + S28, + N12, + S30, + S31, + N13, + S33, + N14, + S34, + N15, + S35, + S24, + S25, + S26, + S27, + S39, + S40, + --these values are inserted to display the header values + D1, + S21, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S14, + D2, + D3, + D4, + S23, + N17, + N18, + S41, + S46, + S43, + N28, + S49, + S52, + S64, + S65 ) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Net_Amount, + prjinv_vat.net_curr_amount, + prjinv_vat.vat_curr_amount, + prjinv_header.Gross_Amount, + prjinv_header.Vat_No, + vat_percentage_, + vat_currency_, + prjinv_header.Currency, + currency_rounding_, + round_it_, + net_amount_, + prjinv_header.Reportfoot, + fee_amount_, + fee_exist_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + --this values are inserted to display the header values + prjinv_header.Invoice_Date, + title_, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer, + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One, + prjinv_header.Billing_Address_Two, + prjinv_header.Billing_Address_Three, + prjinv_header.Billing_Address_Four, + prjinv_header.Billing_Address_Five, + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + customer_vat_no_, + sales_tax_amount_, + dummy_sales_tax_, + prjinv_header.country, + vat_percent_txt_, + fee_code_desc_prt_, + 0, + tax_text_, + prjinv_header.header_correction_reason, + verbally_amount_, + is_cor_invoice_ ); + -- Bug 111274, End + -- Bug 167717, Start + save_row_no_ := row_no_; + -- Bug 167717, End + row_no_ := row_no_ + 1; + IF(prjinv_header.invoice_text IS NOT NULL)THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + S5) + VALUES( + result_key_, + row_no_, + 2, + prjinv_header.invoice_text); + END IF; + row_no_ := row_no_ + 1; + END IF; + END IF; + temp_vat_percentage_ := vat_percentage_; + temp_tax_code_ := prjinv_vat.vat_code; + -- Bug 144010, End + END LOOP; + + IF (do_xml_) THEN + IF xml_vat_invoice_total_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_AMOUNT',xml_vat_curr_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_, 'NET_AMOUNT', xml_net_curr_amount_); + Xml_Record_Writer_SYS.End_Element(xml_, 'VAT_INVOICE_TOTAL'); + xml_vat_invoice_total_flag_ := 0; + xml_vat_curr_amount_ := 0; + xml_net_curr_amount_ := 0; + END IF; + Xml_Record_Writer_SYS.End_Element(xml_, 'VAT_INVOICE_TOTALS'); + END IF; + + -- Bug 147882, End + + --XML VIEW - INVOICE_VALUES + + OPEN get_cur_amounts(primary_invoice_id_); + FETCH get_cur_amounts INTO pri_net_amount_sum_, pri_vat_amount_sum_, pri_gross_amount_sum_; + CLOSE get_cur_amounts; + + IF (vat_exist_ = 1) THEN + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'INVOICE_VALUES'); + Xml_Record_Writer_SYS.Start_Element(xml_, 'INVOICE_VALUE'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 1); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_EXIST',1); + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_AMOUNT',pri_net_amount_sum_); + Xml_Record_Writer_SYS.Add_Element(xml_,'GROSS_AMOUNT',pri_gross_amount_sum_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_CURRENCY',vat_currency_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_CODE',prjinv_header.Currency); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_ROUNDING',currency_rounding_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ROUND_IT',round_it_); + Xml_Record_Writer_SYS.Add_Element(xml_,'GROSS_AMOUNT_NOT_RD',net_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_AMOUNT',fee_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_EXIST',fee_exist_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',dummy_sales_tax_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_GROSS_AMT',''); + base_currency_ := Company_Finance_API.Get_Currency_Code(company_); + curr_rounding_ := Currency_Code_API.Get_Currency_Rounding (company_, + prjinv_header.currency); + conv_factor_ := Currency_Code_API.Get_Conv_Factor (prjinv_header.company, + prjinv_header.currency); + IF (Currency_Code_API.Get_Inverted( company_, base_currency_ ) = 'TRUE') THEN + IF (prjinv_header.curr_rate=0) THEN + base_net_curr_amount_ := 0; + ELSE + currency_rate_inv_:=(1/(prjinv_header.curr_rate/conv_factor_))*conv_factor_; + IF(currency_rate_inv_=0) THEN + base_net_curr_amount_ := 0; + ELSE + base_net_curr_amount_ := pri_net_amount_sum_ / ( conv_factor_/ currency_rate_inv_ ) ; + END IF; + END IF; + ELSE + base_net_curr_amount_ := pri_net_amount_sum_*(prjinv_header.curr_rate/conv_factor_); + END IF; + base_net_curr_amount_ := ROUND(base_net_curr_amount_,curr_rounding_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BASE_NET_CURR_AMOUNT',base_net_curr_amount_); + Xml_Record_Writer_SYS.End_Element(xml_, 'INVOICE_VALUE'); + Xml_Record_Writer_SYS.End_Element(xml_, 'INVOICE_VALUES'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N28, + N8, + S31, + N14, + N13, + N31) + VALUES( + result_key_, + row_no_, + parent_row_no_, + 1, + prjinv_header.Gross_Amount, + prjinv_header.Currency, + net_amount_, + currency_rounding_, + base_net_curr_amount_ ); + row_no_ := row_no_ + 1; + END IF; + END IF; + + + --XML VIEW - TAX_SUMMARY_ROWS + --Totals of all taxes both TRANSFERRED=FALSE and TRANSFERRED=TRUE + dummy_sales_tax_ := 1; + save_result_key_ := result_key_; + save_row_no_ := row_no_ -1; + chk_gross_amt_ :=1; + + IF(included_prt_ = ' included') THEN + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'TAX_SUMMARY_ROWS'); + END IF; + + FOR tax_rec_ IN get_tax_id1(primary_invoice_id_) LOOP + --To check if there are fee codes + chk_gross_amt_ :=1; + fee_code_prt_ := tax_rec_.tax_code; + IF (print_tax_texts_ = 'TRUE') THEN + OPEN get_date_range(tax_rec_.tax_code, invoice_date_str_); + FETCH get_date_range INTO valid_from_, valid_until_; + CLOSE get_date_range; + + fee_code_desc_prt_ := NVL(Enterp_Comp_Connect_V170_API.Get_Company_Translation( company_, + 'ACCRUL', + 'TaxCodeTexts', + tax_rec_.tax_code||'^'||REPLACE(To_Char(valid_from_,'yyyy/mm/dd'), '/', '')||'^'||REPLACE(To_Char(valid_until_,'yyyy/mm/dd'), '/', ''), + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)), + statutory_fee_api.get_description(company_,tax_rec_.tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer))); + ELSE + fee_code_desc_prt_ := statutory_fee_api.get_description(company_,tax_rec_.tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + END IF; + tax_curr_amt_prt_ :=tax_rec_.tot_tax_curr_amount; + tax_percentage_prt_ :=tax_rec_.tax_percentage||'%'; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'TAX_SUMMARY_ROW'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 1); + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',dummy_sales_tax_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_CODE',fee_code_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_CURR_AMOUNT',tax_curr_amt_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_PERCENTAGE_TXT',tax_percentage_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_CODE_DESC',fee_code_desc_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHECK_VALUE',''); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_TRANSFER_FALSE',0); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_GROSS_AMT',0); + Xml_Record_Writer_SYS.End_Element(xml_, 'TAX_SUMMARY_ROW'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N6, + N8, + S28, + S31, + S34, + S24, + S25, + S26, + S27, + S39, + S40, + --these values are inserted to display the header values + D1, + S21, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + S23, + N17, + N18, + S41, + S42, + N19, + S44, + S43, + N23, + N22, + N25, + N26, + S56, + S64, + S65 ) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Net_Amount, + prjinv_header.Gross_Amount, + prjinv_header.Vat_No, + prjinv_header.Currency, + prjinv_header.Reportfoot, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + --this values are inserted to display the header values + prjinv_header.Invoice_Date, + title_, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer, + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One, + prjinv_header.Billing_Address_Two, + prjinv_header.Billing_Address_Three, + prjinv_header.Billing_Address_Four, + prjinv_header.Billing_Address_Five, + prjinv_header.Billing_Address_Six, + prjinv_header.Billing_Address_Seven, + prjinv_header.Billing_Address_Eight, + prjinv_header.Billing_Address_Nine, + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + customer_vat_no_, + sales_tax_amount_, + dummy_sales_tax_, + prjinv_header.country, + fee_code_prt_, + tax_curr_amt_prt_, + tax_percentage_prt_, + fee_code_desc_prt_, + -1, + 0, + 0, + 0, + prjinv_header.header_correction_reason, + verbally_amount_, + is_cor_invoice_ ); + row_no_ := row_no_ + 1; + END IF; + END LOOP; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'TAX_SUMMARY_ROWS'); + END IF; + END IF; + + --XML VIEW - INVOICE_VALUES + --This Section has been added in order to display invoice total when there is no tax applied. + IF (vat_exist_ = 0) THEN + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'INVOICE_VALUES'); + Xml_Record_Writer_SYS.Start_Element(xml_, 'INVOICE_VALUE'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 1); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_EXIST',0); + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_AMOUNT',pri_net_amount_sum_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'GROSS_AMOUNT',pri_gross_amount_sum_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_CURRENCY',vat_currency_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_CODE',prjinv_header.Currency); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_ROUNDING',currency_rounding_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ROUND_IT',round_it_); + Xml_Record_Writer_SYS.Add_Element(xml_,'GROSS_AMOUNT_NOT_RD',net_amount_ + tot_tax_curr_amt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_AMOUNT',fee_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_EXIST',fee_exist_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',dummy_sales_tax_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_GROSS_AMT',1); + base_currency_ := Company_Finance_API.Get_Currency_Code(company_); + curr_rounding_ := Currency_Code_API.Get_Currency_Rounding (company_, + prjinv_header.currency); + conv_factor_ := Currency_Code_API.Get_Conv_Factor (company_, + prjinv_header.currency); + IF (CURRENCY_CODE_API.Get_Inverted( company_, base_currency_ ) = 'TRUE') THEN + + IF (prjinv_header.curr_rate=0) THEN + base_net_curr_amount_ := 0; + ELSE + currency_rate_inv_:=(1/(prjinv_header.curr_rate/conv_factor_))*conv_factor_; + IF(currency_rate_inv_=0) THEN + base_net_curr_amount_ := 0; + ELSE + base_net_curr_amount_ := pri_net_amount_sum_ / ( conv_factor_/ currency_rate_inv_ ) ; + END IF; + END IF; + ELSE + base_net_curr_amount_ := pri_net_amount_sum_*(prjinv_header.curr_rate/conv_factor_); + END IF; + base_net_curr_amount_ := ROUND(base_net_curr_amount_,curr_rounding_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BASE_NET_CURR_AMOUNT',base_net_curr_amount_); + Xml_Record_Writer_SYS.End_Element(xml_, 'INVOICE_VALUE'); + Xml_Record_Writer_SYS.End_Element(xml_, 'INVOICE_VALUES'); + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N26 = 1, + N18 = dummy_sales_tax_, + S31 = prjinv_header.Currency, + N8 = prjinv_header.Gross_Amount, + S30 = vat_currency_, + N14 = net_amount_ + tot_tax_curr_amt_, + N31 = base_net_curr_amount_ + WHERE result_key = save_result_key_ + AND row_no = save_row_no_; + + UPDATE INFO_SERVICES_RPT + SET N14 = net_amount_ + tot_tax_curr_amt_ + WHERE result_key = save_result_key_ + AND row_no = save_row_no_-1; + END IF; + END IF; + + --XML VIEW - FEE_CODE_TOTALS + --THE TOTALS FOR ALL FEE CODES IN LOCAL CURRENCY + + OPEN get_delivery_address(primary_invoice_no_, primery_series_id_) ; + FETCH get_delivery_address INTO delivery_address_; + CLOSE get_delivery_address; + + company_country_ := Iso_Country_API.Get_Description(Iso_Country_API.Encode( + COMPANY_ADDRESS_API.Get_Country(company_,COMPANY_ADDRESS_API.Get_Default_Address(company_,ADDRESS_TYPE_CODE_API.Decode('INVOICE')))) + ,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + customer_country_ :=Iso_Country_API.Get_Description(CUSTOMER_INFO_ADDRESS_API.Get_Country_Code(customer_,delivery_address_), + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + temp_vat_percentage_ := NULL; + chk_dom_tot_ :=1; + company_country_db_ := Company_API.Get_Country_Db(company_); + vat_registered_same_country_ := (SUBSTR(customer_vat_no_, 0, 2) = company_country_db_); + + print_tax_alternate_currency_ := Currency_Invoice_Info_API.Get_Print_Tax_In_Base_Curre_Db(company_, prjinv_header.currency); + + IF (print_tax_alternate_currency_ = 'NEVER') THEN + print_tax_in_alternate_ := FALSE; + ELSIF ( print_tax_alternate_currency_ = 'DOMRECIPIENTSONLY' AND ((company_country_ = customer_country_) OR vat_registered_same_country_)) THEN + print_tax_in_alternate_ := TRUE; + ELSIF ( print_tax_alternate_currency_ = 'ALLRECIPIENTS') THEN + print_tax_in_alternate_ := TRUE; + ELSE + print_tax_in_alternate_ := FALSE; + END IF; + + selected_alt_currency_ := Currency_Invoice_Info_API.Get_Alternative_Tax_Currenc_Db(company_, prjinv_header.currency); + + -- Bug 159441, Start + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'FEE_CODE_TOTALS'); + END IF; + -- Bug 103021, Start + IF (print_tax_in_alternate_) THEN + FOR prjinv_vat IN prjinv_vatcursor(primary_invoice_id_) LOOP + dummy_sales_tax_ := 0; + check_dom_amt_ := 1; + fee_type_ := Statutory_Fee_Api.Get_Fee_Type_Db(prjinv_header.Company,prjinv_vat.VAT_CODE); + IF (fee_type_ = 'NOTAX') THEN + vat_percentage_ := 0; + ELSE + vat_percentage_ := Statutory_Fee_API.Get_Percentage(prjinv_header.Company,prjinv_vat.VAT_CODE); + END IF; + p_length_ := LENGTH(vat_percentage_); + + IF (p_length_ = 1) THEN + vat_percentage_ := ' '|| vat_percentage_; + END IF; + + IF (prjinv_vat.VAT_CODE IS NOT NULL ) THEN + vat_percent_txt_ := prjinv_vat.VAT_CODE; + ELSE + vat_percent_txt_ :=NULL; + END IF; + + IF (selected_alt_currency_ = 'ACCOUNTING_CURRENCY') THEN + tax_dom_amt_prt_ := prjinv_vat.vat_dom_amount; + ELSE + tax_dom_amt_prt_ := prjinv_vat.vat_parallel_amount; + END IF; + + check_dom_amt_ := 1; + + --tax total for base currency + COMPANY_FINANCE_API.Get_Accounting_Currency( base_currency_,prjinv_header.Company); + decimals_in_rounding_ := Currency_Code_API.get_no_of_decimals_in_rate(prjinv_header.Company, prjinv_header.currency); + curr_rate_ := INVOICE_API.get_curr_rate(prjinv_header.Company, prjinv_header.invoice_id); + curr_rate_ := ROUND(curr_rate_,decimals_in_rounding_); + company_parallel_curr_ := Company_Finance_API.Get_Parallel_Acc_Currency(company_); + decimals_in_par_curr_ := Currency_Code_API.get_no_of_decimals_in_rate(prjinv_header.Company, company_parallel_curr_); + parallel_curr_rate_ := Invoice_API.Get_Parallel_Curr_Rate(prjinv_header.Company ,prjinv_header.invoice_id); + parallel_curr_rate_ := ROUND(parallel_curr_rate_,decimals_in_par_curr_); + + IF (selected_alt_currency_ = 'ACCOUNTING_CURRENCY') THEN + base_currency_txt_ := base_currency_; + curr_rate_to_print_ := curr_rate_; + ELSE + base_currency_txt_ := company_parallel_curr_; + curr_rate_to_print_ := parallel_curr_rate_; + END IF; + + -- Bug 144010, Start + IF (temp_vat_percentage_ = vat_percentage_ AND NVL(temp_tax_code_, '') = prjinv_vat.vat_code) THEN + IF (do_xml_) THEN + xml_tax_dom_amt_prt_ := xml_tax_dom_amt_prt_ + tax_dom_amt_prt_; + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N23 = N23 + tax_dom_amt_prt_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + ELSE + IF NOT (tax_dom_amt_prt_ =0) THEN + IF (do_xml_) THEN + IF xml_fee_code_total_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_DOM_AMOUNT',xml_tax_dom_amt_prt_); + Xml_Record_Writer_SYS.End_Element(xml_, 'FEE_CODE_TOTAL'); + xml_fee_code_total_flag_ := 0; + xml_tax_dom_amt_prt_ := 0; + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'FEE_CODE_TOTAL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 1); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENT_TXT',vat_percent_txt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_DOM_TOT',chk_dom_tot_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BASE_CURRENCY_TXT',base_currency_txt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_RATE',curr_rate_to_print_); + IF(fee_type_ = 'NOTAX') THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',''); + ELSE + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',vat_percentage_); + END IF; + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',dummy_sales_tax_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHECK_DOM',check_dom_amt_); + xml_tax_dom_amt_prt_ := tax_dom_amt_prt_; + xml_fee_code_total_flag_ := 1; + END IF; + IF (do_rs_) THEN + -- Bug 132164, Start + -- Bug 111274, Start + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N6, + N7, + N8, + S28, + N12, + S30, + S31, + N13, + N14, + S34, + N15, + S35, + S24, + S25, + S26, + S27, + S39, + S40, + --these values are inserted to display the header values + D1, + S21, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S14, + D2, + D3, + D4, + S23, + N17, + N18, + S41, + S46, + N23, + N22, + N27, + S47, + N30, + S52 + ) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Net_Amount, + prjinv_vat.vat_curr_amount, + prjinv_header.Gross_Amount, + prjinv_header.Vat_No, + vat_percentage_, + vat_currency_, + prjinv_header.Currency, + currency_rounding_, + net_amount_, + prjinv_header.Reportfoot, + fee_amount_, + fee_exist_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + --this values are inserted to display the header values + prjinv_header.Invoice_Date, + title_, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer, + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One, + prjinv_header.Billing_Address_Two, + prjinv_header.Billing_Address_Three, + prjinv_header.Billing_Address_Four, + prjinv_header.Billing_Address_Five, + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + customer_vat_no_, + sales_tax_amount_, + dummy_sales_tax_, + prjinv_header.country, + vat_percent_txt_, + tax_dom_amt_prt_, + check_dom_amt_, + chk_dom_tot_, + base_currency_txt_, + curr_rate_to_print_, + prjinv_header.header_correction_reason + ); + -- Bug 111274, End + -- Bug 132164, End + row_no_ := row_no_ + 1; + END IF; + check_dom_amt_ := 0; + chk_dom_tot_ :=0; + END IF; + END IF; + temp_vat_percentage_ := vat_percentage_; + temp_tax_code_ := prjinv_vat.vat_code; + -- Bug 144010, End + END LOOP; + END IF; + -- Bug 103021, end + + IF (do_xml_) THEN + IF xml_fee_code_total_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_DOM_AMOUNT',xml_tax_dom_amt_prt_); + Xml_Record_Writer_SYS.End_Element(xml_, 'FEE_CODE_TOTAL'); + xml_fee_code_total_flag_ := 0; + xml_tax_dom_amt_prt_ := 0; + END IF; + Xml_Record_Writer_SYS.End_Element(xml_, 'FEE_CODE_TOTALS'); + END IF; + -- Bug 159441, End + + --XML VIEW - INSTALLMENT_PLANS + --TIBE-1418, Start + $IF Component_Payled_SYS.INSTALLED $THEN + IF (is_cor_invoice_ = 'FALSE') THEN + tax_reduction_at_payment_ := 'FALSE'; + + OPEN count_plan_details(primary_invoice_id_); + FETCH count_plan_details INTO count_plan_; + CLOSE count_plan_details; + + OPEN count_disc_details(primary_invoice_id_); + FETCH count_disc_details INTO count_disc_; + CLOSE count_disc_details; + + curr_code_ := prjinv_header.currency; + + IF (count_plan_ > 0) AND (count_disc_ > 0) THEN + -- Installment Plan with Discounts defined + + tax_reduction_at_payment_ := Company_Pay_Info_API.Get_Tax_Reduction_At_Payment(company_); + + IF (tax_reduction_at_payment_ = 'TRUE') THEN + disc_flag_ := 1; + END IF; + + cur_rounding_ := Currency_Code_API.Get_Currency_Rounding (company_, curr_code_); + count_ := 0; + + FOR disc_rec IN get_tax_details(TO_CHAR(primary_invoice_id_)) LOOP + vat_disc_tbl_(count_).vat_code := disc_rec.vat_code; + vat_disc_tbl_(count_).sum_vat_curr_amount := disc_rec.sum_vat_curr_amount; + vat_disc_tbl_(count_).sum_gross_curr_amount := disc_rec.sum_gross_curr_amount; + vat_disc_tbl_(count_).tax_percentage := NVL(Source_Tax_Item_API.Get_Tax_Code_Percentage(company_, + Tax_Source_API.DB_INVOICE, + TO_CHAR(primary_invoice_id_), + NULL, + '*', + '*', + '*', + disc_rec.vat_code), + Statutory_Fee_API.Get_Percentage(company_, disc_rec.vat_code)); + count_ := count_ + 1; + END LOOP; + + has_adv_inv_ := Advance_Inv_Reference_API.Has_Adv_Inv(company_, primary_invoice_id_); + + Invoice_API.Get_Simulated_Payment_Plan(simulated_payment_plan_, + installment_count_, + company_, + primary_invoice_id_, + has_adv_inv_, + inv_state_); + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'INSTALLMENT_PLANS'); + END IF; + + FOR index_ IN 1..installment_count_ LOOP + pay_method_desc_ := Payment_Way_API.Get_Description_Per_Language(company_, simulated_payment_plan_(index_).payment_method, lang_code_); + bank_account_ := Cash_Account_API.Get_Account_Identity(company_, simulated_payment_plan_(index_).short_name); + bank_account_text_ := Cash_Account_Text_API.Get_Text_Per_Language(company_, simulated_payment_plan_(index_).short_name, lang_code_); + bic_swift_code_ := Payment_Plan_API.Get_Bic_Code(company_, simulated_payment_plan_(index_).short_name); + + IF ((simulated_payment_plan_(index_).payment_method IS NULL)) THEN + pay_method_desc_ := NULL; + END IF; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_,'INSTALLMENT_PLAN'); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_ID', simulated_payment_plan_(index_).installment_id); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAYMENT_METHOD', pay_method_desc_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_NET_AMOUNT', simulated_payment_plan_(index_).open_amount); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_TAX_PERCENTAGE', 0); + Xml_Record_Writer_SYS.Add_Element(xml_,'BANK_ACCOUNT', bank_account_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BANK_ACCOUNT_TEXT', bank_account_text_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BIC_SWIFT_CODE', bic_swift_code_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_DUE_DATE', simulated_payment_plan_(index_).due_date); + Xml_Record_Writer_SYS.Add_Element(xml_,'AMOUNT_TO_PAY', simulated_payment_plan_(index_).open_amount); + Xml_Record_Writer_SYS.Add_Element(xml_,'COUNT', count_plan_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_COUNT', count_disc_); + + Xml_Record_Writer_SYS.End_Element(xml_,'INSTALLMENT_PLAN'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N1, + S1, + S2, + S3, + S4, + D1, + N2, + N3, + N4 ) + + VALUES( + result_key_, + row_no_, + 2, + simulated_payment_plan_(index_).installment_id, + pay_method_desc_, + bank_account_, + bank_account_text_, + bic_swift_code_, + simulated_payment_plan_(index_).due_date, + simulated_payment_plan_(index_).open_amount, + 0, + count_plan_ ); + row_no_ := row_no_ + 1; + END IF; + installment_id_ := simulated_payment_plan_(index_).installment_id; + disc_count_ := installment_id_; + + -- Discounts + FOR disc_rec_ IN get_disc_details(primary_invoice_id_) LOOP + disc_count_ := disc_count_ + 0.01; + disc_gross_amt_ := ROUND(disc_rec_.curr_amount, cur_rounding_); + + IF (simulated_payment_plan_(index_).Open_amount = 0)THEN + amt_to_pay_ := 0; + ELSE + IF (disc_gross_amt_ > simulated_payment_plan_(index_).Open_amount) THEN + amt_to_pay_ := 0; + ELSE + amt_to_pay_ := simulated_payment_plan_(index_).Open_amount - disc_gross_amt_; + END IF; + END IF; + + IF ((tax_reduction_at_payment_ = 'TRUE') AND (gross_amount_ != 0)) THEN + disc_vat_amt_ := 0; + + FOR i_ IN 0..(count_ - 1) LOOP + IF (vat_disc_tbl_(i_).sum_gross_curr_amount != 0) THEN + ratio_ := vat_disc_tbl_(i_).sum_gross_curr_amount/gross_amount_; + tax_code_disc_ := disc_rec_.curr_amount * ratio_ * (vat_disc_tbl_(i_).sum_vat_curr_amount/vat_disc_tbl_(i_).sum_gross_curr_amount); + tax_code_disc_ := ROUND(tax_code_disc_, cur_rounding_); + ELSE + tax_code_disc_ := 0; + END IF; + disc_vat_amt_ := disc_vat_amt_ + tax_code_disc_; + END LOOP; + disc_net_amt_ := ROUND(disc_gross_amt_ - disc_vat_amt_, cur_rounding_); + END IF; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_,'INSTALLMENT_PLAN'); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_PERCENTAGE', disc_rec_.disc_percent); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_NET_AMT', disc_net_amt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_VAT_AMT', disc_vat_amt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_GROSS_AMT', disc_gross_amt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_AMOUNT_TO_PAY', amt_to_pay_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_DATE', disc_rec_.disc_date); + Xml_Record_Writer_SYS.Add_Element(xml_,'COUNT', count_plan_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_COUNT', count_disc_); + Xml_Record_Writer_SYS.End_Element(xml_,'INSTALLMENT_PLAN'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N12, + N5, + N6, + N7, + N8, + N9, + D2 ) + VALUES( + result_key_, + row_no_, + 2, + count_disc_, + disc_rec_.disc_percent, + disc_net_amt_, + disc_vat_amt_, + disc_gross_amt_, + amt_to_pay_, + disc_rec_.disc_date ); + row_no_ := row_no_ + 1; + END IF; + IF ((tax_reduction_at_payment_ = 'TRUE') AND gross_amount_ != 0) THEN + FOR i_ IN 0..(count_ - 1) LOOP + IF (vat_disc_tbl_(i_).vat_code IS NOT NULL) THEN + fee_type_ := Statutory_Fee_Api.Get_Fee_Type_Db(company_, vat_disc_tbl_(i_).vat_code); + IF (fee_type_ = 'NOTAX') THEN + vat_percentage_ := ''; + ELSE + vat_percentage_ := vat_disc_tbl_(i_).tax_percentage; + END IF; + IF ((vat_percent_ != 0) AND (vat_disc_tbl_(i_).sum_vat_curr_amount != 0)) THEN + disc_count_ := disc_count_ + 0.01; + ratio_ := (vat_disc_tbl_(i_).sum_gross_curr_amount)/gross_amount_; + tax_code_disc_ := disc_rec_.curr_amount * ratio_ * (vat_disc_tbl_(i_).sum_vat_curr_amount/vat_disc_tbl_(i_).sum_gross_curr_amount); + tax_code_disc_ := ROUND(tax_code_disc_, cur_rounding_); + + -- Discount's Tax Information + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_,'INSTALLMENT_PLAN'); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_TAX_PERCENTAGE', vat_percent_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_TAX_NET_AMT', tax_code_disc_); + Xml_Record_Writer_SYS.Add_Element(xml_,'COUNT', count_plan_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_COUNT', count_disc_); + Xml_Record_Writer_SYS.End_Element(xml_,'INSTALLMENT_PLAN'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N10, + N11 ) + VALUES( + result_key_, + row_no_, + 2, + vat_percent_, + tax_code_disc_ ); + row_no_ := row_no_ + 1; + END IF; + END IF; + END IF; + END LOOP; + END IF; + END LOOP; + END LOOP; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'INSTALLMENT_PLANS'); + END IF; + ELSE + -- Installment Plan without Discounts + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'INSTALLMENT_PLANS'); + END IF; + + OPEN count_plan_details_cur (primary_invoice_id_); + FETCH count_plan_details_cur INTO count_plan_; + CLOSE count_plan_details_cur; + + OPEN get_installment_cur (primary_invoice_id_); + LOOP + FETCH get_installment_cur INTO payment_method_, installment_id_, inst_due_date_, interest_percent_, curr_amount_, open_amount_; + EXIT WHEN get_installment_cur%NOTFOUND; + pay_method_desc_ := Payment_Way_API.Get_Description_Per_Language(prjinv_header.company, payment_method_, lang_code_); + short_name_ := Payment_Plan_API.Get_Short_Name(company_, primary_invoice_id_, installment_id_); + bank_account_ := Cash_Account_API.Get_Account_Identity(prjinv_header.company, short_name_); + bank_account_text_ := Cash_Account_Text_API.Get_Text_Per_Language(prjinv_header.company, short_name_, lang_code_); + bic_swift_code_ := Payment_Plan_API.Get_Bic_Code(prjinv_header.company, short_name_); + + IF (payment_method_ IS NULL) THEN + pay_method_desc_ := NULL; + END IF; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_,'INSTALLMENT_PLAN'); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_ID', installment_id_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAYMENT_METHOD', pay_method_desc_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_NET_AMOUNT', curr_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_TAX_PERCENTAGE', interest_percent_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BANK_ACCOUNT', bank_account_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BANK_ACCOUNT_TEXT', bank_account_text_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BIC_SWIFT_CODE', bic_swift_code_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_DUE_DATE', inst_due_date_); + Xml_Record_Writer_SYS.Add_Element(xml_,'AMOUNT_TO_PAY', open_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'COUNT', count_plan_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_COUNT', count_disc_); + Xml_Record_Writer_SYS.End_Element(xml_,'INSTALLMENT_PLAN'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N1, + S1, + S2, + S3, + S4, + D1, + N2, + N3, + N4 ) + + VALUES( + result_key_, + row_no_, + 2, + installment_id_, + pay_method_desc_, + bank_account_, + bank_account_text_, + bic_swift_code_, + inst_due_date_, + curr_amount_, + open_amount_, + count_plan_ ); + row_no_ := row_no_ + 1; + END IF; + END LOOP; + CLOSE get_installment_cur; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'INSTALLMENT_PLANS'); + END IF; + END IF; + END IF; + $END + --TIBE-1418, End + --XML VIEW - EURO_DETAILS + chk_eur_exist :=1; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'EURO_DETAILS'); + END IF; + + -- Bug 144010, Start + FOR prjinv_euro IN prjinv_vatcursor(primary_invoice_id_) LOOP + fee_type_ := Statutory_Fee_Api.Get_Fee_Type_Db(prjinv_header.Company,prjinv_euro.VAT_CODE); + IF (fee_type_ = 'NOTAX') THEN + vat_percentage_ := ''; + ELSE + vat_percentage_ := prjinv_euro.tax_percentage; + END IF; + p_length_ := LENGTH(vat_percentage_); + + IF (p_length_ = 1) THEN + vat_percentage_ := ' '|| vat_percentage_; + END IF; + + IF Currency_Invoice_Info_API.Get_Print_Euro_Equivalents(prjinv_header.Company,prjinv_header.Currency) = 'TRUE' THEN + OPEN check_acc; + FETCH check_acc INTO dummy_; + CLOSE check_acc; + + IF (dummy_ = 1) THEN + eur_exist_ := 'TRUE'; + dom_amount_ := PROJECT_TRANSACTION_API.Get_Domestic_Value (prjinv_header.Net_Amount, + prjinv_header.Company, + prjinv_header.Currency, + Currency_Type_Api.Get_Default_Type(prjinv_header.Company,'CUSTOMER'), + sysdate); + stmt_ := 'BEGIN + :eur_amount_ := Currency_Amount_API.Calculate_To_Euro( + :dummy1_ , :dummy2_, :dummy3_, :dummy4_ ); + END;'; + cid_ := dbms_sql.open_cursor; + -- ifs_assert_safe nueklk 20080326 + dbms_sql.parse(cid_, stmt_, dbms_sql.native); + dbms_sql.bind_variable(cid_, 'eur_amount_',0); + dbms_sql.bind_variable(cid_, 'dummy1_', prjinv_header.Company ); + dbms_sql.bind_variable(cid_, 'dummy2_', prjinv_header.Currency); + -- Bug 164012, Start + dbms_sql.bind_variable(cid_, 'dummy3_', Project_Invoice_API.Get_Invoice_Date(company_,invoice_id_)); + -- Bug 164012, End + dbms_sql.bind_variable(cid_, 'dummy4_', dom_amount_); + ignore_ := dbms_sql.EXECUTE( cid_); + dbms_sql.variable_value(cid_, 'eur_amount_', eur_net_amount_); + dbms_sql.close_cursor (cid_ ); + dom_amount_ := 0; + + dom_amount_ := PROJECT_TRANSACTION_API.Get_Domestic_Value (prjinv_euro.vat_curr_amount, + prjinv_header.Company, + prjinv_header.Currency, + Currency_Type_Api.Get_Default_Type(prjinv_header.Company,'CUSTOMER'), + sysdate); + + stmt_ := 'BEGIN + :eur_amount_ := Currency_Amount_API.Calculate_To_Euro( + :dummy1_ , :dummy2_, :dummy3_, :dummy4_ ); + END;'; + cid_ := dbms_sql.open_cursor; + -- ifs_assert_safe nueklk 20080326 + dbms_sql.parse(cid_, stmt_, dbms_sql.native); + dbms_sql.bind_variable(cid_, 'eur_amount_',0); + dbms_sql.bind_variable(cid_, 'dummy1_', prjinv_header.Company ); + dbms_sql.bind_variable(cid_, 'dummy2_', prjinv_header.Currency); + -- Bug 164012, Start + dbms_sql.bind_variable(cid_, 'dummy3_', Project_Invoice_API.Get_Invoice_Date(company_,invoice_id_)); + -- Bug 164012, End + dbms_sql.bind_variable(cid_, 'dummy4_', dom_amount_); + ignore_ := dbms_sql.EXECUTE( cid_); + dbms_sql.variable_value(cid_, 'eur_amount_', eur_vat_amount_); + dbms_sql.close_cursor (cid_ ); + dom_amount_ := 0; + + dom_amount_ := PROJECT_TRANSACTION_API.Get_Domestic_Value (prjinv_header.Gross_Amount, + prjinv_header.Company, + prjinv_header.Currency, + Currency_Type_Api.Get_Default_Type(prjinv_header.Company,'CUSTOMER'), + sysdate); + + stmt_ := 'BEGIN + :eur_amount_ := Currency_Amount_API.Calculate_To_Euro( + :dummy1_ , :dummy2_, :dummy3_, :dummy4_ ); + END;'; + cid_ := dbms_sql.open_cursor; + -- ifs_assert_safe nueklk 20080326 + dbms_sql.parse(cid_, stmt_, dbms_sql.native); + dbms_sql.bind_variable(cid_, 'eur_amount_',0); + dbms_sql.bind_variable(cid_, 'dummy1_', prjinv_header.Company ); + dbms_sql.bind_variable(cid_, 'dummy2_', prjinv_header.Currency); + -- Bug 164012, Start + dbms_sql.bind_variable(cid_, 'dummy3_', Project_Invoice_API.Get_Invoice_Date(company_,invoice_id_)); + -- Bug 164012, End + dbms_sql.bind_variable(cid_, 'dummy4_', dom_amount_); + ignore_ := dbms_sql.EXECUTE( cid_); + dbms_sql.variable_value(cid_, 'eur_amount_', eur_gross_amount_); + dbms_sql.close_cursor (cid_ ); + dom_amount_ := 0; + + dom_amount_ := PROJECT_TRANSACTION_API.Get_Domestic_Value (net_amount_, + prjinv_header.Company, + prjinv_header.Currency, + Currency_Type_Api.Get_Default_Type(prjinv_header.Company,'CUSTOMER'), + sysdate); + + stmt_ := 'BEGIN + :eur_amount_ := Currency_Amount_API.Calculate_To_Euro( + :dummy1_ , :dummy2_, :dummy3_, :dummy4_ ); + END;'; + cid_ := dbms_sql.open_cursor; + -- ifs_assert_safe nueklk 20080326 + dbms_sql.parse(cid_, stmt_, dbms_sql.native); + dbms_sql.bind_variable(cid_, 'eur_amount_',0); + dbms_sql.bind_variable(cid_, 'dummy1_', prjinv_header.Company ); + dbms_sql.bind_variable(cid_, 'dummy2_', prjinv_header.Currency); + -- Bug 164012, Start + dbms_sql.bind_variable(cid_, 'dummy3_', Project_Invoice_API.Get_Invoice_Date(company_,invoice_id_)); + -- Bug 164012, End + dbms_sql.bind_variable(cid_, 'dummy4_', dom_amount_); + ignore_ := dbms_sql.EXECUTE( cid_); + dbms_sql.variable_value(cid_, 'eur_amount_', vat_free_euro_amount_); + dbms_sql.close_cursor (cid_ ); + dom_amount_ := 0; + ELSE + eur_exist_ := 'FALSE'; + eur_net_amount_ := 0; + eur_vat_amount_ := 0; + eur_gross_amount_ := 0; + vat_free_euro_amount_ := 0; + Currency_ := prjinv_header.Currency; + END IF; + ELSE + eur_exist_ := 'FALSE'; + eur_net_amount_ := 0; + eur_vat_amount_ := 0; + eur_gross_amount_ := 0; + vat_free_euro_amount_ := 0; + Currency_ := prjinv_header.Currency; + END IF; + + IF (prjinv_euro.VAT_CODE IS NOT NULL) THEN + eur_percent_txt := prjinv_euro.VAT_CODE; + ELSE + eur_percent_txt := NULL; + END IF; + + IF(temp_vat_percentage1_ = vat_percentage_ AND NVL(temp_tax_code_, '') = prjinv_euro.vat_code) THEN + IF (do_xml_) THEN + xml_eur_vat_amount_ := xml_eur_vat_amount_ + eur_vat_amount_; + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N10 = N10 + eur_vat_amount_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + ELSE + IF (do_xml_) THEN + IF xml_euro_dtl_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_VAT_AMOUNT',xml_eur_vat_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'LAST_ROW',0); + Xml_Record_Writer_SYS.End_Element(xml_, 'EURO_DETAIL'); + xml_euro_dtl_flag_ := 0; + xml_eur_vat_amount_ := 0; + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'EURO_DETAIL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 1); + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_PERCENT_TXT',eur_percent_txt); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_EURO_EXIST',chk_eur_exist); + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_NET_AMOUNT',eur_net_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_GROSS_AMOUNT',eur_gross_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_EXIST',eur_exist_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',vat_percentage_); + Xml_Record_Writer_SYS.Add_Element(xml_,'EURVAT_CURRENCY',Eurvat_currency_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_FREE_EURO_AMOUNT',vat_free_euro_amount_); + xml_eur_vat_amount_ := eur_vat_amount_; + xml_euro_dtl_flag_ := 1; + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + D1, + N8, + N9, + N10, + N11, + S29, + N12, + S31, + S32, + N13, + S33, + N14, + N15, + S35, + N16, + S24, + S25, + S26, + S27, + S39, + S40, + S34, + --these values are inserted to display the header values + S21, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + S23, + N17, + N18, + S41, + S48, + N29, + S56, + N32, + S64, + S65 + ) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Invoice_Date, + prjinv_header.Gross_Amount, + eur_net_amount_, + eur_vat_amount_, + eur_gross_amount_, + eur_exist_, + vat_percentage_, + prjinv_header.Currency, + Eurvat_currency_, + currency_rounding_, + round_it_, + net_amount_, + fee_amount_, + fee_exist_, + vat_free_euro_amount_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + prjinv_header.Reportfoot, + --these values are inserted to display the header values + title_, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer, + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One, + prjinv_header.Billing_Address_Two, + prjinv_header.Billing_Address_Three, + prjinv_header.Billing_Address_Four, + prjinv_header.Billing_Address_Five, + prjinv_header.Billing_Address_Six, + prjinv_header.Billing_Address_Seven, + prjinv_header.Billing_Address_Eight, + prjinv_header.Billing_Address_Nine, + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + customer_vat_no_, + sales_tax_amount_, + dummy_sales_tax_, + prjinv_header.country, + eur_percent_txt, + chk_eur_exist, + prjinv_header.header_correction_reason, + 0, + verbally_amount_, + is_cor_invoice_); + row_no_ := row_no_ + 1; + END IF; + chk_eur_exist :=0; + END IF; + temp_vat_percentage1_ := vat_percentage_; + temp_tax_code_ := prjinv_euro.vat_code; + END LOOP; + + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N32 = 1 + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + + IF (do_xml_) THEN + IF xml_euro_dtl_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_VAT_AMOUNT',xml_eur_vat_amount_); + -- Bug 148528, Start + Xml_Record_Writer_SYS.Add_Element(xml_,'LAST_ROW',1); + Xml_Record_Writer_SYS.End_Element(xml_, 'EURO_DETAIL'); + -- Bug 148528, End + xml_euro_dtl_flag_ := 0; + xml_eur_vat_amount_ := 0; + END IF; + Xml_Record_Writer_SYS.End_Element(xml_, 'EURO_DETAILS'); + -- Bug 144010, End + + --------------------------------------------------------------------------------------------------------------- + -- SECONDARY BLOCK + --------------------------------------------------------------------------------------------------------------- + + IF (is_cor_invoice_ = 'TRUE') THEN + + net_amount_ := 0; + check_value_ := 0; + n_inv_line_size_ := 0; + activity_flag_ := 0; + sub_project_flag_ := 0; + project_flag_ := 0; + old_project_id_ := NULL; + old_sub_project_id_ := NULL; + old_activity_ := NULL; + tot_tax_curr_amt_ := 0; + row_amount_ := 0; + temp_vat_percentage_ := NULL; + xml_vat_curr_amount_ := 0; + xml_net_curr_amount_ := 0; + xml_vat_invoice_total_flag_ := 0; + vat_exist_ := 0; + included_prt_ := NULL; + chk_gross_amt_ := 0; + xml_tax_dom_amt_prt_ := 0; + tax_dom_amt_prt_ := 0; + xml_fee_code_total_flag_ := 0; + temp_vat_percentage1_ := 0; + xml_eur_vat_amount_ := 0; + xml_euro_dtl_flag_ := 0; + round_it_ := 'FALSE'; + fee_exist_ := 'FALSE'; + currency_rounding_ := 0; + fee_amount_ := 0; + First_Time_ := 'TRUE'; + + language_code_ := NULL; + bank_account_ := NULL; + bank_account_text_ := NULL; + payment_method_ := NULL; + pay_method_desc_ := NULL; + cursor1_stmt := NULL; + cursor2_stmt := NULL; + block_ := NULL; + has_adv_inv_ := NULL; + tax_reduction_at_payment_ := NULL; + curr_code_ := NULL; + inst_due_date_ := NULL; + interest_percent_ := 0; + curr_amount_ := 0; + open_amount_ := 0; + cur_rounding_ := 0; + installment_count_ := 0; + installment_id_ := 0; + disc_count_ := 0; + disc_gross_amt_ := 0; + disc_vat_amt_ := 0; + disc_net_amt_ := 0; + amt_to_pay_ := 0; + vat_percent_ := 0; + ratio_ := 0; + tax_code_disc_ := 0; + disc_flag_ := 0; + count_ := 0; + gross_amount_ := 0; + count_plan_ := 0; + count_disc_ := 0; + Xml_Record_Writer_SYS.Start_Element(xml_, 'PROJECTS'); + + -- Bug 152072, Start + transferred_tax_tab_.DELETE; + + OPEN get_transferred_tax_id(sec_invoice_id_); + FETCH get_transferred_tax_id BULK COLLECT INTO transferred_tax_tab_; + CLOSE get_transferred_tax_id; + -- Bug 152072, End + FOR prjinv_detail IN prjinv_detailcursor(sec_invoice_id_) LOOP + IF(prjinv_detail.prel_update_allowed = 'TRUE') THEN + row_amount_ := prjinv_detail.Net_Curr_Amount; + cust_ := prjinv_header.Customer; + + Eurvat_currency_ := 'EUR'; + vat_currency_ := 'VATCURR: in '; + + IF(prjinv_detail.Item_Id = 100001) THEN + round_it_ := 'TRUE'; + currency_rounding_ :=row_amount_; + END IF; + + IF(prjinv_detail.Item_Id = 100000) THEN + fee_exist_ := 'TRUE'; + fee_amount_ := row_amount_; + END IF; + + fee_type_ := Statutory_Fee_Api.Get_Fee_Type_Db(prjinv_header.Company,prjinv_detail.VAT_CODE); + IF (fee_type_ = 'NOTAX') THEN + vat_percentage_ := ''; + ELSE + vat_percentage_ := prjinv_detail.tax_percentage; + END IF; + net_amount_ := net_amount_ + row_amount_; + + Customer_Id := Project_API.Get_Customer_Id(prjinv_detail.Project_Id); + inv_addr_id_ := Invoice_API.Get_Invoice_Address_Id(company_, sec_invoice_id_); + Customer_Name_Proj := Customer_Info_Address_API.Get_Name(Customer_Id, inv_addr_id_); + Customer_Ord_ := Customer_Id; + + gross_amount_ := gross_amount_ + (prjinv_detail.net_curr_amount + prjinv_detail.vat_curr_amount); + + OPEN print_ref_to_ord_cust; + FETCH print_ref_to_ord_cust INTO cust_print_ref_; + CLOSE print_ref_to_ord_cust; + + item_id_ := prjinv_detail.Item_Id; + + --To check for TRANSFERRED=TRUE + check_value_ := 0; + IF (Source_Tax_Item_API.One_Tax_Item_Exists(company_, Tax_Source_API.DB_INVOICE, TO_CHAR(sec_invoice_id_), TO_CHAR(item_id_), '*', '*', '*') = 'FALSE') THEN + dummy_sales_tax_ := 1; + END IF; + + --A check value in order to ensure that the report code prints once for each ITEM_ID + check_note_ := 1; + + temp_report_cost_code_ := ''; + temp_invoiced_qty_ := 0; + temp_Sale_Unit_Price_ := 0; + + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001 AND NOT prjinv_detail.Item_Id > 100100) THEN + IF (prjinv_detail.Project_Id != old_project_id_ OR old_project_id_ IS NULL) THEN + IF (old_project_id_ IS NOT NULL OR (First_Time_ NOT LIKE 'TRUE' AND prjinv_detail.Project_Id IS NULL)) THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 2); + --TIBE-1418, End + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_DETAILS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITY'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITIES'); + Xml_Record_Writer_SYS.End_Element(xml_, 'SUB_PROJECT'); + Xml_Record_Writer_SYS.End_Element(xml_, 'SUB_PROJECTS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT'); + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'PROJECT'); + Xml_Record_Writer_SYS.Add_Custom_Fields(xml_, 'InvoiceItem', prjinv_detail.objkey, 'PROJECT_INVOICE_REP', language_code_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 2); + Xml_Record_Writer_SYS.Add_Element(xml_,'PROJECT_ID',prjinv_detail.Project_Id); + Xml_Record_Writer_SYS.Add_Element(xml_,'PROJECT_NAME',prjinv_detail.Project_Name); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_ID',Customer_Id); + Xml_Record_Writer_SYS.Add_Element(xml_,'CUSTOMER_NAME_PROJ',Customer_Name_Proj); + Xml_Record_Writer_SYS.Add_Element(xml_,'PRINT_REFERANCE_CUST_ORDERING',cust_print_ref_); + project_flag_ := 1; + Xml_Record_Writer_SYS.Start_Element(xml_, 'SUB_PROJECTS'); + old_sub_project_id_ := NULL; + END IF; + + IF (prjinv_detail.Sub_Project_Id != old_sub_project_id_ OR old_sub_project_id_ IS NULL) THEN + IF (old_sub_project_id_ IS NOT NULL) THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 2); + --TIBE-1418, End + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_DETAILS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITY'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITIES'); + Xml_Record_Writer_SYS.End_Element(xml_, 'SUB_PROJECT'); + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'SUB_PROJECT'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 2); + Xml_Record_Writer_SYS.Add_Element(xml_,'SUB_PROJECT_ID',prjinv_detail.Sub_Project_Id); + Xml_Record_Writer_SYS.Add_Element(xml_,'SUB_PROJECT_NAME',prjinv_detail.Sub_Project_Name); + sub_project_flag_ := 1; + Xml_Record_Writer_SYS.Start_Element(xml_, 'ACTIVITIES'); + old_activity_ := NULL; + END IF; + + IF (prjinv_detail.Activity_Seq != old_activity_ OR old_activity_ IS NULL) THEN + IF (old_activity_ IS NOT NULL) THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 2); + --TIBE-1418, End + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_DETAILS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITY'); + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'ACTIVITY'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 2); + Xml_Record_Writer_SYS.Add_Element(xml_,'ACTIVITY_SEQ',prjinv_detail.Activity_Seq); + Xml_Record_Writer_SYS.Add_Element(xml_,'ACTIVITY_NAME',prjinv_detail.Activity_Name); + activity_flag_ := 1; + Xml_Record_Writer_SYS.Start_Element(xml_, 'PROJECT_INVOICE_DETAILS'); + END IF; + + IF n_inv_line_size_ = 1 THEN + IF(s_inv_line_array_(0).a_proj_id_ = prjinv_detail.Project_Id AND + s_inv_line_array_(0).a_sub_proj_id_ = prjinv_detail.Sub_Project_Id AND + s_inv_line_array_(0).a_activity_seq_ = prjinv_detail.Activity_Seq AND + s_inv_line_array_(0).a_activity_name_ = prjinv_detail.Activity_Name AND + s_inv_line_array_(0).a_rep_cost_code_ = prjinv_detail.report_cost_code AND + ((s_inv_line_array_(0).a_sale_unit_price_ = prjinv_detail.Sale_Unit_Price) + OR (s_inv_line_array_(0).a_sale_unit_price_ IS NULL AND prjinv_detail.Sale_Unit_Price IS NULL)) AND + ((s_inv_line_array_(0).a_note_ = prjinv_detail.Note) + OR (s_inv_line_array_(0).a_note_ IS NULL AND prjinv_detail.Note IS NULL)) AND + ((s_inv_line_array_(0).a_vat_code_ = prjinv_detail.vat_code ) + OR (s_inv_line_array_(0).a_vat_code_ IS NULL AND prjinv_detail.vat_code IS NULL)) AND + ((s_inv_line_array_(0).a_price_adj_id_ = prjinv_detail.price_adjustment_id) + OR (s_inv_line_array_(0).a_price_adj_id_ IS NULL AND prjinv_detail.price_adjustment_id IS NULL)) AND + ((s_inv_line_array_(0).a_emp_no_ = prjinv_detail.emp_no) + OR (s_inv_line_array_(0).a_emp_no_ IS NULL AND prjinv_detail.emp_no IS NULL))) THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 2); + --TIBE-1418, End + END IF; + END IF; + END IF; + END IF; + + lines_tax_defined_flag_ := 0; + OPEN get_currency(sec_invoice_id_); + FETCH get_currency INTO inv_currency_; + CLOSE get_currency; + -- Bug 152072, Start + IF (transferred_tax_tab_.COUNT > 0) THEN + FOR i IN transferred_tax_tab_.FIRST .. transferred_tax_tab_.LAST LOOP + lines_tax_defined_flag_ := 1; + IF (transferred_tax_tab_(i).transferred='TRUE') THEN + tr_tax_curr_amount_ := 0; + FOR rec_ IN get_proj_trans_seq(sec_invoice_id_, prjinv_detail.Item_Id) LOOP + OPEN get_transferred_tax(rec_.project_transaction_seq, inv_currency_, transferred_tax_tab_(i).tax_code); + FETCH get_transferred_tax INTO tax_curr_amount_; + CLOSE get_transferred_tax; + tr_tax_curr_amount_ := NVL(tr_tax_curr_amount_, 0) + NVL(tax_curr_amount_, 0); + END LOOP; + check_value_ := 1; + included_prt_ := ' included'; + tax_percentage_prt_ := transferred_tax_tab_(i).tax_percentage||'%'; + IF (print_tax_texts_ = 'TRUE') THEN + OPEN get_date_range(transferred_tax_tab_(i).tax_code, invoice_date_str_); + FETCH get_date_range INTO valid_from_, valid_until_; + CLOSE get_date_range; + + fee_code_desc_prt_ := NVL(Enterp_Comp_Connect_V170_API.Get_Company_Translation( company_, + 'ACCRUL', + 'TaxCodeTexts', + transferred_tax_tab_(i).tax_code||'^'||REPLACE(To_Char(valid_from_,'yyyy/mm/dd'), '/', '')||'^'||REPLACE(To_Char(valid_until_,'yyyy/mm/dd'), '/', ''), + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)), + statutory_fee_api.get_description(company_,transferred_tax_tab_(i).tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer))); + ELSE + fee_code_desc_prt_ := statutory_fee_api.get_description(company_,transferred_tax_tab_(i).tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + END IF; + + --To get the total amount of fee codes when transferred is TRUE,this should be removed from the gross amount. + IF (NVL(tr_tax_curr_amount_, 0) < transferred_tax_tab_(i).tax_curr_amount) THEN + tot_tax_curr_amt_ := tot_tax_curr_amt_ + transferred_tax_tab_(i).tax_curr_amount; + ELSE + tot_tax_curr_amt_ := tot_tax_curr_amt_ + NVL(tr_tax_curr_amount_, 0); + END IF; + row_amount_ := row_amount_ + NVL(tr_tax_curr_amount_, 0); + IF (do_rs_) THEN + IF(temp_report_cost_code_ = prjinv_detail.report_cost_code AND + temp_invoiced_qty_ = prjinv_detail.invoiced_qty AND + temp_Sale_Unit_Price_ = prjinv_detail.Sale_Unit_Price) THEN + UPDATE INFO_SERVICES_RPT + SET N5 = row_amount_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + END IF; + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001 AND NOT prjinv_detail.Item_Id > 100100) THEN + s_tax_line_array_(n_tax_line_size_).a_check_value_ := check_value_; + s_tax_line_array_(n_tax_line_size_).a_temp_tax_value_ := dummy_sales_tax_; + s_tax_line_array_(n_tax_line_size_).a_fee_code_ := transferred_tax_tab_(i).tax_code; + s_tax_line_array_(n_tax_line_size_).a_fee_code_desc_ := fee_code_desc_prt_; + s_tax_line_array_(n_tax_line_size_).a_tax_curr_amount_ := NVL(tr_tax_curr_amount_, 0); + s_tax_line_array_(n_tax_line_size_).a_included_txt_ := included_prt_; + n_tax_line_size_ := n_tax_line_size_ + 1; + END IF; + END IF; + + temp_report_cost_code_ := prjinv_detail.report_cost_code; + temp_invoiced_qty_ := prjinv_detail.invoiced_qty; + temp_Sale_Unit_Price_ := prjinv_detail.Sale_Unit_Price; + + END IF; + IF (do_rs_) THEN + -- Bug 167717, Start + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + D1, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + N1, + S15, + S16, + S17, + S18, + N2, + S19, + S20, + N3, + N4, + N5, + S21, + S22, + S23, + S24, + S25, + S26, + S27, + S39, + S40, + S34, + S36, + S37, + S38, + S41, + S50, + N20, + S42, + S44, + N19, + S43, + N21, + S45, + N18, + S33, + N13, + S31, + S56, + S57, + S64, + S65) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Invoice_Date, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer||'^'||del_customer_name||'^', + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One||'^'||del_add_line1_||'^', + prjinv_header.Billing_Address_Two||'^'||del_add_line2_||'^', + prjinv_header.Billing_Address_Three||'^'||del_add_line3_||'^', + prjinv_header.Billing_Address_Four||'^'||del_add_line4_||'^', + prjinv_header.Billing_Address_Five||'^'||del_add_line5_||'^', + prjinv_header.Billing_Address_Six||'^'||del_add_line6_||'^', + prjinv_header.Billing_Address_Seven||'^'||del_add_line7_||'^', + prjinv_header.Billing_Address_Eight||'^'||del_add_line8_||'^', + prjinv_header.Billing_Address_Nine||'^'||del_add_line9_||'^', + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + prjinv_detail.Item_Id, + prjinv_detail.Project_Id, + prjinv_detail.Project_Name, + prjinv_detail.Sub_Project_Id, + prjinv_detail.Sub_Project_Name, + prjinv_detail.Activity_Seq, + prjinv_detail.Activity_Name, + prjinv_detail.report_cost_code, + prjinv_detail.Invoiced_Qty, + prjinv_detail.Sale_Unit_Price, + row_amount_, + title_, + prjinv_detail.Note, + customer_vat_no_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + prjinv_header.Reportfoot, + Customer_Id, + Customer_Name_Proj, + cust_print_ref_, + prjinv_header.country||'^'||del_country_||'^', + ncf_reference_, + check_value_, + transferred_tax_tab_(i).tax_code, + tax_percentage_prt_, + NVL(tr_tax_curr_amount_, 0), + fee_code_desc_prt_, + check_note_, + included_prt_, + dummy_sales_tax_, + round_it_, + currency_rounding_, + prjinv_header.Currency, + prjinv_header.header_correction_reason, + prjinv_detail.correction_reason, + verbally_amount_, + is_cor_invoice_ + ); + -- Bug 167717, End + row_no_ := row_no_ + 1; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + S5) + VALUES( + result_key_, + row_no_, + 2, + prjinv_detail.invoice_text); + END IF; + row_no_ := row_no_ + 1; + END IF; + check_note_ := 0; + END LOOP; + END IF; + -- Bug 152072, End + + IF (lines_tax_defined_flag_ = 0) THEN + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + D1, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + N1, + S15, + S16, + S17, + S18, + N2, + S19, + S20, + N3, + N4, + N5, + S21, + S22, + S23, + S24, + S25, + S26, + S27, + S39, + S40, + S34, + S36, + S37, + S38, + S41, + S50, + N20, + S44, + S43, + N21, + S45, + N18, + S33, + N13, + S31, + S56, + S57, + S64, + S65) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Invoice_Date, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer||'^'||del_customer_name||'^', + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One||'^'||del_add_line1_||'^', + prjinv_header.Billing_Address_Two||'^'||del_add_line2_||'^', + prjinv_header.Billing_Address_Three||'^'||del_add_line3_||'^', + prjinv_header.Billing_Address_Four||'^'||del_add_line4_||'^', + prjinv_header.Billing_Address_Five||'^'||del_add_line5_||'^', + prjinv_header.Billing_Address_Six||'^'||del_add_line6_||'^', + prjinv_header.Billing_Address_Seven||'^'||del_add_line7_||'^', + prjinv_header.Billing_Address_Eight||'^'||del_add_line8_||'^', + prjinv_header.Billing_Address_Nine||'^'||del_add_line9_||'^', + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + prjinv_detail.Item_Id, + prjinv_detail.Project_Id, + prjinv_detail.Project_Name, + prjinv_detail.Sub_Project_Id, + prjinv_detail.Sub_Project_Name, + prjinv_detail.Activity_Seq, + prjinv_detail.Activity_Name, + prjinv_detail.report_cost_code, + prjinv_detail.Invoiced_Qty, + prjinv_detail.Sale_Unit_Price, + row_amount_, + title_, + prjinv_detail.Note, + customer_vat_no_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + prjinv_header.Reportfoot, + Customer_Id, + Customer_Name_Proj, + cust_print_ref_, + prjinv_header.country||'^'||del_country_||'^', + ncf_reference_, + check_value_, + tax_percentage_prt_, + fee_code_desc_prt_, + check_note_, + included_prt_, + dummy_sales_tax_, + round_it_, + currency_rounding_, + prjinv_header.Currency, + prjinv_header.header_correction_reason, + prjinv_detail.correction_reason, + verbally_amount_, + is_cor_invoice_ + ); + row_no_ := row_no_ + 1; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + S5) + VALUES( + result_key_, + row_no_, + 2, + prjinv_detail.invoice_text); + END IF; + row_no_ := row_no_ + 1; + END IF; + END IF; + + IF (check_value_ = 0) THEN + IF(temp_.Project_Id = prjinv_detail.Project_Id AND + temp_.Sub_Project_Id = prjinv_detail.Sub_Project_Id AND + temp_.Activity_Seq = prjinv_detail.Activity_Seq AND + temp_.Activity_Name = prjinv_detail.Activity_Name AND + temp_.report_cost_code = prjinv_detail.report_cost_code AND + ((temp_.Sale_Unit_Price = prjinv_detail.Sale_Unit_Price) + OR (temp_.Sale_Unit_Price IS NULL AND prjinv_detail.Sale_Unit_Price IS NULL)) AND + ((temp_.Note = prjinv_detail.Note) + OR (temp_.Note IS NULL AND prjinv_detail.Note IS NULL)) AND + ((temp_.vat_code = prjinv_detail.vat_code ) + OR (temp_.vat_code IS NULL AND prjinv_detail.vat_code IS NULL)) AND + ((temp_.price_adjustment_id = prjinv_detail.price_adjustment_id) + OR (temp_.price_adjustment_id IS NULL AND prjinv_detail.price_adjustment_id IS NULL))) THEN + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001) THEN + s_inv_line_array_(0).a_invoice_qty_ := s_inv_line_array_(0).a_invoice_qty_ + prjinv_detail.Invoiced_Qty; + s_inv_line_array_(0).a_net_curr_amount_ := s_inv_line_array_(0).a_net_curr_amount_ + row_amount_; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + s_inv_text_array_(arr_index_) := prjinv_detail.invoice_text; + s_inv_text_array_.extend(1); + arr_index_ := arr_index_ + 1; + END IF; + END IF; + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N3 = N3 + prjinv_detail.Invoiced_Qty, + N5 = N5 + row_amount_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + ELSE + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001 AND NOT prjinv_detail.Item_Id > 100100) THEN + IF n_inv_line_size_ = 1 THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 2); + --TIBE-1418, End + END IF; + s_inv_line_array_(0).a_proj_id_ := prjinv_detail.Project_Id; + s_inv_line_array_(0).a_proj_name_ := prjinv_detail.Project_Name; + s_inv_line_array_(0).a_cust_id_ := Customer_Id; + s_inv_line_array_(0).a_cust_name_ := Customer_Name_Proj; + s_inv_line_array_(0).a_print_ref_ := cust_print_ref_; + s_inv_line_array_(0).a_sub_proj_id_ := prjinv_detail.Sub_Project_Id; + s_inv_line_array_(0).a_sub_proj_name_ := prjinv_detail.Sub_Project_Name; + s_inv_line_array_(0).a_activity_seq_ := prjinv_detail.Activity_Seq; + s_inv_line_array_(0).a_activity_name_ := prjinv_detail.Activity_Name; + s_inv_line_array_(0).a_invoice_qty_ := prjinv_detail.Invoiced_Qty; + s_inv_line_array_(0).a_sale_unit_price_ := prjinv_detail.Sale_Unit_Price; + s_inv_line_array_(0).a_net_curr_amount_ := row_amount_; + s_inv_line_array_(0).a_note_ := prjinv_detail.Note; + s_inv_line_array_(0).a_vat_code_ := prjinv_detail.vat_code; + s_inv_line_array_(0).a_price_adj_id_ := prjinv_detail.price_adjustment_id; + s_inv_line_array_(0).a_rep_cost_code_ := prjinv_detail.report_cost_code; + s_inv_line_array_(0).a_item_id_ := prjinv_detail.item_id; + s_inv_line_array_(0).a_correction_reason := prjinv_detail.correction_reason; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + s_inv_text_array_(arr_index_) := prjinv_detail.invoice_text; + s_inv_text_array_.extend(1); + arr_index_ := arr_index_ + 1; + END IF; + + n_inv_line_size_ := 1; + END IF; + END IF; + END IF; + temp_.Project_Id := prjinv_detail.Project_Id; + temp_.Sub_Project_Id := prjinv_detail.Sub_Project_Id; + temp_.Activity_Seq := prjinv_detail.Activity_Seq; + temp_.Activity_Name := prjinv_detail.Activity_Name; + temp_.report_cost_code := prjinv_detail.report_cost_code; + temp_.Sale_Unit_Price := prjinv_detail.Sale_Unit_Price; + temp_.Note := prjinv_detail.Note; + temp_.Net_Curr_Amount := prjinv_detail.Net_Curr_Amount; + temp_.vat_code := prjinv_detail.vat_code; + temp_.vat_curr_amount := prjinv_detail.vat_curr_amount; + temp_.price_adjustment_id := prjinv_detail.price_adjustment_id; + END IF; + + IF (check_value_ = 1) THEN + IF(temp_.Project_Id = prjinv_detail.Project_Id AND + temp_.Sub_Project_Id = prjinv_detail.Sub_Project_Id AND + temp_.Activity_Seq = prjinv_detail.Activity_Seq AND + temp_.Activity_Name = prjinv_detail.Activity_Name AND + temp_.report_cost_code = prjinv_detail.report_cost_code AND + ((temp_.Sale_Unit_Price = prjinv_detail.Sale_Unit_Price) + OR (temp_.Sale_Unit_Price IS NULL AND prjinv_detail.Sale_Unit_Price IS NULL)) AND + ((temp_.Note = prjinv_detail.Note) + OR (temp_.Note IS NULL AND prjinv_detail.Note IS NULL)) AND + ((temp_.vat_code = prjinv_detail.vat_code ) + OR (temp_.vat_code IS NULL AND prjinv_detail.vat_code IS NULL)) AND + ((temp_.price_adjustment_id = prjinv_detail.price_adjustment_id) + OR (temp_.price_adjustment_id IS NULL AND prjinv_detail.price_adjustment_id IS NULL))) THEN + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001 AND NOT prjinv_detail.Item_Id > 100100) THEN + s_inv_line_array_(0).a_invoice_qty_ := s_inv_line_array_(0).a_invoice_qty_ + prjinv_detail.Invoiced_Qty; + s_inv_line_array_(0).a_net_curr_amount_ := s_inv_line_array_(0).a_net_curr_amount_ + row_amount_; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + s_inv_text_array_(arr_index_) := prjinv_detail.invoice_text; + s_inv_text_array_.extend(1); + arr_index_ := arr_index_ + 1; + END IF; + END IF; + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N3 = N3 + prjinv_detail.Invoiced_Qty, + N5 = N5 + row_amount_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + ELSE + IF (do_xml_) THEN + IF(prjinv_detail.Item_Id != 100000 AND prjinv_detail.Item_Id != 100001 AND NOT prjinv_detail.Item_Id > 100100) THEN + IF n_inv_line_size_ = 1 THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 2); + --TIBE-1418, End + END IF; + s_inv_line_array_(0).a_proj_id_ := prjinv_detail.Project_Id; + s_inv_line_array_(0).a_proj_name_ := prjinv_detail.Project_Name; + s_inv_line_array_(0).a_cust_id_ := Customer_Id; + s_inv_line_array_(0).a_cust_name_ := Customer_Name_Proj; + s_inv_line_array_(0).a_print_ref_ := cust_print_ref_; + s_inv_line_array_(0).a_sub_proj_id_ := prjinv_detail.Sub_Project_Id; + s_inv_line_array_(0).a_sub_proj_name_ := prjinv_detail.Sub_Project_Name; + s_inv_line_array_(0).a_activity_seq_ := prjinv_detail.Activity_Seq; + s_inv_line_array_(0).a_activity_name_ := prjinv_detail.Activity_Name; + s_inv_line_array_(0).a_invoice_qty_ := prjinv_detail.Invoiced_Qty; + s_inv_line_array_(0).a_sale_unit_price_ := prjinv_detail.Sale_Unit_Price; + s_inv_line_array_(0).a_net_curr_amount_ := row_amount_; + s_inv_line_array_(0).a_note_ := prjinv_detail.Note; + s_inv_line_array_(0).a_vat_code_ := prjinv_detail.vat_code; + s_inv_line_array_(0).a_price_adj_id_ := prjinv_detail.price_adjustment_id; + s_inv_line_array_(0).a_rep_cost_code_ := prjinv_detail.report_cost_code; + s_inv_line_array_(0).a_item_id_ := prjinv_detail.item_id; + s_inv_line_array_(0).a_correction_reason := prjinv_detail.correction_reason; + IF(prjinv_detail.invoice_text IS NOT NULL)THEN + s_inv_text_array_(arr_index_) := prjinv_detail.invoice_text; + s_inv_text_array_.extend(1); + arr_index_ := arr_index_ + 1; + END IF; + n_inv_line_size_ := 1; + END IF; + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + D1, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + N1, + S15, + S16, + S17, + S18, + N2, + S19, + S20, + N3, + N4, + N5, + S21, + S22, + S23, + S24, + S25, + S26, + S27, + S39, + S40, + S34, + S36, + S37, + S38, + S41, + S50, + N20, + S42, + S44, + N19, + S43, + N21, + S33, + N13, + S31, + S56, + S57, + S64, + S65) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Invoice_Date, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer||'^'||del_customer_name||'^', + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One||'^'||del_add_line1_||'^', + prjinv_header.Billing_Address_Two||'^'||del_add_line2_||'^', + prjinv_header.Billing_Address_Three||'^'||del_add_line3_||'^', + prjinv_header.Billing_Address_Four||'^'||del_add_line4_||'^', + prjinv_header.Billing_Address_Five||'^'||del_add_line5_||'^', + prjinv_header.Billing_Address_Six||'^'||del_add_line6_||'^', + prjinv_header.Billing_Address_Seven||'^'||del_add_line7_||'^', + prjinv_header.Billing_Address_Eight||'^'||del_add_line8_||'^', + prjinv_header.Billing_Address_Nine||'^'||del_add_line9_||'^', + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + prjinv_detail.Item_Id, + prjinv_detail.Project_Id, + prjinv_detail.Project_Name, + prjinv_detail.Sub_Project_Id, + prjinv_detail.Sub_Project_Name, + prjinv_detail.Activity_Seq, + prjinv_detail.Activity_Name, + prjinv_detail.report_cost_code, + prjinv_detail.Invoiced_Qty, + prjinv_detail.Sale_Unit_Price, + row_amount_, + title_, + prjinv_detail.Note, + customer_vat_no_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + prjinv_header.Reportfoot, + Customer_Id, + Customer_Name_Proj, + cust_print_ref_, + prjinv_header.country||'^'||del_country_||'^', + ncf_reference_, + check_value_, + NULL, + NULL, + NULL, + NULL, + 1, + round_it_, + currency_rounding_, + prjinv_header.Currency, + prjinv_header.header_correction_reason, + prjinv_detail.correction_reason, + verbally_amount_, + is_cor_invoice_ + ); + row_no_ := row_no_ + 1; + END IF; + END IF; + + temp_.Project_Id := prjinv_detail.Project_Id; + temp_.Sub_Project_Id := prjinv_detail.Sub_Project_Id; + temp_.Activity_Seq := prjinv_detail.Activity_Seq; + temp_.Activity_Name := prjinv_detail.Activity_Name; + temp_.report_cost_code := prjinv_detail.report_cost_code; + temp_.Sale_Unit_Price := prjinv_detail.Sale_Unit_Price; + temp_.Note := prjinv_detail.Note; + temp_.Net_Curr_Amount := prjinv_detail.Net_Curr_Amount; + temp_.vat_code := prjinv_detail.vat_code; + temp_.vat_curr_amount := prjinv_detail.vat_curr_amount; + temp_.price_adjustment_id := prjinv_detail.price_adjustment_id; + END IF; + + old_project_id_ := prjinv_detail.Project_Id; + old_sub_project_id_ := prjinv_detail.Sub_Project_Id; + old_activity_ := prjinv_detail.Activity_Seq; + First_Time_ := 'FALSE'; + END IF; + END LOOP; + + IF (do_xml_) THEN + IF n_inv_line_size_ = 1 THEN + --TIBE-1418, Start + Generate_Xml___(s_tax_line_array_, s_inv_line_array_, s_inv_text_array_, arr_index_, n_tax_line_size_, n_inv_line_size_, temp_size_, xml_, 2); + --TIBE-1418, End + END IF; + IF (activity_flag_ = 1) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_DETAILS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITY'); + END IF; + IF (sub_project_flag_ = 1) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'ACTIVITIES'); + Xml_Record_Writer_SYS.End_Element(xml_, 'SUB_PROJECT'); + END IF; + IF (project_flag_ = 1) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'SUB_PROJECTS'); + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT'); + END IF; + IF (xml_header_flag_ = 1) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECTS'); + END IF; + + activity_flag_ := 0; + sub_project_flag_ := 0; + project_flag_ := 0; + old_project_id_ := NULL; + old_sub_project_id_ := NULL; + old_activity_ := NULL; + END IF; + + + --XML VIEW - TRANSFERRED_FALSE_DTLS + -- for taxes that are TRANSFERRED = FALSE + dummy_sales_tax_ := 1; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'TRANSFERRED_FALSE_DTLS'); + END IF; + + FOR tax_rec_ IN get_tax_id(sec_invoice_id_) LOOP + -- Bug 144010, Start + IF (tax_rec_.transferred='FALSE') THEN + fee_code_prt_ := tax_rec_.tax_code; + IF (print_tax_texts_ = 'TRUE') THEN + OPEN get_date_range(tax_rec_.tax_code, invoice_date_str_); + FETCH get_date_range INTO valid_from_, valid_until_; + CLOSE get_date_range; + + fee_code_desc_prt_ := NVL(Enterp_Comp_Connect_V170_API.Get_Company_Translation( company_, + 'ACCRUL', + 'TaxCodeTexts', + tax_rec_.tax_code||'^'||REPLACE(To_Char(valid_from_,'yyyy/mm/dd'), '/', '')||'^'||REPLACE(To_Char(valid_until_,'yyyy/mm/dd'), '/', ''), + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)), + statutory_fee_api.get_description(company_,tax_rec_.tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer))); + ELSE + fee_code_desc_prt_ := statutory_fee_api.get_description(company_,tax_rec_.tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + END IF; + tax_curr_amt_prt_ :=tax_rec_.tot_tax_curr_amount; + tax_percentage_prt_ :=tax_rec_.tax_percentage||'%'; + chk_trans_false_ := 1; + + IF(temp_vat_percentage1_ = vat_percentage_ AND NVL(temp_tax_code_, '') = tax_rec_.tax_code) THEN + IF (do_xml_) THEN + xml_tax_curr_amt_prt_ := xml_tax_curr_amt_prt_ + tax_curr_amt_prt_; + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N19 = N19 + tax_curr_amt_prt_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + ELSE + IF (do_xml_) THEN + IF xml_transfered_false_dtl_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_CURR_AMOUNT',xml_tax_curr_amt_prt_); + Xml_Record_Writer_SYS.End_Element(xml_, 'TRANSFERRED_FALSE_DTL'); + xml_transfered_false_dtl_flag_ := 0; + xml_tax_curr_amt_prt_ := 0; + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'TRANSFERRED_FALSE_DTL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 2); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_CODE',fee_code_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_PERCENTAGE_TXT',tax_percentage_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_CODE_DESC',fee_code_desc_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_TRANSFER_FALSE',chk_trans_false_); + xml_tax_curr_amt_prt_ := tax_curr_amt_prt_; + xml_transfered_false_dtl_flag_ := 1; + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N6, + N8, + S28, + N12, + S30, + S31, + N13, + S33, + N14, + S34, + N15, + S35, + S24, + S25, + S26, + S27, + S39, + S40, + --these values are inserted to display the header values + D1, + S21, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + S23, + N17, + N18, + S41, + S42, + N19, + S44, + S43, + N23, + N25, + S46, + S56, + S64, + S65 ) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Net_Amount, + prjinv_header.Gross_Amount, + prjinv_header.Vat_No, + vat_percentage_, + vat_currency_, + prjinv_header.Currency, + currency_rounding_, + round_it_, + net_amount_, + prjinv_header.Reportfoot, + fee_amount_, + fee_exist_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + --this values are inserted to display the header values + prjinv_header.Invoice_Date, + title_, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer, + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One, + prjinv_header.Billing_Address_Two, + prjinv_header.Billing_Address_Three, + prjinv_header.Billing_Address_Four, + prjinv_header.Billing_Address_Five, + prjinv_header.Billing_Address_Six, + prjinv_header.Billing_Address_Seven, + prjinv_header.Billing_Address_Eight, + prjinv_header.Billing_Address_Nine, + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + customer_vat_no_, + sales_tax_amount_, + dummy_sales_tax_, + prjinv_header.country||'^'||del_country_||'^', + fee_code_prt_, + tax_curr_amt_prt_, + tax_percentage_prt_, + fee_code_desc_prt_, + -1, + chk_trans_false_, + vat_percent_txt_, + prjinv_header.header_correction_reason, + verbally_amount_, + is_cor_invoice_ ); + END IF; + row_no_ := row_no_ + 1; + END IF; + chk_trans_false_ := 0; + save_result_key_ := result_key_; + save_row_no_ := row_no_ -1; + temp_tax_percentage_ := tax_rec_.tax_percentage; + temp_tax_code_:= tax_rec_.tax_code; + END IF; + -- Bug 144010, End + END LOOP; + IF (do_xml_) THEN + IF xml_transfered_false_dtl_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_CURR_AMOUNT',xml_tax_curr_amt_prt_); + Xml_Record_Writer_SYS.End_Element(xml_, 'TRANSFERRED_FALSE_DTL'); + xml_transfered_false_dtl_flag_ := 0; + xml_tax_curr_amt_prt_ := 0; + END IF; + Xml_Record_Writer_SYS.End_Element(xml_, 'TRANSFERRED_FALSE_DTLS'); + END IF; + + -- Bug 147882, Start + + --XML VIEW - VAT_INVOICE_TOTALS + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'VAT_INVOICE_TOTALS'); + END IF; + + FOR prjinv_vat IN prjinv_vatcursor(sec_invoice_id_) LOOP + item_id_ :=prjinv_vat.item_id; + + dummy_sales_tax_ := 0; + vat_exist_ :=1; + fee_type_ := Statutory_Fee_Api.Get_Fee_Type_Db(prjinv_header.Company,prjinv_vat.VAT_CODE); + IF (fee_type_ = 'NOTAX') THEN + vat_percentage_ := 0; + ELSE + vat_percentage_ := Statutory_Fee_API.Get_Percentage(prjinv_header.Company,prjinv_vat.VAT_CODE); + END IF; + p_length_ := LENGTH(vat_percentage_); + + IF (p_length_ = 1) THEN + vat_percentage_ := ' '|| vat_percentage_; + END IF; + + IF (prjinv_vat.VAT_CODE IS NOT NULL ) THEN + vat_percent_txt_ := prjinv_vat.VAT_CODE; + fee_code_desc_prt_ := statutory_fee_api.get_description(company_,prjinv_vat.VAT_CODE,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + ELSE + vat_percent_txt_ :=NULL; + END IF; + + IF (print_tax_texts_ = 'TRUE') THEN + OPEN get_date_range(prjinv_vat.VAT_CODE, invoice_date_str_); + FETCH get_date_range INTO valid_from_, valid_until_; + CLOSE get_date_range; + + tax_text_ := NVL(Enterp_Comp_Connect_V170_API.Get_Company_Translation( company_, + 'ACCRUL', + 'TaxCodeTexts', + prjinv_vat.VAT_CODE||'^'||REPLACE(To_Char(valid_from_,'yyyy/mm/dd'), '/', '')||'^'||REPLACE(To_Char(valid_until_,'yyyy/mm/dd'), '/', ''), + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)), + Tax_Code_Texts_API.Get_Tax_Code_Text( company_, vat_percent_txt_, inv_period_start_, inv_period_end_ )); + ELSE + tax_text_ := NULL; + END IF; + + -- Bug 144010, Start + IF (temp_vat_percentage_ = vat_percentage_ AND NVL(temp_tax_code_, '') = prjinv_vat.vat_code) THEN + IF (do_xml_) THEN + xml_vat_curr_amount_ := xml_vat_curr_amount_ + prjinv_vat.vat_curr_amount; + xml_net_curr_amount_ := xml_net_curr_amount_ + prjinv_vat.net_curr_amount; + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N7 = N7 + prjinv_vat.vat_curr_amount, + N5 = N5 + prjinv_vat.net_curr_amount + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + ELSE + IF (do_xml_) THEN + IF xml_vat_invoice_total_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_AMOUNT',xml_vat_curr_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_AMOUNT',xml_net_curr_amount_); + Xml_Record_Writer_SYS.End_Element(xml_, 'VAT_INVOICE_TOTAL'); + xml_vat_invoice_total_flag_ := 0; + xml_vat_curr_amount_ := 0; + xml_net_curr_amount_ := 0; + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'VAT_INVOICE_TOTAL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 2); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENT_TXT',vat_percent_txt_); + IF(fee_type_ = 'NOTAX') THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',''); + ELSE + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',vat_percentage_); + END IF; + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',dummy_sales_tax_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHECK_DOM',0); + Xml_Record_Writer_SYS.Add_Element(xml_, 'FEE_CODE_DESC', fee_code_desc_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_, 'TAX_TEXT', tax_text_); + xml_vat_curr_amount_ := prjinv_vat.vat_curr_amount; + xml_net_curr_amount_ := prjinv_vat.net_curr_amount; + xml_vat_invoice_total_flag_ := 1; + END IF; + IF (do_rs_) THEN + -- Bug 111274, Start + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N6, + N5, + N7, + N8, + S28, + N12, + S30, + S31, + N13, + S33, + N14, + S34, + N15, + S35, + S24, + S25, + S26, + S27, + S39, + S40, + --these values are inserted to display the header values + D1, + S21, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S14, + D2, + D3, + D4, + S23, + N17, + N18, + S41, + S46, + S43, + N28, + S49, + S52, + S64, + S65 ) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Net_Amount, + prjinv_vat.net_curr_amount, + prjinv_vat.vat_curr_amount, + prjinv_header.Gross_Amount, + prjinv_header.Vat_No, + vat_percentage_, + vat_currency_, + prjinv_header.Currency, + currency_rounding_, + round_it_, + net_amount_, + prjinv_header.Reportfoot, + fee_amount_, + fee_exist_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + --this values are inserted to display the header values + prjinv_header.Invoice_Date, + title_, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer, + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One, + prjinv_header.Billing_Address_Two, + prjinv_header.Billing_Address_Three, + prjinv_header.Billing_Address_Four, + prjinv_header.Billing_Address_Five, + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + customer_vat_no_, + sales_tax_amount_, + dummy_sales_tax_, + prjinv_header.country, + vat_percent_txt_, + fee_code_desc_prt_, + 0, + tax_text_, + prjinv_header.header_correction_reason, + verbally_amount_, + is_cor_invoice_ ); + -- Bug 111274, End + row_no_ := row_no_ + 1; + END IF; + END IF; + temp_vat_percentage_ := vat_percentage_; + temp_tax_code_ := prjinv_vat.vat_code; + -- Bug 144010, End + + END LOOP; + + IF (do_xml_) THEN + IF xml_vat_invoice_total_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_AMOUNT',xml_vat_curr_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_, 'NET_AMOUNT', xml_net_curr_amount_); + Xml_Record_Writer_SYS.End_Element(xml_, 'VAT_INVOICE_TOTAL'); + xml_vat_invoice_total_flag_ := 0; + xml_vat_curr_amount_ := 0; + xml_net_curr_amount_ := 0; + END IF; + Xml_Record_Writer_SYS.End_Element(xml_, 'VAT_INVOICE_TOTALS'); + END IF; + + -- Bug 147882, End + + --XML VIEW - INVOICE_VALUES + OPEN get_cur_amounts(sec_invoice_id_); + FETCH get_cur_amounts INTO sec_net_amount_sum_, sec_vat_amount_sum_, sec_gross_amount_sum_; + CLOSE get_cur_amounts; + + net_amnt_diff_ := sec_net_amount_sum_ - pri_net_amount_sum_; + vat_amnt_diff_ := sec_vat_amount_sum_ - pri_vat_amount_sum_; + gross_amnt_diff_ := sec_gross_amount_sum_ - pri_gross_amount_sum_; + + IF (vat_exist_ = 1) THEN + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'INVOICE_VALUES'); + Xml_Record_Writer_SYS.Start_Element(xml_, 'INVOICE_VALUE'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 2); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_EXIST',1); + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_AMOUNT',sec_net_amount_sum_); + Xml_Record_Writer_SYS.Add_Element(xml_,'GROSS_AMOUNT',sec_gross_amount_sum_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_CURRENCY',vat_currency_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_CODE',prjinv_header.Currency); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_ROUNDING',currency_rounding_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ROUND_IT',round_it_); + Xml_Record_Writer_SYS.Add_Element(xml_,'GROSS_AMOUNT_NOT_RD',net_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_AMOUNT',fee_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_EXIST',fee_exist_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',dummy_sales_tax_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_GROSS_AMT',''); + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_AMOUNT_DIFF',net_amnt_diff_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_AMOUNT_DIFF',vat_amnt_diff_); + Xml_Record_Writer_SYS.Add_Element(xml_,'GROSS_AMOUNT_DIFF',gross_amnt_diff_); + base_currency_ := Company_Finance_API.Get_Currency_Code(company_); + curr_rounding_ := Currency_Code_API.Get_Currency_Rounding (company_, + prjinv_header.currency); + conv_factor_ := Currency_Code_API.Get_Conv_Factor (prjinv_header.company, + prjinv_header.currency); + IF (Currency_Code_API.Get_Inverted( company_, base_currency_ ) = 'TRUE') THEN + IF (prjinv_header.curr_rate=0) THEN + base_net_curr_amount_ := 0; + ELSE + currency_rate_inv_:=(1/(prjinv_header.curr_rate/conv_factor_))*conv_factor_; + IF(currency_rate_inv_=0) THEN + base_net_curr_amount_ := 0; + ELSE + base_net_curr_amount_ := pri_net_amount_sum_ / ( conv_factor_/ currency_rate_inv_ ) ; + END IF; + END IF; + ELSE + base_net_curr_amount_ := pri_net_amount_sum_*(prjinv_header.curr_rate/conv_factor_); + END IF; + base_net_curr_amount_ := ROUND(base_net_curr_amount_,curr_rounding_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BASE_NET_CURR_AMOUNT',base_net_curr_amount_); + Xml_Record_Writer_SYS.End_Element(xml_, 'INVOICE_VALUE'); + Xml_Record_Writer_SYS.End_Element(xml_, 'INVOICE_VALUES'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N28, + N8, + S31, + N14, + N13, + N31) + VALUES( + result_key_, + row_no_, + parent_row_no_, + 1, + prjinv_header.Gross_Amount, + prjinv_header.Currency, + net_amount_, + currency_rounding_, + base_net_curr_amount_ ); + row_no_ := row_no_ + 1; + END IF; + END IF; + + --XML VIEW - TAX_SUMMARY_ROWS + --Totals of all taxes both TRANSFERRED=FALSE and TRANSFERRED=TRUE + dummy_sales_tax_ := 1; + save_result_key_ := result_key_; + save_row_no_ := row_no_ -1; + chk_gross_amt_ :=1; + + IF(included_prt_ = ' included') THEN + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'TAX_SUMMARY_ROWS'); + END IF; + FOR tax_rec_ IN get_tax_id1(sec_invoice_id_) LOOP + --To check if there are fee codes + chk_gross_amt_ :=1; + fee_code_prt_ := tax_rec_.tax_code; + IF (print_tax_texts_ = 'TRUE') THEN + OPEN get_date_range(tax_rec_.tax_code, invoice_date_str_); + FETCH get_date_range INTO valid_from_, valid_until_; + CLOSE get_date_range; + + fee_code_desc_prt_ := NVL(Enterp_Comp_Connect_V170_API.Get_Company_Translation( company_, + 'ACCRUL', + 'TaxCodeTexts', + tax_rec_.tax_code||'^'||REPLACE(To_Char(valid_from_,'yyyy/mm/dd'), '/', '')||'^'||REPLACE(To_Char(valid_until_,'yyyy/mm/dd'), '/', ''), + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)), + statutory_fee_api.get_description(company_,tax_rec_.tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer))); + ELSE + fee_code_desc_prt_ := statutory_fee_api.get_description(company_,tax_rec_.tax_code,NULL,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + END IF; + tax_curr_amt_prt_ :=tax_rec_.tot_tax_curr_amount; + tax_percentage_prt_ :=tax_rec_.tax_percentage||'%'; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'TAX_SUMMARY_ROW'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 2); + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',dummy_sales_tax_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_CODE',fee_code_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_CURR_AMOUNT',tax_curr_amt_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_PERCENTAGE_TXT',tax_percentage_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_CODE_DESC',fee_code_desc_prt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHECK_VALUE',''); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_TRANSFER_FALSE',0); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_GROSS_AMT',0); + Xml_Record_Writer_SYS.End_Element(xml_, 'TAX_SUMMARY_ROW'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N6, + N8, + S28, + S31, + S34, + S24, + S25, + S26, + S27, + S39, + S40, + --these values are inserted to display the header values + D1, + S21, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + S23, + N17, + N18, + S41, + S42, + N19, + S44, + S43, + N23, + N22, + N25, + N26, + S56, + S64, + S65 ) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Net_Amount, + prjinv_header.Gross_Amount, + prjinv_header.Vat_No, + prjinv_header.Currency, + prjinv_header.Reportfoot, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + --this values are inserted to display the header values + prjinv_header.Invoice_Date, + title_, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer, + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One, + prjinv_header.Billing_Address_Two, + prjinv_header.Billing_Address_Three, + prjinv_header.Billing_Address_Four, + prjinv_header.Billing_Address_Five, + prjinv_header.Billing_Address_Six, + prjinv_header.Billing_Address_Seven, + prjinv_header.Billing_Address_Eight, + prjinv_header.Billing_Address_Nine, + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + customer_vat_no_, + sales_tax_amount_, + dummy_sales_tax_, + prjinv_header.country, + fee_code_prt_, + tax_curr_amt_prt_, + tax_percentage_prt_, + fee_code_desc_prt_, + -1, + 0, + 0, + 0, + prjinv_header.header_correction_reason, + verbally_amount_, + is_cor_invoice_ ); + row_no_ := row_no_ + 1; + END IF; + END LOOP; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'TAX_SUMMARY_ROWS'); + END IF; + END IF; + + --XML VIEW - INVOICE_VALUES + --This Section has been added in order to display invoice total when there is no tax applied. + IF (vat_exist_ = 0) THEN + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'INVOICE_VALUES'); + Xml_Record_Writer_SYS.Start_Element(xml_, 'INVOICE_VALUE'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 2); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_EXIST',0); + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_AMOUNT',sec_net_amount_sum_ ); + Xml_Record_Writer_SYS.Add_Element(xml_,'GROSS_AMOUNT',sec_gross_amount_sum_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_CURRENCY',vat_currency_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_CODE',prjinv_header.Currency); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_ROUNDING',currency_rounding_); + Xml_Record_Writer_SYS.Add_Element(xml_,'ROUND_IT',round_it_); + Xml_Record_Writer_SYS.Add_Element(xml_,'GROSS_AMOUNT_NOT_RD',net_amount_ + tot_tax_curr_amt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_AMOUNT',fee_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'FEE_EXIST',fee_exist_); + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',dummy_sales_tax_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_GROSS_AMT',1); + Xml_Record_Writer_SYS.Add_Element(xml_,'NET_AMOUNT_DIFF',net_amnt_diff_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_AMOUNT_DIFF',vat_amnt_diff_); + Xml_Record_Writer_SYS.Add_Element(xml_,'GROSS_AMOUNT_DIFF',gross_amnt_diff_); + base_currency_ := Company_Finance_API.Get_Currency_Code(company_); + conv_factor_ := Currency_Code_API.Get_Conv_Factor (prjinv_header.company, + prjinv_header.currency); + curr_rounding_ := Currency_Code_API.Get_Currency_Rounding (company_, + prjinv_header.currency); + IF (Currency_Code_API.Get_Inverted( company_, base_currency_ ) = 'TRUE') THEN + IF (prjinv_header.curr_rate=0) THEN + base_net_curr_amount_ := 0; + ELSE + currency_rate_inv_:=(1/(prjinv_header.curr_rate/conv_factor_))*conv_factor_; + IF(currency_rate_inv_=0) THEN + base_net_curr_amount_ := 0; + ELSE + base_net_curr_amount_ := pri_net_amount_sum_ / ( conv_factor_/ currency_rate_inv_ ) ; + END IF; + END IF; + ELSE + base_net_curr_amount_ := pri_net_amount_sum_ * ( prjinv_header.curr_rate/ conv_factor_); + END IF; + base_net_curr_amount_ := ROUND(base_net_curr_amount_,curr_rounding_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BASE_NET_CURR_AMOUNT',base_net_curr_amount_); + Xml_Record_Writer_SYS.End_Element(xml_, 'INVOICE_VALUE'); + Xml_Record_Writer_SYS.End_Element(xml_, 'INVOICE_VALUES'); + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N26 = 1, + N18 = dummy_sales_tax_, + S31 = prjinv_header.Currency, + N8 = prjinv_header.Gross_Amount, + S30 = vat_currency_, + N14 = net_amount_ + tot_tax_curr_amt_, + N31 = base_net_curr_amount_ + WHERE result_key = save_result_key_ + AND row_no = save_row_no_; + + UPDATE INFO_SERVICES_RPT + SET N14 = net_amount_ + tot_tax_curr_amt_ + WHERE result_key = save_result_key_ + AND row_no = save_row_no_-1; + END IF; + END IF; + + --XML VIEW - FEE_CODE_TOTALS + --THE TOTALS FOR ALL FEE CODES IN LOCAL CURRENCY + OPEN get_delivery_address(primary_invoice_no_, primery_series_id_) ; + FETCH get_delivery_address INTO delivery_address_; + CLOSE get_delivery_address; + + company_country_ := Iso_Country_API.Get_Description(Iso_Country_API.Encode( + COMPANY_ADDRESS_API.Get_Country(company_,COMPANY_ADDRESS_API.Get_Default_Address(company_,ADDRESS_TYPE_CODE_API.Decode('INVOICE')))) + ,Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + customer_country_ :=Iso_Country_API.Get_Description(CUSTOMER_INFO_ADDRESS_API.Get_Country_Code(customer_,delivery_address_), + Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer)); + temp_vat_percentage_ := NULL; + chk_dom_tot_ :=1; + company_country_db_ := Company_API.Get_Country_Db(company_); + vat_registered_same_country_ := (SUBSTR(customer_vat_no_, 0, 2) = company_country_db_); + + print_tax_alternate_currency_ := Currency_Invoice_Info_API.Get_Print_Tax_In_Base_Curre_Db(company_, prjinv_header.currency); + + IF (print_tax_alternate_currency_ = 'NEVER') THEN + print_tax_in_alternate_ := FALSE; + ELSIF ( print_tax_alternate_currency_ = 'DOMRECIPIENTSONLY' AND ((company_country_ = customer_country_) OR vat_registered_same_country_)) THEN + print_tax_in_alternate_ := TRUE; + ELSIF ( print_tax_alternate_currency_ = 'ALLRECIPIENTS') THEN + print_tax_in_alternate_ := TRUE; + ELSE + print_tax_in_alternate_ := FALSE; + END IF; + selected_alt_currency_ := Currency_Invoice_Info_API.Get_Alternative_Tax_Currenc_Db(company_, prjinv_header.currency); + + -- Bug 159441, Start + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'FEE_CODE_TOTALS'); + END IF; + + --Bug 103021, start + IF (print_tax_in_alternate_) THEN + FOR prjinv_vat IN prjinv_vatcursor(sec_invoice_id_) LOOP + dummy_sales_tax_ := 0; + check_dom_amt_ := 1; + fee_type_ := Statutory_Fee_Api.Get_Fee_Type_Db(prjinv_header.Company,prjinv_vat.VAT_CODE); + IF (fee_type_ = 'NOTAX') THEN + vat_percentage_ := 0; + ELSE + vat_percentage_ := Statutory_Fee_API.Get_Percentage(prjinv_header.Company,prjinv_vat.VAT_CODE); + END IF; + p_length_ := LENGTH(vat_percentage_); + + IF (p_length_ = 1) THEN + vat_percentage_ := ' '|| vat_percentage_; + END IF; + + IF (prjinv_vat.VAT_CODE IS NOT NULL ) THEN + vat_percent_txt_ := prjinv_vat.VAT_CODE; + ELSE + vat_percent_txt_ :=NULL; + END IF; + + IF (selected_alt_currency_ = 'ACCOUNTING_CURRENCY') THEN + tax_dom_amt_prt_ := prjinv_vat.vat_dom_amount; + ELSE + tax_dom_amt_prt_ := prjinv_vat.vat_parallel_amount; + END IF; + check_dom_amt_ := 1; + + --tax total for base currency + COMPANY_FINANCE_API.Get_Accounting_Currency( base_currency_,prjinv_header.Company); + decimals_in_rounding_ := Currency_Code_API.get_no_of_decimals_in_rate(prjinv_header.Company, prjinv_header.currency); + curr_rate_ := INVOICE_API.get_curr_rate(prjinv_header.Company, prjinv_header.invoice_id); + curr_rate_ := ROUND(curr_rate_,decimals_in_rounding_); + base_currency_txt_ := base_currency_; + company_parallel_curr_ := Company_Finance_API.Get_Parallel_Acc_Currency(company_); + decimals_in_par_curr_ := Currency_Code_API.get_no_of_decimals_in_rate(prjinv_header.Company, company_parallel_curr_); + parallel_curr_rate_ := Invoice_API.Get_Parallel_Curr_Rate(prjinv_header.Company ,prjinv_header.invoice_id); + parallel_curr_rate_ := ROUND(parallel_curr_rate_,decimals_in_par_curr_); + + IF (selected_alt_currency_ = 'ACCOUNTING_CURRENCY') THEN + base_currency_txt_ := base_currency_; + curr_rate_to_print_ := curr_rate_; + ELSE + base_currency_txt_ := company_parallel_curr_; + curr_rate_to_print_ := parallel_curr_rate_; + END IF; + + -- Bug 144010, Start + IF (temp_vat_percentage_ = vat_percentage_ AND NVL(temp_tax_code_, '') = prjinv_vat.vat_code) THEN + IF (do_xml_) THEN + xml_tax_dom_amt_prt_ := xml_tax_dom_amt_prt_ + tax_dom_amt_prt_; + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N23 = N23 + tax_dom_amt_prt_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + ELSE + IF NOT (tax_dom_amt_prt_ =0) THEN + IF (do_xml_) THEN + IF xml_fee_code_total_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_DOM_AMOUNT',xml_tax_dom_amt_prt_); + Xml_Record_Writer_SYS.End_Element(xml_, 'FEE_CODE_TOTAL'); + xml_fee_code_total_flag_ := 0; + xml_tax_dom_amt_prt_ := 0; + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'FEE_CODE_TOTAL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 2); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENT_TXT',vat_percent_txt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_DOM_TOT',chk_dom_tot_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BASE_CURRENCY_TXT',base_currency_txt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CURRENCY_RATE',curr_rate_to_print_); + IF(fee_type_ = 'NOTAX') THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',''); + ELSE + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',vat_percentage_); + END IF; + Xml_Record_Writer_SYS.Add_Element(xml_,'TEMP_TAX_VALUE',dummy_sales_tax_); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHECK_DOM',check_dom_amt_); + xml_tax_dom_amt_prt_ := tax_dom_amt_prt_; + xml_fee_code_total_flag_ := 1; + END IF; + IF (do_rs_) THEN + -- Bug 132164, Start + -- Bug 111274, Start + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N6, + N7, + N8, + S28, + N12, + S30, + S31, + N13, + N14, + S34, + N15, + S35, + S24, + S25, + S26, + S27, + S39, + S40, + --these values are inserted to display the header values + D1, + S21, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S14, + D2, + D3, + D4, + S23, + N17, + N18, + S41, + S46, + N23, + N22, + N27, + S47, + N30, + S52 + ) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Net_Amount, + prjinv_vat.vat_curr_amount, + prjinv_header.Gross_Amount, + prjinv_header.Vat_No, + vat_percentage_, + vat_currency_, + prjinv_header.Currency, + currency_rounding_, + net_amount_, + prjinv_header.Reportfoot, + fee_amount_, + fee_exist_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + --this values are inserted to display the header values + prjinv_header.Invoice_Date, + title_, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer, + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One, + prjinv_header.Billing_Address_Two, + prjinv_header.Billing_Address_Three, + prjinv_header.Billing_Address_Four, + prjinv_header.Billing_Address_Five, + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + customer_vat_no_, + sales_tax_amount_, + dummy_sales_tax_, + prjinv_header.country, + vat_percent_txt_, + tax_dom_amt_prt_, + check_dom_amt_, + chk_dom_tot_, + base_currency_txt_, + curr_rate_to_print_, + prjinv_header.header_correction_reason + ); + -- Bug 111274, End + -- Bug 132164, End + row_no_ := row_no_ + 1; + END IF; + check_dom_amt_ := 0; + chk_dom_tot_ :=0; + END IF; + END IF; + temp_vat_percentage_ := vat_percentage_; + temp_tax_code_ := prjinv_vat.vat_code; + -- Bug 144010, End + END LOOP; + END IF; + --Bug 103021, end + + IF (do_xml_) THEN + IF xml_fee_code_total_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'TAX_DOM_AMOUNT',xml_tax_dom_amt_prt_); + Xml_Record_Writer_SYS.End_Element(xml_, 'FEE_CODE_TOTAL'); + xml_fee_code_total_flag_ := 0; + xml_tax_dom_amt_prt_ := 0; + END IF; + Xml_Record_Writer_SYS.End_Element(xml_, 'FEE_CODE_TOTALS'); + END IF; + -- Bug 159441, End + + --XML VIEW - INSTALLMENT_PLANS + --TIBE-1418, Start + $IF Component_Payled_SYS.INSTALLED $THEN + IF (is_cor_invoice_ = 'TRUE') THEN + tax_reduction_at_payment_ := 'FALSE'; + + OPEN count_plan_details(sec_invoice_id_); + FETCH count_plan_details INTO count_plan_; + CLOSE count_plan_details; + + OPEN count_disc_details(sec_invoice_id_); + FETCH count_disc_details INTO count_disc_; + CLOSE count_disc_details; + + curr_code_ := prjinv_header.currency; + + IF (count_plan_ > 0) AND (count_disc_ > 0) THEN + -- Installment Plan with Discounts defined + + tax_reduction_at_payment_ := Company_Pay_Info_API.Get_Tax_Reduction_At_Payment(company_); + IF (tax_reduction_at_payment_ = 'TRUE') THEN + disc_flag_ := 1; + END IF; + + cur_rounding_ := Currency_Code_API.Get_Currency_Rounding (company_, curr_code_); + count_ := 0; + + FOR disc_rec IN get_tax_details(sec_invoice_id_) LOOP + vat_disc_tbl_(count_).vat_code := disc_rec.vat_code; + vat_disc_tbl_(count_).sum_vat_curr_amount := disc_rec.sum_vat_curr_amount; + vat_disc_tbl_(count_).sum_gross_curr_amount := disc_rec.sum_gross_curr_amount; + vat_disc_tbl_(count_).tax_percentage := NVL(Source_Tax_Item_API.Get_Tax_Code_Percentage(company_, + Tax_Source_API.DB_INVOICE, + TO_CHAR(sec_invoice_id_), + NULL, + '*', + '*', + '*', + disc_rec.vat_code), + Statutory_Fee_API.Get_Percentage(company_, disc_rec.vat_code)); + count_ := count_ + 1; + END LOOP; + + has_adv_inv_ := Advance_Inv_Reference_API.Has_Adv_Inv(company_, sec_invoice_id_); + + Invoice_API.Get_Simulated_Payment_Plan(simulated_payment_plan_, + installment_count_, + company_, + sec_invoice_id_, + has_adv_inv_, + inv_state_); + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'INSTALLMENT_PLANS'); + END IF; + + FOR index_ IN 1..installment_count_ LOOP + + pay_method_desc_ := Payment_Way_API.Get_Description_Per_Language(company_, simulated_payment_plan_(index_).payment_method, lang_code_); + bank_account_ := Cash_Account_API.Get_Account_Identity(company_, simulated_payment_plan_(index_).short_name); + bank_account_text_ := Cash_Account_Text_API.Get_Text_Per_Language(company_, simulated_payment_plan_(index_).short_name, lang_code_); + bic_swift_code_ := Payment_Plan_API.Get_Bic_Code(company_, simulated_payment_plan_(index_).short_name); + + IF ((simulated_payment_plan_(index_).payment_method IS NULL)) THEN + pay_method_desc_ := NULL; + END IF; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_,'INSTALLMENT_PLAN'); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_ID', simulated_payment_plan_(index_).installment_id); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAYMENT_METHOD', pay_method_desc_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_NET_AMOUNT', simulated_payment_plan_(index_).open_amount); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_TAX_PERCENTAGE', 0); + Xml_Record_Writer_SYS.Add_Element(xml_,'BANK_ACCOUNT', bank_account_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BANK_ACCOUNT_TEXT', bank_account_text_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BIC_SWIFT_CODE', bic_swift_code_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_DUE_DATE', simulated_payment_plan_(index_).due_date); + Xml_Record_Writer_SYS.Add_Element(xml_,'AMOUNT_TO_PAY', simulated_payment_plan_(index_).open_amount); + Xml_Record_Writer_SYS.Add_Element(xml_,'COUNT', count_plan_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_COUNT', count_disc_); + Xml_Record_Writer_SYS.End_Element(xml_,'INSTALLMENT_PLAN'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N1, + S1, + S2, + S3, + S4, + D1, + N2, + N3, + N4) + VALUES( + result_key_, + row_no_, + 2, + simulated_payment_plan_(index_).installment_id, + pay_method_desc_, + bank_account_, + bank_account_text_, + bic_swift_code_, + simulated_payment_plan_(index_).due_date, + simulated_payment_plan_(index_).open_amount, + 0, + count_plan_ ); + row_no_ := row_no_ + 1; + END IF; + + installment_id_ := simulated_payment_plan_(index_).installment_id; + disc_count_ := installment_id_; + + -- Discounts + FOR disc_rec_ IN get_disc_details(sec_invoice_id_) LOOP + disc_count_ := disc_count_ + 0.01; + disc_gross_amt_ := ROUND(disc_rec_.curr_amount, cur_rounding_); + + IF (simulated_payment_plan_(index_).Open_amount = 0)THEN + amt_to_pay_ := 0; + ELSE + IF (disc_gross_amt_ > simulated_payment_plan_(index_).Open_amount) THEN + amt_to_pay_ := 0; + ELSE + amt_to_pay_ := simulated_payment_plan_(index_).Open_amount - disc_gross_amt_; + END IF; + END IF; + + IF ((tax_reduction_at_payment_ = 'TRUE') AND (gross_amount_ != 0)) THEN + disc_vat_amt_ := 0; + + FOR i_ IN 0..(count_ - 1) LOOP + IF (vat_disc_tbl_(i_).sum_gross_curr_amount != 0) THEN + ratio_ := vat_disc_tbl_(i_).sum_gross_curr_amount/gross_amount_; + tax_code_disc_ := disc_rec_.curr_amount * ratio_ * (vat_disc_tbl_(i_).sum_vat_curr_amount/vat_disc_tbl_(i_).sum_gross_curr_amount); + tax_code_disc_ := ROUND(tax_code_disc_, cur_rounding_); + ELSE + tax_code_disc_ := 0; + END IF; + disc_vat_amt_ := disc_vat_amt_ + tax_code_disc_; + END LOOP; + disc_net_amt_ := ROUND(disc_gross_amt_ - disc_vat_amt_, cur_rounding_); + END IF; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_,'INSTALLMENT_PLAN'); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_PERCENTAGE', disc_rec_.disc_percent); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_NET_AMT', disc_net_amt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_VAT_AMT', disc_vat_amt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_GROSS_AMT', disc_gross_amt_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_AMOUNT_TO_PAY', amt_to_pay_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_DATE', disc_rec_.disc_date); + Xml_Record_Writer_SYS.Add_Element(xml_,'COUNT', count_plan_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_COUNT', count_disc_); + Xml_Record_Writer_SYS.End_Element(xml_,'INSTALLMENT_PLAN'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N12, + N5, + N6, + N7, + N8, + N9, + D2 ) + VALUES( + result_key_, + row_no_, + 2, + count_disc_, + disc_rec_.disc_percent, + disc_net_amt_, + disc_vat_amt_, + disc_gross_amt_, + amt_to_pay_, + disc_rec_.disc_date ); + row_no_ := row_no_ + 1; + END IF; + IF ((tax_reduction_at_payment_ = 'TRUE') AND gross_amount_ != 0) THEN + FOR i_ IN 0..(count_ - 1) LOOP + IF (vat_disc_tbl_(i_).vat_code IS NOT NULL) THEN + fee_type_ := Statutory_Fee_Api.Get_Fee_Type_Db(company_, vat_disc_tbl_(i_).vat_code); + IF (fee_type_ = 'NOTAX') THEN + vat_percentage_ := ''; + ELSE + vat_percentage_ := vat_disc_tbl_(i_).tax_percentage; + END IF; + IF ((vat_percent_ != 0) AND (vat_disc_tbl_(i_).sum_vat_curr_amount != 0)) THEN + disc_count_ := disc_count_ + 0.01; + ratio_ := (vat_disc_tbl_(i_).sum_gross_curr_amount)/gross_amount_; + tax_code_disc_ := disc_rec_.curr_amount * ratio_ * (vat_disc_tbl_(i_).sum_vat_curr_amount/vat_disc_tbl_(i_).sum_gross_curr_amount); + tax_code_disc_ := ROUND(tax_code_disc_, cur_rounding_); + + -- Discount's Tax Information + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_,'INSTALLMENT_PLAN'); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_TAX_PERCENTAGE', vat_percent_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_TAX_NET_AMT', tax_code_disc_); + Xml_Record_Writer_SYS.Add_Element(xml_,'COUNT', count_plan_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_COUNT', count_disc_); + Xml_Record_Writer_SYS.End_Element(xml_,'INSTALLMENT_PLAN'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N10, + N11 ) + VALUES( + result_key_, + row_no_, + 2, + vat_percent_, + tax_code_disc_ ); + row_no_ := row_no_ + 1; + END IF; + END IF; + END IF; + END LOOP; + END IF; + END LOOP; + END LOOP; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'INSTALLMENT_PLANS'); + END IF; + ELSE + -- Installment Plan without Discounts + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'INSTALLMENT_PLANS'); + END IF; + + OPEN count_plan_details_cur (sec_invoice_id_); + FETCH count_plan_details_cur INTO count_plan_; + CLOSE count_plan_details_cur; + + OPEN get_installment_cur (sec_invoice_id_); + LOOP + FETCH get_installment_cur INTO payment_method_, installment_id_, inst_due_date_, interest_percent_, curr_amount_, open_amount_; + EXIT WHEN get_installment_cur%NOTFOUND; + + pay_method_desc_ := Payment_Way_API.Get_Description_Per_Language(prjinv_header.company, payment_method_, lang_code_); + short_name_ := Payment_Plan_API.Get_Short_Name(prjinv_header.company, sec_invoice_id_, installment_id_); + bank_account_ := Cash_Account_API.Get_Account_Identity(prjinv_header.company, short_name_); + bank_account_text_ := Cash_Account_Text_API.Get_Text_Per_Language(prjinv_header.company, short_name_, lang_code_); + bic_swift_code_ := Payment_Plan_API.Get_Bic_Code(prjinv_header.company, short_name_); + + IF (payment_method_ IS NULL) THEN + pay_method_desc_ := NULL; + END IF; + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_,'INSTALLMENT_PLAN'); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_ID', installment_id_); + Xml_Record_Writer_SYS.Add_Element(xml_,'PAYMENT_METHOD', pay_method_desc_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_NET_AMOUNT', curr_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_TAX_PERCENTAGE', interest_percent_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BANK_ACCOUNT', bank_account_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BANK_ACCOUNT_TEXT', bank_account_text_); + Xml_Record_Writer_SYS.Add_Element(xml_,'BIC_SWIFT_CODE', bic_swift_code_); + Xml_Record_Writer_SYS.Add_Element(xml_,'INSTALLMENT_DUE_DATE', inst_due_date_); + Xml_Record_Writer_SYS.Add_Element(xml_,'AMOUNT_TO_PAY', open_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'COUNT', count_plan_); + Xml_Record_Writer_SYS.Add_Element(xml_,'DISC_COUNT', count_disc_); + Xml_Record_Writer_SYS.End_Element(xml_,'INSTALLMENT_PLAN'); + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + N1, + S1, + S2, + S3, + S4, + D1, + N2, + N3, + N4 ) + VALUES( + result_key_, + row_no_, + 2, + installment_id_, + pay_method_desc_, + bank_account_, + bank_account_text_, + bic_swift_code_, + inst_due_date_, + curr_amount_, + open_amount_, + count_plan_ ); + row_no_ := row_no_ + 1; + END IF; + END LOOP; + CLOSE get_installment_cur; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'INSTALLMENT_PLANS'); + END IF; + END IF; + END IF; + $END + --TIBE-1418, End + --XML VIEW - EURO_DETAILS + chk_eur_exist :=1; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.Start_Element(xml_, 'EURO_DETAILS'); + END IF; + -- Bug 144010, Start + FOR prjinv_euro IN prjinv_vatcursor(sec_invoice_id_) LOOP + fee_type_ := Statutory_Fee_Api.Get_Fee_Type_Db(prjinv_header.Company,prjinv_euro.VAT_CODE); + IF (fee_type_ = 'NOTAX') THEN + vat_percentage_ := 0; + ELSE + vat_percentage_ := prjinv_euro.tax_percentage; + END IF; + p_length_ := LENGTH(vat_percentage_); + + IF (p_length_ = 1) THEN + vat_percentage_ := ' '|| vat_percentage_; + END IF; + + IF Currency_Invoice_Info_API.Get_Print_Euro_Equivalents(prjinv_header.Company,prjinv_header.Currency) = 'TRUE' THEN + OPEN check_acc; + FETCH check_acc INTO dummy_; + CLOSE check_acc; + + IF (dummy_ = 1) THEN + eur_exist_ := 'TRUE'; + dom_amount_ := PROJECT_TRANSACTION_API.Get_Domestic_Value (prjinv_header.Net_Amount, + prjinv_header.Company, + prjinv_header.Currency, + Currency_Type_Api.Get_Default_Type(prjinv_header.Company,'CUSTOMER'), + sysdate); + stmt_ := 'BEGIN + :eur_amount_ := Currency_Amount_API.Calculate_To_Euro( + :dummy1_ , :dummy2_, :dummy3_, :dummy4_ ); + END;'; + cid_ := dbms_sql.open_cursor; + -- ifs_assert_safe nueklk 20080326 + dbms_sql.parse(cid_, stmt_, dbms_sql.native); + dbms_sql.bind_variable(cid_, 'eur_amount_',0); + dbms_sql.bind_variable(cid_, 'dummy1_', prjinv_header.Company ); + dbms_sql.bind_variable(cid_, 'dummy2_', prjinv_header.Currency); + -- Bug 164012, Start + dbms_sql.bind_variable(cid_, 'dummy3_', Project_Invoice_API.Get_Invoice_Date(company_,invoice_id_)); + -- Bug 164012, End + dbms_sql.bind_variable(cid_, 'dummy4_', dom_amount_); + ignore_ := dbms_sql.EXECUTE( cid_); + dbms_sql.variable_value(cid_, 'eur_amount_', eur_net_amount_); + dbms_sql.close_cursor (cid_ ); + dom_amount_ := 0; + + dom_amount_ := PROJECT_TRANSACTION_API.Get_Domestic_Value (prjinv_euro.vat_curr_amount, + prjinv_header.Company, + prjinv_header.Currency, + Currency_Type_Api.Get_Default_Type(prjinv_header.Company,'CUSTOMER'), + sysdate); + + stmt_ := 'BEGIN + :eur_amount_ := Currency_Amount_API.Calculate_To_Euro( + :dummy1_ , :dummy2_, :dummy3_, :dummy4_ ); + END;'; + cid_ := dbms_sql.open_cursor; + -- ifs_assert_safe nueklk 20080326 + dbms_sql.parse(cid_, stmt_, dbms_sql.native); + dbms_sql.bind_variable(cid_, 'eur_amount_',0); + dbms_sql.bind_variable(cid_, 'dummy1_', prjinv_header.Company ); + dbms_sql.bind_variable(cid_, 'dummy2_', prjinv_header.Currency); + -- Bug 164012, Start + dbms_sql.bind_variable(cid_, 'dummy3_', Project_Invoice_API.Get_Invoice_Date(company_,invoice_id_)); + -- Bug 164012, End + dbms_sql.bind_variable(cid_, 'dummy4_', dom_amount_); + ignore_ := dbms_sql.EXECUTE( cid_); + dbms_sql.variable_value(cid_, 'eur_amount_', eur_vat_amount_); + dbms_sql.close_cursor (cid_ ); + dom_amount_ := 0; + + dom_amount_ := PROJECT_TRANSACTION_API.Get_Domestic_Value (prjinv_header.Gross_Amount, + prjinv_header.Company, + prjinv_header.Currency, + Currency_Type_Api.Get_Default_Type(prjinv_header.Company,'CUSTOMER'), + sysdate); + + stmt_ := 'BEGIN + :eur_amount_ := Currency_Amount_API.Calculate_To_Euro( + :dummy1_ , :dummy2_, :dummy3_, :dummy4_ ); + END;'; + cid_ := dbms_sql.open_cursor; + -- ifs_assert_safe nueklk 20080326 + dbms_sql.parse(cid_, stmt_, dbms_sql.native); + dbms_sql.bind_variable(cid_, 'eur_amount_',0); + dbms_sql.bind_variable(cid_, 'dummy1_', prjinv_header.Company ); + dbms_sql.bind_variable(cid_, 'dummy2_', prjinv_header.Currency); + -- Bug 164012, Start + dbms_sql.bind_variable(cid_, 'dummy3_', Project_Invoice_API.Get_Invoice_Date(company_,invoice_id_)); + -- Bug 164012, End + dbms_sql.bind_variable(cid_, 'dummy4_', dom_amount_); + ignore_ := dbms_sql.EXECUTE( cid_); + dbms_sql.variable_value(cid_, 'eur_amount_', eur_gross_amount_); + dbms_sql.close_cursor (cid_ ); + dom_amount_ := 0; + + dom_amount_ := PROJECT_TRANSACTION_API.Get_Domestic_Value (net_amount_, + prjinv_header.Company, + prjinv_header.Currency, + Currency_Type_Api.Get_Default_Type(prjinv_header.Company,'CUSTOMER'), + sysdate); + + stmt_ := 'BEGIN + :eur_amount_ := Currency_Amount_API.Calculate_To_Euro( + :dummy1_ , :dummy2_, :dummy3_, :dummy4_ ); + END;'; + cid_ := dbms_sql.open_cursor; + -- ifs_assert_safe nueklk 20080326 + dbms_sql.parse(cid_, stmt_, dbms_sql.native); + dbms_sql.bind_variable(cid_, 'eur_amount_',0); + dbms_sql.bind_variable(cid_, 'dummy1_', prjinv_header.Company ); + dbms_sql.bind_variable(cid_, 'dummy2_', prjinv_header.Currency); + -- Bug 164012, Start + dbms_sql.bind_variable(cid_, 'dummy3_', Project_Invoice_API.Get_Invoice_Date(company_,invoice_id_)); + -- Bug 164012, End + dbms_sql.bind_variable(cid_, 'dummy4_', dom_amount_); + ignore_ := dbms_sql.EXECUTE( cid_); + dbms_sql.variable_value(cid_, 'eur_amount_', vat_free_euro_amount_); + dbms_sql.close_cursor (cid_ ); + dom_amount_ := 0; + ELSE + eur_exist_ := 'FALSE'; + eur_net_amount_ := 0; + eur_vat_amount_ := 0; + eur_gross_amount_ := 0; + vat_free_euro_amount_ := 0; + Currency_ := prjinv_header.Currency; + END IF; + ELSE + eur_exist_ := 'FALSE'; + eur_net_amount_ := 0; + eur_vat_amount_ := 0; + eur_gross_amount_ := 0; + vat_free_euro_amount_ := 0; + Currency_ := prjinv_header.Currency; + END IF; + + IF (prjinv_euro.VAT_CODE IS NOT NULL) THEN + eur_percent_txt := prjinv_euro.VAT_CODE; + ELSE + eur_percent_txt := NULL; + END IF; + + IF(temp_vat_percentage1_ = vat_percentage_ AND NVL(temp_tax_code_, '') = prjinv_euro.vat_code) THEN + IF (do_xml_) THEN + xml_eur_vat_amount_ := xml_eur_vat_amount_ + eur_vat_amount_; + END IF; + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N10 = N10 + eur_vat_amount_ + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + ELSE + IF (do_xml_) THEN + IF xml_euro_dtl_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_VAT_AMOUNT',xml_eur_vat_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'LAST_ROW',0); + Xml_Record_Writer_SYS.End_Element(xml_, 'EURO_DETAIL'); + xml_euro_dtl_flag_ := 0; + xml_eur_vat_amount_ := 0; + END IF; + Xml_Record_Writer_SYS.Start_Element(xml_, 'EURO_DETAIL'); + Xml_Record_Writer_SYS.Add_Element(xml_,'BLOCK_NO', 2); + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_PERCENT_TXT',eur_percent_txt); + Xml_Record_Writer_SYS.Add_Element(xml_,'CHK_EURO_EXIST',chk_eur_exist); + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_NET_AMOUNT',eur_net_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_GROSS_AMOUNT',eur_gross_amount_); + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_EXIST',eur_exist_); + IF(fee_type_ = 'NOTAX') THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',''); + ELSE + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_PERCENTAGE',vat_percentage_); + END IF; + Xml_Record_Writer_SYS.Add_Element(xml_,'EURVAT_CURRENCY',Eurvat_currency_); + Xml_Record_Writer_SYS.Add_Element(xml_,'VAT_FREE_EURO_AMOUNT',vat_free_euro_amount_); + xml_eur_vat_amount_ := eur_vat_amount_; + xml_euro_dtl_flag_ := 1; + END IF; + IF (do_rs_) THEN + INSERT INTO INFO_SERVICES_RPT( + RESULT_KEY, + ROW_NO, + PARENT_ROW_NO, + D1, + N8, + N9, + N10, + N11, + S29, + N12, + S31, + S32, + N13, + S33, + N14, + N15, + S35, + N16, + S24, + S25, + S26, + S27, + S39, + S40, + S34, + --these values are inserted to display the header values + S21, + S1, + S2, + S3, + S4, + S5, + S6, + S7, + S8, + S9, + S10, + S11, + S12, + S13, + S52, + S53, + S54, + S55, + S14, + D2, + D3, + D4, + S23, + N17, + N18, + S41, + S48, + N29, + S56, + N32, + S64, + S65 + ) + VALUES( + result_key_, + row_no_, + parent_row_no_, + prjinv_header.Invoice_Date, + prjinv_header.Gross_Amount, + eur_net_amount_, + eur_vat_amount_, + eur_gross_amount_, + eur_exist_, + vat_percentage_, + prjinv_header.Currency, + Eurvat_currency_, + currency_rounding_, + round_it_, + net_amount_, + fee_amount_, + fee_exist_, + vat_free_euro_amount_, + pagefoot1_, + pagefoot2_, + pagefoot3_, + pagefoot4_, + pagefoot5_, + pagefoot6_, + prjinv_header.Reportfoot, + --these values are inserted to display the header values + title_, + prjinv_header.Invoice_No||'^'||debit_inv_ref_||'^', + prjinv_header.Company, + prjinv_header.Series_Id, + prjinv_header.Order_No, + prjinv_header.Our_Reference, + prjinv_header.Customer, + prjinv_header.Name, + prjinv_header.Your_Reference, + prjinv_header.Billing_Address_One, + prjinv_header.Billing_Address_Two, + prjinv_header.Billing_Address_Three, + prjinv_header.Billing_Address_Four, + prjinv_header.Billing_Address_Five, + prjinv_header.Billing_Address_Six, + prjinv_header.Billing_Address_Seven, + prjinv_header.Billing_Address_Eight, + prjinv_header.Billing_Address_Nine, + prjinv_header.Pay_Term_Id, + prjinv_header.Due_Date, + prjinv_header.Invoice_Period_Start, + inv_period_end_, + customer_vat_no_, + sales_tax_amount_, + dummy_sales_tax_, + prjinv_header.country, + eur_percent_txt, + chk_eur_exist, + prjinv_header.header_correction_reason, + 0, + verbally_amount_, + is_cor_invoice_); + row_no_ := row_no_ + 1; + END IF; + chk_eur_exist :=0; + END IF; + temp_vat_percentage1_ := vat_percentage_; + temp_tax_code_ := prjinv_euro.vat_code; + END LOOP; + + IF (do_rs_) THEN + UPDATE INFO_SERVICES_RPT + SET N32 = 1 + WHERE RESULT_KEY = result_key_ + AND ROW_NO = (row_no_-1) + AND PARENT_ROW_NO = parent_row_no_; + END IF; + + IF (do_xml_) THEN + IF xml_euro_dtl_flag_ = 1 THEN + Xml_Record_Writer_SYS.Add_Element(xml_,'EUR_VAT_AMOUNT',xml_eur_vat_amount_); + -- Bug 148528, Start + Xml_Record_Writer_SYS.Add_Element(xml_,'LAST_ROW',1); + Xml_Record_Writer_SYS.End_Element(xml_, 'EURO_DETAIL'); + -- Bug 148528, End + xml_euro_dtl_flag_ := 0; + xml_eur_vat_amount_ := 0; + END IF; + Xml_Record_Writer_SYS.End_Element(xml_, 'EURO_DETAILS'); + END IF; + END IF; + -- Bug 144010, End + + IF (do_xml_) THEN + + IF xml_header_flag_ = 1 THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_HEADER'); + xml_header_flag_ := 0; + END IF; + END IF; + + lang_code_ := Customer_Info_API.Get_Default_Language_Db(prjinv_header.Customer); + Archive_API.Set_Language(lang_code_); + END IF; + END LOOP; + + IF (do_xml_) THEN + Xml_Record_Writer_SYS.End_Element(xml_, 'PROJECT_INVOICE_HEADERS'); + Xml_Record_Writer_SYS.End_Element(xml_,'PROJECT_INVOICE_REP'); + Report_SYS.Finish_Xml_Report('PROJECT_INVOICE_REP',result_key_,xml_); + END IF; + + logotype_ := Company_api.Get_Logotype(company_); + company_name_ := Company_API.Get_Name(company_); + + IF (logotype_ IS NOT NULL ) THEN + Archive_Variable_API.Set_Object(result_key_,'rhSysLogo',logotype_); + Archive_Variable_API.Set_Variable(result_key_,'companyName',company_name_); + END IF; + + EXCEPTION + WHEN OTHERS THEN + IF (dbms_sql.is_open(cid_)) THEN + dbms_sql.close_cursor(cid_); + END IF; + RAISE; + + + + + $END +END &METHOD; +END &PKG; +/ +SHOW ERROR + +----------------------------------------------------------------------------- +-- END +----------------------------------------------------------------------------- + + + +UNDEFINE MODULE +UNDEFINE LU +UNDEFINE PKG +UNDEFINE TABLE +UNDEFINE VIEW +UNDEFINE METHOD +UNDEFINE RAWVIEW diff --git a/prjrep/source/prjrep/database/ProjectInvoiceSSRS-Cust.views b/prjrep/source/prjrep/database/ProjectInvoiceSSRS-Cust.views new file mode 100644 index 0000000..29c755b --- /dev/null +++ b/prjrep/source/prjrep/database/ProjectInvoiceSSRS-Cust.views @@ -0,0 +1,62 @@ +----------------------------------------------------------------------------- +-- +-- Logical unit: ProjectInvoiceSSRS +-- Component: PRJREP +-- +-- IFS Developer Studio Template Version 3.0 +-- +-- Date Sign History +-- ------ ------ --------------------------------------------------------- +----------------------------------------------------------------------------- + +layer Cust; + +-------------------- PUBLIC VIEW DEFINITIONS -------------------------------- + + +-------------------- PRIVATE VIEW DEFINITIONS ------------------------------- + +create or replace view leg_rep_proj_inv_ret as +select afp.contract_no, + afp.afp_no, + afp_inv.invoice_id, + afp_inv.invoice_no, + afp_inv.ledger_item_series_id, + afp_inv.company, + activity_api.get_project_id(activity_seq) project_id, + project_api.get_category1_id(activity_api.get_project_id(activity_seq)) proj_category1, + sum(certified_total) total_value, --1 + sum(tot_ret_cert) total_retention, --2 + sum(ret_released_cert) retention_released, --1 + sum(discount_cert) discount, + sum(deduction_cert) deduction, + sum(net_valuation_cert) sub_total, + (app_for_payment_api.get_afp_total_due(afp.contract_no, afp.afp_no)) afp_total_due, + nvl(app_for_payment_api.get_afp_total_due(afp.contract_no,app_for_payment_api.get_prev_afp_no (afp.contract_no, afp.afp_no)),0) afp_prev_due, --3 + nvl(app_for_payment_api.get_afp_total_due(afp.contract_no,app_for_payment_api.get_prev_certified_afp_no(afp.contract_no, afp.afp_no)),0) afp_prev_cert_due, --3 + sum(this_net_value) this_appl_amount_due, + sum(this_tax_amount_app) this_appl_tax_amount +from afp_item_summary afp +JOIN (select invoice_id + , ifsapp.invoice_api.get_invoice_no(company,invoice_id) invoice_no + , afp_no + , contract_no + , ledger_item_series_id + , company + from afp_invoice_qry + ) afp_inv --must be 1 to 1 to assign retention to invoice +ON afp_inv.afp_no = afp.afp_no + AND afp_inv.contract_no = afp.contract_no +WHERE app_for_payment_api.get_state(afp.contract_no , afp.afp_no )in ('Certified', 'Partially Paid', 'Fully Paid','Cancelled')-- HoiNeED: added 'cancelled' state +GROUP BY afp.contract_no, + afp.afp_no, + afp_inv.invoice_id, + afp_inv.invoice_no, + afp_inv.ledger_item_series_id, + afp_inv.company, + activity_api.get_project_id(activity_seq), + project_api.get_category1_id(activity_api.get_project_id(activity_seq)) +order by 1,2; + + +