diff --git a/e2sm/lib/E2SM-RC-ActionDefinition.c b/e2sm/lib/E2SM-RC-ActionDefinition.c
index a8e2a57..3d18e81 100644
--- a/e2sm/lib/E2SM-RC-ActionDefinition.c
+++ b/e2sm/lib/E2SM-RC-ActionDefinition.c
@@ -1,8 +1,8 @@
 /*
  * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
  * From ASN.1 module "E2SM-RC-IEs"
- * 	found in "e2sm-rc-nov2021.asn"
- * 	`asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example -D .`
+ * 	found in "e2sm_rc.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -findirect-choice -pdu=auto -gen-PER -gen-OER -no-gen-example`
  */
 
 #include "E2SM-RC-ActionDefinition.h"
@@ -10,6 +10,7 @@
 #include "E2SM-RC-ActionDefinition-Format1.h"
 #include "E2SM-RC-ActionDefinition-Format2.h"
 #include "E2SM-RC-ActionDefinition-Format3.h"
+#include "E2SM-RC-ActionDefinition-Format4.h"
 static asn_oer_constraints_t asn_OER_type_ric_actionDefinition_formats_constr_3 CC_NOTUSED = {
 	{ 0, 0 },
 	-1};
@@ -46,11 +47,21 @@
 		0, 0, /* No default value */
 		"actionDefinition-Format3"
 		},
+	{ ATF_POINTER, 0, offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, choice.actionDefinition_Format4),
+		(ASN_TAG_CLASS_CONTEXT | (3 << 2)),
+		-1,	/* IMPLICIT tag at current level */
+		&asn_DEF_E2SM_RC_ActionDefinition_Format4,
+		0,
+		{ 0, 0, 0 },
+		0, 0, /* No default value */
+		"actionDefinition-Format4"
+		},
 };
 static const asn_TYPE_tag2member_t asn_MAP_ric_actionDefinition_formats_tag2el_3[] = {
     { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* actionDefinition-Format1 */
     { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* actionDefinition-Format2 */
-    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* actionDefinition-Format3 */
+    { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* actionDefinition-Format3 */
+    { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* actionDefinition-Format4 */
 };
 static asn_CHOICE_specifics_t asn_SPC_ric_actionDefinition_formats_specs_3 = {
 	sizeof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats),
@@ -58,7 +69,7 @@
 	offsetof(struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats, present),
 	sizeof(((struct E2SM_RC_ActionDefinition__ric_actionDefinition_formats *)0)->present),
 	asn_MAP_ric_actionDefinition_formats_tag2el_3,
-	3,	/* Count of tags in the map */
+	4,	/* Count of tags in the map */
 	0, 0,
 	3	/* Extensions start */
 };
@@ -73,7 +84,7 @@
 	0,	/* No tags (count) */
 	{ &asn_OER_type_ric_actionDefinition_formats_constr_3, &asn_PER_type_ric_actionDefinition_formats_constr_3, CHOICE_constraint },
 	asn_MBR_ric_actionDefinition_formats_3,
-	3,	/* Elements count */
+	4,	/* Elements count */
 	&asn_SPC_ric_actionDefinition_formats_specs_3	/* Additional specs */
 };
 
