tag = 'PAT' Eancom.register_segment(tag: tag, klass: Eancom::Edifact::PAT) 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 delivery_or_transport_terms_function_code = Eancom::Edifact::Composite.new data = Eancom::Edifact::Data.new( type: String, length: 1..3, dictionary: { '3' => { description: 'Price and despatch condition', identification: 'price_and_despatch_condition' }, '5' => { description: 'Transport condition', identification: 'transport_condition' }, '6' => { description: 'Delivery condition', identification: 'delivery_condition' }, '10E' => { description: 'Delivered by supplier (GS1 Temorary Code)', identification: 'delivered_by_supplier_gs1' } }, description: 'Delivery or transport terms function code', required: false ) delivery_or_transport_terms_function_code.add(:delivery_or_transport_terms_function_code, data) structure << delivery_or_transport_terms_function_code #============================================================================== # TERMS OF DELIVERY OR TRANSPORT # #============================================================================== delivery_or_transport_terms_description_code = Eancom::Edifact::Composite.new data = Eancom::Edifact::Data.new( type: String, length: 1..3, dictionary: nil, description: 'Delivery or transport terms description code', required: false ) delivery_or_transport_terms_description_code.add(:delivery_or_transport_terms_description_code, data) structure << delivery_or_transport_terms_description_code #============================================================================== Eancom.register_structure(tag: 'TOD', structure: structure)