diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index 4b06d1d2e18d1f2fae72c73363091b50ec7e9526..f0afe7f83e83dab36a2dbc05584550b54e3035e5 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -237,6 +237,18 @@
         </entityParameter>
       </children>
     </entityOutgoingField>
+    <entityField>
+      <name>ENTRYMONTH</name>
+      <title>Month</title>
+      <contentType>DATE</contentType>
+      <resolution>MONTH</resolution>
+      <outputFormat>MMMM yyyy</outputFormat>
+      <groupable v="true" />
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS</element>
+      </onValueChangeTypes>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -288,6 +300,14 @@
           <name>CATEGORY.value</name>
           <recordfield>ACTIVITY.CATEGORY</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ENTRYMONTH.value</name>
+          <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ENTRYMONTH.displayValue</name>
+          <recordfield>ACTIVITY.ENTRYDATE</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/entrymonth.value/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index bd9a6523dbc222728f1b701dc14195fd024d023d..3afab6b640314593a91bff646aa1d356d66732dd 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -771,6 +771,10 @@
       <key>Project decision</key>
       <value>Projektentscheidung</value>
     </entry>
+    <entry>
+      <key>Month</key>
+      <value>Monat</value>
+    </entry>
     <entry>
       <key>Lead</key>
       <value>Lead</value>
diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index 69e3b685213653d6ac3b2d8d08406032a6ef204a..98d834bfa9ad8ce865cd75264e9f550717bee9ff 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -857,6 +857,99 @@ SqlMaskingUtils.prototype.isNull = function(field, replaceWith) {
     return retSql;
 }
 
+/**
+ * gets the day from a timestamp
+ *
+ * @param {String} pField timestamp to get the day from
+ *
+ * @return {String} sql expression that extracts the day from a timestamp
+ */
+SqlMaskingUtils.prototype.dayFromDate = function(pField)
+{
+    var retSql = "";
+
+    switch (this.dbType)
+    {
+        case db.DBTYPE_ORACLE10_CLUSTER:
+        case db.DBTYPE_ORACLE10_THIN:
+        case db.DBTYPE_ORACLE10_OCI:
+            retSql = "to_char(" + pField + ",'dd')";
+            break;
+        case db.DBTYPE_DERBY10:
+        case db.DBTYPE_SQLSERVER2000:
+        case db.DBTYPE_MYSQL4:
+        case db.DBTYPE_MARIADB10:
+            retSql = "DAY(" + pField + ")";
+            break;
+        case db.DBTYPE_POSTGRESQL8:
+            retSql = "EXTRACT (DAY from " + pField + ")";
+            break;
+    }
+    return retSql;
+}
+
+/**
+ * gets the month from a timestamp
+ *
+ * @param {String} pField timestamp to get the month from
+ *
+ * @return {String} sql expression that extracts the month from a timestamp
+ */
+SqlMaskingUtils.prototype.monthFromDate = function(pField)
+{
+    var retSql = "";
+
+    switch (this.dbType)
+    {
+        case db.DBTYPE_ORACLE10_CLUSTER:
+        case db.DBTYPE_ORACLE10_THIN:
+        case db.DBTYPE_ORACLE10_OCI:
+            retSql = "to_char(" + pField + ",'MM')";
+            break;
+        case db.DBTYPE_DERBY10:
+        case db.DBTYPE_SQLSERVER2000:
+        case db.DBTYPE_MYSQL4:
+        case db.DBTYPE_MARIADB10:
+            retSql = "MONTH(" + pField + ")";
+            break;
+        case db.DBTYPE_POSTGRESQL8:
+            retSql = "EXTRACT (MONTH FROM " + pField + ")";
+            break;
+    }
+    return retSql;
+}
+
+/**
+ * gets the year from a timestamp
+ *
+ * @param {String} pField timestamp to get the year from
+ *
+ * @return {String} sql expression that extracts the year from a timestamp
+ */
+SqlMaskingUtils.prototype.yearFromDate = function(pField)
+{
+    var retSql = "";
+
+    switch (this.dbType)
+    {
+        case db.DBTYPE_ORACLE10_CLUSTER:
+        case db.DBTYPE_ORACLE10_THIN:
+        case db.DBTYPE_ORACLE10_OCI:
+            retSql = "to_char(" + pField + ",'yyyy')";
+            break;
+        case db.DBTYPE_DERBY10:
+        case db.DBTYPE_SQLSERVER2000:
+        case db.DBTYPE_MYSQL4:
+        case db.DBTYPE_MARIADB10:
+            retSql = "YEAR(" + pField + ")";
+            break;
+        case db.DBTYPE_POSTGRESQL8:
+            retSql = "EXTRACT (YEAR FROM " + pField + ")";
+            break;
+    }
+    return retSql;
+}
+
 function SqlUtils() {}
 
 SqlUtils.getSingleColumnType = function(fieldOrTableName, columnName, alias) {