diff options
Diffstat (limited to 'specification/src/Text/Edifact/D96A/Messages/DESADV.hs')
-rw-r--r-- | specification/src/Text/Edifact/D96A/Messages/DESADV.hs | 376 |
1 files changed, 376 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 | ] | ||