diff options
Diffstat (limited to 'specification/src/Text/Edifact/D96A/Messages')
-rw-r--r-- | specification/src/Text/Edifact/D96A/Messages/DESADV.hs | 376 | ||||
-rw-r--r-- | specification/src/Text/Edifact/D96A/Messages/IFCSUM.hs | 861 | ||||
-rw-r--r-- | specification/src/Text/Edifact/D96A/Messages/IFTSAI.hs | 208 | ||||
-rw-r--r-- | specification/src/Text/Edifact/D96A/Messages/IFTSTA.hs | 223 |
4 files changed, 1668 insertions, 0 deletions
diff --git a/specification/src/Text/Edifact/D96A/Messages/DESADV.hs b/specification/src/Text/Edifact/D96A/Messages/DESADV.hs new file mode 100644 index 0000000..9bc400b --- /dev/null +++ b/specification/src/Text/Edifact/D96A/Messages/DESADV.hs | |||
@@ -0,0 +1,376 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | ---- Machine generated code. | ||
4 | ---- Output of edi-parser-scaffolder | ||
5 | |||
6 | module Text.Edifact.D96A.Messages.DESADV | ||
7 | ( -- * Definition | ||
8 | messageDESADV | ||
9 | -- * Dependencies | ||
10 | , segmentALI | ||
11 | , segmentBGM | ||
12 | , segmentCNT | ||
13 | , segmentCOM | ||
14 | , segmentCPS | ||
15 | , segmentCTA | ||
16 | , segmentDGS | ||
17 | , segmentDLM | ||
18 | , segmentDTM | ||
19 | , segmentEQA | ||
20 | , segmentEQD | ||
21 | , segmentFTX | ||
22 | , segmentGIN | ||
23 | , segmentGIR | ||
24 | , segmentHAN | ||
25 | , segmentIMD | ||
26 | , segmentLIN | ||
27 | , segmentLOC | ||
28 | , segmentMEA | ||
29 | , segmentMOA | ||
30 | , segmentNAD | ||
31 | , segmentPAC | ||
32 | , segmentPCD | ||
33 | , segmentPCI | ||
34 | , segmentPIA | ||
35 | , segmentQTY | ||
36 | , segmentQVR | ||
37 | , segmentRFF | ||
38 | , segmentSEL | ||
39 | , segmentSGP | ||
40 | , segmentTDT | ||
41 | , segmentTOD | ||
42 | ) where | ||
43 | |||
44 | import Text.Edifact.Common.Segments | ||
45 | |||
46 | import Text.Edifact.D96A.Segments (segmentALI, segmentBGM, | ||
47 | segmentCNT, segmentCOM, | ||
48 | segmentCPS, segmentCTA, | ||
49 | segmentDGS, segmentDLM, | ||
50 | segmentDTM, segmentEQA, | ||
51 | segmentEQD, segmentFTX, | ||
52 | segmentGIN, segmentGIR, | ||
53 | segmentHAN, segmentIMD, | ||
54 | segmentLIN, segmentLOC, | ||
55 | segmentMEA, segmentMOA, | ||
56 | segmentNAD, segmentPAC, | ||
57 | segmentPCD, segmentPCI, | ||
58 | segmentPIA, segmentQTY, | ||
59 | segmentQVR, segmentRFF, | ||
60 | segmentSEL, segmentSGP, | ||
61 | segmentTDT, segmentTOD) | ||
62 | |||
63 | import Text.Edifact.Parsing | ||
64 | import Text.Edifact.Types (Value) | ||
65 | |||
66 | -- | Derived from this specification: | ||
67 | -- | ||
68 | -- > 4.3 Message structure | ||
69 | -- > | ||
70 | -- > 4.3.1 Segment table | ||
71 | -- > | ||
72 | -- > Pos Tag Name S R | ||
73 | -- > | ||
74 | -- > HEADER SECTION | ||
75 | -- > | ||
76 | -- > 0010 UNH Message header M 1 | ||
77 | -- > 0020 BGM Beginning of message M 1 | ||
78 | -- > 0030 DTM Date/time/period C 10 | ||
79 | -- > 0040 ALI Additional information C 5 | ||
80 | -- > 0050 MEA Measurements C 5 | ||
81 | -- > 0060 MOA Monetary amount C 5 | ||
82 | -- > | ||
83 | -- > 0070 ----- Segment group 1 ------------------ C 10----------+ | ||
84 | -- > 0080 RFF Reference M 1 | | ||
85 | -- > 0090 DTM Date/time/period C 1-----------+ | ||
86 | -- > | ||
87 | -- > 0100 ----- Segment group 2 ------------------ C 10----------+ | ||
88 | -- > 0110 NAD Name and address M 1 | | ||
89 | -- > 0120 LOC Place/location identification C 10 | | ||
90 | -- > | | ||
91 | -- > 0130 ----- Segment group 3 ------------------ C 10---------+| | ||
92 | -- > 0140 RFF Reference M 1 || | ||
93 | -- > 0150 DTM Date/time/period C 1----------+| | ||
94 | -- > | | ||
95 | -- > 0160 ----- Segment group 4 ------------------ C 10---------+| | ||
96 | -- > 0170 CTA Contact information M 1 || | ||
97 | -- > 0180 COM Communication contact C 5----------++ | ||
98 | -- > | ||
99 | -- > 0190 ----- Segment group 5 ------------------ C 10----------+ | ||
100 | -- > 0200 TOD Terms of delivery or transport M 1 | | ||
101 | -- > 0210 LOC Place/location identification C 5 | | ||
102 | -- > 0220 FTX Free text C 5-----------+ | ||
103 | -- > | ||
104 | -- > 0230 ----- Segment group 6 ------------------ C 10----------+ | ||
105 | -- > 0240 TDT Details of transport M 1 | | ||
106 | -- > 0250 PCD Percentage details C 6 | | ||
107 | -- > | | ||
108 | -- > 0260 ----- Segment group 7 ------------------ C 10---------+| | ||
109 | -- > 0270 LOC Place/location identification M 1 || | ||
110 | -- > 0280 DTM Date/time/period C 10---------++ | ||
111 | -- > | ||
112 | -- > 0290 ----- Segment group 8 ------------------ C 10----------+ | ||
113 | -- > 0300 EQD Equipment details M 1 | | ||
114 | -- > 0310 MEA Measurements C 5 | | ||
115 | -- > 0320 SEL Seal number C 25 | | ||
116 | -- > 0330 EQA Attached equipment C 5 | | ||
117 | -- > | | ||
118 | -- > 0340 ----- Segment group 9 ------------------ C 10---------+| | ||
119 | -- > 0350 HAN Handling instructions M 1 || | ||
120 | -- > 0360 FTX Free text C 10---------++ | ||
121 | -- > | ||
122 | -- > DETAIL SECTION | ||
123 | -- > | ||
124 | -- > 0370 ----- Segment group 10 ------------------ C 9999--------+ | ||
125 | -- > 0380 CPS Consignment packing sequence M 1 | | ||
126 | -- > 0390 FTX Free text C 5 | | ||
127 | -- > | | ||
128 | -- > 0400 ----- Segment group 11 ------------------ C 9999-------+| | ||
129 | -- > 0410 PAC Package M 1 || | ||
130 | -- > 0420 MEA Measurements C 10 || | ||
131 | -- > 0430 QTY Quantity C 10 || | ||
132 | -- > || | ||
133 | -- > 0440 ----- Segment group 12 ------------------ C 10--------+|| | ||
134 | -- > 0450 HAN Handling instructions M 1 ||| | ||
135 | -- > 0460 FTX Free text C 10--------+|| | ||
136 | -- > || | ||
137 | -- > 0470 * ----- Segment group 13 ------------------ C 1000------+|| | ||
138 | -- > 0480 PCI Package identification M 1 ||| | ||
139 | -- > 0490 RFF Reference C 1 ||| | ||
140 | -- > 0500 DTM Date/time/period C 5 ||| | ||
141 | -- > 0510 * GIR Related identification numbers C 99 ||| | ||
142 | -- > ||| | ||
143 | -- > 0520 ----- Segment group 14 ------------------ C 99-------+||| | ||
144 | -- > 0530 GIN Goods identity number M 1 |||| | ||
145 | -- > 0540 DLM Delivery limitations C 10-------+++| | ||
146 | -- > | | ||
147 | -- > 0550 ----- Segment group 15 ------------------ C 9999-------+| | ||
148 | -- > 0560 LIN Line item M 1 || | ||
149 | -- > 0570 PIA Additional product id C 10 || | ||
150 | -- > 0580 IMD Item description C 25 || | ||
151 | -- > 0590 MEA Measurements C 10 || | ||
152 | -- > 0600 QTY Quantity C 10 || | ||
153 | -- > 0610 ALI Additional information C 10 || | ||
154 | -- > 0620 GIN Goods identity number C 100 || | ||
155 | -- > 0630 GIR Related identification numbers C 100 || | ||
156 | -- > 0640 DLM Delivery limitations C 100 || | ||
157 | -- > 0650 DTM Date/time/period C 5 || | ||
158 | -- > 0660 FTX Free text C 5 || | ||
159 | -- > 0670 MOA Monetary amount C 5 || | ||
160 | -- > || | ||
161 | -- > 0680 ----- Segment group 16 ------------------ C 10--------+|| | ||
162 | -- > 0690 RFF Reference M 1 ||| | ||
163 | -- > 0700 DTM Date/time/period C 1---------+|| | ||
164 | -- > || | ||
165 | -- > 0710 ----- Segment group 17 ------------------ C 10--------+|| | ||
166 | -- > 0720 DGS Dangerous goods M 1 ||| | ||
167 | -- > 0730 QTY Quantity C 1 ||| | ||
168 | -- > 0740 FTX Free text C 5---------+|| | ||
169 | -- > || | ||
170 | -- > 0750 ----- Segment group 18 ------------------ C 100-------+|| | ||
171 | -- > 0760 LOC Place/location identification M 1 ||| | ||
172 | -- > 0770 NAD Name and address C 1 ||| | ||
173 | -- > 0780 DTM Date/time/period C 1 ||| | ||
174 | -- > 0790 QTY Quantity C 10--------+|| | ||
175 | -- > || | ||
176 | -- > 0800 ----- Segment group 19 ------------------ C 1000------+|| | ||
177 | -- > 0810 SGP Split goods placement M 1 ||| | ||
178 | -- > 0820 QTY Quantity C 10--------+|| | ||
179 | -- > || | ||
180 | -- > 0830 ----- Segment group 20 ------------------ C 9999------+|| | ||
181 | -- > 0840 PCI Package identification M 1 ||| | ||
182 | -- > 0850 DTM Date/time/period C 5 ||| | ||
183 | -- > 0860 MEA Measurements C 10 ||| | ||
184 | -- > 0870 QTY Quantity C 1 ||| | ||
185 | -- > ||| | ||
186 | -- > 0880 ----- Segment group 21 ------------------ C 10-------+||| | ||
187 | -- > 0890 GIN Goods identity number M 1 |||| | ||
188 | -- > 0900 DLM Delivery limitations C 100------+||| | ||
189 | -- > ||| | ||
190 | -- > 0910 ----- Segment group 22 ------------------ C 10-------+||| | ||
191 | -- > 0920 HAN Handling instructions M 1 |||| | ||
192 | -- > 0930 FTX Free text C 5 |||| | ||
193 | -- > 0940 GIN Goods identity number C 1000-----++|| | ||
194 | -- > || | ||
195 | -- > 0950 ----- Segment group 23 ------------------ C 10--------+|| | ||
196 | -- > 0960 QVR Quantity variances M 1 ||| | ||
197 | -- > 0970 DTM Date/time/period C 5---------+++ | ||
198 | -- > | ||
199 | -- > SUMMARY SECTION | ||
200 | -- > | ||
201 | -- > 0980 CNT Control total C 5 | ||
202 | -- > 0990 UNT Message trailer M 1 | ||
203 | -- | ||
204 | -- Dependencies: 'segmentALI', 'segmentBGM', 'segmentCNT', 'segmentCOM', 'segmentCPS', 'segmentCTA', 'segmentDGS', 'segmentDLM', 'segmentDTM', 'segmentEQA', 'segmentEQD', 'segmentFTX', 'segmentGIN', 'segmentGIR', 'segmentHAN', 'segmentIMD', 'segmentLIN', 'segmentLOC', 'segmentMEA', 'segmentMOA', 'segmentNAD', 'segmentPAC', 'segmentPCD', 'segmentPCI', 'segmentPIA', 'segmentQTY', 'segmentQVR', 'segmentRFF', 'segmentSEL', 'segmentSGP', 'segmentTDT', 'segmentTOD'. | ||
205 | messageDESADV :: Parser Value | ||
206 | messageDESADV = | ||
207 | message "DESADV" | ||
208 | [ "0010" .@ once segmentUNH | ||
209 | , "0020" .@ once segmentBGM | ||
210 | , "0030" .@ repeated 10 segmentDTM | ||
211 | , "0040" .@ repeated 5 segmentALI | ||
212 | , "0050" .@ repeated 5 segmentMEA | ||
213 | , "0060" .@ repeated 5 segmentMOA | ||
214 | , "0070" .@ repeated 10 ( | ||
215 | segmentGroup "1" | ||
216 | [ "0080" .@ once segmentRFF | ||
217 | , "0090" .@ maybeOnce segmentDTM | ||
218 | ] | ||
219 | ) | ||
220 | , "0100" .@ repeated 10 ( | ||
221 | segmentGroup "2" | ||
222 | [ "0110" .@ once segmentNAD | ||
223 | , "0120" .@ repeated 10 segmentLOC | ||
224 | , "0130" .@ repeated 10 ( | ||
225 | segmentGroup "3" | ||
226 | [ "0140" .@ once segmentRFF | ||
227 | , "0150" .@ maybeOnce segmentDTM | ||
228 | ] | ||
229 | ) | ||
230 | , "0160" .@ repeated 10 ( | ||
231 | segmentGroup "4" | ||
232 | [ "0170" .@ once segmentCTA | ||
233 | , "0180" .@ repeated 5 segmentCOM | ||
234 | ] | ||
235 | ) | ||
236 | ] | ||
237 | ) | ||
238 | , "0190" .@ repeated 10 ( | ||
239 | segmentGroup "5" | ||
240 | [ "0200" .@ once segmentTOD | ||
241 | , "0210" .@ repeated 5 segmentLOC | ||
242 | , "0220" .@ repeated 5 segmentFTX | ||
243 | ] | ||
244 | ) | ||
245 | , "0230" .@ repeated 10 ( | ||
246 | segmentGroup "6" | ||
247 | [ "0240" .@ once segmentTDT | ||
248 | , "0250" .@ repeated 6 segmentPCD | ||
249 | , "0260" .@ repeated 10 ( | ||
250 | segmentGroup "7" | ||
251 | [ "0270" .@ once segmentLOC | ||
252 | , "0280" .@ repeated 10 segmentDTM | ||
253 | ] | ||
254 | ) | ||
255 | ] | ||
256 | ) | ||
257 | , "0290" .@ repeated 10 ( | ||
258 | segmentGroup "8" | ||
259 | [ "0300" .@ once segmentEQD | ||
260 | , "0310" .@ repeated 5 segmentMEA | ||
261 | , "0320" .@ repeated 25 segmentSEL | ||
262 | , "0330" .@ repeated 5 segmentEQA | ||
263 | , "0340" .@ repeated 10 ( | ||
264 | segmentGroup "9" | ||
265 | [ "0350" .@ once segmentHAN | ||
266 | , "0360" .@ repeated 10 segmentFTX | ||
267 | ] | ||
268 | ) | ||
269 | ] | ||
270 | ) | ||
271 | , "0370" .@ repeated 9999 ( | ||
272 | segmentGroup "10" | ||
273 | [ "0380" .@ once segmentCPS | ||
274 | , "0390" .@ repeated 5 segmentFTX | ||
275 | , "0400" .@ repeated 9999 ( | ||
276 | segmentGroup "11" | ||
277 | [ "0410" .@ once segmentPAC | ||
278 | , "0420" .@ repeated 10 segmentMEA | ||
279 | , "0430" .@ repeated 10 segmentQTY | ||
280 | , "0440" .@ repeated 10 ( | ||
281 | segmentGroup "12" | ||
282 | [ "0450" .@ once segmentHAN | ||
283 | , "0460" .@ repeated 10 segmentFTX | ||
284 | ] | ||
285 | ) | ||
286 | , "0470" .@ repeated 1000 ( | ||
287 | segmentGroup "13" | ||
288 | [ "0480" .@ once segmentPCI | ||
289 | , "0490" .@ maybeOnce segmentRFF | ||
290 | , "0500" .@ repeated 5 segmentDTM | ||
291 | , "0510" .@ repeated 99 segmentGIR | ||
292 | , "0520" .@ repeated 99 ( | ||
293 | segmentGroup "14" | ||
294 | [ "0530" .@ once segmentGIN | ||
295 | , "0540" .@ repeated 10 segmentDLM | ||
296 | ] | ||
297 | ) | ||
298 | ] | ||
299 | ) | ||
300 | ] | ||
301 | ) | ||
302 | , "0550" .@ repeated 9999 ( | ||
303 | segmentGroup "15" | ||
304 | [ "0560" .@ once segmentLIN | ||
305 | , "0570" .@ repeated 10 segmentPIA | ||
306 | , "0580" .@ repeated 25 segmentIMD | ||
307 | , "0590" .@ repeated 10 segmentMEA | ||
308 | , "0600" .@ repeated 10 segmentQTY | ||
309 | , "0610" .@ repeated 10 segmentALI | ||
310 | , "0620" .@ repeated 100 segmentGIN | ||
311 | , "0630" .@ repeated 100 segmentGIR | ||
312 | , "0640" .@ repeated 100 segmentDLM | ||
313 | , "0650" .@ repeated 5 segmentDTM | ||
314 | , "0660" .@ repeated 5 segmentFTX | ||
315 | , "0670" .@ repeated 5 segmentMOA | ||
316 | , "0680" .@ repeated 10 ( | ||
317 | segmentGroup "16" | ||
318 | [ "0690" .@ once segmentRFF | ||
319 | , "0700" .@ maybeOnce segmentDTM | ||
320 | ] | ||
321 | ) | ||
322 | , "0710" .@ repeated 10 ( | ||
323 | segmentGroup "17" | ||
324 | [ "0720" .@ once segmentDGS | ||
325 | , "0730" .@ maybeOnce segmentQTY | ||
326 | , "0740" .@ repeated 5 segmentFTX | ||
327 | ] | ||
328 | ) | ||
329 | , "0750" .@ repeated 100 ( | ||
330 | segmentGroup "18" | ||
331 | [ "0760" .@ once segmentLOC | ||
332 | , "0770" .@ maybeOnce segmentNAD | ||
333 | , "0780" .@ maybeOnce segmentDTM | ||
334 | , "0790" .@ repeated 10 segmentQTY | ||
335 | ] | ||
336 | ) | ||
337 | , "0800" .@ repeated 1000 ( | ||
338 | segmentGroup "19" | ||
339 | [ "0810" .@ once segmentSGP | ||
340 | , "0820" .@ repeated 10 segmentQTY | ||
341 | ] | ||
342 | ) | ||
343 | , "0830" .@ repeated 9999 ( | ||
344 | segmentGroup "20" | ||
345 | [ "0840" .@ once segmentPCI | ||
346 | , "0850" .@ repeated 5 segmentDTM | ||
347 | , "0860" .@ repeated 10 segmentMEA | ||
348 | , "0870" .@ maybeOnce segmentQTY | ||
349 | , "0880" .@ repeated 10 ( | ||
350 | segmentGroup "21" | ||
351 | [ "0890" .@ once segmentGIN | ||
352 | , "0900" .@ repeated 100 segmentDLM | ||
353 | ] | ||
354 | ) | ||
355 | , "0910" .@ repeated 10 ( | ||
356 | segmentGroup "22" | ||
357 | [ "0920" .@ once segmentHAN | ||
358 | , "0930" .@ repeated 5 segmentFTX | ||
359 | , "0940" .@ repeated 1000 segmentGIN | ||
360 | ] | ||
361 | ) | ||
362 | ] | ||
363 | ) | ||
364 | , "0950" .@ repeated 10 ( | ||
365 | segmentGroup "23" | ||
366 | [ "0960" .@ once segmentQVR | ||
367 | , "0970" .@ repeated 5 segmentDTM | ||
368 | ] | ||
369 | ) | ||
370 | ] | ||
371 | ) | ||
372 | ] | ||
373 | ) | ||
374 | , "0980" .@ repeated 5 segmentCNT | ||
375 | , "0990" .@ once segmentUNT | ||
376 | ] | ||
diff --git a/specification/src/Text/Edifact/D96A/Messages/IFCSUM.hs b/specification/src/Text/Edifact/D96A/Messages/IFCSUM.hs new file mode 100644 index 0000000..5f2e883 --- /dev/null +++ b/specification/src/Text/Edifact/D96A/Messages/IFCSUM.hs | |||
@@ -0,0 +1,861 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | ---- Machine generated code. | ||
4 | ---- Output of edi-parser-scaffolder | ||
5 | |||
6 | module Text.Edifact.D96A.Messages.IFCSUM | ||
7 | ( -- * Definition | ||
8 | messageIFCSUM | ||
9 | -- * Dependencies | ||
10 | , segmentBGM | ||
11 | , segmentCNI | ||
12 | , segmentCNT | ||
13 | , segmentCOM | ||
14 | , segmentCPI | ||
15 | , segmentCTA | ||
16 | , segmentCUX | ||
17 | , segmentDGS | ||
18 | , segmentDIM | ||
19 | , segmentDOC | ||
20 | , segmentDTM | ||
21 | , segmentEQA | ||
22 | , segmentEQD | ||
23 | , segmentEQN | ||
24 | , segmentFTX | ||
25 | , segmentGDS | ||
26 | , segmentGID | ||
27 | , segmentGIN | ||
28 | , segmentGOR | ||
29 | , segmentHAN | ||
30 | , segmentLOC | ||
31 | , segmentMEA | ||
32 | , segmentMOA | ||
33 | , segmentNAD | ||
34 | , segmentPCD | ||
35 | , segmentPCI | ||
36 | , segmentPIA | ||
37 | , segmentPRI | ||
38 | , segmentQTY | ||
39 | , segmentRFF | ||
40 | , segmentRNG | ||
41 | , segmentSEL | ||
42 | , segmentSGP | ||
43 | , segmentTCC | ||
44 | , segmentTDT | ||
45 | , segmentTMD | ||
46 | , segmentTMP | ||
47 | , segmentTOD | ||
48 | , segmentTPL | ||
49 | , segmentTSR | ||
50 | ) where | ||
51 | |||
52 | import Text.Edifact.Common.Segments | ||
53 | |||
54 | import Text.Edifact.D96A.Segments (segmentBGM, segmentCNI, | ||
55 | segmentCNT, segmentCOM, | ||
56 | segmentCPI, segmentCTA, | ||
57 | segmentCUX, segmentDGS, | ||
58 | segmentDIM, segmentDOC, | ||
59 | segmentDTM, segmentEQA, | ||
60 | segmentEQD, segmentEQN, | ||
61 | segmentFTX, segmentGDS, | ||
62 | segmentGID, segmentGIN, | ||
63 | segmentGOR, segmentHAN, | ||
64 | segmentLOC, segmentMEA, | ||
65 | segmentMOA, segmentNAD, | ||
66 | segmentPCD, segmentPCI, | ||
67 | segmentPIA, segmentPRI, | ||
68 | segmentQTY, segmentRFF, | ||
69 | segmentRNG, segmentSEL, | ||
70 | segmentSGP, segmentTCC, | ||
71 | segmentTDT, segmentTMD, | ||
72 | segmentTMP, segmentTOD, | ||
73 | segmentTPL, segmentTSR) | ||
74 | |||
75 | import Text.Edifact.Parsing | ||
76 | import Text.Edifact.Types (Value) | ||
77 | |||
78 | -- | Derived from this specification: | ||
79 | -- | ||
80 | -- > 4.3 Message structure | ||
81 | -- > | ||
82 | -- > 4.3.1 Segment table | ||
83 | -- > | ||
84 | -- > Pos Tag Name S R | ||
85 | -- > | ||
86 | -- > 0010 UNH Message header M 1 | ||
87 | -- > 0020 BGM Beginning of message M 1 | ||
88 | -- > 0030 DTM Date/time/period C 9 | ||
89 | -- > 0040 MOA Monetary amount C 99 | ||
90 | -- > 0050 FTX Free text C 99 | ||
91 | -- > 0060 CNT Control total C 9 | ||
92 | -- > | ||
93 | -- > 0070 ----- Segment group 1 ------------------ C 9-----------+ | ||
94 | -- > 0080 RFF Reference M 1 | | ||
95 | -- > 0090 DTM Date/time/period C 9-----------+ | ||
96 | -- > | ||
97 | -- > 0100 ----- Segment group 2 ------------------ C 9-----------+ | ||
98 | -- > 0110 GOR Governmental requirements M 1 | | ||
99 | -- > 0120 DTM Date/time/period C 9 | | ||
100 | -- > 0130 LOC Place/location identification C 9 | | ||
101 | -- > 0140 SEL Seal number C 9 | | ||
102 | -- > 0150 FTX Free text C 9 | | ||
103 | -- > | | ||
104 | -- > 0160 ----- Segment group 3 ------------------ C 9----------+| | ||
105 | -- > 0170 DOC Document/message details M 1 || | ||
106 | -- > 0180 DTM Date/time/period C 1----------++ | ||
107 | -- > | ||
108 | -- > 0190 ----- Segment group 4 ------------------ C 9-----------+ | ||
109 | -- > 0200 TCC Transport charge/rate calculations M 1 | | ||
110 | -- > 0210 PRI Price details C 1 | | ||
111 | -- > 0220 EQN Number of units C 1 | | ||
112 | -- > 0230 PCD Percentage details C 1 | | ||
113 | -- > 0240 MOA Monetary amount C 9 | | ||
114 | -- > 0250 QTY Quantity C 9 | | ||
115 | -- > 0260 LOC Place/location identification C 9-----------+ | ||
116 | -- > | ||
117 | -- > 0270 ----- Segment group 5 ------------------ C 9-----------+ | ||
118 | -- > 0280 TDT Details of transport M 1 | | ||
119 | -- > 0290 TSR Transport service requirements C 9 | | ||
120 | -- > 0300 LOC Place/location identification C 9 | | ||
121 | -- > 0310 DTM Date/time/period C 9 | | ||
122 | -- > 0320 SEL Seal number C 9 | | ||
123 | -- > 0330 FTX Free text C 9 | | ||
124 | -- > | | ||
125 | -- > 0340 ----- Segment group 6 ------------------ C 9----------+| | ||
126 | -- > 0350 MEA Measurements M 1 || | ||
127 | -- > 0360 EQN Number of units C 1----------+| | ||
128 | -- > | | ||
129 | -- > 0370 ----- Segment group 7 ------------------ C 9----------+| | ||
130 | -- > 0380 DIM Dimensions M 1 || | ||
131 | -- > 0390 EQN Number of units C 1----------+| | ||
132 | -- > | | ||
133 | -- > 0400 ----- Segment group 8 ------------------ C 9----------+| | ||
134 | -- > 0410 CTA Contact information M 1 || | ||
135 | -- > 0420 COM Communication contact C 9----------+| | ||
136 | -- > | | ||
137 | -- > 0430 ----- Segment group 9 ------------------ C 9----------+| | ||
138 | -- > 0440 NAD Name and address M 1 || | ||
139 | -- > 0450 LOC Place/location identification C 9 || | ||
140 | -- > || | ||
141 | -- > 0460 ----- Segment group 10 ------------------ C 9---------+|| | ||
142 | -- > 0470 CTA Contact information M 1 ||| | ||
143 | -- > 0480 COM Communication contact C 9---------+|| | ||
144 | -- > || | ||
145 | -- > 0490 ----- Segment group 11 ------------------ C 9---------+|| | ||
146 | -- > 0500 DOC Document/message details M 1 ||| | ||
147 | -- > 0510 DTM Date/time/period C 1---------+|| | ||
148 | -- > || | ||
149 | -- > 0520 ----- Segment group 12 ------------------ C 9---------+|| | ||
150 | -- > 0530 TCC Transport charge/rate calculations M 1 ||| | ||
151 | -- > 0540 PRI Price details C 1 ||| | ||
152 | -- > 0550 EQN Number of units C 1 ||| | ||
153 | -- > 0560 PCD Percentage details C 1 ||| | ||
154 | -- > 0570 MOA Monetary amount C 9 ||| | ||
155 | -- > 0580 QTY Quantity C 9---------+++ | ||
156 | -- > | ||
157 | -- > 0590 ----- Segment group 13 ------------------ C 999---------+ | ||
158 | -- > 0600 EQD Equipment details M 1 | | ||
159 | -- > 0610 EQN Number of units C 1 | | ||
160 | -- > 0620 TPL Transport placement C 1 | | ||
161 | -- > 0630 TMD Transport movement details C 1 | | ||
162 | -- > 0640 MEA Measurements C 9 | | ||
163 | -- > 0650 DIM Dimensions C 9 | | ||
164 | -- > 0660 SEL Seal number C 9 | | ||
165 | -- > 0670 NAD Name and address C 9 | | ||
166 | -- > 0680 LOC Place/location identification C 9 | | ||
167 | -- > 0690 HAN Handling instructions C 1 | | ||
168 | -- > 0700 TMP Temperature C 1 | | ||
169 | -- > 0710 FTX Free text C 9 | | ||
170 | -- > | | ||
171 | -- > 0720 ----- Segment group 14 ------------------ C 99---------+| | ||
172 | -- > 0730 EQA Attached equipment M 1 || | ||
173 | -- > 0740 EQN Number of units C 1----------++ | ||
174 | -- > | ||
175 | -- > 0750 ----- Segment group 15 ------------------ C 9999--------+ | ||
176 | -- > 0760 CNI Consignment information M 1 | | ||
177 | -- > | | ||
178 | -- > 0770 ----- Segment group 16 ------------------ C 9----------+| | ||
179 | -- > 0780 SGP Split goods placement M 1 || | ||
180 | -- > || | ||
181 | -- > 0790 ----- Segment group 17 ------------------ C 9---------+|| | ||
182 | -- > 0800 MEA Measurements M 1 ||| | ||
183 | -- > 0810 EQN Number of units C 1---------++| | ||
184 | -- > | | ||
185 | -- > 0820 ----- Segment group 18 ------------------ C 9----------+| | ||
186 | -- > 0830 TPL Transport placement M 1 || | ||
187 | -- > || | ||
188 | -- > 0840 ----- Segment group 19 ------------------ C 9---------+|| | ||
189 | -- > 0850 MEA Measurements M 1 ||| | ||
190 | -- > 0860 EQN Number of units C 1---------++| | ||
191 | -- > 0870 CTA Contact information C 1 | | ||
192 | -- > 0880 COM Communication contact C 9 | | ||
193 | -- > 0890 DTM Date/time/period C 9 | | ||
194 | -- > 0900 CNT Control total C 9 | | ||
195 | -- > 0910 TSR Transport service requirements C 9 | | ||
196 | -- > 0920 CUX Currencies C 9 | | ||
197 | -- > 0930 MOA Monetary amount C 99 | | ||
198 | -- > 0940 FTX Free text C 99 | | ||
199 | -- > | | ||
200 | -- > 0950 ----- Segment group 20 ------------------ C 99---------+| | ||
201 | -- > 0960 LOC Place/location identification M 1 || | ||
202 | -- > 0970 DTM Date/time/period C 9----------+| | ||
203 | -- > | | ||
204 | -- > 0980 ----- Segment group 21 ------------------ C 2----------+| | ||
205 | -- > 0990 TOD Terms of delivery or transport M 1 || | ||
206 | -- > 1000 LOC Place/location identification C 9----------+| | ||
207 | -- > | | ||
208 | -- > 1010 ----- Segment group 22 ------------------ C 99---------+| | ||
209 | -- > 1020 RFF Reference M 1 || | ||
210 | -- > 1030 DTM Date/time/period C 9----------+| | ||
211 | -- > | | ||
212 | -- > 1040 ----- Segment group 23 ------------------ C 9----------+| | ||
213 | -- > 1050 GOR Governmental requirements M 1 || | ||
214 | -- > 1060 DTM Date/time/period C 9 || | ||
215 | -- > 1070 LOC Place/location identification C 9 || | ||
216 | -- > 1080 SEL Seal number C 9 || | ||
217 | -- > 1090 FTX Free text C 9 || | ||
218 | -- > || | ||
219 | -- > 1100 ----- Segment group 24 ------------------ C 9---------+|| | ||
220 | -- > 1110 DOC Document/message details M 1 ||| | ||
221 | -- > 1120 DTM Date/time/period C 1---------++| | ||
222 | -- > | | ||
223 | -- > 1130 * ----- Segment group 25 ------------------ C 9----------+| | ||
224 | -- > 1140 CPI Charge payment instructions M 1 || | ||
225 | -- > 1150 + RFF Reference C 99 || | ||
226 | -- > 1160 CUX Currencies C 1 || | ||
227 | -- > 1170 LOC Place/location identification C 9 || | ||
228 | -- > 1180 MOA Monetary amount C 9----------+| | ||
229 | -- > | | ||
230 | -- > 1190 ----- Segment group 26 ------------------ C 99---------+| | ||
231 | -- > 1200 TCC Transport charge/rate calculations M 1 || | ||
232 | -- > 1210 LOC Place/location identification C 1 || | ||
233 | -- > 1220 FTX Free text C 1 || | ||
234 | -- > 1230 CUX Currencies C 1 || | ||
235 | -- > 1240 PRI Price details C 1 || | ||
236 | -- > 1250 EQN Number of units C 1 || | ||
237 | -- > 1260 PCD Percentage details C 1 || | ||
238 | -- > 1270 MOA Monetary amount C 9 || | ||
239 | -- > 1280 QTY Quantity C 9----------+| | ||
240 | -- > | | ||
241 | -- > 1290 ----- Segment group 27 ------------------ C 99---------+| | ||
242 | -- > 1300 TDT Details of transport M 1 || | ||
243 | -- > 1310 DTM Date/time/period C 9 || | ||
244 | -- > 1320 TSR Transport service requirements C 9 || | ||
245 | -- > || | ||
246 | -- > 1330 ----- Segment group 28 ------------------ C 99--------+|| | ||
247 | -- > 1340 LOC Place/location identification M 1 ||| | ||
248 | -- > 1350 DTM Date/time/period C 1---------+|| | ||
249 | -- > || | ||
250 | -- > 1360 ----- Segment group 29 ------------------ C 9---------+|| | ||
251 | -- > 1370 RFF Reference M 1 ||| | ||
252 | -- > 1380 DTM Date/time/period C 1---------++| | ||
253 | -- > | | ||
254 | -- > 1390 ----- Segment group 30 ------------------ C 99---------+| | ||
255 | -- > 1400 NAD Name and address M 1 || | ||
256 | -- > 1410 LOC Place/location identification C 9 || | ||
257 | -- > 1420 MOA Monetary amount C 9 || | ||
258 | -- > || | ||
259 | -- > 1430 ----- Segment group 31 ------------------ C 9---------+|| | ||
260 | -- > 1440 CTA Contact information M 1 ||| | ||
261 | -- > 1450 COM Communication contact C 9---------+|| | ||
262 | -- > || | ||
263 | -- > 1460 ----- Segment group 32 ------------------ C 9---------+|| | ||
264 | -- > 1470 DOC Document/message details M 1 ||| | ||
265 | -- > 1480 DTM Date/time/period C 1---------+|| | ||
266 | -- > || | ||
267 | -- > 1490 ----- Segment group 33 ------------------ C 99--------+|| | ||
268 | -- > 1500 TCC Transport charge/rate calculations M 1 ||| | ||
269 | -- > 1510 PRI Price details C 1 ||| | ||
270 | -- > 1520 EQN Number of units C 1 ||| | ||
271 | -- > 1530 PCD Percentage details C 1 ||| | ||
272 | -- > 1540 MOA Monetary amount C 9 ||| | ||
273 | -- > 1550 QTY Quantity C 9---------+|| | ||
274 | -- > || | ||
275 | -- > 1560 ----- Segment group 34 ------------------ C 9---------+|| | ||
276 | -- > 1570 RFF Reference M 1 ||| | ||
277 | -- > 1580 DTM Date/time/period C 9---------+|| | ||
278 | -- > || | ||
279 | -- > 1590 * ----- Segment group 35 ------------------ C 9---------+|| | ||
280 | -- > 1600 CPI Charge payment instructions M 1 ||| | ||
281 | -- > 1610 + RFF Reference C 99 ||| | ||
282 | -- > 1620 CUX Currencies C 1 ||| | ||
283 | -- > 1630 LOC Place/location identification C 9 ||| | ||
284 | -- > 1640 MOA Monetary amount C 9---------+|| | ||
285 | -- > || | ||
286 | -- > 1650 ----- Segment group 36 ------------------ C 99--------+|| | ||
287 | -- > 1660 TSR Transport service requirements M 1 ||| | ||
288 | -- > 1670 RFF Reference C 1 ||| | ||
289 | -- > 1680 LOC Place/location identification C 1 ||| | ||
290 | -- > 1690 TPL Transport placement C 1 ||| | ||
291 | -- > 1700 FTX Free text C 9---------++| | ||
292 | -- > | | ||
293 | -- > 1710 ----- Segment group 37 ------------------ C 999--------+| | ||
294 | -- > 1720 GID Goods item details M 1 || | ||
295 | -- > 1730 HAN Handling instructions C 1 || | ||
296 | -- > 1740 TMP Temperature C 1 || | ||
297 | -- > 1750 RNG Range details C 1 || | ||
298 | -- > 1760 TMD Transport movement details C 1 || | ||
299 | -- > 1770 LOC Place/location identification C 9 || | ||
300 | -- > 1780 MOA Monetary amount C 9 || | ||
301 | -- > 1790 PIA Additional product id C 9 || | ||
302 | -- > 1800 FTX Free text C 9 || | ||
303 | -- > || | ||
304 | -- > 1810 ----- Segment group 38 ------------------ C 9---------+|| | ||
305 | -- > 1820 NAD Name and address M 1 ||| | ||
306 | -- > 1830 DTM Date/time/period C 1---------+|| | ||
307 | -- > 1840 GDS Nature of cargo C 9 || | ||
308 | -- > || | ||
309 | -- > 1850 ----- Segment group 39 ------------------ C 99--------+|| | ||
310 | -- > 1860 MEA Measurements M 1 ||| | ||
311 | -- > 1870 EQN Number of units C 1---------+|| | ||
312 | -- > || | ||
313 | -- > 1880 ----- Segment group 40 ------------------ C 99--------+|| | ||
314 | -- > 1890 DIM Dimensions M 1 ||| | ||
315 | -- > 1900 EQN Number of units C 1---------+|| | ||
316 | -- > || | ||
317 | -- > 1910 ----- Segment group 41 ------------------ C 9---------+|| | ||
318 | -- > 1920 RFF Reference M 1 ||| | ||
319 | -- > 1930 DTM Date/time/period C 9---------+|| | ||
320 | -- > || | ||
321 | -- > 1940 * ----- Segment group 42 ------------------ C 9---------+|| | ||
322 | -- > 1950 PCI Package identification M 1 ||| | ||
323 | -- > 1960 RFF Reference C 1 ||| | ||
324 | -- > 1970 DTM Date/time/period C 1 ||| | ||
325 | -- > 1980 + GIN Goods identity number C 9---------+|| | ||
326 | -- > || | ||
327 | -- > 1990 ----- Segment group 43 ------------------ C 9---------+|| | ||
328 | -- > 2000 DOC Document/message details M 1 ||| | ||
329 | -- > 2010 DTM Date/time/period C 9---------+|| | ||
330 | -- > || | ||
331 | -- > 2020 ----- Segment group 44 ------------------ C 9---------+|| | ||
332 | -- > 2030 GOR Governmental requirements M 1 ||| | ||
333 | -- > 2040 DTM Date/time/period C 9 ||| | ||
334 | -- > 2050 LOC Place/location identification C 9 ||| | ||
335 | -- > 2060 SEL Seal number C 9 ||| | ||
336 | -- > 2070 FTX Free text C 9 ||| | ||
337 | -- > ||| | ||
338 | -- > 2080 ----- Segment group 45 ------------------ C 9--------+||| | ||
339 | -- > 2090 DOC Document/message details M 1 |||| | ||
340 | -- > 2100 DTM Date/time/period C 1--------++|| | ||
341 | -- > || | ||
342 | -- > 2110 ----- Segment group 46 ------------------ C 9---------+|| | ||
343 | -- > 2120 TPL Transport placement M 1 ||| | ||
344 | -- > ||| | ||
345 | -- > 2130 ----- Segment group 47 ------------------ C 9--------+||| | ||
346 | -- > 2140 MEA Measurements M 1 |||| | ||
347 | -- > 2150 EQN Number of units C 1--------++|| | ||
348 | -- > || | ||
349 | -- > 2160 ----- Segment group 48 ------------------ C 999-------+|| | ||
350 | -- > 2170 SGP Split goods placement M 1 ||| | ||
351 | -- > ||| | ||
352 | -- > 2180 ----- Segment group 49 ------------------ C 9--------+||| | ||
353 | -- > 2190 MEA Measurements M 1 |||| | ||
354 | -- > 2200 EQN Number of units C 1--------++|| | ||
355 | -- > || | ||
356 | -- > 2210 ----- Segment group 50 ------------------ C 99--------+|| | ||
357 | -- > 2220 TCC Transport charge/rate calculations M 1 ||| | ||
358 | -- > 2230 PRI Price details C 1 ||| | ||
359 | -- > 2240 EQN Number of units C 1 ||| | ||
360 | -- > 2250 PCD Percentage details C 1 ||| | ||
361 | -- > 2260 MOA Monetary amount C 9 ||| | ||
362 | -- > 2270 QTY Quantity C 9 ||| | ||
363 | -- > 2280 LOC Place/location identification C 9---------+|| | ||
364 | -- > || | ||
365 | -- > 2290 ----- Segment group 51 ------------------ C 9---------+|| | ||
366 | -- > 2300 DGS Dangerous goods M 1 ||| | ||
367 | -- > 2310 FTX Free text C 99 ||| | ||
368 | -- > ||| | ||
369 | -- > 2320 ----- Segment group 52 ------------------ C 9--------+||| | ||
370 | -- > 2330 CTA Contact information M 1 |||| | ||
371 | -- > 2340 COM Communication contact C 9--------+||| | ||
372 | -- > ||| | ||
373 | -- > 2350 ----- Segment group 53 ------------------ C 9--------+||| | ||
374 | -- > 2360 MEA Measurements M 1 |||| | ||
375 | -- > 2370 EQN Number of units C 1--------+||| | ||
376 | -- > ||| | ||
377 | -- > 2380 ----- Segment group 54 ------------------ C 999------+||| | ||
378 | -- > 2390 SGP Split goods placement M 1 |||| | ||
379 | -- > |||| | ||
380 | -- > 2400 ----- Segment group 55 ------------------ C 9-------+|||| | ||
381 | -- > 2410 MEA Measurements M 1 ||||| | ||
382 | -- > 2420 EQN Number of units C 1-------++++| | ||
383 | -- > | | ||
384 | -- > 2430 ----- Segment group 56 ------------------ C 999--------+| | ||
385 | -- > 2440 EQD Equipment details M 1 || | ||
386 | -- > 2450 EQN Number of units C 1 || | ||
387 | -- > 2460 TMD Transport movement details C 1 || | ||
388 | -- > 2470 MEA Measurements C 9 || | ||
389 | -- > 2480 DIM Dimensions C 9 || | ||
390 | -- > 2490 SEL Seal number C 99 || | ||
391 | -- > 2500 TPL Transport placement C 9 || | ||
392 | -- > 2510 HAN Handling instructions C 1 || | ||
393 | -- > 2520 TMP Temperature C 1 || | ||
394 | -- > 2530 FTX Free text C 9 || | ||
395 | -- > || | ||
396 | -- > 2540 ----- Segment group 57 ------------------ C 99--------+|| | ||
397 | -- > 2550 TCC Transport charge/rate calculations M 1 ||| | ||
398 | -- > 2560 PRI Price details C 1 ||| | ||
399 | -- > 2570 EQN Number of units C 1 ||| | ||
400 | -- > 2580 PCD Percentage details C 1 ||| | ||
401 | -- > 2590 MOA Monetary amount C 9 ||| | ||
402 | -- > 2600 QTY Quantity C 9---------+|| | ||
403 | -- > || | ||
404 | -- > 2610 ----- Segment group 58 ------------------ C 9---------+|| | ||
405 | -- > 2620 NAD Name and address M 1 ||| | ||
406 | -- > 2630 DTM Date/time/period C 1---------+|| | ||
407 | -- > || | ||
408 | -- > 2640 ----- Segment group 59 ------------------ C 99--------+|| | ||
409 | -- > 2650 EQA Attached equipment M 1 ||| | ||
410 | -- > 2660 EQN Number of units C 1---------+++ | ||
411 | -- > 2670 UNT Message trailer M 1 | ||
412 | -- | ||
413 | -- Dependencies: 'segmentBGM', 'segmentCNI', 'segmentCNT', 'segmentCOM', 'segmentCPI', 'segmentCTA', 'segmentCUX', 'segmentDGS', 'segmentDIM', 'segmentDOC', 'segmentDTM', 'segmentEQA', 'segmentEQD', 'segmentEQN', 'segmentFTX', 'segmentGDS', 'segmentGID', 'segmentGIN', 'segmentGOR', 'segmentHAN', 'segmentLOC', 'segmentMEA', 'segmentMOA', 'segmentNAD', 'segmentPCD', 'segmentPCI', 'segmentPIA', 'segmentPRI', 'segmentQTY', 'segmentRFF', 'segmentRNG', 'segmentSEL', 'segmentSGP', 'segmentTCC', 'segmentTDT', 'segmentTMD', 'segmentTMP', 'segmentTOD', 'segmentTPL', 'segmentTSR'. | ||
414 | messageIFCSUM :: Parser Value | ||
415 | messageIFCSUM = | ||
416 | message "IFCSUM" | ||
417 | [ "0010" .@ once segmentUNH | ||
418 | , "0020" .@ once segmentBGM | ||
419 | , "0030" .@ repeated 9 segmentDTM | ||
420 | , "0040" .@ repeated 99 segmentMOA | ||
421 | , "0050" .@ repeated 99 segmentFTX | ||
422 | , "0060" .@ repeated 9 segmentCNT | ||
423 | , "0070" .@ repeated 9 ( | ||
424 | segmentGroup "1" | ||
425 | [ "0080" .@ once segmentRFF | ||
426 | , "0090" .@ repeated 9 segmentDTM | ||
427 | ] | ||
428 | ) | ||
429 | , "0100" .@ repeated 9 ( | ||
430 | segmentGroup "2" | ||
431 | [ "0110" .@ once segmentGOR | ||
432 | , "0120" .@ repeated 9 segmentDTM | ||
433 | , "0130" .@ repeated 9 segmentLOC | ||
434 | , "0140" .@ repeated 9 segmentSEL | ||
435 | , "0150" .@ repeated 9 segmentFTX | ||
436 | , "0160" .@ repeated 9 ( | ||
437 | segmentGroup "3" | ||
438 | [ "0170" .@ once segmentDOC | ||
439 | , "0180" .@ maybeOnce segmentDTM | ||
440 | ] | ||
441 | ) | ||
442 | ] | ||
443 | ) | ||
444 | , "0190" .@ repeated 9 ( | ||
445 | segmentGroup "4" | ||
446 | [ "0200" .@ once segmentTCC | ||
447 | , "0210" .@ maybeOnce segmentPRI | ||
448 | , "0220" .@ maybeOnce segmentEQN | ||
449 | , "0230" .@ maybeOnce segmentPCD | ||
450 | , "0240" .@ repeated 9 segmentMOA | ||
451 | , "0250" .@ repeated 9 segmentQTY | ||
452 | , "0260" .@ repeated 9 segmentLOC | ||
453 | ] | ||
454 | ) | ||
455 | , "0270" .@ repeated 9 ( | ||
456 | segmentGroup "5" | ||
457 | [ "0280" .@ once segmentTDT | ||
458 | , "0290" .@ repeated 9 segmentTSR | ||
459 | , "0300" .@ repeated 9 segmentLOC | ||
460 | , "0310" .@ repeated 9 segmentDTM | ||
461 | , "0320" .@ repeated 9 segmentSEL | ||
462 | , "0330" .@ repeated 9 segmentFTX | ||
463 | , "0340" .@ repeated 9 ( | ||
464 | segmentGroup "6" | ||
465 | [ "0350" .@ once segmentMEA | ||
466 | , "0360" .@ maybeOnce segmentEQN | ||
467 | ] | ||
468 | ) | ||
469 | , "0370" .@ repeated 9 ( | ||
470 | segmentGroup "7" | ||
471 | [ "0380" .@ once segmentDIM | ||
472 | , "0390" .@ maybeOnce segmentEQN | ||
473 | ] | ||
474 | ) | ||
475 | , "0400" .@ repeated 9 ( | ||
476 | segmentGroup "8" | ||
477 | [ "0410" .@ once segmentCTA | ||
478 | , "0420" .@ repeated 9 segmentCOM | ||
479 | ] | ||
480 | ) | ||
481 | , "0430" .@ repeated 9 ( | ||
482 | segmentGroup "9" | ||
483 | [ "0440" .@ once segmentNAD | ||
484 | , "0450" .@ repeated 9 segmentLOC | ||
485 | , "0460" .@ repeated 9 ( | ||
486 | segmentGroup "10" | ||
487 | [ "0470" .@ once segmentCTA | ||
488 | , "0480" .@ repeated 9 segmentCOM | ||
489 | ] | ||
490 | ) | ||
491 | , "0490" .@ repeated 9 ( | ||
492 | segmentGroup "11" | ||
493 | [ "0500" .@ once segmentDOC | ||
494 | , "0510" .@ maybeOnce segmentDTM | ||
495 | ] | ||
496 | ) | ||
497 | , "0520" .@ repeated 9 ( | ||
498 | segmentGroup "12" | ||
499 | [ "0530" .@ once segmentTCC | ||
500 | , "0540" .@ maybeOnce segmentPRI | ||
501 | , "0550" .@ maybeOnce segmentEQN | ||
502 | , "0560" .@ maybeOnce segmentPCD | ||
503 | , "0570" .@ repeated 9 segmentMOA | ||
504 | , "0580" .@ repeated 9 segmentQTY | ||
505 | ] | ||
506 | ) | ||
507 | ] | ||
508 | ) | ||
509 | ] | ||
510 | ) | ||
511 | , "0590" .@ repeated 999 ( | ||
512 | segmentGroup "13" | ||
513 | [ "0600" .@ once segmentEQD | ||
514 | , "0610" .@ maybeOnce segmentEQN | ||
515 | , "0620" .@ maybeOnce segmentTPL | ||
516 | , "0630" .@ maybeOnce segmentTMD | ||
517 | , "0640" .@ repeated 9 segmentMEA | ||
518 | , "0650" .@ repeated 9 segmentDIM | ||
519 | , "0660" .@ repeated 9 segmentSEL | ||
520 | , "0670" .@ repeated 9 segmentNAD | ||
521 | , "0680" .@ repeated 9 segmentLOC | ||
522 | , "0690" .@ maybeOnce segmentHAN | ||
523 | , "0700" .@ maybeOnce segmentTMP | ||
524 | , "0710" .@ repeated 9 segmentFTX | ||
525 | , "0720" .@ repeated 99 ( | ||
526 | segmentGroup "14" | ||
527 | [ "0730" .@ once segmentEQA | ||
528 | , "0740" .@ maybeOnce segmentEQN | ||
529 | ] | ||
530 | ) | ||
531 | ] | ||
532 | ) | ||
533 | , "0750" .@ repeated 9999 ( | ||
534 | segmentGroup "15" | ||
535 | [ "0760" .@ once segmentCNI | ||
536 | , "0770" .@ repeated 9 ( | ||
537 | segmentGroup "16" | ||
538 | [ "0780" .@ once segmentSGP | ||
539 | , "0790" .@ repeated 9 ( | ||
540 | segmentGroup "17" | ||
541 | [ "0800" .@ once segmentMEA | ||
542 | , "0810" .@ maybeOnce segmentEQN | ||
543 | ] | ||
544 | ) | ||
545 | ] | ||
546 | ) | ||
547 | , "0820" .@ repeated 9 ( | ||
548 | segmentGroup "18" | ||
549 | [ "0830" .@ once segmentTPL | ||
550 | , "0840" .@ repeated 9 ( | ||
551 | segmentGroup "19" | ||
552 | [ "0850" .@ once segmentMEA | ||
553 | , "0860" .@ maybeOnce segmentEQN | ||
554 | ] | ||
555 | ) | ||
556 | ] | ||
557 | ) | ||
558 | , "0870" .@ maybeOnce segmentCTA | ||
559 | , "0880" .@ repeated 9 segmentCOM | ||
560 | , "0890" .@ repeated 9 segmentDTM | ||
561 | , "0900" .@ repeated 9 segmentCNT | ||
562 | , "0910" .@ repeated 9 segmentTSR | ||
563 | , "0920" .@ repeated 9 segmentCUX | ||
564 | , "0930" .@ repeated 99 segmentMOA | ||
565 | , "0940" .@ repeated 99 segmentFTX | ||
566 | , "0950" .@ repeated 99 ( | ||
567 | segmentGroup "20" | ||
568 | [ "0960" .@ once segmentLOC | ||
569 | , "0970" .@ repeated 9 segmentDTM | ||
570 | ] | ||
571 | ) | ||
572 | , "0980" .@ repeated 2 ( | ||
573 | segmentGroup "21" | ||
574 | [ "0990" .@ once segmentTOD | ||
575 | , "1000" .@ repeated 9 segmentLOC | ||
576 | ] | ||
577 | ) | ||
578 | , "1010" .@ repeated 99 ( | ||
579 | segmentGroup "22" | ||
580 | [ "1020" .@ once segmentRFF | ||
581 | , "1030" .@ repeated 9 segmentDTM | ||
582 | ] | ||
583 | ) | ||
584 | , "1040" .@ repeated 9 ( | ||
585 | segmentGroup "23" | ||
586 | [ "1050" .@ once segmentGOR | ||
587 | , "1060" .@ repeated 9 segmentDTM | ||
588 | , "1070" .@ repeated 9 segmentLOC | ||
589 | , "1080" .@ repeated 9 segmentSEL | ||
590 | , "1090" .@ repeated 9 segmentFTX | ||
591 | , "1100" .@ repeated 9 ( | ||
592 | segmentGroup "24" | ||
593 | [ "1110" .@ once segmentDOC | ||
594 | , "1120" .@ maybeOnce segmentDTM | ||
595 | ] | ||
596 | ) | ||
597 | ] | ||
598 | ) | ||
599 | , "1130" .@ repeated 9 ( | ||
600 | segmentGroup "25" | ||
601 | [ "1140" .@ once segmentCPI | ||
602 | , "1150" .@ repeated 99 segmentRFF | ||
603 | , "1160" .@ maybeOnce segmentCUX | ||
604 | , "1170" .@ repeated 9 segmentLOC | ||
605 | , "1180" .@ repeated 9 segmentMOA | ||
606 | ] | ||
607 | ) | ||
608 | , "1190" .@ repeated 99 ( | ||
609 | segmentGroup "26" | ||
610 | [ "1200" .@ once segmentTCC | ||
611 | , "1210" .@ maybeOnce segmentLOC | ||
612 | , "1220" .@ maybeOnce segmentFTX | ||
613 | , "1230" .@ maybeOnce segmentCUX | ||
614 | , "1240" .@ maybeOnce segmentPRI | ||
615 | , "1250" .@ maybeOnce segmentEQN | ||
616 | , "1260" .@ maybeOnce segmentPCD | ||
617 | , "1270" .@ repeated 9 segmentMOA | ||
618 | , "1280" .@ repeated 9 segmentQTY | ||
619 | ] | ||
620 | ) | ||
621 | , "1290" .@ repeated 99 ( | ||
622 | segmentGroup "27" | ||
623 | [ "1300" .@ once segmentTDT | ||
624 | , "1310" .@ repeated 9 segmentDTM | ||
625 | , "1320" .@ repeated 9 segmentTSR | ||
626 | , "1330" .@ repeated 99 ( | ||
627 | segmentGroup "28" | ||
628 | [ "1340" .@ once segmentLOC | ||
629 | , "1350" .@ maybeOnce segmentDTM | ||
630 | ] | ||
631 | ) | ||
632 | , "1360" .@ repeated 9 ( | ||
633 | segmentGroup "29" | ||
634 | [ "1370" .@ once segmentRFF | ||
635 | , "1380" .@ maybeOnce segmentDTM | ||
636 | ] | ||
637 | ) | ||
638 | ] | ||
639 | ) | ||
640 | , "1390" .@ repeated 99 ( | ||
641 | segmentGroup "30" | ||
642 | [ "1400" .@ once segmentNAD | ||
643 | , "1410" .@ repeated 9 segmentLOC | ||
644 | , "1420" .@ repeated 9 segmentMOA | ||
645 | , "1430" .@ repeated 9 ( | ||
646 | segmentGroup "31" | ||
647 | [ "1440" .@ once segmentCTA | ||
648 | , "1450" .@ repeated 9 segmentCOM | ||
649 | ] | ||
650 | ) | ||
651 | , "1460" .@ repeated 9 ( | ||
652 | segmentGroup "32" | ||
653 | [ "1470" .@ once segmentDOC | ||
654 | , "1480" .@ maybeOnce segmentDTM | ||
655 | ] | ||
656 | ) | ||
657 | , "1490" .@ repeated 99 ( | ||
658 | segmentGroup "33" | ||
659 | [ "1500" .@ once segmentTCC | ||
660 | , "1510" .@ maybeOnce segmentPRI | ||
661 | , "1520" .@ maybeOnce segmentEQN | ||
662 | , "1530" .@ maybeOnce segmentPCD | ||
663 | , "1540" .@ repeated 9 segmentMOA | ||
664 | , "1550" .@ repeated 9 segmentQTY | ||
665 | ] | ||
666 | ) | ||
667 | , "1560" .@ repeated 9 ( | ||
668 | segmentGroup "34" | ||
669 | [ "1570" .@ once segmentRFF | ||
670 | , "1580" .@ repeated 9 segmentDTM | ||
671 | ] | ||
672 | ) | ||
673 | , "1590" .@ repeated 9 ( | ||
674 | segmentGroup "35" | ||
675 | [ "1600" .@ once segmentCPI | ||
676 | , "1610" .@ repeated 99 segmentRFF | ||
677 | , "1620" .@ maybeOnce segmentCUX | ||
678 | , "1630" .@ repeated 9 segmentLOC | ||
679 | , "1640" .@ repeated 9 segmentMOA | ||
680 | ] | ||
681 | ) | ||
682 | , "1650" .@ repeated 99 ( | ||
683 | segmentGroup "36" | ||
684 | [ "1660" .@ once segmentTSR | ||
685 | , "1670" .@ maybeOnce segmentRFF | ||
686 | , "1680" .@ maybeOnce segmentLOC | ||
687 | , "1690" .@ maybeOnce segmentTPL | ||
688 | , "1700" .@ repeated 9 segmentFTX | ||
689 | ] | ||
690 | ) | ||
691 | ] | ||
692 | ) | ||
693 | , "1710" .@ repeated 999 ( | ||
694 | segmentGroup "37" | ||
695 | [ "1720" .@ once segmentGID | ||
696 | , "1730" .@ maybeOnce segmentHAN | ||
697 | , "1740" .@ maybeOnce segmentTMP | ||
698 | , "1750" .@ maybeOnce segmentRNG | ||
699 | , "1760" .@ maybeOnce segmentTMD | ||
700 | , "1770" .@ repeated 9 segmentLOC | ||
701 | , "1780" .@ repeated 9 segmentMOA | ||
702 | , "1790" .@ repeated 9 segmentPIA | ||
703 | , "1800" .@ repeated 9 segmentFTX | ||
704 | , "1810" .@ repeated 9 ( | ||
705 | segmentGroup "38" | ||
706 | [ "1820" .@ once segmentNAD | ||
707 | , "1830" .@ maybeOnce segmentDTM | ||
708 | ] | ||
709 | ) | ||
710 | , "1840" .@ repeated 9 segmentGDS | ||
711 | , "1850" .@ repeated 99 ( | ||
712 | segmentGroup "39" | ||
713 | [ "1860" .@ once segmentMEA | ||
714 | , "1870" .@ maybeOnce segmentEQN | ||
715 | ] | ||
716 | ) | ||
717 | , "1880" .@ repeated 99 ( | ||
718 | segmentGroup "40" | ||
719 | [ "1890" .@ once segmentDIM | ||
720 | , "1900" .@ maybeOnce segmentEQN | ||
721 | ] | ||
722 | ) | ||
723 | , "1910" .@ repeated 9 ( | ||
724 | segmentGroup "41" | ||
725 | [ "1920" .@ once segmentRFF | ||
726 | , "1930" .@ repeated 9 segmentDTM | ||
727 | ] | ||
728 | ) | ||
729 | , "1940" .@ repeated 9 ( | ||
730 | segmentGroup "42" | ||
731 | [ "1950" .@ once segmentPCI | ||
732 | , "1960" .@ maybeOnce segmentRFF | ||
733 | , "1970" .@ maybeOnce segmentDTM | ||
734 | , "1980" .@ repeated 9 segmentGIN | ||
735 | ] | ||
736 | ) | ||
737 | , "1990" .@ repeated 9 ( | ||
738 | segmentGroup "43" | ||
739 | [ "2000" .@ once segmentDOC | ||
740 | , "2010" .@ repeated 9 segmentDTM | ||
741 | ] | ||
742 | ) | ||
743 | , "2020" .@ repeated 9 ( | ||
744 | segmentGroup "44" | ||
745 | [ "2030" .@ once segmentGOR | ||
746 | , "2040" .@ repeated 9 segmentDTM | ||
747 | , "2050" .@ repeated 9 segmentLOC | ||
748 | , "2060" .@ repeated 9 segmentSEL | ||
749 | , "2070" .@ repeated 9 segmentFTX | ||
750 | , "2080" .@ repeated 9 ( | ||
751 | segmentGroup "45" | ||
752 | [ "2090" .@ once segmentDOC | ||
753 | , "2100" .@ maybeOnce segmentDTM | ||
754 | ] | ||
755 | ) | ||
756 | ] | ||
757 | ) | ||
758 | , "2110" .@ repeated 9 ( | ||
759 | segmentGroup "46" | ||
760 | [ "2120" .@ once segmentTPL | ||
761 | , "2130" .@ repeated 9 ( | ||
762 | segmentGroup "47" | ||
763 | [ "2140" .@ once segmentMEA | ||
764 | , "2150" .@ maybeOnce segmentEQN | ||
765 | ] | ||
766 | ) | ||
767 | ] | ||
768 | ) | ||
769 | , "2160" .@ repeated 999 ( | ||
770 | segmentGroup "48" | ||
771 | [ "2170" .@ once segmentSGP | ||
772 | , "2180" .@ repeated 9 ( | ||
773 | segmentGroup "49" | ||
774 | [ "2190" .@ once segmentMEA | ||
775 | , "2200" .@ maybeOnce segmentEQN | ||
776 | ] | ||
777 | ) | ||
778 | ] | ||
779 | ) | ||
780 | , "2210" .@ repeated 99 ( | ||
781 | segmentGroup "50" | ||
782 | [ "2220" .@ once segmentTCC | ||
783 | , "2230" .@ maybeOnce segmentPRI | ||
784 | , "2240" .@ maybeOnce segmentEQN | ||
785 | , "2250" .@ maybeOnce segmentPCD | ||
786 | , "2260" .@ repeated 9 segmentMOA | ||
787 | , "2270" .@ repeated 9 segmentQTY | ||
788 | , "2280" .@ repeated 9 segmentLOC | ||
789 | ] | ||
790 | ) | ||
791 | , "2290" .@ repeated 9 ( | ||
792 | segmentGroup "51" | ||
793 | [ "2300" .@ once segmentDGS | ||
794 | , "2310" .@ repeated 99 segmentFTX | ||
795 | , "2320" .@ repeated 9 ( | ||
796 | segmentGroup "52" | ||
797 | [ "2330" .@ once segmentCTA | ||
798 | , "2340" .@ repeated 9 segmentCOM | ||
799 | ] | ||
800 | ) | ||
801 | , "2350" .@ repeated 9 ( | ||
802 | segmentGroup "53" | ||
803 | [ "2360" .@ once segmentMEA | ||
804 | , "2370" .@ maybeOnce segmentEQN | ||
805 | ] | ||
806 | ) | ||
807 | , "2380" .@ repeated 999 ( | ||
808 | segmentGroup "54" | ||
809 | [ "2390" .@ once segmentSGP | ||
810 | , "2400" .@ repeated 9 ( | ||
811 | segmentGroup "55" | ||
812 | [ "2410" .@ once segmentMEA | ||
813 | , "2420" .@ maybeOnce segmentEQN | ||
814 | ] | ||
815 | ) | ||
816 | ] | ||
817 | ) | ||
818 | ] | ||
819 | ) | ||
820 | ] | ||
821 | ) | ||
822 | , "2430" .@ repeated 999 ( | ||
823 | segmentGroup "56" | ||
824 | [ "2440" .@ once segmentEQD | ||
825 | , "2450" .@ maybeOnce segmentEQN | ||
826 | , "2460" .@ maybeOnce segmentTMD | ||
827 | , "2470" .@ repeated 9 segmentMEA | ||
828 | , "2480" .@ repeated 9 segmentDIM | ||
829 | , "2490" .@ repeated 99 segmentSEL | ||
830 | , "2500" .@ repeated 9 segmentTPL | ||
831 | , "2510" .@ maybeOnce segmentHAN | ||
832 | , "2520" .@ maybeOnce segmentTMP | ||
833 | , "2530" .@ repeated 9 segmentFTX | ||
834 | , "2540" .@ repeated 99 ( | ||
835 | segmentGroup "57" | ||
836 | [ "2550" .@ once segmentTCC | ||
837 | , "2560" .@ maybeOnce segmentPRI | ||
838 | , "2570" .@ maybeOnce segmentEQN | ||
839 | , "2580" .@ maybeOnce segmentPCD | ||
840 | , "2590" .@ repeated 9 segmentMOA | ||
841 | , "2600" .@ repeated 9 segmentQTY | ||
842 | ] | ||
843 | ) | ||
844 | , "2610" .@ repeated 9 ( | ||
845 | segmentGroup "58" | ||
846 | [ "2620" .@ once segmentNAD | ||
847 | , "2630" .@ maybeOnce segmentDTM | ||
848 | ] | ||
849 | ) | ||
850 | , "2640" .@ repeated 99 ( | ||
851 | segmentGroup "59" | ||
852 | [ "2650" .@ once segmentEQA | ||
853 | , "2660" .@ maybeOnce segmentEQN | ||
854 | ] | ||
855 | ) | ||
856 | ] | ||
857 | ) | ||
858 | ] | ||
859 | ) | ||
860 | , "2670" .@ once segmentUNT | ||
861 | ] | ||
diff --git a/specification/src/Text/Edifact/D96A/Messages/IFTSAI.hs b/specification/src/Text/Edifact/D96A/Messages/IFTSAI.hs new file mode 100644 index 0000000..3c4a345 --- /dev/null +++ b/specification/src/Text/Edifact/D96A/Messages/IFTSAI.hs | |||
@@ -0,0 +1,208 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | ---- Machine generated code. | ||
4 | ---- Output of edi-parser-scaffolder | ||
5 | |||
6 | module Text.Edifact.D96A.Messages.IFTSAI | ||
7 | ( -- * Definition | ||
8 | messageIFTSAI | ||
9 | -- * Dependencies | ||
10 | , segmentBGM | ||
11 | , segmentCOM | ||
12 | , segmentCTA | ||
13 | , segmentDGS | ||
14 | , segmentDIM | ||
15 | , segmentDTM | ||
16 | , segmentEQD | ||
17 | , segmentEQN | ||
18 | , segmentFTX | ||
19 | , segmentGDS | ||
20 | , segmentGID | ||
21 | , segmentHAN | ||
22 | , segmentLOC | ||
23 | , segmentMEA | ||
24 | , segmentNAD | ||
25 | , segmentQTY | ||
26 | , segmentRFF | ||
27 | , segmentTDT | ||
28 | , segmentTSR | ||
29 | ) where | ||
30 | |||
31 | import Text.Edifact.Common.Segments | ||
32 | |||
33 | import Text.Edifact.D96A.Segments (segmentBGM, segmentCOM, | ||
34 | segmentCTA, segmentDGS, | ||
35 | segmentDIM, segmentDTM, | ||
36 | segmentEQD, segmentEQN, | ||
37 | segmentFTX, segmentGDS, | ||
38 | segmentGID, segmentHAN, | ||
39 | segmentLOC, segmentMEA, | ||
40 | segmentNAD, segmentQTY, | ||
41 | segmentRFF, segmentTDT, | ||
42 | segmentTSR) | ||
43 | |||
44 | import Text.Edifact.Parsing | ||
45 | import Text.Edifact.Types (Value) | ||
46 | |||
47 | -- | Derived from this specification: | ||
48 | -- | ||
49 | -- > 4.3 Message structure | ||
50 | -- > | ||
51 | -- > 4.3.1 Segment table | ||
52 | -- > | ||
53 | -- > Pos Tag Name S R | ||
54 | -- > | ||
55 | -- > 0010 UNH Message header M 1 | ||
56 | -- > 0020 BGM Beginning of message M 1 | ||
57 | -- > 0030 DTM Date/time/period C 9 | ||
58 | -- > 0040 FTX Free text C 99 | ||
59 | -- > | ||
60 | -- > 0050 + ----- Segment group 1 ------------------ C 9-----------+ | ||
61 | -- > 0060 * RFF Reference M 1 | | ||
62 | -- > 0070 + DTM Date/time/period C 9-----------+ | ||
63 | -- > | ||
64 | -- > 0080 ----- Segment group 2 ------------------ C 9-----------+ | ||
65 | -- > 0090 LOC Place/location identification M 1 | | ||
66 | -- > 0100 DTM Date/time/period C 9-----------+ | ||
67 | -- > | ||
68 | -- > 0110 ----- Segment group 3 ------------------ C 9-----------+ | ||
69 | -- > 0120 EQD Equipment details M 1 | | ||
70 | -- > 0130 EQN Number of units C 9 | | ||
71 | -- > 0140 MEA Measurements C 9 | | ||
72 | -- > 0150 DIM Dimensions C 9 | | ||
73 | -- > 0160 FTX Free text C 9-----------+ | ||
74 | -- > | ||
75 | -- > 0170 ----- Segment group 4 ------------------ C 999---------+ | ||
76 | -- > 0180 TDT Details of transport M 1 | | ||
77 | -- > 0190 DTM Date/time/period C 9 | | ||
78 | -- > 0200 TSR Transport service requirements C 9 | | ||
79 | -- > 0210 FTX Free text C 9 | | ||
80 | -- > 0220 EQD Equipment details C 99 | | ||
81 | -- > 0230 QTY Quantity C 9 | | ||
82 | -- > 0240 MEA Measurements C 9 | | ||
83 | -- > | | ||
84 | -- > 0250 ----- Segment group 5 ------------------ C 99---------+| | ||
85 | -- > 0260 LOC Place/location identification M 1 || | ||
86 | -- > 0270 DTM Date/time/period C 9----------++ | ||
87 | -- > | ||
88 | -- > 0280 ----- Segment group 6 ------------------ C 9-----------+ | ||
89 | -- > 0290 NAD Name and address M 1 | | ||
90 | -- > 0300 LOC Place/location identification C 9 | | ||
91 | -- > | | ||
92 | -- > 0310 ----- Segment group 7 ------------------ C 9----------+| | ||
93 | -- > 0320 CTA Contact information M 1 || | ||
94 | -- > 0330 COM Communication contact C 9----------++ | ||
95 | -- > | ||
96 | -- > 0340 ----- Segment group 8 ------------------ C 9-----------+ | ||
97 | -- > 0350 GID Goods item details M 1 | | ||
98 | -- > 0360 HAN Handling instructions C 9 | | ||
99 | -- > 0370 FTX Free text C 9 | | ||
100 | -- > | | ||
101 | -- > 0380 ----- Segment group 9 ------------------ C 9----------+| | ||
102 | -- > 0390 GDS Nature of cargo M 1 || | ||
103 | -- > 0400 FTX Free text C 9----------+| | ||
104 | -- > | | ||
105 | -- > 0410 ----- Segment group 10 ------------------ C 9----------+| | ||
106 | -- > 0420 MEA Measurements M 1 || | ||
107 | -- > 0430 EQN Number of units C 9----------+| | ||
108 | -- > | | ||
109 | -- > 0440 ----- Segment group 11 ------------------ C 9----------+| | ||
110 | -- > 0450 DIM Dimensions M 1 || | ||
111 | -- > 0460 EQN Number of units C 9----------+| | ||
112 | -- > | | ||
113 | -- > 0470 ----- Segment group 12 ------------------ C 9----------+| | ||
114 | -- > 0480 DGS Dangerous goods M 1 || | ||
115 | -- > 0490 FTX Free text C 9----------++ | ||
116 | -- > 0500 UNT Message trailer M 1 | ||
117 | -- | ||
118 | -- Dependencies: 'segmentBGM', 'segmentCOM', 'segmentCTA', 'segmentDGS', 'segmentDIM', 'segmentDTM', 'segmentEQD', 'segmentEQN', 'segmentFTX', 'segmentGDS', 'segmentGID', 'segmentHAN', 'segmentLOC', 'segmentMEA', 'segmentNAD', 'segmentQTY', 'segmentRFF', 'segmentTDT', 'segmentTSR'. | ||
119 | messageIFTSAI :: Parser Value | ||
120 | messageIFTSAI = | ||
121 | message "IFTSAI" | ||
122 | [ "0010" .@ once segmentUNH | ||
123 | , "0020" .@ once segmentBGM | ||
124 | , "0030" .@ repeated 9 segmentDTM | ||
125 | , "0040" .@ repeated 99 segmentFTX | ||
126 | , "0050" .@ repeated 9 ( | ||
127 | segmentGroup "1" | ||
128 | [ "0060" .@ once segmentRFF | ||
129 | , "0070" .@ repeated 9 segmentDTM | ||
130 | ] | ||
131 | ) | ||
132 | , "0080" .@ repeated 9 ( | ||
133 | segmentGroup "2" | ||
134 | [ "0090" .@ once segmentLOC | ||
135 | , "0100" .@ repeated 9 segmentDTM | ||
136 | ] | ||
137 | ) | ||
138 | , "0110" .@ repeated 9 ( | ||
139 | segmentGroup "3" | ||
140 | [ "0120" .@ once segmentEQD | ||
141 | , "0130" .@ repeated 9 segmentEQN | ||
142 | , "0140" .@ repeated 9 segmentMEA | ||
143 | , "0150" .@ repeated 9 segmentDIM | ||
144 | , "0160" .@ repeated 9 segmentFTX | ||
145 | ] | ||
146 | ) | ||
147 | , "0170" .@ repeated 999 ( | ||
148 | segmentGroup "4" | ||
149 | [ "0180" .@ once segmentTDT | ||
150 | , "0190" .@ repeated 9 segmentDTM | ||
151 | , "0200" .@ repeated 9 segmentTSR | ||
152 | , "0210" .@ repeated 9 segmentFTX | ||
153 | , "0220" .@ repeated 99 segmentEQD | ||
154 | , "0230" .@ repeated 9 segmentQTY | ||
155 | , "0240" .@ repeated 9 segmentMEA | ||
156 | , "0250" .@ repeated 99 ( | ||
157 | segmentGroup "5" | ||
158 | [ "0260" .@ once segmentLOC | ||
159 | , "0270" .@ repeated 9 segmentDTM | ||
160 | ] | ||
161 | ) | ||
162 | ] | ||
163 | ) | ||
164 | , "0280" .@ repeated 9 ( | ||
165 | segmentGroup "6" | ||
166 | [ "0290" .@ once segmentNAD | ||
167 | , "0300" .@ repeated 9 segmentLOC | ||
168 | , "0310" .@ repeated 9 ( | ||
169 | segmentGroup "7" | ||
170 | [ "0320" .@ once segmentCTA | ||
171 | , "0330" .@ repeated 9 segmentCOM | ||
172 | ] | ||
173 | ) | ||
174 | ] | ||
175 | ) | ||
176 | , "0340" .@ repeated 9 ( | ||
177 | segmentGroup "8" | ||
178 | [ "0350" .@ once segmentGID | ||
179 | , "0360" .@ repeated 9 segmentHAN | ||
180 | , "0370" .@ repeated 9 segmentFTX | ||
181 | , "0380" .@ repeated 9 ( | ||
182 | segmentGroup "9" | ||
183 | [ "0390" .@ once segmentGDS | ||
184 | , "0400" .@ repeated 9 segmentFTX | ||
185 | ] | ||
186 | ) | ||
187 | , "0410" .@ repeated 9 ( | ||
188 | segmentGroup "10" | ||
189 | [ "0420" .@ once segmentMEA | ||
190 | , "0430" .@ repeated 9 segmentEQN | ||
191 | ] | ||
192 | ) | ||
193 | , "0440" .@ repeated 9 ( | ||
194 | segmentGroup "11" | ||
195 | [ "0450" .@ once segmentDIM | ||
196 | , "0460" .@ repeated 9 segmentEQN | ||
197 | ] | ||
198 | ) | ||
199 | , "0470" .@ repeated 9 ( | ||
200 | segmentGroup "12" | ||
201 | [ "0480" .@ once segmentDGS | ||
202 | , "0490" .@ repeated 9 segmentFTX | ||
203 | ] | ||
204 | ) | ||
205 | ] | ||
206 | ) | ||
207 | , "0500" .@ once segmentUNT | ||
208 | ] | ||
diff --git a/specification/src/Text/Edifact/D96A/Messages/IFTSTA.hs b/specification/src/Text/Edifact/D96A/Messages/IFTSTA.hs new file mode 100644 index 0000000..6bf19a1 --- /dev/null +++ b/specification/src/Text/Edifact/D96A/Messages/IFTSTA.hs | |||
@@ -0,0 +1,223 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | ---- Machine generated code. | ||
4 | ---- Output of edi-parser-scaffolder | ||
5 | |||
6 | module Text.Edifact.D96A.Messages.IFTSTA | ||
7 | ( -- * Definition | ||
8 | messageIFTSTA | ||
9 | -- * Dependencies | ||
10 | , segmentBGM | ||
11 | , segmentCNI | ||
12 | , segmentCNT | ||
13 | , segmentCOM | ||
14 | , segmentCTA | ||
15 | , segmentDIM | ||
16 | , segmentDOC | ||
17 | , segmentDTM | ||
18 | , segmentEQA | ||
19 | , segmentEQD | ||
20 | , segmentEQN | ||
21 | , segmentFTX | ||
22 | , segmentGID | ||
23 | , segmentGIN | ||
24 | , segmentHAN | ||
25 | , segmentLOC | ||
26 | , segmentMEA | ||
27 | , segmentNAD | ||
28 | , segmentPCI | ||
29 | , segmentRFF | ||
30 | , segmentSEL | ||
31 | , segmentSTS | ||
32 | , segmentTDT | ||
33 | , segmentTSR | ||
34 | ) where | ||
35 | |||
36 | import Text.Edifact.Common.Segments | ||
37 | |||
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) | ||
50 | |||
51 | import Text.Edifact.Parsing | ||
52 | import Text.Edifact.Types (Value) | ||
53 | |||
54 | -- | Derived from this specification: | ||
55 | -- | ||
56 | -- > 4.3 Message structure | ||
57 | -- > | ||
58 | -- > 4.3.1 Segment table | ||
59 | -- > | ||
60 | -- > Pos Tag Name S R | ||
61 | -- > | ||
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 | ||
66 | -- > | ||
67 | -- > 0050 ----- Segment group 1 ------------------ C 9-----------+ | ||
68 | -- > 0060 NAD Name and address M 1 | | ||
69 | -- > | | ||
70 | -- > 0070 ----- Segment group 2 ------------------ C 9----------+| | ||
71 | -- > 0080 CTA Contact information M 1 || | ||
72 | -- > 0090 COM Communication contact C 9----------++ | ||
73 | -- > | ||
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 | ||
80 | -- > | ||
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 | | ||
85 | -- > | | ||
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 || | ||
95 | -- > || | ||
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---------+|| | ||
101 | -- > || | ||
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 ||| | ||
107 | -- > ||| | ||
108 | -- > 0390 ----- Segment group 8 ------------------ C 99-------+||| | ||
109 | -- > 0400 EQA Attached equipment M 1 |||| | ||
110 | -- > 0410 SEL Seal number C 9--------++|| | ||
111 | -- > || | ||
112 | -- > 0420 * ----- Segment group 9 ------------------ C 99--------+|| | ||
113 | -- > 0430 GID Goods item details M 1 ||| | ||
114 | -- > 0440 HAN Handling instructions C 9 ||| | ||
115 | -- > ||| | ||
116 | -- > 0450 ----- Segment group 10 ------------------ C 99-------+||| | ||
117 | -- > 0460 MEA Measurements M 1 |||| | ||
118 | -- > 0470 EQN Number of units C 1--------+||| | ||
119 | -- > ||| | ||
120 | -- > 0480 ----- Segment group 11 ------------------ C 99-------+||| | ||
121 | -- > 0490 DIM Dimensions M 1 |||| | ||
122 | -- > 0500 EQN Number of units C 1--------+||| | ||
123 | -- > ||| | ||
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 | ||
128 | -- | ||
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 | ||
131 | messageIFTSTA = | ||
132 | message "IFTSTA" | ||
133 | [ "0010" .@ once segmentUNH | ||
134 | , "0020" .@ once segmentBGM | ||
135 | , "0030" .@ repeated 9 segmentDTM | ||
136 | , "0040" .@ maybeOnce segmentTSR | ||
137 | , "0050" .@ repeated 9 ( | ||
138 | segmentGroup "1" | ||
139 | [ "0060" .@ once segmentNAD | ||
140 | , "0070" .@ repeated 9 ( | ||
141 | segmentGroup "2" | ||
142 | [ "0080" .@ once segmentCTA | ||
143 | , "0090" .@ repeated 9 segmentCOM | ||
144 | ] | ||
145 | ) | ||
146 | ] | ||
147 | ) | ||
148 | , "0100" .@ repeated 9 ( | ||
149 | segmentGroup "3" | ||
150 | [ "0110" .@ once segmentRFF | ||
151 | , "0120" .@ maybeOnce segmentDTM | ||
152 | ] | ||
153 | ) | ||
154 | , "0130" .@ repeated 9 segmentLOC | ||
155 | , "0140" .@ repeated 9 segmentFTX | ||
156 | , "0150" .@ repeated 9 segmentCNT | ||
157 | , "0160" .@ repeated 999 ( | ||
158 | segmentGroup "4" | ||
159 | [ "0170" .@ once segmentCNI | ||
160 | , "0180" .@ repeated 9 segmentLOC | ||
161 | , "0190" .@ repeated 9 segmentCNT | ||
162 | , "0200" .@ repeatedAtLeastOnce 99 ( | ||
163 | segmentGroup "5" | ||
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 ( | ||
173 | segmentGroup "6" | ||
174 | [ "0300" .@ once segmentTDT | ||
175 | , "0310" .@ repeated 9 segmentRFF | ||
176 | , "0320" .@ repeated 9 segmentLOC | ||
177 | , "0330" .@ repeated 9 segmentDTM | ||
178 | ] | ||
179 | ) | ||
180 | , "0340" .@ repeated 99 ( | ||
181 | segmentGroup "7" | ||
182 | [ "0350" .@ once segmentEQD | ||
183 | , "0360" .@ repeated 9 segmentMEA | ||
184 | , "0370" .@ repeated 9 segmentDIM | ||
185 | , "0380" .@ repeated 9 segmentSEL | ||
186 | , "0390" .@ repeated 99 ( | ||
187 | segmentGroup "8" | ||
188 | [ "0400" .@ once segmentEQA | ||
189 | , "0410" .@ repeated 9 segmentSEL | ||
190 | ] | ||
191 | ) | ||
192 | ] | ||
193 | ) | ||
194 | , "0420" .@ repeated 99 ( | ||
195 | segmentGroup "9" | ||
196 | [ "0430" .@ once segmentGID | ||
197 | , "0440" .@ repeated 9 segmentHAN | ||
198 | , "0450" .@ repeated 99 ( | ||
199 | segmentGroup "10" | ||
200 | [ "0460" .@ once segmentMEA | ||
201 | , "0470" .@ maybeOnce segmentEQN | ||
202 | ] | ||
203 | ) | ||
204 | , "0480" .@ repeated 99 ( | ||
205 | segmentGroup "11" | ||
206 | [ "0490" .@ once segmentDIM | ||
207 | , "0500" .@ maybeOnce segmentEQN | ||
208 | ] | ||
209 | ) | ||
210 | , "0510" .@ repeated 99 ( | ||
211 | segmentGroup "12" | ||
212 | [ "0520" .@ once segmentPCI | ||
213 | , "0530" .@ repeated 9 segmentGIN | ||
214 | ] | ||
215 | ) | ||
216 | ] | ||
217 | ) | ||
218 | ] | ||
219 | ) | ||
220 | ] | ||
221 | ) | ||
222 | , "0540" .@ once segmentUNT | ||
223 | ] | ||