Syntax Notes - olmelabs/EdiEngine GitHub Wiki

There are 5 Syntax Notes types in EDI X12.

C - Conditional If the first element specified in the condition is present, then all others must be present.

E - Exclusion Not more than one can be present.

L - List Conditional If the first element specified is present, then at least one of the remaining elements must be present.

P - Paired If any element specified in the relational condition is present, then all must be present.

R - Required At least one specified in the relational condition must be present.

All types are now supported. Example syntax on PO 1 segment

public class PO1 : MapSegment
{
	public PO1()
	{
		SyntaxNotes.AddRange(new[] { "C0302", "C0504", "P0607", "P0809", "P1011", 
                        "P1213", "P1415", "P1617", "P1819", "P2021", "P2223", "P2425" });

		Content.AddRange(new MapBaseDataElement[] {
			new E_0350 { ReqDes = RequirementDesignator.Optional },
			new E_0330 { ReqDes = RequirementDesignator.Optional },
			new E_0355 { ReqDes = RequirementDesignator.Optional },
			new E_0212 { ReqDes = RequirementDesignator.Optional },
			new E_0639 { ReqDes = RequirementDesignator.Optional },
			new E_0235 { ReqDes = RequirementDesignator.Optional },
			new E_0234 { ReqDes = RequirementDesignator.Optional },
			new E_0235 { ReqDes = RequirementDesignator.Optional },
			new E_0234 { ReqDes = RequirementDesignator.Optional },
			new E_0235 { ReqDes = RequirementDesignator.Optional },
			new E_0234 { ReqDes = RequirementDesignator.Optional },
			new E_0235 { ReqDes = RequirementDesignator.Optional },
			new E_0234 { ReqDes = RequirementDesignator.Optional },
			new E_0235 { ReqDes = RequirementDesignator.Optional },
			new E_0234 { ReqDes = RequirementDesignator.Optional },
			new E_0235 { ReqDes = RequirementDesignator.Optional },
			new E_0234 { ReqDes = RequirementDesignator.Optional },
			new E_0235 { ReqDes = RequirementDesignator.Optional },
			new E_0234 { ReqDes = RequirementDesignator.Optional },
			new E_0235 { ReqDes = RequirementDesignator.Optional },
			new E_0234 { ReqDes = RequirementDesignator.Optional },
			new E_0235 { ReqDes = RequirementDesignator.Optional },
			new E_0234 { ReqDes = RequirementDesignator.Optional },
			new E_0235 { ReqDes = RequirementDesignator.Optional },
			new E_0234 { ReqDes = RequirementDesignator.Optional },
		});
	}
}