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.
Files changed (309) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +103 -37
  3. data/.solargraph.yml +4 -0
  4. data/.vscode/settings.json +17 -0
  5. data/.yardopts +2 -2
  6. data/CHANGELOG.md +50 -0
  7. data/Gemfile.lock +21 -7
  8. data/README.md +32 -3
  9. data/Rakefile +1 -10
  10. data/data/004010/code-lists/100.tsv +164 -0
  11. data/data/004010/code-lists/156.tsv +52 -0
  12. data/data/004010/code-lists/26.tsv +499 -0
  13. data/data/004010/code-lists/etc/100-fancy-definitions.tsv +164 -0
  14. data/data/004010/code-lists/etc/100-with-funds-codes.tsv +180 -0
  15. data/data/004010/code-lists/etc/26-alpha2.tsv +250 -0
  16. data/data/004010/code-lists/etc/26-alpha3.tsv +250 -0
  17. data/data/004010/elements-short.tsv +1405 -0
  18. data/data/004010/elements.tsv +3 -3
  19. data/data/004010/segments.tsv +1009 -1003
  20. data/data/004010/segments/ack.segment.yml +15 -0
  21. data/data/004010/segments/bak.segment.yml +9 -0
  22. data/data/004010/segments/beg.segment.yml +17 -0
  23. data/data/004010/segments/big.segment.yml +10 -0
  24. data/data/004010/segments/bsn.segment.yml +10 -0
  25. data/data/004010/segments/cad.segment.yml +14 -0
  26. data/data/004010/segments/ctp.segment.yml +19 -0
  27. data/data/004010/segments/ctt.segment.yml +13 -0
  28. data/data/004010/segments/dtm.segment.yml +7 -0
  29. data/data/004010/segments/envelope/ge.segment.yml +7 -0
  30. data/data/004010/segments/envelope/gs.segment.yml +13 -0
  31. data/data/004010/segments/envelope/iea.segment.yml +8 -0
  32. data/data/004010/segments/envelope/isa.segment.yml +22 -0
  33. data/data/004010/segments/envelope/se.segment.yml +7 -0
  34. data/data/004010/segments/envelope/st.segment.yml +12 -0
  35. data/data/004010/segments/hl.segment.yml +9 -0
  36. data/data/004010/segments/it1.segment.yml +20 -0
  37. data/data/004010/segments/lin.segment.yml +10 -0
  38. data/data/004010/segments/loop/hl.segment.yml +8 -0
  39. data/data/004010/segments/man.segment.yml +7 -0
  40. data/data/004010/segments/n1.segment.yml +9 -0
  41. data/data/004010/segments/n2.segment.yml +7 -0
  42. data/data/004010/segments/n3.segment.yml +6 -0
  43. data/data/004010/segments/n4.segment.yml +9 -0
  44. data/data/004010/segments/pid.segment.yml +10 -0
  45. data/data/004010/segments/po1.segment.yml +14 -0
  46. data/data/004010/segments/prf.segment.yml +9 -0
  47. data/data/004010/segments/ref.segment.yml +7 -0
  48. data/data/004010/segments/sac.segment.yml +20 -0
  49. data/data/004010/segments/sln.segment.yml +12 -0
  50. data/data/004010/segments/sn1.segment.yml +11 -0
  51. data/data/004010/segments/td1.segment.yml +13 -0
  52. data/data/004010/segments/td5.segment.yml +11 -0
  53. data/data/004010/segments/tds.segment.yml +10 -0
  54. data/data/schema/element_summary.json +60 -0
  55. data/data/schema/loop_summary.json +49 -0
  56. data/data/schema/segment_summary.json +66 -0
  57. data/data/schema/src/element_summary.schema.yml +73 -0
  58. data/data/schema/src/loop_summary.schema.yml +50 -0
  59. data/data/schema/src/segment_summary.schema.yml +59 -0
  60. data/data/schema/src/transaction_set_summary.schema.yml +27 -0
  61. data/data/schema/transaction_set_summary.json +33 -0
  62. data/data/sources.md +114 -145
  63. data/eddy.gemspec +6 -3
  64. data/exe/eddy +14 -0
  65. data/lib/definitions/elements/generated/1005.hierarchical_structure_code.rb +98 -0
  66. data/lib/definitions/elements/generated/1019.invoice_type_code.rb +40 -0
  67. data/lib/definitions/elements/generated/103.packaging_code.rb +29 -0
  68. data/lib/definitions/elements/generated/1166.contract_type_code.rb +87 -0
  69. data/lib/definitions/elements/generated/1232.purchase_category.rb +53 -0
  70. data/lib/definitions/elements/generated/127.reference_identification.rb +29 -0
  71. data/lib/definitions/elements/generated/128.reference_identification_qualifier.rb +1540 -0
  72. data/lib/definitions/elements/generated/1300.service_promotion_allowance_or_charge_code.rb +1090 -0
  73. data/lib/definitions/elements/generated/1301.agency_service_promotion_allowance_or_charge_code.rb +29 -0
  74. data/lib/definitions/elements/generated/133.routing_sequence_code.rb +60 -0
  75. data/lib/definitions/elements/generated/166.address_information.rb +29 -0
  76. data/lib/definitions/elements/generated/183.volume.rb +29 -0
  77. data/lib/definitions/elements/generated/187.weight_qualifier.rb +88 -0
  78. data/lib/definitions/elements/generated/19.city_name.rb +29 -0
  79. data/lib/definitions/elements/generated/206.equipment_initial.rb +29 -0
  80. data/lib/definitions/elements/generated/207.equipment_number.rb +29 -0
  81. data/lib/definitions/elements/generated/212.unit_price.rb +29 -0
  82. data/lib/definitions/elements/generated/22.commodity_code.rb +29 -0
  83. data/lib/definitions/elements/generated/23.commodity_code_qualifier.rb +60 -0
  84. data/lib/definitions/elements/generated/234.product_service_id.rb +29 -0
  85. data/lib/definitions/elements/generated/235.product_service_id_qualifier.rb +514 -0
  86. data/lib/definitions/elements/generated/236.price_identifier_code.rb +201 -0
  87. data/lib/definitions/elements/generated/248.allowance_or_charge_indicator.rb +44 -0
  88. data/lib/definitions/elements/generated/26.country_code.rb +535 -0
  89. data/lib/definitions/elements/generated/284.service_level_code.rb +103 -0
  90. data/lib/definitions/elements/generated/324.purchase_order_number.rb +29 -0
  91. data/lib/definitions/elements/generated/326.request_reference_number.rb +29 -0
  92. data/lib/definitions/elements/generated/327.change_order_sequence_number.rb +29 -0
  93. data/lib/definitions/elements/generated/328.release_number.rb +29 -0
  94. data/lib/definitions/elements/generated/330.quantity_ordered.rb +29 -0
  95. data/lib/definitions/elements/generated/347.hash_total.rb +29 -0
  96. data/lib/definitions/elements/generated/349.item_description_type.rb +40 -0
  97. data/lib/definitions/elements/generated/352.description.rb +29 -0
  98. data/lib/definitions/elements/generated/353.transaction_set_purpose_code.rb +102 -0
  99. data/lib/definitions/elements/generated/354.number_of_line_items.rb +30 -0
  100. data/lib/definitions/elements/generated/355.unit_or_basis_for_measurement_code.rb +831 -0
  101. data/lib/definitions/elements/generated/358.quantity_invoiced.rb +29 -0
  102. data/lib/definitions/elements/generated/367.contract_number.rb +29 -0
  103. data/lib/definitions/elements/generated/368.shipment_order_status_code.rb +139 -0
  104. data/lib/definitions/elements/generated/374.date_time_qualifier.rb +1149 -0
  105. data/lib/definitions/elements/generated/380.quantity.rb +29 -0
  106. data/lib/definitions/elements/generated/382.number_of_units_shipped.rb +29 -0
  107. data/lib/definitions/elements/generated/387.routing.rb +29 -0
  108. data/lib/definitions/elements/generated/396.shipment_identification.rb +29 -0
  109. data/lib/definitions/elements/generated/559.agency_qualifier_code.rb +213 -0
  110. data/lib/definitions/elements/generated/587.acknowledgment_type.rb +52 -0
  111. data/lib/definitions/elements/generated/610.amount.rb +30 -0
  112. data/lib/definitions/elements/generated/639.basis_of_unit_price_code.rb +128 -0
  113. data/lib/definitions/elements/generated/640.transaction_type_code.rb +483 -0
  114. data/lib/definitions/elements/generated/646.quantity_shipped_to_date.rb +29 -0
  115. data/lib/definitions/elements/generated/648.price_multiplier_qualifier.rb +43 -0
  116. data/lib/definitions/elements/generated/649.multiplier.rb +29 -0
  117. data/lib/definitions/elements/generated/66.identification_code_qualifier.rb +252 -0
  118. data/lib/definitions/elements/generated/662.relationship_code.rb +42 -0
  119. data/lib/definitions/elements/generated/668.line_item_status_code.rb +63 -0
  120. data/lib/definitions/elements/generated/67.identification_code.rb +29 -0
  121. data/lib/definitions/elements/generated/687.class_of_trade_code.rb +89 -0
  122. data/lib/definitions/elements/generated/750.product_process_characteristic_code.rb +254 -0
  123. data/lib/definitions/elements/generated/751.product_description_code.rb +29 -0
  124. data/lib/definitions/elements/generated/76.invoice_number.rb +29 -0
  125. data/lib/definitions/elements/generated/782.monetary_amount.rb +29 -0
  126. data/lib/definitions/elements/generated/786.security_level_code.rb +54 -0
  127. data/lib/definitions/elements/generated/79.lading_description.rb +29 -0
  128. data/lib/definitions/elements/generated/80.lading_quantity.rb +30 -0
  129. data/lib/definitions/elements/generated/87.marks_and_numbers.rb +29 -0
  130. data/lib/definitions/elements/generated/88.marks_and_numbers_qualifier.rb +57 -0
  131. data/lib/definitions/elements/generated/91.transportation_method_type_code.rb +108 -0
  132. data/lib/definitions/elements/generated/92.purchase_order_type_code.rb +106 -0
  133. data/lib/definitions/elements/generated/98.entity_identifier_code.rb +1349 -0
  134. data/lib/definitions/elements/manual/116.postal_code.rb +44 -0
  135. data/lib/definitions/elements/manual/124.application_receivers_code.rb +29 -0
  136. data/lib/definitions/elements/manual/140.standard_carrier_alpha_code.rb +211 -0
  137. data/lib/definitions/elements/manual/142.application_senders_code.rb +29 -0
  138. data/lib/definitions/elements/manual/143.transaction_set_identifier_code.rb +335 -0
  139. data/lib/definitions/elements/manual/156.state_or_province_code.rb +92 -0
  140. data/lib/definitions/elements/manual/28.group_control_number.rb +34 -0
  141. data/lib/definitions/elements/manual/329.transactional_set_control_number.rb +35 -0
  142. data/lib/definitions/elements/manual/337.time.rb +30 -0
  143. data/lib/definitions/elements/manual/350.assigned_identification.rb +33 -0
  144. data/lib/definitions/elements/manual/373.date.rb +30 -0
  145. data/lib/definitions/elements/manual/455.responsible_agency_code.rb +43 -0
  146. data/lib/definitions/elements/manual/479.functional_identifier_code.rb +271 -0
  147. data/lib/definitions/elements/manual/480.version_release_industry_identifier_code.rb +145 -0
  148. data/lib/definitions/elements/manual/784.length_of_binary_data.rb +30 -0
  149. data/lib/definitions/elements/manual/785.binary_data.rb +30 -0
  150. data/lib/definitions/elements/manual/96.number_of_included_segments.rb +30 -0
  151. data/lib/definitions/elements/manual/97.number_of_transaction_sets_included.rb +30 -0
  152. data/lib/definitions/elements/manual/hl/628.hierarchical_id_number.rb +29 -0
  153. data/lib/definitions/elements/manual/hl/734.hierarchical_parent_id_number.rb +29 -0
  154. data/lib/definitions/elements/manual/hl/735.hierarchical_level_code.rb +207 -0
  155. data/lib/definitions/elements/manual/hl/736.hierarchical_child_code.rb +39 -0
  156. data/lib/definitions/elements/manual/i/I01.authorization_information_qualifier.rb +48 -0
  157. data/lib/definitions/elements/manual/i/I02.authorization_information.rb +33 -0
  158. data/lib/definitions/elements/manual/i/I03.security_information_qualifier.rb +43 -0
  159. data/lib/definitions/elements/manual/i/I04.security_information.rb +33 -0
  160. data/lib/definitions/elements/manual/i/I05.interchange_id_qualifier.rb +75 -0
  161. data/lib/definitions/elements/manual/i/I06.interchange_sender_id.rb +29 -0
  162. data/lib/definitions/elements/manual/i/I07.interchange_receiver_id.rb +29 -0
  163. data/lib/definitions/elements/manual/i/I08.interchange_date.rb +35 -0
  164. data/lib/definitions/elements/manual/i/I09.interchange_time.rb +36 -0
  165. data/lib/definitions/elements/manual/i/I10.interchange_control_standards_identifier.rb +42 -0
  166. data/lib/definitions/elements/manual/i/I11.interchange_control_version_number.rb +55 -0
  167. data/lib/definitions/elements/manual/i/I12.interchange_control_number.rb +34 -0
  168. data/lib/definitions/elements/manual/i/I13.acknowledgment_requested.rb +43 -0
  169. data/lib/definitions/elements/manual/i/I14.usage_indicator.rb +40 -0
  170. data/lib/definitions/elements/manual/i/I15.component_element_separator.rb +36 -0
  171. data/lib/definitions/elements/manual/i/I16.number_of_included_functional_groups.rb +30 -0
  172. data/lib/definitions/elements/manual/misc/81.weight.rb +29 -0
  173. data/lib/definitions/elements/manual/misc/93.name.rb +29 -0
  174. data/lib/definitions/segments/generated/ack.rb +192 -0
  175. data/lib/definitions/segments/generated/bak.rb +90 -0
  176. data/lib/definitions/segments/generated/beg.rb +226 -0
  177. data/lib/definitions/segments/generated/big.rb +107 -0
  178. data/lib/definitions/segments/generated/bsn.rb +107 -0
  179. data/lib/definitions/segments/generated/cad.rb +175 -0
  180. data/lib/definitions/segments/generated/ctp.rb +158 -0
  181. data/lib/definitions/segments/generated/ctt.rb +141 -0
  182. data/lib/definitions/segments/generated/dtm.rb +56 -0
  183. data/lib/definitions/segments/generated/it1.rb +277 -0
  184. data/lib/definitions/segments/generated/lin.rb +107 -0
  185. data/lib/definitions/segments/generated/man.rb +56 -0
  186. data/lib/definitions/segments/generated/n1.rb +90 -0
  187. data/lib/definitions/segments/generated/n3.rb +39 -0
  188. data/lib/definitions/segments/generated/n4.rb +90 -0
  189. data/lib/definitions/segments/generated/pid.rb +107 -0
  190. data/lib/definitions/segments/generated/po1.rb +175 -0
  191. data/lib/definitions/segments/generated/prf.rb +90 -0
  192. data/lib/definitions/segments/generated/ref.rb +56 -0
  193. data/lib/definitions/segments/generated/sac.rb +107 -0
  194. data/lib/definitions/segments/generated/sln.rb +141 -0
  195. data/lib/definitions/segments/generated/sn1.rb +124 -0
  196. data/lib/definitions/segments/generated/td1.rb +158 -0
  197. data/lib/definitions/segments/generated/td5.rb +107 -0
  198. data/lib/definitions/segments/generated/tds.rb +39 -0
  199. data/lib/definitions/segments/manual/envelopes/ge.rb +53 -0
  200. data/lib/definitions/segments/manual/envelopes/gs.rb +163 -0
  201. data/lib/definitions/segments/manual/envelopes/iea.rb +53 -0
  202. data/lib/definitions/segments/manual/envelopes/isa.rb +295 -0
  203. data/lib/definitions/segments/manual/envelopes/se.rb +52 -0
  204. data/lib/definitions/segments/manual/envelopes/st.rb +52 -0
  205. data/lib/definitions/segments/manual/hl.rb +96 -0
  206. data/lib/definitions/segments/manual/n2.rb +52 -0
  207. data/lib/definitions/transaction_sets/manual/810/810.rb +143 -0
  208. data/lib/definitions/transaction_sets/manual/810/loops.rb +109 -0
  209. data/lib/definitions/transaction_sets/manual/850/850.rb +92 -0
  210. data/lib/definitions/transaction_sets/manual/850/loops.rb +58 -0
  211. data/lib/definitions/transaction_sets/manual/855/855.rb +83 -0
  212. data/lib/definitions/transaction_sets/manual/855/loops.rb +104 -0
  213. data/lib/definitions/transaction_sets/manual/856/856.rb +83 -0
  214. data/lib/definitions/transaction_sets/manual/856/loops.rb +155 -0
  215. data/lib/eddy.rb +29 -7
  216. data/lib/eddy/build/build.rb +47 -0
  217. data/lib/eddy/build/elements/element.rb +67 -0
  218. data/lib/eddy/build/elements/elements.rb +46 -0
  219. data/lib/eddy/build/elements/id.rb +55 -0
  220. data/lib/eddy/build/elements/n.rb +48 -0
  221. data/lib/eddy/build/loop_builder.rb +93 -0
  222. data/lib/eddy/build/segment_builder.rb +169 -0
  223. data/lib/eddy/build/transaction_set_builder.rb +218 -0
  224. data/lib/eddy/cli/cli.rb +39 -0
  225. data/lib/eddy/config.rb +51 -0
  226. data/lib/eddy/data.rb +50 -0
  227. data/lib/eddy/data/persistence/active_record.rb +10 -0
  228. data/lib/eddy/data/persistence/base.rb +47 -0
  229. data/lib/eddy/data/persistence/file.rb +50 -0
  230. data/lib/eddy/data/persistence/memory.rb +65 -0
  231. data/lib/eddy/data/store.rb +108 -0
  232. data/lib/eddy/errors.rb +112 -0
  233. data/lib/eddy/models/element.rb +14 -0
  234. data/lib/eddy/models/element/an.rb +55 -0
  235. data/lib/eddy/models/element/b.rb +53 -0
  236. data/lib/eddy/models/element/base.rb +116 -0
  237. data/lib/eddy/models/element/composite.rb +6 -0
  238. data/lib/eddy/models/element/dt.rb +100 -0
  239. data/lib/eddy/models/element/id.rb +58 -0
  240. data/lib/eddy/models/element/n.rb +94 -0
  241. data/lib/eddy/models/element/r.rb +84 -0
  242. data/lib/eddy/models/element/tm.rb +113 -0
  243. data/lib/eddy/models/loop.rb +74 -0
  244. data/lib/eddy/models/segment.rb +35 -0
  245. data/lib/eddy/models/transaction_set.rb +101 -0
  246. data/lib/eddy/parse.rb +58 -0
  247. data/lib/eddy/schema/element_summary.rb +123 -0
  248. data/lib/eddy/schema/loop_summary.rb +101 -0
  249. data/lib/eddy/schema/segment_summary.rb +116 -0
  250. data/lib/eddy/schema/transaction_set_summary.rb +96 -0
  251. data/lib/eddy/schema/validate.rb +41 -0
  252. data/lib/eddy/util.rb +16 -0
  253. data/lib/eddy/util/clean_folder.rb +14 -0
  254. data/lib/eddy/util/edi_data.rb +153 -0
  255. data/lib/eddy/util/new_number.rb +24 -0
  256. data/lib/eddy/util/normalize.rb +51 -0
  257. data/lib/eddy/util/paths.rb +19 -0
  258. data/lib/eddy/util/read.rb +38 -0
  259. data/lib/eddy/util/time.rb +56 -0
  260. data/lib/eddy/util/timestamp.rb +12 -0
  261. data/lib/eddy/util/trim.rb +29 -0
  262. data/lib/eddy/version.rb +1 -1
  263. data/lib/eddy/write/functional_group.rb +33 -0
  264. data/lib/eddy/write/interchange.rb +28 -0
  265. data/lib/eddy/write/simple_interchange.rb +57 -0
  266. data/lib/generators/eddy/initializer/initializer_generator.rb +17 -0
  267. data/lib/generators/eddy/initializer/templates/eddy.rb.erb +6 -0
  268. data/lib/generators/eddy/migration/migration_generator.rb +53 -0
  269. data/lib/generators/eddy/migration/templates/migration.rb.erb +35 -0
  270. data/tasks/build.rake +15 -0
  271. data/tasks/misc/gemspec.rake +12 -0
  272. data/tasks/misc/missing_lists.rake +240 -0
  273. data/tasks/misc/yaml2json.rake +20 -0
  274. data/todo.txt +16 -0
  275. metadata +297 -42
  276. data/data/004010/segments/ISA.tsv +0 -17
  277. data/data/schema.jsonc +0 -67
  278. data/lib/eddy/build/build_an.rb +0 -31
  279. data/lib/eddy/build/build_dt.rb +0 -46
  280. data/lib/eddy/build/build_elements.rb +0 -181
  281. data/lib/eddy/build/build_id.rb +0 -56
  282. data/lib/eddy/build/build_r_and_n.rb +0 -69
  283. data/lib/eddy/build/build_tm.rb +0 -52
  284. data/lib/eddy/build/segments.rb +0 -25
  285. data/lib/eddy/definitions/manual/elements/109.dt.pickup_date.rb +0 -20
  286. data/lib/eddy/definitions/manual/elements/111.tm.pickup_time.rb +0 -20
  287. data/lib/eddy/definitions/manual/elements/112.an.pier_name.rb +0 -19
  288. data/lib/eddy/definitions/manual/elements/785.b.binary_data.rb +0 -19
  289. data/lib/eddy/definitions/manual/elements/81.r.weight.rb +0 -19
  290. data/lib/eddy/definitions/manual/elements/86.n0.total_equipment.rb +0 -20
  291. data/lib/eddy/definitions/manual/elements/I02.authorization_information.rb +0 -20
  292. data/lib/eddy/definitions/manual/elements/I04.security_information.rb +0 -20
  293. data/lib/eddy/definitions/manual/elements/I08.interchange_date.rb +0 -20
  294. data/lib/eddy/definitions/manual/elements/I09.interchange_time.rb +0 -20
  295. data/lib/eddy/definitions/manual/elements/I15.component_element_separator.rb +0 -32
  296. data/lib/eddy/definitions/manual/segments/n1.rb +0 -14
  297. data/lib/eddy/element.rb +0 -14
  298. data/lib/eddy/element/an.rb +0 -36
  299. data/lib/eddy/element/b.rb +0 -9
  300. data/lib/eddy/element/base.rb +0 -37
  301. data/lib/eddy/element/dt.rb +0 -89
  302. data/lib/eddy/element/id.rb +0 -40
  303. data/lib/eddy/element/n.rb +0 -43
  304. data/lib/eddy/element/r.rb +0 -47
  305. data/lib/eddy/element/tm.rb +0 -108
  306. data/lib/eddy/error.rb +0 -14
  307. data/lib/eddy/helpers.rb +0 -31
  308. data/lib/eddy/segment.rb +0 -12
  309. data/lib/eddy/transaction_set.rb +0 -35
@@ -0,0 +1,90 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: PRF
6
+ # - Name: Purchase Order Reference
7
+ # - Purpose: To provide reference to a specific purchase order.
8
+ class PRF < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "PRF"
14
+ @name = "Purchase Order Reference"
15
+ @prf01 = Eddy::Elements::E324.new(ref: "PRF01", req: "M")
16
+ @prf02 = Eddy::Elements::E328.new(ref: "PRF02", req: "O")
17
+ @prf03 = Eddy::Elements::E327.new(ref: "PRF03", req: "O")
18
+ @prf04 = Eddy::Elements::E373.new(ref: "PRF04", req: "O")
19
+ super(
20
+ store,
21
+ @prf01,
22
+ @prf02,
23
+ @prf03,
24
+ @prf04,
25
+ )
26
+ end
27
+
28
+ # ### PRF01
29
+ #
30
+ # - Id: 324
31
+ # - Name: Purchase Order Number
32
+ # - Type: AN
33
+ # - Min/Max: 1/22
34
+ # - Description: Identifying number for Purchase Order assigned by the orderer/purchaser
35
+ #
36
+ # @param arg [String]
37
+ # @return [void]
38
+ def PRF01=(arg)
39
+ @prf01.value = arg
40
+ end
41
+ alias PurchaseOrderNumber= PRF01=
42
+
43
+ # ### PRF02
44
+ #
45
+ # - Id: 328
46
+ # - Name: Release Number
47
+ # - Type: AN
48
+ # - Min/Max: 1/30
49
+ # - Description: Number identifying a release against a Purchase Order previously placed by the parties involved in the transaction
50
+ #
51
+ # @param arg [String]
52
+ # @return [void]
53
+ def PRF02=(arg)
54
+ @prf02.value = arg
55
+ end
56
+ alias ReleaseNumber= PRF02=
57
+
58
+ # ### PRF03
59
+ #
60
+ # - Id: 327
61
+ # - Name: Change Order Sequence Number
62
+ # - Type: AN
63
+ # - Min/Max: 1/8
64
+ # - Description: Number assigned by the orderer identifying a specific change or revision to a previously transmitted transaction set
65
+ #
66
+ # @param arg [String]
67
+ # @return [void]
68
+ def PRF03=(arg)
69
+ @prf03.value = arg
70
+ end
71
+ alias ChangeOrderSequenceNumber= PRF03=
72
+
73
+ # ### PRF04
74
+ #
75
+ # - Id: 373
76
+ # - Name: Date
77
+ # - Type: DT
78
+ # - Min/Max: 8/8
79
+ # - Description: Date expressed as CCYYMMDD
80
+ #
81
+ # @param arg [Time]
82
+ # @return [void]
83
+ def PRF04=(arg)
84
+ @prf04.value = arg
85
+ end
86
+ alias Date= PRF04=
87
+
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,56 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: REF
6
+ # - Name: Reference Identification
7
+ # - Purpose: To specify identifying information.
8
+ class REF < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "REF"
14
+ @name = "Reference Identification"
15
+ @ref01 = Eddy::Elements::E128.new(ref: "REF01", req: "M")
16
+ @ref02 = Eddy::Elements::E127.new(ref: "REF02", req: "X")
17
+ super(
18
+ store,
19
+ @ref01,
20
+ @ref02,
21
+ )
22
+ end
23
+
24
+ # ### REF01
25
+ #
26
+ # - Id: 128
27
+ # - Name: Reference Identification Qualifier
28
+ # - Type: ID
29
+ # - Min/Max: 2/3
30
+ # - Description: Code qualifying the Reference Identification
31
+ #
32
+ # @param arg [String]
33
+ # @return [void]
34
+ def REF01=(arg)
35
+ @ref01.value = arg
36
+ end
37
+ alias ReferenceIdentificationQualifier= REF01=
38
+
39
+ # ### REF02
40
+ #
41
+ # - Id: 127
42
+ # - Name: Reference Identification
43
+ # - Type: AN
44
+ # - Min/Max: 1/30
45
+ # - Description: Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
46
+ #
47
+ # @param arg [String]
48
+ # @return [void]
49
+ def REF02=(arg)
50
+ @ref02.value = arg
51
+ end
52
+ alias ReferenceIdentification= REF02=
53
+
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,107 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: SAC
6
+ # - Name: Service, Promotion, Allowance, or Charge Information
7
+ # - Purpose: To request or identify a service, promotion, allowance, or charge; to specify the amount or percentage for the service,promotion, allowance, or charge.
8
+ class SAC < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "SAC"
14
+ @name = "Service, Promotion, Allowance, or Charge Information"
15
+ @sac01 = Eddy::Elements::E248.new(ref: "SAC01", req: "M")
16
+ @sac02 = Eddy::Elements::E1300.new(ref: "SAC02", req: "X")
17
+ @sac03 = Eddy::Elements::E559.new(ref: "SAC03", req: "X")
18
+ @sac04 = Eddy::Elements::E1301.new(ref: "SAC04", req: "X")
19
+ @sac05 = Eddy::Elements::E610.new(ref: "SAC05", req: "O")
20
+ super(
21
+ store,
22
+ @sac01,
23
+ @sac02,
24
+ @sac03,
25
+ @sac04,
26
+ @sac05,
27
+ )
28
+ end
29
+
30
+ # ### SAC01
31
+ #
32
+ # - Id: 248
33
+ # - Name: Allowance or Charge Indicator
34
+ # - Type: ID
35
+ # - Min/Max: 1/1
36
+ # - Description: Code which indicates an allowance or charge for the service specified
37
+ #
38
+ # @param arg [String]
39
+ # @return [void]
40
+ def SAC01=(arg)
41
+ @sac01.value = arg
42
+ end
43
+ alias AllowanceOrChargeIndicator= SAC01=
44
+
45
+ # ### SAC02
46
+ #
47
+ # - Id: 1300
48
+ # - Name: Service, Promotion, Allowance, or Charge Code
49
+ # - Type: ID
50
+ # - Min/Max: 4/4
51
+ # - Description: Code identifying the service, promotion, allowance, or charge
52
+ #
53
+ # @param arg [String]
54
+ # @return [void]
55
+ def SAC02=(arg)
56
+ @sac02.value = arg
57
+ end
58
+ alias ServicePromotionAllowanceOrChargeCode= SAC02=
59
+
60
+ # ### SAC03
61
+ #
62
+ # - Id: 559
63
+ # - Name: Agency Qualifier Code
64
+ # - Type: ID
65
+ # - Min/Max: 2/2
66
+ # - Description: Code identifying the agency assigning the code values
67
+ #
68
+ # @param arg [String]
69
+ # @return [void]
70
+ def SAC03=(arg)
71
+ @sac03.value = arg
72
+ end
73
+ alias AgencyQualifierCode= SAC03=
74
+
75
+ # ### SAC04
76
+ #
77
+ # - Id: 1301
78
+ # - Name: Agency Service, Promotion, Allowance, or Charge Code
79
+ # - Type: AN
80
+ # - Min/Max: 1/10
81
+ # - Description: Agency maintained code identifying the service, promotion, allowance, or charge
82
+ #
83
+ # @param arg [String]
84
+ # @return [void]
85
+ def SAC04=(arg)
86
+ @sac04.value = arg
87
+ end
88
+ alias AgencyServicePromotionAllowanceOrChargeCode= SAC04=
89
+
90
+ # ### SAC05
91
+ #
92
+ # - Id: 610
93
+ # - Name: Amount
94
+ # - Type: N2
95
+ # - Min/Max: 1/15
96
+ # - Description: Monetary amount
97
+ #
98
+ # @param arg [Integer]
99
+ # @return [void]
100
+ def SAC05=(arg)
101
+ @sac05.value = arg
102
+ end
103
+ alias Amount= SAC05=
104
+
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,141 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: SLN
6
+ # - Name: Subline Item Detail
7
+ # - Purpose: To specify product subline detail item data.
8
+ class SLN < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "SLN"
14
+ @name = "Subline Item Detail"
15
+ @sln01 = Eddy::Elements::E350.new(ref: "SLN01", req: "M")
16
+ @sln02 = Eddy::Elements::E350.new(ref: "SLN02", req: "O")
17
+ @sln03 = Eddy::Elements::E662.new(ref: "SLN03", req: "M")
18
+ @sln04 = Eddy::Elements::E380.new(ref: "SLN04", req: "X")
19
+ @sln05 = Eddy::Elements::E355.new(ref: "SLN05", req: "O")
20
+ @sln06 = Eddy::Elements::E212.new(ref: "SLN06", req: "X")
21
+ @sln07 = Eddy::Elements::E639.new(ref: "SLN07", req: "O")
22
+ super(
23
+ store,
24
+ @sln01,
25
+ @sln02,
26
+ @sln03,
27
+ @sln04,
28
+ @sln05,
29
+ @sln06,
30
+ @sln07,
31
+ )
32
+ end
33
+
34
+ # ### SLN01
35
+ #
36
+ # - Id: 350
37
+ # - Name: Assigned Identification
38
+ # - Type: AN
39
+ # - Min/Max: 1/20
40
+ # - Description: Alphanumeric characters assigned for differentiation within a transaction set
41
+ #
42
+ # @param arg [String]
43
+ # @return [void]
44
+ def SLN01=(arg)
45
+ @sln01.value = arg
46
+ end
47
+ alias AssignedIdentification1= SLN01=
48
+
49
+ # ### SLN02
50
+ #
51
+ # - Id: 350
52
+ # - Name: Assigned Identification
53
+ # - Type: AN
54
+ # - Min/Max: 1/20
55
+ # - Description: Alphanumeric characters assigned for differentiation within a transaction set
56
+ #
57
+ # @param arg [String]
58
+ # @return [void]
59
+ def SLN02=(arg)
60
+ @sln02.value = arg
61
+ end
62
+ alias AssignedIdentification2= SLN02=
63
+
64
+ # ### SLN03
65
+ #
66
+ # - Id: 662
67
+ # - Name: Relationship Code
68
+ # - Type: ID
69
+ # - Min/Max: 1/1
70
+ # - Description: Code indicating the relationship between entities
71
+ #
72
+ # @param arg [String]
73
+ # @return [void]
74
+ def SLN03=(arg)
75
+ @sln03.value = arg
76
+ end
77
+ alias RelationshipCode= SLN03=
78
+
79
+ # ### SLN04
80
+ #
81
+ # - Id: 380
82
+ # - Name: Quantity
83
+ # - Type: R
84
+ # - Min/Max: 1/15
85
+ # - Description: Numeric value of quantity
86
+ #
87
+ # @param arg [Float]
88
+ # @return [void]
89
+ def SLN04=(arg)
90
+ @sln04.value = arg
91
+ end
92
+ alias Quantity= SLN04=
93
+
94
+ # ### SLN05
95
+ #
96
+ # - Id: 355
97
+ # - Name: Unit or Basis for Measurement Code
98
+ # - Type: ID
99
+ # - Min/Max: 2/2
100
+ # - Description: Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
101
+ #
102
+ # @param arg [String]
103
+ # @return [void]
104
+ def SLN05=(arg)
105
+ @sln05.value = arg
106
+ end
107
+ alias UnitOrBasisForMeasurementCode= SLN05=
108
+
109
+ # ### SLN06
110
+ #
111
+ # - Id: 212
112
+ # - Name: Unit Price
113
+ # - Type: R
114
+ # - Min/Max: 1/17
115
+ # - Description: Price per unit of product, service, commodity, etc.
116
+ #
117
+ # @param arg [Float]
118
+ # @return [void]
119
+ def SLN06=(arg)
120
+ @sln06.value = arg
121
+ end
122
+ alias UnitPrice= SLN06=
123
+
124
+ # ### SLN07
125
+ #
126
+ # - Id: 639
127
+ # - Name: Basis of Unit Price Code
128
+ # - Type: ID
129
+ # - Min/Max: 2/2
130
+ # - Description: Code identifying the type of unit price for an item
131
+ #
132
+ # @param arg [String]
133
+ # @return [void]
134
+ def SLN07=(arg)
135
+ @sln07.value = arg
136
+ end
137
+ alias BasisOfUnitPriceCode= SLN07=
138
+
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,124 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: SN1
6
+ # - Name: Item Detail (Shipment)
7
+ # - Purpose: To specify line-item detail relative to shipment.
8
+ class SN1 < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "SN1"
14
+ @name = "Item Detail (Shipment)"
15
+ @sn101 = Eddy::Elements::E350.new(ref: "SN101", req: "O")
16
+ @sn102 = Eddy::Elements::E382.new(ref: "SN102", req: "M")
17
+ @sn103 = Eddy::Elements::E355.new(ref: "SN103", req: "M")
18
+ @sn104 = Eddy::Elements::E646.new(ref: "SN104", req: "O")
19
+ @sn105 = Eddy::Elements::E330.new(ref: "SN105", req: "X")
20
+ @sn106 = Eddy::Elements::E355.new(ref: "SN106", req: "X")
21
+ super(
22
+ store,
23
+ @sn101,
24
+ @sn102,
25
+ @sn103,
26
+ @sn104,
27
+ @sn105,
28
+ @sn106,
29
+ )
30
+ end
31
+
32
+ # ### SN101
33
+ #
34
+ # - Id: 350
35
+ # - Name: Assigned Identification
36
+ # - Type: AN
37
+ # - Min/Max: 1/20
38
+ # - Description: Alphanumeric characters assigned for differentiation within a transaction set
39
+ #
40
+ # @param arg [String]
41
+ # @return [void]
42
+ def SN101=(arg)
43
+ @sn101.value = arg
44
+ end
45
+ alias AssignedIdentification= SN101=
46
+
47
+ # ### SN102
48
+ #
49
+ # - Id: 382
50
+ # - Name: Number of Units Shipped
51
+ # - Type: R
52
+ # - Min/Max: 1/10
53
+ # - Description: Numeric value of units shipped in manufacturer's shipping units for a line item or transaction set
54
+ #
55
+ # @param arg [Float]
56
+ # @return [void]
57
+ def SN102=(arg)
58
+ @sn102.value = arg
59
+ end
60
+ alias NumberOfUnitsShipped= SN102=
61
+
62
+ # ### SN103
63
+ #
64
+ # - Id: 355
65
+ # - Name: Unit or Basis for Measurement Code
66
+ # - Type: ID
67
+ # - Min/Max: 2/2
68
+ # - Description: Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
69
+ #
70
+ # @param arg [String]
71
+ # @return [void]
72
+ def SN103=(arg)
73
+ @sn103.value = arg
74
+ end
75
+ alias UnitOrBasisForMeasurementCode1= SN103=
76
+
77
+ # ### SN104
78
+ #
79
+ # - Id: 646
80
+ # - Name: Quantity Shipped to Date
81
+ # - Type: R
82
+ # - Min/Max: 1/15
83
+ # - Description: Number of units shipped to date
84
+ #
85
+ # @param arg [Float]
86
+ # @return [void]
87
+ def SN104=(arg)
88
+ @sn104.value = arg
89
+ end
90
+ alias QuantityShippedToDate= SN104=
91
+
92
+ # ### SN105
93
+ #
94
+ # - Id: 330
95
+ # - Name: Quantity Ordered
96
+ # - Type: R
97
+ # - Min/Max: 1/15
98
+ # - Description: Quantity ordered
99
+ #
100
+ # @param arg [Float]
101
+ # @return [void]
102
+ def SN105=(arg)
103
+ @sn105.value = arg
104
+ end
105
+ alias QuantityOrdered= SN105=
106
+
107
+ # ### SN106
108
+ #
109
+ # - Id: 355
110
+ # - Name: Unit or Basis for Measurement Code
111
+ # - Type: ID
112
+ # - Min/Max: 2/2
113
+ # - Description: Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
114
+ #
115
+ # @param arg [String]
116
+ # @return [void]
117
+ def SN106=(arg)
118
+ @sn106.value = arg
119
+ end
120
+ alias UnitOrBasisForMeasurementCode2= SN106=
121
+
122
+ end
123
+ end
124
+ end