1 {-# LANGUAGE OverloadedStrings #-}
3 ---- Machine generated code.
4 ---- Output of edi-parser-scaffolder
6 module Text.Edifact.D96A.Messages.IFTSTA
36 import Text.Edifact.Common.Segments
38 import Text.Edifact.D96A.Segments (segmentBGM, segmentCNI,
39 segmentCNT, segmentCOM,
40 segmentCTA, segmentDIM,
41 segmentDOC, segmentDTM,
42 segmentEQA, segmentEQD,
43 segmentEQN, segmentFTX,
44 segmentGID, segmentGIN,
45 segmentHAN, segmentLOC,
46 segmentMEA, segmentNAD,
47 segmentPCI, segmentRFF,
48 segmentSEL, segmentSTS,
49 segmentTDT, segmentTSR)
51 import Text.Edifact.Parsing
52 import Text.Edifact.Types (Value)
54 -- | Derived from this specification:
56 -- > 4.3 Message structure
58 -- > 4.3.1 Segment table
62 -- > 0010 UNH Message header M 1
63 -- > 0020 BGM Beginning of message M 1
64 -- > 0030 DTM Date/time/period C 9
65 -- > 0040 TSR Transport service requirements C 1
67 -- > 0050 ----- Segment group 1 ------------------ C 9-----------+
68 -- > 0060 NAD Name and address M 1 |
70 -- > 0070 ----- Segment group 2 ------------------ C 9----------+|
71 -- > 0080 CTA Contact information M 1 ||
72 -- > 0090 COM Communication contact C 9----------++
74 -- > 0100 ----- Segment group 3 ------------------ C 9-----------+
75 -- > 0110 RFF Reference M 1 |
76 -- > 0120 DTM Date/time/period C 1-----------+
77 -- > 0130 LOC Place/location identification C 9
78 -- > 0140 FTX Free text C 9
79 -- > 0150 CNT Control total C 9
81 -- > 0160 ----- Segment group 4 ------------------ C 999---------+
82 -- > 0170 CNI Consignment information M 1 |
83 -- > 0180 LOC Place/location identification C 9 |
84 -- > 0190 CNT Control total C 9 |
86 -- > 0200 * ----- Segment group 5 ------------------ M 99---------+|
87 -- > 0210 STS Status M 1 ||
88 -- > 0220 RFF Reference C 9 ||
89 -- > 0230 DTM Date/time/period C 9 ||
90 -- > 0240 + DOC Document/message details C 1 ||
91 -- > 0250 FTX Free text C 9 ||
92 -- > 0260 NAD Name and address C 9 ||
93 -- > 0270 LOC Place/location identification C 1 ||
94 -- > 0280 PCI Package identification C 99 ||
96 -- > 0290 ----- Segment group 6 ------------------ C 99--------+||
97 -- > 0300 TDT Details of transport M 1 |||
98 -- > 0310 RFF Reference C 9 |||
99 -- > 0320 LOC Place/location identification C 9 |||
100 -- > 0330 DTM Date/time/period C 9---------+||
102 -- > 0340 ----- Segment group 7 ------------------ C 99--------+||
103 -- > 0350 EQD Equipment details M 1 |||
104 -- > 0360 MEA Measurements C 9 |||
105 -- > 0370 DIM Dimensions C 9 |||
106 -- > 0380 SEL Seal number C 9 |||
108 -- > 0390 ----- Segment group 8 ------------------ C 99-------+|||
109 -- > 0400 EQA Attached equipment M 1 ||||
110 -- > 0410 SEL Seal number C 9--------++||
112 -- > 0420 * ----- Segment group 9 ------------------ C 99--------+||
113 -- > 0430 GID Goods item details M 1 |||
114 -- > 0440 HAN Handling instructions C 9 |||
116 -- > 0450 ----- Segment group 10 ------------------ C 99-------+|||
117 -- > 0460 MEA Measurements M 1 ||||
118 -- > 0470 EQN Number of units C 1--------+|||
120 -- > 0480 ----- Segment group 11 ------------------ C 99-------+|||
121 -- > 0490 DIM Dimensions M 1 ||||
122 -- > 0500 EQN Number of units C 1--------+|||
124 -- > 0510 + ----- Segment group 12 ------------------ C 99-------+|||
125 -- > 0520 + PCI Package identification M 1 ||||
126 -- > 0530 + GIN Goods identity number C 9--------++++
127 -- > 0540 UNT Message trailer M 1
129 -- Dependencies: 'segmentBGM', 'segmentCNI', 'segmentCNT', 'segmentCOM', 'segmentCTA', 'segmentDIM', 'segmentDOC', 'segmentDTM', 'segmentEQA', 'segmentEQD', 'segmentEQN', 'segmentFTX', 'segmentGID', 'segmentGIN', 'segmentHAN', 'segmentLOC', 'segmentMEA', 'segmentNAD', 'segmentPCI', 'segmentRFF', 'segmentSEL', 'segmentSTS', 'segmentTDT', 'segmentTSR'.
130 messageIFTSTA :: Parser Value
133 [ "0010" .@ once segmentUNH
134 , "0020" .@ once segmentBGM
135 , "0030" .@ repeated 9 segmentDTM
136 , "0040" .@ maybeOnce segmentTSR
137 , "0050" .@ repeated 9 (
139 [ "0060" .@ once segmentNAD
140 , "0070" .@ repeated 9 (
142 [ "0080" .@ once segmentCTA
143 , "0090" .@ repeated 9 segmentCOM
148 , "0100" .@ repeated 9 (
150 [ "0110" .@ once segmentRFF
151 , "0120" .@ maybeOnce segmentDTM
154 , "0130" .@ repeated 9 segmentLOC
155 , "0140" .@ repeated 9 segmentFTX
156 , "0150" .@ repeated 9 segmentCNT
157 , "0160" .@ repeated 999 (
159 [ "0170" .@ once segmentCNI
160 , "0180" .@ repeated 9 segmentLOC
161 , "0190" .@ repeated 9 segmentCNT
162 , "0200" .@ repeatedAtLeastOnce 99 (
164 [ "0210" .@ once segmentSTS
165 , "0220" .@ repeated 9 segmentRFF
166 , "0230" .@ repeated 9 segmentDTM
167 , "0240" .@ maybeOnce segmentDOC
168 , "0250" .@ repeated 9 segmentFTX
169 , "0260" .@ repeated 9 segmentNAD
170 , "0270" .@ maybeOnce segmentLOC
171 , "0280" .@ repeated 99 segmentPCI
172 , "0290" .@ repeated 99 (
174 [ "0300" .@ once segmentTDT
175 , "0310" .@ repeated 9 segmentRFF
176 , "0320" .@ repeated 9 segmentLOC
177 , "0330" .@ repeated 9 segmentDTM
180 , "0340" .@ repeated 99 (
182 [ "0350" .@ once segmentEQD
183 , "0360" .@ repeated 9 segmentMEA
184 , "0370" .@ repeated 9 segmentDIM
185 , "0380" .@ repeated 9 segmentSEL
186 , "0390" .@ repeated 99 (
188 [ "0400" .@ once segmentEQA
189 , "0410" .@ repeated 9 segmentSEL
194 , "0420" .@ repeated 99 (
196 [ "0430" .@ once segmentGID
197 , "0440" .@ repeated 9 segmentHAN
198 , "0450" .@ repeated 99 (
200 [ "0460" .@ once segmentMEA
201 , "0470" .@ maybeOnce segmentEQN
204 , "0480" .@ repeated 99 (
206 [ "0490" .@ once segmentDIM
207 , "0500" .@ maybeOnce segmentEQN
210 , "0510" .@ repeated 99 (
212 [ "0520" .@ once segmentPCI
213 , "0530" .@ repeated 9 segmentGIN
222 , "0540" .@ once segmentUNT