tag = 'DOC' Eancom.register_segment(tag: tag, klass: Eancom::Edifact::DOC) structure = Eancom::Edifact::Structure.new(tag: tag) #============================================================================== # Tag # #============================================================================== tag = Eancom::Edifact::Composite.new data = Eancom::Edifact::Data.new( type: String, length: 1..3, dictionary: nil, description: 'Message Header', required: true ) tag.add(:tag, data) structure << tag #============================================================================== # DOCUMENT/MESSAGE NAME # #============================================================================== document_name_code = Eancom::Edifact::Composite.new data = Eancom::Edifact::Data.new( type: String, length: 1..3, dictionary: { '270' => { description: 'Delivery note' }, '381' => { description: 'Credit note - goods and services' }, '71E' => { description: 'Instruction for returns (GS1 Temporary Code)' } }, description: 'Document name code', required: false ) document_name_code.add(:document_name_code, data) structure << document_name_code #============================================================================== Eancom.register_structure(tag: 'DOC', structure: structure)