]> git.immae.eu Git - github/fretlink/edi-parser.git/blob - specification/src/Text/Edifact/D96A/Messages/DESADV.hs
Release code as open source
[github/fretlink/edi-parser.git] / specification / src / Text / Edifact / D96A / Messages / DESADV.hs
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 ]