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,56 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: DTM
|
|
6
|
+
# - Name: Date/Time Reference
|
|
7
|
+
# - Purpose: To specify pertinent dates and times.
|
|
8
|
+
class DTM < Eddy::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "DTM"
|
|
14
|
+
@name = "Date/Time Reference"
|
|
15
|
+
@dtm01 = Eddy::Elements::E374.new(ref: "DTM01", req: "M")
|
|
16
|
+
@dtm02 = Eddy::Elements::E373.new(ref: "DTM02", req: "X")
|
|
17
|
+
super(
|
|
18
|
+
store,
|
|
19
|
+
@dtm01,
|
|
20
|
+
@dtm02,
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# ### DTM01
|
|
25
|
+
#
|
|
26
|
+
# - Id: 374
|
|
27
|
+
# - Name: Date/Time Qualifier
|
|
28
|
+
# - Type: ID
|
|
29
|
+
# - Min/Max: 3/3
|
|
30
|
+
# - Description: Code specifying type of date or time, or both date and time
|
|
31
|
+
#
|
|
32
|
+
# @param arg [String]
|
|
33
|
+
# @return [void]
|
|
34
|
+
def DTM01=(arg)
|
|
35
|
+
@dtm01.value = arg
|
|
36
|
+
end
|
|
37
|
+
alias DateTimeQualifier= DTM01=
|
|
38
|
+
|
|
39
|
+
# ### DTM02
|
|
40
|
+
#
|
|
41
|
+
# - Id: 373
|
|
42
|
+
# - Name: Date
|
|
43
|
+
# - Type: DT
|
|
44
|
+
# - Min/Max: 8/8
|
|
45
|
+
# - Description: Date expressed as CCYYMMDD
|
|
46
|
+
#
|
|
47
|
+
# @param arg [Time]
|
|
48
|
+
# @return [void]
|
|
49
|
+
def DTM02=(arg)
|
|
50
|
+
@dtm02.value = arg
|
|
51
|
+
end
|
|
52
|
+
alias Date= DTM02=
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: IT1
|
|
6
|
+
# - Name: Baseline Item Data (Invoice)
|
|
7
|
+
# - Purpose: To specify the basic and most frequently used line item data for the invoice and related transactions.
|
|
8
|
+
class IT1 < Eddy::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "IT1"
|
|
14
|
+
@name = "Baseline Item Data (Invoice)"
|
|
15
|
+
@it101 = Eddy::Elements::E350.new(ref: "IT101", req: "O")
|
|
16
|
+
@it102 = Eddy::Elements::E358.new(ref: "IT102", req: "X")
|
|
17
|
+
@it103 = Eddy::Elements::E355.new(ref: "IT103", req: "X")
|
|
18
|
+
@it104 = Eddy::Elements::E212.new(ref: "IT104", req: "X")
|
|
19
|
+
@it105 = Eddy::Elements::E639.new(ref: "IT105", req: "O")
|
|
20
|
+
@it106 = Eddy::Elements::E235.new(ref: "IT106", req: "X")
|
|
21
|
+
@it107 = Eddy::Elements::E234.new(ref: "IT107", req: "X")
|
|
22
|
+
@it108 = Eddy::Elements::E235.new(ref: "IT108", req: "X")
|
|
23
|
+
@it109 = Eddy::Elements::E234.new(ref: "IT109", req: "X")
|
|
24
|
+
@it110 = Eddy::Elements::E235.new(ref: "IT110", req: "X")
|
|
25
|
+
@it111 = Eddy::Elements::E234.new(ref: "IT111", req: "X")
|
|
26
|
+
@it112 = Eddy::Elements::E235.new(ref: "IT112", req: "X")
|
|
27
|
+
@it113 = Eddy::Elements::E234.new(ref: "IT113", req: "X")
|
|
28
|
+
@it114 = Eddy::Elements::E235.new(ref: "IT114", req: "X")
|
|
29
|
+
@it115 = Eddy::Elements::E234.new(ref: "IT115", req: "X")
|
|
30
|
+
super(
|
|
31
|
+
store,
|
|
32
|
+
@it101,
|
|
33
|
+
@it102,
|
|
34
|
+
@it103,
|
|
35
|
+
@it104,
|
|
36
|
+
@it105,
|
|
37
|
+
@it106,
|
|
38
|
+
@it107,
|
|
39
|
+
@it108,
|
|
40
|
+
@it109,
|
|
41
|
+
@it110,
|
|
42
|
+
@it111,
|
|
43
|
+
@it112,
|
|
44
|
+
@it113,
|
|
45
|
+
@it114,
|
|
46
|
+
@it115,
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# ### IT101
|
|
51
|
+
#
|
|
52
|
+
# - Id: 350
|
|
53
|
+
# - Name: Assigned Identification
|
|
54
|
+
# - Type: AN
|
|
55
|
+
# - Min/Max: 1/20
|
|
56
|
+
# - Description: Alphanumeric characters assigned for differentiation within a transaction set
|
|
57
|
+
#
|
|
58
|
+
# @param arg [String]
|
|
59
|
+
# @return [void]
|
|
60
|
+
def IT101=(arg)
|
|
61
|
+
@it101.value = arg
|
|
62
|
+
end
|
|
63
|
+
alias AssignedIdentification= IT101=
|
|
64
|
+
|
|
65
|
+
# ### IT102
|
|
66
|
+
#
|
|
67
|
+
# - Id: 358
|
|
68
|
+
# - Name: Quantity Invoiced
|
|
69
|
+
# - Type: R
|
|
70
|
+
# - Min/Max: 1/10
|
|
71
|
+
# - Description: Number of units invoiced (supplier units)
|
|
72
|
+
#
|
|
73
|
+
# @param arg [Float]
|
|
74
|
+
# @return [void]
|
|
75
|
+
def IT102=(arg)
|
|
76
|
+
@it102.value = arg
|
|
77
|
+
end
|
|
78
|
+
alias QuantityInvoiced= IT102=
|
|
79
|
+
|
|
80
|
+
# ### IT103
|
|
81
|
+
#
|
|
82
|
+
# - Id: 355
|
|
83
|
+
# - Name: Unit or Basis for Measurement Code
|
|
84
|
+
# - Type: ID
|
|
85
|
+
# - Min/Max: 2/2
|
|
86
|
+
# - Description: Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
|
|
87
|
+
#
|
|
88
|
+
# @param arg [String]
|
|
89
|
+
# @return [void]
|
|
90
|
+
def IT103=(arg)
|
|
91
|
+
@it103.value = arg
|
|
92
|
+
end
|
|
93
|
+
alias UnitOrBasisForMeasurementCode= IT103=
|
|
94
|
+
|
|
95
|
+
# ### IT104
|
|
96
|
+
#
|
|
97
|
+
# - Id: 212
|
|
98
|
+
# - Name: Unit Price
|
|
99
|
+
# - Type: R
|
|
100
|
+
# - Min/Max: 1/17
|
|
101
|
+
# - Description: Price per unit of product, service, commodity, etc.
|
|
102
|
+
#
|
|
103
|
+
# @param arg [Float]
|
|
104
|
+
# @return [void]
|
|
105
|
+
def IT104=(arg)
|
|
106
|
+
@it104.value = arg
|
|
107
|
+
end
|
|
108
|
+
alias UnitPrice= IT104=
|
|
109
|
+
|
|
110
|
+
# ### IT105
|
|
111
|
+
#
|
|
112
|
+
# - Id: 639
|
|
113
|
+
# - Name: Basis of Unit Price Code
|
|
114
|
+
# - Type: ID
|
|
115
|
+
# - Min/Max: 2/2
|
|
116
|
+
# - Description: Code identifying the type of unit price for an item
|
|
117
|
+
#
|
|
118
|
+
# @param arg [String]
|
|
119
|
+
# @return [void]
|
|
120
|
+
def IT105=(arg)
|
|
121
|
+
@it105.value = arg
|
|
122
|
+
end
|
|
123
|
+
alias BasisOfUnitPriceCode= IT105=
|
|
124
|
+
|
|
125
|
+
# ### IT106
|
|
126
|
+
#
|
|
127
|
+
# - Id: 235
|
|
128
|
+
# - Name: Product/Service ID Qualifier
|
|
129
|
+
# - Type: ID
|
|
130
|
+
# - Min/Max: 2/2
|
|
131
|
+
# - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
|
|
132
|
+
#
|
|
133
|
+
# @param arg [String]
|
|
134
|
+
# @return [void]
|
|
135
|
+
def IT106=(arg)
|
|
136
|
+
@it106.value = arg
|
|
137
|
+
end
|
|
138
|
+
alias ProductServiceIdQualifier1= IT106=
|
|
139
|
+
|
|
140
|
+
# ### IT107
|
|
141
|
+
#
|
|
142
|
+
# - Id: 234
|
|
143
|
+
# - Name: Product/Service ID
|
|
144
|
+
# - Type: AN
|
|
145
|
+
# - Min/Max: 1/48
|
|
146
|
+
# - Description: Identifying number for a product or service
|
|
147
|
+
#
|
|
148
|
+
# @param arg [String]
|
|
149
|
+
# @return [void]
|
|
150
|
+
def IT107=(arg)
|
|
151
|
+
@it107.value = arg
|
|
152
|
+
end
|
|
153
|
+
alias ProductServiceId1= IT107=
|
|
154
|
+
|
|
155
|
+
# ### IT108
|
|
156
|
+
#
|
|
157
|
+
# - Id: 235
|
|
158
|
+
# - Name: Product/Service ID Qualifier
|
|
159
|
+
# - Type: ID
|
|
160
|
+
# - Min/Max: 2/2
|
|
161
|
+
# - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
|
|
162
|
+
#
|
|
163
|
+
# @param arg [String]
|
|
164
|
+
# @return [void]
|
|
165
|
+
def IT108=(arg)
|
|
166
|
+
@it108.value = arg
|
|
167
|
+
end
|
|
168
|
+
alias ProductServiceIdQualifier2= IT108=
|
|
169
|
+
|
|
170
|
+
# ### IT109
|
|
171
|
+
#
|
|
172
|
+
# - Id: 234
|
|
173
|
+
# - Name: Product/Service ID
|
|
174
|
+
# - Type: AN
|
|
175
|
+
# - Min/Max: 1/48
|
|
176
|
+
# - Description: Identifying number for a product or service
|
|
177
|
+
#
|
|
178
|
+
# @param arg [String]
|
|
179
|
+
# @return [void]
|
|
180
|
+
def IT109=(arg)
|
|
181
|
+
@it109.value = arg
|
|
182
|
+
end
|
|
183
|
+
alias ProductServiceId2= IT109=
|
|
184
|
+
|
|
185
|
+
# ### IT110
|
|
186
|
+
#
|
|
187
|
+
# - Id: 235
|
|
188
|
+
# - Name: Product/Service ID Qualifier
|
|
189
|
+
# - Type: ID
|
|
190
|
+
# - Min/Max: 2/2
|
|
191
|
+
# - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
|
|
192
|
+
#
|
|
193
|
+
# @param arg [String]
|
|
194
|
+
# @return [void]
|
|
195
|
+
def IT110=(arg)
|
|
196
|
+
@it110.value = arg
|
|
197
|
+
end
|
|
198
|
+
alias ProductServiceIdQualifier3= IT110=
|
|
199
|
+
|
|
200
|
+
# ### IT111
|
|
201
|
+
#
|
|
202
|
+
# - Id: 234
|
|
203
|
+
# - Name: Product/Service ID
|
|
204
|
+
# - Type: AN
|
|
205
|
+
# - Min/Max: 1/48
|
|
206
|
+
# - Description: Identifying number for a product or service
|
|
207
|
+
#
|
|
208
|
+
# @param arg [String]
|
|
209
|
+
# @return [void]
|
|
210
|
+
def IT111=(arg)
|
|
211
|
+
@it111.value = arg
|
|
212
|
+
end
|
|
213
|
+
alias ProductServiceId3= IT111=
|
|
214
|
+
|
|
215
|
+
# ### IT112
|
|
216
|
+
#
|
|
217
|
+
# - Id: 235
|
|
218
|
+
# - Name: Product/Service ID Qualifier
|
|
219
|
+
# - Type: ID
|
|
220
|
+
# - Min/Max: 2/2
|
|
221
|
+
# - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
|
|
222
|
+
#
|
|
223
|
+
# @param arg [String]
|
|
224
|
+
# @return [void]
|
|
225
|
+
def IT112=(arg)
|
|
226
|
+
@it112.value = arg
|
|
227
|
+
end
|
|
228
|
+
alias ProductServiceIdQualifier4= IT112=
|
|
229
|
+
|
|
230
|
+
# ### IT113
|
|
231
|
+
#
|
|
232
|
+
# - Id: 234
|
|
233
|
+
# - Name: Product/Service ID
|
|
234
|
+
# - Type: AN
|
|
235
|
+
# - Min/Max: 1/48
|
|
236
|
+
# - Description: Identifying number for a product or service
|
|
237
|
+
#
|
|
238
|
+
# @param arg [String]
|
|
239
|
+
# @return [void]
|
|
240
|
+
def IT113=(arg)
|
|
241
|
+
@it113.value = arg
|
|
242
|
+
end
|
|
243
|
+
alias ProductServiceId4= IT113=
|
|
244
|
+
|
|
245
|
+
# ### IT114
|
|
246
|
+
#
|
|
247
|
+
# - Id: 235
|
|
248
|
+
# - Name: Product/Service ID Qualifier
|
|
249
|
+
# - Type: ID
|
|
250
|
+
# - Min/Max: 2/2
|
|
251
|
+
# - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
|
|
252
|
+
#
|
|
253
|
+
# @param arg [String]
|
|
254
|
+
# @return [void]
|
|
255
|
+
def IT114=(arg)
|
|
256
|
+
@it114.value = arg
|
|
257
|
+
end
|
|
258
|
+
alias ProductServiceIdQualifier5= IT114=
|
|
259
|
+
|
|
260
|
+
# ### IT115
|
|
261
|
+
#
|
|
262
|
+
# - Id: 234
|
|
263
|
+
# - Name: Product/Service ID
|
|
264
|
+
# - Type: AN
|
|
265
|
+
# - Min/Max: 1/48
|
|
266
|
+
# - Description: Identifying number for a product or service
|
|
267
|
+
#
|
|
268
|
+
# @param arg [String]
|
|
269
|
+
# @return [void]
|
|
270
|
+
def IT115=(arg)
|
|
271
|
+
@it115.value = arg
|
|
272
|
+
end
|
|
273
|
+
alias ProductServiceId5= IT115=
|
|
274
|
+
|
|
275
|
+
end
|
|
276
|
+
end
|
|
277
|
+
end
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: LIN
|
|
6
|
+
# - Name: Item Identification
|
|
7
|
+
# - Purpose: To specify basic item identification data.
|
|
8
|
+
class LIN < Eddy::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "LIN"
|
|
14
|
+
@name = "Item Identification"
|
|
15
|
+
@lin01 = Eddy::Elements::E350.new(ref: "LIN01", req: "O")
|
|
16
|
+
@lin02 = Eddy::Elements::E235.new(ref: "LIN02", req: "M")
|
|
17
|
+
@lin03 = Eddy::Elements::E234.new(ref: "LIN03", req: "M")
|
|
18
|
+
@lin04 = Eddy::Elements::E235.new(ref: "LIN04", req: "X")
|
|
19
|
+
@lin05 = Eddy::Elements::E234.new(ref: "LIN05", req: "X")
|
|
20
|
+
super(
|
|
21
|
+
store,
|
|
22
|
+
@lin01,
|
|
23
|
+
@lin02,
|
|
24
|
+
@lin03,
|
|
25
|
+
@lin04,
|
|
26
|
+
@lin05,
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# ### LIN01
|
|
31
|
+
#
|
|
32
|
+
# - Id: 350
|
|
33
|
+
# - Name: Assigned Identification
|
|
34
|
+
# - Type: AN
|
|
35
|
+
# - Min/Max: 1/20
|
|
36
|
+
# - Description: Alphanumeric characters assigned for differentiation within a transaction set
|
|
37
|
+
#
|
|
38
|
+
# @param arg [String]
|
|
39
|
+
# @return [void]
|
|
40
|
+
def LIN01=(arg)
|
|
41
|
+
@lin01.value = arg
|
|
42
|
+
end
|
|
43
|
+
alias AssignedIdentification= LIN01=
|
|
44
|
+
|
|
45
|
+
# ### LIN02
|
|
46
|
+
#
|
|
47
|
+
# - Id: 235
|
|
48
|
+
# - Name: Product/Service ID Qualifier
|
|
49
|
+
# - Type: ID
|
|
50
|
+
# - Min/Max: 2/2
|
|
51
|
+
# - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
|
|
52
|
+
#
|
|
53
|
+
# @param arg [String]
|
|
54
|
+
# @return [void]
|
|
55
|
+
def LIN02=(arg)
|
|
56
|
+
@lin02.value = arg
|
|
57
|
+
end
|
|
58
|
+
alias ProductServiceIdQualifier1= LIN02=
|
|
59
|
+
|
|
60
|
+
# ### LIN03
|
|
61
|
+
#
|
|
62
|
+
# - Id: 234
|
|
63
|
+
# - Name: Product/Service ID
|
|
64
|
+
# - Type: AN
|
|
65
|
+
# - Min/Max: 1/48
|
|
66
|
+
# - Description: Identifying number for a product or service
|
|
67
|
+
#
|
|
68
|
+
# @param arg [String]
|
|
69
|
+
# @return [void]
|
|
70
|
+
def LIN03=(arg)
|
|
71
|
+
@lin03.value = arg
|
|
72
|
+
end
|
|
73
|
+
alias ProductServiceId1= LIN03=
|
|
74
|
+
|
|
75
|
+
# ### LIN04
|
|
76
|
+
#
|
|
77
|
+
# - Id: 235
|
|
78
|
+
# - Name: Product/Service ID Qualifier
|
|
79
|
+
# - Type: ID
|
|
80
|
+
# - Min/Max: 2/2
|
|
81
|
+
# - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
|
|
82
|
+
#
|
|
83
|
+
# @param arg [String]
|
|
84
|
+
# @return [void]
|
|
85
|
+
def LIN04=(arg)
|
|
86
|
+
@lin04.value = arg
|
|
87
|
+
end
|
|
88
|
+
alias ProductServiceIdQualifier2= LIN04=
|
|
89
|
+
|
|
90
|
+
# ### LIN05
|
|
91
|
+
#
|
|
92
|
+
# - Id: 234
|
|
93
|
+
# - Name: Product/Service ID
|
|
94
|
+
# - Type: AN
|
|
95
|
+
# - Min/Max: 1/48
|
|
96
|
+
# - Description: Identifying number for a product or service
|
|
97
|
+
#
|
|
98
|
+
# @param arg [String]
|
|
99
|
+
# @return [void]
|
|
100
|
+
def LIN05=(arg)
|
|
101
|
+
@lin05.value = arg
|
|
102
|
+
end
|
|
103
|
+
alias ProductServiceId2= LIN05=
|
|
104
|
+
|
|
105
|
+
end
|
|
106
|
+
end
|
|
107
|
+
end
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
module Eddy
|
|
2
|
+
module Segments
|
|
3
|
+
# ### Segment Summary:
|
|
4
|
+
#
|
|
5
|
+
# - Id: MAN
|
|
6
|
+
# - Name: Marks and Numbers
|
|
7
|
+
# - Purpose: To indicate identifying marks and numbers for shipping containers.
|
|
8
|
+
class MAN < Eddy::Segment
|
|
9
|
+
|
|
10
|
+
# @param store [Eddy::Data::Store]
|
|
11
|
+
# @return [void]
|
|
12
|
+
def initialize(store)
|
|
13
|
+
@id = "MAN"
|
|
14
|
+
@name = "Marks and Numbers"
|
|
15
|
+
@man01 = Eddy::Elements::E88.new(ref: "MAN01", req: "M")
|
|
16
|
+
@man02 = Eddy::Elements::E87.new(ref: "MAN02", req: "M")
|
|
17
|
+
super(
|
|
18
|
+
store,
|
|
19
|
+
@man01,
|
|
20
|
+
@man02,
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# ### MAN01
|
|
25
|
+
#
|
|
26
|
+
# - Id: 88
|
|
27
|
+
# - Name: Marks and Numbers Qualifier
|
|
28
|
+
# - Type: ID
|
|
29
|
+
# - Min/Max: 1/2
|
|
30
|
+
# - Description: Code specifying the application or source of Marks and Numbers (87)
|
|
31
|
+
#
|
|
32
|
+
# @param arg [String]
|
|
33
|
+
# @return [void]
|
|
34
|
+
def MAN01=(arg)
|
|
35
|
+
@man01.value = arg
|
|
36
|
+
end
|
|
37
|
+
alias MarksAndNumbersQualifier= MAN01=
|
|
38
|
+
|
|
39
|
+
# ### MAN02
|
|
40
|
+
#
|
|
41
|
+
# - Id: 87
|
|
42
|
+
# - Name: Marks and Numbers
|
|
43
|
+
# - Type: AN
|
|
44
|
+
# - Min/Max: 1/48
|
|
45
|
+
# - Description: Marks and numbers used to identify a shipment or parts of a shipment
|
|
46
|
+
#
|
|
47
|
+
# @param arg [String]
|
|
48
|
+
# @return [void]
|
|
49
|
+
def MAN02=(arg)
|
|
50
|
+
@man02.value = arg
|
|
51
|
+
end
|
|
52
|
+
alias MarksAndNumbers= MAN02=
|
|
53
|
+
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|