tag = 'CDI' Eancom.register_segment(tag: tag, klass: Eancom::Edifact::CDI) 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 #============================================================================== # Contact function code # #============================================================================== physical_or_logical_state_type_code_qualifier = Eancom::Edifact::Composite.new() data = Eancom::Edifact::Data.new( type: String, length: 1..3, dictionary: { '3E' => { description: 'Upon return (GS1 temporary code)', identifier: 'upon_return' } }, description: 'Physical or logical state type code qualifier', required: true ) physical_or_logical_state_type_code_qualifier.add(:physical_or_logical_state_type_code_qualifier, data) structure << physical_or_logical_state_type_code_qualifier Eancom.register_structure(tag: 'CDI', structure: structure)