tag = 'CAV' Eancom.register_segment(tag: tag, klass: Eancom::Edifact::CAV) structure = Eancom::Edifact::Structure.new(tag: tag) #============================================================================== # Tag # #============================================================================== tag = Eancom::Edifact::Composite.new() data = Eancom::Edifact::Data.new( type: String, length: 3, dictionary: nil, description: "Message Header", required: true ) tag.add(:tag, data) structure << tag #============================================================================== # Characterisitc Value # #============================================================================== characterisitc_value = Eancom::Edifact::Composite.new() data = Eancom::Edifact::Data.new( type: String, length: 0..3, dictionary: { '1' => { description: 'Chest/bust width', identifier: 'chest_bust_width', }, '2' => { description: 'Hip width', identifier: 'hip_width', }, '3' => { description: 'outside leg length', identifier: 'outside_leg_length', }, '*' => { description: 'N/A', identifier: 'n_a' } }, description: 'Characterisitc value description code', required: false ) characterisitc_value.add(:characterisitc_value_description_code, data) data = Eancom::Edifact::Data.new( type: String, length: 0..17, dictionary: nil, description: 'Code list identification code', required: false ) characterisitc_value.add(:code_list_identification_code, data) data = Eancom::Edifact::Data.new( type: String, length: 0..3, dictionary: { '9' => { description: 'GS1', identifier: 'gs1', }, '60' => { description: 'Assigned by national trade agency', identifier: 'assigned_by_national_trade_agency', }, '91' => { description: 'Assigned by supplier or suppliers agent', identifier: 'assigned_by_supplier_or_suppliers_agent', }, '92' => { description: 'Assigned by buyer or buyers agent', identifier: 'assigned_by_buyer_or_buyers_agent', }, '174' => { description: 'DE, DIN', identifier: 'de_din', }, }, description: 'Code List responsibility Agency code', required: false ) characterisitc_value.add(:code_list_respobsibility_agency_code, data) data = Eancom::Edifact::Data.new( type: String, length: 0..35, dictionary: { 'RIGHTRET5' => { description: 'FULL', identifier: 'full', }, 'RIGHTRET6' => { description: 'PARTIAL', identifier: 'partial', }, '*' => { description: 'N/A', identifier: 'n_a', } }, description: 'Characterisitc value description', required: false ) characterisitc_value.add(:characterisitc_value_description_1, data) data = Eancom::Edifact::Data.new( type: String, length: 0..35, dictionary: nil, description: 'Characterisitc value description', required: false ) characterisitc_value.add(:characterisitc_value_description_2, data) structure << characterisitc_value #============================================================================== Eancom.register_structure(tag: 'CAV', structure: structure)