diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 0b734992cbf469c8ad0c53e3ec90f2ef3f35c583..eed1bb576180f095df20d45252e1b2d7d5f7adf1 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -5116,6 +5116,787 @@
               </entityFieldDb>
             </entityFields>
           </entityDb>
+          <entityDb>
+            <name>AB_ATTRIBUTEUSAGE</name>
+            <dbName></dbName>
+            <idColumn>AB_ATTRIBUTEUSAGEID</idColumn>
+            <idGeneratorType v="0" />
+            <idGeneratorInterval v="1" />
+            <title></title>
+            <description></description>
+            <auditSyncConfig>
+              <name>auditSyncConfig</name>
+              <auditMode v="0" />
+              <syncActive v="false" />
+              <syncComplete v="true" />
+              <syncDirection v="1" />
+              <syncIds></syncIds>
+            </auditSyncConfig>
+            <entityFields>
+              <entityFieldDb>
+                <name>AB_ATTRIBUTEUSAGEID</name>
+                <dbName></dbName>
+                <primaryKey v="true" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="true" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DATE_EDIT</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="93" />
+                <size v="29" />
+                <scale v="9" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>AB_ATTRIBUTE_ID</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DATE_NEW</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="93" />
+                <size v="29" />
+                <scale v="9" />
+                <notNull v="true" />
+                <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="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>OBJECT_TYPE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="63" />
+                <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>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="50" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>MIN_COUNT</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="4" />
+                <size v="10" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>MAX_COUNT</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="4" />
+                <size v="10" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+            </entityFields>
+          </entityDb>
+          <entityDb>
+            <name>AB_ATTRIBUTE</name>
+            <dbName></dbName>
+            <idColumn>AB_ATTRIBUTEID</idColumn>
+            <idGeneratorType v="0" />
+            <idGeneratorInterval v="1" />
+            <title></title>
+            <description></description>
+            <auditSyncConfig>
+              <name>auditSyncConfig</name>
+              <auditMode v="0" />
+              <syncActive v="false" />
+              <syncComplete v="true" />
+              <syncDirection v="1" />
+              <syncIds></syncIds>
+            </auditSyncConfig>
+            <entityFields>
+              <entityFieldDb>
+                <name>ATTRIBUTE_NAME</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="63" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>ATTRIBUTE_TYPE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="63" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DATE_EDIT</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="93" />
+                <size v="29" />
+                <scale v="9" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>AB_ATTRIBUTEID</name>
+                <dbName></dbName>
+                <primaryKey v="true" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="true" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>ATTRIBUTE_ACTIVE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="5" />
+                <size v="5" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>ATTRIBUTE_PARENT_ID</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DATE_NEW</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="93" />
+                <size v="29" />
+                <scale v="9" />
+                <notNull v="true" />
+                <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="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>USER_EDIT</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="50" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+            </entityFields>
+          </entityDb>
+          <entityDb>
+            <name>AB_ATTRIBUTERELATION</name>
+            <dbName></dbName>
+            <idColumn>AB_ATTRIBUTERELATIONID</idColumn>
+            <idGeneratorType v="0" />
+            <idGeneratorInterval v="1" />
+            <title></title>
+            <description></description>
+            <auditSyncConfig>
+              <name>auditSyncConfig</name>
+              <auditMode v="0" />
+              <syncActive v="false" />
+              <syncComplete v="true" />
+              <syncDirection v="1" />
+              <syncIds></syncIds>
+            </auditSyncConfig>
+            <entityFields>
+              <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="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DATE_EDIT</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="93" />
+                <size v="29" />
+                <scale v="9" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>BOOL_VALUE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="5" />
+                <size v="5" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DATE_VALUE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="93" />
+                <size v="29" />
+                <scale v="9" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>NUMBER_VALUE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="2" />
+                <size v="14" />
+                <scale v="2" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>AB_ATTRIBUTERELATIONID</name>
+                <dbName></dbName>
+                <primaryKey v="true" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="true" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>OBJECT_TYPE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="63" />
+                <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>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="50" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>CHAR_VALUE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="63" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>AB_ATTRIBUTE_ID</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>ID_VALUE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DATE_NEW</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="93" />
+                <size v="29" />
+                <scale v="9" />
+                <notNull v="true" />
+                <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="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+            </entityFields>
+          </entityDb>
+          <entityDb>
+            <name>DATABASECHANGELOG</name>
+            <dbName></dbName>
+            <idColumn></idColumn>
+            <idGeneratorType v="1" />
+            <idGeneratorInterval v="1" />
+            <title></title>
+            <description></description>
+            <auditSyncConfig>
+              <name>auditSyncConfig</name>
+              <auditMode v="0" />
+              <syncActive v="false" />
+              <syncComplete v="true" />
+              <syncDirection v="1" />
+              <syncIds></syncIds>
+            </auditSyncConfig>
+            <entityFields>
+              <entityFieldDb>
+                <name>EXECTYPE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="10" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DATEEXECUTED</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="93" />
+                <size v="29" />
+                <scale v="9" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>ORDEREXECUTED</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="4" />
+                <size v="10" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>COMMENTS</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>AUTHOR</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>CONTEXTS</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>MD5SUM</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="35" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DESCRIPTION</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>LIQUIBASE</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="20" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DEPLOYMENT_ID</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="10" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>ID</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>TAG</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>LABELS</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>FILENAME</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+            </entityFields>
+          </entityDb>
+          <entityDb>
+            <name>DATABASECHANGELOGLOCK</name>
+            <dbName></dbName>
+            <idColumn>ID</idColumn>
+            <idGeneratorType v="1" />
+            <idGeneratorInterval v="1" />
+            <title></title>
+            <description></description>
+            <auditSyncConfig>
+              <name>auditSyncConfig</name>
+              <auditMode v="0" />
+              <syncActive v="false" />
+              <syncComplete v="true" />
+              <syncDirection v="1" />
+              <syncIds></syncIds>
+            </auditSyncConfig>
+            <entityFields>
+              <entityFieldDb>
+                <name>LOCKGRANTED</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="93" />
+                <size v="29" />
+                <scale v="9" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>LOCKED</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="16" />
+                <size v="1" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>LOCKEDBY</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="255" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>ID</name>
+                <dbName></dbName>
+                <primaryKey v="true" />
+                <columnType v="4" />
+                <size v="10" />
+                <scale v="0" />
+                <notNull v="true" />
+                <isUnique v="true" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+            </entityFields>
+          </entityDb>
         </entities>
       </entityGroup>
     </aliasDefDb>
diff --git a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
index 1991fe78ecbd39bf8d2705bf172f5355ce0942d4..a27ce68caa45c48538ab846a22556d363249f264 100644
--- a/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
+++ b/application/_____SYSTEM_APPLICATION_NEON/_____SYSTEM_APPLICATION_NEON.aod
@@ -26,6 +26,13 @@
         <node name="INTERNAL_ADMINISTRATOR" kind="159" />
       </node>
     </node>
+    <node name="Administration" kind="123" title="Administration">
+      <icon>NEON:WRENCH</icon>
+      <node name="Group3" kind="123" title="">
+        <node name="Attribute_context" kind="10077" />
+        <node name="INTERNAL_ADMINISTRATOR" kind="159" />
+      </node>
+    </node>
   </entityNode>
   <company>
     <name>company</name>
diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod
index 49c9a10ee277683c74162b48cf3626d7099f473f..0fbc84dbd62d654ff15bd90fac1294dc11c2c329 100644
--- a/entity/Address_entity/Address_entity.aod
+++ b/entity/Address_entity/Address_entity.aod
@@ -67,7 +67,7 @@
     </entityField>
     <entityField>
       <name>STATE</name>
-      <title>State</title>
+      <title>${ADDRESS_STATE}</title>
       <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/state/mandatoryProcess.js</mandatoryProcess>
     </entityField>
     <entityField>
diff --git a/entity/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
new file mode 100644
index 0000000000000000000000000000000000000000..1e4c91f04cc6179015626206d42773394e0caba3
--- /dev/null
+++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
@@ -0,0 +1,181 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.1.1">
+  <name>AttributeRelation_entity</name>
+  <title>Attributes</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <recordContainer>db</recordContainer>
+  <entityFields>
+    <entityIncomingField>
+      <name>#INCOMING</name>
+    </entityIncomingField>
+    <entityField>
+      <name>AB_ATTRIBUTERELATIONID</name>
+      <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attributerelationid/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>AB_ATTRIBUTE_ID</name>
+      <title>Attribute</title>
+      <mandatory v="true" />
+      <possibleItemsProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js</possibleItemsProcess>
+      <stateProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js</stateProcess>
+    </entityField>
+    <entityField>
+      <name>OBJECT_ROWID</name>
+      <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>OBJECT_TYPE</name>
+      <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>DATE_NEW</name>
+      <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/date_new/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>DATE_EDIT</name>
+    </entityField>
+    <entityField>
+      <name>USER_NEW</name>
+      <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/user_new/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>USER_EDIT</name>
+    </entityField>
+    <entityField>
+      <name>ATTRIBUTERELATION_VALUE</name>
+      <title>Value</title>
+      <contentTypeProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js</contentTypeProcess>
+      <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js</valueProcess>
+      <onValueChange>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js</onValueChange>
+    </entityField>
+    <entityField>
+      <name>CHAR_VALUE</name>
+      <state>EDITABLE</state>
+    </entityField>
+    <entityIncomingField>
+      <name>OrgAttr_dfi</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>2226c7fc-45d4-45e8-a5d3-a5e13dff4b59</name>
+          <entityName>Org_entity</entityName>
+          <fieldName>OrgAttr_dfo</fieldName>
+          <isOutgoing v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityIncomingField>
+    <entityField>
+      <name>ATTRIBUTE_NAME</name>
+    </entityField>
+    <entityParameter>
+      <name>objectRowId_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityField>
+      <name>DATE_VALUE</name>
+      <contentType>DATE</contentType>
+      <state>EDITABLE</state>
+    </entityField>
+    <entityField>
+      <name>NUMBER_VALUE</name>
+      <contentType>NUMBER</contentType>
+      <state>EDITABLE</state>
+    </entityField>
+    <entityField>
+      <name>ATTRIBUTE_TYPE</name>
+    </entityField>
+    <entityParameter>
+      <name>objectType_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityField>
+      <name>BOOL_VALUE</name>
+      <contentType>BOOLEAN</contentType>
+      <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/bool_value/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>ID_VALUE</name>
+    </entityField>
+  </entityFields>
+  <recordContainers>
+    <dbRecordContainer>
+      <name>db</name>
+      <alias>Data_alias</alias>
+      <conditionProcess>%aditoprj%/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
+      <linkInformation>
+        <linkInformation>
+          <name>1ffc8a7d-56a2-4516-abd9-071e857058e9</name>
+          <tableName>AB_ATTRIBUTERELATION</tableName>
+          <primaryKey>AB_ATTRIBUTERELATIONID</primaryKey>
+          <isUIDTable v="true" />
+          <readonly v="false" />
+        </linkInformation>
+      </linkInformation>
+      <recordFieldMappings>
+        <dbRecordFieldMapping>
+          <name>AB_ATTRIBUTE_ID.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>AB_ATTRIBUTERELATIONID.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.AB_ATTRIBUTERELATIONID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>OBJECT_ROWID.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.OBJECT_ROWID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>OBJECT_TYPE.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.OBJECT_TYPE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_EDIT.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.DATE_EDIT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_NEW.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.DATE_NEW</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_EDIT.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.USER_EDIT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_NEW.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.USER_NEW</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CHAR_VALUE.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.CHAR_VALUE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_VALUE.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.DATE_VALUE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>NUMBER_VALUE.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.NUMBER_VALUE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ATTRIBUTE_NAME.value</name>
+          <expression>%aditoprj%/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_name.value/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ATTRIBUTE_TYPE.value</name>
+          <expression>%aditoprj%/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_type.value/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>BOOL_VALUE.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.BOOL_VALUE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ID_VALUE.value</name>
+          <recordfield>AB_ATTRIBUTERELATION.ID_VALUE</recordfield>
+        </dbRecordFieldMapping>
+      </recordFieldMappings>
+    </dbRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2449074c9672b85ce7ddec1e78cfce6710a1e7fb
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/possibleItemsProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+        
+result.object(AttributeUtil.getPossibleAttributes(vars.get("$param.objectType_param")));
diff --git a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..749c17f2401775fb86abb79f7b2baf00744a5681
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js
@@ -0,0 +1,5 @@
+//import("system.vars");
+//import("system.result");
+//
+//if (vars.get("$field.ATTRIBUTERELATION_VALUE"))
+//    result.string("READONLY");
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/ab_attributerelationid/valueProcess.js b/entity/AttributeRelation_entity/entityfields/ab_attributerelationid/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..622e00f05f77bd63405f4487831518087cc38d27
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/ab_attributerelationid/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.neon");
+import("system.util");
+import("system.vars");
+import("system.result");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(util.getNewUUID());
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js b/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..ccd7b53d9e4d0fc3179309d08ce8ff17ad651702
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js
@@ -0,0 +1,8 @@
+import("system.logging");
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+
+var attrType = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeContentType();
+logging.log("type is " + attrType)
+result.string(attrType);
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js b/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..0dcab8e25a383d7f578549187155687ac32d89c5
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js
@@ -0,0 +1,12 @@
+import("system.logging");
+import("system.vars");
+import("Entity_lib");
+import("Attribute_lib");
+
+var attrValue = vars.exists("$field.ATTRIBUTERELATION_VALUE") ? vars.get("$field.ATTRIBUTERELATION_VALUE") : "";
+attrValue = ProcessHandlingUtils.getOnValidationValue(attrValue);
+var attribute = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID"));
+
+attribute.setAttributeValue(attrValue);
+
+//logging.log("field is " + field + " and attrvalue is " + attrValue)
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js b/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..dc4b3c47bae965a6a21168c8ce6c4ef087ae0176
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js
@@ -0,0 +1,14 @@
+import("system.logging");
+import("system.result");
+import("system.vars");
+import("Attribute_lib");
+
+//var attrValue = vars.getString("$field.ATTRIBUTERELATION_VALUE");
+var attrField = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeField();
+
+if (attrField != null)
+{
+    logging.log("value of " + vars.get("$field.AB_ATTRIBUTERELATIONID") + " (" + vars.get("$field.ATTRIBUTE_NAME") + ") = " + attrField)
+    result.string(vars.get(attrField));
+}
+
diff --git a/entity/AttributeRelation_entity/entityfields/bool_value/valueProcess.js b/entity/AttributeRelation_entity/entityfields/bool_value/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..13b11be60e6ff9abcd2ae44306b70f3367cdb5ed
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/bool_value/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("0")
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/date_new/valueProcess.js b/entity/AttributeRelation_entity/entityfields/date_new/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7acb3c80848f54a4c6dfee5efa7a5b8514dd4a71
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/date_new/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(vars.getString("$sys.date"));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js b/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..83fdc179510373157ac394d755c406adc59e1c43
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.objectRowId_param") && vars.get("$param.objectRowId_param") != null)
+    result.string(vars.get("$param.objectRowId_param"));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js b/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..a2239bdb8c4a4c4cc92b319a4e90a2a64260b97e
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.objectType_param") && vars.get("$param.objectType_param") != null)
+    result.string(vars.get("$param.objectType_param"));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/user_new/valueProcess.js b/entity/AttributeRelation_entity/entityfields/user_new/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..a8a5e28793c742f8f3e10907976e746faf43c67c
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/user_new/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(vars.getString("$sys.user"));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js b/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..f83ae05abaf417c8b8502955eb3a6af39a9d4f89
--- /dev/null
+++ b/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js
@@ -0,0 +1,14 @@
+import("system.db");
+import("system.vars");
+import("system.result");
+import("Sql_lib");
+
+if (vars.exists("$param.objectRowId_param") && vars.get("$param.objectRowId_param") != null)
+{
+    cond = SqlCondition.begin()
+                       .andPrepare("AB_ATTRIBUTERELATION.OBJECT_ROWID", vars.get("$param.objectRowId_param"))
+                       .build();
+    result.string(db.translateCondition(cond));
+}
+else
+    result.string("1 = 2");
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_name.value/expression.js b/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_name.value/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..e4aa4657a299ef907e6fb0b44865b0b97c35bd8c
--- /dev/null
+++ b/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_name.value/expression.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("select ATTRIBUTE_NAME from AB_ATTRIBUTE where AB_ATTRIBUTE.AB_ATTRIBUTEID = AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID");
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_type.value/expression.js b/entity/AttributeRelation_entity/recordcontainers/db/recordfieldmappings/attribute_type.value/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/entity/AttributeUsage_entity/AttributeUsage_entity.aod b/entity/AttributeUsage_entity/AttributeUsage_entity.aod
new file mode 100644
index 0000000000000000000000000000000000000000..02591fac2b2e708712f9a5e6fd813446eff12191
--- /dev/null
+++ b/entity/AttributeUsage_entity/AttributeUsage_entity.aod
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.1.1">
+  <name>AttributeUsage_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <recordContainer>db</recordContainer>
+  <entityFields>
+    <entityIncomingField>
+      <name>#INCOMING</name>
+    </entityIncomingField>
+    <entityField>
+      <name>OBJECT_TYPE</name>
+      <title>Entity</title>
+      <possibleItemsProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/object_type/possibleItemsProcess.js</possibleItemsProcess>
+    </entityField>
+    <entityField>
+      <name>DATE_NEW</name>
+      <contentType>DATE</contentType>
+      <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/date_new/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>DATE_EDIT</name>
+      <contentType>DATE</contentType>
+    </entityField>
+    <entityField>
+      <name>USER_NEW</name>
+      <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/user_new/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>USER_EDIT</name>
+    </entityField>
+    <entityField>
+      <name>AB_ATTRIBUTEUSAGEID</name>
+      <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/ab_attributeusageid/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>AB_ATTRIBUTE_ID</name>
+      <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js</valueProcess>
+    </entityField>
+    <entityIncomingField>
+      <name>Attribute_dfi</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>47ac9f95-8879-43fd-92a9-86079e735e58</name>
+          <entityName>Attribute_entity</entityName>
+          <fieldName>AttributeUsage_dfo</fieldName>
+          <isOutgoing v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityIncomingField>
+    <entityParameter>
+      <name>attributeId_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityField>
+      <name>MIN_COUNT</name>
+      <title>Minimal Count</title>
+      <contentType>NUMBER</contentType>
+      <searchable v="false" />
+      <onValidation>%aditoprj%/entity/AttributeUsage_entity/entityfields/min_count/onValidation.js</onValidation>
+    </entityField>
+    <entityField>
+      <name>MAX_COUNT</name>
+      <title>Maximal Count</title>
+      <contentType>NUMBER</contentType>
+      <searchable v="false" />
+      <onValidation>%aditoprj%/entity/AttributeUsage_entity/entityfields/max_count/onValidation.js</onValidation>
+    </entityField>
+  </entityFields>
+  <recordContainers>
+    <dbRecordContainer>
+      <name>db</name>
+      <alias>Data_alias</alias>
+      <conditionProcess>%aditoprj%/entity/AttributeUsage_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
+      <linkInformation>
+        <linkInformation>
+          <name>c30f5670-580e-4621-95dd-0fec4a99190f</name>
+          <tableName>AB_ATTRIBUTEUSAGE</tableName>
+          <primaryKey>AB_ATTRIBUTEUSAGEID</primaryKey>
+          <isUIDTable v="true" />
+          <readonly v="false" />
+        </linkInformation>
+      </linkInformation>
+      <recordFieldMappings>
+        <dbRecordFieldMapping>
+          <name>AB_ATTRIBUTE_ID.value</name>
+          <recordfield>AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>AB_ATTRIBUTEUSAGEID.value</name>
+          <recordfield>AB_ATTRIBUTEUSAGE.AB_ATTRIBUTEUSAGEID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_EDIT.value</name>
+          <recordfield>AB_ATTRIBUTEUSAGE.DATE_EDIT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_NEW.value</name>
+          <recordfield>AB_ATTRIBUTEUSAGE.DATE_NEW</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>OBJECT_TYPE.value</name>
+          <recordfield>AB_ATTRIBUTEUSAGE.OBJECT_TYPE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_EDIT.value</name>
+          <recordfield>AB_ATTRIBUTEUSAGE.USER_EDIT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_NEW.value</name>
+          <recordfield>AB_ATTRIBUTEUSAGE.USER_NEW</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>MAX_COUNT.value</name>
+          <recordfield>AB_ATTRIBUTEUSAGE.MAX_COUNT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>MIN_COUNT.value</name>
+          <recordfield>AB_ATTRIBUTEUSAGE.MIN_COUNT</recordfield>
+        </dbRecordFieldMapping>
+      </recordFieldMappings>
+    </dbRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js b/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d3399e68903611cd80b239a5b3a24bb62282d0fc
--- /dev/null
+++ b/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.attributeId_param") && vars.get("$param.attributeId_param") != null)
+    result.string(vars.get("$param.attributeId_param"));
\ No newline at end of file
diff --git a/entity/AttributeUsage_entity/entityfields/ab_attributeusageid/valueProcess.js b/entity/AttributeUsage_entity/entityfields/ab_attributeusageid/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7df83b4096e7df4d63cc4d81f8fadf0884444479
--- /dev/null
+++ b/entity/AttributeUsage_entity/entityfields/ab_attributeusageid/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.util");
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(util.getNewUUID());
\ No newline at end of file
diff --git a/entity/AttributeUsage_entity/entityfields/date_new/valueProcess.js b/entity/AttributeUsage_entity/entityfields/date_new/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7acb3c80848f54a4c6dfee5efa7a5b8514dd4a71
--- /dev/null
+++ b/entity/AttributeUsage_entity/entityfields/date_new/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(vars.getString("$sys.date"));
\ No newline at end of file
diff --git a/entity/AttributeUsage_entity/entityfields/max_count/onValidation.js b/entity/AttributeUsage_entity/entityfields/max_count/onValidation.js
new file mode 100644
index 0000000000000000000000000000000000000000..cfec392b7024d4f7c6113dfc840fb39aa8b6e96f
--- /dev/null
+++ b/entity/AttributeUsage_entity/entityfields/max_count/onValidation.js
@@ -0,0 +1,13 @@
+import("system.result");
+import("system.vars");
+import("system.translate");
+import("Entity_lib");
+
+var maxCount = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.MAX_COUNT"));
+
+if (maxCount)
+{
+    maxCount = Number(maxCount);
+    if (maxCount <= 0 || maxCount != Math.floor(maxCount)) //when specified, max count must can't be negative, zero or not an integer
+        result.string(false);
+}
diff --git a/entity/AttributeUsage_entity/entityfields/min_count/onValidation.js b/entity/AttributeUsage_entity/entityfields/min_count/onValidation.js
new file mode 100644
index 0000000000000000000000000000000000000000..36ddf1f1fdf60592f1f46cec7c9983495ccb9e6c
--- /dev/null
+++ b/entity/AttributeUsage_entity/entityfields/min_count/onValidation.js
@@ -0,0 +1,13 @@
+import("system.result");
+import("system.vars");
+import("system.translate");
+import("Entity_lib");
+
+var minCount = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.MIN_COUNT"));
+
+if (minCount)
+{
+    minCount = Number(minCount);
+    if (minCount < 0 || minCount != Math.floor(minCount)) //when specified, max count must can't be negative or not an integer
+        result.string(false);
+}
diff --git a/entity/AttributeUsage_entity/entityfields/object_type/possibleItemsProcess.js b/entity/AttributeUsage_entity/entityfields/object_type/possibleItemsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..ad231346ea73dafb48059894d1f10c3d36050ef2
--- /dev/null
+++ b/entity/AttributeUsage_entity/entityfields/object_type/possibleItemsProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.object([["Org_context", "Org"]]);
\ No newline at end of file
diff --git a/entity/AttributeUsage_entity/entityfields/user_new/valueProcess.js b/entity/AttributeUsage_entity/entityfields/user_new/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..a8a5e28793c742f8f3e10907976e746faf43c67c
--- /dev/null
+++ b/entity/AttributeUsage_entity/entityfields/user_new/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(vars.getString("$sys.user"));
\ No newline at end of file
diff --git a/entity/AttributeUsage_entity/recordcontainers/db/conditionProcess.js b/entity/AttributeUsage_entity/recordcontainers/db/conditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..f7bc09814242ecd21bf3ad37099740d77f73fa32
--- /dev/null
+++ b/entity/AttributeUsage_entity/recordcontainers/db/conditionProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+if(vars.exists("$param.attributeId_param") && vars.get("$param.attributeId_param") != null)
+    result.string("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = ('" + vars.getString("$param.attributeId_param") + "')");  
+else
+    result.string("1 = 2");  
\ No newline at end of file
diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod
new file mode 100644
index 0000000000000000000000000000000000000000..2a9637e1bd5623990e3aa29d003d3afdb8fda758
--- /dev/null
+++ b/entity/Attribute_entity/Attribute_entity.aod
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.1.1">
+  <name>Attribute_entity</name>
+  <title>Attributes</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <iconId>VAADIN:TAG</iconId>
+  <recordContainer>db</recordContainer>
+  <entityFields>
+    <entityIncomingField>
+      <name>#INCOMING</name>
+    </entityIncomingField>
+    <entityField>
+      <name>ATTRIBUTE_NAME</name>
+      <title>Name</title>
+      <mandatory v="true" />
+    </entityField>
+    <entityField>
+      <name>ATTRIBUTE_TYPE</name>
+      <title>Type</title>
+      <mandatory v="true" />
+      <possibleItemsProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_type/possibleItemsProcess.js</possibleItemsProcess>
+    </entityField>
+    <entityField>
+      <name>AB_ATTRIBUTEID</name>
+      <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/ab_attributeid/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>ATTRIBUTE_PARENT_ID</name>
+    </entityField>
+    <entityField>
+      <name>DATE_NEW</name>
+      <contentType>DATE</contentType>
+      <state>READONLY</state>
+      <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/date_new/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>DATE_EDIT</name>
+      <contentType>DATE</contentType>
+    </entityField>
+    <entityField>
+      <name>USER_NEW</name>
+      <state>READONLY</state>
+      <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/user_new/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>USER_EDIT</name>
+    </entityField>
+    <entityOutgoingField>
+      <name>AttributeChild_dfo</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <fieldName></fieldName>
+      </dependency>
+    </entityOutgoingField>
+    <entityIncomingField>
+      <name>AttributeParent_dfi</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <recordContainer>db</recordContainer>
+    </entityIncomingField>
+    <entityParameter>
+      <name>attrParentId_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityOutgoingField>
+      <name>AttributeUsage_dfo</name>
+      <title>Usage</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeUsage_entity</entityName>
+        <fieldName>Attribute_dfi</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>attributeId_param</name>
+          <code>%aditoprj%/entity/Attribute_entity/entityfields/attributeusage_dfo/children/attributeid_param/code.js</code>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+      </children>
+    </entityOutgoingField>
+    <entityField>
+      <name>ATTRIBUTE_ACTIVE</name>
+      <title>Active</title>
+      <contentType>BOOLEAN</contentType>
+      <possibleItemsProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_active/possibleItemsProcess.js</possibleItemsProcess>
+      <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js</valueProcess>
+    </entityField>
+  </entityFields>
+  <recordContainers>
+    <dbRecordContainer>
+      <name>db</name>
+      <alias>Data_alias</alias>
+      <conditionProcess>%aditoprj%/entity/Attribute_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
+      <onDBDelete>%aditoprj%/entity/Attribute_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
+      <linkInformation>
+        <linkInformation>
+          <name>b5fd38e1-b315-4e66-bd68-569dfc04710c</name>
+          <tableName>AB_ATTRIBUTE</tableName>
+          <primaryKey>AB_ATTRIBUTEID</primaryKey>
+          <isUIDTable v="true" />
+        </linkInformation>
+      </linkInformation>
+      <recordFieldMappings>
+        <dbRecordFieldMapping>
+          <name>AB_ATTRIBUTEID.value</name>
+          <recordfield>AB_ATTRIBUTE.AB_ATTRIBUTEID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ATTRIBUTE_NAME.value</name>
+          <recordfield>AB_ATTRIBUTE.ATTRIBUTE_NAME</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ATTRIBUTE_PARENT_ID.value</name>
+          <recordfield>AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ATTRIBUTE_TYPE.value</name>
+          <recordfield>AB_ATTRIBUTE.ATTRIBUTE_TYPE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_EDIT.value</name>
+          <recordfield>AB_ATTRIBUTE.DATE_EDIT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DATE_NEW.value</name>
+          <recordfield>AB_ATTRIBUTE.DATE_NEW</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_EDIT.value</name>
+          <recordfield>AB_ATTRIBUTE.USER_EDIT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>USER_NEW.value</name>
+          <recordfield>AB_ATTRIBUTE.USER_NEW</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ATTRIBUTE_ACTIVE.value</name>
+          <recordfield>AB_ATTRIBUTE.ATTRIBUTE_ACTIVE</recordfield>
+        </dbRecordFieldMapping>
+      </recordFieldMappings>
+    </dbRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/Attribute_entity/entityfields/ab_attributeid/valueProcess.js b/entity/Attribute_entity/entityfields/ab_attributeid/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7df83b4096e7df4d63cc4d81f8fadf0884444479
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/ab_attributeid/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.util");
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(util.getNewUUID());
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attribute_active/possibleItemsProcess.js b/entity/Attribute_entity/entityfields/attribute_active/possibleItemsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e4c1d8a78277a5e9b51c2d33a8a96bd3f26186cb
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/attribute_active/possibleItemsProcess.js
@@ -0,0 +1,7 @@
+import("system.translate");
+import("system.result");
+
+result.object([
+    ["1", translate.text("Yes")],
+    ["0", translate.text("No")]
+]);
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js b/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..246c17c087fbbb4d52c421b75fd2ed3cecd21442
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string("1");
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attribute_type/possibleItemsProcess.js b/entity/Attribute_entity/entityfields/attribute_type/possibleItemsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..3dc3e304437678edc609efc401378f1d2b0d84e9
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/attribute_type/possibleItemsProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Attribute_lib");
+
+result.object(AttributeTypes.getTypeList());
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attributeusage_dfo/children/attributeid_param/code.js b/entity/Attribute_entity/entityfields/attributeusage_dfo/children/attributeid_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..033bf9a666c5254c8945077776b2834560164e56
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/attributeusage_dfo/children/attributeid_param/code.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.AB_ATTRIBUTEID"));
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/date_new/valueProcess.js b/entity/Attribute_entity/entityfields/date_new/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7acb3c80848f54a4c6dfee5efa7a5b8514dd4a71
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/date_new/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(vars.getString("$sys.date"));
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/user_new/valueProcess.js b/entity/Attribute_entity/entityfields/user_new/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..a8a5e28793c742f8f3e10907976e746faf43c67c
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/user_new/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(vars.getString("$sys.user"));
\ No newline at end of file
diff --git a/entity/Attribute_entity/recordcontainers/db/conditionProcess.js b/entity/Attribute_entity/recordcontainers/db/conditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2c2d8e0a101e1051fb616a6b74bf859065b787cb
--- /dev/null
+++ b/entity/Attribute_entity/recordcontainers/db/conditionProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("Sql_lib");
+
+//if (vars.exists("$field.AB_ATTRIBUTEID") && vars.get("$field.AB_ATTRIBUTEID") != "")
+//    result.string(SqlCondition.begin().andPrepare("ATTRIBUTE_PARENT_ID", vars.get("$field.AB_ATTRIBUTEID")));
\ No newline at end of file
diff --git a/entity/Attribute_entity/recordcontainers/db/onDBDelete.js b/entity/Attribute_entity/recordcontainers/db/onDBDelete.js
new file mode 100644
index 0000000000000000000000000000000000000000..504e2d5e4f82c9ccbdeb7b380f546003c3f5f9a8
--- /dev/null
+++ b/entity/Attribute_entity/recordcontainers/db/onDBDelete.js
@@ -0,0 +1,11 @@
+import("system.vars");
+import("system.db");
+import("Sql_lib");
+
+var attributeId = vars.get("$field.AB_ATTRIBUTEID");
+var usageCondition = SqlCondition.begin()
+    .andPrepare("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID", attributeId)
+    .build();
+
+//delete all entries in AB_ATTRIBUTEUSAGE belonging to the attribute to avoid unrelated entries
+db.deleteData("AB_ATTRIBUTEUSAGE", usageCondition);
\ No newline at end of file
diff --git a/entity/Comm_entity/entityfields/medium_id/valueProcess.js b/entity/Comm_entity/entityfields/medium_id/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/entity/Org_entity/Org_entity.aod b/entity/Org_entity/Org_entity.aod
index 4b8964d13b127ac38b69f0b0c37fa126cd4816e1..7aad5dc5f50cca43077eb0f71d7b771003c94eae 100644
--- a/entity/Org_entity/Org_entity.aod
+++ b/entity/Org_entity/Org_entity.aod
@@ -467,6 +467,28 @@
         <fieldName>ISO2_NAME</fieldName>
       </dependency>
     </entityOutgoingField>
+    <entityOutgoingField>
+      <name>OrgAttr_dfo</name>
+      <title>Attributes</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>OrgAttr_dfi</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>objectRowId_param</name>
+          <code>%aditoprj%/entity/Org_entity/entityfields/orgattr_dfo/children/objectrowid_param/code.js</code>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>objectType_param</name>
+          <code>%aditoprj%/entity/Org_entity/entityfields/orgattr_dfo/children/objecttype_param/code.js</code>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+      </children>
+    </entityOutgoingField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Org_entity/entityfields/orgattr_dfo/children/objectrowid_param/code.js b/entity/Org_entity/entityfields/orgattr_dfo/children/objectrowid_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..0e435a3d15ece690e8f94844a8ac57ad2f3c2b08
--- /dev/null
+++ b/entity/Org_entity/entityfields/orgattr_dfo/children/objectrowid_param/code.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.ORGID"));
\ No newline at end of file
diff --git a/entity/Org_entity/entityfields/orgattr_dfo/children/objecttype_param/code.js b/entity/Org_entity/entityfields/orgattr_dfo/children/objecttype_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..5996e99db232db8df50f155732110608e5abff4e
--- /dev/null
+++ b/entity/Org_entity/entityfields/orgattr_dfo/children/objecttype_param/code.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/Org_entity/recordcontainers/db/onDBUpdate.js b/entity/Org_entity/recordcontainers/db/onDBUpdate.js
index b0047f43f07c4f962b6165f3a429dac26ea689b7..a2bda1f54c6408cb82440aae4bcfd276ca567608 100644
--- a/entity/Org_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Org_entity/recordcontainers/db/onDBUpdate.js
@@ -3,7 +3,7 @@ import("Org_lib");
 import("Comm_lib");
 import("Entity_lib");
 
-// TODO: this is a workaround for missing possibility to react on changes of fields not connected to record Contqainer
+// TODO: this is a workaround for missing possibility to react on changes of fields not connected to record Container
 FieldChanges.assimilateChangeAndDispose("$field.IMAGE", function(state, value){
     if (state == FieldChanges.STATE_CHANGED())
         OrgUtils.setImage(vars.get("$field.ORGID"), value);
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index b1fbca7801f85300a8640eca14ae25e56753e92e..18311db9c92e09d046ac05a256910719a60f5eac 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -1487,6 +1487,19 @@
     </entry>
     <entry>
       <key>${FORECAST_ENGLISH}</key>
+      <key>${ADDRESS_STATE}</key>
+    </entry>
+    <entry>
+      <key>${NUMBER}</key>
+    </entry>
+    <entry>
+      <key>Usage</key>
+    </entry>
+    <entry>
+      <key>Maximal Count</key>
+    </entry>
+    <entry>
+      <key>Minimal Count</key>
     </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index c2f99df80667ec0aa28b3a3d9a7e8598c5e63f41..7a997ae430781dc8960f1bf131730b42e38d1192 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -22,6 +22,10 @@
       <key>E-Mail</key>
       <value>E-Mail</value>
     </entry>
+    <entry>
+      <key>Maximal Count</key>
+      <value>Maximale Anzahl</value>
+    </entry>
     <entry>
       <key>Customer</key>
       <value>Kunde</value>
@@ -30,10 +34,18 @@
       <key>Internal</key>
       <value>Intern</value>
     </entry>
+    <entry>
+      <key>Usage</key>
+      <value>Verwendung</value>
+    </entry>
     <entry>
       <key>Show all activities</key>
       <value>Alle Aktivitäten anzeigen</value>
     </entry>
+    <entry>
+      <key>${ADDRESS_STATE}</key>
+      <value>Staat</value>
+    </entry>
     <entry>
       <key>Show all contracts</key>
       <value>Alle Verträge anzeigen</value>
@@ -110,6 +122,10 @@
       <key>Online-Meeting</key>
       <value>Online-Meeting</value>
     </entry>
+    <entry>
+      <key>${NUMBER}</key>
+      <value>Zahl</value>
+    </entry>
     <entry>
       <key>Choose address</key>
       <value>Adresse auswählen</value>
@@ -921,6 +937,10 @@
       <key>Total gross</key>
       <value>Betrag brutto</value>
     </entry>
+    <entry>
+      <key>Minimal Count</key>
+      <value>Minimale Anzahl</value>
+    </entry>
     <entry>
       <key>${ORGTYPE_OTHER}</key>
       <value>Sonstige</value>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index d4e1267101fcd063abb5805a9f3470c47cc0f139..15d73635855f33fa8892af6163a52e111f9df2e0 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -1517,6 +1517,21 @@
     <entry>
       <key>${FORECAST_ENGLISH}</key>
       <value>Forecast</value>
+      <key>${ADDRESS_STATE}</key>
+      <value>state</value>
+    </entry>
+    <entry>
+      <key>${NUMBER}</key>
+      <value>Number</value>
+    </entry>
+    <entry>
+      <key>Usage</key>
+    </entry>
+    <entry>
+      <key>Maximal Count</key>
+    </entry>
+    <entry>
+      <key>Minimal Count</key>
     </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
diff --git a/neonContext/AttributeRelation_context/AttributeRelation_context.aod b/neonContext/AttributeRelation_context/AttributeRelation_context.aod
new file mode 100644
index 0000000000000000000000000000000000000000..4604a512c94044f9b5f1e9c4157158e63712faad
--- /dev/null
+++ b/neonContext/AttributeRelation_context/AttributeRelation_context.aod
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0">
+  <name>AttributeRelation_context</name>
+  <title>Attributes</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterview>AttributeRelationTree_view</filterview>
+  <editview>AttributeRelationMultiEdit_view</editview>
+  <entity>AttributeRelation_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>d21d2e1b-db79-4013-a056-6e9ce35a5757</name>
+      <view>AttributeRelationTree_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>52dd8729-c22d-4767-b491-1e8c9d157ddb</name>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonContext/AttributeUsage_context/AttributeUsage_context.aod b/neonContext/AttributeUsage_context/AttributeUsage_context.aod
new file mode 100644
index 0000000000000000000000000000000000000000..520b5db6374fe8a00aea3a0141b481f10407b9c9
--- /dev/null
+++ b/neonContext/AttributeUsage_context/AttributeUsage_context.aod
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0">
+  <name>AttributeUsage_context</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <entity>AttributeUsage_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>6f384e66-886a-4a88-90b2-3fa74447b485</name>
+      <view>AttributeUsageFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>db6545ff-cbf4-4c47-aa52-30ae7e203448</name>
+      <view>AttributeUsageMultiEdit_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonContext/Attribute_context/Attribute_context.aod b/neonContext/Attribute_context/Attribute_context.aod
new file mode 100644
index 0000000000000000000000000000000000000000..63209dcd4c959033893c525a167ee46d0967c84a
--- /dev/null
+++ b/neonContext/Attribute_context/Attribute_context.aod
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0">
+  <name>Attribute_context</name>
+  <title>Attributes</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:TAGS</icon>
+  <mainview>AttributeMain_view</mainview>
+  <filterview>AttributeFilter_view</filterview>
+  <editview>AttributeEdit_view</editview>
+  <preview>AttributePreview_view</preview>
+  <entity>Attribute_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>058f2577-b598-4d92-90ad-628342302a9c</name>
+      <view>AttributeFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>96bf484d-dc8d-42ad-9242-dfefacc87956</name>
+      <view>AttributePreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>59089acc-a6db-48c2-8061-2d3ca8246e37</name>
+      <view>AttributeEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>05d998e7-7364-4425-aefe-3cf284933d52</name>
+      <view>AttributeMain_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonView/AddressEdit_view/AddressEdit_view.aod b/neonView/AddressEdit_view/AddressEdit_view.aod
index e0fa06319ca80dd75e43e38d2c10af3efc74eaac..60a769bd9d3b7e03293cb832b6c904b70a19630c 100644
--- a/neonView/AddressEdit_view/AddressEdit_view.aod
+++ b/neonView/AddressEdit_view/AddressEdit_view.aod
@@ -21,6 +21,10 @@
           <name>d8a7a16b-9d7f-44d7-bbb1-b0404d5b8b8f</name>
           <entityField>COUNTRY</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>e7804363-405d-429d-91c9-23de9685cc9a</name>
+          <entityField>STATE</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>c70668f3-6722-4a90-86d6-0d89be06dbe1</name>
           <entityField>ADDRESS</entityField>
diff --git a/neonView/AddressFilter_view/AddressFilter_view.aod b/neonView/AddressFilter_view/AddressFilter_view.aod
index a4d5fe9263d10885d94fa5b9653a1a85f6634908..78f5d08807b8c870c61f898395c631ad52193115 100644
--- a/neonView/AddressFilter_view/AddressFilter_view.aod
+++ b/neonView/AddressFilter_view/AddressFilter_view.aod
@@ -37,6 +37,10 @@
           <name>10e9e08f-db9b-4789-a4b4-b2a0a750b069</name>
           <entityField>COUNTRY</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>9a965a25-a8aa-4777-865e-138624f2d848</name>
+          <entityField>STATE</entityField>
+        </neonTableColumn>
       </columns>
     </tableViewTemplate>
   </children>
diff --git a/neonView/AddressList_view/AddressList_view.aod b/neonView/AddressList_view/AddressList_view.aod
index e947fb863feb2b6ce28009ea7936885c386dec3c..ab275f2b133aa5e18f0c73f3a177f71a4f29c44a 100644
--- a/neonView/AddressList_view/AddressList_view.aod
+++ b/neonView/AddressList_view/AddressList_view.aod
@@ -22,6 +22,10 @@
           <name>dfaa01a1-0b11-4f92-aa18-89f12ebb2db5</name>
           <entityField>COUNTRY</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>17039f2e-4253-4242-bcc4-b75483adfbd0</name>
+          <entityField>STATE</entityField>
+        </neonTableColumn>
         <neonTableColumn>
           <name>4e5e6a4f-f43e-4861-a912-fb05e576f960</name>
           <entityField>ADDRESS</entityField>
diff --git a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
index b754b2220048536cf7c4ea7dd2944f92bafe5ab6..4192daba616b5f41261d4545ae65b0fb90d82dc5 100644
--- a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
+++ b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
@@ -36,6 +36,10 @@
           <name>d8a7a26b-9d7f-44d7-bbb1-b0404d5b8b2f</name>
           <entityField>COUNTRY</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>945bd8e7-9d0d-4e32-8908-24d8dfb74463</name>
+          <entityField>STATE</entityField>
+        </neonTableColumn>
       </columns>
     </genericMultipleViewTemplate>
   </children>
diff --git a/neonView/AttributeEdit_view/AttributeEdit_view.aod b/neonView/AttributeEdit_view/AttributeEdit_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..5409c8302b77e6c2062b0f7065aa7ea4978de2fd
--- /dev/null
+++ b/neonView/AttributeEdit_view/AttributeEdit_view.aod
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>AttributeEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>AttrEdit_template</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>0c6cd7c6-cced-4719-b0c5-08f8e3d13f2f</name>
+          <entityField>ATTRIBUTE_NAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>8cbc6049-2530-4960-b45f-830f3220889e</name>
+          <entityField>ATTRIBUTE_TYPE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d26696ac-199c-45f0-9147-b75dee3f4b65</name>
+          <entityField>ATTRIBUTE_ACTIVE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>8387ef27-9565-400f-a0d5-ef1d2019b722</name>
+      <entityField>AttributeUsage_dfo</entityField>
+      <view>AttributeUsageMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/AttributeFilter_view/AttributeFilter_view.aod b/neonView/AttributeFilter_view/AttributeFilter_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..c3090529d6cd218b1fe2662d9930498bb9a1d86e
--- /dev/null
+++ b/neonView/AttributeFilter_view/AttributeFilter_view.aod
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>AttributeFilter_view</name>
+  <title>Attributes</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table_template</name>
+      <entityField>#ENTITY</entityField>
+      <title>Attributes</title>
+      <columns>
+        <neonTableColumn>
+          <name>a8065137-406d-49ea-9ebf-a04fbecba2fb</name>
+          <entityField>ATTRIBUTE_NAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>054d2c18-8434-4a47-bc0d-c8782f4d1a8f</name>
+          <entityField>ATTRIBUTE_TYPE</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AttributeMain_view/AttributeMain_view.aod b/neonView/AttributeMain_view/AttributeMain_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..38b0c466d6f319a0bc156fac223aa1eacaba6884
--- /dev/null
+++ b/neonView/AttributeMain_view/AttributeMain_view.aod
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>AttributeMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>b8e5b606-4fbb-4a74-b7c4-ac612a9797f2</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>b8e5b606-4fbb-4a74-b7c4-ac612a9797f2</name>
+      <entityField>#ENTITY</entityField>
+      <view>AttributePreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>d8009eea-f473-4f65-8796-a1ab48ef3b49</name>
+      <entityField>#ENTITY</entityField>
+      <view>AttributeFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>5dee1c0b-c670-4eb9-bd95-6f6474709aa2</name>
+      <entityField>AttributeUsage_dfo</entityField>
+      <view>AttributeUsageFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/AttributePreview_view/AttributePreview_view.aod b/neonView/AttributePreview_view/AttributePreview_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..39928da62cb424594ac8ab1cd284a8743a01ccbf
--- /dev/null
+++ b/neonView/AttributePreview_view/AttributePreview_view.aod
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>AttributePreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Attr_template</name>
+      <titleField>ATTRIBUTE_NAME</titleField>
+      <descriptionField>ATTRIBUTE_TYPE</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AttributeRelationMultiEdit_view/AttributeRelationMultiEdit_view.aod b/neonView/AttributeRelationMultiEdit_view/AttributeRelationMultiEdit_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..e872c8b1638a2da5e853d68863a813bdf62890cd
--- /dev/null
+++ b/neonView/AttributeRelationMultiEdit_view/AttributeRelationMultiEdit_view.aod
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>AttributeRelationMultiEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>GenericMultiple</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>beb3a9bd-ca81-42ce-8d43-d0984946c81e</name>
+          <entityField>AB_ATTRIBUTE_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>29e9bc62-c748-471e-85ae-6c87e8f2dee1</name>
+          <entityField>ATTRIBUTERELATION_VALUE</entityField>
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod b/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..df5ce99c93fe244f3c03b0cc7bb6adc9f2fc7715
--- /dev/null
+++ b/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>AttributeRelationTree_view</name>
+  <title>Attributes</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <autoNewRow v="false" />
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>b37d207a-6119-454a-8fc6-073e9d54b1d3</name>
+          <entityField>AB_ATTRIBUTE_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>83a10d52-9eaf-4901-935e-2a7410831861</name>
+          <entityField>ATTRIBUTERELATION_VALUE</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod b/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..78e83f9ef0da3853e12c6c5274f14cc9ecef5c48
--- /dev/null
+++ b/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>AttributeUsageFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>UsageTable_template</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>ba8d5468-4e59-4ab8-8174-afcca1ae0d9e</name>
+          <entityField>OBJECT_TYPE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>7e7ebe69-2c09-402c-9264-5c5ea48a202b</name>
+          <entityField>MIN_COUNT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>07683f36-9b32-43aa-8bd5-51c3d7761c76</name>
+          <entityField>MAX_COUNT</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod b/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..d4c440597438eeaa4c21caa866e4262314bc19d6
--- /dev/null
+++ b/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>AttributeUsageMultiEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>UsageEdit_template</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>a2efb4ca-4e8d-4e90-9870-2cebf338d95f</name>
+          <entityField>OBJECT_TYPE</entityField>
+          <width v="75" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>0ea0ead0-99a7-460a-ab8a-d3ef5f780682</name>
+          <entityField>MIN_COUNT</entityField>
+          <width v="75" />
+          <expandRatio v="100" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>6fcd2a5b-641f-4b8f-aee0-cb18987b8a04</name>
+          <entityField>MAX_COUNT</entityField>
+          <width v="75" />
+          <expandRatio v="100" />
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OrgEdit_view/OrgEdit_view.aod b/neonView/OrgEdit_view/OrgEdit_view.aod
index 84b506c276756bf85e1101644d23570ec76dc917..3503cc145ffb92d69ca89adcaa7148fff6a550b3 100644
--- a/neonView/OrgEdit_view/OrgEdit_view.aod
+++ b/neonView/OrgEdit_view/OrgEdit_view.aod
@@ -52,5 +52,10 @@
       <entityField>OrgComm_dfo</entityField>
       <view>CommMultiEdit_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>2e648487-73d1-41ce-a562-5ce6bce3b599</name>
+      <entityField>OrgAttr_dfo</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/OrgMain_view/OrgMain_view.aod b/neonView/OrgMain_view/OrgMain_view.aod
index 4c801b173f0262c80eb0aac639b39869794dd878..8c01252daf7d5a6a06a16b8850e01d97513742f8 100644
--- a/neonView/OrgMain_view/OrgMain_view.aod
+++ b/neonView/OrgMain_view/OrgMain_view.aod
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
   <name>OrgMain_view</name>
-  <title></title>
+  <title>Attribute</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
     <masterSlaveLayout>
@@ -40,5 +40,10 @@
       <entityField>OrgContract_dfo</entityField>
       <view>ContractFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>39c98ccb-7f77-4df0-818f-1f302f69fec4</name>
+      <entityField>OrgAttr_dfo</entityField>
+      <view>AttributeRelationTree_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/others/db_changes/data_alias/struct/AditoBasic/create_ab_attribute.xml b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attribute.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ccff0d652557dbee6f8887e42c95b9bfb2ef9023
--- /dev/null
+++ b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attribute.xml
@@ -0,0 +1,29 @@
+<?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="s.listl" id="fbe17fba-5bf7-4203-8f6f-01723e07654c">
+        <createTable tableName="AB_ATTRIBUTE">
+            <column name="AB_ATTRIBUTEID" type="CHAR(36)">
+                <constraints primaryKey="true" primaryKeyName="PK_AB_ATTRIBUTE_AB_ATTRIBUTEID"/>
+            </column>
+            <column name="ATTRIBUTE_PARENT_ID" type="CHAR(36)">
+            </column>
+            <column name="ATTRIBUTE_TYPE" type="NVARCHAR(63)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="ATTRIBUTE_NAME" type="NVARCHAR(63)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="ATTRIBUTE_ACTIVE" type="TINYINT">
+                <constraints nullable="false"/>
+            </column>
+            <column name="USER_NEW" type="NVARCHAR(50)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="USER_EDIT" type="NVARCHAR(50)"/>
+            <column name="DATE_NEW" type="TIMESTAMP">
+                <constraints nullable="false"/>
+            </column>
+            <column name="DATE_EDIT" type="TIMESTAMP"/>
+        </createTable>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributerelation.xml b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributerelation.xml
new file mode 100644
index 0000000000000000000000000000000000000000..77936415efd5e740191953ad7ff7a9fbe013b039
--- /dev/null
+++ b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributerelation.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="s.listl" id="e7699654-7d2f-4657-a0f6-50416f76386b">
+        <createTable tableName="AB_ATTRIBUTERELATION">
+            <column name="AB_ATTRIBUTERELATIONID" type="CHAR(36)">
+                <constraints primaryKey="true" primaryKeyName="PK_AB_ATTRIBUTERELATION_AB_ATTRIBUTERELATIONID"/>
+            </column>
+            <column name="AB_ATTRIBUTE_ID" type="CHAR(36)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="OBJECT_ROWID" type="CHAR(36)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="OBJECT_TYPE" type="NVARCHAR(63)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="CHAR_VALUE" type="NVARCHAR(63)"/>
+            <column name="ID_VALUE" type="CHAR(36)"/>
+            <column name="DATE_VALUE" type="TIMESTAMP"/>
+            <column name="NUMBER_VALUE" type="NUMERIC(14,2)"/>
+            <column name="BOOL_VALUE" type="TINYINT">
+                <constraints nullable="false"/>
+            </column>
+            <column name="USER_NEW" type="NVARCHAR(50)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="USER_EDIT" type="NVARCHAR(50)"/>
+            <column name="DATE_NEW" type="TIMESTAMP">
+                <constraints nullable="false"/>
+            </column>
+            <column name="DATE_EDIT" type="TIMESTAMP"/>
+        </createTable>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributeusage.xml b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributeusage.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0b4aa710596aefc6d3917d1a5775031d4537d990
--- /dev/null
+++ b/others/db_changes/data_alias/struct/AditoBasic/create_ab_attributeusage.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 author="s.listl" id="f303c620-ebe0-4c47-a05a-d987c9a1514d">
+        <createTable tableName="AB_ATTRIBUTEUSAGE">
+            <column name="AB_ATTRIBUTEUSAGEID" type="CHAR(36)">
+                <constraints primaryKey="true" primaryKeyName="PK_AB_ATTRIBUTEUSAGE_AB_ATTRIBUTEUSAGEID"/>
+            </column>
+            <column name="AB_ATTRIBUTE_ID" type="CHAR(36)">
+            </column>
+            <column name="OBJECT_TYPE" type="NVARCHAR(63)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="MIN_COUNT" type="INTEGER"/>
+            <column name="MAX_COUNT" type="INTEGER"/>
+            <column name="USER_NEW" type="NVARCHAR(50)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="USER_EDIT" type="NVARCHAR(50)"/>
+            <column name="DATE_NEW" type="TIMESTAMP">
+                <constraints nullable="false"/>
+            </column>
+            <column name="DATE_EDIT" type="TIMESTAMP"/>
+        </createTable>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/masterChangelog.xml b/others/db_changes/masterChangelog.xml
index 844fde71a102a17cfef132f58bd69350de96b4c2..c55cf19447048d87214f64b25ccbf144ad283619 100644
--- a/others/db_changes/masterChangelog.xml
+++ b/others/db_changes/masterChangelog.xml
@@ -1,6 +1,9 @@
 <?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">
     <include file="data_alias/struct/AditoBasic/create_ab_objectrelation.xml"/>
+    <include file="data_alias/struct/AditoBasic/create_ab_attribute.xml"/>
+    <include file="data_alias/struct/AditoBasic/create_ab_attributerelation.xml"/>
+    <include file="data_alias/struct/AditoBasic/create_ab_attributeusage.xml"/>
     
     <include file="data_alias/struct/create_pers.xml"/>
     <include file="data_alias/struct/create_org.xml"/>
diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
index 3f9daeb173f0de1d87682e389317618aba75d421..336d6b092bda8ab38166821c8d50c82ace586ceb 100644
--- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
+++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
@@ -2,7 +2,7 @@
 <preferences xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="3.0.3" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/preferences/3.0.3">
   <name>_____PREFERENCES_PROJECT</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <projectName>basic 2019</projectName>
+  <projectName>xRM-Basic2019</projectName>
   <jditoMaxContentSize v="57671680" />
   <calendarCategoriesEvent>
     <entry>
diff --git a/process/Attribute_lib/Attribute_lib.aod b/process/Attribute_lib/Attribute_lib.aod
new file mode 100644
index 0000000000000000000000000000000000000000..f50b749c9645b06fd60039a0b9597148d22850c7
--- /dev/null
+++ b/process/Attribute_lib/Attribute_lib.aod
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7">
+  <name>Attribute_lib</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <process>%aditoprj%/process/Attribute_lib/process.js</process>
+  <alias>Data_alias</alias>
+  <variants>
+    <element>LIBRARY</element>
+  </variants>
+</process>
diff --git a/process/Attribute_lib/process.js b/process/Attribute_lib/process.js
new file mode 100644
index 0000000000000000000000000000000000000000..8c541df0b19762c4742612df3c2f65691b46f8b5
--- /dev/null
+++ b/process/Attribute_lib/process.js
@@ -0,0 +1,178 @@
+import("system.translate");
+import("system.neon");
+import("system.vars");
+import("system.db");
+import("Sql_lib");
+
+/**
+ * Provides functions for the work with attributes.
+ * Don't instanciate this!
+ * 
+ * @class
+ */
+function AttributeUtil () {}
+
+AttributeUtil.getPossibleAttributes = function (pObjectType)
+{
+    if (pObjectType == null)
+        return [];
+    
+    var attrSql = "select AB_ATTRIBUTEID, ATTRIBUTE_NAME from AB_ATTRIBUTE"
+        + " join AB_ATTRIBUTEUSAGE  on AB_ATTRIBUTEID = AB_ATTRIBUTE_ID";
+    attrSql = SqlCondition.begin()
+        .andPrepare("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType)
+        .buildSql(attrSql);
+
+    return db.table(attrSql);
+}
+
+AttributeUtil.getAttribute = function ()
+{
+    
+}
+
+AttributeUtil.getAttributes = function ()
+{
+    
+}
+
+AttributeUtil.setAttribute = function ()
+{
+    
+}
+
+
+/**
+ * object for handling values of the AttributeRelation entity
+ */
+function AttributeHandler (pAttrId) 
+{
+    this.attributeId = pAttrId;
+    this._attributeType = null;
+}
+
+AttributeHandler.begin = function (pAttrId)
+{
+    return new AttributeHandler(pAttrId);
+}
+
+/**
+ * gets the type of the attribute by the attributeId, after the first call the value
+ * is stored so that the sql selection is done only once
+ * 
+ * @return {String} attribute type
+ */
+AttributeHandler.prototype._getAttributeType = function () 
+{
+    if (this._attributeType == null && this.attributeId != null)
+    {
+        var attrTypeSelect = "select ATTRIBUTE_TYPE from AB_ATTRIBUTE";
+        attrTypeSelect = SqlCondition.begin()
+            .andPrepare("AB_ATTRIBUTE.AB_ATTRIBUTEID", this.attributeId)
+            .buildSql(attrTypeSelect);
+        this._attributeType = db.cell(attrTypeSelect);
+    }
+    return this._attributeType;
+}
+
+/**
+ * returns the field that belongs to the type of the attribute
+ * 
+ * @return {String} attribute field
+ */
+AttributeHandler.prototype.getAttributeField = function ()
+{
+    return AttributeTypes.getAttributeField(this._getAttributeType());
+}
+
+AttributeHandler.prototype.getAttributeContentType = function ()
+{
+    return AttributeTypes.getContentType(this._getAttributeType());
+}
+
+AttributeHandler.prototype.setAttributeValue = function (pValue)
+{
+    var field = this.getAttributeField();
+    if (field != null && vars.exists(field))
+        neon.setFieldValue(field, pValue)
+    return pValue;
+}
+
+/**
+ * Object for the enumeration of all attribute types.
+ */
+var AttributeTypes = {
+    TEXT : "TEXT",
+    DATE : "DATE",
+    NUMBER : "NUMBER",
+    BOOLEAN : "BOOLEAN",
+    COMBO : "COMBO",
+    GROUP : "GROUP"
+}
+
+/**
+ * returns the required contentType for the given attribute type
+ * 
+ * @param {String} pAttributeType the attribute type 
+ *                  (use the values of the AttributeTypes object, e. g. AttributeTypes.TEXT)
+ * @return {String} the contentType for the attribute
+ */
+AttributeTypes.getContentType = function (pAttributeType)
+{
+    switch (pAttributeType)
+    {
+        case AttributeTypes.TEXT:
+        case AttributeTypes.DATE:
+        case AttributeTypes.NUMBER:
+        case AttributeTypes.BOOLEAN:
+            return pAttributeType;
+        case AttributeTypes.COMBO:
+            return AttributeTypes.TEXT;
+        default:
+            return null; //TODO: change default value maybe
+    }
+}
+
+/**
+ * returns the required field for the given attribute type that holds the value of the attribute
+ * 
+ * @param {String} pAttributeType the attribute type 
+ *                  (use the values of the AttributeTypes object, e. g. AttributeTypes.TEXT)
+ * @return {String} the field for the attribute
+ */
+AttributeTypes.getAttributeField = function (pAttributeType)
+{
+    switch (pAttributeType)
+    {
+        case AttributeTypes.TEXT:
+            return "$field.CHAR_VALUE";
+        case AttributeTypes.DATE:
+            return "$field.DATE_VALUE";
+        case AttributeTypes.NUMBER:
+            return "$field.NUMBER_VALUE";
+        case AttributeTypes.BOOLEAN:
+            return "$field.BOOL_VALUE";
+        case AttributeTypes.COMBO:
+            return "$field.ID_VALUE";
+        default:
+            return null; //TODO: change default value maybe
+    }
+}
+
+/**
+ * Makes a two-dimensional array of the attribute types and the corresponding names.
+ * This is used for the selection of the type when creating an attribute.
+ * 
+ * @return {String[][]} array with attribute types and names
+ */
+AttributeTypes.getTypeList = function ()
+{
+    return [
+        [AttributeTypes.TEXT, translate.text("Text")],
+        [AttributeTypes.DATE, translate.text("Date")],
+        [AttributeTypes.NUMBER, translate.text("${NUMBER}")],
+        [AttributeTypes.BOOLEAN, translate.text("Checkbox")],
+        [AttributeTypes.COMBO, translate.text("Combobox")],
+        [AttributeTypes.GROUP, translate.text("Group")]
+    ];
+}