diff --git a/.liquibase/Data_alias/basic/2019.2/CampaignManagement/create_campaignStep.xml b/.liquibase/Data_alias/basic/2019.2/CampaignManagement/create_campaignStep.xml
index 377cb13f6c1cf81663d3d3da7ebbd6a9ffb99b24..5b29140f9217ba97d26f811e0220b564f6ad6488 100644
--- a/.liquibase/Data_alias/basic/2019.2/CampaignManagement/create_campaignStep.xml
+++ b/.liquibase/Data_alias/basic/2019.2/CampaignManagement/create_campaignStep.xml
@@ -38,6 +38,7 @@
             </column>
             <column name="USER_EDIT" type="NVARCHAR(50)" />
             <column name="DATE_EDIT" type="DATE" />
+            <column name="PREDECESSORSTEP_ID" type="CHAR(36)" />
         </createTable>
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 7f8d378183aea50feb63acbf4e90f2e036c3e059..2cfe22f1fe3935a5b69e7cdf3fc9dad29cc90f3b 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -9131,6 +9131,20 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>PREDECESSORSTEP_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>
             </entityFields>
           </entityDb>
           <entityDb>
diff --git a/entity/CampaignStep_entity/CampaignStep_entity.aod b/entity/CampaignStep_entity/CampaignStep_entity.aod
index f6294fddc0315593014e528dd84929390a21dc3c..7aa1787d28c96d4ebdcd2058705f775fe4b29b7a 100644
--- a/entity/CampaignStep_entity/CampaignStep_entity.aod
+++ b/entity/CampaignStep_entity/CampaignStep_entity.aod
@@ -136,6 +136,12 @@
           <fieldName>CampaignStepsReadonly</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>db1a63f3-753b-423d-9ab9-db3d03315dc6</name>
+          <entityName>CampaignStep_entity</entityName>
+          <fieldName>CampaignStepsConsumer</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
@@ -312,6 +318,31 @@
       <onActionProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
+    <entityField>
+      <name>PREDECESSORSTEP_ID</name>
+      <title>Predecessor</title>
+      <color></color>
+      <consumer>CampaignStepsConsumer</consumer>
+      <textInputAllowed v="true" />
+      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/predecessorstep_id/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityConsumer>
+      <name>CampaignStepsConsumer</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignStep_entity</entityName>
+        <fieldName>CampaignSteps</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>campaignId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/campaignid_param/valueProcess.js</valueProcess>
+          <expose v="true" />
+          <mandatory v="true" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -397,6 +428,10 @@
           <name>CAMPAIGN_ID.displayValue</name>
           <expression>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/campaign_id.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PREDECESSORSTEP_ID.value</name>
+          <recordfield>CAMPAIGNSTEP.PREDECESSORSTEP_ID</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/campaignid_param/valueProcess.js b/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/campaignid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b2482a5e35fe9e1a55eb568ff5a3798b696dbfbf
--- /dev/null
+++ b/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/campaignid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.CAMPAIGN_ID"));
\ No newline at end of file
diff --git a/entity/CampaignStep_entity/entityfields/predecessorstep_id/displayValueProcess.js b/entity/CampaignStep_entity/entityfields/predecessorstep_id/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..ee5fd1723b8c9a7b8e2420b1a7449723d599a9f7
--- /dev/null
+++ b/entity/CampaignStep_entity/entityfields/predecessorstep_id/displayValueProcess.js
@@ -0,0 +1,11 @@
+import("system.vars");
+import("Campaign_lib");
+import("system.result");
+
+var campaignStepName = "";
+var campaignStepId = vars.get("$field.PREDECESSORSTEP_ID");
+
+if(campaignStepId != "")
+    campaignStepName = CampaignUtils.getCampaignStepNameById(campaignStepId);
+
+result.string(campaignStepName);
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index f064d610834d2e0cd5189da657630918584e84fb..6d5b796d84c1347bc70034bbfc75cb93632ab0eb 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -3828,12 +3828,6 @@
     <entry>
       <key>New step</key>
     </entry>
-    <entry>
-      <key>e</key>
-    </entry>
-    <entry>
-      <key>huhu</key>
-    </entry>
     <entry>
       <key>Runtime</key>
     </entry>
@@ -3858,6 +3852,12 @@
     <entry>
       <key>Per participant</key>
     </entry>
+    <entry>
+      <key>Runtime</key>
+    </entry>
+    <entry>
+      <key>Predecessor</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 078d4602b95dbad69d049134575da9170d3f13ad..281a90591cb1312b7dc8a369c75df6a149f5ad6f 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -4792,12 +4792,6 @@
       <key>Runtime</key>
       <value>Laufzeit</value>
     </entry>
-    <entry>
-      <key>e</key>
-    </entry>
-    <entry>
-      <key>huhu</key>
-    </entry>
     <entry>
       <key>Street</key>
     </entry>
@@ -4819,6 +4813,10 @@
       <key>Per participant</key>
       <value>Pro Teilnehmer</value>
     </entry>
+    <entry>
+      <key>Predecessor</key>
+      <value>Vorgänger</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 05c625c58503e5c26abde7acca07f01f710abd8d..c915317edd393e13731a157abf7edf40c66ce3b0 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -3909,6 +3909,9 @@
     <entry>
       <key>Per participant</key>
     </entry>
+    <entry>
+      <key>Predecessor</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod b/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod
index 7c5c1ed02a31713ae7a8dabcd98416ca0c4573ae..cbaf32680bb9aa96be934e55926b1cb8db7919c1 100644
--- a/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod
+++ b/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod
@@ -44,6 +44,10 @@
           <name>981cf207-6e9b-428e-bd81-0d76b4b2f180</name>
           <entityField>DESCRIPTION</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>568fd355-f13f-4b40-801e-614790091fc5</name>
+          <entityField>PREDECESSORSTEP_ID</entityField>
+        </entityFieldLink>
       </fields>
     </genericViewTemplate>
   </children>
diff --git a/neonView/CampaignStepPreview_view/CampaignStepPreview_view.aod b/neonView/CampaignStepPreview_view/CampaignStepPreview_view.aod
index 1412f14a597ed8f6d50e6697cab7893400e89043..d08ef3dfc477d11da7a0227415d35e4ad60a657b 100644
--- a/neonView/CampaignStepPreview_view/CampaignStepPreview_view.aod
+++ b/neonView/CampaignStepPreview_view/CampaignStepPreview_view.aod
@@ -36,6 +36,16 @@
         </entityFieldLink>
       </fields>
     </genericViewTemplate>
+    <genericViewTemplate>
+      <name>Predecessor</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>c5c7eff5-da6d-4664-9bdc-1cae9dcec461</name>
+          <entityField>PREDECESSORSTEP_ID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
     <genericViewTemplate>
       <name>CampaignId</name>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod b/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod
index d1aca8f45ec5712c67072711a40b678741812407..ab23a36c8531eac45449e5ed6cfb4cd1c6dd7f47 100644
--- a/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod
+++ b/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod
@@ -15,6 +15,8 @@
       <titleField>NAME</titleField>
       <descriptionField>DESCRIPTION</descriptionField>
       <uidField>CAMPAIGNSTEPID</uidField>
+      <stepPredecessorIdField>PREDECESSORSTEP_ID</stepPredecessorIdField>
+      <groupedProjectIdField>CAMPAIGN_ID</groupedProjectIdField>
       <entityField>#ENTITY</entityField>
       <title></title>
     </ganttViewTemplate>