diff --git a/.gitignore b/.gitignore
index 5601d3bbb232b817dddb815531d4697e507721ab..8e0205a449e01acb7efd65ef653308fadc31a32a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 .project
 .classpath
 /.settings
+/.bpmn
\ No newline at end of file
diff --git a/src/main/java/org/etsi/osl/osom/management/MetricoOrchestrationService.java b/src/main/java/org/etsi/osl/osom/management/MetricoOrchestrationService.java
index d2ee32a5c4218e3b0723796d2272ce9622702d61..5d938d7c7b6e9d92dfb17ebb5e183bdae8311a71 100644
--- a/src/main/java/org/etsi/osl/osom/management/MetricoOrchestrationService.java
+++ b/src/main/java/org/etsi/osl/osom/management/MetricoOrchestrationService.java
@@ -161,7 +161,7 @@ public class MetricoOrchestrationService implements JavaDelegate {
             su = new ServiceUpdate();// the object to update the service
             MeasurementCollectionJob mcj = serviceOrderManager.addMeasurementCollectionJob(mcjFVO);
             if  (mcj != null){
-              logger.info("Measurement Collection Job was not created.");
+              logger.info("Measurement Collection Job was created.");
 
               serviceCharacteristic = new Characteristic();              
               serviceCharacteristic.setName( "_MT_MCJ_REFID" );
@@ -171,7 +171,15 @@ public class MetricoOrchestrationService implements JavaDelegate {
               val.setAlias( "" );              
               serviceCharacteristic.setValue(val);
               su.addServiceCharacteristicItem(serviceCharacteristic);
-              
+
+			  MeasurementCollectionJobMVO mcjMVO = new MeasurementCollectionJobMVO();
+			  mcjMVO.setExecutionState(ExecutionStateType.ACKNOWLEDGED);
+			  try {
+				  serviceOrderManager.updateMeasurementCollectionJobById(mcj.getUuid(), mcjMVO);
+			  } catch (IOException e) {
+				  throw new RuntimeException(e);
+			  }
+
             } else {
               logger.error("Measurement Collection Job was not created.");
               su.setState(ServiceStateType.TERMINATED);
diff --git a/src/main/java/org/etsi/osl/osom/management/ServiceOrderManager.java b/src/main/java/org/etsi/osl/osom/management/ServiceOrderManager.java
index 54bc509931a98b683ede8b543afa2c023a7af1a4..55c4dc0746ec57949651c93b2b94607fc91a5e63 100644
--- a/src/main/java/org/etsi/osl/osom/management/ServiceOrderManager.java
+++ b/src/main/java/org/etsi/osl/osom/management/ServiceOrderManager.java
@@ -37,6 +37,7 @@ import org.etsi.osl.model.nfv.ScaleDescriptor;
 import org.etsi.osl.osom.serviceactions.NSActionRequestPayload;
 import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJob;
 import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJobFVO;
+import org.etsi.osl.tmf.pm628.model.MeasurementCollectionJobMVO;
 import org.etsi.osl.tmf.pm632.model.Organization;
 import org.etsi.osl.tmf.rcm634.model.LogicalResourceSpecification;
 import org.etsi.osl.tmf.rcm634.model.ResourceSpecification;
@@ -200,6 +201,9 @@ public class ServiceOrderManager {
     @Value("${PM_MEASUREMENT_COLLECTION_JOB_ADD}")
     private String PM_MEASUREMENT_COLLECTION_JOB_ADD = "";
 
+	@Value("${PM_MEASUREMENT_COLLECTION_JOB_UPDATE}")
+	private String PM_MEASUREMENT_COLLECTION_JOB_UPDATE;
+
     
 	@Transactional
 	public void processOrder(ServiceOrder serviceOrder) {
@@ -1167,6 +1171,39 @@ public class ServiceOrderManager {
     return null;
 }
 
+	/**
+	 * Updates a Measurement Collection Job in the database using the given Measurement Collection Job ID and update information.
+	 *
+	 * @param mcjId  the ID of the Measurement Collection Job to update
+	 * @param mcjMVO the update information for the Measurement Collection Job
+	 * @return the updated Measurement Collection Job, or null if the job could not be updated
+	 */
+	public MeasurementCollectionJob updateMeasurementCollectionJobById(String mcjId, MeasurementCollectionJobMVO mcjMVO) throws IOException {
+
+		MeasurementCollectionJob measurementCollectionJob;
+		logger.debug("will update MeasurementCollectionJob with id "+ mcjId+" and \nMeasurementCollectionJob.toString():\n"+ toJsonString(mcjMVO));
+
+
+        try {
+			Map<String, Object> map = new HashMap<>();
+			map.put("mcjid", mcjId);
+
+			Object response = template.requestBodyAndHeaders(PM_MEASUREMENT_COLLECTION_JOB_UPDATE, toJsonString(mcjMVO), map);
+			logger.info("JsonUtil.toJsonString(mcjMVO): \n" + toJsonString(mcjMVO));
+			if (!(response instanceof String)) {
+				logger.error("MeasurementCollectionJob object is wrong.");
+				return null;
+			}
+			measurementCollectionJob = toJsonObj((String) response, MeasurementCollectionJob.class);
+			logger.info("response from PM_MEASUREMENT_COLLECTION_JOB_UPDATE: " + response);
+			return measurementCollectionJob;
+		} catch (Exception e) {
+			e.printStackTrace();
+			logger.error("Cannot update MeasurementCollectionJob with id " + mcjId + ":\n" + e.toString());
+		}
+		return null;
+	}
+
   
 
 
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 55f42c5636cfe3b05067d1761724e6c8d98b354e..baeda0136ce55d5294b0f944dfa4adccf9e7c1d0 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -127,4 +127,5 @@ CRD_DELETE_CR_REQ: "jms:queue:CRD.DELETE.CR_REQ"
 CRD_PATCH_CR_REQ: "jms:queue:CRD.PATCH.CR_REQ"
 
 #TMF628 ACTIONS
-PM_MEASUREMENT_COLLECTION_JOB_ADD:         "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.ADD"
\ No newline at end of file
+PM_MEASUREMENT_COLLECTION_JOB_ADD:         "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.ADD"
+PM_MEASUREMENT_COLLECTION_JOB_UPDATE:      "jms:queue:PM.MEASUREMENTCOLLECTIONJOB.UPDATE"
\ No newline at end of file