eddy 0.8.4 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -4
  3. data/CHANGELOG.md +18 -0
  4. data/Gemfile.lock +8 -8
  5. data/README.md +1 -1
  6. data/data/code-lists/333.tsv +8 -0
  7. data/data/segments/amt.segment.yml +7 -0
  8. data/data/segments/bia.segment.yml +10 -0
  9. data/data/segments/cur.segment.yml +8 -0
  10. data/data/segments/dtm.segment.yml +1 -0
  11. data/data/segments/fob.segment.yml +8 -0
  12. data/data/segments/itd.segment.yml +13 -0
  13. data/data/segments/mtx.segment.yml +7 -0
  14. data/data/segments/n9.segment.yml +7 -0
  15. data/data/segments/per.segment.yml +13 -0
  16. data/data/segments/po1.segment.yml +6 -0
  17. data/data/segments/po3.segment.yml +13 -0
  18. data/data/segments/qty.segment.yml +10 -0
  19. data/data/segments/ref.segment.yml +1 -0
  20. data/data/segments/sac.segment.yml +4 -0
  21. data/data/segments/sch.segment.yml +7 -0
  22. data/data/segments/sdq.segment.yml +8 -0
  23. data/data/segments/txi.segment.yml +9 -0
  24. data/data/transaction_sets/810.edi.yml +93 -0
  25. data/data/transaction_sets/846.edi.yml +57 -0
  26. data/data/transaction_sets/850.edi.yml +73 -0
  27. data/data/transaction_sets/855.edi.yml +74 -0
  28. data/data/transaction_sets/856.edi.yml +54 -0
  29. data/eddy.gemspec +1 -1
  30. data/exe/eddy +1 -0
  31. data/lib/definitions/elements/generated/100.currency_code.rb +200 -0
  32. data/lib/definitions/elements/generated/146.shipment_method_of_payment.rb +65 -0
  33. data/lib/definitions/elements/generated/1551.message_text.rb +29 -0
  34. data/lib/definitions/elements/generated/280.exchange_rate.rb +29 -0
  35. data/lib/definitions/elements/generated/309.location_qualifier.rb +209 -0
  36. data/lib/definitions/elements/generated/310.location_identifier.rb +29 -0
  37. data/lib/definitions/elements/generated/311.shipment_type_code.rb +42 -0
  38. data/lib/definitions/elements/generated/322.load_empty_status_code.rb +40 -0
  39. data/lib/definitions/elements/generated/325.tax_identification_number.rb +29 -0
  40. data/lib/definitions/elements/generated/333.terms_basis_date_code.rb +44 -0
  41. data/lib/definitions/elements/generated/336.terms_type_code.rb +102 -0
  42. data/lib/definitions/elements/generated/338.terms_discount_percent.rb +29 -0
  43. data/lib/definitions/elements/generated/351.terms_discount_days_due.rb +30 -0
  44. data/lib/definitions/elements/generated/363.note_reference_code.rb +278 -0
  45. data/lib/definitions/elements/generated/364.communication_number.rb +29 -0
  46. data/lib/definitions/elements/generated/365.communication_number_qualifier.rb +77 -0
  47. data/lib/definitions/elements/generated/366.contact_function_code.rb +267 -0
  48. data/lib/definitions/elements/generated/369.free_form_description.rb +29 -0
  49. data/lib/definitions/elements/generated/370.terms_discount_due_date.rb +29 -0
  50. data/lib/definitions/elements/generated/371.change_reason_code.rb +67 -0
  51. data/lib/definitions/elements/generated/378.allowance_charge_percent_qualifier.rb +48 -0
  52. data/lib/definitions/elements/generated/386.terms_net_days.rb +30 -0
  53. data/lib/definitions/elements/generated/446.terms_net_due_date.rb +29 -0
  54. data/lib/definitions/elements/generated/522.amount_qualifier_code.rb +1510 -0
  55. data/lib/definitions/elements/generated/673.quantity_qualifier.rb +869 -0
  56. data/lib/definitions/elements/generated/755.report_type_code.rb +559 -0
  57. data/lib/definitions/elements/generated/954.percent.rb +29 -0
  58. data/lib/definitions/elements/generated/963.tax_type_code.rb +111 -0
  59. data/lib/definitions/segments/generated/amt.rb +56 -0
  60. data/lib/definitions/segments/generated/bia.rb +107 -0
  61. data/lib/definitions/segments/generated/cur.rb +73 -0
  62. data/lib/definitions/segments/generated/dtm.rb +17 -0
  63. data/lib/definitions/segments/generated/fob.rb +73 -0
  64. data/lib/definitions/segments/generated/hl.rb +90 -0
  65. data/lib/definitions/segments/generated/itd.rb +158 -0
  66. data/lib/definitions/segments/generated/mtx.rb +56 -0
  67. data/lib/definitions/segments/generated/n2.rb +56 -0
  68. data/lib/definitions/segments/generated/n9.rb +56 -0
  69. data/lib/definitions/segments/generated/per.rb +158 -0
  70. data/lib/definitions/segments/generated/po1.rb +102 -0
  71. data/lib/definitions/segments/generated/po3.rb +158 -0
  72. data/lib/definitions/segments/generated/qty.rb +73 -0
  73. data/lib/definitions/segments/generated/ref.rb +17 -0
  74. data/lib/definitions/segments/generated/sac.rb +68 -0
  75. data/lib/definitions/segments/generated/sch.rb +56 -0
  76. data/lib/definitions/segments/generated/sdq.rb +73 -0
  77. data/lib/definitions/segments/generated/txi.rb +90 -0
  78. data/lib/definitions/transaction_sets/manual/846/846.rb +122 -0
  79. data/lib/definitions/transaction_sets/manual/846/loops/lin.rb +155 -0
  80. data/lib/definitions/transaction_sets/manual/846/loops/n1.rb +107 -0
  81. data/lib/definitions/transaction_sets/manual/846/loops/qty.rb +75 -0
  82. data/lib/definitions/transaction_sets/manual/846/loops/sch.rb +59 -0
  83. data/lib/definitions/transaction_sets/manual/846/loops/sln.rb +59 -0
  84. data/lib/definitions/transaction_sets/manual/850/850.rb +108 -1
  85. data/lib/definitions/transaction_sets/manual/850/loops/ctp.rb +47 -0
  86. data/lib/definitions/transaction_sets/manual/850/loops/n1.rb +31 -10
  87. data/lib/definitions/transaction_sets/manual/850/loops/n9.rb +59 -0
  88. data/lib/definitions/transaction_sets/manual/850/loops/pid.rb +47 -0
  89. data/lib/definitions/transaction_sets/manual/850/loops/po1.rb +78 -10
  90. data/lib/definitions/transaction_sets/manual/850/loops/sac.rb +47 -0
  91. data/lib/eddy.rb +49 -3
  92. data/lib/eddy/build/transaction_set_builder.rb +1 -1
  93. data/lib/eddy/config.rb +0 -21
  94. data/lib/eddy/data.rb +0 -29
  95. data/lib/eddy/data/persistence/base.rb +7 -0
  96. data/lib/eddy/data/persistence/memory.rb +14 -4
  97. data/lib/eddy/errors.rb +13 -9
  98. data/lib/eddy/models/element/composite.rb +2 -0
  99. data/lib/eddy/models/element/id.rb +1 -1
  100. data/lib/eddy/models/element/r.rb +1 -0
  101. data/lib/eddy/parse.rb +4 -56
  102. data/lib/eddy/parse/interchange.rb +58 -0
  103. data/lib/eddy/summary/loop.rb +1 -1
  104. data/lib/eddy/summary/segment.rb +2 -1
  105. data/lib/eddy/version.rb +1 -1
  106. metadata +78 -5
@@ -0,0 +1,73 @@
1
+ ---
2
+ id: 850
3
+ functional_group: PO
4
+ name: Purchase Order
5
+ components:
6
+
7
+ - id: BEG
8
+ max_use: 1
9
+ req: M
10
+ element_count: 4
11
+ elements:
12
+ - { ref: BEG01, id: '353', req: M, default: '00' }
13
+ - { ref: BEG02, id: '92', req: M, default: DS }
14
+ - { ref: BEG03, id: '324', req: M }
15
+ - { ref: BEG05, id: '373', req: M, description: The date assigned to the purchase order by the purchaser. }
16
+ - { id: CUR, req: O, max_use: 1 }
17
+ - { id: REF, req: M, max_use: 1 }
18
+ - { id: FOB, req: M, max_use: 1 }
19
+ - loop_id: SAC
20
+ repeat: 25
21
+ req: M
22
+ components:
23
+ - { id: SAC, req: O, max_use: 1 }
24
+ - { id: ITD, req: M, max_use: 1 }
25
+ - { id: DTM, req: O, max_use: 10 }
26
+ - { id: TD5, req: M, max_use: 1 }
27
+ - { id: TXI, req: M, max_use: 1 }
28
+ - loop_id: N9
29
+ repeat: 1000
30
+ req: M
31
+ components:
32
+ - { id: N9, req: O, max_use: 1 }
33
+ - { id: MTX, req: M, max_use: 1 }
34
+ - loop_id: N1
35
+ repeat: 200
36
+ req: M
37
+ components:
38
+ - { id: N1, req: O, max_use: 1 }
39
+ - { id: N2, req: O, max_use: 1 }
40
+ - { id: N3, req: O, max_use: 1 }
41
+ - { id: N4, req: O, max_use: 1 }
42
+ - { id: PER, req: M, max_use: 1 }
43
+ - loop_id: PO1
44
+ repeat: 100000
45
+ req: M
46
+ components:
47
+ - { id: PO1, req: O, max_use: 1 }
48
+ - loop_id: CTP
49
+ repeat: 1 # no limit ?
50
+ req: M
51
+ components:
52
+ - { id: CTP, req: O, max_use: 1 }
53
+ - loop_id: PID
54
+ repeat: 1000
55
+ req: M
56
+ components:
57
+ - { id: PID, req: O, max_use: 1 }
58
+ - loop_id: SAC
59
+ repeat: 25
60
+ req: O
61
+ components:
62
+ - id: SAC
63
+ req: O
64
+ element_count: 3
65
+ - { id: TXI, req: M, max_use: 1 } # no limit ?
66
+ - loop_id: N9
67
+ repeat: 1000
68
+ req: M
69
+ components:
70
+ - { id: N9, req: O, max_use: 1 }
71
+ - { id: MTX, req: M, max_use: 1 }
72
+ - { id: CTT, req: O, max_use: 1 }
73
+ - { id: AMT, req: O, max_use: 1 }
@@ -0,0 +1,74 @@
1
+ ---
2
+ id: 855
3
+ functional_group: PR
4
+ name: Purchase Order Acknowledgement
5
+ components:
6
+ - id: BAK
7
+ req: M
8
+ elements:
9
+ - { ref: BAK01, id: '353', req: M }
10
+ - { ref: BAK02, id: '587', req: M }
11
+ - { ref: BAK03, id: '324', req: M }
12
+ - { ref: BAK04, id: '373', req: M }
13
+ - loop_id: N1
14
+ repeat: 200
15
+ components:
16
+ - id: N1
17
+ req: O
18
+ elements:
19
+ - { ref: N101, id: '98', req: M }
20
+ - { ref: N102, id: '93', req: X }
21
+ - { ref: N103, id: '66', req: X }
22
+ - { ref: N104, id: '67', req: X }
23
+ - id: N3
24
+ req: O
25
+ elements:
26
+ - { ref: N301, id: '166', req: M }
27
+ - id: N4
28
+ req: O
29
+ elements:
30
+ - { ref: N401, id: '19', req: O }
31
+ - { ref: N402, id: '156', req: O }
32
+ - { ref: N403, id: '116', req: O }
33
+ - loop_id: PO1
34
+ repeat: 100000
35
+ components:
36
+ - id: PO1
37
+ req: M
38
+ elements:
39
+ - { ref: PO101, id: '350', req: O }
40
+ - { ref: PO102, id: '330', req: X }
41
+ - { ref: PO103, id: '355', req: O }
42
+ - { ref: PO104, id: '212', req: X }
43
+ - { ref: PO106, id: '235', req: X }
44
+ - { ref: PO107, id: '234', req: X }
45
+ - { ref: PO108, id: '235', req: X }
46
+ - { ref: PO109, id: '234', req: X }
47
+ - loop_id: PID
48
+ repeat: 1000
49
+ components:
50
+ - id: PID
51
+ req: O
52
+ elements:
53
+ - { ref: PID01, id: '349', req: M }
54
+ - { ref: PID05, id: '352', req: X }
55
+ - loop_id: ACK
56
+ repeat: 104
57
+ components:
58
+ - id: ACK
59
+ req: O
60
+ elements:
61
+ - { ref: ACK01, id: '668', req: M }
62
+ - { ref: ACK02, id: '380', req: X }
63
+ - { ref: ACK03, id: '355', req: X }
64
+ - { ref: ACK07, id: '235', req: X }
65
+ - { ref: ACK08, id: '234', req: X }
66
+ - { ref: ACK09, id: '235', req: X }
67
+ - { ref: ACK10, id: '234', req: X }
68
+ - loop_id: CTT
69
+ repeat: 1
70
+ components:
71
+ - id: CTT
72
+ req: O
73
+ elements:
74
+ - { ref: CTT01, id: '354', req: M }
@@ -0,0 +1,54 @@
1
+ ---
2
+ id: 856
3
+ functional_group: SH
4
+ name: Ship Notice/Manifest (Advance Ship Notice)
5
+ components:
6
+ - { id: BSN, req: M }
7
+ - { id: DTM, req: O }
8
+ - loop_id: HL_Shipment
9
+ repeat: 200000
10
+ req: M
11
+ components:
12
+ - { id: HL, req: M, max_use: 1 }
13
+ - { id: TD1, req: O, max_use: 20 }
14
+ - { id: TD5, req: O, max_use: 12 }
15
+ - { id: REF, req: O, usage: must_use }
16
+ - { id: DTM, req: O, max_use: 10 }
17
+ - loop_id: N1
18
+ repeat: 200
19
+ components:
20
+ - { id: N1, req: M }
21
+ - { id: N3, req: O }
22
+ - { id: N4, req: O }
23
+ - loop_id: HL_Order
24
+ repeat: 1
25
+ req: M
26
+ components:
27
+ - { id: HL, req: M }
28
+ - { id: PRF, req: O }
29
+ - loop_id: HL_Tare
30
+ repeat: 1
31
+ req: M
32
+ components:
33
+ - { id: HL, req: M }
34
+ - { id: MAN, req: O, usage: must_use }
35
+ - loop_id: HL_Item
36
+ repeat: 1
37
+ req: M
38
+ components:
39
+ - { id: HL, req: M }
40
+ - { id: LIN, req: O }
41
+ - { id: SN1, req: O }
42
+ - loop_id: SLN
43
+ repeat: 1000
44
+ req: M
45
+ components:
46
+ - { id: SLN, req: O }
47
+
48
+ - id: CTT
49
+ req: O
50
+ elements:
51
+ - { ref: CTT01, id: '354', req: M }
52
+ - { ref: CTT02, id: '347', req: O }
53
+
54
+
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency "minitest-focus", "~> 1.1"
36
36
  spec.add_development_dependency "minitest-reporters", "~> 1.4"
37
37
  spec.add_development_dependency "pry", "~> 0.12.2"
38
- spec.add_development_dependency "rake", "~> 10.0"
38
+ spec.add_development_dependency "rake", "~> 13.0"
39
39
  spec.add_development_dependency "simplecov", "~> 0.16"
40
40
 
41
41
  spec.add_runtime_dependency "ginny", "~> 0.6.3"
data/exe/eddy CHANGED
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
+ # require "bundler/setup"
3
4
  require "eddy"
4
5
 
5
6
  # if ["-v", "--version", "version"].include?(ARGV[0].strip)
@@ -0,0 +1,200 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 100
6
+ # - Name: Currency Code
7
+ # - Type: ID
8
+ # - Min/Max: 3/3
9
+ # - Description: Code (Standard ISO) for country in whose currency the charges are specified
10
+ class E100 < Eddy::Models::Element::ID
11
+
12
+ # @param val [String]
13
+ # @param req [String]
14
+ # @param ref [String]
15
+ # @return [void]
16
+ def initialize(val: nil, req: nil, ref: nil)
17
+ @id = "100"
18
+ @name = "Currency Code"
19
+ @description = "Code (Standard ISO) for country in whose currency the charges are specified"
20
+ super(
21
+ min: 3,
22
+ max: 3,
23
+ req: req,
24
+ ref: ref,
25
+ val: val,
26
+ )
27
+ end
28
+
29
+ # @return [Array<String>]
30
+ def code_list()
31
+ return [
32
+ "AED", # United Arab Emirates Dirhams
33
+ "AFN", # Afghan Afghanis
34
+ "ALL", # Albanian Lek
35
+ "AMD", # Armenian Drams
36
+ "ANG", # Netherlands Antillean Guilders
37
+ "AOA", # Angolan Kwanza
38
+ "ARS", # Argentine Pesos
39
+ "AUD", # Australian Dollars
40
+ "AWG", # Aruban Guilders
41
+ "AZN", # Azerbaijan New Manats
42
+ "BAM", # Convertible Marka
43
+ "BBD", # Barbados Dollars
44
+ "BDT", # Bangladeshi Taka
45
+ "BGN", # Bulgarian Leva
46
+ "BHD", # Bahraini Dinars
47
+ "BIF", # Burundi Francs
48
+ "BMD", # Bermudian Dollars
49
+ "BND", # Brunei Dollars
50
+ "BOB", # Bolivianos
51
+ "BRL", # Brazilian Real
52
+ "BSD", # Bahamian Dollars
53
+ "BTN", # Bhutan Ngultrum
54
+ "BWP", # Botswana Pulas
55
+ "BYR", # Belarussian Rubles
56
+ "BZD", # Belize Dollars
57
+ "CAD", # Canadian Dollars
58
+ "CDF", # Franc
59
+ "CHF", # Switzerland Francs
60
+ "CLP", # Chilean Pesos
61
+ "CNY", # Yuan Renminbi
62
+ "COP", # Colombian Pesos
63
+ "CRC", # Costa Rican Colones
64
+ "CUP", # Cuban Pesos
65
+ "CVE", # Cape Verde Escudos
66
+ "CZK", # Czech Koruny
67
+ "DJF", # Djibouti Francs
68
+ "DKK", # Danish Kroner
69
+ "DOP", # Dominican Pesos
70
+ "DZD", # Algerian Dinar
71
+ "ECS", # Ecuador Sucre
72
+ "EEK", # Krooni
73
+ "EGP", # Egyptian Pounds
74
+ "ETB", # Ethopia Birr
75
+ "EUR", # Euro
76
+ "FJD", # Fiji Dollar
77
+ "FKP", # Falkland Islands Pounds
78
+ "GBP", # Pound Sterling
79
+ "GEL", # Lari
80
+ "GGP", # Pound Sterling
81
+ "GHS", # Ghanaian Cedis
82
+ "GIP", # Gibraltar Pounds
83
+ "GMD", # Gambian Dalasi
84
+ "GNF", # Guinea Francs
85
+ "GTQ", # Quetzales
86
+ "GYD", # Guyana Dollars
87
+ "HKD", # Hong Kong Dollars
88
+ "HNL", # Honduaran Lempiras
89
+ "HRK", # Croatian Kuna
90
+ "HTG", # Haitian Gourde
91
+ "HUF", # Hungarian Forint
92
+ "IDR", # Indonesian Rupiahs
93
+ "ILS", # New Shekels
94
+ "IMP", # Pounds
95
+ "INR", # Indian Rupees
96
+ "IQD", # Iraqi Dinars
97
+ "IRR", # Iranian Riais
98
+ "ISK", # Iceland Kronur
99
+ "JEP", # Pounds
100
+ "JMD", # Jamaican Dollars
101
+ "JOD", # Jordanian Dinar
102
+ "JPY", # Japanese Yen
103
+ "KES", # Kenyan Shillings
104
+ "KGS", # Soms
105
+ "KHR", # Kampuchean Rieis
106
+ "KMF", # Comoros Francs
107
+ "KPW", # North Korean Won
108
+ "KRW", # Korean Won
109
+ "KWD", # Kuwaiti Dinars
110
+ "KYD", # Cayman Islands Dollars
111
+ "KZT", # Kazhakstan Tenege
112
+ "LAK", # Lao Kips
113
+ "LBP", # Lebanese Pounds
114
+ "LKR", # Sri Lanka Rupees
115
+ "LRD", # Liberian Dollars
116
+ "LSL", # Lesotho Maloti
117
+ "LTL", # Lithuanian Litai
118
+ "LVL", # Latvian Lati
119
+ "LYD", # Libyan Dinars
120
+ "MAD", # Moroccan Dirhams
121
+ "MDL", # Moldovan Lei
122
+ "MKD", # Macedonian Denar
123
+ "MGA", # Ariary
124
+ "MMK", # Myanmar Kyat
125
+ "MNK", # Kyats
126
+ "MNT", # Mongolian Tugriks
127
+ "MOP", # Macanese Pataca
128
+ "MRO", # Mauritanian Ouguiyas
129
+ "MUR", # Mauritius Rupees
130
+ "MVR", # Maldive Rufiyaa
131
+ "MWK", # Malawi Kwachas
132
+ "MXN", # Mexican Nuevo Pesos
133
+ "MYR", # Malaysian Ringgits
134
+ "MZN", # Mozambique Meticals
135
+ "NAD", # Namibian Dollars
136
+ "NGN", # Nigerian Nairas
137
+ "NIO", # Nicaraguan Cordobas Oro
138
+ "NOK", # Norwegian Kroner
139
+ "NPR", # Nepalese Rupees
140
+ "NZD", # New Zealand Dollars
141
+ "OMR", # Riais
142
+ "PAB", # Balboa
143
+ "PEN", # Peru Nuevos Soles
144
+ "PGK", # Kina
145
+ "PHP", # Phillippines Pesos
146
+ "PKR", # Pakistani Rupees
147
+ "PLN", # Poland Zlotych
148
+ "PYG", # Paraguay Guarani
149
+ "QAR", # Qatar Rials
150
+ "RON", # Romanian New Lei
151
+ "RSD", # Serbia Dinars
152
+ "RUB", # Russia Rubles
153
+ "RWF", # Francs
154
+ "SAR", # Saudi Arabia Riyals
155
+ "SBD", # Solomon Islands Dollars
156
+ "SCR", # Seychelles Rupees
157
+ "SDG", # Pounds
158
+ "SEK", # Sweden Kronor
159
+ "SGD", # Singapore Dollars
160
+ "SHP", # Saint Helena Pounds
161
+ "SLL", # Leones
162
+ "SOS", # Somalia Shillings
163
+ "SRD", # Surifull_name Dollars
164
+ "STD", # Dobras
165
+ "SVC", # Salvadoran Colón
166
+ "SYP", # Syria Pounds
167
+ "SZL", # Emalangeni
168
+ "THB", # Thailand Baht
169
+ "TJS", # Somoni
170
+ "TMM", # Manat
171
+ "TND", # Tunisian Dinars
172
+ "TOP", # Pa'anga
173
+ "TRY", # Turkey Lira
174
+ "TTD", # Trinidad and Tobago Dollars
175
+ "TVD", # Tuvalu Dollars
176
+ "TWD", # Taiwan New Dollars
177
+ "TZS", # Shillings
178
+ "UAH", # Ukraine Hryvnia
179
+ "UGX", # Shillings
180
+ "USD", # United States Dollars
181
+ "UYU", # Uruguay Pesos
182
+ "UZS", # Uzbekistan Sums
183
+ "VEF", # Venezuela Bolivares Fuertes
184
+ "VND", # Viet Nam Dong
185
+ "VUV", # Vanuatu Vatu
186
+ "WST", # Samoan Tala
187
+ "XAF", # Communauté Financière Africaine Francs
188
+ "XCD", # East Caribbean Dollars
189
+ "XOF", # Communauté Financière Africaine Francs
190
+ "XPF", # Comptoirs Français du Pacifique Francs
191
+ "YER", # Yemen Rials
192
+ "ZAR", # South Africa Rand
193
+ "ZMW", # Zambian Kwacha
194
+ "ZWD", # Zimbabwe Dollars
195
+ ]
196
+ end
197
+
198
+ end
199
+ end
200
+ end
@@ -0,0 +1,65 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 146
6
+ # - Name: Shipment Method of Payment
7
+ # - Type: ID
8
+ # - Min/Max: 2/2
9
+ # - Description: Code identifying payment terms for transportation charges
10
+ class E146 < Eddy::Models::Element::ID
11
+
12
+ # @param val [String]
13
+ # @param req [String]
14
+ # @param ref [String]
15
+ # @return [void]
16
+ def initialize(val: nil, req: nil, ref: nil)
17
+ @id = "146"
18
+ @name = "Shipment Method of Payment"
19
+ @description = "Code identifying payment terms for transportation charges"
20
+ super(
21
+ min: 2,
22
+ max: 2,
23
+ req: req,
24
+ ref: ref,
25
+ val: val,
26
+ )
27
+ end
28
+
29
+ # @return [Array<String>]
30
+ def code_list()
31
+ return [
32
+ "11", # Rule 11 Shipment
33
+ "BP", # Paid by Buyer
34
+ "CA", # Advance Collect
35
+ "CC", # Collect
36
+ "CD", # Collect on Delivery
37
+ "CF", # Collect, Freight Credited Back to Customer
38
+ "DE", # Per Contract
39
+ "DF", # Defined by Buyer and Seller
40
+ "FO", # FOB Port of Call
41
+ "HP", # Half Prepaid
42
+ "MX", # Mixed
43
+ "NC", # Service Freight, No Charge
44
+ "NR", # Non Revenue
45
+ "PA", # Advance Prepaid
46
+ "PB", # Customer Pick-up/Backhaul
47
+ "PC", # Prepaid but Charged to Customer
48
+ "PD", # Prepaid by Processor
49
+ "PE", # Prepaid and Summary Bill
50
+ "PL", # Prepaid Local, Collect Outstate
51
+ "PO", # Prepaid Only
52
+ "PP", # Prepaid (by Seller)
53
+ "PS", # Paid by Seller
54
+ "PU", # Pickup
55
+ "RC", # Return Container Freight Paid by Customer
56
+ "RF", # Return Container Freight Free
57
+ "RS", # Return Container Freight Paid by Supplier
58
+ "TP", # Third Party Pay
59
+ "WC", # Weight Condition
60
+ ]
61
+ end
62
+
63
+ end
64
+ end
65
+ end