From 331dea9cb258c29f76e49c3111849e3921e0f316 Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Wed, 19 Dec 2018 15:10:05 +0100
Subject: [PATCH] Chart

---
 .../_____SYSTEM_APPLICATION_NEON.aod          |   1 +
 entity/Offer_entity/Offer_entity.aod          |   1 +
 .../entityfields/relation_id/valueProcess.js  |   7 +
 entity/Offeritem_entity/Offeritem_entity.aod  |   4 +
 .../entityfields/product_id/onValueChange.js  |   3 +
 entity/Orderitem_entity/Orderitem_entity.aod  |   3 +
 entity/Turnover_entity/Turnover_entity.aod    |  33 +++++
 .../recordcontainers/jdito/contentProcess.js  |  22 +++
 .../Turnover_context/Turnover_context.aod     |  13 ++
 .../TurnoverChart_view/TurnoverChart_view.aod |  20 +++
 .../example_salesorder/SALESORDER_1000.xml    | 134 ++++++++++++++++++
 .../example_salesorder/SALESORDER_1001.xml    |  39 +++++
 .../example_salesorder/SALESORDER_1002.xml    |  39 +++++
 .../example_salesorder/SALESORDER_1003.xml    |  39 +++++
 .../example_salesorder/SALESORDER_1004.xml    |  39 +++++
 others/db_changes/masterChangelog.xml         |   9 +-
 ...create_order.xml => create_salesorder.xml} |   0
 ...rderitem.xml => create_salesorderitem.xml} |   0
 process/Entity_lib/process.js                 |  12 +-
 process/Product_lib/process.js                |   1 -
 20 files changed, 414 insertions(+), 5 deletions(-)
 create mode 100644 entity/Offer_entity/entityfields/relation_id/valueProcess.js
 create mode 100644 entity/Turnover_entity/Turnover_entity.aod
 create mode 100644 entity/Turnover_entity/recordcontainers/jdito/contentProcess.js
 create mode 100644 neonContext/Turnover_context/Turnover_context.aod
 create mode 100644 neonView/TurnoverChart_view/TurnoverChart_view.aod
 create mode 100644 others/db_changes/data/example_salesorder/SALESORDER_1000.xml
 create mode 100644 others/db_changes/data/example_salesorder/SALESORDER_1001.xml
 create mode 100644 others/db_changes/data/example_salesorder/SALESORDER_1002.xml
 create mode 100644 others/db_changes/data/example_salesorder/SALESORDER_1003.xml
 create mode 100644 others/db_changes/data/example_salesorder/SALESORDER_1004.xml
 rename others/db_changes/struct/{create_order.xml => create_salesorder.xml} (100%)
 rename others/db_changes/struct/{create_orderitem.xml => create_salesorderitem.xml} (100%)

diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
index aae55c4832..1cb2d8754d 100644
--- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
+++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
@@ -21,6 +21,7 @@
         <node name="Order_context" kind="10077" />
         <node name="Contract_context" kind="10077" />
         <node name="Product_context" kind="10077" />
+        <node name="Turnover_context" kind="10077" />
         <node name="INTERNAL_ADMINISTRATOR" kind="159" />
       </node>
     </node>
diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 8252bcbf98..6c22346f3a 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -62,6 +62,7 @@
       <linkedContextProcess>%aditoprj%/entity/Offer_entity/entityfields/relation_id/linkedContextProcess.js</linkedContextProcess>
       <mandatory v="true" />
       <outgoingField>OfferRelation_dfo</outgoingField>
+      <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/relation_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/relation_id/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Offer_entity/entityfields/relation_id/onValueChange.js</onValueChange>
       <onValueChangeTypes>
diff --git a/entity/Offer_entity/entityfields/relation_id/valueProcess.js b/entity/Offer_entity/entityfields/relation_id/valueProcess.js
new file mode 100644
index 0000000000..250a8378a0
--- /dev/null
+++ b/entity/Offer_entity/entityfields/relation_id/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+if (vars.exists("$param.RelationId_param"))
+{
+    result.string(vars.get("$param.RelationId_param"))
+}
\ No newline at end of file
diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod
index 7b8517c8be..ee97d30b61 100644
--- a/entity/Offeritem_entity/Offeritem_entity.aod
+++ b/entity/Offeritem_entity/Offeritem_entity.aod
@@ -64,6 +64,9 @@
     <entityField>
       <name>OFFER_ID</name>
       <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/offer_id/valueProcess.js</valueProcess>
+      <onValueChangeTypes>
+        <element>MASK</element>
+      </onValueChangeTypes>
     </entityField>
     <entityField>
       <name>OPTIONAL</name>
@@ -84,6 +87,7 @@
       <onValueChange>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
+        <element>PROCESS</element>
       </onValueChangeTypes>
     </entityField>
     <entityField>
diff --git a/entity/Offeritem_entity/entityfields/product_id/onValueChange.js b/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
index 35060d8cbe..a7a60f8c53 100644
--- a/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
+++ b/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
@@ -1,10 +1,13 @@
+import("system.logging");
 import("system.vars");
 import("system.neon");
 import("Product_lib");
 import("Util_lib");
 import("Entity_lib");
 
+logging.log("----------field: " + vars.get("$field.PRODUCT_ID") + "---")
 var pid = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.PRODUCT_ID"));
+logging.log(pid)
 if(pid != "")
 {
     var curr = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : "";
diff --git a/entity/Orderitem_entity/Orderitem_entity.aod b/entity/Orderitem_entity/Orderitem_entity.aod
index 2072213b50..9bdd8e678b 100644
--- a/entity/Orderitem_entity/Orderitem_entity.aod
+++ b/entity/Orderitem_entity/Orderitem_entity.aod
@@ -93,6 +93,9 @@
       <valueProcess>%aditoprj%/entity/Orderitem_entity/entityfields/quantity/valueProcess.js</valueProcess>
       <onValidation></onValidation>
       <onValueChange>%aditoprj%/entity/Orderitem_entity/entityfields/quantity/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+      </onValueChangeTypes>
     </entityField>
     <entityField>
       <name>UNIT</name>
diff --git a/entity/Turnover_entity/Turnover_entity.aod b/entity/Turnover_entity/Turnover_entity.aod
new file mode 100644
index 0000000000..a89194ea0f
--- /dev/null
+++ b/entity/Turnover_entity/Turnover_entity.aod
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.1.0">
+  <name>Turnover_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <recordContainer>jdito</recordContainer>
+  <entityFields>
+    <entityIncomingField>
+      <name>#INCOMING</name>
+    </entityIncomingField>
+    <entityField>
+      <name>UID</name>
+      <title>Year</title>
+    </entityField>
+    <entityField>
+      <name>VALUE</name>
+    </entityField>
+    <entityField>
+      <name>PARENT</name>
+    </entityField>
+  </entityFields>
+  <recordContainers>
+    <jDitoRecordContainer>
+      <name>jdito</name>
+      <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
+      <contentProcess>%aditoprj%/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
+      <recordFields>
+        <element>UID.value</element>
+        <element>PARENT.value</element>
+        <element>VALUE.value</element>
+      </recordFields>
+    </jDitoRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js b/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js
new file mode 100644
index 0000000000..6c49763a7c
--- /dev/null
+++ b/entity/Turnover_entity/recordcontainers/jdito/contentProcess.js
@@ -0,0 +1,22 @@
+import("system.logging");
+import("system.db");
+import("system.result");
+
+var turnoverData = db.table("select year(SALESORDERDATE) yearNum, 0 monthNum, sum(NET + VAT) from SALESORDER group by year(SALESORDERDATE) "
+                          + " union "
+                          + " select year(SALESORDERDATE) yearNum, month(SALESORDERDATE) monthNum, sum(NET + VAT) from SALESORDER group by year(SALESORDERDATE), month(SALESORDERDATE) "
+                          + " order by yearNum, monthNum");
+
+logging.log(turnoverData.toSource())
+
+
+var chartData = [];                        
+turnoverData.forEach(function(rowData) 
+{
+    var parent = (rowData[1] == 0) ? "" : rowData[0] + "0";
+
+    chartData.push([rowData[0] + rowData[1], parent, parseFloat(rowData[2])]);
+})
+
+logging.log(chartData.toSource())
+result.object(chartData);
\ No newline at end of file
diff --git a/neonContext/Turnover_context/Turnover_context.aod b/neonContext/Turnover_context/Turnover_context.aod
new file mode 100644
index 0000000000..eaffc6c207
--- /dev/null
+++ b/neonContext/Turnover_context/Turnover_context.aod
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0">
+  <name>Turnover_context</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <mainview>TurnoverChart_view</mainview>
+  <entity>Turnover_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>41a2a339-d41d-47e7-8416-4bd788a269af</name>
+      <view>TurnoverChart_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonView/TurnoverChart_view/TurnoverChart_view.aod b/neonView/TurnoverChart_view/TurnoverChart_view.aod
new file mode 100644
index 0000000000..3b35909f66
--- /dev/null
+++ b/neonView/TurnoverChart_view/TurnoverChart_view.aod
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>TurnoverChart_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <multiDataChartViewTemplate>
+      <name>TurnoverChart_template</name>
+      <chartType>COLUMN</chartType>
+      <xAxis>UID</xAxis>
+      <yAxis>VALUE</yAxis>
+      <parentField>PARENT</parentField>
+      <entityField>#ENTITY</entityField>
+    </multiDataChartViewTemplate>
+  </children>
+</neonView>
diff --git a/others/db_changes/data/example_salesorder/SALESORDER_1000.xml b/others/db_changes/data/example_salesorder/SALESORDER_1000.xml
new file mode 100644
index 0000000000..f13b78150f
--- /dev/null
+++ b/others/db_changes/data/example_salesorder/SALESORDER_1000.xml
@@ -0,0 +1,134 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="m.schroeger" id="6f705338-d9da-4373-a84a-1681d2bd5f7d">
+        <insert tableName="SALESORDER">
+            <column name="SALESORDERID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+            <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+            <column name="SALESORDERDATE" valueDate="2017-11-21T00:00:00"/>
+            <column name="SALESORDERCODE" valueNumeric="1000"/>
+            <column name="VERSNR" valueNumeric="1"/>
+            <column name="STATUS" valueNumeric="2"/>
+            <column name="NET" valueNumeric="210.00"/>
+            <column name="VAT" valueNumeric="39.90"/>
+            <column name="CURRENCY" valueNumeric="0"/>
+            <column name="LANGUAGE" value="de-DE"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2017-11-21T14:11:19"/>
+        </insert>
+        
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
+            <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+            <column name="UNIT" valueNumeric="1"/>
+            <column name="QUANTITY" valueNumeric="1"/>
+            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="PRICE" valueNumeric="210.00"/>
+            <column name="ITEMSORT" valueNumeric="1"/>
+            <column name="PRODUCT_ID" value="P101                                "/>
+            <column name="VAT" valueNumeric="19.00"/>
+            <column name="ITEMNAME" value="AX45"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:19"/>
+        </insert>
+        
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
+            <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+            <column name="UNIT" valueNumeric="1"/>
+            <column name="QUANTITY" valueNumeric="1"/>
+            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
+            <column name="ITEMSORT" valueNumeric="2"/>
+            <column name="PRODUCT_ID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
+            <column name="ITEMNAME" value="AX47"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1.1"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:29"/>
+        </insert>
+        
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="1e1a68ba-dc28-43e5-ad05-a2d062da2dbc"/>
+            <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+            <column name="UNIT" valueNumeric="1"/>
+            <column name="QUANTITY" valueNumeric="3"/>
+            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
+            <column name="ITEMSORT" valueNumeric="3"/>
+            <column name="PRODUCT_ID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
+            <column name="ITEMNAME" value="Produktname4.1"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1.1.1"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:35"/>
+        </insert>
+
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="8772eb20-dbe8-4e12-8ea8-21fb28474c3e"/>
+            <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+            <column name="UNIT" valueNumeric="1"/>
+            <column name="QUANTITY" valueNumeric="3"/>
+            <column name="GROUPCODEID" valueNumeric="4"/>
+            <column name="ASSIGNEDTO" value="1e1a68ba-dc28-43e5-ad05-a2d062da2dbc"/>
+            <column name="ITEMSORT" valueNumeric="4"/>
+            <column name="PRODUCT_ID" value="368aa1c0-b802-4dea-844e-e61bf85a03c9"/>
+            <column name="ITEMNAME" value="Sonderrabatt"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1.1.1.1"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:38"/>
+        </insert>
+        
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="8c60146f-e950-47ad-8fed-d7bb88947789"/>
+            <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+            <column name="UNIT" valueNumeric="1"/>
+            <column name="QUANTITY" valueNumeric="3"/>
+            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="ASSIGNEDTO" value="02681c7d-7494-4c0e-8b4a-170a64b5baa1"/>
+            <column name="ITEMSORT" valueNumeric="5"/>
+            <column name="PRODUCT_ID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
+            <column name="ITEMNAME" value="Produktname4.2a"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1.1.2"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:48"/>
+        </insert>
+
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="21ee4b39-876e-44a8-8153-dc7f38957fc7"/>
+            <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+            <column name="UNIT" valueNumeric="1"/>
+            <column name="QUANTITY" valueNumeric="2"/>
+            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
+            <column name="ITEMSORT" valueNumeric="6"/>
+            <column name="PRODUCT_ID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
+            <column name="ITEMNAME" value="Produktname1.1"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1.2"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:51"/>
+        </insert>
+        
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="f268cf96-7ba6-44aa-8357-42e0469afe79"/>
+            <column name="SALESORDER_ID" value="2e661772-951f-47bc-a862-5aa3c5aa2731"/>
+            <column name="UNIT" valueNumeric="1"/>
+            <column name="QUANTITY" valueNumeric="3"/>
+            <column name="GROUPCODEID" valueNumeric="5"/>
+            <column name="ASSIGNEDTO" value="f6207cd1-5ab0-4a97-a243-448242c02f17"/>
+            <column name="ITEMSORT" valueNumeric="7"/>
+            <column name="PRODUCT_ID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
+            <column name="ITEMNAME" value="Produktname1.2"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1.3"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:55"/>
+        </insert>
+
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data/example_salesorder/SALESORDER_1001.xml b/others/db_changes/data/example_salesorder/SALESORDER_1001.xml
new file mode 100644
index 0000000000..73aa64e42e
--- /dev/null
+++ b/others/db_changes/data/example_salesorder/SALESORDER_1001.xml
@@ -0,0 +1,39 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="f.feldmann" id="c48d2c77-9fbe-4fa0-8e17-656393047a82">
+        <insert tableName="SALESORDER">
+            <column name="SALESORDERID" value="41197800-027b-47f5-923a-f1004d09a969"/>
+            <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+            <column name="SALESORDERDATE" valueDate="2018-08-12T00:00:00"/>
+            <column name="SALESORDERCODE" valueNumeric="1001"/>
+            <column name="VERSNR" valueNumeric="1"/>
+            <column name="STATUS" valueNumeric="2"/>
+            <column name="NET" valueNumeric="420.00"/>
+            <column name="VAT" valueNumeric="79.80"/>
+            <column name="CURRENCY" valueNumeric="1"/>
+            <column name="LANGUAGE" value="de-DE"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:11:19"/>
+        </insert>
+        
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="ed7dcd27-0369-4196-894c-bfcce94b9e73"/>
+            <column name="SALESORDER_ID" value="41197800-027b-47f5-923a-f1004d09a969"/>
+            <column name="UNIT" valueNumeric="1"/>
+            <column name="QUANTITY" valueNumeric="2"/>
+            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="PRICE" valueNumeric="210.00"/>
+            <column name="ITEMSORT" valueNumeric="1"/>
+            <column name="PRODUCT_ID" value="P101                                "/>
+            <column name="VAT" valueNumeric="19.00"/>
+            <column name="ITEMNAME" value="AX45"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:19"/>
+        </insert>
+   
+
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data/example_salesorder/SALESORDER_1002.xml b/others/db_changes/data/example_salesorder/SALESORDER_1002.xml
new file mode 100644
index 0000000000..0033b250a0
--- /dev/null
+++ b/others/db_changes/data/example_salesorder/SALESORDER_1002.xml
@@ -0,0 +1,39 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="f.feldmann" id="95dcd356-75d4-45a2-8bda-d564c9c17d97">
+        <insert tableName="SALESORDER">
+            <column name="SALESORDERID" value="373f28a5-a812-433b-8196-a6bf8bdd5656"/>
+            <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+            <column name="SALESORDERDATE" valueDate="2016-06-14T00:00:00"/>
+            <column name="SALESORDERCODE" valueNumeric="1002"/>
+            <column name="VERSNR" valueNumeric="1"/>
+            <column name="STATUS" valueNumeric="2"/>
+            <column name="NET" valueNumeric="630.00"/>
+            <column name="VAT" valueNumeric="119.70"/>
+            <column name="CURRENCY" valueNumeric="1"/>
+            <column name="LANGUAGE" value="de-DE"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2016-11-21T14:11:19"/>
+        </insert>
+        
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="17856c63-10f8-46c6-9295-5ad5bedff8ba"/>
+            <column name="SALESORDER_ID" value="373f28a5-a812-433b-8196-a6bf8bdd5656"/>
+            <column name="UNIT" valueNumeric="1"/>
+            <column name="QUANTITY" valueNumeric="3"/>
+            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="PRICE" valueNumeric="210.00"/>
+            <column name="ITEMSORT" valueNumeric="1"/>
+            <column name="PRODUCT_ID" value="P101                                "/>
+            <column name="VAT" valueNumeric="19.00"/>
+            <column name="ITEMNAME" value="AX45"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:19"/>
+        </insert>
+   
+
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data/example_salesorder/SALESORDER_1003.xml b/others/db_changes/data/example_salesorder/SALESORDER_1003.xml
new file mode 100644
index 0000000000..31c3057291
--- /dev/null
+++ b/others/db_changes/data/example_salesorder/SALESORDER_1003.xml
@@ -0,0 +1,39 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="f.feldmann" id="955b7c8d-3a85-408f-8374-b491a653b5c8">
+        <insert tableName="SALESORDER">
+            <column name="SALESORDERID" value="5a34f4a2-13b2-46ec-8f61-939fe27ba484"/>
+            <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+            <column name="SALESORDERDATE" valueDate="2018-08-23T00:00:00"/>
+            <column name="SALESORDERCODE" valueNumeric="1003"/>
+            <column name="VERSNR" valueNumeric="1"/>
+            <column name="STATUS" valueNumeric="1"/>
+            <column name="NET" valueNumeric="420.00"/>
+            <column name="VAT" valueNumeric="79.80"/>
+            <column name="CURRENCY" valueNumeric="1"/>
+            <column name="LANGUAGE" value="de-DE"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-08-21T14:11:19"/>
+        </insert>
+        
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="3b25eeb9-ea52-4c62-a22c-041a1a2a41c2"/>
+            <column name="SALESORDER_ID" value="5a34f4a2-13b2-46ec-8f61-939fe27ba484"/>
+            <column name="UNIT" valueNumeric="1"/>
+            <column name="QUANTITY" valueNumeric="2"/>
+            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="PRICE" valueNumeric="210.00"/>
+            <column name="ITEMSORT" valueNumeric="1"/>
+            <column name="PRODUCT_ID" value="P101                                "/>
+            <column name="VAT" valueNumeric="19.00"/>
+            <column name="ITEMNAME" value="AX45"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:19"/>
+        </insert>
+   
+
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data/example_salesorder/SALESORDER_1004.xml b/others/db_changes/data/example_salesorder/SALESORDER_1004.xml
new file mode 100644
index 0000000000..5a6bb119d4
--- /dev/null
+++ b/others/db_changes/data/example_salesorder/SALESORDER_1004.xml
@@ -0,0 +1,39 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="f.feldmann" id="653af1f7-c0b9-4544-a93c-f3bf1e3ad054">
+        <insert tableName="SALESORDER">
+            <column name="SALESORDERID" value="545ffd81-cfa5-4be6-b62c-df269909dcd4"/>
+            <column name="RELATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="SALESPROJECT_ID" value="0833465c-8851-4fbb-b7e3-8c1d73c903da"/>
+            <column name="SALESORDERDATE" valueDate="2017-05-09T00:00:00"/>
+            <column name="SALESORDERCODE" valueNumeric="1004"/>
+            <column name="VERSNR" valueNumeric="1"/>
+            <column name="STATUS" valueNumeric="1"/>
+            <column name="NET" valueNumeric="840.00"/>
+            <column name="VAT" valueNumeric="159.60"/>
+            <column name="CURRENCY" valueNumeric="1"/>
+            <column name="LANGUAGE" value="de-DE"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2017-05-21T14:11:19"/>
+        </insert>
+        
+        <insert tableName="SALESORDERITEM">
+            <column name="SALESORDERITEMID" value="45422c17-9626-4435-80ef-58c24fdf7559"/>
+            <column name="SALESORDER_ID" value="545ffd81-cfa5-4be6-b62c-df269909dcd4"/>
+            <column name="UNIT" valueNumeric="4"/>
+            <column name="QUANTITY" valueNumeric="2"/>
+            <column name="GROUPCODEID" valueNumeric="1"/>
+            <column name="PRICE" valueNumeric="210.00"/>
+            <column name="ITEMSORT" valueNumeric="1"/>
+            <column name="PRODUCT_ID" value="P101                                "/>
+            <column name="VAT" valueNumeric="19.00"/>
+            <column name="ITEMNAME" value="AX45"/>
+            <column name="OPTIONAL" valueNumeric="0"/>
+            <column name="ITEMPOSITION" value="1"/>
+            <column name="USER_NEW" value="Admin"/>
+            <column name="DATE_NEW" valueDate="2018-11-21T14:32:19"/>
+        </insert>
+   
+
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/masterChangelog.xml b/others/db_changes/masterChangelog.xml
index e44689b90b..17b5f69cde 100644
--- a/others/db_changes/masterChangelog.xml
+++ b/others/db_changes/masterChangelog.xml
@@ -21,8 +21,8 @@
     <include file="struct/create_salesproject_source.xml"/>
     <include file="struct/create_offer.xml"/>
     <include file="struct/create_offeritem.xml"/>
-    <include file="struct/create_order.xml"/>
-    <include file="struct/create_orderitem.xml"/>
+    <include file="struct/create_salesorder.xml"/>
+    <include file="struct/create_salesorderitem.xml"/>
     <include file="struct/create_countryinfo.xml"/>
     <include file="struct/create_timetracking.xml"/>
     <include file="data/example_org/ORG_privat.xml"/>
@@ -51,5 +51,10 @@
     <include file="data/example_offer/OFFER_1002.xml"/>
     <include file="data/example_offer/OFFER_1003.xml"/>
     <include file="data/example_offer/OFFER_1004.xml"/>    
+    <include file="data/example_salesorder/SALESORDER_1000.xml"/>
+    <include file="data/example_salesorder/SALESORDER_1001.xml"/>
+    <include file="data/example_salesorder/SALESORDER_1002.xml"/>
+    <include file="data/example_salesorder/SALESORDER_1003.xml"/>
+    <include file="data/example_salesorder/SALESORDER_1004.xml"/>  
     <include file="data/countryinfo_full/countryinfo_main.xml"/>
 </databaseChangeLog>
diff --git a/others/db_changes/struct/create_order.xml b/others/db_changes/struct/create_salesorder.xml
similarity index 100%
rename from others/db_changes/struct/create_order.xml
rename to others/db_changes/struct/create_salesorder.xml
diff --git a/others/db_changes/struct/create_orderitem.xml b/others/db_changes/struct/create_salesorderitem.xml
similarity index 100%
rename from others/db_changes/struct/create_orderitem.xml
rename to others/db_changes/struct/create_salesorderitem.xml
diff --git a/process/Entity_lib/process.js b/process/Entity_lib/process.js
index 6b0e3c2fcd..d807207b4b 100644
--- a/process/Entity_lib/process.js
+++ b/process/Entity_lib/process.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("system.result");
 import("system.neon");
 import("system.vars");
@@ -22,9 +23,16 @@ function ProcessHandlingUtils() {}
 * @return {String} Field value for onValidation-Process
 */
 ProcessHandlingUtils.getOnValidationValue = function(fieldValue) {
-    if (fieldValue == undefined)
+    if (fieldValue == undefined) {
         fieldValue = vars.get("$this.value");
-    return vars.exists("$local.value") ? vars.get("$local.value") : fieldValue;
+        logging.log("$this.value " + fieldValue)
+    }
+   
+    if (vars.exists("$local.value")) {
+        logging.log("$local.value " + vars.get("$local.value"))
+    }
+    
+    return (vars.exists("$local.value") &&  vars.get("$local.value") != null) ? vars.get("$local.value") : fieldValue;
 }
 
 /**
diff --git a/process/Product_lib/process.js b/process/Product_lib/process.js
index 86503497a9..9b1d043f5d 100644
--- a/process/Product_lib/process.js
+++ b/process/Product_lib/process.js
@@ -150,7 +150,6 @@ ProductUtils.getProductDetails = function(pid, priceListFilter)
 
     var joins = [];
     var orderby = ["PRODUCTID"];
-    var sqltypes = [];
 
     //PriceList (all)
     var colsPricelistAll = ["allPP.PRODUCTPRICEID", "allPP.RELATION_ID", "allPP.PRICELIST", "allPP.PRICE", "allPP.VAT"
-- 
GitLab