]>
Commit | Line | Data |
---|---|---|
a9d77a20 FM |
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 | ] |