stupidedi 1.2.2 → 1.2.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|