SSRS to report designer conversion

master
Nemanthi 5 months ago
commit de11ed073c

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<UTILITY xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:utility_utility">
<NAME>CExternalBillingSupport</NAME>
<COMPONENT>CMOD</COMPONENT>
<LAYER>Cust</LAYER>
</UTILITY>

@ -0,0 +1,447 @@
<?xml version="1.0" encoding="UTF-8"?>
<REPORT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:report_report">
<CODE_GENERATION_PROPERTIES>
<CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
<DIAGRAMS>
<DIAGRAM>
<NAME>Main</NAME>
<DIAGRAM_TYPE>REPORT_STRUCTURE</DIAGRAM_TYPE>
<NODES>
<DIAGRAM_NODE>
<ID>4b26a060-9511-11ef-1b7f-b0fd28e91275</ID>
<NODE_TYPE>REPORT_BLOCK</NODE_TYPE>
<MINIMIZED>0</MINIMIZED>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockName</NAME>
<VALUE>HeaderDetail</VALUE>
</PROPERTY>
</PROPERTIES>
<LOCATION>
<POINT>
<X>391</X>
<Y>136</Y>
</POINT>
</LOCATION>
<SIZE>
<POINT>
<X>139</X>
<Y>114</Y>
</POINT>
</SIZE>
</DIAGRAM_NODE>
<DIAGRAM_NODE>
<ID>01faac50-9512-11ef-1b7f-b0fd28e91275</ID>
<NODE_TYPE>REPORT_BLOCK</NODE_TYPE>
<MINIMIZED>0</MINIMIZED>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockName</NAME>
<VALUE>LineDetail</VALUE>
</PROPERTY>
</PROPERTIES>
<LOCATION>
<POINT>
<X>639</X>
<Y>363</Y>
</POINT>
</LOCATION>
<SIZE>
<POINT>
<X>147</X>
<Y>266</Y>
</POINT>
</SIZE>
</DIAGRAM_NODE>
<DIAGRAM_NODE>
<ID>86435630-9510-11ef-1b7f-b0fd28e91275</ID>
<NODE_TYPE>REPORT</NODE_TYPE>
<MINIMIZED>0</MINIMIZED>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>EntityName</NAME>
<VALUE>CExternalBillingSupport</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>LUName</NAME>
<VALUE>CExternalBillingSupport</VALUE>
</PROPERTY>
</PROPERTIES>
<LOCATION>
<POINT>
<X>349</X>
<Y>-32</Y>
</POINT>
</LOCATION>
<SIZE>
<POINT>
<X>217</X>
<Y>95</Y>
</POINT>
</SIZE>
</DIAGRAM_NODE>
<DIAGRAM_NODE>
<ID>bcf5b9c0-ed03-11ef-262d-d1b616e37b63</ID>
<NODE_TYPE>REPORT_BLOCK</NODE_TYPE>
<MINIMIZED>0</MINIMIZED>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockName</NAME>
<VALUE>LaborDetails</VALUE>
</PROPERTY>
</PROPERTIES>
<LOCATION>
<POINT>
<X>92</X>
<Y>313</Y>
</POINT>
</LOCATION>
<SIZE>
<POINT>
<X>160</X>
<Y>266</Y>
</POINT>
</SIZE>
</DIAGRAM_NODE>
</NODES>
<EDGES>
<DIAGRAM_EDGE>
<EDGE_TYPE>AGGREGATE</EDGE_TYPE>
<SOURCE_NODE_ID>86435630-9510-11ef-1b7f-b0fd28e91275</SOURCE_NODE_ID>
<TARGET_NODE_ID>4b26a060-9511-11ef-1b7f-b0fd28e91275</TARGET_NODE_ID>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockEdgeName</NAME>
<VALUE>HeaderDetails</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>IsArray</NAME>
<VALUE>true</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>BlockName</NAME>
<VALUE>HeaderDetail</VALUE>
</PROPERTY>
</PROPERTIES>
<CONTROL_POINTS>
<POINT>
<X>457</X>
<Y>62</Y>
</POINT>
<POINT>
<X>458</X>
<Y>135</Y>
</POINT>
</CONTROL_POINTS>
</DIAGRAM_EDGE>
<DIAGRAM_EDGE>
<EDGE_TYPE>AGGREGATE</EDGE_TYPE>
<SOURCE_NODE_ID>4b26a060-9511-11ef-1b7f-b0fd28e91275</SOURCE_NODE_ID>
<TARGET_NODE_ID>01faac50-9512-11ef-1b7f-b0fd28e91275</TARGET_NODE_ID>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockEdgeName</NAME>
<VALUE>LineDetails</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>IsArray</NAME>
<VALUE>true</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>BlockName</NAME>
<VALUE>LineDetail</VALUE>
</PROPERTY>
</PROPERTIES>
<CONTROL_POINTS>
<POINT>
<X>506</X>
<Y>249</Y>
</POINT>
<POINT>
<X>638</X>
<Y>407</Y>
</POINT>
</CONTROL_POINTS>
</DIAGRAM_EDGE>
<DIAGRAM_EDGE>
<EDGE_TYPE>AGGREGATE</EDGE_TYPE>
<SOURCE_NODE_ID>4b26a060-9511-11ef-1b7f-b0fd28e91275</SOURCE_NODE_ID>
<TARGET_NODE_ID>bcf5b9c0-ed03-11ef-262d-d1b616e37b63</TARGET_NODE_ID>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockEdgeName</NAME>
<VALUE>LaborDetailses</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>IsArray</NAME>
<VALUE>true</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>BlockName</NAME>
<VALUE>LaborDetails</VALUE>
</PROPERTY>
</PROPERTIES>
<CONTROL_POINTS>
<POINT>
<X>394</X>
<Y>249</Y>
</POINT>
<POINT>
<X>251</X>
<Y>375</Y>
</POINT>
</CONTROL_POINTS>
</DIAGRAM_EDGE>
</EDGES>
</DIAGRAM>
</DIAGRAMS>
<NAME>CExternalBillingSupport</NAME>
<COMPONENT>CMOD</COMPONENT>
<LU_NAME>CExternalBillingSupport</LU_NAME>
<BLOCKS>
<BLOCK>
<NAME>HeaderDetail</NAME>
<CURSOR_DEFINITION>SELECT NULL runBy,
to_date(NULL) reportDate,
NULL projectId ,
null invoiceNo
from dual</CURSOR_DEFINITION>
<ATTRIBUTES>
<ATTRIBUTE>
<NAME>Runby</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Reportdate</NAME>
<DATATYPE>TIMESTAMP</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>ProjectidH</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>2000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>InvoicenoH</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
</ATTRIBUTES>
<AGGREGATES>
<AGGREGATE>
<NAME>LaborDetailses</NAME>
<IS_ARRAY>1</IS_ARRAY>
<BLOCK>LaborDetails</BLOCK>
</AGGREGATE>
<AGGREGATE>
<NAME>LineDetails</NAME>
<IS_ARRAY>1</IS_ARRAY>
<BLOCK>LineDetail</BLOCK>
</AGGREGATE>
</AGGREGATES>
</BLOCK>
<BLOCK>
<NAME>LineDetail</NAME>
<CURSOR_DEFINITION>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_DEFINITION>
<ATTRIBUTES>
<ATTRIBUTE>
<NAME>Transactiondate</NAME>
<DATATYPE>DATE</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Suppliername</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Invoiceno</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Typewo</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Activity</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Employee</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Description</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>2000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Quantity</NAME>
<DATATYPE>NUMBER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Materialcosttax</NAME>
<DATATYPE>NUMBER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Timetype</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Price</NAME>
<DATATYPE>NUMBER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Extension</NAME>
<DATATYPE>NUMBER</DATATYPE>
</ATTRIBUTE>
</ATTRIBUTES>
</BLOCK>
<BLOCK>
<NAME>LaborDetails</NAME>
<CURSOR_DEFINITION>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</CURSOR_DEFINITION>
<ATTRIBUTES>
<ATTRIBUTE>
<NAME>Transactiondatel</NAME>
<DATATYPE>TIMESTAMP</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Suppliernamel</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Invoicenol</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Typewol</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Activityl</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Employeel</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Descriptionl</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>2000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Quantityl</NAME>
<DATATYPE>NUMBER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Materialcosttaxl</NAME>
<DATATYPE>NUMBER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Timetypel</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Pricel</NAME>
<DATATYPE>NUMBER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Extensionl</NAME>
<DATATYPE>NUMBER</DATATYPE>
</ATTRIBUTE>
</ATTRIBUTES>
</BLOCK>
</BLOCKS>
<PARAMETERS>
<PARAMETER>
<NAME>ProjectId</NAME>
<PARAMETER_DATATYPE>TEXT</PARAMETER_DATATYPE>
<LENGTH>50</LENGTH>
<REFERENCE>ACCOUNTING_PROJECT(COMPANY)</REFERENCE>
<IS_MANDATORY>0</IS_MANDATORY>
<IS_CUSTOM>0</IS_CUSTOM>
<IS_SINGLE>1</IS_SINGLE>
<ALLOW_BETWEEN>0</ALLOW_BETWEEN>
<ALLOW_WILDCARDS>0</ALLOW_WILDCARDS>
</PARAMETER>
<PARAMETER>
<NAME>ProjectInvoice</NAME>
<PARAMETER_DATATYPE>TEXT</PARAMETER_DATATYPE>
<LENGTH>1000</LENGTH>
<REFERENCE>C_PROJECTINV_BILLING_SUPPORT(PROJECT_ID)</REFERENCE>
<IS_MANDATORY>0</IS_MANDATORY>
<IS_CUSTOM>0</IS_CUSTOM>
<IS_SINGLE>1</IS_SINGLE>
<ALLOW_BETWEEN>0</ALLOW_BETWEEN>
<ALLOW_WILDCARDS>0</ALLOW_WILDCARDS>
</PARAMETER>
<PARAMETER>
<NAME>Supplier</NAME>
<PARAMETER_DATATYPE>ENUMERATION</PARAMETER_DATATYPE>
<ENUMERATION_NAME>SupplierDetailsN</ENUMERATION_NAME>
<DEFAULT_VALUE>Supplier Id</DEFAULT_VALUE>
<IS_MANDATORY>0</IS_MANDATORY>
<IS_CUSTOM>0</IS_CUSTOM>
<IS_SINGLE>1</IS_SINGLE>
<ALLOW_BETWEEN>0</ALLOW_BETWEEN>
<ALLOW_WILDCARDS>0</ALLOW_WILDCARDS>
</PARAMETER>
</PARAMETERS>
<TEXTS>
<TEXT>
<NAME>CExternalBillingSupport</NAME>
<VALUE>Sample</VALUE>
</TEXT>
</TEXTS>
<AGGREGATES>
<AGGREGATE>
<NAME>HeaderDetails</NAME>
<IS_ARRAY>1</IS_ARRAY>
<BLOCK>HeaderDetail</BLOCK>
</AGGREGATE>
</AGGREGATES>
</REPORT>

@ -0,0 +1,484 @@
<?xml version="1.0" encoding="UTF-8"?>
<REPORT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:report_report">
<CODE_GENERATION_PROPERTIES>
<CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
<DIAGRAMS>
<DIAGRAM>
<NAME>Main</NAME>
<DIAGRAM_TYPE>REPORT_STRUCTURE</DIAGRAM_TYPE>
<NODES>
<DIAGRAM_NODE>
<ID>4b26a060-9511-11ef-1b7f-b0fd28e91275</ID>
<NODE_TYPE>REPORT_BLOCK</NODE_TYPE>
<MINIMIZED>0</MINIMIZED>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockName</NAME>
<VALUE>HeaderDetail</VALUE>
</PROPERTY>
</PROPERTIES>
<LOCATION>
<POINT>
<X>391</X>
<Y>136</Y>
</POINT>
</LOCATION>
<SIZE>
<POINT>
<X>139</X>
<Y>114</Y>
</POINT>
</SIZE>
</DIAGRAM_NODE>
<DIAGRAM_NODE>
<ID>01faac50-9512-11ef-1b7f-b0fd28e91275</ID>
<NODE_TYPE>REPORT_BLOCK</NODE_TYPE>
<MINIMIZED>0</MINIMIZED>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockName</NAME>
<VALUE>LineDetail</VALUE>
</PROPERTY>
</PROPERTIES>
<LOCATION>
<POINT>
<X>713</X>
<Y>293</Y>
</POINT>
</LOCATION>
<SIZE>
<POINT>
<X>158</X>
<Y>323</Y>
</POINT>
</SIZE>
</DIAGRAM_NODE>
<DIAGRAM_NODE>
<ID>86435630-9510-11ef-1b7f-b0fd28e91275</ID>
<NODE_TYPE>REPORT</NODE_TYPE>
<MINIMIZED>0</MINIMIZED>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>EntityName</NAME>
<VALUE>CInternalBillingSupport</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>LUName</NAME>
<VALUE>CInternalBillingSupport</VALUE>
</PROPERTY>
</PROPERTIES>
<LOCATION>
<POINT>
<X>349</X>
<Y>-32</Y>
</POINT>
</LOCATION>
<SIZE>
<POINT>
<X>217</X>
<Y>95</Y>
</POINT>
</SIZE>
</DIAGRAM_NODE>
<DIAGRAM_NODE>
<ID>bcf5b9c0-ed03-11ef-262d-d1b616e37b63</ID>
<NODE_TYPE>REPORT_BLOCK</NODE_TYPE>
<MINIMIZED>0</MINIMIZED>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockName</NAME>
<VALUE>LaborDetails</VALUE>
</PROPERTY>
</PROPERTIES>
<LOCATION>
<POINT>
<X>92</X>
<Y>313</Y>
</POINT>
</LOCATION>
<SIZE>
<POINT>
<X>160</X>
<Y>323</Y>
</POINT>
</SIZE>
</DIAGRAM_NODE>
</NODES>
<EDGES>
<DIAGRAM_EDGE>
<EDGE_TYPE>AGGREGATE</EDGE_TYPE>
<SOURCE_NODE_ID>86435630-9510-11ef-1b7f-b0fd28e91275</SOURCE_NODE_ID>
<TARGET_NODE_ID>4b26a060-9511-11ef-1b7f-b0fd28e91275</TARGET_NODE_ID>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockEdgeName</NAME>
<VALUE>HeaderDetails</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>IsArray</NAME>
<VALUE>true</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>BlockName</NAME>
<VALUE>HeaderDetail</VALUE>
</PROPERTY>
</PROPERTIES>
<CONTROL_POINTS>
<POINT>
<X>457</X>
<Y>62</Y>
</POINT>
<POINT>
<X>458</X>
<Y>135</Y>
</POINT>
</CONTROL_POINTS>
</DIAGRAM_EDGE>
<DIAGRAM_EDGE>
<EDGE_TYPE>AGGREGATE</EDGE_TYPE>
<SOURCE_NODE_ID>4b26a060-9511-11ef-1b7f-b0fd28e91275</SOURCE_NODE_ID>
<TARGET_NODE_ID>01faac50-9512-11ef-1b7f-b0fd28e91275</TARGET_NODE_ID>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockEdgeName</NAME>
<VALUE>LineDetails</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>IsArray</NAME>
<VALUE>true</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>BlockName</NAME>
<VALUE>LineDetail</VALUE>
</PROPERTY>
</PROPERTIES>
<CONTROL_POINTS>
<POINT>
<X>529</X>
<Y>246</Y>
</POINT>
<POINT>
<X>712</X>
<Y>390</Y>
</POINT>
</CONTROL_POINTS>
</DIAGRAM_EDGE>
<DIAGRAM_EDGE>
<EDGE_TYPE>AGGREGATE</EDGE_TYPE>
<SOURCE_NODE_ID>4b26a060-9511-11ef-1b7f-b0fd28e91275</SOURCE_NODE_ID>
<TARGET_NODE_ID>bcf5b9c0-ed03-11ef-262d-d1b616e37b63</TARGET_NODE_ID>
<IS_MERGED>0</IS_MERGED>
<PROPERTIES>
<PROPERTY>
<NAME>ReportBlockEdgeName</NAME>
<VALUE>LaborDetailses</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>IsArray</NAME>
<VALUE>true</VALUE>
</PROPERTY>
<PROPERTY>
<NAME>BlockName</NAME>
<VALUE>LaborDetails</VALUE>
</PROPERTY>
</PROPERTIES>
<CONTROL_POINTS>
<POINT>
<X>398</X>
<Y>249</Y>
</POINT>
<POINT>
<X>251</X>
<Y>393</Y>
</POINT>
</CONTROL_POINTS>
</DIAGRAM_EDGE>
</EDGES>
</DIAGRAM>
</DIAGRAMS>
<NAME>CInternalBillingSupport</NAME>
<COMPONENT>CMOD</COMPONENT>
<LU_NAME>CInternalBillingSupport</LU_NAME>
<BLOCKS>
<BLOCK>
<NAME>HeaderDetail</NAME>
<CURSOR_DEFINITION>SELECT NULL runBy,
to_date(NULL) reportDate,
NULL projectId ,
null invoiceNo
from dual</CURSOR_DEFINITION>
<ATTRIBUTES>
<ATTRIBUTE>
<NAME>Runby</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Reportdate</NAME>
<DATATYPE>TIMESTAMP</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>ProjectidH</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>2000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>InvoicenoH</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
</ATTRIBUTES>
<AGGREGATES>
<AGGREGATE>
<NAME>LaborDetailses</NAME>
<IS_ARRAY>1</IS_ARRAY>
<BLOCK>LaborDetails</BLOCK>
</AGGREGATE>
<AGGREGATE>
<NAME>LineDetails</NAME>
<IS_ARRAY>1</IS_ARRAY>
<BLOCK>LineDetail</BLOCK>
</AGGREGATE>
</AGGREGATES>
</BLOCK>
<BLOCK>
<NAME>LineDetail</NAME>
<CURSOR_DEFINITION>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</CURSOR_DEFINITION>
<ATTRIBUTES>
<ATTRIBUTE>
<NAME>Transactiondate</NAME>
<DATATYPE>TIMESTAMP</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Suppliername</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Invoiceno</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Typewo</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Activity</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Employee</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Description</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>2000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Quantity</NAME>
<DATATYPE>INTEGER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Materialcosttax</NAME>
<DATATYPE>INTEGER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Timetype</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Price</NAME>
<DATATYPE>INTEGER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Extension</NAME>
<DATATYPE>INTEGER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>PurchaseOrder</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>500</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>WorkTask</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>500</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>WorkOrder</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>500</LENGTH>
</ATTRIBUTE>
</ATTRIBUTES>
</BLOCK>
<BLOCK>
<NAME>LaborDetails</NAME>
<CURSOR_DEFINITION>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</CURSOR_DEFINITION>
<ATTRIBUTES>
<ATTRIBUTE>
<NAME>Transactiondatel</NAME>
<DATATYPE>TIMESTAMP</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Suppliernamel</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Invoicenol</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Typewol</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Activityl</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Employeel</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>1000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Descriptionl</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>2000</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Quantityl</NAME>
<DATATYPE>INTEGER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Materialcosttaxl</NAME>
<DATATYPE>INTEGER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Timetypel</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>200</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Pricel</NAME>
<DATATYPE>INTEGER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>Extensionl</NAME>
<DATATYPE>INTEGER</DATATYPE>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>PurchaseOrderl</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>500</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>WorkTaskl</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>500</LENGTH>
</ATTRIBUTE>
<ATTRIBUTE>
<NAME>WorkOrderl</NAME>
<DATATYPE>TEXT</DATATYPE>
<LENGTH>500</LENGTH>
</ATTRIBUTE>
</ATTRIBUTES>
</BLOCK>
</BLOCKS>
<PARAMETERS>
<PARAMETER>
<NAME>ProjectId</NAME>
<PARAMETER_DATATYPE>TEXT</PARAMETER_DATATYPE>
<LENGTH>50</LENGTH>
<REFERENCE>ACCOUNTING_PROJECT(COMPANY)</REFERENCE>
<IS_MANDATORY>0</IS_MANDATORY>
<IS_CUSTOM>0</IS_CUSTOM>
<IS_SINGLE>1</IS_SINGLE>
<ALLOW_BETWEEN>0</ALLOW_BETWEEN>
<ALLOW_WILDCARDS>0</ALLOW_WILDCARDS>
</PARAMETER>
<PARAMETER>
<NAME>ProjectInvoice</NAME>
<PARAMETER_DATATYPE>TEXT</PARAMETER_DATATYPE>
<LENGTH>1000</LENGTH>
<REFERENCE>C_PROJECTINV_BILLING_SUPPORT(PROJECT_ID)</REFERENCE>
<IS_MANDATORY>0</IS_MANDATORY>
<IS_CUSTOM>0</IS_CUSTOM>
<IS_SINGLE>1</IS_SINGLE>
<ALLOW_BETWEEN>0</ALLOW_BETWEEN>
<ALLOW_WILDCARDS>0</ALLOW_WILDCARDS>
</PARAMETER>
<PARAMETER>
<NAME>Supplier</NAME>
<PARAMETER_DATATYPE>ENUMERATION</PARAMETER_DATATYPE>
<ENUMERATION_NAME>SupplierDetailsN</ENUMERATION_NAME>
<DEFAULT_VALUE>Supplier Id</DEFAULT_VALUE>
<IS_MANDATORY>0</IS_MANDATORY>
<IS_CUSTOM>0</IS_CUSTOM>
<IS_SINGLE>1</IS_SINGLE>
<ALLOW_BETWEEN>0</ALLOW_BETWEEN>
<ALLOW_WILDCARDS>0</ALLOW_WILDCARDS>
</PARAMETER>
</PARAMETERS>
<TEXTS>
<TEXT>
<NAME>CInternalBillingSupport</NAME>
<VALUE>Sample</VALUE>
</TEXT>
</TEXTS>
<AGGREGATES>
<AGGREGATE>
<NAME>HeaderDetails</NAME>
<IS_ARRAY>1</IS_ARRAY>
<BLOCK>HeaderDetail</BLOCK>
</AGGREGATE>
</AGGREGATES>
</REPORT>

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<ENUMERATION xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:enumeration_enumeration">
<CODE_GENERATION_PROPERTIES>
<CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
</CODE_GENERATION_PROPERTIES>
<NAME>SupplierDetailsN</NAME>
<COMPONENT>CMOD</COMPONENT>
<LAYER>Cust</LAYER>
<VALUES>
<VALUE>
<NAME>SupplierName</NAME>
</VALUE>
<VALUE>
<NAME>SupplierId</NAME>
</VALUE>
</VALUES>
</ENUMERATION>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<report-layout>
<properties>
<version>9.0</version>
<layout-type>EXCEL</layout-type> <!--SCRIPT,XSL,XML,EXCEL,SIMPLE EXCEL-->
<plugin-class>ifs.application.reportingservices.impl.extendedformatter.excelplugin.ExcelPlugin</plugin-class>
<output-method></output-method> <!-- BINARY,FILE,E-MAIL this can be more that one value separated by ; -->
<output-name></output-name> <!-- This will default to "ReportId"_"ResultKey" if left empty. You can add a path as part of the filename. -->
<output-extension>xlsx</output-extension> <!-- The file name and attachment name will be a concatenation of <output-name> and <output-extension>. -->
<default-output-reference>
<e-mail></e-mail> <!-- if left empty, it will use the email adress in the print dialog or if not defined it will use the sender address instead (send to yourself). Make sure each user has his own email adress set correctly. -->
<e-mail-sender></e-mail-sender>
<e-mail-cc></e-mail-cc>
<e-mail-subject></e-mail-subject>
<e-mail-body><![CDATA[Printjob: [#PrintJobId] has finished executing. Excel report attached.]]></e-mail-body>
<file-directory></file-directory> <!-- overrides the system set output directory -->
<binary></binary>
</default-output-reference>
<full-xml>TRUE</full-xml>
<flattened-xml>
<enabled>TRUE</enabled>
<strongtyping>TRUE</strongtyping>
<full-xsd-column-set>OFF</full-xsd-column-set>
<document-model>OFF</document-model>
</flattened-xml>
<report-id>C_EXTERNAL_BILLING_SUPPORT_REP</report-id> <!-- For which reports should IFS installer register this layout. -->
<report-title>Excel Layout</report-title> <!-- Title used when installed via IFS Installer -->
</properties>
<plugin>
<properties>
<use-display-names>ON</use-display-names>
<excel-template>[#ReportId]_TEMP.xlsx</excel-template> <!-- This line makes this layout dynamic. Just install the Report Template following the name standard -->
<include-columns></include-columns>
<exclude-columns></exclude-columns>
</properties>
</plugin>
</report-layout>

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<report-layout>
<properties>
<version>9.0</version>
<layout-type>EXCEL</layout-type> <!--SCRIPT,XSL,XML,EXCEL,SIMPLE EXCEL-->
<plugin-class>ifs.application.reportingservices.impl.extendedformatter.excelplugin.ExcelPlugin</plugin-class>
<output-method></output-method> <!-- BINARY,FILE,E-MAIL this can be more that one value separated by ; -->
<output-name></output-name> <!-- This will default to "ReportId"_"ResultKey" if left empty. You can add a path as part of the filename. -->
<output-extension>xlsx</output-extension> <!-- The file name and attachment name will be a concatenation of <output-name> and <output-extension>. -->
<default-output-reference>
<e-mail></e-mail> <!-- if left empty, it will use the email adress in the print dialog or if not defined it will use the sender address instead (send to yourself). Make sure each user has his own email adress set correctly. -->
<e-mail-sender></e-mail-sender>
<e-mail-cc></e-mail-cc>
<e-mail-subject></e-mail-subject>
<e-mail-body><![CDATA[Printjob: [#PrintJobId] has finished executing. Excel report attached.]]></e-mail-body>
<file-directory></file-directory> <!-- overrides the system set output directory -->
<binary></binary>
</default-output-reference>
<full-xml>TRUE</full-xml>
<flattened-xml>
<enabled>TRUE</enabled>
<strongtyping>TRUE</strongtyping>
<full-xsd-column-set>OFF</full-xsd-column-set>
<document-model>OFF</document-model>
</flattened-xml>
<report-id>C_INTERNAL_BILLING_SUPPORT_REP</report-id> <!-- For which reports should IFS installer register this layout. -->
<report-title>Excel Layout</report-title> <!-- Title used when installed via IFS Installer -->
</properties>
<plugin>
<properties>
<use-display-names>ON</use-display-names>
<excel-template>[#ReportId]_TEMP.xlsx</excel-template> <!-- This line makes this layout dynamic. Just install the Report Template following the name standard -->
<include-columns></include-columns>
<exclude-columns></exclude-columns>
</properties>
</plugin>
</report-layout>

File diff suppressed because it is too large Load Diff

@ -0,0 +1,262 @@
<?xml version="1.0" encoding="UTF-8"?>
<C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST
xmlns="urn:ifsworld-com:c_external_billing_support_rep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ifsworld-com:c_external_billing_support_rep ../schemas/CExternalBillingSupport.xsd">
<PROCESSING_INFO>
<FORMATTING_OPTIONS>
<COPIES>1</COPIES>
<PAGE_FROM>1</PAGE_FROM>
<PAGE_TO>99</PAGE_TO>
<LANG_CODE>en</LANG_CODE>
<LAYOUT_NAME/>
<PRINT_DIRECTORY>.</PRINT_DIRECTORY>
<LAYOUT_FILE/>
<SELECTED_PRINTER/>
<LANGUAGE_LAYOUT_FILE/>
<PAPER_FORMAT/>
</FORMATTING_OPTIONS>
<PROCESSING_ATTRIBUTES>
<EXECUTION_TIME>2009-01-01T11:22:00</EXECUTION_TIME>
<ORDERED_BY/>
<JOB_ID>12345</JOB_ID>
<COMMENT/>
<ORDER_TIME>2009-01-01T11:22:00</ORDER_TIME>
<REPORT_TITLE>C External Billing Support</REPORT_TITLE>
<PRINTED_BY/>
<CREATED/>
</PROCESSING_ATTRIBUTES>
<STANDARD_TRANSLATIONS>
<ATTRIBUTE_DISPLAY_TEXTS>
<EXECUTION_TIME>Execution Time:</EXECUTION_TIME>
<ORDERED_BY>Ordered By:</ORDERED_BY>
<JOB_ID>Job Id:</JOB_ID>
<COMMENT>Comment:</COMMENT>
<ORDER_TIME>Order Time:</ORDER_TIME>
<REPORT_TITLE>Report:</REPORT_TITLE>
<PRINTED_BY>Printed By:</PRINTED_BY>
<CURRENT_TIME>Current Time:</CURRENT_TIME>
<CURRENT_DATE>Current Date:</CURRENT_DATE>
<PAGE>Page</PAGE>
<END_OF_REPORT>-------- End of Report --------</END_OF_REPORT>
<REPORT_PARAMETERS>Rep. Params:</REPORT_PARAMETERS>
<APPLICATION_TEXT>IFS Applications</APPLICATION_TEXT>
<CREATED>Created:</CREATED>
<NONE>none</NONE>
<NOTES>Notes:</NOTES>
<NO_DATA_FOUND>No data found</NO_DATA_FOUND>
</ATTRIBUTE_DISPLAY_TEXTS>
<SITE_TEXTS>
<COMPANY_NAME/>
<SITE_TEXT_1/>
<SITE_TEXT_2/>
<SITE_TEXT_3/>
<SITE_TEXT_4/>
<SITE_TEXT_5/>
<SITE_TEXT_6/>
<SITE_TEXT_7/>
<SITE_TEXT_8/>
<SITE_TEXT_9/>
<SITE_TEXT_10/>
</SITE_TEXTS>
</STANDARD_TRANSLATIONS>
</PROCESSING_INFO>
<C_EXTERNAL_BILLING_SUPPORT_REP_DATA_ASSEMBLY_PARAMETERS>
<PROJECT_ID>
<DISPLAY_TEXT>Project Id:</DISPLAY_TEXT>
<VALUE/>
</PROJECT_ID>
<PROJECT_INVOICE>
<DISPLAY_TEXT>Project Invoice:</DISPLAY_TEXT>
<VALUE/>
</PROJECT_INVOICE>
<SUPPLIER>
<DISPLAY_TEXT>Supplier:</DISPLAY_TEXT>
<VALUE/>
</SUPPLIER>
</C_EXTERNAL_BILLING_SUPPORT_REP_DATA_ASSEMBLY_PARAMETERS>
<C_EXTERNAL_BILLING_SUPPORT_REP_ARCHIVE_VARIABLES/>
<C_EXTERNAL_BILLING_SUPPORT_REP_TRANSLATIONS>
<REPORT_TEXTS>
<C_EXTERNAL_BILLING_SUPPORT>Sample</C_EXTERNAL_BILLING_SUPPORT>
</REPORT_TEXTS>
<ATTRIBUTE_DISPLAY_TEXTS>
<HEADER_DETAILS>
<HEADER_DETAIL>
<RUNBY>Runby:</RUNBY>
<REPORTDATE>Reportdate:</REPORTDATE>
<PROJECTID_H>Projectid H:</PROJECTID_H>
<INVOICENO_H>Invoiceno H:</INVOICENO_H>
<LABOR_DETAILSES>
<LABOR_DETAILS>
<TRANSACTIONDATEL>Transactiondatel:</TRANSACTIONDATEL>
<SUPPLIERNAMEL>Suppliernamel:</SUPPLIERNAMEL>
<INVOICENOL>Invoicenol:</INVOICENOL>
<TYPEWOL>Typewol:</TYPEWOL>
<ACTIVITYL>Activityl:</ACTIVITYL>
<EMPLOYEEL>Employeel:</EMPLOYEEL>
<DESCRIPTIONL>Descriptionl:</DESCRIPTIONL>
<QUANTITYL>Quantityl:</QUANTITYL>
<MATERIALCOSTTAXL>Materialcosttaxl:</MATERIALCOSTTAXL>
<TIMETYPEL>Timetypel:</TIMETYPEL>
<PRICEL>Pricel:</PRICEL>
<EXTENSIONL>Extensionl:</EXTENSIONL>
</LABOR_DETAILS>
</LABOR_DETAILSES>
<LINE_DETAILS>
<LINE_DETAIL>
<TRANSACTIONDATE>Transactiondate:</TRANSACTIONDATE>
<SUPPLIERNAME>Suppliername:</SUPPLIERNAME>
<INVOICENO>Invoiceno:</INVOICENO>
<TYPEWO>Typewo:</TYPEWO>
<ACTIVITY>Activity:</ACTIVITY>
<EMPLOYEE>Employee:</EMPLOYEE>
<DESCRIPTION>Description:</DESCRIPTION>
<QUANTITY>Quantity:</QUANTITY>
<MATERIALCOSTTAX>Materialcosttax:</MATERIALCOSTTAX>
<TIMETYPE>Timetype:</TIMETYPE>
<PRICE>Price:</PRICE>
<EXTENSION>Extension:</EXTENSION>
</LINE_DETAIL>
</LINE_DETAILS>
</HEADER_DETAIL>
</HEADER_DETAILS>
</ATTRIBUTE_DISPLAY_TEXTS>
</C_EXTERNAL_BILLING_SUPPORT_REP_TRANSLATIONS>
<C_EXTERNAL_BILLING_SUPPORT_REP>
<HEADER_DETAILS>
<HEADER_DETAIL>
<RUNBY>ABC</RUNBY>
<REPORTDATE>2009-01-01T11:22:00</REPORTDATE>
<PROJECTID_H>ABC</PROJECTID_H>
<INVOICENO_H>ABC</INVOICENO_H>
<LABOR_DETAILSES>
<LABOR_DETAILS>
<TRANSACTIONDATEL>2009-01-01T11:22:00</TRANSACTIONDATEL>
<SUPPLIERNAMEL>ABC</SUPPLIERNAMEL>
<INVOICENOL>ABC</INVOICENOL>
<TYPEWOL>ABC</TYPEWOL>
<ACTIVITYL>ABC</ACTIVITYL>
<EMPLOYEEL>ABC</EMPLOYEEL>
<DESCRIPTIONL>ABC</DESCRIPTIONL>
<QUANTITYL>123</QUANTITYL>
<MATERIALCOSTTAXL>123</MATERIALCOSTTAXL>
<TIMETYPEL>ABC</TIMETYPEL>
<PRICEL>123</PRICEL>
<EXTENSIONL>123</EXTENSIONL>
</LABOR_DETAILS>
<LABOR_DETAILS>
<TRANSACTIONDATEL>2009-01-01T11:22:00</TRANSACTIONDATEL>
<SUPPLIERNAMEL>ABC</SUPPLIERNAMEL>
<INVOICENOL>ABC</INVOICENOL>
<TYPEWOL>ABC</TYPEWOL>
<ACTIVITYL>ABC</ACTIVITYL>
<EMPLOYEEL>ABC</EMPLOYEEL>
<DESCRIPTIONL>ABC</DESCRIPTIONL>
<QUANTITYL>123</QUANTITYL>
<MATERIALCOSTTAXL>123</MATERIALCOSTTAXL>
<TIMETYPEL>ABC</TIMETYPEL>
<PRICEL>123</PRICEL>
<EXTENSIONL>123</EXTENSIONL>
</LABOR_DETAILS>
</LABOR_DETAILSES>
<LINE_DETAILS>
<LINE_DETAIL>
<TRANSACTIONDATE>2009-01-01</TRANSACTIONDATE>
<SUPPLIERNAME>ABC</SUPPLIERNAME>
<INVOICENO>ABC</INVOICENO>
<TYPEWO>ABC</TYPEWO>
<ACTIVITY>ABC</ACTIVITY>
<EMPLOYEE>ABC</EMPLOYEE>
<DESCRIPTION>ABC</DESCRIPTION>
<QUANTITY>123</QUANTITY>
<MATERIALCOSTTAX>123</MATERIALCOSTTAX>
<TIMETYPE>ABC</TIMETYPE>
<PRICE>123</PRICE>
<EXTENSION>123</EXTENSION>
</LINE_DETAIL>
<LINE_DETAIL>
<TRANSACTIONDATE>2009-01-01</TRANSACTIONDATE>
<SUPPLIERNAME>ABC</SUPPLIERNAME>
<INVOICENO>ABC</INVOICENO>
<TYPEWO>ABC</TYPEWO>
<ACTIVITY>ABC</ACTIVITY>
<EMPLOYEE>ABC</EMPLOYEE>
<DESCRIPTION>ABC</DESCRIPTION>
<QUANTITY>123</QUANTITY>
<MATERIALCOSTTAX>123</MATERIALCOSTTAX>
<TIMETYPE>ABC</TIMETYPE>
<PRICE>123</PRICE>
<EXTENSION>123</EXTENSION>
</LINE_DETAIL>
</LINE_DETAILS>
</HEADER_DETAIL>
<HEADER_DETAIL>
<RUNBY>ABC</RUNBY>
<REPORTDATE>2009-01-01T11:22:00</REPORTDATE>
<PROJECTID_H>ABC</PROJECTID_H>
<INVOICENO_H>ABC</INVOICENO_H>
<LABOR_DETAILSES>
<LABOR_DETAILS>
<TRANSACTIONDATEL>2009-01-01T11:22:00</TRANSACTIONDATEL>
<SUPPLIERNAMEL>ABC</SUPPLIERNAMEL>
<INVOICENOL>ABC</INVOICENOL>
<TYPEWOL>ABC</TYPEWOL>
<ACTIVITYL>ABC</ACTIVITYL>
<EMPLOYEEL>ABC</EMPLOYEEL>
<DESCRIPTIONL>ABC</DESCRIPTIONL>
<QUANTITYL>123</QUANTITYL>
<MATERIALCOSTTAXL>123</MATERIALCOSTTAXL>
<TIMETYPEL>ABC</TIMETYPEL>
<PRICEL>123</PRICEL>
<EXTENSIONL>123</EXTENSIONL>
</LABOR_DETAILS>
<LABOR_DETAILS>
<TRANSACTIONDATEL>2009-01-01T11:22:00</TRANSACTIONDATEL>
<SUPPLIERNAMEL>ABC</SUPPLIERNAMEL>
<INVOICENOL>ABC</INVOICENOL>
<TYPEWOL>ABC</TYPEWOL>
<ACTIVITYL>ABC</ACTIVITYL>
<EMPLOYEEL>ABC</EMPLOYEEL>
<DESCRIPTIONL>ABC</DESCRIPTIONL>
<QUANTITYL>123</QUANTITYL>
<MATERIALCOSTTAXL>123</MATERIALCOSTTAXL>
<TIMETYPEL>ABC</TIMETYPEL>
<PRICEL>123</PRICEL>
<EXTENSIONL>123</EXTENSIONL>
</LABOR_DETAILS>
</LABOR_DETAILSES>
<LINE_DETAILS>
<LINE_DETAIL>
<TRANSACTIONDATE>2009-01-01</TRANSACTIONDATE>
<SUPPLIERNAME>ABC</SUPPLIERNAME>
<INVOICENO>ABC</INVOICENO>
<TYPEWO>ABC</TYPEWO>
<ACTIVITY>ABC</ACTIVITY>
<EMPLOYEE>ABC</EMPLOYEE>
<DESCRIPTION>ABC</DESCRIPTION>
<QUANTITY>123</QUANTITY>
<MATERIALCOSTTAX>123</MATERIALCOSTTAX>
<TIMETYPE>ABC</TIMETYPE>
<PRICE>123</PRICE>
<EXTENSION>123</EXTENSION>
</LINE_DETAIL>
<LINE_DETAIL>
<TRANSACTIONDATE>2009-01-01</TRANSACTIONDATE>
<SUPPLIERNAME>ABC</SUPPLIERNAME>
<INVOICENO>ABC</INVOICENO>
<TYPEWO>ABC</TYPEWO>
<ACTIVITY>ABC</ACTIVITY>
<EMPLOYEE>ABC</EMPLOYEE>
<DESCRIPTION>ABC</DESCRIPTION>
<QUANTITY>123</QUANTITY>
<MATERIALCOSTTAX>123</MATERIALCOSTTAX>
<TIMETYPE>ABC</TIMETYPE>
<PRICE>123</PRICE>
<EXTENSION>123</EXTENSION>
</LINE_DETAIL>
</LINE_DETAILS>
</HEADER_DETAIL>
</HEADER_DETAILS>
</C_EXTERNAL_BILLING_SUPPORT_REP>
</C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST>

@ -0,0 +1,292 @@
<?xml version="1.0" encoding="UTF-8"?>
<C_INTERNAL_BILLING_SUPPORT_REP_REQUEST
xmlns="urn:ifsworld-com:c_internal_billing_support_rep"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:ifsworld-com:c_internal_billing_support_rep ../schemas/CInternalBillingSupport.xsd">
<PROCESSING_INFO>
<FORMATTING_OPTIONS>
<COPIES>1</COPIES>
<PAGE_FROM>1</PAGE_FROM>
<PAGE_TO>99</PAGE_TO>
<LANG_CODE>en</LANG_CODE>
<LAYOUT_NAME/>
<PRINT_DIRECTORY>.</PRINT_DIRECTORY>
<LAYOUT_FILE/>
<SELECTED_PRINTER/>
<LANGUAGE_LAYOUT_FILE/>
<PAPER_FORMAT/>
</FORMATTING_OPTIONS>
<PROCESSING_ATTRIBUTES>
<EXECUTION_TIME>2009-01-01T11:22:00</EXECUTION_TIME>
<ORDERED_BY/>
<JOB_ID>12345</JOB_ID>
<COMMENT/>
<ORDER_TIME>2009-01-01T11:22:00</ORDER_TIME>
<REPORT_TITLE>C Internal Billing Support</REPORT_TITLE>
<PRINTED_BY/>
<CREATED/>
</PROCESSING_ATTRIBUTES>
<STANDARD_TRANSLATIONS>
<ATTRIBUTE_DISPLAY_TEXTS>
<EXECUTION_TIME>Execution Time:</EXECUTION_TIME>
<ORDERED_BY>Ordered By:</ORDERED_BY>
<JOB_ID>Job Id:</JOB_ID>
<COMMENT>Comment:</COMMENT>
<ORDER_TIME>Order Time:</ORDER_TIME>
<REPORT_TITLE>Report:</REPORT_TITLE>
<PRINTED_BY>Printed By:</PRINTED_BY>
<CURRENT_TIME>Current Time:</CURRENT_TIME>
<CURRENT_DATE>Current Date:</CURRENT_DATE>
<PAGE>Page</PAGE>
<END_OF_REPORT>-------- End of Report --------</END_OF_REPORT>
<REPORT_PARAMETERS>Rep. Params:</REPORT_PARAMETERS>
<APPLICATION_TEXT>IFS Applications</APPLICATION_TEXT>
<CREATED>Created:</CREATED>
<NONE>none</NONE>
<NOTES>Notes:</NOTES>
<NO_DATA_FOUND>No data found</NO_DATA_FOUND>
</ATTRIBUTE_DISPLAY_TEXTS>
<SITE_TEXTS>
<COMPANY_NAME/>
<SITE_TEXT_1/>
<SITE_TEXT_2/>
<SITE_TEXT_3/>
<SITE_TEXT_4/>
<SITE_TEXT_5/>
<SITE_TEXT_6/>
<SITE_TEXT_7/>
<SITE_TEXT_8/>
<SITE_TEXT_9/>
<SITE_TEXT_10/>
</SITE_TEXTS>
</STANDARD_TRANSLATIONS>
</PROCESSING_INFO>
<C_INTERNAL_BILLING_SUPPORT_REP_DATA_ASSEMBLY_PARAMETERS>
<PROJECT_ID>
<DISPLAY_TEXT>Project Id:</DISPLAY_TEXT>
<VALUE/>
</PROJECT_ID>
<PROJECT_INVOICE>
<DISPLAY_TEXT>Project Invoice:</DISPLAY_TEXT>
<VALUE/>
</PROJECT_INVOICE>
<SUPPLIER>
<DISPLAY_TEXT>Supplier:</DISPLAY_TEXT>
<VALUE/>
</SUPPLIER>
</C_INTERNAL_BILLING_SUPPORT_REP_DATA_ASSEMBLY_PARAMETERS>
<C_INTERNAL_BILLING_SUPPORT_REP_ARCHIVE_VARIABLES/>
<C_INTERNAL_BILLING_SUPPORT_REP_TRANSLATIONS>
<REPORT_TEXTS>
<C_INTERNAL_BILLING_SUPPORT>Sample</C_INTERNAL_BILLING_SUPPORT>
</REPORT_TEXTS>
<ATTRIBUTE_DISPLAY_TEXTS>
<HEADER_DETAILS>
<HEADER_DETAIL>
<RUNBY>Runby:</RUNBY>
<REPORTDATE>Reportdate:</REPORTDATE>
<PROJECTID_H>Projectid H:</PROJECTID_H>
<INVOICENO_H>Invoiceno H:</INVOICENO_H>
<LABOR_DETAILSES>
<LABOR_DETAILS>
<TRANSACTIONDATEL>Transactiondatel:</TRANSACTIONDATEL>
<SUPPLIERNAMEL>Suppliernamel:</SUPPLIERNAMEL>
<INVOICENOL>Invoicenol:</INVOICENOL>
<TYPEWOL>Typewol:</TYPEWOL>
<ACTIVITYL>Activityl:</ACTIVITYL>
<EMPLOYEEL>Employeel:</EMPLOYEEL>
<DESCRIPTIONL>Descriptionl:</DESCRIPTIONL>
<QUANTITYL>Quantityl:</QUANTITYL>
<MATERIALCOSTTAXL>Materialcosttaxl:</MATERIALCOSTTAXL>
<TIMETYPEL>Timetypel:</TIMETYPEL>
<PRICEL>Pricel:</PRICEL>
<EXTENSIONL>Extensionl:</EXTENSIONL>
<PURCHASE_ORDERL>Purchase Orderl:</PURCHASE_ORDERL>
<WORK_TASKL>Work Taskl:</WORK_TASKL>
<WORK_ORDERL>Work Orderl:</WORK_ORDERL>
</LABOR_DETAILS>
</LABOR_DETAILSES>
<LINE_DETAILS>
<LINE_DETAIL>
<TRANSACTIONDATE>Transactiondate:</TRANSACTIONDATE>
<SUPPLIERNAME>Suppliername:</SUPPLIERNAME>
<INVOICENO>Invoiceno:</INVOICENO>
<TYPEWO>Typewo:</TYPEWO>
<ACTIVITY>Activity:</ACTIVITY>
<EMPLOYEE>Employee:</EMPLOYEE>
<DESCRIPTION>Description:</DESCRIPTION>
<QUANTITY>Quantity:</QUANTITY>
<MATERIALCOSTTAX>Materialcosttax:</MATERIALCOSTTAX>
<TIMETYPE>Timetype:</TIMETYPE>
<PRICE>Price:</PRICE>
<EXTENSION>Extension:</EXTENSION>
<PURCHASE_ORDER>Purchase Order:</PURCHASE_ORDER>
<WORK_TASK>Work Task:</WORK_TASK>
<WORK_ORDER>Work Order:</WORK_ORDER>
</LINE_DETAIL>
</LINE_DETAILS>
</HEADER_DETAIL>
</HEADER_DETAILS>
</ATTRIBUTE_DISPLAY_TEXTS>
</C_INTERNAL_BILLING_SUPPORT_REP_TRANSLATIONS>
<C_INTERNAL_BILLING_SUPPORT_REP>
<HEADER_DETAILS>
<HEADER_DETAIL>
<RUNBY>ABC</RUNBY>
<REPORTDATE>2009-01-01T11:22:00</REPORTDATE>
<PROJECTID_H>ABC</PROJECTID_H>
<INVOICENO_H>ABC</INVOICENO_H>
<LABOR_DETAILSES>
<LABOR_DETAILS>
<TRANSACTIONDATEL>2009-01-01T11:22:00</TRANSACTIONDATEL>
<SUPPLIERNAMEL>ABC</SUPPLIERNAMEL>
<INVOICENOL>ABC</INVOICENOL>
<TYPEWOL>ABC</TYPEWOL>
<ACTIVITYL>ABC</ACTIVITYL>
<EMPLOYEEL>ABC</EMPLOYEEL>
<DESCRIPTIONL>ABC</DESCRIPTIONL>
<QUANTITYL>123</QUANTITYL>
<MATERIALCOSTTAXL>123</MATERIALCOSTTAXL>
<TIMETYPEL>ABC</TIMETYPEL>
<PRICEL>123</PRICEL>
<EXTENSIONL>123</EXTENSIONL>
<PURCHASE_ORDERL>ABC</PURCHASE_ORDERL>
<WORK_TASKL>ABC</WORK_TASKL>
<WORK_ORDERL>ABC</WORK_ORDERL>
</LABOR_DETAILS>
<LABOR_DETAILS>
<TRANSACTIONDATEL>2009-01-01T11:22:00</TRANSACTIONDATEL>
<SUPPLIERNAMEL>ABC</SUPPLIERNAMEL>
<INVOICENOL>ABC</INVOICENOL>
<TYPEWOL>ABC</TYPEWOL>
<ACTIVITYL>ABC</ACTIVITYL>
<EMPLOYEEL>ABC</EMPLOYEEL>
<DESCRIPTIONL>ABC</DESCRIPTIONL>
<QUANTITYL>123</QUANTITYL>
<MATERIALCOSTTAXL>123</MATERIALCOSTTAXL>
<TIMETYPEL>ABC</TIMETYPEL>
<PRICEL>123</PRICEL>
<EXTENSIONL>123</EXTENSIONL>
<PURCHASE_ORDERL>ABC</PURCHASE_ORDERL>
<WORK_TASKL>ABC</WORK_TASKL>
<WORK_ORDERL>ABC</WORK_ORDERL>
</LABOR_DETAILS>
</LABOR_DETAILSES>
<LINE_DETAILS>
<LINE_DETAIL>
<TRANSACTIONDATE>2009-01-01T11:22:00</TRANSACTIONDATE>
<SUPPLIERNAME>ABC</SUPPLIERNAME>
<INVOICENO>ABC</INVOICENO>
<TYPEWO>ABC</TYPEWO>
<ACTIVITY>ABC</ACTIVITY>
<EMPLOYEE>ABC</EMPLOYEE>
<DESCRIPTION>ABC</DESCRIPTION>
<QUANTITY>123</QUANTITY>
<MATERIALCOSTTAX>123</MATERIALCOSTTAX>
<TIMETYPE>ABC</TIMETYPE>
<PRICE>123</PRICE>
<EXTENSION>123</EXTENSION>
<PURCHASE_ORDER>ABC</PURCHASE_ORDER>
<WORK_TASK>ABC</WORK_TASK>
<WORK_ORDER>ABC</WORK_ORDER>
</LINE_DETAIL>
<LINE_DETAIL>
<TRANSACTIONDATE>2009-01-01T11:22:00</TRANSACTIONDATE>
<SUPPLIERNAME>ABC</SUPPLIERNAME>
<INVOICENO>ABC</INVOICENO>
<TYPEWO>ABC</TYPEWO>
<ACTIVITY>ABC</ACTIVITY>
<EMPLOYEE>ABC</EMPLOYEE>
<DESCRIPTION>ABC</DESCRIPTION>
<QUANTITY>123</QUANTITY>
<MATERIALCOSTTAX>123</MATERIALCOSTTAX>
<TIMETYPE>ABC</TIMETYPE>
<PRICE>123</PRICE>
<EXTENSION>123</EXTENSION>
<PURCHASE_ORDER>ABC</PURCHASE_ORDER>
<WORK_TASK>ABC</WORK_TASK>
<WORK_ORDER>ABC</WORK_ORDER>
</LINE_DETAIL>
</LINE_DETAILS>
</HEADER_DETAIL>
<HEADER_DETAIL>
<RUNBY>ABC</RUNBY>
<REPORTDATE>2009-01-01T11:22:00</REPORTDATE>
<PROJECTID_H>ABC</PROJECTID_H>
<INVOICENO_H>ABC</INVOICENO_H>
<LABOR_DETAILSES>
<LABOR_DETAILS>
<TRANSACTIONDATEL>2009-01-01T11:22:00</TRANSACTIONDATEL>
<SUPPLIERNAMEL>ABC</SUPPLIERNAMEL>
<INVOICENOL>ABC</INVOICENOL>
<TYPEWOL>ABC</TYPEWOL>
<ACTIVITYL>ABC</ACTIVITYL>
<EMPLOYEEL>ABC</EMPLOYEEL>
<DESCRIPTIONL>ABC</DESCRIPTIONL>
<QUANTITYL>123</QUANTITYL>
<MATERIALCOSTTAXL>123</MATERIALCOSTTAXL>
<TIMETYPEL>ABC</TIMETYPEL>
<PRICEL>123</PRICEL>
<EXTENSIONL>123</EXTENSIONL>
<PURCHASE_ORDERL>ABC</PURCHASE_ORDERL>
<WORK_TASKL>ABC</WORK_TASKL>
<WORK_ORDERL>ABC</WORK_ORDERL>
</LABOR_DETAILS>
<LABOR_DETAILS>
<TRANSACTIONDATEL>2009-01-01T11:22:00</TRANSACTIONDATEL>
<SUPPLIERNAMEL>ABC</SUPPLIERNAMEL>
<INVOICENOL>ABC</INVOICENOL>
<TYPEWOL>ABC</TYPEWOL>
<ACTIVITYL>ABC</ACTIVITYL>
<EMPLOYEEL>ABC</EMPLOYEEL>
<DESCRIPTIONL>ABC</DESCRIPTIONL>
<QUANTITYL>123</QUANTITYL>
<MATERIALCOSTTAXL>123</MATERIALCOSTTAXL>
<TIMETYPEL>ABC</TIMETYPEL>
<PRICEL>123</PRICEL>
<EXTENSIONL>123</EXTENSIONL>
<PURCHASE_ORDERL>ABC</PURCHASE_ORDERL>
<WORK_TASKL>ABC</WORK_TASKL>
<WORK_ORDERL>ABC</WORK_ORDERL>
</LABOR_DETAILS>
</LABOR_DETAILSES>
<LINE_DETAILS>
<LINE_DETAIL>
<TRANSACTIONDATE>2009-01-01T11:22:00</TRANSACTIONDATE>
<SUPPLIERNAME>ABC</SUPPLIERNAME>
<INVOICENO>ABC</INVOICENO>
<TYPEWO>ABC</TYPEWO>
<ACTIVITY>ABC</ACTIVITY>
<EMPLOYEE>ABC</EMPLOYEE>
<DESCRIPTION>ABC</DESCRIPTION>
<QUANTITY>123</QUANTITY>
<MATERIALCOSTTAX>123</MATERIALCOSTTAX>
<TIMETYPE>ABC</TIMETYPE>
<PRICE>123</PRICE>
<EXTENSION>123</EXTENSION>
<PURCHASE_ORDER>ABC</PURCHASE_ORDER>
<WORK_TASK>ABC</WORK_TASK>
<WORK_ORDER>ABC</WORK_ORDER>
</LINE_DETAIL>
<LINE_DETAIL>
<TRANSACTIONDATE>2009-01-01T11:22:00</TRANSACTIONDATE>
<SUPPLIERNAME>ABC</SUPPLIERNAME>
<INVOICENO>ABC</INVOICENO>
<TYPEWO>ABC</TYPEWO>
<ACTIVITY>ABC</ACTIVITY>
<EMPLOYEE>ABC</EMPLOYEE>
<DESCRIPTION>ABC</DESCRIPTION>
<QUANTITY>123</QUANTITY>
<MATERIALCOSTTAX>123</MATERIALCOSTTAX>
<TIMETYPE>ABC</TIMETYPE>
<PRICE>123</PRICE>
<EXTENSION>123</EXTENSION>
<PURCHASE_ORDER>ABC</PURCHASE_ORDER>
<WORK_TASK>ABC</WORK_TASK>
<WORK_ORDER>ABC</WORK_ORDER>
</LINE_DETAIL>
</LINE_DETAILS>
</HEADER_DETAIL>
</HEADER_DETAILS>
</C_INTERNAL_BILLING_SUPPORT_REP>
</C_INTERNAL_BILLING_SUPPORT_REP_REQUEST>

@ -0,0 +1,860 @@
<?xml version="1.0" encoding="UTF-8"?>
<?report module="CMOD" package="C_EXTERNAL_BILLING_SUPPORT_REP" ?>
<xs:schema
targetNamespace="urn:ifsworld-com:c_external_billing_support_rep"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="urn:ifsworld-com:c_external_billing_support_rep"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd">
<xs:element name="C_EXTERNAL_BILLING_SUPPORT_REP_REQUEST">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="PROCESSING_INFO">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="FORMATTING_OPTIONS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="COPIES" type="xs:int" nillable="true"/>
<xs:element name="PAGE_FROM" type="xs:int" nillable="true"/>
<xs:element name="PAGE_TO" type="xs:int" nillable="true"/>
<xs:element name="LANG_CODE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LAYOUT_NAME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRINT_DIRECTORY" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LAYOUT_FILE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SELECTED_PRINTER" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LANGUAGE_LAYOUT_FILE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PAPER_FORMAT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="PROCESSING_ATTRIBUTES">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="EXECUTION_TIME" type="xs:dateTime"/>
<xs:element name="ORDERED_BY" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="JOB_ID" type="xs:int" nillable="true"/>
<xs:element name="COMMENT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ORDER_TIME" type="xs:dateTime"/>
<xs:element name="REPORT_TITLE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRINTED_BY" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CREATED" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="STANDARD_TRANSLATIONS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="ATTRIBUTE_DISPLAY_TEXTS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="EXECUTION_TIME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ORDERED_BY" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="JOB_ID" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="COMMENT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ORDER_TIME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="REPORT_TITLE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRINTED_BY" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CURRENT_TIME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CURRENT_DATE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PAGE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="END_OF_REPORT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="REPORT_PARAMETERS" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="APPLICATION_TEXT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CREATED" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NONE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NOTES" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NO_DATA_FOUND" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="SITE_TEXTS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="COMPANY_NAME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_1" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_2" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_3" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_4" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_5" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_6" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_7" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_8" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_9" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_10" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="C_EXTERNAL_BILLING_SUPPORT_REP_DATA_ASSEMBLY_PARAMETERS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="PROJECT_ID">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="DISPLAY_TEXT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VALUE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="PROJECT_INVOICE">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="DISPLAY_TEXT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VALUE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="SUPPLIER">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="DISPLAY_TEXT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VALUE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="C_EXTERNAL_BILLING_SUPPORT_REP_ARCHIVE_VARIABLES">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="VARIABLE">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="NAME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VALUE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="C_EXTERNAL_BILLING_SUPPORT_REP_TRANSLATIONS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="REPORT_TEXTS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="C_EXTERNAL_BILLING_SUPPORT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="ATTRIBUTE_DISPLAY_TEXTS">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="HEADER_DETAILS" nillable="true" minOccurs="0">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="HEADER_DETAIL">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="6">
<xs:element name="RUNBY" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="REPORTDATE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PROJECTID_H" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENO_H" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LABOR_DETAILSES" nillable="true" minOccurs="0">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="LABOR_DETAILS">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="12">
<xs:element name="TRANSACTIONDATEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SUPPLIERNAMEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENOL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TYPEWOL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ACTIVITYL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMPLOYEEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DESCRIPTIONL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QUANTITYL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MATERIALCOSTTAXL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TIMETYPEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRICEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EXTENSIONL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="LINE_DETAILS" nillable="true" minOccurs="0">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="LINE_DETAIL">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="12">
<xs:element name="TRANSACTIONDATE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SUPPLIERNAME" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TYPEWO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ACTIVITY" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMPLOYEE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DESCRIPTION" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QUANTITY" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MATERIALCOSTTAX" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TIMETYPE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRICE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EXTENSION" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="C_EXTERNAL_BILLING_SUPPORT_REP">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="HEADER_DETAILS" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="HEADER_DETAIL">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="6">
<xs:element name="RUNBY" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="REPORTDATE" type="xs:dateTime" nillable="true" minOccurs="0"/>
<xs:element name="PROJECTID_H" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENO_H" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LABOR_DETAILSES" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="LABOR_DETAILS">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="12">
<xs:element name="TRANSACTIONDATEL" type="xs:dateTime" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIERNAMEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENOL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TYPEWOL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ACTIVITYL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMPLOYEEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DESCRIPTIONL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QUANTITYL" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="MATERIALCOSTTAXL" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="TIMETYPEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRICEL" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="EXTENSIONL" type="xs:float" nillable="true" minOccurs="0"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LINE_DETAILS" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="LINE_DETAIL">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="12">
<xs:element name="TRANSACTIONDATE" type="xs:dateTime" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIERNAME" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TYPEWO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ACTIVITY" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMPLOYEE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DESCRIPTION" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QUANTITY" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="MATERIALCOSTTAX" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="TIMETYPE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRICE" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="EXTENSION" type="xs:float" nillable="true" minOccurs="0"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>

@ -0,0 +1,944 @@
<?xml version="1.0" encoding="UTF-8"?>
<?report module="CMOD" package="C_INTERNAL_BILLING_SUPPORT_REP" ?>
<xs:schema
targetNamespace="urn:ifsworld-com:c_internal_billing_support_rep"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="urn:ifsworld-com:c_internal_billing_support_rep"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema.xsd">
<xs:element name="C_INTERNAL_BILLING_SUPPORT_REP_REQUEST">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="PROCESSING_INFO">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="FORMATTING_OPTIONS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="COPIES" type="xs:int" nillable="true"/>
<xs:element name="PAGE_FROM" type="xs:int" nillable="true"/>
<xs:element name="PAGE_TO" type="xs:int" nillable="true"/>
<xs:element name="LANG_CODE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="5"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LAYOUT_NAME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRINT_DIRECTORY" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LAYOUT_FILE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SELECTED_PRINTER" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LANGUAGE_LAYOUT_FILE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PAPER_FORMAT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="PROCESSING_ATTRIBUTES">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="EXECUTION_TIME" type="xs:dateTime"/>
<xs:element name="ORDERED_BY" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="JOB_ID" type="xs:int" nillable="true"/>
<xs:element name="COMMENT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ORDER_TIME" type="xs:dateTime"/>
<xs:element name="REPORT_TITLE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRINTED_BY" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CREATED" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="STANDARD_TRANSLATIONS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="ATTRIBUTE_DISPLAY_TEXTS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="EXECUTION_TIME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ORDERED_BY" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="JOB_ID" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="COMMENT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ORDER_TIME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="REPORT_TITLE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRINTED_BY" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CURRENT_TIME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CURRENT_DATE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PAGE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="END_OF_REPORT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="REPORT_PARAMETERS" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="APPLICATION_TEXT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="CREATED" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NONE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NOTES" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="NO_DATA_FOUND" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="SITE_TEXTS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="COMPANY_NAME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_1" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_2" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_3" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_4" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_5" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_6" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_7" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_8" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_9" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SITE_TEXT_10" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="C_INTERNAL_BILLING_SUPPORT_REP_DATA_ASSEMBLY_PARAMETERS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="PROJECT_ID">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="DISPLAY_TEXT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VALUE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="PROJECT_INVOICE">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="DISPLAY_TEXT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VALUE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="SUPPLIER">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="DISPLAY_TEXT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VALUE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="C_INTERNAL_BILLING_SUPPORT_REP_ARCHIVE_VARIABLES">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="VARIABLE">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="NAME" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="VALUE" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="C_INTERNAL_BILLING_SUPPORT_REP_TRANSLATIONS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="REPORT_TEXTS">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="C_INTERNAL_BILLING_SUPPORT" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="ATTRIBUTE_DISPLAY_TEXTS">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="HEADER_DETAILS" nillable="true" minOccurs="0">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="HEADER_DETAIL">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="6">
<xs:element name="RUNBY" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="REPORTDATE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PROJECTID_H" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENO_H" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LABOR_DETAILSES" nillable="true" minOccurs="0">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="LABOR_DETAILS">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="15">
<xs:element name="TRANSACTIONDATEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SUPPLIERNAMEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENOL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TYPEWOL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ACTIVITYL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMPLOYEEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DESCRIPTIONL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QUANTITYL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MATERIALCOSTTAXL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TIMETYPEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRICEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EXTENSIONL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PURCHASE_ORDERL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WORK_TASKL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WORK_ORDERL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="LINE_DETAILS" nillable="true" minOccurs="0">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="LINE_DETAIL">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="15">
<xs:element name="TRANSACTIONDATE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SUPPLIERNAME" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TYPEWO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ACTIVITY" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMPLOYEE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DESCRIPTION" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QUANTITY" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="MATERIALCOSTTAX" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TIMETYPE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRICE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EXTENSION" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PURCHASE_ORDER" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WORK_TASK" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WORK_ORDER" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="C_INTERNAL_BILLING_SUPPORT_REP">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="HEADER_DETAILS" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="HEADER_DETAIL">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="6">
<xs:element name="RUNBY" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="REPORTDATE" type="xs:dateTime" nillable="true" minOccurs="0"/>
<xs:element name="PROJECTID_H" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENO_H" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="LABOR_DETAILSES" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="LABOR_DETAILS">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="15">
<xs:element name="TRANSACTIONDATEL" type="xs:dateTime" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIERNAMEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENOL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TYPEWOL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ACTIVITYL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMPLOYEEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DESCRIPTIONL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QUANTITYL" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="MATERIALCOSTTAXL" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="TIMETYPEL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRICEL" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="EXTENSIONL" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="PURCHASE_ORDERL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WORK_TASKL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WORK_ORDERL" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LINE_DETAILS" nillable="true" minOccurs="0">
<xs:complexType>
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:element name="LINE_DETAIL">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="15">
<xs:element name="TRANSACTIONDATE" type="xs:dateTime" nillable="true" minOccurs="0"/>
<xs:element name="SUPPLIERNAME" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="INVOICENO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="TYPEWO" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="ACTIVITY" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="EMPLOYEE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DESCRIPTION" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="2000"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="QUANTITY" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="MATERIALCOSTTAX" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="TIMETYPE" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="200"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRICE" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="EXTENSION" type="xs:float" nillable="true" minOccurs="0"/>
<xs:element name="PURCHASE_ORDER" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WORK_TASK" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="WORK_ORDER" nillable="true" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:schema>

@ -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 -------------------------------------

@ -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 --------------------------------------

@ -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;

@ -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

@ -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

File diff suppressed because it is too large Load Diff

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<UTILITY xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:ifsworld-com:schemas:utility_utility">
<NAME>ProjectInvoiceSSRS</NAME>
<COMPONENT>PRJREP</COMPONENT>
<LAYER>Cust</LAYER>
</UTILITY>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -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;
Loading…
Cancel
Save