definitions/segments/alc.rb in eancom-1.6.3 vs definitions/segments/alc.rb in eancom-2.0.0
- old
+ new
@@ -3,25 +3,25 @@
structure = Eancom::Edifact::Structure.new(tag: tag)
#==============================================================================
# Tag #
#==============================================================================
-tag = Eancom::Edifact::Composite.new()
+tag = Eancom::Edifact::Composite.new
data = Eancom::Edifact::Data.new(
type: String,
length: 3,
dictionary: nil,
- description: "Message Header",
+ description: 'Message Header',
required: true
)
tag.add(:tag, data)
structure << tag
#==============================================================================
# Allowance or Charge code qualifier
#==============================================================================
-allowance_or_charge_code_qualifier = Eancom::Edifact::Composite.new()
+allowance_or_charge_code_qualifier = Eancom::Edifact::Composite.new
data = Eancom::Edifact::Data.new(
type: String,
length: 1..3,
dictionary: {
'A' => {
@@ -30,181 +30,273 @@
},
'C' => {
description: 'Charge',
identifier: 'charge'
},
+ 'N' => {
+ description: 'No allowance or charge',
+ identifier: 'no_allowance_or_charge'
+ }
},
- description: "Allowance or Charge code qualifier",
+ description: 'Allowance or Charge code qualifier',
required: true
)
allowance_or_charge_code_qualifier.add(:allowance_or_charge_code_qualifier, data)
structure << allowance_or_charge_code_qualifier
#==============================================================================
# Allowance/Charge information
#==============================================================================
-allowance_charge_information = Eancom::Edifact::Composite.new()
+allowance_charge_information = Eancom::Edifact::Composite.new
data = Eancom::Edifact::Data.new(
type: String,
length: 0..35,
dictionary: nil,
- description: "Allowance or charge identifier",
+ description: 'Allowance or charge identifier',
required: false
)
allowance_charge_information.add(:allowance_or_charge_identifier, data)
data = Eancom::Edifact::Data.new(
type: String,
length: 0..3,
dictionary: {
- '64' =>{
+ '64' => {
description: 'Special agreement',
- identifier: 'special_agreement',
+ identifier: 'special_agreement'
},
- '69' =>{
+ '69' => {
description: 'Charge for a customer specific finish',
- identifier: 'charge_for_a_customer_specific_finisch',
+ identifier: 'charge_for_a_customer_specific_finisch'
},
- '64E' =>{
+ '64E' => {
description: 'Yearly turnover allowance/charge',
- identifier: 'yearly_turnover_allowance_charge',
+ identifier: 'yearly_turnover_allowance_charge'
},
+ '101' => {
+ description: 'Carbon footprint charge',
+ identifier: 'carbon_footprint_charge'
+ }
},
- description: "Allowance or charge identification code",
+ description: 'Allowance or charge identification code',
required: false
)
allowance_charge_information.add(:allowance_or_charge_identification_code, data)
data = Eancom::Edifact::Data.new(
type: String,
length: 0..3,
dictionary: {
'1' => {
description: 'Bill back',
- identifier: 'bill_back',
+ identifier: 'bill_back'
},
'2' => {
description: 'Off invoice',
- identifier: 'off_invoice',
+ identifier: 'off_invoice'
},
'5' => {
description: 'Charge to be paid by vendor',
- identifier: 'charge_to_be_paid_by_vendor',
+ identifier: 'charge_to_be_paid_by_vendor'
},
'6' => {
description: 'Charge to be paid by customer',
- identifier: 'charge_to_be_paid_by_customer',
- },
+ identifier: 'charge_to_be_paid_by_customer'
+ }
},
- description: "Settlement mean code",
+ description: 'Settlement mean code',
required: false
)
allowance_charge_information.add(:settlement_mean_code, data)
data = Eancom::Edifact::Data.new(
type: String,
length: 0..3,
dictionary: {
'1' => {
description: 'First step of calculation',
- identifier: 'first_step_of_calculation',
+ identifier: 'first_step_of_calculation'
},
'2' => {
description: 'Second step of calculation',
- identifier: 'second_step_of_calculation',
+ identifier: 'second_step_of_calculation'
},
'3' => {
description: 'Third step of calculation',
- identifier: 'third_step_of_calculation',
+ identifier: 'third_step_of_calculation'
},
'4' => {
description: 'Forth step of calculation',
- identifier: 'forth_step_of_calculation',
+ identifier: 'forth_step_of_calculation'
},
'5' => {
description: 'Fith step of calculation',
- identifier: 'fith_step_of_calculation',
+ identifier: 'fith_step_of_calculation'
},
'6' => {
description: 'Sixth step of calculation',
- identifier: 'sixth_step_of_calculation',
+ identifier: 'sixth_step_of_calculation'
},
'7' => {
description: 'Seventh step of calculation',
- identifier: 'seventh_step_of_calculation',
+ identifier: 'seventh_step_of_calculation'
},
'8' => {
description: 'Eighth step of calculation',
- identifier: 'eighth_step_of_calculation',
+ identifier: 'eighth_step_of_calculation'
},
'9' => {
description: 'Ninth step of calculation',
- identifier: 'ninth_step_of_calculation',
- },
+ identifier: 'ninth_step_of_calculation'
+ }
},
- description: "Calculation sequence code",
+ description: 'Calculation sequence code',
required: false
)
allowance_charge_information.add(:calculation_sequence_code, data)
structure << allowance_charge_information
#==============================================================================
# Special Services identification
#==============================================================================
-special_services_identification = Eancom::Edifact::Composite.new()
+special_services_identification = Eancom::Edifact::Composite.new
data = Eancom::Edifact::Data.new(
type: String,
length: 1..3,
dictionary: {
'AJ' => {
description: 'Adjustments',
identifier: 'adjustments'
},
+ 'DDA' => {
+ description: 'Dealer discount/allowance (GS1 Temporary Code)',
+ identifier: 'dealer_discount_allowance_gs1'
+ },
+ 'DBD' => {
+ description: 'Debtor bound (GS1 Temporary Code)',
+ identifier: 'debtor_bound'
+ },
'CAC' => {
description: 'Cash Discount',
identifier: 'cash_discount'
},
+ 'CAV' => {
+ description: 'Battery collection and recycling',
+ identifier: 'battery_collection_and_recycling'
+ },
+ 'CAU' => {
+ description: 'Sorting',
+ identifier: 'sorting'
+ },
+ 'CAW' => {
+ description: 'Product Take Back Fee',
+ identifier: 'product_take_back_fee'
+ },
'AEK' => {
description: 'Cash on delivery service',
identifier: 'cash_on_delivery_service'
},
+ 'AAB' => {
+ description: 'Returned goods charges',
+ identifier: 'returned_goods_charges'
+ },
+ 'ABA' => {
+ description: 'Compulsory storage fee',
+ identifier: 'compulsory_storage_fee'
+ },
+ 'ABL' => {
+ description: 'Packaging surcharge',
+ identifier: 'packaging_surcharge'
+ },
+ 'ABZ' => {
+ description: 'Miscellaneous rebate or discount',
+ identifier: 'miscellaneous_rebate_or_discount'
+ },
+ 'ACZ' => {
+ description: 'Damaged merchandise',
+ identifier: 'damaged_merchandise'
+ },
+ 'ADS' => {
+ description: 'Full pallet ordering',
+ identifier: 'full_pallet_ordering'
+ },
+ 'ADT' => {
+ description: 'Pick-up',
+ identifier: 'pick_up'
+ },
'EAB' => {
description: 'Early payment allowance',
identifier: 'early_payment_allowance'
},
+ 'RCH' => {
+ description: 'Return handling (GS1 Temporary Code)',
+ identifier: 'return_handling'
+ },
+ 'TD' => {
+ description: 'Trade discount',
+ identifier: 'trade_discount'
+ },
'FC' => {
description: 'Freight charge',
identifier: 'freght_charge'
},
'FI' => {
description: 'Finance charge',
identifier: 'finance_charge'
},
+ 'FR' => {
+ description: 'Flat Rate (GS1 Temporary Code)',
+ identifier: 'flat_rate'
+ },
'HD' => {
description: 'Handling',
identifier: 'handling'
},
'QD' => {
description: 'Quantity discount',
identifier: 'quantity_discount'
},
+ 'X01' => {
+ description: 'Allowance Global (GS1 Temporary Code)',
+ identifier: 'allowance_global'
+ },
+ 'X02' => {
+ description: 'Charge Global (GS1 Temporary Code)',
+ identifier: 'charge_global'
+ },
+ 'X03' => {
+ description: 'Consolidated (GS1 Temporary Code)',
+ identifier: 'consolidated'
+ },
+ 'X04' => {
+ description: 'Lump sum (GS1 Temporary Code)',
+ identifier: 'lump_sum'
+ },
+ 'X05' => {
+ description: 'Markup for small volume purchases',
+ identifier: 'markup_for_small_volume_purchases'
+ },
+ 'X30' => {
+ description: 'Point of sales allowance (GS1 Temporary Code)',
+ identifier: 'point_of_sales_allowance'
+ },
'X40' => {
description: 'Allowance/charge regulated by law',
identifier: 'allowance_charge_regulated_by_law'
- },
+ }
},
- description: "Special service description_code",
+ description: 'Special service description_code',
required: false
)
special_services_identification.add(:special_service_description_code, data)
data = Eancom::Edifact::Data.new(
type: String,
length: 0..17,
- description: "Code list identification code",
+ description: 'Code list identification code',
required: false
)
special_services_identification.add(:code_list_identification_code, data)
data = Eancom::Edifact::Data.new(
@@ -214,19 +306,19 @@
'9' => {
description: 'GS1',
identifier: 'gs1'
}
},
- description: "Code list responsible agency code",
+ description: 'Code list responsible agency code',
required: false
)
special_services_identification.add(:code_list_responsible_agency_code, data)
data = Eancom::Edifact::Data.new(
type: String,
length: 0..3,
dictionary: nil,
- description: "Special service description",
+ description: 'Special service description',
required: false
)
special_services_identification.add(:special_service_description_1, data)
special_services_identification.add(:special_service_description_2, data)