diff --git a/OneM2M_PermutationFunctions.ttcn b/OneM2M_PermutationFunctions.ttcn
index 9f5061cd09be52513cac4d53ce0dc5b5878278bb..e74cd570ac94c2e3119c90800b67fee1f4be1547 100644
--- a/OneM2M_PermutationFunctions.ttcn
+++ b/OneM2M_PermutationFunctions.ttcn
@@ -3996,11 +3996,11 @@ module OneM2M_PermutationFunctions {
 					function f_CSE_DMR_CRE_022(ResourceType p_resourceType, template RequestPrimitive p_requestPrimitive, template RequestPrimitive p_requestAnnc) runs on AeSimu system CseSystem {
     				
 						// Local variables
-						var MsgIn v_response;
-						var RequestPrimitive v_request;
+						var integer v_aeIndex := -1;
 						var integer v_parentIndex := -1;
-						var integer v_containerIndex := -1;
-											   
+						var template RequestPrimitive v_create := m_createAe(PX_TS_AE1.appId, omit, omit);
+						v_create.primitiveContent.aE.announceTo := {PX_TS_CSE1.cseId};
+				  							   
 						// Test control
     				
 						// Test component configuration
@@ -4009,21 +4009,28 @@ module OneM2M_PermutationFunctions {
 						// Test adapter configuration
     				
 						// Preamble
-						v_parentIndex := f_cse_preamble_registerAe();//c_CRUDNDi);
+						vc_cse1.start(f_cse_registerRemoteCse(m_createRemoteCSE_poa(-, -, -, -, {f_getCompletePoA()})));
+						f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);						
 						
+						vc_cse1.start(f_cse_announcementProcedure_createHandler(mw_createAEAnnc(-, -, -)));
+						v_aeIndex := f_cse_createResource(int2,v_create);
+						f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+					  
 						if(p_resourceType == int4) {
-							v_containerIndex := f_cse_createResource(int3, m_createContainerBase, v_parentIndex);
-							v_parentIndex := v_containerIndex;	
+							v_create := m_createContainerBase;
+							v_create.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId};
+							vc_cse1.start(f_cse_announcementProcedure_createHandler());
+							v_parentIndex := f_cse_createResource(int3, v_create, v_aeIndex);
+							f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+					  } else {
+							v_parentIndex := v_aeIndex;
 						}
 					
 						// Test Body
-						v_request := f_getCreateRequestPrimitive(p_resourceType, p_requestPrimitive, v_parentIndex);
-						
-						f_send(e_mcaPort, m_request(v_request));
-						
-						vc_cse1.start(f_cse_receiveCreateRequest_cseSimu(p_requestAnnc));
-						vc_cse1.done;	
-    								
+						vc_cse1.start(f_cse_announcementProcedure_createHandler(p_requestAnnc));	
+						f_cse_createResource(p_resourceType, p_requestPrimitive, v_parentIndex);
+						f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+									
 						// Postamble
 						f_cse_postamble_deleteResources();
 					
@@ -4057,14 +4064,18 @@ module OneM2M_PermutationFunctions {
 					  	f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 					  
 						if(p_resourceType == int4) {
-							v_parentIndex := f_cse_createResource(int3, m_createContainerBase, v_aeIndex);
-						} else {
+							v_create := m_createContainerBase;
+							v_create.primitiveContent.container.announceTo := {PX_TS_CSE1.cseId};
+							vc_cse1.start(f_cse_announcementProcedure_createHandler());
+							v_parentIndex := f_cse_createResource(int3, v_create, v_aeIndex);
+							f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
+					  } else {
 							v_parentIndex := v_aeIndex;
 						}
 	
 						// Test Body
 						vc_cse1.start(f_cse_announcementProcedure_createHandler(p_requestAnnc));	
-					 	f_cse_createResource(p_resourceType, p_requestPrimitive, v_aeIndex);
+					 	f_cse_createResource(p_resourceType, p_requestPrimitive, v_parentIndex);
 						f_aeSimu_checkComponentDoneAndGetVerdict(vc_cse1);
 									
 						// Postamble