stupidedi 1.2.2 → 1.2.5
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/README.md +15 -3
- data/bin/edi-pp +3 -6
- data/lib/stupidedi/builder/builder_dsl.rb +4 -0
- data/lib/stupidedi/builder/generation.rb +2 -2
- data/lib/stupidedi/builder/states/abstract_state.rb +4 -4
- data/lib/stupidedi/config.rb +2 -0
- data/lib/stupidedi/contrib/003010/guides.rb +1 -1
- data/lib/stupidedi/contrib/003010/guides/PC860.rb +7 -2
- data/lib/stupidedi/contrib/003010/guides/PS830.rb +198 -0
- data/lib/stupidedi/contrib/003010/guides/RA820.rb +7 -0
- data/lib/stupidedi/contrib/003010/transaction_set_defs.rb +3 -0
- data/lib/stupidedi/contrib/003010/transaction_set_defs/PC860.rb +1 -1
- data/lib/stupidedi/contrib/003010/transaction_set_defs/PS830.rb +56 -0
- data/lib/stupidedi/contrib/003040/guides/WA142.rb +1 -0
- data/lib/stupidedi/contrib/004010/guides/PO850.rb +27 -1
- data/lib/stupidedi/contrib/004010/transaction_set_defs.rb +3 -0
- data/lib/stupidedi/contrib/004010/transaction_set_defs/PO850.rb +9 -1
- data/lib/stupidedi/contrib/004010/transaction_set_defs/SC832.rb +44 -0
- data/lib/stupidedi/schema/segment_def.rb +9 -1
- data/lib/stupidedi/schema/syntax_note.rb +0 -4
- data/lib/stupidedi/version.rb +1 -1
- data/lib/stupidedi/versions/functional_groups/002001/element_defs.rb +1 -1
- data/lib/stupidedi/versions/functional_groups/002001/element_types/identifier_val.rb +6 -6
- data/lib/stupidedi/versions/functional_groups/002001/segment_defs/MEA.rb +8 -9
- data/lib/stupidedi/versions/functional_groups/003010/element_defs.rb +57 -1
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs.rb +14 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/BFR.rb +40 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/BPS.rb +8 -1
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/CTT.rb +2 -2
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/FOB.rb +2 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/FST.rb +31 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/MEA.rb +8 -9
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/N1.rb +3 -9
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/SDP.rb +21 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/SHP.rb +22 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/TD5.rb +3 -0
- data/lib/stupidedi/versions/functional_groups/003010/segment_defs/UIT.rb +20 -0
- data/lib/stupidedi/versions/functional_groups/003040/segment_defs/MEA.rb +8 -9
- data/lib/stupidedi/versions/functional_groups/003040/segment_defs/PRR.rb +2 -0
- data/lib/stupidedi/versions/functional_groups/003040/segment_defs/SSS.rb +2 -0
- data/lib/stupidedi/versions/functional_groups/003050/segment_defs/MEA.rb +8 -9
- data/lib/stupidedi/versions/functional_groups/004010/element_defs.rb +14 -7
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs.rb +9 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/BCT.rb +19 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/BFR.rb +1 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/CTP.rb +36 -0
- data/lib/stupidedi/versions/functional_groups/004010/segment_defs/SCH.rb +28 -0
- data/lib/stupidedi/versions/functional_groups/005010/element_defs.rb +1 -1
- data/lib/stupidedi/versions/interchanges/00200/element_defs.rb +2 -2
- data/lib/stupidedi/versions/interchanges/00200/segment_defs/ISA.rb +2 -2
- data/lib/stupidedi/versions/interchanges/00300/segment_defs/ISA.rb +2 -2
- data/lib/stupidedi/zipper/abstract_cursor.rb +4 -4
- data/spec/examples/integration/generating.example +10 -0
- data/spec/examples/stupidedi/reader/token_reader.example +1 -1
- data/spec/fixtures/SC832/1-good.txt +22 -0
- data/spec/fixtures/SC832/2-good.txt +1067 -0
- metadata +16 -4
@@ -134,6 +134,7 @@ module Stupidedi
|
|
134
134
|
b::Element(e::Required, "Special Services Code", b::Values("PP","SH","ZZ")),
|
135
135
|
b::Element(e::Situational, "Allowance or Charge Rate - Supplier Rate"),
|
136
136
|
b::Element(e::Situational, "Allowance or Charge Total Amount"),
|
137
|
+
b::Element(e::NotUsed, ""),
|
137
138
|
b::Element(e::Situational, "Quantity - Supplier Amount"))),
|
138
139
|
|
139
140
|
d::LoopDef.build("PRR", d::RepeatCount.unbounded,
|
@@ -86,7 +86,33 @@ module Stupidedi
|
|
86
86
|
b::Element(e::Situational, "Product/Process Characteristic Code"),
|
87
87
|
b::Element(e::Situational, "Agency Qualifier Code"),
|
88
88
|
b::Element(e::Situational, "Product Description Code"),
|
89
|
-
b::Element(e::Situational, "Description")))
|
89
|
+
b::Element(e::Situational, "Description"))),
|
90
|
+
d::LoopDef.build("SCH", d::RepeatCount.bounded(200),
|
91
|
+
b::Segment(295, s::SCH, "Line Item Schedule",
|
92
|
+
r::Situational, d::RepeatCount.bounded(1),
|
93
|
+
b::Element(e::Required, "Numeric value ofquantiy"),
|
94
|
+
b::Element(e::Required, "Unit or Basis for Measurement Code", b::Values("DZ", "EA", "FT", "RL")),
|
95
|
+
b::Element(e::Situational, "Date/Time Qualifer"),
|
96
|
+
b::Element(e::Situational, "Date"),
|
97
|
+
b::Element(e::Situational, "Date/Time Qualifer"),
|
98
|
+
b::Element(e::Situational, "Date"))),
|
99
|
+
d::LoopDef.build("N1", d::RepeatCount.bounded(200),
|
100
|
+
b::Segment(350, s:: N1, "Name",
|
101
|
+
r::Situational, d::RepeatCount.bounded(1),
|
102
|
+
b::Element(e::Required, "Entity Identifier Code", b::Values("SF", "ST")),
|
103
|
+
b::Element(e::Required, "Name"),
|
104
|
+
b::Element(e::Situational, "Identification Code Qualifier", b::Values("91")),
|
105
|
+
b::Element(e::Situational, "Identification Code")),
|
106
|
+
b::Segment(370, s:: N3, "Address Information",
|
107
|
+
r::Situational, d::RepeatCount.bounded(2),
|
108
|
+
b::Element(e::Required, "Address Information"),
|
109
|
+
b::Element(e::Situational, "Address Information")),
|
110
|
+
b::Segment(380, s:: N4, "Geographic Location",
|
111
|
+
r::Situational, d::RepeatCount.bounded(1),
|
112
|
+
b::Element(e::Situational, "City Name"),
|
113
|
+
b::Element(e::Situational, "State or Province Code"),
|
114
|
+
b::Element(e::Situational, "Postal Code"),
|
115
|
+
b::Element(e::Situational, "Country Code")))),
|
90
116
|
|
91
117
|
d::TableDef.header("Summary",
|
92
118
|
d::LoopDef.build("CTT", d::RepeatCount.bounded(1),
|
@@ -28,7 +28,15 @@ module Stupidedi
|
|
28
28
|
s::PO1.use( 10, r::Mandatory, d::RepeatCount.bounded(1))),
|
29
29
|
|
30
30
|
d::LoopDef.build("PID", d::RepeatCount.bounded(1000),
|
31
|
-
s::PID.use( 50, r::Optional, d::RepeatCount.bounded(1)))
|
31
|
+
s::PID.use( 50, r::Optional, d::RepeatCount.bounded(1))),
|
32
|
+
|
33
|
+
d::LoopDef.build("SCH", d::RepeatCount.bounded(200),
|
34
|
+
s::SCH.use( 295, r::Optional, d::RepeatCount.bounded(1))),
|
35
|
+
|
36
|
+
d::LoopDef.build("N1", d::RepeatCount.bounded(200),
|
37
|
+
s::N1.use( 350, r::Optional, d::RepeatCount.bounded(1)),
|
38
|
+
s::N3.use( 370, r::Optional, d::RepeatCount.bounded(2)),
|
39
|
+
s::N4.use( 380, r::Optional, d::RepeatCount.bounded(1)))),
|
32
40
|
|
33
41
|
d::TableDef.header("Table 3 - Summary",
|
34
42
|
d::LoopDef.build("CTT", d::RepeatCount.bounded(1),
|
@@ -0,0 +1,44 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Contrib
|
3
|
+
module FortyTen
|
4
|
+
module TransactionSetDefs
|
5
|
+
|
6
|
+
d = Schema
|
7
|
+
r = SegmentReqs
|
8
|
+
s = SegmentDefs
|
9
|
+
|
10
|
+
SC832 = d::TransactionSetDef.build("SC", "832", "Price/Sales Catalog",
|
11
|
+
|
12
|
+
d::TableDef.header("Table 1 - Header",
|
13
|
+
s:: ST.use( 100, r::Mandatory, d::RepeatCount.bounded(1)),
|
14
|
+
s::BCT.use( 200, r::Mandatory, d::RepeatCount.bounded(1)),
|
15
|
+
s::REF.use( 500, r::Optional, d::RepeatCount.unbounded),
|
16
|
+
s::DTM.use( 700, r::Optional, d::RepeatCount.bounded(10)),
|
17
|
+
d::LoopDef.build("N1", d::RepeatCount.bounded(1),
|
18
|
+
s::N1.use(1500, r::Optional, d::RepeatCount.bounded(1))
|
19
|
+
)
|
20
|
+
),
|
21
|
+
|
22
|
+
d::TableDef.detail("Table 2 - Products",
|
23
|
+
d::LoopDef.build("LIN", d::RepeatCount.bounded(200000),
|
24
|
+
s::LIN.use( 100, r::Optional, d::RepeatCount.bounded(1)),
|
25
|
+
s::DTM.use( 300, r::Optional, d::RepeatCount.bounded(10)),
|
26
|
+
s::REF.use( 400, r::Optional, d::RepeatCount.unbounded),
|
27
|
+
s::PID.use( 700, r::Optional, d::RepeatCount.bounded(200)),
|
28
|
+
s::PO4.use(1000, r::Mandatory, d::RepeatCount.bounded(1)),
|
29
|
+
d::LoopDef.build("CTP", d::RepeatCount.bounded(100),
|
30
|
+
s::CTP.use(1700, r::Optional, d::RepeatCount.bounded(1))
|
31
|
+
)
|
32
|
+
)
|
33
|
+
),
|
34
|
+
|
35
|
+
d::TableDef.summary("Table 3 - Summary",
|
36
|
+
s::CTT.use(100, r::Optional, d::RepeatCount.bounded(1)),
|
37
|
+
s:: SE.use(200, r::Mandatory, d::RepeatCount.bounded(1))
|
38
|
+
)
|
39
|
+
)
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -96,7 +96,15 @@ module Stupidedi
|
|
96
96
|
element_uses = args.take_while{|x| x.is_a?(AbstractElementUse) }
|
97
97
|
syntax_notes = args.drop(element_uses.length)
|
98
98
|
|
99
|
-
# @todo: Validate SyntaxNotes
|
99
|
+
# @todo: Validate SyntaxNotes (beyond this rudimentary validation)
|
100
|
+
syntax_notes.each do |sn|
|
101
|
+
unless sn.indexes.max - 1 <= element_uses.length
|
102
|
+
raise Exceptions::InvalidSchemaError,
|
103
|
+
"Syntax note for #{id} (#{element_uses.length} elements) " <<
|
104
|
+
"refers to non-existent element #{sn.indexes.max}"
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
100
108
|
new(id, name, purpose, element_uses, syntax_notes, nil)
|
101
109
|
end
|
102
110
|
|
data/lib/stupidedi/version.rb
CHANGED
@@ -5661,7 +5661,7 @@ module Stupidedi
|
|
5661
5661
|
E369 = t::AN.new(:E369, "Free-form Description" , 1, 45)
|
5662
5662
|
|
5663
5663
|
E372 = t::AN.new(:E372, "Lading Liability Code - Nissan Part Description", 1, 25)
|
5664
|
-
E373 = t::DT.new(:E373 , "Date" ,
|
5664
|
+
E373 = t::DT.new(:E373 , "Date" , 6, 6)
|
5665
5665
|
E374 = t::ID.new(:E374 , "Date/Time Qualifier" , 3, 3,
|
5666
5666
|
s::CodeList.build(
|
5667
5667
|
"001" => "Cancel after",
|
@@ -145,14 +145,14 @@ module Stupidedi
|
|
145
145
|
|
146
146
|
# (string any* -> any)
|
147
147
|
extend Forwardable
|
148
|
-
def_delegators
|
148
|
+
def_delegators :value, :to_d, :to_s, :to_f, :to_c, :to_r, :to_sym, :to_str,
|
149
149
|
:hex, :oct, :ord, :sum, :length, :count, :index, :rindex,
|
150
150
|
:lines, :bytes, :chars, :each, :upto, :split, :scan, :unpack,
|
151
151
|
:=~, :match, :partition, :rpatition, :each, :split, :scan,
|
152
152
|
:unpack, :encoding, :count, :casecmp, :sum, :valid_enocding?,
|
153
|
-
:at, :empty?, :blank?
|
154
|
-
|
155
|
-
|
153
|
+
:at, :empty?, :blank?
|
154
|
+
|
155
|
+
|
156
156
|
# (string any* -> StringVal)
|
157
157
|
extend Operators::Wrappers
|
158
158
|
wrappers :%, :+, :*, :slice, :take, :drop, :[], :capitalize,
|
@@ -241,8 +241,8 @@ module Stupidedi
|
|
241
241
|
:=~, :match, :partition, :rpatition, :each, :split, :scan,
|
242
242
|
:unpack, :encoding, :count, :casecmp, :sum, :valid_enocding?,
|
243
243
|
:at, :empty?, :blank?
|
244
|
-
|
245
|
-
|
244
|
+
|
245
|
+
|
246
246
|
|
247
247
|
# (string any* -> StringVal)
|
248
248
|
extend Operators::Wrappers
|
@@ -15,16 +15,15 @@ module Stupidedi
|
|
15
15
|
e::E739 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
16
16
|
e::E355 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
17
17
|
e::E740 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
18
|
-
e::E741 .simple_use(r::Relational, s::RepeatCount.bounded(1))
|
19
|
-
|
20
|
-
SyntaxNotes::R.build( 3, 5, 6, 8),
|
21
|
-
SyntaxNotes::E.build( 4, 12),
|
22
|
-
SyntaxNotes::L.build( 5, 4, 12),
|
23
|
-
SyntaxNotes::L.build( 6, 4, 12),
|
24
|
-
SyntaxNotes::L.build( 7, 3, 5, 6),
|
25
|
-
SyntaxNotes::E.build( 8, 3),
|
26
|
-
SyntaxNotes::P.build(11, 12))
|
18
|
+
e::E741 .simple_use(r::Relational, s::RepeatCount.bounded(1)))
|
27
19
|
|
20
|
+
# SyntaxNotes::R.build( 3, 5, 6, 8),
|
21
|
+
# SyntaxNotes::E.build( 4, 12),
|
22
|
+
# SyntaxNotes::L.build( 5, 4, 12),
|
23
|
+
# SyntaxNotes::L.build( 6, 4, 12),
|
24
|
+
# SyntaxNotes::L.build( 7, 3, 5, 6),
|
25
|
+
# SyntaxNotes::E.build( 8, 3),
|
26
|
+
# SyntaxNotes::P.build(11, 12))
|
28
27
|
|
29
28
|
end
|
30
29
|
end
|
@@ -4215,7 +4215,9 @@ module Stupidedi
|
|
4215
4215
|
E362 = t::Nn.new(:E362 , "Terms Discount Amount" , 1, 10, 2)
|
4216
4216
|
E363 = t::ID.new(:E363 , "Note Reference Code" , 3, 3,
|
4217
4217
|
s::CodeList.build(
|
4218
|
-
"ZZZ" => "Mutually Defined"
|
4218
|
+
"ZZZ" => "Mutually Defined",
|
4219
|
+
"GEN" => "Entire Transaction Set",
|
4220
|
+
"LIN" => "Line Item"))
|
4219
4221
|
|
4220
4222
|
E364 = t::AN.new(:E364 , "Communication Number" , 1, 80)
|
4221
4223
|
E365 = t::ID.new(:E365 , "Communcation Number Qualifier" , 2, 2,
|
@@ -4245,6 +4247,7 @@ module Stupidedi
|
|
4245
4247
|
s::CodeList.build(
|
4246
4248
|
"001" => "Cancel after",
|
4247
4249
|
"002" => "Delivery Requested",
|
4250
|
+
"003" => "",
|
4248
4251
|
"007" => "Effective",
|
4249
4252
|
"010" => "Requested ship",
|
4250
4253
|
"011" => "Shipped",
|
@@ -5871,8 +5874,61 @@ module Stupidedi
|
|
5871
5874
|
"PC" => "Price Change",
|
5872
5875
|
"QD" => "Quantity Decrease",
|
5873
5876
|
"QI" => "Quantity Increase"))
|
5877
|
+
|
5874
5878
|
E671 = t:: R.new(:E671 , "Quantity Left to Receive" , 1, 9)
|
5875
5879
|
|
5880
|
+
E673 = t::ID.new(:E673 , "Quantity Qualifier" , 2, 2,
|
5881
|
+
s::CodeList.build(
|
5882
|
+
"01" => "Discrete Quantity",
|
5883
|
+
"02" => "Cumulative Quantity",
|
5884
|
+
"90" => "Acknowledged Quantity",
|
5885
|
+
"AA" => "Unacknowledged Quantity",
|
5886
|
+
"CA" => "Covered - Actual",
|
5887
|
+
"CD" => "Co-insured - Actual",
|
5888
|
+
"FL" => "Units",
|
5889
|
+
"LA" => "Life-time Reserve - Actual",
|
5890
|
+
"LE" => "Life-time Reserve - Estimated",
|
5891
|
+
"NA" => "Number of Non-covered Days",
|
5892
|
+
"NE" => "Non-Covered Amount - Estimated",
|
5893
|
+
"NR" => "Not Replaced Blood Units",
|
5894
|
+
"OU" => "Outlier Days",
|
5895
|
+
"PS" => "Prescription",
|
5896
|
+
"PT" => "Patients",
|
5897
|
+
"QA" => "Quantity Approved",
|
5898
|
+
"QC" => "Quantity Disapproved",
|
5899
|
+
"VS" => "Visits",
|
5900
|
+
"ZK" => "Federal Medicare or Medicaid Payment Mandate Category 1",
|
5901
|
+
"ZL" => "Federal Medicare or Medicaid Payment Mandate Category 2",
|
5902
|
+
"ZM" => "Federal Medicare or Medicaid Payment Mandate Category 3",
|
5903
|
+
"ZN" => "Federal Medicare or Medicaid Payment Mandate Category 4",
|
5904
|
+
"ZO" => "Federal Medicare or Medicaid Payment Mandate Category 5"))
|
5905
|
+
|
5906
|
+
E675 = t::ID.new(:E675 , "Schedule Type Qualifier" , 2, 2,
|
5907
|
+
s::CodeList.build(
|
5908
|
+
"DL" => "Delivery Based",
|
5909
|
+
"SH" => "Shipment Based"))
|
5910
|
+
|
5911
|
+
E676 = t::ID.new(:E676 , "Schedule Quantity Qualifier" , 2, 2,
|
5912
|
+
s::CodeList.build(
|
5913
|
+
"A" => "Actual Discrete Quantities"))
|
5914
|
+
|
5915
|
+
E678 = t::ID.new(:E678 , "Ship/Delivery or Calendar Pattern Code" , 1, 2,
|
5916
|
+
s::CodeList.build(
|
5917
|
+
"Y" => "None"))
|
5918
|
+
|
5919
|
+
E679 = t::ID.new(:E679 , "Ship/Delivery Pattern Time Code" , 1, 1,
|
5920
|
+
s::CodeList.build(
|
5921
|
+
"Y" => "None"))
|
5922
|
+
|
5923
|
+
E680 = t::ID.new(:E680 , "Forecast Qualifier" , 1, 1,
|
5924
|
+
s::CodeList.build(
|
5925
|
+
"C" => "New Firm Order",
|
5926
|
+
"D" => "Planning/Forecast"))
|
5927
|
+
E681 = t::ID.new(:E681 , "Forecast Timing Qualifier" , 1, 1,
|
5928
|
+
s::CodeList.build(
|
5929
|
+
"D" => "Discrete",
|
5930
|
+
"F" => "Flexible Interval (from Date X through Date Y)"))
|
5931
|
+
|
5876
5932
|
E706 = t::ID.new(:E706 , "Entity Relationship Code" , 2, 2,
|
5877
5933
|
s::CodeList.build(
|
5878
5934
|
"01" => "Parent",
|
@@ -245,6 +245,20 @@ module Stupidedi
|
|
245
245
|
autoload :POC,
|
246
246
|
"stupidedi/versions/functional_groups/003010/segment_defs/POC"
|
247
247
|
|
248
|
+
autoload :BFR,
|
249
|
+
"stupidedi/versions/functional_groups/003010/segment_defs/BFR"
|
250
|
+
|
251
|
+
autoload :UIT,
|
252
|
+
"stupidedi/versions/functional_groups/003010/segment_defs/UIT"
|
253
|
+
|
254
|
+
autoload :SDP,
|
255
|
+
"stupidedi/versions/functional_groups/003010/segment_defs/SDP"
|
256
|
+
|
257
|
+
autoload :FST,
|
258
|
+
"stupidedi/versions/functional_groups/003010/segment_defs/FST"
|
259
|
+
|
260
|
+
autoload :SHP,
|
261
|
+
"stupidedi/versions/functional_groups/003010/segment_defs/SHP"
|
248
262
|
end
|
249
263
|
end
|
250
264
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Versions
|
3
|
+
module FunctionalGroups
|
4
|
+
module ThirtyTen
|
5
|
+
module SegmentDefs
|
6
|
+
|
7
|
+
s = Schema
|
8
|
+
e = ElementDefs
|
9
|
+
r = ElementReqs
|
10
|
+
|
11
|
+
# Definition might be outdated, working from ANSI X12 2001 specification
|
12
|
+
BFR = s::SegmentDef.build(:BFR, "Beginning Segment for Planning Schedule",
|
13
|
+
"To indicate the beginning of a planning schedule transaction set; whether a ship or "\
|
14
|
+
"delivery based forecast; and related forecast envelope dates",
|
15
|
+
e::E353 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
16
|
+
e::E127 .simple_use(r::Relational,s::RepeatCount.bounded(1)),
|
17
|
+
e::E328 .simple_use(r::Relational,s::RepeatCount.bounded(1)),
|
18
|
+
e::E675 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
19
|
+
e::E676 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
20
|
+
e::E373 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
21
|
+
e::E373 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
22
|
+
e::E373 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
23
|
+
e::E367 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
24
|
+
e::E367 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
25
|
+
e::E324 .simple_use(r::Optional, s::RepeatCount.bounded(1)))
|
26
|
+
|
27
|
+
# e::E353.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
28
|
+
# e::E127.simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
29
|
+
# e::E328.simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
30
|
+
# e::E675.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
31
|
+
# e::E676.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
32
|
+
# e::E373.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
33
|
+
# e::E373.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
34
|
+
# e::E373.simple_use(r::Mandatory, s::RepeatCount.bounded(1)))
|
35
|
+
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -15,7 +15,14 @@ module Stupidedi
|
|
15
15
|
payee to occur while utilizing an automated clearing house (ACH) or other banking network.",
|
16
16
|
e::E591.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
17
17
|
e::E782.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
18
|
-
e::E305.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
18
|
+
e::E305.simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
19
|
+
e::E352.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
20
|
+
e::E352.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
21
|
+
e::E352.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
22
|
+
e::E352.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
23
|
+
e::E352.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
24
|
+
e::E352.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
25
|
+
e::E352.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
19
26
|
e::E508.simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
20
27
|
e::E513.simple_use(r::Optional, s::RepeatCount.bounded(1)))
|
21
28
|
|
@@ -10,8 +10,8 @@ module Stupidedi
|
|
10
10
|
|
11
11
|
CTT = s::SegmentDef.build(:CTT, "Transaction Totals",
|
12
12
|
"To transmit a hash total for a specific element in the transaction set",
|
13
|
-
e::E354 .simple_use(r::Mandatory, s::RepeatCount.bounded(1))
|
14
|
-
|
13
|
+
e::E354 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
14
|
+
e::E347 .simple_use(r::Optional, s::RepeatCount.bounded(1)))
|
15
15
|
# e::E81 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
16
16
|
# e::E355 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
17
17
|
# e::E183 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
@@ -13,6 +13,8 @@ module Stupidedi
|
|
13
13
|
e::E146 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
14
14
|
e::E309 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
15
15
|
e::E352 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
16
|
+
e::E352 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
17
|
+
e::E352 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
16
18
|
e::E309 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
17
19
|
e::E352 .simple_use(r::Optional, s::RepeatCount.bounded(1)))
|
18
20
|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Stupidedi
|
2
|
+
module Versions
|
3
|
+
module FunctionalGroups
|
4
|
+
module ThirtyTen
|
5
|
+
module SegmentDefs
|
6
|
+
|
7
|
+
s = Schema
|
8
|
+
e = ElementDefs
|
9
|
+
r = ElementReqs
|
10
|
+
|
11
|
+
FST = s::SegmentDef.build(:FST, "Forecast Schedule",
|
12
|
+
"To specify the forecasted dates and quantities",
|
13
|
+
e::E380 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
14
|
+
e::E680 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
15
|
+
e::E681 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
16
|
+
e::E373 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
17
|
+
e::E373 .simple_use(r::Optional, s::RepeatCount.bounded(1)),
|
18
|
+
e::E374 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
19
|
+
e::E337 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
20
|
+
e::E128 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
21
|
+
e::E127 .simple_use(r::Relational, s::RepeatCount.bounded(1)))
|
22
|
+
|
23
|
+
|
24
|
+
# SyntaxNotes::P.build(6, 7),
|
25
|
+
# SyntaxNotes::P.build(1, 2, 3))
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -15,16 +15,15 @@ module Stupidedi
|
|
15
15
|
e::E739 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
16
16
|
e::E355 .simple_use(r::Mandatory, s::RepeatCount.bounded(1)),
|
17
17
|
e::E740 .simple_use(r::Relational, s::RepeatCount.bounded(1)),
|
18
|
-
e::E741 .simple_use(r::Relational, s::RepeatCount.bounded(1))
|
19
|
-
|
20
|
-
SyntaxNotes::R.build( 3, 5, 6, 8),
|
21
|
-
SyntaxNotes::E.build( 4, 12),
|
22
|
-
SyntaxNotes::L.build( 5, 4, 12),
|
23
|
-
SyntaxNotes::L.build( 6, 4, 12),
|
24
|
-
SyntaxNotes::L.build( 7, 3, 5, 6),
|
25
|
-
SyntaxNotes::E.build( 8, 3),
|
26
|
-
SyntaxNotes::P.build(11, 12))
|
18
|
+
e::E741 .simple_use(r::Relational, s::RepeatCount.bounded(1)))
|
27
19
|
|
20
|
+
# SyntaxNotes::R.build( 3, 5, 6, 8),
|
21
|
+
# SyntaxNotes::E.build( 4, 12),
|
22
|
+
# SyntaxNotes::L.build( 5, 4, 12),
|
23
|
+
# SyntaxNotes::L.build( 6, 4, 12),
|
24
|
+
# SyntaxNotes::L.build( 7, 3, 5, 6),
|
25
|
+
# SyntaxNotes::E.build( 8, 3),
|
26
|
+
# SyntaxNotes::P.build(11, 12))
|
28
27
|
|
29
28
|
end
|
30
29
|
end
|