eddy 0.8.2 → 0.9.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +4 -4
  3. data/CHANGELOG.md +46 -1
  4. data/Gemfile.lock +8 -8
  5. data/README.md +2 -5
  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/elements/manual/i/I10.interchange_control_standards_identifier.rb +2 -2
  60. data/lib/definitions/elements/manual/i/I11.interchange_control_version_number.rb +1 -0
  61. data/lib/definitions/segments/generated/amt.rb +56 -0
  62. data/lib/definitions/segments/generated/bia.rb +107 -0
  63. data/lib/definitions/segments/generated/cur.rb +73 -0
  64. data/lib/definitions/segments/generated/dtm.rb +17 -0
  65. data/lib/definitions/segments/generated/fob.rb +73 -0
  66. data/lib/definitions/segments/generated/hl.rb +90 -0
  67. data/lib/definitions/segments/generated/itd.rb +158 -0
  68. data/lib/definitions/segments/generated/mtx.rb +56 -0
  69. data/lib/definitions/segments/generated/n2.rb +56 -0
  70. data/lib/definitions/segments/generated/n9.rb +56 -0
  71. data/lib/definitions/segments/generated/per.rb +158 -0
  72. data/lib/definitions/segments/generated/po1.rb +102 -0
  73. data/lib/definitions/segments/generated/po3.rb +158 -0
  74. data/lib/definitions/segments/generated/qty.rb +73 -0
  75. data/lib/definitions/segments/generated/ref.rb +17 -0
  76. data/lib/definitions/segments/generated/sac.rb +68 -0
  77. data/lib/definitions/segments/generated/sch.rb +56 -0
  78. data/lib/definitions/segments/generated/sdq.rb +73 -0
  79. data/lib/definitions/segments/generated/txi.rb +90 -0
  80. data/lib/definitions/transaction_sets/manual/846/846.rb +122 -0
  81. data/lib/definitions/transaction_sets/manual/846/loops/lin.rb +155 -0
  82. data/lib/definitions/transaction_sets/manual/846/loops/n1.rb +107 -0
  83. data/lib/definitions/transaction_sets/manual/846/loops/qty.rb +75 -0
  84. data/lib/definitions/transaction_sets/manual/846/loops/sch.rb +59 -0
  85. data/lib/definitions/transaction_sets/manual/846/loops/sln.rb +59 -0
  86. data/lib/definitions/transaction_sets/manual/850/850.rb +108 -1
  87. data/lib/definitions/transaction_sets/manual/850/loops/ctp.rb +47 -0
  88. data/lib/definitions/transaction_sets/manual/850/loops/n1.rb +31 -10
  89. data/lib/definitions/transaction_sets/manual/850/loops/n9.rb +59 -0
  90. data/lib/definitions/transaction_sets/manual/850/loops/pid.rb +47 -0
  91. data/lib/definitions/transaction_sets/manual/850/loops/po1.rb +78 -10
  92. data/lib/definitions/transaction_sets/manual/850/loops/sac.rb +47 -0
  93. data/lib/eddy.rb +49 -3
  94. data/lib/eddy/build/transaction_set_builder.rb +1 -1
  95. data/lib/eddy/config.rb +0 -21
  96. data/lib/eddy/data.rb +0 -40
  97. data/lib/eddy/data/persistence/base.rb +5 -11
  98. data/lib/eddy/data/persistence/memory.rb +14 -22
  99. data/lib/eddy/errors.rb +13 -9
  100. data/lib/eddy/models/element/composite.rb +2 -0
  101. data/lib/eddy/models/element/id.rb +1 -1
  102. data/lib/eddy/models/element/r.rb +1 -0
  103. data/lib/eddy/models/functional_group.rb +3 -2
  104. data/lib/eddy/models/interchange.rb +6 -2
  105. data/lib/eddy/models/transaction_set.rb +1 -1
  106. data/lib/eddy/parse.rb +4 -56
  107. data/lib/eddy/parse/interchange.rb +58 -0
  108. data/lib/eddy/summary/loop.rb +1 -1
  109. data/lib/eddy/summary/segment.rb +2 -1
  110. data/lib/eddy/version.rb +1 -1
  111. metadata +78 -5
@@ -0,0 +1,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 364
6
+ # - Name: Communication Number
7
+ # - Type: AN
8
+ # - Min/Max: 1/80
9
+ # - Description: Complete communications number including country or area code when applicable
10
+ class E364 < Eddy::Models::Element::AN
11
+ # @param val [String]
12
+ # @param req [String]
13
+ # @param ref [String]
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "364"
17
+ @name = "Communication Number"
18
+ @description = "Complete communications number including country or area code when applicable"
19
+ super(
20
+ min: 1,
21
+ max: 80,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,77 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 365
6
+ # - Name: Communication Number Qualifier
7
+ # - Type: ID
8
+ # - Min/Max: 2/2
9
+ # - Description: Code identifying the type of communication number
10
+ class E365 < 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 = "365"
18
+ @name = "Communication Number Qualifier"
19
+ @description = "Code identifying the type of communication number"
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
+ "AA", # International Telephone Access Code
33
+ "AB", # Joint Facsimile and Phone Number
34
+ "AC", # Message Only Voice Number
35
+ "AD", # Delivery Location Phone
36
+ "AP", # Alternate Telephone
37
+ "AS", # Answering Service
38
+ "AU", # Defense Switched Network
39
+ "BN", # Beeper Number
40
+ "BT", # BTX Number
41
+ "CA", # Cable
42
+ "CP", # Cellular Phone
43
+ "DN", # Defense Data Network (DDN)
44
+ "ED", # Electronic Data Interchange Access Number
45
+ "EM", # Electronic Mail
46
+ "EX", # Telephone Extension
47
+ "FT", # Federal Telecommunications System (FTS)
48
+ "FU", # Facsimile User Identifier
49
+ "FX", # Facsimile
50
+ "HF", # Home Facsimile Number
51
+ "HP", # Home Phone Number
52
+ "IT", # International Telephone
53
+ "MN", # Modem Number
54
+ "NP", # Night Telephone
55
+ "OF", # Other Residential Facsimile Number
56
+ "OT", # Other Residential Telephone Number
57
+ "PA", # Appointment Phone
58
+ "PC", # Personal Cellular
59
+ "PP", # Personal Phone
60
+ "PS", # Packet Switching
61
+ "SP", # Showing Phone
62
+ "TE", # Telephone
63
+ "TL", # Telex
64
+ "TM", # Telemail
65
+ "TN", # Teletex Number
66
+ "TX", # TWX
67
+ "UR", # Uniform Resource Locator (URL)
68
+ "VM", # Voice Mail
69
+ "WC", # Work Cellular
70
+ "WF", # Work Facsimile Number
71
+ "WP", # Work Phone Number
72
+ ]
73
+ end
74
+
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,267 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 366
6
+ # - Name: Contact Function Code
7
+ # - Type: ID
8
+ # - Min/Max: 2/2
9
+ # - Description: Code identifying the major duty or responsibility of the person or group named
10
+ class E366 < 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 = "366"
18
+ @name = "Contact Function Code"
19
+ @description = "Code identifying the major duty or responsibility of the person or group named"
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
+ "1A", # Review/Repricing Contact
33
+ "1B", # Preferred Provider Organization (PPO) Contact
34
+ "1C", # Health Maintenance Organization (HMO) Contact
35
+ "1D", # Third-party Administrator (TPA) Contact
36
+ "1E", # New Business Processing
37
+ "1F", # Physician
38
+ "1G", # Service Team
39
+ "1H", # Underwriter
40
+ "3A", # Automated Clearinghouse (ACH) Contact
41
+ "A1", # Claim Approver
42
+ "A2", # Applicant
43
+ "A3", # Interviewer
44
+ "A4", # Owner Representative
45
+ "A5", # Appointment Scheduler
46
+ "AA", # Authorized Representative
47
+ "AB", # Appraiser
48
+ "AC", # Administrative Contracting Officer
49
+ "AD", # Accounting Department
50
+ "AE", # Corporate Purchasing Agent
51
+ "AF", # Authorized Financial Contact
52
+ "AG", # Agent
53
+ "AH", # After-Hours Contact
54
+ "AI", # Additional Insurance Information Contact
55
+ "AL", # Alternate Contact
56
+ "AM", # Administrator
57
+ "AN", # Attention-to Party
58
+ "AP", # Accounts Payable Department
59
+ "AR", # Accounts Receivable Department
60
+ "AS", # Authorized Signature
61
+ "AT", # Material Safety Data Sheet Contact
62
+ "AU", # Report Authorizer
63
+ "AV", # Advisor
64
+ "BA", # Broker
65
+ "BB", # Local Purchasing Agent
66
+ "BC", # Broker Contact
67
+ "BD", # Buyer Name or Department
68
+ "BI", # Bill Inquiry Contact
69
+ "BJ", # Operations
70
+ "BK", # Marketing Department
71
+ "BL", # Technical Department
72
+ "BM", # Work Broker Maintenance Manager
73
+ "BP", # School Principal
74
+ "BS", # Board Staff
75
+ "BU", # Business Unit Manager
76
+ "C2", # Co-borrower
77
+ "CA", # Customer Contact Granting Appointment
78
+ "CB", # Changed By
79
+ "CC", # Computer Systems Contact
80
+ "CD", # Contract Contact
81
+ "CE", # Certifier
82
+ "CF", # Customer Engineer
83
+ "CG", # Chief Executive Officer
84
+ "CH", # Change Order Approver
85
+ "CI", # Chief Financial Officer
86
+ "CJ", # Chief Information Officer
87
+ "CK", # Chairman of the Board
88
+ "CL", # Chief Operating Officer
89
+ "CM", # Container Manager
90
+ "CN", # General Contact
91
+ "CO", # Component Engineer
92
+ "CP", # Cost and Schedule Coordinator
93
+ "CR", # Customer Relations
94
+ "CS", # CAD/CAM Specialist
95
+ "CT", # Claimant
96
+ "CU", # Auditing Contact
97
+ "CV", # Clearinghouse Contact
98
+ "CW", # Confirmed With
99
+ "CX", # Payers Claim Office
100
+ "CY", # Case Manager
101
+ "CZ", # Claim Recipient
102
+ "DA", # Directory Advertising Contact
103
+ "DC", # Delivery Contact
104
+ "DD", # Division Director
105
+ "DE", # Design Engineer
106
+ "DF", # Director
107
+ "DI", # Delivery Instructions Contact
108
+ "DM", # Division Manager
109
+ "DN", # Dental School Admissions Office
110
+ "DV", # Development
111
+ "E1", # Estimator
112
+ "E2", # Evening Programs Office
113
+ "EA", # EDI Coordinator
114
+ "EB", # Entered By
115
+ "EC", # Emergency Contact-Shipper
116
+ "ED", # Emergency Contact-Consignee
117
+ "EF", # Emergency Contact-Military Traffic Management Command (MTMC)
118
+ "EG", # Engineering
119
+ "EM", # Emergency Contact
120
+ "EN", # Engineer
121
+ "EO", # Executive Officer
122
+ "EP", # Employer Contact
123
+ "ES", # Electronic Submission Recipient
124
+ "EV", # Executive Vice-President
125
+ "EX", # Expeditor
126
+ "FA", # Financial Aid Office
127
+ "FB", # Coordinator
128
+ "FC", # Forwarder Contact
129
+ "FD", # Primary Control Point
130
+ "FF", # Licensee
131
+ "FL", # Foreclosing Lender Administrative Contact
132
+ "FM", # Functional Manager
133
+ "FN", # Joint Work Agent
134
+ "FO", # Office Manager
135
+ "FP", # Marketing Director
136
+ "FQ", # Staff
137
+ "FR", # Compliance Officer
138
+ "GA", # Graduate Fine Arts Office
139
+ "GB", # Graduate Business Office
140
+ "GC", # Guidance Counselor
141
+ "GE", # Graduate Engineering Office
142
+ "GR", # Graduate Admissions Office
143
+ "HM", # Hazardous Material Contact
144
+ "HR", # Human Resources
145
+ "IC", # Information Contact
146
+ "IO", # Issuing Officer
147
+ "IP", # Insured Party
148
+ "IS", # Law Firm
149
+ "KA", # Authorized Negotiator
150
+ "KB", # Preaward Survey Manager
151
+ "KC", # Accepting Official
152
+ "KP", # Attorney
153
+ "KT", # Clerk of Court
154
+ "LD", # Law School Admissions Office
155
+ "MA", # Maintenance Contact
156
+ "MB", # Mayor
157
+ "MC", # Medical Contact
158
+ "MD", # Medical Admissions Office
159
+ "ME", # Manufacturing
160
+ "MG", # Manager
161
+ "MK", # Multiple Listing Service Staff
162
+ "ML", # Multiple Listing Service Vendor
163
+ "MM", # Customer Maintenance Manager
164
+ "NA", # National Agent
165
+ "NC", # Numerical Control Engineer
166
+ "NP", # Notary Public
167
+ "NT", # Notification Contact
168
+ "OA", # Other Adult
169
+ "OC", # Order Contact
170
+ "OD", # Order Department
171
+ "OS", # Office Staff
172
+ "OW", # Owner
173
+ "PA", # President
174
+ "PB", # Plant Manager
175
+ "PC", # Purchasing Contracting Officer (PCO)
176
+ "PD", # Project Director
177
+ "PE", # Process Engineer
178
+ "PF", # Price Administration
179
+ "PG", # Program Director
180
+ "PH", # Provider
181
+ "PI", # Preparer
182
+ "PJ", # Project Manager
183
+ "PK", # Performance Evaluation Committee
184
+ "PL", # Manufacturing Plant Contact
185
+ "PM", # Product Manager
186
+ "PN", # Probation or Legal Officer
187
+ "PO", # Production Representative
188
+ "PP", # Program Manager
189
+ "PQ", # Parent or Guardian
190
+ "PR", # Prototype Coordinator
191
+ "PS", # Personnel Department
192
+ "PT", # Partner
193
+ "PU", # Report Preparer
194
+ "PV", # Participating Laboratory Contact
195
+ "PW", # Principal Study Contact or Author
196
+ "PX", # Purchase Service Provider
197
+ "PY", # Packager
198
+ "PZ", # Patient
199
+ "QA", # Quality Assurance Contact
200
+ "QC", # Quality Coordinator
201
+ "QI", # Quality Inspector
202
+ "QM", # Quality Manager
203
+ "QP", # Quoting Party
204
+ "QR", # Ordering Officer
205
+ "QY", # Port Engineer
206
+ "RA", # Rental Company Administrative Contact
207
+ "RB", # Real Estate Property Occupant
208
+ "RC", # Rebate/Chargeback Contact
209
+ "RD", # Receiving Dock
210
+ "RE", # Receiving Contact
211
+ "RF", # Real Estate Property Key Holder
212
+ "RG", # Registrar
213
+ "RP", # Responsible Person
214
+ "RQ", # Requestor
215
+ "RS", # Rate Supervisor or Clerk
216
+ "RZ", # Respondant
217
+ "SA", # Sales Administration
218
+ "SB", # Student
219
+ "SC", # Schedule Contact
220
+ "SD", # Shipping Department
221
+ "SE", # Service Organization
222
+ "SF", # Student in Absentia
223
+ "SG", # Secretary
224
+ "SH", # Shipper Contact
225
+ "SI", # Investigator
226
+ "SJ", # Spouse
227
+ "SK", # School Clerk
228
+ "SL", # Collector
229
+ "SM", # Submitting Contact
230
+ "SN", # Study Submitter Contact
231
+ "SO", # Service Order Writer
232
+ "SP", # Special Program Contact
233
+ "SQ", # Systems Administrator
234
+ "SR", # Sales Representative or Department
235
+ "SS", # Supervisor
236
+ "ST", # Service Technician
237
+ "SU", # Supplier Contact
238
+ "SV", # Service Manager
239
+ "SW", # Social Services Worker
240
+ "SY", # Secondary Taxpayer
241
+ "TA", # Traffic Administrator
242
+ "TB", # Telephone Answering Service Contact
243
+ "TC", # College of Education Admissions Office
244
+ "TD", # Tender Developer
245
+ "TE", # Treasurer
246
+ "TH", # School of Theology Admissions Office
247
+ "TM", # Transmitter
248
+ "TN", # Tenant
249
+ "TP", # Primary Taxpayer
250
+ "TR", # Technical Marketing Representative
251
+ "TY", # Platform Maintenance Manager
252
+ "UG", # Undergraduate Admissions Office
253
+ "UP", # Union President
254
+ "UQ", # Processor
255
+ "UR", # Ultimate Receiver
256
+ "VM", # School of Veterinary Medicine Admissions Office
257
+ "VP", # Vice President
258
+ "WH", # Warehouse
259
+ "WI", # Witness
260
+ "WR", # Technical Writer
261
+ "ZZ", # Mutually Defined
262
+ ]
263
+ end
264
+
265
+ end
266
+ end
267
+ end
@@ -0,0 +1,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 369
6
+ # - Name: Free-form Description
7
+ # - Type: AN
8
+ # - Min/Max: 1/45
9
+ # - Description: Free-form descriptive text
10
+ class E369 < Eddy::Models::Element::AN
11
+ # @param val [String]
12
+ # @param req [String]
13
+ # @param ref [String]
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "369"
17
+ @name = "Free-form Description"
18
+ @description = "Free-form descriptive text"
19
+ super(
20
+ min: 1,
21
+ max: 45,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 370
6
+ # - Name: Terms Discount Due Date
7
+ # - Type: DT
8
+ # - Min/Max: 8/8
9
+ # - Description: Date payment is due if discount is to be earned expressed in format CCYYMMDD
10
+ class E370 < Eddy::Models::Element::DT
11
+ # @param val [Time]
12
+ # @param req [String]
13
+ # @param ref [String]
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "370"
17
+ @name = "Terms Discount Due Date"
18
+ @description = "Date payment is due if discount is to be earned expressed in format CCYYMMDD"
19
+ super(
20
+ min: 8,
21
+ max: 8,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,67 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 371
6
+ # - Name: Change Reason Code
7
+ # - Type: ID
8
+ # - Min/Max: 2/2
9
+ # - Description: Code specifying the reason for price or quantity change
10
+ class E371 < 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 = "371"
18
+ @name = "Change Reason Code"
19
+ @description = "Code specifying the reason for price or quantity change"
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
+ "AQ", # Alternate Quantity and Unit of Measure
33
+ "BB", # Balancing Quantity
34
+ "BD", # Blueprint Deviation
35
+ "C1", # Transportation Limitations
36
+ "C2", # Source Limitations
37
+ "C3", # Contract Limitations
38
+ "C4", # Destination Limitations
39
+ "C5", # Confirmation Limitations
40
+ "C6", # Other Limitations
41
+ "DC", # Date Change
42
+ "EV", # Estimated Quantity
43
+ "FE", # Feasibility Issue
44
+ "GU", # Gross Volume per Pack and Unit of Measure
45
+ "GW", # Gross Weight per Pack
46
+ "LD", # Length Difference
47
+ "MC", # Pack/Size Measure Difference
48
+ "MP", # Minimum Order
49
+ "PC", # Pack Difference
50
+ "PQ", # Pack Qualifier
51
+ "PS", # Product/Services ID Change
52
+ "QH", # Quantity on Hand
53
+ "QO", # Quantity Ordered
54
+ "QP", # Quantity Based on Price Qualifier
55
+ "QT", # Quantity Price Break
56
+ "SC", # Size Difference
57
+ "UM", # Unit of Measure Difference
58
+ "UP", # Unit Price
59
+ "WD", # Width Difference
60
+ "WO", # Weight Qualifier/Gross Weight per Package
61
+ "ZZ", # Mutually Defined
62
+ ]
63
+ end
64
+
65
+ end
66
+ end
67
+ end