eddy 0.8.2 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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