eddy 0.1.0 → 0.3.0
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +103 -37
- data/.solargraph.yml +4 -0
- data/.vscode/settings.json +17 -0
- data/.yardopts +2 -2
- data/CHANGELOG.md +50 -0
- data/Gemfile.lock +21 -7
- data/README.md +32 -3
- data/Rakefile +1 -10
- data/data/004010/code-lists/100.tsv +164 -0
- data/data/004010/code-lists/156.tsv +52 -0
- data/data/004010/code-lists/26.tsv +499 -0
- data/data/004010/code-lists/etc/100-fancy-definitions.tsv +164 -0
- data/data/004010/code-lists/etc/100-with-funds-codes.tsv +180 -0
- data/data/004010/code-lists/etc/26-alpha2.tsv +250 -0
- data/data/004010/code-lists/etc/26-alpha3.tsv +250 -0
- data/data/004010/elements-short.tsv +1405 -0
- data/data/004010/elements.tsv +3 -3
- data/data/004010/segments.tsv +1009 -1003
- data/data/004010/segments/ack.segment.yml +15 -0
- data/data/004010/segments/bak.segment.yml +9 -0
- data/data/004010/segments/beg.segment.yml +17 -0
- data/data/004010/segments/big.segment.yml +10 -0
- data/data/004010/segments/bsn.segment.yml +10 -0
- data/data/004010/segments/cad.segment.yml +14 -0
- data/data/004010/segments/ctp.segment.yml +19 -0
- data/data/004010/segments/ctt.segment.yml +13 -0
- data/data/004010/segments/dtm.segment.yml +7 -0
- data/data/004010/segments/envelope/ge.segment.yml +7 -0
- data/data/004010/segments/envelope/gs.segment.yml +13 -0
- data/data/004010/segments/envelope/iea.segment.yml +8 -0
- data/data/004010/segments/envelope/isa.segment.yml +22 -0
- data/data/004010/segments/envelope/se.segment.yml +7 -0
- data/data/004010/segments/envelope/st.segment.yml +12 -0
- data/data/004010/segments/hl.segment.yml +9 -0
- data/data/004010/segments/it1.segment.yml +20 -0
- data/data/004010/segments/lin.segment.yml +10 -0
- data/data/004010/segments/loop/hl.segment.yml +8 -0
- data/data/004010/segments/man.segment.yml +7 -0
- data/data/004010/segments/n1.segment.yml +9 -0
- data/data/004010/segments/n2.segment.yml +7 -0
- data/data/004010/segments/n3.segment.yml +6 -0
- data/data/004010/segments/n4.segment.yml +9 -0
- data/data/004010/segments/pid.segment.yml +10 -0
- data/data/004010/segments/po1.segment.yml +14 -0
- data/data/004010/segments/prf.segment.yml +9 -0
- data/data/004010/segments/ref.segment.yml +7 -0
- data/data/004010/segments/sac.segment.yml +20 -0
- data/data/004010/segments/sln.segment.yml +12 -0
- data/data/004010/segments/sn1.segment.yml +11 -0
- data/data/004010/segments/td1.segment.yml +13 -0
- data/data/004010/segments/td5.segment.yml +11 -0
- data/data/004010/segments/tds.segment.yml +10 -0
- data/data/schema/element_summary.json +60 -0
- data/data/schema/loop_summary.json +49 -0
- data/data/schema/segment_summary.json +66 -0
- data/data/schema/src/element_summary.schema.yml +73 -0
- data/data/schema/src/loop_summary.schema.yml +50 -0
- data/data/schema/src/segment_summary.schema.yml +59 -0
- data/data/schema/src/transaction_set_summary.schema.yml +27 -0
- data/data/schema/transaction_set_summary.json +33 -0
- data/data/sources.md +114 -145
- data/eddy.gemspec +6 -3
- data/exe/eddy +14 -0
- data/lib/definitions/elements/generated/1005.hierarchical_structure_code.rb +98 -0
- data/lib/definitions/elements/generated/1019.invoice_type_code.rb +40 -0
- data/lib/definitions/elements/generated/103.packaging_code.rb +29 -0
- data/lib/definitions/elements/generated/1166.contract_type_code.rb +87 -0
- data/lib/definitions/elements/generated/1232.purchase_category.rb +53 -0
- data/lib/definitions/elements/generated/127.reference_identification.rb +29 -0
- data/lib/definitions/elements/generated/128.reference_identification_qualifier.rb +1540 -0
- data/lib/definitions/elements/generated/1300.service_promotion_allowance_or_charge_code.rb +1090 -0
- data/lib/definitions/elements/generated/1301.agency_service_promotion_allowance_or_charge_code.rb +29 -0
- data/lib/definitions/elements/generated/133.routing_sequence_code.rb +60 -0
- data/lib/definitions/elements/generated/166.address_information.rb +29 -0
- data/lib/definitions/elements/generated/183.volume.rb +29 -0
- data/lib/definitions/elements/generated/187.weight_qualifier.rb +88 -0
- data/lib/definitions/elements/generated/19.city_name.rb +29 -0
- data/lib/definitions/elements/generated/206.equipment_initial.rb +29 -0
- data/lib/definitions/elements/generated/207.equipment_number.rb +29 -0
- data/lib/definitions/elements/generated/212.unit_price.rb +29 -0
- data/lib/definitions/elements/generated/22.commodity_code.rb +29 -0
- data/lib/definitions/elements/generated/23.commodity_code_qualifier.rb +60 -0
- data/lib/definitions/elements/generated/234.product_service_id.rb +29 -0
- data/lib/definitions/elements/generated/235.product_service_id_qualifier.rb +514 -0
- data/lib/definitions/elements/generated/236.price_identifier_code.rb +201 -0
- data/lib/definitions/elements/generated/248.allowance_or_charge_indicator.rb +44 -0
- data/lib/definitions/elements/generated/26.country_code.rb +535 -0
- data/lib/definitions/elements/generated/284.service_level_code.rb +103 -0
- data/lib/definitions/elements/generated/324.purchase_order_number.rb +29 -0
- data/lib/definitions/elements/generated/326.request_reference_number.rb +29 -0
- data/lib/definitions/elements/generated/327.change_order_sequence_number.rb +29 -0
- data/lib/definitions/elements/generated/328.release_number.rb +29 -0
- data/lib/definitions/elements/generated/330.quantity_ordered.rb +29 -0
- data/lib/definitions/elements/generated/347.hash_total.rb +29 -0
- data/lib/definitions/elements/generated/349.item_description_type.rb +40 -0
- data/lib/definitions/elements/generated/352.description.rb +29 -0
- data/lib/definitions/elements/generated/353.transaction_set_purpose_code.rb +102 -0
- data/lib/definitions/elements/generated/354.number_of_line_items.rb +30 -0
- data/lib/definitions/elements/generated/355.unit_or_basis_for_measurement_code.rb +831 -0
- data/lib/definitions/elements/generated/358.quantity_invoiced.rb +29 -0
- data/lib/definitions/elements/generated/367.contract_number.rb +29 -0
- data/lib/definitions/elements/generated/368.shipment_order_status_code.rb +139 -0
- data/lib/definitions/elements/generated/374.date_time_qualifier.rb +1149 -0
- data/lib/definitions/elements/generated/380.quantity.rb +29 -0
- data/lib/definitions/elements/generated/382.number_of_units_shipped.rb +29 -0
- data/lib/definitions/elements/generated/387.routing.rb +29 -0
- data/lib/definitions/elements/generated/396.shipment_identification.rb +29 -0
- data/lib/definitions/elements/generated/559.agency_qualifier_code.rb +213 -0
- data/lib/definitions/elements/generated/587.acknowledgment_type.rb +52 -0
- data/lib/definitions/elements/generated/610.amount.rb +30 -0
- data/lib/definitions/elements/generated/639.basis_of_unit_price_code.rb +128 -0
- data/lib/definitions/elements/generated/640.transaction_type_code.rb +483 -0
- data/lib/definitions/elements/generated/646.quantity_shipped_to_date.rb +29 -0
- data/lib/definitions/elements/generated/648.price_multiplier_qualifier.rb +43 -0
- data/lib/definitions/elements/generated/649.multiplier.rb +29 -0
- data/lib/definitions/elements/generated/66.identification_code_qualifier.rb +252 -0
- data/lib/definitions/elements/generated/662.relationship_code.rb +42 -0
- data/lib/definitions/elements/generated/668.line_item_status_code.rb +63 -0
- data/lib/definitions/elements/generated/67.identification_code.rb +29 -0
- data/lib/definitions/elements/generated/687.class_of_trade_code.rb +89 -0
- data/lib/definitions/elements/generated/750.product_process_characteristic_code.rb +254 -0
- data/lib/definitions/elements/generated/751.product_description_code.rb +29 -0
- data/lib/definitions/elements/generated/76.invoice_number.rb +29 -0
- data/lib/definitions/elements/generated/782.monetary_amount.rb +29 -0
- data/lib/definitions/elements/generated/786.security_level_code.rb +54 -0
- data/lib/definitions/elements/generated/79.lading_description.rb +29 -0
- data/lib/definitions/elements/generated/80.lading_quantity.rb +30 -0
- data/lib/definitions/elements/generated/87.marks_and_numbers.rb +29 -0
- data/lib/definitions/elements/generated/88.marks_and_numbers_qualifier.rb +57 -0
- data/lib/definitions/elements/generated/91.transportation_method_type_code.rb +108 -0
- data/lib/definitions/elements/generated/92.purchase_order_type_code.rb +106 -0
- data/lib/definitions/elements/generated/98.entity_identifier_code.rb +1349 -0
- data/lib/definitions/elements/manual/116.postal_code.rb +44 -0
- data/lib/definitions/elements/manual/124.application_receivers_code.rb +29 -0
- data/lib/definitions/elements/manual/140.standard_carrier_alpha_code.rb +211 -0
- data/lib/definitions/elements/manual/142.application_senders_code.rb +29 -0
- data/lib/definitions/elements/manual/143.transaction_set_identifier_code.rb +335 -0
- data/lib/definitions/elements/manual/156.state_or_province_code.rb +92 -0
- data/lib/definitions/elements/manual/28.group_control_number.rb +34 -0
- data/lib/definitions/elements/manual/329.transactional_set_control_number.rb +35 -0
- data/lib/definitions/elements/manual/337.time.rb +30 -0
- data/lib/definitions/elements/manual/350.assigned_identification.rb +33 -0
- data/lib/definitions/elements/manual/373.date.rb +30 -0
- data/lib/definitions/elements/manual/455.responsible_agency_code.rb +43 -0
- data/lib/definitions/elements/manual/479.functional_identifier_code.rb +271 -0
- data/lib/definitions/elements/manual/480.version_release_industry_identifier_code.rb +145 -0
- data/lib/definitions/elements/manual/784.length_of_binary_data.rb +30 -0
- data/lib/definitions/elements/manual/785.binary_data.rb +30 -0
- data/lib/definitions/elements/manual/96.number_of_included_segments.rb +30 -0
- data/lib/definitions/elements/manual/97.number_of_transaction_sets_included.rb +30 -0
- data/lib/definitions/elements/manual/hl/628.hierarchical_id_number.rb +29 -0
- data/lib/definitions/elements/manual/hl/734.hierarchical_parent_id_number.rb +29 -0
- data/lib/definitions/elements/manual/hl/735.hierarchical_level_code.rb +207 -0
- data/lib/definitions/elements/manual/hl/736.hierarchical_child_code.rb +39 -0
- data/lib/definitions/elements/manual/i/I01.authorization_information_qualifier.rb +48 -0
- data/lib/definitions/elements/manual/i/I02.authorization_information.rb +33 -0
- data/lib/definitions/elements/manual/i/I03.security_information_qualifier.rb +43 -0
- data/lib/definitions/elements/manual/i/I04.security_information.rb +33 -0
- data/lib/definitions/elements/manual/i/I05.interchange_id_qualifier.rb +75 -0
- data/lib/definitions/elements/manual/i/I06.interchange_sender_id.rb +29 -0
- data/lib/definitions/elements/manual/i/I07.interchange_receiver_id.rb +29 -0
- data/lib/definitions/elements/manual/i/I08.interchange_date.rb +35 -0
- data/lib/definitions/elements/manual/i/I09.interchange_time.rb +36 -0
- data/lib/definitions/elements/manual/i/I10.interchange_control_standards_identifier.rb +42 -0
- data/lib/definitions/elements/manual/i/I11.interchange_control_version_number.rb +55 -0
- data/lib/definitions/elements/manual/i/I12.interchange_control_number.rb +34 -0
- data/lib/definitions/elements/manual/i/I13.acknowledgment_requested.rb +43 -0
- data/lib/definitions/elements/manual/i/I14.usage_indicator.rb +40 -0
- data/lib/definitions/elements/manual/i/I15.component_element_separator.rb +36 -0
- data/lib/definitions/elements/manual/i/I16.number_of_included_functional_groups.rb +30 -0
- data/lib/definitions/elements/manual/misc/81.weight.rb +29 -0
- data/lib/definitions/elements/manual/misc/93.name.rb +29 -0
- data/lib/definitions/segments/generated/ack.rb +192 -0
- data/lib/definitions/segments/generated/bak.rb +90 -0
- data/lib/definitions/segments/generated/beg.rb +226 -0
- data/lib/definitions/segments/generated/big.rb +107 -0
- data/lib/definitions/segments/generated/bsn.rb +107 -0
- data/lib/definitions/segments/generated/cad.rb +175 -0
- data/lib/definitions/segments/generated/ctp.rb +158 -0
- data/lib/definitions/segments/generated/ctt.rb +141 -0
- data/lib/definitions/segments/generated/dtm.rb +56 -0
- data/lib/definitions/segments/generated/it1.rb +277 -0
- data/lib/definitions/segments/generated/lin.rb +107 -0
- data/lib/definitions/segments/generated/man.rb +56 -0
- data/lib/definitions/segments/generated/n1.rb +90 -0
- data/lib/definitions/segments/generated/n3.rb +39 -0
- data/lib/definitions/segments/generated/n4.rb +90 -0
- data/lib/definitions/segments/generated/pid.rb +107 -0
- data/lib/definitions/segments/generated/po1.rb +175 -0
- data/lib/definitions/segments/generated/prf.rb +90 -0
- data/lib/definitions/segments/generated/ref.rb +56 -0
- data/lib/definitions/segments/generated/sac.rb +107 -0
- data/lib/definitions/segments/generated/sln.rb +141 -0
- data/lib/definitions/segments/generated/sn1.rb +124 -0
- data/lib/definitions/segments/generated/td1.rb +158 -0
- data/lib/definitions/segments/generated/td5.rb +107 -0
- data/lib/definitions/segments/generated/tds.rb +39 -0
- data/lib/definitions/segments/manual/envelopes/ge.rb +53 -0
- data/lib/definitions/segments/manual/envelopes/gs.rb +163 -0
- data/lib/definitions/segments/manual/envelopes/iea.rb +53 -0
- data/lib/definitions/segments/manual/envelopes/isa.rb +295 -0
- data/lib/definitions/segments/manual/envelopes/se.rb +52 -0
- data/lib/definitions/segments/manual/envelopes/st.rb +52 -0
- data/lib/definitions/segments/manual/hl.rb +96 -0
- data/lib/definitions/segments/manual/n2.rb +52 -0
- data/lib/definitions/transaction_sets/manual/810/810.rb +143 -0
- data/lib/definitions/transaction_sets/manual/810/loops.rb +109 -0
- data/lib/definitions/transaction_sets/manual/850/850.rb +92 -0
- data/lib/definitions/transaction_sets/manual/850/loops.rb +58 -0
- data/lib/definitions/transaction_sets/manual/855/855.rb +83 -0
- data/lib/definitions/transaction_sets/manual/855/loops.rb +104 -0
- data/lib/definitions/transaction_sets/manual/856/856.rb +83 -0
- data/lib/definitions/transaction_sets/manual/856/loops.rb +155 -0
- data/lib/eddy.rb +29 -7
- data/lib/eddy/build/build.rb +47 -0
- data/lib/eddy/build/elements/element.rb +67 -0
- data/lib/eddy/build/elements/elements.rb +46 -0
- data/lib/eddy/build/elements/id.rb +55 -0
- data/lib/eddy/build/elements/n.rb +48 -0
- data/lib/eddy/build/loop_builder.rb +93 -0
- data/lib/eddy/build/segment_builder.rb +169 -0
- data/lib/eddy/build/transaction_set_builder.rb +218 -0
- data/lib/eddy/cli/cli.rb +39 -0
- data/lib/eddy/config.rb +51 -0
- data/lib/eddy/data.rb +50 -0
- data/lib/eddy/data/persistence/active_record.rb +10 -0
- data/lib/eddy/data/persistence/base.rb +47 -0
- data/lib/eddy/data/persistence/file.rb +50 -0
- data/lib/eddy/data/persistence/memory.rb +65 -0
- data/lib/eddy/data/store.rb +108 -0
- data/lib/eddy/errors.rb +112 -0
- data/lib/eddy/models/element.rb +14 -0
- data/lib/eddy/models/element/an.rb +55 -0
- data/lib/eddy/models/element/b.rb +53 -0
- data/lib/eddy/models/element/base.rb +116 -0
- data/lib/eddy/models/element/composite.rb +6 -0
- data/lib/eddy/models/element/dt.rb +100 -0
- data/lib/eddy/models/element/id.rb +58 -0
- data/lib/eddy/models/element/n.rb +94 -0
- data/lib/eddy/models/element/r.rb +84 -0
- data/lib/eddy/models/element/tm.rb +113 -0
- data/lib/eddy/models/loop.rb +74 -0
- data/lib/eddy/models/segment.rb +35 -0
- data/lib/eddy/models/transaction_set.rb +101 -0
- data/lib/eddy/parse.rb +58 -0
- data/lib/eddy/schema/element_summary.rb +123 -0
- data/lib/eddy/schema/loop_summary.rb +101 -0
- data/lib/eddy/schema/segment_summary.rb +116 -0
- data/lib/eddy/schema/transaction_set_summary.rb +96 -0
- data/lib/eddy/schema/validate.rb +41 -0
- data/lib/eddy/util.rb +16 -0
- data/lib/eddy/util/clean_folder.rb +14 -0
- data/lib/eddy/util/edi_data.rb +153 -0
- data/lib/eddy/util/new_number.rb +24 -0
- data/lib/eddy/util/normalize.rb +51 -0
- data/lib/eddy/util/paths.rb +19 -0
- data/lib/eddy/util/read.rb +38 -0
- data/lib/eddy/util/time.rb +56 -0
- data/lib/eddy/util/timestamp.rb +12 -0
- data/lib/eddy/util/trim.rb +29 -0
- data/lib/eddy/version.rb +1 -1
- data/lib/eddy/write/functional_group.rb +33 -0
- data/lib/eddy/write/interchange.rb +28 -0
- data/lib/eddy/write/simple_interchange.rb +57 -0
- data/lib/generators/eddy/initializer/initializer_generator.rb +17 -0
- data/lib/generators/eddy/initializer/templates/eddy.rb.erb +6 -0
- data/lib/generators/eddy/migration/migration_generator.rb +53 -0
- data/lib/generators/eddy/migration/templates/migration.rb.erb +35 -0
- data/tasks/build.rake +15 -0
- data/tasks/misc/gemspec.rake +12 -0
- data/tasks/misc/missing_lists.rake +240 -0
- data/tasks/misc/yaml2json.rake +20 -0
- data/todo.txt +16 -0
- metadata +297 -42
- data/data/004010/segments/ISA.tsv +0 -17
- data/data/schema.jsonc +0 -67
- data/lib/eddy/build/build_an.rb +0 -31
- data/lib/eddy/build/build_dt.rb +0 -46
- data/lib/eddy/build/build_elements.rb +0 -181
- data/lib/eddy/build/build_id.rb +0 -56
- data/lib/eddy/build/build_r_and_n.rb +0 -69
- data/lib/eddy/build/build_tm.rb +0 -52
- data/lib/eddy/build/segments.rb +0 -25
- data/lib/eddy/definitions/manual/elements/109.dt.pickup_date.rb +0 -20
- data/lib/eddy/definitions/manual/elements/111.tm.pickup_time.rb +0 -20
- data/lib/eddy/definitions/manual/elements/112.an.pier_name.rb +0 -19
- data/lib/eddy/definitions/manual/elements/785.b.binary_data.rb +0 -19
- data/lib/eddy/definitions/manual/elements/81.r.weight.rb +0 -19
- data/lib/eddy/definitions/manual/elements/86.n0.total_equipment.rb +0 -20
- data/lib/eddy/definitions/manual/elements/I02.authorization_information.rb +0 -20
- data/lib/eddy/definitions/manual/elements/I04.security_information.rb +0 -20
- data/lib/eddy/definitions/manual/elements/I08.interchange_date.rb +0 -20
- data/lib/eddy/definitions/manual/elements/I09.interchange_time.rb +0 -20
- data/lib/eddy/definitions/manual/elements/I15.component_element_separator.rb +0 -32
- data/lib/eddy/definitions/manual/segments/n1.rb +0 -14
- data/lib/eddy/element.rb +0 -14
- data/lib/eddy/element/an.rb +0 -36
- data/lib/eddy/element/b.rb +0 -9
- data/lib/eddy/element/base.rb +0 -37
- data/lib/eddy/element/dt.rb +0 -89
- data/lib/eddy/element/id.rb +0 -40
- data/lib/eddy/element/n.rb +0 -43
- data/lib/eddy/element/r.rb +0 -47
- data/lib/eddy/element/tm.rb +0 -108
- data/lib/eddy/error.rb +0 -14
- data/lib/eddy/helpers.rb +0 -31
- data/lib/eddy/segment.rb +0 -12
- data/lib/eddy/transaction_set.rb +0 -35
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I11
|
|
6
|
+
# - Name: Interchange Control Version Number
|
|
7
|
+
# - Type: ID
|
|
8
|
+
# - Min/Max: 5/5
|
|
9
|
+
# - Description: This version number covers the interchange control segments
|
|
10
|
+
#
|
|
11
|
+
# ### Notes:
|
|
12
|
+
#
|
|
13
|
+
# - Default value: `"00401"`
|
|
14
|
+
class I11 < Eddy::Element::ID
|
|
15
|
+
|
|
16
|
+
# @param val [String] ("00401")
|
|
17
|
+
# @param req [String] (nil)
|
|
18
|
+
# @param ref [String] (nil)
|
|
19
|
+
# @return [void]
|
|
20
|
+
def initialize(val: "00401", req: nil, ref: nil)
|
|
21
|
+
@id = "I11"
|
|
22
|
+
@name = "Interchange Control Version Number"
|
|
23
|
+
@description = "This version number covers the interchange control segments"
|
|
24
|
+
super(
|
|
25
|
+
min: 5,
|
|
26
|
+
max: 5,
|
|
27
|
+
req: req,
|
|
28
|
+
ref: ref,
|
|
29
|
+
val: val,
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @return [Array<String>]
|
|
34
|
+
def code_list()
|
|
35
|
+
return [
|
|
36
|
+
"00200", # Standard Issued as ANSI X12.5-1987
|
|
37
|
+
"00201", # Draft Standard for Trial Use Approved by ASC X12 Through August 1988
|
|
38
|
+
"00204", # Draft Standard for Trial Use Approved by ASC X12 Through May 1989
|
|
39
|
+
"00300", # Standard Issued as ANSI X12.5-1992
|
|
40
|
+
"00301", # Draft Standard for Trial Use Approved for Publication by ASC X12 Procedures Review Board Through October 1990
|
|
41
|
+
"00302", # Draft Standard for Trial Use Approved for Publication by ASC X12 Procedures Review Board Through October 1991
|
|
42
|
+
"00303", # Draft Standard for Trial Use Approved for Publication by ASC X12 Procedures Review Board Through October 1992
|
|
43
|
+
"00304", # Draft Standards for Trial Use Approved for Publication by ASC X12 Procedures Review Board through October 1993
|
|
44
|
+
"00305", # Draft Standards for Trial Use Approved for Publication by ASC X12 Procedures Review Board through October 1994
|
|
45
|
+
"00306", # Draft Standards for Trial Use Approved for Publication by ASC X12 Procedures Review Board through October 1995
|
|
46
|
+
"00307", # Draft Standards for Trial Use Approved for Publication by ASC X12 Procedures Review Board through October 1996
|
|
47
|
+
"00400", # Standard Issued as ANSI X12.5-1997
|
|
48
|
+
"00401", # Draft Standards for Trial Use Approved for Publication by ASC X12 Procedures Review Board through October 1997
|
|
49
|
+
"00402", # Draft Standards for Trial Use Approved for Publication by ASC X12 Procedures Review Board through October 1998
|
|
50
|
+
]
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I12
|
|
6
|
+
# - Name: Interchange Control Number
|
|
7
|
+
# - Type: N0
|
|
8
|
+
# - Min/Max: 9/9
|
|
9
|
+
# - Description: A control number assigned by the interchange sender
|
|
10
|
+
#
|
|
11
|
+
# ### Notes:
|
|
12
|
+
#
|
|
13
|
+
# - Values for this element need to be generated and have their uniqueness ensured.
|
|
14
|
+
class I12 < Eddy::Element::N
|
|
15
|
+
# @param val [Integer] (nil)
|
|
16
|
+
# @param req [String] (nil)
|
|
17
|
+
# @param ref [String] (nil)
|
|
18
|
+
# @return [void]
|
|
19
|
+
def initialize(val: nil, req: nil, ref: nil)
|
|
20
|
+
@id = "I12"
|
|
21
|
+
@name = "Interchange Control Number"
|
|
22
|
+
@description = "A control number assigned by the interchange sender"
|
|
23
|
+
super(
|
|
24
|
+
min: 9,
|
|
25
|
+
max: 9,
|
|
26
|
+
req: req,
|
|
27
|
+
ref: ref,
|
|
28
|
+
val: val,
|
|
29
|
+
decimals: 0,
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I13
|
|
6
|
+
# - Name: Acknowledgment Requested
|
|
7
|
+
# - Type: ID
|
|
8
|
+
# - Min/Max: 1/1
|
|
9
|
+
# - Description: Code sent by the sender to request an interchange acknowledgment (`TA1`)
|
|
10
|
+
#
|
|
11
|
+
# ### Notes:
|
|
12
|
+
#
|
|
13
|
+
# - Default value: `"0"`
|
|
14
|
+
class I13 < Eddy::Element::ID
|
|
15
|
+
|
|
16
|
+
# @param val [String] ("0")
|
|
17
|
+
# @param req [String] (nil)
|
|
18
|
+
# @param ref [String] (nil)
|
|
19
|
+
# @return [void]
|
|
20
|
+
def initialize(val: "0", req: nil, ref: nil)
|
|
21
|
+
@id = "I13"
|
|
22
|
+
@name = "Acknowledgment Requested"
|
|
23
|
+
@description = "Code sent by the sender to request an interchange acknowledgment (`TA1`)"
|
|
24
|
+
super(
|
|
25
|
+
min: 1,
|
|
26
|
+
max: 1,
|
|
27
|
+
req: req,
|
|
28
|
+
ref: ref,
|
|
29
|
+
val: val,
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# @return [Array<String>]
|
|
34
|
+
def code_list()
|
|
35
|
+
return [
|
|
36
|
+
"0", # No Acknowledgment Requested
|
|
37
|
+
"1", # Interchange Acknowledgment Requested
|
|
38
|
+
]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I14
|
|
6
|
+
# - Name: Usage Indicator
|
|
7
|
+
# - Type: ID
|
|
8
|
+
# - Min/Max: 1/1
|
|
9
|
+
# - Description: Code to indicate whether data enclosed by this interchange envelope is test, production or information
|
|
10
|
+
class I14 < Eddy::Element::ID
|
|
11
|
+
|
|
12
|
+
# @param val [String] (nil)
|
|
13
|
+
# @param req [String] (nil)
|
|
14
|
+
# @param ref [String] (nil)
|
|
15
|
+
# @return [void]
|
|
16
|
+
def initialize(val: nil, req: nil, ref: nil)
|
|
17
|
+
@id = "I14"
|
|
18
|
+
@name = "Usage Indicator"
|
|
19
|
+
@description = "Code to indicate whether data enclosed by this interchange envelope is test, production or information"
|
|
20
|
+
super(
|
|
21
|
+
min: 1,
|
|
22
|
+
max: 1,
|
|
23
|
+
req: req,
|
|
24
|
+
ref: ref,
|
|
25
|
+
val: val,
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# @return [Array<String>]
|
|
30
|
+
def code_list()
|
|
31
|
+
return [
|
|
32
|
+
"I", # Information
|
|
33
|
+
"P", # Production Data
|
|
34
|
+
"T", # Test Data
|
|
35
|
+
]
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I15
|
|
6
|
+
# - Name: Component Element Separator
|
|
7
|
+
# - Type: N/A (Type is not applicable (*but it's functionally AN*))
|
|
8
|
+
# - Min/Max: 1/1
|
|
9
|
+
# - Description:
|
|
10
|
+
# - The component element separator is a delimiter and not a data element.
|
|
11
|
+
# - This field provides the delimiter used to separate component data elements within a composite data structure.
|
|
12
|
+
# - This value must be different than the data element separator and the segment terminator.
|
|
13
|
+
#
|
|
14
|
+
# ### Notes:
|
|
15
|
+
#
|
|
16
|
+
# - Default value: `">"`
|
|
17
|
+
class I15 < Eddy::Element::AN
|
|
18
|
+
# @param val [String] (">")
|
|
19
|
+
# @param req [String] (nil)
|
|
20
|
+
# @param ref [String] (nil)
|
|
21
|
+
# @return [void]
|
|
22
|
+
def initialize(val: ">", req: nil, ref: nil)
|
|
23
|
+
@id = "I15"
|
|
24
|
+
@name = "Component Element Separator"
|
|
25
|
+
@description = "The delimiter used to separate component data elements within a composite data structure."
|
|
26
|
+
super(
|
|
27
|
+
min: 1,
|
|
28
|
+
max: 1,
|
|
29
|
+
req: req,
|
|
30
|
+
ref: ref,
|
|
31
|
+
val: val,
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: I16
|
|
6
|
+
# - Name: Number of Included Functional Groups
|
|
7
|
+
# - Type: N0
|
|
8
|
+
# - Min/Max: 1/5
|
|
9
|
+
# - Description: A count of the number of functional groups included in an interchange
|
|
10
|
+
class I16 < Eddy::Element::N
|
|
11
|
+
# @param val [Integer] (nil)
|
|
12
|
+
# @param req [String] (nil)
|
|
13
|
+
# @param ref [String] (nil)
|
|
14
|
+
# @return [void]
|
|
15
|
+
def initialize(val: nil, req: nil, ref: nil)
|
|
16
|
+
@id = "I16"
|
|
17
|
+
@name = "Number of Included Functional Groups"
|
|
18
|
+
@description = "A count of the number of functional groups included in an interchange"
|
|
19
|
+
super(
|
|
20
|
+
min: 1,
|
|
21
|
+
max: 5,
|
|
22
|
+
req: req,
|
|
23
|
+
ref: ref,
|
|
24
|
+
val: val,
|
|
25
|
+
decimals: 0,
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Elements
|
|
3
|
+
# ### Element Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: 81
|
|
6
|
+
# - Name: Weight
|
|
7
|
+
# - Type: R
|
|
8
|
+
# - Min/Max: 1/10
|
|
9
|
+
# - Description: Numeric value of weight
|
|
10
|
+
class E81 < Eddy::Element::R
|
|
11
|
+
# @param val [Float] (nil)
|
|
12
|
+
# @param req [String] (nil)
|
|
13
|
+
# @param ref [String] (nil)
|
|
14
|
+
# @return [void]
|
|
15
|
+
def initialize(val: nil, req: nil, ref: nil)
|
|
16
|
+
@id = "81"
|
|
17
|
+
@name = "Weight"
|
|
18
|
+
@description = "Numeric value of weight"
|
|
19
|
+
super(
|
|
20
|
+
min: 1,
|
|
21
|
+
max: 10,
|
|
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: 93
|
|
6
|
+
# - Name: Name
|
|
7
|
+
# - Type: AN
|
|
8
|
+
# - Min/Max: 1/60
|
|
9
|
+
# - Description: Free-form name
|
|
10
|
+
class E93 < Eddy::Element::AN
|
|
11
|
+
# @param val [String] (nil)
|
|
12
|
+
# @param req [String] (nil)
|
|
13
|
+
# @param ref [String] (nil)
|
|
14
|
+
# @return [void]
|
|
15
|
+
def initialize(val: nil, req: nil, ref: nil)
|
|
16
|
+
@id = "93"
|
|
17
|
+
@name = "Name"
|
|
18
|
+
@desctiption = "Free-form name"
|
|
19
|
+
super(
|
|
20
|
+
min: 1,
|
|
21
|
+
max: 60,
|
|
22
|
+
req: req,
|
|
23
|
+
ref: ref,
|
|
24
|
+
val: val,
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: ACK
|
|
6
|
+
# - Name: Line Item Acknowledgement
|
|
7
|
+
# - Purpose: To acknowledge the ordered quantities and specify the ready date for a specific line item
|
|
8
|
+
class ACK < Eddy::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "ACK"
|
|
14
|
+
@name = "Line Item Acknowledgement"
|
|
15
|
+
@ack01 = Eddy::Elements::E668.new(ref: "ACK01", req: "M")
|
|
16
|
+
@ack02 = Eddy::Elements::E380.new(ref: "ACK02", req: "X")
|
|
17
|
+
@ack03 = Eddy::Elements::E355.new(ref: "ACK03", req: "X")
|
|
18
|
+
@ack04 = Eddy::Elements::E374.new(ref: "ACK04", req: "O")
|
|
19
|
+
@ack05 = Eddy::Elements::E373.new(ref: "ACK05", req: "X")
|
|
20
|
+
@ack06 = Eddy::Elements::E326.new(ref: "ACK06", req: "O")
|
|
21
|
+
@ack07 = Eddy::Elements::E235.new(ref: "ACK07", req: "X")
|
|
22
|
+
@ack08 = Eddy::Elements::E234.new(ref: "ACK08", req: "X")
|
|
23
|
+
@ack09 = Eddy::Elements::E235.new(ref: "ACK09", req: "X")
|
|
24
|
+
@ack10 = Eddy::Elements::E234.new(ref: "ACK10", req: "X")
|
|
25
|
+
super(
|
|
26
|
+
store,
|
|
27
|
+
@ack01,
|
|
28
|
+
@ack02,
|
|
29
|
+
@ack03,
|
|
30
|
+
@ack04,
|
|
31
|
+
@ack05,
|
|
32
|
+
@ack06,
|
|
33
|
+
@ack07,
|
|
34
|
+
@ack08,
|
|
35
|
+
@ack09,
|
|
36
|
+
@ack10,
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# ### ACK01
|
|
41
|
+
#
|
|
42
|
+
# - Id: 668
|
|
43
|
+
# - Name: Line Item Status Code
|
|
44
|
+
# - Type: ID
|
|
45
|
+
# - Min/Max: 2/2
|
|
46
|
+
# - Description: Code specifying the action taken by the seller on a line item requested by the buyer
|
|
47
|
+
#
|
|
48
|
+
# @param arg [String]
|
|
49
|
+
# @return [void]
|
|
50
|
+
def ACK01=(arg)
|
|
51
|
+
@ack01.value = arg
|
|
52
|
+
end
|
|
53
|
+
alias LineItemStatusCode= ACK01=
|
|
54
|
+
|
|
55
|
+
# ### ACK02
|
|
56
|
+
#
|
|
57
|
+
# - Id: 380
|
|
58
|
+
# - Name: Quantity
|
|
59
|
+
# - Type: R
|
|
60
|
+
# - Min/Max: 1/15
|
|
61
|
+
# - Description: Numeric value of quantity
|
|
62
|
+
#
|
|
63
|
+
# @param arg [Float]
|
|
64
|
+
# @return [void]
|
|
65
|
+
def ACK02=(arg)
|
|
66
|
+
@ack02.value = arg
|
|
67
|
+
end
|
|
68
|
+
alias Quantity= ACK02=
|
|
69
|
+
|
|
70
|
+
# ### ACK03
|
|
71
|
+
#
|
|
72
|
+
# - Id: 355
|
|
73
|
+
# - Name: Unit or Basis for Measurement Code
|
|
74
|
+
# - Type: ID
|
|
75
|
+
# - Min/Max: 2/2
|
|
76
|
+
# - Description: Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
|
|
77
|
+
#
|
|
78
|
+
# @param arg [String]
|
|
79
|
+
# @return [void]
|
|
80
|
+
def ACK03=(arg)
|
|
81
|
+
@ack03.value = arg
|
|
82
|
+
end
|
|
83
|
+
alias UnitOrBasisForMeasurementCode= ACK03=
|
|
84
|
+
|
|
85
|
+
# ### ACK04
|
|
86
|
+
#
|
|
87
|
+
# - Id: 374
|
|
88
|
+
# - Name: Date/Time Qualifier
|
|
89
|
+
# - Type: ID
|
|
90
|
+
# - Min/Max: 3/3
|
|
91
|
+
# - Description: Code specifying type of date or time, or both date and time
|
|
92
|
+
#
|
|
93
|
+
# @param arg [String]
|
|
94
|
+
# @return [void]
|
|
95
|
+
def ACK04=(arg)
|
|
96
|
+
@ack04.value = arg
|
|
97
|
+
end
|
|
98
|
+
alias DateTimeQualifier= ACK04=
|
|
99
|
+
|
|
100
|
+
# ### ACK05
|
|
101
|
+
#
|
|
102
|
+
# - Id: 373
|
|
103
|
+
# - Name: Date
|
|
104
|
+
# - Type: DT
|
|
105
|
+
# - Min/Max: 8/8
|
|
106
|
+
# - Description: Date expressed as CCYYMMDD
|
|
107
|
+
#
|
|
108
|
+
# @param arg [Time]
|
|
109
|
+
# @return [void]
|
|
110
|
+
def ACK05=(arg)
|
|
111
|
+
@ack05.value = arg
|
|
112
|
+
end
|
|
113
|
+
alias Date= ACK05=
|
|
114
|
+
|
|
115
|
+
# ### ACK06
|
|
116
|
+
#
|
|
117
|
+
# - Id: 326
|
|
118
|
+
# - Name: Request Reference Number
|
|
119
|
+
# - Type: AN
|
|
120
|
+
# - Min/Max: 1/45
|
|
121
|
+
# - Description: Reference number or RFQ number to use to identify a particular transaction set and query (additional reference number or description which can be used with contract number)
|
|
122
|
+
#
|
|
123
|
+
# @param arg [String]
|
|
124
|
+
# @return [void]
|
|
125
|
+
def ACK06=(arg)
|
|
126
|
+
@ack06.value = arg
|
|
127
|
+
end
|
|
128
|
+
alias RequestReferenceNumber= ACK06=
|
|
129
|
+
|
|
130
|
+
# ### ACK07
|
|
131
|
+
#
|
|
132
|
+
# - Id: 235
|
|
133
|
+
# - Name: Product/Service ID Qualifier
|
|
134
|
+
# - Type: ID
|
|
135
|
+
# - Min/Max: 2/2
|
|
136
|
+
# - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
|
|
137
|
+
#
|
|
138
|
+
# @param arg [String]
|
|
139
|
+
# @return [void]
|
|
140
|
+
def ACK07=(arg)
|
|
141
|
+
@ack07.value = arg
|
|
142
|
+
end
|
|
143
|
+
alias ProductServiceIdQualifier1= ACK07=
|
|
144
|
+
|
|
145
|
+
# ### ACK08
|
|
146
|
+
#
|
|
147
|
+
# - Id: 234
|
|
148
|
+
# - Name: Product/Service ID
|
|
149
|
+
# - Type: AN
|
|
150
|
+
# - Min/Max: 1/48
|
|
151
|
+
# - Description: Identifying number for a product or service
|
|
152
|
+
#
|
|
153
|
+
# @param arg [String]
|
|
154
|
+
# @return [void]
|
|
155
|
+
def ACK08=(arg)
|
|
156
|
+
@ack08.value = arg
|
|
157
|
+
end
|
|
158
|
+
alias ProductServiceId1= ACK08=
|
|
159
|
+
|
|
160
|
+
# ### ACK09
|
|
161
|
+
#
|
|
162
|
+
# - Id: 235
|
|
163
|
+
# - Name: Product/Service ID Qualifier
|
|
164
|
+
# - Type: ID
|
|
165
|
+
# - Min/Max: 2/2
|
|
166
|
+
# - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
|
|
167
|
+
#
|
|
168
|
+
# @param arg [String]
|
|
169
|
+
# @return [void]
|
|
170
|
+
def ACK09=(arg)
|
|
171
|
+
@ack09.value = arg
|
|
172
|
+
end
|
|
173
|
+
alias ProductServiceIdQualifier2= ACK09=
|
|
174
|
+
|
|
175
|
+
# ### ACK10
|
|
176
|
+
#
|
|
177
|
+
# - Id: 234
|
|
178
|
+
# - Name: Product/Service ID
|
|
179
|
+
# - Type: AN
|
|
180
|
+
# - Min/Max: 1/48
|
|
181
|
+
# - Description: Identifying number for a product or service
|
|
182
|
+
#
|
|
183
|
+
# @param arg [String]
|
|
184
|
+
# @return [void]
|
|
185
|
+
def ACK10=(arg)
|
|
186
|
+
@ack10.value = arg
|
|
187
|
+
end
|
|
188
|
+
alias ProductServiceId2= ACK10=
|
|
189
|
+
|
|
190
|
+
end
|
|
191
|
+
end
|
|
192
|
+
end
|