diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingAddDefaultColumns.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingAddDefaultColumns.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d9b89ce05cf5e99aa1c59e3eea752e8fbdcacc8f
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingAddDefaultColumns.xml
@@ -0,0 +1,11 @@
+<?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="b.ulrich" id="78759a5c-543a-499f-be89-ffafd7591017">
+        <addColumn tableName="ADVERTISING">
+            <column name="USER_NEW" type="NVARCHAR(50)"/>
+	</addColumn>
+        <addColumn tableName="ADVERTISING">
+            <column name="USER_EDIT" type="NVARCHAR(50)"/>
+	</addColumn>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemChangeItemPositionColumnType.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemChangeItemPositionColumnType.xml
new file mode 100644
index 0000000000000000000000000000000000000000..aff8e2608fcdddc9318aa4e57c90343887a2dfc6
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemChangeItemPositionColumnType.xml
@@ -0,0 +1,25 @@
+<?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 dbms="derby" author="b.ulrich" id="1840f738-884e-483d-9def-4ef138da5316">
+        <sql>
+            ALTER TABLE ADVERTISINGITEM ADD COLUMN ITEMPOSITION_NEW CHAR(10);
+            UPDATE ADVERTISINGITEM SET ITEMPOSITION_NEW=CAST ( ITEMPOSITION as CHAR(10));
+            ALTER TABLE ADVERTISINGITEM DROP COLUMN ITEMPOSITION;
+            RENAME COLUMN ADVERTISINGITEM.ITEMPOSITION_NEW TO ITEMPOSITION;
+
+            ALTER TABLE ADVERTISINGITEM ADD COLUMN ITEMPOSITION_NEW INTEGER;
+            UPDATE ADVERTISINGITEM SET ITEMPOSITION_NEW=CAST ( ITEMPOSITION as INTEGER);
+            ALTER TABLE ADVERTISINGITEM DROP COLUMN ITEMPOSITION;
+            RENAME COLUMN ADVERTISINGITEM.ITEMPOSITION_NEW TO ITEMPOSITION;
+        </sql>
+    </changeSet>
+    
+    <changeSet author="b.ulrich" id="987b8d72-d739-4b56-9e1e-5c6f34421d24">
+        <preConditions onFail="CONTINUE">
+            <not>
+                <dbms type="derby" />
+            </not>
+        </preConditions>
+        <modifyDataType columnName="ITEMPOSITION" newDataType="INTEGER" tableName="ADVERTISINGITEM"/>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropColumns.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropColumns.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0d29b9bc1522fdc8dce56a34603d31719d5ee4c7
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropColumns.xml
@@ -0,0 +1,11 @@
+<?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="b.ulrich" id="a720efc8-ac2e-45ef-a7a8-c068b42a6180">
+        <dropColumn tableName="ADVERTISINGITEM">
+            <column name="FREE"/>
+        </dropColumn>
+        <dropColumn tableName="ADVERTISINGITEM">
+            <column name="ACTUALAMOUNT"/>
+        </dropColumn>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropForeignKey.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropForeignKey.xml
new file mode 100644
index 0000000000000000000000000000000000000000..298fe5bbd1f1b64733c5dfb962781870cc74b418
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingItemDropForeignKey.xml
@@ -0,0 +1,6 @@
+<?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="b.ulrich" id="e60115d8-79f7-46f3-ada0-0e2eb407f4ef">
+	<dropForeignKeyConstraint baseTableName="ADVERTISINGITEM" constraintName="FK_OFFERITEM_PRODUCT_ID"/>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingRenameRowId.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingRenameRowId.xml
new file mode 100644
index 0000000000000000000000000000000000000000..886d1ca87936c78dd4b4ed7f33037c6d3199a04d
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_AdvertisingRenameRowId.xml
@@ -0,0 +1,11 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="b.ulrich" id="9c2fff35-3dca-4881-9141-59d4bdd05b2a">
+        <renameColumn
+            columnDataType="CHAR(36)"
+            newColumnName="OBJECT_ROWID"
+            oldColumnName="ROW_ID"
+            tableName="ADVERTISING"/>  
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_productAdvertisingDatatype.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_productAdvertisingDatatype.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4029c6621dec242ae39ccb6682ee23244f9ee510
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/alter_productAdvertisingDatatype.xml
@@ -0,0 +1,34 @@
+<?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="b.ulrich" id="83e55d9f-2e47-4b71-89ca-f080e57d13b6">
+        
+	<!--Add Column with correct datatype-->
+        <addColumn tableName="PRODUCT">
+            <column name="ADVERTISING_NEW" type="TINYINT"/>
+	</addColumn>
+        
+        <!--Set Values accordingly-->
+        <update tableName="PRODUCT">
+            <column name="ADVERTISING_NEW" valueNumeric="1"></column>
+            <where>ADVERTISING = ?</where>
+            <whereParams>
+                <param name="ADVERTISING" value="Y"/>
+            </whereParams>
+        </update>
+        <update tableName="PRODUCT">
+            <column name="ADVERTISING_NEW" valueNumeric="0"></column>
+            <where>ADVERTISING = ?</where>
+            <whereParams>
+                <param name="ADVERTISING" value="N"/>
+            </whereParams>
+        </update>
+        
+        <!--Drop old Column-->
+        <dropColumn tableName="PRODUCT">
+            <column name="ADVERTISING"/>
+        </dropColumn>
+        
+        <!--Rename new Column-->
+        <renameColumn newColumnName="ADVERTISING" oldColumnName="ADVERTISING_NEW" columnDataType="TINYINT" tableName="PRODUCT"/>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2021.1.3/Advertising/changelog.xml b/.liquibase/Data_alias/basic/2021.1.3/Advertising/changelog.xml
new file mode 100644
index 0000000000000000000000000000000000000000..58e5c43d9b06d8923c507ca3bb73bca97e8a8c6b
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2021.1.3/Advertising/changelog.xml
@@ -0,0 +1,11 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <include relativeToChangelogFile="true" file="alter_AdvertisingAddDefaultColumns.xml"/>
+    <include relativeToChangelogFile="true" file="alter_AdvertisingItemDropColumns.xml"/>
+    <include relativeToChangelogFile="true" file="alter_productAdvertisingDatatype.xml"/>
+    <include relativeToChangelogFile="true" file="alter_AdvertisingRenameRowId.xml"/>
+    <include relativeToChangelogFile="true" file="alter_AdvertisingItemDropForeignKey.xml"/>
+    <include relativeToChangelogFile="true" file="alter_AdvertisingItemChangeItemPositionColumnType.xml"/>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2021.1.3/changelog.xml b/.liquibase/Data_alias/basic/2021.1.3/changelog.xml
index e6ef5bf468f382fad3e8bd05c3e8f1befe0dc104..5d3231a62d21134397109c21ea19ed5f94235c10 100644
--- a/.liquibase/Data_alias/basic/2021.1.3/changelog.xml
+++ b/.liquibase/Data_alias/basic/2021.1.3/changelog.xml
@@ -3,6 +3,7 @@
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
     <include relativeToChangelogFile="true" file="defaultWeblinks/changelog.xml"/>
+    <include relativeToChangelogFile="true" file="Advertising/changelog.xml"/>
     <include relativeToChangelogFile="true" file="Checklist/changelog.xml"/>
     <include relativeToChangelogFile="true" file="Member/changelog.xml"/>
     <include relativeToChangelogFile="true" file="Salesproject/changelog.xml"/>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml
index d7eb781bba0a5c105b6969941e8e23d510ae78d0..da58cf067350b1ad10359cf2535586454cb9949e 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/product.xml
@@ -7,7 +7,7 @@
       <column name="PRODUCTCODE" value="WG3_MD"/>
       <column name="PRODUCTID" value="072680e3-9e5d-4228-b5a8-f4acef8f2452"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="USER_NEW" value="Admin"/>
@@ -21,7 +21,7 @@
       <column name="PRODUCTCODE" value="WG1003"/>
       <column name="PRODUCTID" value="155ac430-ccfc-4814-95fc-189631779064"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:32:19"/>
@@ -35,7 +35,7 @@
       <column name="PRODUCTCODE" value="ET1002"/>
       <column name="PRODUCTID" value="168c22e1-a196-4b99-b912-aac40d960b7e"/>
       <column name="GROUPCODEID" value="PRODUCTSPARE"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2021-06-29T01:09:01"/>
@@ -48,7 +48,7 @@
       <column name="PRODUCTCODE" value="S001"/>
       <column name="PRODUCTID" value="239a4c58-5ae6-4aaa-aba3-7e40bf348ce2"/>
       <column name="GROUPCODEID" value="PRODUCTSERVICE"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:30:01"/>
@@ -62,7 +62,7 @@
       <column name="PRODUCTCODE" value="ET1003"/>
       <column name="PRODUCTID" value="250f8317-228e-4b2a-8674-ffe2a79ad4a7"/>
       <column name="GROUPCODEID" value="PRODUCTSPARE"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2021-06-29T01:14:02"/>
       <column name="UNIT" value="QUANTITYPIECES"/>
@@ -73,7 +73,7 @@
       <column name="PRODUCTCODE" value="WG2003"/>
       <column name="PRODUCTID" value="3d0086d3-f7fa-4328-bfc9-75cf37eb422c"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-16T03:53:18"/>
@@ -87,7 +87,7 @@
       <column name="PRODUCTCODE" value="WG3_MA-C"/>
       <column name="PRODUCTID" value="4004db3e-a63e-4b32-b7da-8c899996ddcd"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="USER_NEW" value="Admin"/>
@@ -101,7 +101,7 @@
       <column name="PRODUCTCODE" value="WG3003-SL"/>
       <column name="PRODUCTID" value="4203b3f3-e8d9-483e-a9f8-274a40f92074"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2021-04-09T11:50:34"/>
@@ -115,7 +115,7 @@
       <column name="PRODUCTCODE" value="WG3_MB-C"/>
       <column name="PRODUCTID" value="4775aed7-e165-495b-a147-7e3312b27d0b"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="USER_NEW" value="Admin"/>
@@ -129,7 +129,7 @@
       <column name="PRODUCTCODE" value="WG1004"/>
       <column name="PRODUCTID" value="488e25b2-0210-41bd-bfe6-4312a9e68a20"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2021-04-09T11:11:18"/>
@@ -143,7 +143,7 @@
       <column name="PRODUCTCODE" value="WG3_MC-C"/>
       <column name="PRODUCTID" value="4a234269-faab-474e-82e8-662e7600e1ea"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="USER_NEW" value="Admin"/>
@@ -157,7 +157,7 @@
       <column name="PRODUCTCODE" value="WG2001"/>
       <column name="PRODUCTID" value="535cec1a-e81c-4833-aad6-1d2348dbc0fb"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-16T03:48:31"/>
@@ -170,7 +170,7 @@
       <column name="PRODUCTCODE" value="WG3001-SL"/>
       <column name="PRODUCTID" value="59851fb8-e743-46bb-8df9-bc2789fd5b37"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2021-04-09T11:44:53"/>
@@ -183,7 +183,7 @@
       <column name="PRODUCTCODE" value="WG2008"/>
       <column name="PRODUCTID" value="6d1321d0-7777-4b6e-8a01-08b77ea3c5bf"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2021-04-09T11:37:43"/>
@@ -198,7 +198,7 @@
       <column name="PRODUCTID" value="6e52e636-284d-454b-978c-8f58844c5c5b"/>
       <column name="GROUPCODEID" value="PRODUCTSPARE"/>
       <column name="MINSTOCK" valueNumeric="15"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T03:16:36"/>
@@ -212,7 +212,7 @@
       <column name="PRODUCTCODE" value="ET1001"/>
       <column name="PRODUCTID" value="7f9b1016-9a05-43d8-8b4b-e489f099ec64"/>
       <column name="GROUPCODEID" value="PRODUCTSPARE"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2021-06-29T01:03:56"/>
@@ -225,7 +225,7 @@
       <column name="PRODUCTCODE" value="WG2004"/>
       <column name="PRODUCTID" value="805cd37f-d6c7-424b-99b0-b3de9ec89f7b"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:23:33"/>
@@ -238,7 +238,7 @@
       <column name="PRODUCTCODE" value="WG2002"/>
       <column name="PRODUCTID" value="80b77bce-5299-4c1d-bf41-5eca0add2f50"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-16T03:49:51"/>
@@ -251,7 +251,7 @@
       <column name="PRODUCTCODE" value="WG2005"/>
       <column name="PRODUCTID" value="895f8caf-8c91-4ba8-9619-44ea6366cbbb"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:25:18"/>
@@ -266,7 +266,7 @@
       <column name="PRODUCTID" value="8cdbd2d8-70e2-4899-9ac6-3f0c3e28cab1"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
       <column name="MINSTOCK" valueNumeric="10"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-16T03:43:25"/>
@@ -280,7 +280,7 @@
       <column name="PRODUCTCODE" value="WG3_MC-S"/>
       <column name="PRODUCTID" value="993f6294-f1fc-42d2-8786-1c13274fd133"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="USER_NEW" value="Admin"/>
@@ -294,7 +294,7 @@
       <column name="PRODUCTCODE" value="WG2006"/>
       <column name="PRODUCTID" value="9eb8b4de-5eda-4b5c-a934-acd30a840cba"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2021-04-09T11:28:11"/>
@@ -309,7 +309,7 @@
       <column name="PRODUCTID" value="a2e76fe1-e49b-4f2b-8da5-12660738043d"/>
       <column name="GROUPCODEID" value="PRODUCTSPARE"/>
       <column name="MINSTOCK" valueNumeric="6"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="USER_NEW" value="Admin"/>
@@ -323,7 +323,7 @@
       <column name="PRODUCTCODE" value="WG3002-SL"/>
       <column name="PRODUCTID" value="acd4cbde-f55d-444b-b294-1c6fe8588000"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2021-04-09T11:48:09"/>
@@ -338,7 +338,7 @@
       <column name="PRODUCTID" value="b973e3f9-277c-4787-96a0-7cac54472420"/>
       <column name="GROUPCODEID" value="PRODUCTSPARE"/>
       <column name="MINSTOCK" valueNumeric="10"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-13T03:16:36"/>
@@ -351,7 +351,7 @@
       <column name="PRODUCTCODE" value="S002"/>
       <column name="PRODUCTID" value="bb897bd1-244b-45cd-8a2f-f5a783cbbbff"/>
       <column name="GROUPCODEID" value="PRODUCTSERVICE"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-22T01:20:28"/>
@@ -364,7 +364,7 @@
       <column name="PRODUCTCODE" value="WG2007"/>
       <column name="PRODUCTID" value="c08e32db-73ce-49a2-8306-860ac7081e77"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP2"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2021-04-09T11:34:21"/>
@@ -377,7 +377,7 @@
       <column name="PRODUCTCODE" value="WG1002"/>
       <column name="PRODUCTID" value="c8244502-73be-4ef7-9ef7-2b5ae95d3718"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP1"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:34:44"/>
@@ -391,7 +391,7 @@
       <column name="PRODUCTCODE" value="WG3_MA-S"/>
       <column name="PRODUCTID" value="c9f744bc-7903-4ec0-96f9-1df010ce1f37"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="USER_NEW" value="Admin"/>
@@ -406,7 +406,7 @@
       <column name="PRODUCTCODE" value="WG3_MB-S"/>
       <column name="PRODUCTID" value="e073ddc7-e3b8-4430-9e4f-12065106a624"/>
       <column name="GROUPCODEID" value="PRODUCTGROUP3"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="USER_NEW" value="Admin"/>
@@ -422,7 +422,7 @@
       <column name="PRODUCTID" value="f52b1d6e-bf08-4fe1-8d83-ac0728c4b1c4"/>
       <column name="GROUPCODEID" value="PRODUCTSPARE"/>
       <column name="MINSTOCK" valueNumeric="12"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="USER_NEW" value="Admin"/>
@@ -438,7 +438,7 @@
       <column name="PRODUCTID" value="feefb3a9-f02a-4536-9ebb-ab7070cc71ba"/>
       <column name="GROUPCODEID" value="PRODUCTSPARE"/>
       <column name="MINSTOCK" valueNumeric="8"/>
-      <column name="ADVERTISING" value="N"/>
+      <column name="ADVERTISING" valueNumeric="0"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="USER_NEW" value="Admin"/>
diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 0f9089f43bf57ecf9259f0810d9547cf94df4be6..5d1357c00cf29de9a3db3358b7494553f8a0b16f 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -21681,7 +21681,7 @@
             <description></description>
             <auditSyncConfig>
               <name>auditSyncConfig</name>
-              <auditMode v="0" />
+              <auditMode v="2" />
               <syncActive v="false" />
               <syncComplete v="true" />
               <syncDirection v="1" />
@@ -21713,8 +21713,20 @@
                 <isUnique v="false" />
                 <index v="true" />
                 <documentation></documentation>
-                <title></title>
+                <title>Responsible</title>
                 <description></description>
+                <customProperties>
+                  <customBooleanProperty>
+                    <name>log</name>
+                    <global v="false" />
+                    <property v="true" />
+                  </customBooleanProperty>
+                  <customJDitoProperty>
+                    <name>translate4Log</name>
+                    <global v="false" />
+                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/responsible_id/customproperties/translate4log/property.js</property>
+                  </customJDitoProperty>
+                </customProperties>
               </entityFieldDb>
               <entityFieldDb>
                 <name>CONTACT_ID</name>
@@ -21727,8 +21739,20 @@
                 <isUnique v="false" />
                 <index v="true" />
                 <documentation></documentation>
-                <title></title>
+                <title>Contact</title>
                 <description></description>
+                <customProperties>
+                  <customBooleanProperty>
+                    <name>log</name>
+                    <global v="false" />
+                    <property v="true" />
+                  </customBooleanProperty>
+                  <customJDitoProperty>
+                    <name>translate4log</name>
+                    <global v="false" />
+                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/contact_id/customproperties/translate4log/property.js</property>
+                  </customJDitoProperty>
+                </customProperties>
               </entityFieldDb>
               <entityFieldDb>
                 <name>OBJECT_TYPE</name>
@@ -21745,21 +21769,28 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>ROW_ID</name>
+                <name>CURRENCY</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="1" />
+                <columnType v="12" />
                 <size v="36" />
                 <scale v="0" />
-                <notNull v="true" />
+                <notNull v="false" />
                 <isUnique v="false" />
-                <index v="true" />
+                <index v="false" />
                 <documentation></documentation>
-                <title></title>
+                <title>Currency</title>
                 <description></description>
+                <customProperties>
+                  <customBooleanProperty>
+                    <name>log</name>
+                    <global v="false" />
+                    <property v="true" />
+                  </customBooleanProperty>
+                </customProperties>
               </entityFieldDb>
               <entityFieldDb>
-                <name>CURRENCY</name>
+                <name>STATUS</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="12" />
@@ -21769,16 +21800,28 @@
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
-                <title></title>
+                <title>Status</title>
                 <description></description>
+                <customProperties>
+                  <customBooleanProperty>
+                    <name>log</name>
+                    <global v="false" />
+                    <property v="true" />
+                  </customBooleanProperty>
+                  <customStringProperty>
+                    <name>keyword</name>
+                    <global v="false" />
+                    <property>advertisingStatus</property>
+                  </customStringProperty>
+                </customProperties>
               </entityFieldDb>
               <entityFieldDb>
-                <name>STATUS</name>
+                <name>DATE_EDIT</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="36" />
-                <scale v="0" />
+                <columnType v="93" />
+                <size v="29" />
+                <scale v="9" />
                 <notNull v="false" />
                 <isUnique v="false" />
                 <index v="false" />
@@ -21787,11 +21830,25 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>DATE_EDIT</name>
+                <name>DATE_NEW</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="93" />
-                <size v="19" />
+                <size v="29" />
+                <scale v="9" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>USER_NEW</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="50" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -21801,11 +21858,11 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>DATE_NEW</name>
+                <name>USER_EDIT</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="19" />
+                <columnType v="12" />
+                <size v="50" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -21814,6 +21871,20 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>OBJECT_ROWID</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="true" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
           <entityDb>
@@ -21827,7 +21898,7 @@
             <description></description>
             <auditSyncConfig>
               <name>auditSyncConfig</name>
-              <auditMode v="0" />
+              <auditMode v="2" />
               <syncActive v="false" />
               <syncComplete v="true" />
               <syncDirection v="1" />
@@ -21866,23 +21937,30 @@
                 <name>PRICE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="3" />
+                <columnType v="2" />
                 <size v="14" />
                 <scale v="2" />
                 <notNull v="false" />
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
-                <title></title>
+                <title>Price</title>
                 <description></description>
+                <customProperties>
+                  <customBooleanProperty>
+                    <name>log</name>
+                    <global v="false" />
+                    <property v="true" />
+                  </customBooleanProperty>
+                </customProperties>
               </entityFieldDb>
               <entityFieldDb>
                 <name>DATE_EDIT</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="93" />
-                <size v="19" />
-                <scale v="0" />
+                <size v="29" />
+                <scale v="9" />
                 <notNull v="false" />
                 <isUnique v="false" />
                 <index v="false" />
@@ -21894,29 +21972,43 @@
                 <name>QUANTITY</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="3" />
+                <columnType v="2" />
                 <size v="14" />
                 <scale v="2" />
                 <notNull v="false" />
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
-                <title></title>
+                <title>Quantity</title>
                 <description></description>
+                <customProperties>
+                  <customBooleanProperty>
+                    <name>log</name>
+                    <global v="false" />
+                    <property v="true" />
+                  </customBooleanProperty>
+                </customProperties>
               </entityFieldDb>
               <entityFieldDb>
                 <name>INFO</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="-1" />
+                <columnType v="2005" />
                 <size v="2147483647" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
-                <title></title>
+                <title>Info</title>
                 <description></description>
+                <customProperties>
+                  <customBooleanProperty>
+                    <name>log</name>
+                    <global v="false" />
+                    <property v="true" />
+                  </customBooleanProperty>
+                </customProperties>
               </entityFieldDb>
               <entityFieldDb>
                 <name>PRODUCT_ID</name>
@@ -21932,20 +22024,6 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>FREE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="-6" />
-                <size v="3" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>USER_EDIT</name>
                 <dbName></dbName>
@@ -21971,22 +22049,40 @@
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
-                <title></title>
+                <title>delivery</title>
                 <description></description>
+                <customProperties>
+                  <customBooleanProperty>
+                    <name>log</name>
+                    <global v="false" />
+                    <property v="true" />
+                  </customBooleanProperty>
+                  <customStringProperty>
+                    <name>keyword</name>
+                    <global v="false" />
+                    <property>KeywordDelivery</property>
+                  </customStringProperty>
+                </customProperties>
               </entityFieldDb>
               <entityFieldDb>
                 <name>TARGETAMOUNT</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="3" />
+                <columnType v="2" />
                 <size v="14" />
                 <scale v="2" />
                 <notNull v="false" />
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
-                <title></title>
+                <title>Target amount</title>
                 <description></description>
+                <customProperties>
+                  <customBooleanProperty>
+                    <name>log</name>
+                    <global v="false" />
+                  </customBooleanProperty>
+                </customProperties>
               </entityFieldDb>
               <entityFieldDb>
                 <name>ITEMPOSITION</name>
@@ -22021,8 +22117,8 @@
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="93" />
-                <size v="19" />
-                <scale v="0" />
+                <size v="29" />
+                <scale v="9" />
                 <notNull v="false" />
                 <isUnique v="false" />
                 <index v="false" />
@@ -22044,26 +22140,12 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>ACTUALAMOUNT</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="3" />
-                <size v="14" />
-                <scale v="2" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>SENT</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="-6" />
-                <size v="3" />
+                <columnType v="5" />
+                <size v="5" />
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/contact_id/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/contact_id/customproperties/translate4log/property.js
new file mode 100644
index 0000000000000000000000000000000000000000..3ee7c9e2fa9d533db62574ca87bef99ea50f1ab1
--- /dev/null
+++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/contact_id/customproperties/translate4log/property.js
@@ -0,0 +1,9 @@
+import("Contact_lib");
+import("system.db");
+import("system.result");
+import("Loghistory_lib");
+
+var params = Translate4LogParams.load();
+var res = ContactUtils.getTitleByContactId(params.value);
+
+result.string(res);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/responsible_id/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/responsible_id/customproperties/translate4log/property.js
new file mode 100644
index 0000000000000000000000000000000000000000..3ee7c9e2fa9d533db62574ca87bef99ea50f1ab1
--- /dev/null
+++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/advertising/entityfields/responsible_id/customproperties/translate4log/property.js
@@ -0,0 +1,9 @@
+import("Contact_lib");
+import("system.db");
+import("system.result");
+import("Loghistory_lib");
+
+var params = Translate4LogParams.load();
+var res = ContactUtils.getTitleByContactId(params.value);
+
+result.string(res);
\ No newline at end of file
diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index 0ea331666014f52f862b50bd543264662d7d21b3..d639aeae48ff82576bdc3a45d10d7b3b1b8a8666 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -699,6 +699,10 @@
           <name>ContactIds_param</name>
           <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/advertisinginformationconsumer/children/contactids_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/advertisinginformationconsumer/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
     <entityParameter>
@@ -738,6 +742,20 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityField>
+      <name>advertising_id</name>
+      <title>Advertising material</title>
+      <linkedContext>Advertising</linkedContext>
+      <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/advertising_id/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Activity_entity/entityfields/advertising_id/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityConsumer>
+      <name>Objects</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Object_entity</entityName>
+      </dependency>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -852,6 +870,17 @@
           <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entryyear.value/expression.js</expression>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>hasAdvertising.value</name>
+          <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/hasadvertising.value/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>advertising_id.value</name>
+          <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/advertising_id.value/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>advertising_id.displayValue</name>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
       <linkInformation>
         <linkInformation>
diff --git a/entity/Activity_entity/entityfields/advertising_id/displayValueProcess.js b/entity/Activity_entity/entityfields/advertising_id/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2c21cbda1e893de4fee6939cfc686dd60f35296a
--- /dev/null
+++ b/entity/Activity_entity/entityfields/advertising_id/displayValueProcess.js
@@ -0,0 +1,4 @@
+import("system.translate");
+import("system.result");
+
+result.string(translate.text("Advertising material"));
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/advertising_id/valueProcess.js b/entity/Activity_entity/entityfields/advertising_id/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7a2e80d77765651d4c5af0fbad326ca670eea0b7
--- /dev/null
+++ b/entity/Activity_entity/entityfields/advertising_id/valueProcess.js
@@ -0,0 +1,8 @@
+import("system.vars");
+import("Sql_lib");
+import("system.result");
+
+result.string(newSelect("ADVERTISING.ADVERTISINGID")
+                .from("ADVERTISING")
+                .where("ADVERTISING.OBJECT_ROWID", vars.get("$field.ACTIVITYID"))
+                .cell());
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/advertisinginformationconsumer/children/objecttype_param/valueProcess.js b/entity/Activity_entity/entityfields/advertisinginformationconsumer/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..109d9bf5c8ea2825f9da796529721deab9a96d9f
--- /dev/null
+++ b/entity/Activity_entity/entityfields/advertisinginformationconsumer/children/objecttype_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("Activity");
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/advertisinginformationconsumer/stateProcess.js b/entity/Activity_entity/entityfields/advertisinginformationconsumer/stateProcess.js
index b7978b1081b1e41c17ca452ab567efb4af99763b..faf1a7f15caebcef28fa56bf0ed69d76d95c999e 100644
--- a/entity/Activity_entity/entityfields/advertisinginformationconsumer/stateProcess.js
+++ b/entity/Activity_entity/entityfields/advertisinginformationconsumer/stateProcess.js
@@ -1,6 +1,15 @@
-import("Util_lib");
+import("Sql_lib");
 import("system.neon");
 import("system.vars");
 import("system.result");
 
-result.string(Utils.toBoolean(vars.get("$field.hasAdvertising")) ? neon.COMPONENTSTATE_EDITABLE : neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
+var count = new SqlBuilder().selectCount()
+                .from("ADVERTISING")
+                .where("ADVERTISING.OBJECT_ROWID", vars.get("$field.ACTIVITYID"))
+                .cell();
+var state = neon.COMPONENTSTATE_INVISIBLE;
+if(count == 1)
+{
+    state = neon.COMPONENTSTATE_EDITABLE;
+}
+result.string(state);
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/advertisingitems/stateProcess.js b/entity/Activity_entity/entityfields/advertisingitems/stateProcess.js
index bf20bd9d449cda0018605c006d5faf53e8ae1fab..faf1a7f15caebcef28fa56bf0ed69d76d95c999e 100644
--- a/entity/Activity_entity/entityfields/advertisingitems/stateProcess.js
+++ b/entity/Activity_entity/entityfields/advertisingitems/stateProcess.js
@@ -1,28 +1,15 @@
-import("Util_lib");
-import("system.entities");
+import("Sql_lib");
+import("system.neon");
 import("system.vars");
 import("system.result");
-import("KeywordRegistry_basic");
-import("system.neon");
 
+var count = new SqlBuilder().selectCount()
+                .from("ADVERTISING")
+                .where("ADVERTISING.OBJECT_ROWID", vars.get("$field.ACTIVITYID"))
+                .cell();
 var state = neon.COMPONENTSTATE_INVISIBLE;
-if(Utils.toBoolean(vars.get("$field.hasAdvertising")))
+if(count == 1)
 {
-    //only when there is a advertising we can load it
-    var conf = entities.createConfigForLoadingConsumerRows(); 
-    conf.consumer("AdvertisingInformationConsumer"); 
-    conf.fields(["STATUS"]); 
-    
-    var adv = entities.getRows(conf); 
-    
-    if(adv[0]["STATUS"] ==  $KeywordRegistry.advertisingStatus$Open())
-    {
-        state = neon.COMPONENTSTATE_EDITABLE;
-    }
-    else 
-    {
-        state = neon.COMPONENTSTATE_READONLY;
-    }   
+    state = neon.COMPONENTSTATE_EDITABLE;
 }
-
 result.string(state);
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/hasadvertising/stateProcess.js b/entity/Activity_entity/entityfields/hasadvertising/stateProcess.js
index 833c6571b241e79b6d92e1ba55daf8b222ec22e6..bd62615a891343f3c4bf77ad4d9454a74be2d154 100644
--- a/entity/Activity_entity/entityfields/hasadvertising/stateProcess.js
+++ b/entity/Activity_entity/entityfields/hasadvertising/stateProcess.js
@@ -4,11 +4,11 @@ import("system.vars");
 
 var ret = neon.COMPONENTSTATE_INVISIBLE;
 
-if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW )
+if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
 {
     ret = neon.COMPONENTSTATE_EDITABLE;
 }
-else if(vars.get("$this.value") > 0)
+else if(vars.get("$field.hasAdvertising") > 0)
 {
     ret = neon.COMPONENTSTATE_READONLY;
 }
diff --git a/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js b/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js
index da81698953407451e218b925b56b031ba3b2a4c1..c6ea91ecd1d6cef3113e7db772e506a53299d23c 100644
--- a/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js
+++ b/entity/Activity_entity/entityfields/hasadvertising/valueProcess.js
@@ -1,8 +1,7 @@
-import("system.vars");
-import("system.neon");
 import("system.result");
-import("system.entities");
-
+import("system.neon");
+import("system.vars");
+import("Sql_lib");
 
 if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
 {
@@ -13,10 +12,10 @@ if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
 }
 else if(vars.get("$field.ACTIVITYID"))
 { 
-    var conf = entities.createConfigForLoadingRows();
-    conf.entity("Advertising_entity");
-    conf.addParameter("RowId_param", vars.get("$field.ACTIVITYID"));
-    conf.fields(["ADVERTISINGID"]);
+    var count = new SqlBuilder().selectCount()
+                .from("ADVERTISING")
+                .where("ADVERTISING.OBJECT_ROWID", "ACTIVITY.ACTIVITYID")
+                .toString()
 
-    result.string( entities.getRowCount(conf));
+    result.string(count);
 }
diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/advertising_id.value/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/advertising_id.value/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..0c8efa230f48c6831c51cac80d0c468f42c75dc4
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/advertising_id.value/expression.js
@@ -0,0 +1,7 @@
+import("Sql_lib");
+import("system.result");
+
+result.string(newSelect("ADVERTISING.ADVERTISINGID")
+                .from("ADVERTISING")
+                .where("ADVERTISING.OBJECT_ROWID = ACTIVITY.ACTIVITYID")
+                .toString());
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/hasadvertising.value/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/hasadvertising.value/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..d39b97d73f406c1f3986211141138f360f6c07ca
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/hasadvertising.value/expression.js
@@ -0,0 +1,7 @@
+import("Sql_lib");
+import("system.result");
+
+result.string(new SqlBuilder().selectCount()
+                .from("ADVERTISING")
+                .where("ADVERTISING.OBJECT_ROWID", "ACTIVITY.ACTIVITYID")
+                .toString());
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/AdvertisingItem_entity.aod b/entity/AdvertisingItem_entity/AdvertisingItem_entity.aod
index 668e449727fafa0879e8e29bf6318fc7a3f62071..aa1f2ac81227ebcf9ecfaa9bc41cb95b15674ec6 100644
--- a/entity/AdvertisingItem_entity/AdvertisingItem_entity.aod
+++ b/entity/AdvertisingItem_entity/AdvertisingItem_entity.aod
@@ -4,6 +4,7 @@
   <title>Advertising item</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/AdvertisingItem_entity/documentation.adoc</documentation>
+  <iconId>VAADIN:PACKAGE</iconId>
   <titlePlural>Advertising items</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
@@ -11,7 +12,7 @@
       <name>#PROVIDER</name>
     </entityProvider>
     <entityField>
-      <name>ACTUALAMOUNT</name>
+      <name>actualAmount</name>
       <title>Actual amount</title>
       <contentType>NUMBER</contentType>
       <outputFormat>#,##0.00</outputFormat>
@@ -37,10 +38,9 @@
       <displayValueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/delivery/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
-      <name>FREE</name>
-      <title>Free</title>
+      <name>free</name>
+      <title>${FREE}</title>
       <contentType>BOOLEAN</contentType>
-      <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/free/valueProcess.js</valueProcess>
       <onValueChange>%aditoprj%/entity/AdvertisingItem_entity/entityfields/free/onValueChange.js</onValueChange>
     </entityField>
@@ -73,6 +73,7 @@
       <name>PRODUCT_ID</name>
       <title>Product</title>
       <consumer>Products</consumer>
+      <mandatory v="true" />
       <stateProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/stateProcess.js</stateProcess>
       <displayValueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/AdvertisingItem_entity/entityfields/product_id/onValueChange.js</onValueChange>
@@ -156,7 +157,7 @@
       <expose v="true" />
     </entityParameter>
     <entityField>
-      <name>ContactId</name>
+      <name>contactId</name>
       <title>Person</title>
       <state>READONLY</state>
       <valueProcess>%aditoprj%/entity/AdvertisingItem_entity/entityfields/contactid/valueProcess.js</valueProcess>
@@ -230,13 +231,14 @@
   <recordContainers>
     <dbRecordContainer>
       <name>db</name>
+      <fromClauseProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
       <conditionProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <orderClauseProcess>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
       <alias>Data_alias</alias>
       <recordFieldMappings>
         <dbRecordFieldMapping>
-          <name>ACTUALAMOUNT.value</name>
-          <recordfield>ADVERTISINGITEM.ACTUALAMOUNT</recordfield>
+          <name>actualAmount.value</name>
+          <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.value/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>DATE_NEW.value</name>
@@ -247,8 +249,7 @@
           <recordfield>ADVERTISINGITEM.DELIVERY</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>FREE.value</name>
-          <recordfield>ADVERTISINGITEM.FREE</recordfield>
+          <name>free.value</name>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>INFO.value</name>
@@ -299,6 +300,26 @@
           <name>ADVERTISINGITEMID.value</name>
           <recordfield>ADVERTISINGITEM.ADVERTISINGITEMID</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>actualAmount.displayValue</name>
+          <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PRICE.displayValue</name>
+          <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/price.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>TARGETAMOUNT.displayValue</name>
+          <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/targetamount.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>UNIT.displayValue</name>
+          <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/unit.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PRODUCT_ID.displayValue</name>
+          <expression>%aditoprj%/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
       <linkInformation>
         <linkInformation>
diff --git a/entity/AdvertisingItem_entity/entityfields/actualamount/titleProcess.js b/entity/AdvertisingItem_entity/entityfields/actualamount/titleProcess.js
index 372b52c156b61bdf0f8d18d72ec6db62902c06b3..cd701d9cab03895fd84c96c446d85242df961faa 100644
--- a/entity/AdvertisingItem_entity/entityfields/actualamount/titleProcess.js
+++ b/entity/AdvertisingItem_entity/entityfields/actualamount/titleProcess.js
@@ -1,6 +1,5 @@
-import("Advertising_lib");
 import("system.result");
 import("system.vars");
 import("system.translate");
 
-result.string(AdvertisingUtils.getPriceTitleWithCurrency(translate.text("Actual Amount"), vars.get("$param.Currency_param")));
\ No newline at end of file
+result.string(translate.withArguments("Actual Amount in %0", [vars.get("$param.Currency_param")]));
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/entityfields/actualamount/valueProcess.js b/entity/AdvertisingItem_entity/entityfields/actualamount/valueProcess.js
index 29c61d3d4ac545e7d9f2b66eb3e787f527a8a5b2..737b1245b540d60a241f70b4f1ed7576234c76c8 100644
--- a/entity/AdvertisingItem_entity/entityfields/actualamount/valueProcess.js
+++ b/entity/AdvertisingItem_entity/entityfields/actualamount/valueProcess.js
@@ -4,7 +4,7 @@ import("system.vars");
 
 if(vars.get("$field.PRODUCT_ID") && vars.get("$field.PRICE"))
 {
-    var free = vars.get("$field.FREE");
+    var free = vars.get("$field.free");
     var quantity = vars.get("$field.QUANTITY");
     var price = vars.get("$field.PRICE");
 
diff --git a/entity/AdvertisingItem_entity/entityfields/contactid/displayValueProcess.js b/entity/AdvertisingItem_entity/entityfields/contactid/displayValueProcess.js
index f52abea3632db85ae710f51a6a7616796e7fd161..f2ba9b51febfae1952b84f5eb547f55dcd981af9 100644
--- a/entity/AdvertisingItem_entity/entityfields/contactid/displayValueProcess.js
+++ b/entity/AdvertisingItem_entity/entityfields/contactid/displayValueProcess.js
@@ -2,5 +2,5 @@ import("system.result");
 import("system.vars");
 import("Contact_lib");
 
-var title = ContactUtils.getTitleByContactId(vars.get("$field.ContactId"));
+var title = ContactUtils.getTitleByContactId(vars.get("$field.contactId"));
 result.string(title);
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/entityfields/price/stateProcess.js b/entity/AdvertisingItem_entity/entityfields/price/stateProcess.js
index ff4c0f2c4bcfd0cf2656f0675a9edc1e7b47c982..275b3b6d140b066e9ce645abb91f6962b7ef7890 100644
--- a/entity/AdvertisingItem_entity/entityfields/price/stateProcess.js
+++ b/entity/AdvertisingItem_entity/entityfields/price/stateProcess.js
@@ -3,4 +3,4 @@ import("Util_lib");
 import("system.neon");
 import("system.vars");
 
-result.string(Utils.toBoolean(vars.get("$field.FREE")) ? neon.COMPONENTSTATE_READONLY : neon.COMPONENTSTATE_EDITABLE);
\ No newline at end of file
+result.string(Utils.toBoolean(vars.get("$field.free")) ? neon.COMPONENTSTATE_READONLY : neon.COMPONENTSTATE_EDITABLE);
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/entityfields/price/titleProcess.js b/entity/AdvertisingItem_entity/entityfields/price/titleProcess.js
index 4e3e533742ca7c2121f3d818d3cdf9eccf914a50..c410b5945d975ab2ce29495ac5292e8edab3466e 100644
--- a/entity/AdvertisingItem_entity/entityfields/price/titleProcess.js
+++ b/entity/AdvertisingItem_entity/entityfields/price/titleProcess.js
@@ -1,6 +1,5 @@
-import("Advertising_lib");
 import("system.result");
 import("system.vars");
 import("system.translate");
 
-result.string(AdvertisingUtils.getPriceTitleWithCurrency(translate.text("Price"), vars.get("$param.Currency_param")));
\ No newline at end of file
+result.string(translate.withArguments("Price in %0", [vars.get("$param.Currency_param")]));
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/entityfields/targetamount/titleProcess.js b/entity/AdvertisingItem_entity/entityfields/targetamount/titleProcess.js
index 569277fab22008475f2ba1895897e4c9f6e273d6..01045e711f85a2f91b62a75f547fa8f5a05972ff 100644
--- a/entity/AdvertisingItem_entity/entityfields/targetamount/titleProcess.js
+++ b/entity/AdvertisingItem_entity/entityfields/targetamount/titleProcess.js
@@ -1,6 +1,5 @@
-import("Advertising_lib");
 import("system.result");
 import("system.vars");
 import("system.translate");
 
-result.string(AdvertisingUtils.getPriceTitleWithCurrency(translate.text("Target Amount"), vars.get("$param.Currency_param")));
\ No newline at end of file
+result.string(translate.withArguments("Target Amount in %0", [vars.get("$param.Currency_param")]));
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js b/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js
index 91c684838bc3b41500ee75c5eb81467964cd3f51..f5d1110f049ea45956843c6b7ee8b680b4ebeed6 100644
--- a/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/AdvertisingItem_entity/recordcontainers/db/conditionProcess.js
@@ -13,7 +13,7 @@ if(vars.exists("$param.AdvertisingId_param") && vars.get("$param.AdvertisingId_p
 if(vars.exists("$param.RowId_param") && vars.get("$param.RowId_param"))
 {
     var advSubselect = newSelect("ADVERTISING.ADVERTISINGID")
-    .from("ADVERTISING").where("ADVERTISING.ROW_ID", vars.getString("$param.RowId_param"), SqlBuilder.EQUAL());
+    .from("ADVERTISING").where("ADVERTISING.OBJECT_ROWID", vars.getString("$param.RowId_param"), SqlBuilder.EQUAL());
     
     cond.andIfSet("ADVERTISINGITEM.ADVERTISING_ID", advSubselect, SqlBuilder.EQUAL());
 }
diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/fromClauseProcess.js b/entity/AdvertisingItem_entity/recordcontainers/db/fromClauseProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..1be8c9f2d04ceed21d2ab722a1b5f5d97c242777
--- /dev/null
+++ b/entity/AdvertisingItem_entity/recordcontainers/db/fromClauseProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Sql_lib");
+
+result.string(new SqlBuilder()
+    .from("ADVERTISINGITEM")
+    .join("ADVERTISING", "ADVERTISING.ADVERTISINGID = ADVERTISINGITEM.ADVERTISING_ID").toString());
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..218041fd579470a70141909b22cd2fcf7662c48a
--- /dev/null
+++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.SQLTYPES");
+import("system.result");
+import("Sql_lib");
+
+var sqlHelper = new SqlMaskingUtils();
+result.string(sqlHelper.concatenate([sqlHelper.cast(sqlHelper.cast("ADVERTISINGITEM.PRICE*ADVERTISINGITEM.QUANTITY", SQLTYPES.DECIMAL, [30, 2]), SQLTYPES.VARCHAR, 20), "' '", sqlHelper.cast("ADVERTISING.CURRENCY", SQLTYPES.VARCHAR, 20)]))
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.value/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.value/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..eeffab69911b222239b13cb1e2524412054dd892
--- /dev/null
+++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/actualamount.value/expression.js
@@ -0,0 +1,6 @@
+import("system.SQLTYPES");
+import("system.result");
+import("Sql_lib");
+
+var sqlHelper = new SqlMaskingUtils();
+result.string(sqlHelper.cast("ADVERTISINGITEM.PRICE*ADVERTISINGITEM.QUANTITY", SQLTYPES.DECIMAL, [30, 2]))
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/price.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/price.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..8188354b06a5552d2c820ebb0bfa896a201a062b
--- /dev/null
+++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/price.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.SQLTYPES");
+import("system.result");
+import("Sql_lib");
+
+var sqlHelper = new SqlMaskingUtils();
+result.string(sqlHelper.concatenate([sqlHelper.cast("ADVERTISINGITEM.PRICE", SQLTYPES.VARCHAR, 20), "' '", sqlHelper.cast("ADVERTISING.CURRENCY", SQLTYPES.VARCHAR, 20)]))
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..c3affdfee4c46dd197d303f0ef5df1c5ec19119f
--- /dev/null
+++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/product_id.displayvalue/expression.js
@@ -0,0 +1,8 @@
+import("system.vars");
+import("system.result");
+import("Sql_lib");
+
+result.string(newSelect("PRODUCT.PRODUCTNAME")
+                        .from("PRODUCT")
+                        .where("ADVERTISINGITEM.PRODUCT_ID = PRODUCT.PRODUCTID")
+                        .toString());
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/targetamount.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/targetamount.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..74f23bb6db02038e79bab42403515d729fd6b1ba
--- /dev/null
+++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/targetamount.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.SQLTYPES");
+import("system.result");
+import("Sql_lib");
+
+var sqlHelper = new SqlMaskingUtils();
+result.string(sqlHelper.concatenate([sqlHelper.cast("ADVERTISINGITEM.TARGETAMOUNT", SQLTYPES.VARCHAR, 20), "' '", sqlHelper.cast("ADVERTISING.CURRENCY", SQLTYPES.VARCHAR, 20)]))
\ No newline at end of file
diff --git a/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/unit.displayvalue/expression.js b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/unit.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..a9650714de8e5b246115dc74cd1bef902a6c69b7
--- /dev/null
+++ b/entity/AdvertisingItem_entity/recordcontainers/db/recordfieldmappings/unit.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.quantityUnit(), "ADVERTISINGITEM.UNIT");
+result.string(sql);
diff --git a/entity/Advertising_entity/Advertising_entity.aod b/entity/Advertising_entity/Advertising_entity.aod
index 89b24090e6046f658200acd49581a1053ac167a3..a2e6c6eddca3ad9d6741217785478f9ffa694bcd 100644
--- a/entity/Advertising_entity/Advertising_entity.aod
+++ b/entity/Advertising_entity/Advertising_entity.aod
@@ -4,7 +4,8 @@
   <title>Advertising material</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Advertising_entity/documentation.adoc</documentation>
-  <grantCreate v="false" />
+  <icon>VAADIN:PACKAGE</icon>
+  <grantCreate v="true" />
   <contentTitleProcess>%aditoprj%/entity/Advertising_entity/contentTitleProcess.js</contentTitleProcess>
   <contentDescriptionProcess>%aditoprj%/entity/Advertising_entity/contentDescriptionProcess.js</contentDescriptionProcess>
   <iconId>VAADIN:PACKAGE</iconId>
@@ -46,11 +47,12 @@
       <displayValueProcess>%aditoprj%/entity/Advertising_entity/entityfields/responsible_id/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
-      <name>ROW_ID</name>
+      <name>OBJECT_ROWID</name>
       <title>{$OBJECTLINK_OBJECT}</title>
       <consumer>Objects</consumer>
-      <linkedContextProcess>%aditoprj%/entity/Advertising_entity/entityfields/row_id/linkedContextProcess.js</linkedContextProcess>
-      <displayValueProcess>%aditoprj%/entity/Advertising_entity/entityfields/row_id/displayValueProcess.js</displayValueProcess>
+      <linkedContextProcess>%aditoprj%/entity/Advertising_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess>
+      <titleProcess>%aditoprj%/entity/Advertising_entity/entityfields/object_rowid/titleProcess.js</titleProcess>
+      <displayValueProcess>%aditoprj%/entity/Advertising_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityProvider>
       <name>#PROVIDER_AGGREGATES</name>
@@ -198,6 +200,47 @@
       <stateProcess>%aditoprj%/entity/Advertising_entity/entityfields/newmail/stateProcess.js</stateProcess>
       <tooltip>Send digital Advertising materials &amp; complete Workflow Task</tooltip>
     </entityActionField>
+    <entityField>
+      <name>USER_EDIT</name>
+      <title>USER_EDIT</title>
+      <valueProcess>%aditoprj%/entity/Advertising_entity/entityfields/user_edit/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>USER_NEW</name>
+      <title>USER_NEW</title>
+      <valueProcess>%aditoprj%/entity/Advertising_entity/entityfields/user_new/valueProcess.js</valueProcess>
+    </entityField>
+    <entityActionField>
+      <name>openAdminView</name>
+      <title>Open admin view</title>
+      <onActionProcess>%aditoprj%/entity/Advertising_entity/entityfields/openadminview/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:CURLY_BRACKETS</iconId>
+      <stateProcess>%aditoprj%/entity/Advertising_entity/entityfields/openadminview/stateProcess.js</stateProcess>
+    </entityActionField>
+    <entityParameter>
+      <name>IsInsertAdvertising_param</name>
+      <expose v="true" />
+      <documentation>%aditoprj%/entity/Advertising_entity/entityfields/isinsertadvertising_param/documentation.adoc</documentation>
+      <description></description>
+    </entityParameter>
+    <entityParameter>
+      <name>ObjectType_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityConsumer>
+      <name>LogHistories</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>LogHistory_entity</entityName>
+        <fieldName>LogHistoryProvider</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>tablenames_param</name>
+          <valueProcess>%aditoprj%/entity/Advertising_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -213,10 +256,12 @@
         <dbRecordFieldMapping>
           <name>CONTACT_ID.value</name>
           <recordfield>ADVERTISING.CONTACT_ID</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CURRENCY.value</name>
           <recordfield>ADVERTISING.CURRENCY</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>OBJECT_TYPE.value</name>
@@ -225,14 +270,16 @@
         <dbRecordFieldMapping>
           <name>RESPONSIBLE_ID.value</name>
           <recordfield>ADVERTISING.RESPONSIBLE_ID</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>ROW_ID.value</name>
-          <recordfield>ADVERTISING.ROW_ID</recordfield>
+          <name>OBJECT_ROWID.value</name>
+          <recordfield>ADVERTISING.OBJECT_ROWID</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>STATUS.value</name>
           <recordfield>ADVERTISING.STATUS</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>ACTIVE.value</name>
@@ -246,10 +293,44 @@
           <name>DATE_EDIT.value</name>
           <recordfield>ADVERTISING.DATE_EDIT</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STATUS.displayValue</name>
+          <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CURRENCY.displayValue</name>
+          <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>RESPONSIBLE_ID.displayValue</name>
+          <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/responsible_id.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTACT_ID.displayValue</name>
+          <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_EDIT.value</name>
+          <recordfield>ADVERTISING.USER_EDIT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_NEW.value</name>
+          <recordfield>ADVERTISING.USER_NEW</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>countItems.value</name>
+          <expression>%aditoprj%/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/countitems.value/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>countItems.displayValue</name>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>OBJECT_ROWID.displayValue</name>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
       <linkInformation>
         <linkInformation>
-          <name>fc2ebd14-8a58-4c97-8bac-15db1f073445</name>
+          <name>f0bfd671-33ec-4106-b89e-5e2b198ec987</name>
           <tableName>ADVERTISING</tableName>
           <primaryKey>ADVERTISINGID</primaryKey>
           <isUIDTable v="true" />
diff --git a/entity/Advertising_entity/entityfields/contactids_param/valueProcess.js b/entity/Advertising_entity/entityfields/contactids_param/valueProcess.js
index 9d60d178475638345dfc3cb5891db6a8c8a433d9..64d594152f58c3c9df09678b4ff49c88450f9183 100644
--- a/entity/Advertising_entity/entityfields/contactids_param/valueProcess.js
+++ b/entity/Advertising_entity/entityfields/contactids_param/valueProcess.js
@@ -1,27 +1,16 @@
-import("system.entities");
+import("Sql_lib");
 import("system.result");
 import("system.neon");
 import("system.vars");
 
 //when not set yet, especially when directly in advertising there should be also only the linked person selectable
-if(!vars.get("$param.ContactIds_param"))
+if(!vars.get("$param.ContactIds_param") && vars.get("$param.ObjectType_param") == "Activity")
 {
-    var contactIds = [];
-    var conf = entities.createConfigForLoadingRows(); 
-    conf.entity("ActivityLink_entity")
-    conf.addParameter("ActivityId_param", vars.get("$field.ROW_ID"));
-    conf.fields(["OBJECT_TYPE", "OBJECT_ROWID"]); 
+    var contactIds = newSelect("ACTIVITYLINK.OBJECT_ROWID")
+                                .from("ACTIVITYLINK")
+                                .where("ACTIVITYLINK.OBJECT_TYPE", "Person")
+                                .and("ACTIVITYLINK.ACTIVITY_ID", vars.get("$param.RowId_param"))
+                                .arrayColumn();
 
-    var links = entities.getRows(conf);
-    
-    //only Persons can be linked to an Advertising
-    links.forEach(function(link)
-    {
-        if(link["OBJECT_TYPE"] == "Person")
-        {
-            contactIds.push( link["OBJECT_ROWID"]);
-        }
-    });
-
-    result.string(JSON.stringify(contactIds));
+    result.string(contactIds);
 }
\ No newline at end of file
diff --git a/entity/Advertising_entity/entityfields/countitems/valueProcess.js b/entity/Advertising_entity/entityfields/countitems/valueProcess.js
index 21765b080a5505cbfb88a888afebeb64670e8b27..a52aabc35466797923b210909b562ebea203b7f4 100644
--- a/entity/Advertising_entity/entityfields/countitems/valueProcess.js
+++ b/entity/Advertising_entity/entityfields/countitems/valueProcess.js
@@ -1,9 +1,10 @@
+import("Sql_lib");
 import("system.result");
 import("system.vars");
-import("system.entities");
 
-var conf = entities.createConfigForLoadingRows()
-.entity("AdvertisingItem_entity")
-.addParameter("AdvertisingId_param", vars.get("$field.ADVERTISINGID"));
-
-result.string(entities.getRowCount(conf));
\ No newline at end of file
+var count = new SqlBuilder().selectCount()
+                .from("ADVERTISINGITEM")
+                .where("ADVERTISINGITEM.ADVERTISING_ID", vars.get("$field.ADVERTISINGID"))
+                .cell();
+                
+result.string(count);
\ No newline at end of file
diff --git a/entity/Advertising_entity/entityfields/isinsertadvertising_param/documentation.adoc b/entity/Advertising_entity/entityfields/isinsertadvertising_param/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..be7781be8073a7dcb89f45c66fc6924b7fd7375e
--- /dev/null
+++ b/entity/Advertising_entity/entityfields/isinsertadvertising_param/documentation.adoc
@@ -0,0 +1,2 @@
+== IsIntertAdvertising_param
+Needed so we can use writeEntity in AdvertisingUtils.insertAdvertising() while still disabling creating records for the user
\ No newline at end of file
diff --git a/entity/Advertising_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js b/entity/Advertising_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..bdb5d71eb187577003e548bae0fa1e207afb2290
--- /dev/null
+++ b/entity/Advertising_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -0,0 +1,10 @@
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [];
+res.push({id: vars.get("$field.ADVERTISINGID"), tableNames: ["ADVERTISINGITEM"]});
+res.push({id: vars.get("$field.ADVERTISINGID"), tableNames: ["ADVERTISING"]});
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
+result.object(res);
\ No newline at end of file
diff --git a/entity/Advertising_entity/entityfields/row_id/displayValueProcess.js b/entity/Advertising_entity/entityfields/object_rowid/displayValueProcess.js
similarity index 60%
rename from entity/Advertising_entity/entityfields/row_id/displayValueProcess.js
rename to entity/Advertising_entity/entityfields/object_rowid/displayValueProcess.js
index ffa37a003544be12db61a09266ff073f4ed6bd7d..143dfb0ed1928f680355412396f251409fe9812f 100644
--- a/entity/Advertising_entity/entityfields/row_id/displayValueProcess.js
+++ b/entity/Advertising_entity/entityfields/object_rowid/displayValueProcess.js
@@ -3,9 +3,10 @@ import("system.vars");
 import("system.result");
 import("Context_lib");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.ROW_ID"))
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.OBJECT_ROWID"))
 {
     result.string("");
-} else if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) {
-    result.string(ContextUtils.getTitleByContext(vars.get("$field.OBJECT_TYPE"), vars.get("$field.ROW_ID")));
+}
+else if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) {
+    result.string(ContextUtils.getTitleByContext(vars.get("$field.OBJECT_TYPE"), vars.get("$field.OBJECT_ROWID")));
 }
\ No newline at end of file
diff --git a/entity/Advertising_entity/entityfields/row_id/linkedContextProcess.js b/entity/Advertising_entity/entityfields/object_rowid/linkedContextProcess.js
similarity index 100%
rename from entity/Advertising_entity/entityfields/row_id/linkedContextProcess.js
rename to entity/Advertising_entity/entityfields/object_rowid/linkedContextProcess.js
diff --git a/entity/Advertising_entity/entityfields/object_rowid/titleProcess.js b/entity/Advertising_entity/entityfields/object_rowid/titleProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..049db9efd334270b3f20b4b0c1d6333ec261ea88
--- /dev/null
+++ b/entity/Advertising_entity/entityfields/object_rowid/titleProcess.js
@@ -0,0 +1,9 @@
+import("system.translate");
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE"))
+{
+    result.string(translate.text(vars.get("$field.OBJECT_TYPE")));
+}
\ No newline at end of file
diff --git a/entity/Advertising_entity/entityfields/openadminview/onActionProcess.js b/entity/Advertising_entity/entityfields/openadminview/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..fe41288c81d901a0a8c8e0f01daa57ca92359b84
--- /dev/null
+++ b/entity/Advertising_entity/entityfields/openadminview/onActionProcess.js
@@ -0,0 +1,9 @@
+import("system.vars");
+import("Context_lib");
+
+AdminViewUtils.open("ADVERTISING", [
+    ["DATE_NEW", vars.get("$field.DATE_NEW"), "DATE"],
+    ["DATE_EDIT", vars.get("$field.DATE_EDIT"), "DATE"],
+    ["USER_NEW", vars.get("$field.USER_NEW")],
+    ["USER_EDIT", vars.get("$field.USER_EDIT")]
+]);
\ No newline at end of file
diff --git a/entity/Advertising_entity/entityfields/openadminview/stateProcess.js b/entity/Advertising_entity/entityfields/openadminview/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..38f2298db7304b4d44a15fbad7f720558c02da99
--- /dev/null
+++ b/entity/Advertising_entity/entityfields/openadminview/stateProcess.js
@@ -0,0 +1,4 @@
+import("Context_lib");
+import("system.result");
+
+result.string(AdminViewUtils.getActionState());
\ No newline at end of file
diff --git a/entity/Advertising_entity/entityfields/personconsumer/children/onlyshowcontactids_param/valueProcess.js b/entity/Advertising_entity/entityfields/personconsumer/children/onlyshowcontactids_param/valueProcess.js
index d6e48343fadc850bc90790757898cb079046e5de..7f49719213524964f5a67d6f33d125637f330200 100644
--- a/entity/Advertising_entity/entityfields/personconsumer/children/onlyshowcontactids_param/valueProcess.js
+++ b/entity/Advertising_entity/entityfields/personconsumer/children/onlyshowcontactids_param/valueProcess.js
@@ -1,9 +1,18 @@
+import("Sql_lib");
 import("system.result");
 import("system.vars");
 
-
-//check if we have to restrict the working mode...
-if(vars.exists("$param.ContactIds_param") && vars.get("$param.ContactIds_param"))
+var contactIds = [];
+if(vars.get("$param.ObjectType_param") == "Activity")
+{
+    contactIds = newSelect("ACTIVITYLINK.OBJECT_ROWID")
+                                .from("ACTIVITYLINK")
+                                .where("ACTIVITYLINK.OBJECT_TYPE", "Person")
+                                .and("ACTIVITYLINK.ACTIVITY_ID", vars.get("$param.RowId_param"))
+                                .arrayColumn();
+}
+//when not set yet, especially when directly in advertising there should be also only the linked person selectable
+if(contactIds.length > 0)
 {
-   result.string(vars.get("$param.ContactIds_param"));
+   result.string(JSON.stringify(contactIds));
 }
\ No newline at end of file
diff --git a/entity/Advertising_entity/entityfields/user_edit/valueProcess.js b/entity/Advertising_entity/entityfields/user_edit/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..8ce6b9bd703ac2ba5630b0c2bdd4997569766fc4
--- /dev/null
+++ b/entity/Advertising_entity/entityfields/user_edit/valueProcess.js
@@ -0,0 +1,9 @@
+import("system.util");
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
+{
+    result.string(vars.get("$sys.user"));
+}
\ No newline at end of file
diff --git a/entity/Advertising_entity/entityfields/user_new/valueProcess.js b/entity/Advertising_entity/entityfields/user_new/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..a37ddaebdc822c822207fb290eeee9291e7a1b40
--- /dev/null
+++ b/entity/Advertising_entity/entityfields/user_new/valueProcess.js
@@ -0,0 +1,9 @@
+import("system.util");
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+{
+    result.string(vars.get("$sys.user"));
+}
\ No newline at end of file
diff --git a/entity/Advertising_entity/recordcontainers/db/conditionProcess.js b/entity/Advertising_entity/recordcontainers/db/conditionProcess.js
index 61616bf1cb4d788a2a759fed05e26e12b6c7fc74..d6915997ea205ee84c662b2abd53865d605509c2 100644
--- a/entity/Advertising_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Advertising_entity/recordcontainers/db/conditionProcess.js
@@ -4,9 +4,6 @@ import("Sql_lib");
 
 var cond = newWhere();
 
-if(vars.exists("$param.RowId_param") && vars.get("$param.RowId_param"))
-{
-        cond.andIfSet("advertising.ROW_ID", vars.getString("$param.RowId_param"), SqlBuilder.EQUAL()); 
-}
+cond.andIfSet("ADVERTISING.OBJECT_ROWID", vars.getString("$param.RowId_param"), SqlBuilder.EQUAL()); 
 
 result.string(cond.toString());
\ No newline at end of file
diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..e6b609c1fc27ba9f613f00d757d38d0aa240249c
--- /dev/null
+++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Person_lib");
+
+result.string(PersUtils.getResolvingDisplaySubSql("CONTACT_ID"));
\ No newline at end of file
diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/countitems.value/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/countitems.value/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..4ca684e515210500d1bd4d035f94d27d71cb2a92
--- /dev/null
+++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/countitems.value/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Sql_lib");
+
+result.string(new SqlBuilder().selectCount()
+                .from("ADVERTISINGITEM")
+                .where("ADVERTISINGITEM.ADVERTISING_ID = ADVERTISING.ADVERTISINGID").toString());
\ No newline at end of file
diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..f51da263f1cd32d2947b92a27012ea3bd048b3d5
--- /dev/null
+++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/currency.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.currency(), "ADVERTISING.CURRENCY");
+result.string(sql);
\ No newline at end of file
diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/responsible_id.displayvalue/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/responsible_id.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..f024ed18453679cb97c900f30f0354b8c91ffe1c
--- /dev/null
+++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/responsible_id.displayvalue/expression.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Person_lib");
+
+result.string(PersUtils.getResolvingDisplaySubSql("RESPONSIBLE_ID"));
\ No newline at end of file
diff --git a/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..8ae0b3f521dc7b4579bc0ccde37ddcd9ec725528
--- /dev/null
+++ b/entity/Advertising_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.advertisingStatus(), "ADVERTISING.STATUS");
+result.string(sql);
diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index 04d2525d81bcfba0712a4c5e00d76d89d72a98e1..5c71823a29dcd605c022b835bbef23f6979df02f 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -41,8 +41,7 @@
     <entityField>
       <name>ADVERTISING</name>
       <title>Advertising material</title>
-      <contentType>TEXT</contentType>
-      <dropDownProcess>%aditoprj%/entity/Product_entity/entityfields/advertising/dropDownProcess.js</dropDownProcess>
+      <contentType>BOOLEAN</contentType>
       <valueProcess>%aditoprj%/entity/Product_entity/entityfields/advertising/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
@@ -538,7 +537,6 @@
       <name>DIGITAL</name>
       <title>Digital</title>
       <contentType>BOOLEAN</contentType>
-      <stateProcess>%aditoprj%/entity/Product_entity/entityfields/digital/stateProcess.js</stateProcess>
     </entityField>
     <entityParameter>
       <name>AdvertisingProducts_param</name>
diff --git a/entity/Product_entity/entityfields/advertising/dropDownProcess.js b/entity/Product_entity/entityfields/advertising/dropDownProcess.js
deleted file mode 100644
index a3de7af1049c76fa7f5d88af79c5b06882612d0f..0000000000000000000000000000000000000000
--- a/entity/Product_entity/entityfields/advertising/dropDownProcess.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.translate");
-import("system.result");
-
-result.object([
-     ["Y", translate.text("Yes")]
-    ,["N", translate.text("No")]
-]);
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/advertising/valueProcess.js b/entity/Product_entity/entityfields/advertising/valueProcess.js
index 7c6048262cc428fd3a8fba1b535287b0747e669b..801a9cf46f6d06604ab06e1a2de3086dd3fd4be4 100644
--- a/entity/Product_entity/entityfields/advertising/valueProcess.js
+++ b/entity/Product_entity/entityfields/advertising/valueProcess.js
@@ -2,5 +2,7 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
-    result.string("N");
\ No newline at end of file
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value"))
+{
+    result.string("1");
+}
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/digital/stateProcess.js b/entity/Product_entity/entityfields/digital/stateProcess.js
deleted file mode 100644
index a3c48311cd55a3aa953ade08d6d30eedc3e3964c..0000000000000000000000000000000000000000
--- a/entity/Product_entity/entityfields/digital/stateProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.neon");
-import("system.vars");
-import("system.result");
-
-result.string(vars.get("$field.ADVERTISING") == "Y" ? neon.COMPONENTSTATE_EDITABLE : neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/digitaladvertisingdocuments/stateProcess.js b/entity/Product_entity/entityfields/digitaladvertisingdocuments/stateProcess.js
index 5972c08198d84d4befd0840a3ffe3bc6e50322ff..0d5c6be77505f4819dc8983ab0d5f20e1e40a553 100644
--- a/entity/Product_entity/entityfields/digitaladvertisingdocuments/stateProcess.js
+++ b/entity/Product_entity/entityfields/digitaladvertisingdocuments/stateProcess.js
@@ -5,7 +5,7 @@ import("system.neon");
 
 var ret = neon.COMPONENTSTATE_INVISIBLE;
 
-if(Utils.toBoolean(vars.get("$field.ADVERTISING") == "Y" && vars.get("$field.DIGITAL")))
+if(Utils.toBoolean(vars.get("$field.ADVERTISING")) && vars.get("$field.DIGITAL"))
 {
     ret = neon.COMPONENTSTATE_EDITABLE;
 }
diff --git a/entity/Product_entity/entityfields/documents/stateProcess.js b/entity/Product_entity/entityfields/documents/stateProcess.js
index d885b0520747da465a1ba022ab559d3cdc178a0b..14678836fcab108dfa73ad68c9f63d1393a7ea6f 100644
--- a/entity/Product_entity/entityfields/documents/stateProcess.js
+++ b/entity/Product_entity/entityfields/documents/stateProcess.js
@@ -6,7 +6,7 @@ import("system.neon");
 var ret = neon.COMPONENTSTATE_EDITABLE;
 //disabling the 'normal' Documentfolder when the product is a digital advertisingmaterial the second document component 
 //will be enabled in reason there will be a keyword preselected so that digital Advertising Documents can be identified easier
-if(Utils.toBoolean(vars.get("$field.ADVERTISING") == "Y" && vars.get("$field.DIGITAL")))
+if(Utils.toBoolean(vars.get("$field.ADVERTISING")) && vars.get("$field.DIGITAL"))
 {
     ret = neon.COMPONENTSTATE_INVISIBLE;
 }
diff --git a/entity/Product_entity/recordcontainers/db/conditionProcess.js b/entity/Product_entity/recordcontainers/db/conditionProcess.js
index 8a3a4bf9287fc6c1ce31aa671db428bc61358123..91feee1edd1ea417460212391566e50c08baa911 100644
--- a/entity/Product_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Product_entity/recordcontainers/db/conditionProcess.js
@@ -19,6 +19,6 @@ if (vars.exists("$param.ExcludedProducts_param") && vars.get("$param.ExcludedPro
 
 if(vars.exists("$param.AdvertisingProducts_param") && vars.get("$param.AdvertisingProducts_param"))
 {
-    productCond.andIfSet("PRODUCT.ADVERTISING", "Y", SqlBuilder.EQUAL());
+    productCond.andIfSet("PRODUCT.ADVERTISING", "1", SqlBuilder.EQUAL());
 }
 result.string(productCond.toString());
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 82e8891993439553f731341e1745980c2d51d724..09e836d4a1c3f4ad82ee7a787fbf977673b70e01 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -10321,6 +10321,18 @@
     <entry>
       <key>TIFF Image</key>
     </entry>
+    <entry>
+      <key>${FREE}</key>
+    </entry>
+    <entry>
+      <key>Target Amount in %0</key>
+    </entry>
+    <entry>
+      <key>Price in %0</key>
+    </entry>
+    <entry>
+      <key>Actual Amount in %0</key>
+    </entry>
     <entry>
       <key>OpenDocument Chart</key>
     </entry>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 15fdd1a08fb1f8d40dbf30fff1faa433d58cd864..2751e87f9046b70486aee5c950f9dcfd533f40f4 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -698,7 +698,7 @@
     </entry>
     <entry>
       <key>Advertising item</key>
-      <value>Werbemittelposition</value>
+      <value>Werbemittelposten</value>
     </entry>
     <entry>
       <key>Distribution list</key>
@@ -808,6 +808,10 @@
       <key>${CONDITION}</key>
       <value>Bedingung</value>
     </entry>
+    <entry>
+      <key>${FREE}</key>
+      <value>Kostenlos</value>
+    </entry>
     <entry>
       <key>License</key>
       <value>Lizenz</value>
@@ -1140,6 +1144,18 @@
       <key>Target amount</key>
       <value>Soll Betrag</value>
     </entry>
+    <entry>
+      <key>Actual Amount in %0</key>
+      <value>Ist Betrag in %0</value>
+    </entry>
+    <entry>
+      <key>Target Amount in %0</key>
+      <value>Soll Betrag in %0</value>
+    </entry>
+    <entry>
+      <key>Price in %0</key>
+      <value>Preis in %0</value>
+    </entry>
     <entry>
       <key>Priority</key>
       <value>Priorität</value>
@@ -1433,7 +1449,7 @@
     </entry>
     <entry>
       <key>Advertising items</key>
-      <value>Werbemittelpositionen</value>
+      <value>Werbemittelposten</value>
     </entry>
     <entry>
       <key>SqlBuilder must contain a select clause!</key>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 61e063af63ac21f49795468123e9313a228207bb..b9beadd214116a423d107856866cce8140fd63ba 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -35,6 +35,10 @@
       <key>${CHECK SALESPROJECT \"%0\"}</key>
       <value>check status sales project \"%0\</value>
     </entry>
+    <entry>
+      <key>${FREE}</key>
+      <value>Free</value>
+    </entry>
     <entry>
       <key>Male</key>
     </entry>
@@ -9444,6 +9448,15 @@
     <entry>
       <key>Tar Archive</key>
     </entry>
+    <entry>
+      <key>Target Amount in %0</key>
+    </entry>
+    <entry>
+      <key>Price in %0</key>
+    </entry>
+    <entry>
+      <key>Actual Amount in %0</key>
+    </entry>
     <entry>
       <key>TIFF Image</key>
     </entry>
diff --git a/neonView/ActivityPreview_view/ActivityPreview_view.aod b/neonView/ActivityPreview_view/ActivityPreview_view.aod
index eb0662c53e5fa9c46e2fdaf3c1630de47ff94199..4785043eb23666ff7c2988a775d9664fc6698dd8 100644
--- a/neonView/ActivityPreview_view/ActivityPreview_view.aod
+++ b/neonView/ActivityPreview_view/ActivityPreview_view.aod
@@ -35,6 +35,10 @@
           <name>c4569e50-223e-4b99-8253-e8fa72ef45a0</name>
           <entityField>RESPONSIBLE</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>20c3373a-41e5-4680-b9bb-8b8012ca0d18</name>
+          <entityField>advertising_id</entityField>
+        </entityFieldLink>
       </fields>
     </genericViewTemplate>
     <neonViewReference>
diff --git a/neonView/AdvertisingDetail_view/AdvertisingDetail_view.aod b/neonView/AdvertisingDetail_view/AdvertisingDetail_view.aod
index 2591c4e320178b2f55ddfd43da5081746d32dd7c..1c78dd8f378240d8e0a0e2bd18e697abd52b9451 100644
--- a/neonView/AdvertisingDetail_view/AdvertisingDetail_view.aod
+++ b/neonView/AdvertisingDetail_view/AdvertisingDetail_view.aod
@@ -13,6 +13,7 @@
     <genericViewTemplate>
       <name>generic</name>
       <showDrawer v="true" />
+      <drawerCaption>Advertising material</drawerCaption>
       <fields>
         <entityFieldLink>
           <name>d44add6c-2c60-485b-8bbc-9ebe494f9e23</name>
diff --git a/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod b/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod
index 957936fd83b77f2cf900ac1c9067ae732900c11a..793cd634f5dc7dfa77ad751f5596030d0e191217 100644
--- a/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod
+++ b/neonView/AdvertisingFilter_view/AdvertisingFilter_view.aod
@@ -11,7 +11,12 @@
   <children>
     <tableViewTemplate>
       <name>Table</name>
+      <maxDBRow v="100" />
       <columns>
+        <neonTableColumn>
+          <name>8c3e1048-7f7a-4210-a849-198f5b569c04</name>
+          <entityField>#ICON</entityField>
+        </neonTableColumn>
         <neonTableColumn>
           <name>b8971987-29bb-48dc-b9fc-075a63ef0b4e</name>
           <entityField>STATUS</entityField>
@@ -26,7 +31,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>6f0e0a32-5fcf-4194-b314-0013f65ec2d6</name>
-          <entityField>ROW_ID</entityField>
+          <entityField>OBJECT_ROWID</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>fa9fa2a6-4240-49dc-a516-cbbd6abd29a6</name>
diff --git a/neonView/AdvertisingItemEdit_view/AdvertisingItemEdit_view.aod b/neonView/AdvertisingItemEdit_view/AdvertisingItemEdit_view.aod
index 29926466fa195f7edd5ea6f7bcbe4067b554a19d..c635c98edf23bac272ff3ba1de9660da88af7dce 100644
--- a/neonView/AdvertisingItemEdit_view/AdvertisingItemEdit_view.aod
+++ b/neonView/AdvertisingItemEdit_view/AdvertisingItemEdit_view.aod
@@ -35,11 +35,11 @@
         </entityFieldLink>
         <entityFieldLink>
           <name>1c812246-f844-4827-bbb9-001642fa4a5d</name>
-          <entityField>FREE</entityField>
+          <entityField>free</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>f7ecb1cf-5365-45fa-9c45-fd5cbfed0e60</name>
-          <entityField>ACTUALAMOUNT</entityField>
+          <entityField>actualAmount</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>733e1d22-af01-4a21-8626-d7280feabab9</name>
diff --git a/neonView/AdvertisingItemFilter_view/AdvertisingItemFilter_view.aod b/neonView/AdvertisingItemFilter_view/AdvertisingItemFilter_view.aod
index 91ab8d80c299db89e49f2482eb5e3d9e13c6dc81..7c05fd6bd41f9f1d9d43067281eb1862f3217714 100644
--- a/neonView/AdvertisingItemFilter_view/AdvertisingItemFilter_view.aod
+++ b/neonView/AdvertisingItemFilter_view/AdvertisingItemFilter_view.aod
@@ -31,17 +31,13 @@
           <name>c2b808bf-8b0e-4670-8828-b6896bbe872c</name>
           <entityField>PRICE</entityField>
         </neonTableColumn>
-        <neonTableColumn>
-          <name>2bf92b34-9519-496e-8511-bfa23f22db67</name>
-          <entityField>FREE</entityField>
-        </neonTableColumn>
         <neonTableColumn>
           <name>a78fbed8-ebdc-4f56-9563-0dae4e2ad26e</name>
           <entityField>TARGETAMOUNT</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>8ad44ae5-47e8-4437-a6f5-88d1c9fbe61f</name>
-          <entityField>ACTUALAMOUNT</entityField>
+          <entityField>actualAmount</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>e53a6f55-c4d4-49df-8785-55fa8ee8a657</name>
diff --git a/neonView/AdvertisingItemPreview_view/AdvertisingItemPreview_view.aod b/neonView/AdvertisingItemPreview_view/AdvertisingItemPreview_view.aod
index 53aa6c2d7ea7d73dc16710a4b13a59bed6f5d9dd..fdca083a04cd48044e3318e2d4c871210cb5524c 100644
--- a/neonView/AdvertisingItemPreview_view/AdvertisingItemPreview_view.aod
+++ b/neonView/AdvertisingItemPreview_view/AdvertisingItemPreview_view.aod
@@ -10,14 +10,15 @@
   <children>
     <genericViewTemplate>
       <name>Generic</name>
+      <showDrawer v="true" />
       <fields>
         <entityFieldLink>
           <name>d89630d6-d28e-4506-b31b-56a03cbcf4f2</name>
           <entityField>ITEMPOSITION</entityField>
         </entityFieldLink>
         <entityFieldLink>
-          <name>dbd78774-ce7c-45e2-8035-2e353eae2857</name>
-          <entityField>ContactId</entityField>
+          <name>6f40b9eb-aa08-4026-bca0-eda59b612d97</name>
+          <entityField>contactId</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>697c7664-460d-4a08-b91f-3a83f23fbd24</name>
@@ -31,17 +32,13 @@
           <name>aa3453f1-7828-47e8-bc5f-e142b1c950ad</name>
           <entityField>PRICE</entityField>
         </entityFieldLink>
-        <entityFieldLink>
-          <name>6d86c1c9-8ac3-40dc-ab18-e4ed7e9e166c</name>
-          <entityField>FREE</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>603bc968-ae45-4337-a622-173fa3b47012</name>
           <entityField>TARGETAMOUNT</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>8d096f27-2ece-41a1-8988-662d9e4cd125</name>
-          <entityField>ACTUALAMOUNT</entityField>
+          <entityField>actualAmount</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>da8ef39a-31e6-49fe-bd24-52eb0d1f7d37</name>
diff --git a/neonView/AdvertisingMain_view/AdvertisingMain_view.aod b/neonView/AdvertisingMain_view/AdvertisingMain_view.aod
index 7e906290caf698ece025f7a40577be957803fe1a..b40b488666877a96fd7da97806777fa0364011d6 100644
--- a/neonView/AdvertisingMain_view/AdvertisingMain_view.aod
+++ b/neonView/AdvertisingMain_view/AdvertisingMain_view.aod
@@ -19,5 +19,10 @@
       <entityField>#ENTITY</entityField>
       <view>AdvertisingPreview_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>8fb7b6f1-ce58-438d-89f2-643523f21e6d</name>
+      <entityField>LogHistories</entityField>
+      <view>LogHistoryFilter_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod b/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod
index 466eea0c9e2c2f646feb47bcbd47f0fe33633544..d8d0a57add798641769920735cd6ad86319bcdae 100644
--- a/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod
+++ b/neonView/AdvertisingPreview_view/AdvertisingPreview_view.aod
@@ -25,7 +25,7 @@
       <fields>
         <entityFieldLink>
           <name>8cd0f253-85c7-494e-8eb1-cd5deb4fac30</name>
-          <entityField>ROW_ID</entityField>
+          <entityField>OBJECT_ROWID</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>805029e1-0980-4cc0-bc31-db2edb934da1</name>
diff --git a/process/Advertising_lib/process.js b/process/Advertising_lib/process.js
index 48a52e115fabfdb5b4210528b819e82984c965db..db5d5c742270388ad559988a1e3416b9275ef06c 100644
--- a/process/Advertising_lib/process.js
+++ b/process/Advertising_lib/process.js
@@ -1,5 +1,5 @@
+import("system.util");
 import("Contact_lib");
-import("system.logging");
 import("system.translate");
 import("Entity_lib");
 import("Product_lib");
@@ -11,6 +11,7 @@ import("KeywordRegistry_basic");
 import("Util_lib");
 import("Employee_lib");
 import("Sql_lib");
+import("system.entities");
 
 /*
  * Functions for working with Advertisings
@@ -37,13 +38,14 @@ AdvertisingUtils.insertAdvertising = function(pRowId, pContext, pContactIds)
     var contactId = (pContactIds.length == 1) ? pContactIds : "";
     
     var advObj = {
-        "ROW_ID" : pRowId,
-        "OBJECT_TYPE" : pContext, 
+                                "OBJECT_ROWID" : pRowId,
+                                "OBJECT_TYPE" : pContext, 
         "CONTACT_ID" : contactId, 
-        "RESPONSIBLE_ID" : EmployeeUtils.getCurrentContactId(), 
-        "CURRENCY" : $KeywordRegistry.currency$eur(),
-        "STATUS" : $KeywordRegistry.advertisingStatus$Open(), 
-        "DATE_NEW": vars.get("$sys.date")
+                                "RESPONSIBLE_ID" : EmployeeUtils.getCurrentContactId(), 
+                                "CURRENCY" : $KeywordRegistry.currency$eur(),
+                                "STATUS" : $KeywordRegistry.advertisingStatus$Open(), 
+        "DATE_NEW": vars.get("$sys.date"),
+        "USER_NEW": vars.get("$sys.user")
     }
     
     new SqlBuilder().insertFields(advObj, "ADVERTISING", "ADVERTISINGID", "ADVERTISINGID");
@@ -58,17 +60,12 @@ AdvertisingUtils.insertAdvertising = function(pRowId, pContext, pContactIds)
  */
 AdvertisingUtils.hasAdvertising = function(pRowId)
 {
-    var sql = new SqlBuilder()
-    .select("ADVERTISING.ADVERTISINGID")
+    var count = newSelect("count(ADVERTISING.ADVERTISINGID)")
     .from("ADVERTISING")
-    .where();
+    .where("ADVERTISING.OBJECT_ROWID", pRowId)
+    .cell();
     
-    if(pRowId)
-    {
-        sql.andIfSet("ADVERTISING.ROW_ID", pRowId);
-    }
-    
-    return Utils.toBoolean(sql.cell());
+    return Utils.toBoolean(count);
 }
 
 /*
@@ -120,9 +117,8 @@ AdvertisingUtils.isDigitalAdvertisingProduct = function (pProductId)
     return Utils.toBoolean(newSelect("PRODUCT.DIGITAL")
         .from("PRODUCT")
         .where("PRODUCT.PRODUCTID", pProductId)
-        .and("PRODUCT.ADVERTISING", "Y")
-        .cell()
-        );
+        .and("PRODUCT.ADVERTISING", "1")
+        .cell());
 }
 
 /*
@@ -143,27 +139,6 @@ AdvertisingUtils.getAdvertisingFilterExtensionCondition = function()
     return cond;
 }
 
-/*
- * gets the Title for a Pricefield with the current currency
- * 
- * @param {String} pTitle current <b>translated</b> Title which should be extended
- * @param {String} pCurrency - currency e.g 'EUR' / 'USD' 
- * 
- * @return {String} concatinated Title e.g 'Price in EUR' 
- */
-AdvertisingUtils.getPriceTitleWithCurrency = function(pTitle, pCurrency)
-{
-    var ret = pTitle;
-    
-    if(pCurrency)
-    {
-        ret += " ";
-        ret  += translate.text("in") + " " + pCurrency;
-    }
-
-    return ret;
-}
-
 /*
  * gets Advertising relevant details for the passed productId
  * 
@@ -207,9 +182,9 @@ AdvertisingUtils.getProductObject = function(pProductId, pAdvertisingId, pQuanti
         .and("DESCRIPTIONTRANSLATION.OBJECT_TYPE", "Product")
         .toString();
         
-        productDetails = ProductUtils.getProductDetails(productId, PriceListFilter, 
-            [["info", "(" + productInfoSubSql + ")"]
-            ]);
+        productDetails = ProductUtils.getProductDetails(productId
+                                                        , PriceListFilter
+                                                        , [["info", "(" + productInfoSubSql + ")"]]);
     }
     return productDetails;
 }
\ No newline at end of file