diff options
Diffstat (limited to 'core/src/Text/Edifact/Common')
-rw-r--r-- | core/src/Text/Edifact/Common/Composites.hs | 135 | ||||
-rw-r--r-- | core/src/Text/Edifact/Common/Segments.hs | 10 | ||||
-rw-r--r-- | core/src/Text/Edifact/Common/Segments/UNA.hs | 34 | ||||
-rw-r--r-- | core/src/Text/Edifact/Common/Segments/UNB.hs | 63 | ||||
-rw-r--r-- | core/src/Text/Edifact/Common/Segments/UNH.hs | 44 | ||||
-rw-r--r-- | core/src/Text/Edifact/Common/Segments/UNS.hs | 27 | ||||
-rw-r--r-- | core/src/Text/Edifact/Common/Segments/UNT.hs | 30 | ||||
-rw-r--r-- | core/src/Text/Edifact/Common/Segments/UNZ.hs | 24 | ||||
-rw-r--r-- | core/src/Text/Edifact/Common/Simples.hs | 271 |
9 files changed, 638 insertions, 0 deletions
diff --git a/core/src/Text/Edifact/Common/Composites.hs b/core/src/Text/Edifact/Common/Composites.hs new file mode 100644 index 0000000..39f61e7 --- /dev/null +++ b/core/src/Text/Edifact/Common/Composites.hs | |||
@@ -0,0 +1,135 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | module Text.Edifact.Common.Composites | ||
4 | ( compositeS001 | ||
5 | , compositeS002 | ||
6 | , compositeS003 | ||
7 | , compositeS004 | ||
8 | , compositeS005 | ||
9 | , compositeS009 | ||
10 | , compositeS010 | ||
11 | ) where | ||
12 | |||
13 | import Text.Edifact.Common.Simples (simple0001, simple0002, | ||
14 | simple0004, simple0007, | ||
15 | simple0008, simple0010, | ||
16 | simple0014, simple0017, | ||
17 | simple0019, simple0022, | ||
18 | simple0025, simple0042, | ||
19 | simple0046, simple0051, | ||
20 | simple0052, simple0054, | ||
21 | simple0057, simple0065, | ||
22 | simple0070, simple0073, | ||
23 | simple0080, simple0133) | ||
24 | |||
25 | import Text.Edifact.Parsing | ||
26 | import Text.Edifact.Types (Value) | ||
27 | |||
28 | -- | Derived from this specification: | ||
29 | -- | ||
30 | -- > 010 0001 Syntax identifier M a4 | ||
31 | -- > 020 0002 Syntax version number M an1 | ||
32 | -- > 030 0080 Service code list directory version number C an..6 | ||
33 | -- > 040 0133 Character encoding, coded C an..3 | ||
34 | -- | ||
35 | -- Dependencies: 'simple0001', 'simple0002', 'simple0080', 'simple0133'. | ||
36 | compositeS001 :: Parser Value | ||
37 | compositeS001 = | ||
38 | composite "S001" | ||
39 | [ "010" .@ mandatory simple0001 | ||
40 | , "020" .@ mandatory simple0002 | ||
41 | , "030" .@ optional simple0080 | ||
42 | , "040" .@ optional simple0133 | ||
43 | ] | ||
44 | |||
45 | -- | Derived from this specification: | ||
46 | -- | ||
47 | -- > 010 0004 Interchange sender identification M an..35 | ||
48 | -- > 020 0007 Identification code qualifier C an..4 | ||
49 | -- > 030 0008 Interchange sender internal identification C an..35 | ||
50 | -- > 040 0042 Interchange sender internal sub-identification C an..35 | ||
51 | -- | ||
52 | -- Dependencies: 'simple0004', 'simple0007', 'simple0008', 'simple0042'. | ||
53 | compositeS002 :: Parser Value | ||
54 | compositeS002 = | ||
55 | composite "S002" | ||
56 | [ "010" .@ mandatory simple0004 | ||
57 | , "020" .@ optional simple0007 | ||
58 | , "030" .@ optional simple0008 | ||
59 | , "040" .@ optional simple0042 | ||
60 | ] | ||
61 | |||
62 | -- | Derived from this specification: | ||
63 | -- | ||
64 | -- > 010 0010 Interchange recipient identification M an..35 | ||
65 | -- > 020 0007 Identification code qualifier C an..4 | ||
66 | -- > 030 0014 Interchange recipient internal identification C an..35 | ||
67 | -- > 040 0046 Interchange recipient internal sub-identification C an..35 | ||
68 | -- | ||
69 | -- Dependencies: 'simple0007', 'simple0010', 'simple0014', 'simple0046'. | ||
70 | compositeS003 :: Parser Value | ||
71 | compositeS003 = | ||
72 | composite "S003" | ||
73 | [ "010" .@ mandatory simple0010 | ||
74 | , "020" .@ optional simple0007 | ||
75 | , "030" .@ optional simple0014 | ||
76 | , "040" .@ optional simple0046 | ||
77 | ] | ||
78 | |||
79 | -- | Derived from this specification: | ||
80 | -- | ||
81 | -- > 010 0017 Date M n6 | ||
82 | -- > 020 0019 Time M n4 | ||
83 | -- | ||
84 | -- Dependencies: 'simple0017', 'simple0019'. | ||
85 | compositeS004 :: Parser Value | ||
86 | compositeS004 = | ||
87 | composite "S004" | ||
88 | [ "010" .@ mandatory simple0017 | ||
89 | , "020" .@ mandatory simple0019 | ||
90 | ] | ||
91 | |||
92 | -- | Derived from this specification: | ||
93 | -- | ||
94 | -- > 010 0022 Recipient reference/password M an..14 | ||
95 | -- > 020 0025 Recipient reference/password qualifier C an2 | ||
96 | -- | ||
97 | -- Dependencies: 'simple0022', 'simple0025'. | ||
98 | compositeS005 :: Parser Value | ||
99 | compositeS005 = | ||
100 | composite "S005" | ||
101 | [ "010" .@ mandatory simple0022 | ||
102 | , "020" .@ optional simple0025 | ||
103 | ] | ||
104 | |||
105 | -- | Derived from this specification: | ||
106 | -- | ||
107 | -- > 010 0065 Message type M an..6 | ||
108 | -- > 020 0052 Message version number M an..3 | ||
109 | -- > 030 0054 Message release number M an..3 | ||
110 | -- > 040 0051 Controlling agency M an..2 | ||
111 | -- > 050 0057 Association assigned code C an..6 | ||
112 | -- | ||
113 | -- Dependencies: 'simple0051', 'simple0052', 'simple0054', 'simple0057', 'simple0065'. | ||
114 | compositeS009 :: Parser Value | ||
115 | compositeS009 = | ||
116 | composite "S009" | ||
117 | [ "010" .@ mandatory simple0065 | ||
118 | , "020" .@ mandatory simple0052 | ||
119 | , "030" .@ mandatory simple0054 | ||
120 | , "040" .@ mandatory simple0051 | ||
121 | , "050" .@ optional simple0057 | ||
122 | ] | ||
123 | |||
124 | -- | Derived from this specification: | ||
125 | -- | ||
126 | -- > 010 0070 Sequence of transfers M n..2 | ||
127 | -- > 020 0073 First and last transfer C a1 | ||
128 | -- | ||
129 | -- Dependencies: 'simple0070', 'simple0073'. | ||
130 | compositeS010 :: Parser Value | ||
131 | compositeS010 = | ||
132 | composite "S010" | ||
133 | [ "010" .@ mandatory simple0070 | ||
134 | , "020" .@ optional simple0073 | ||
135 | ] | ||
diff --git a/core/src/Text/Edifact/Common/Segments.hs b/core/src/Text/Edifact/Common/Segments.hs new file mode 100644 index 0000000..e73719f --- /dev/null +++ b/core/src/Text/Edifact/Common/Segments.hs | |||
@@ -0,0 +1,10 @@ | |||
1 | module Text.Edifact.Common.Segments | ||
2 | ( module S | ||
3 | ) where | ||
4 | |||
5 | import Text.Edifact.Common.Segments.UNA as S | ||
6 | import Text.Edifact.Common.Segments.UNB as S | ||
7 | import Text.Edifact.Common.Segments.UNH as S | ||
8 | import Text.Edifact.Common.Segments.UNS as S | ||
9 | import Text.Edifact.Common.Segments.UNT as S | ||
10 | import Text.Edifact.Common.Segments.UNZ as S | ||
diff --git a/core/src/Text/Edifact/Common/Segments/UNA.hs b/core/src/Text/Edifact/Common/Segments/UNA.hs new file mode 100644 index 0000000..1b20a9f --- /dev/null +++ b/core/src/Text/Edifact/Common/Segments/UNA.hs | |||
@@ -0,0 +1,34 @@ | |||
1 | module Text.Edifact.Common.Segments.UNA | ||
2 | ( segmentUNA | ||
3 | ) where | ||
4 | |||
5 | import Text.Edifact.Parsing | ||
6 | import Text.Edifact.Parsing.Commons (updateSyntax) | ||
7 | import Text.Edifact.Types (Syntax (..), defaultSyntax) | ||
8 | |||
9 | import Control.Monad (void) | ||
10 | import Text.Parsec (anyChar, char, endOfLine, | ||
11 | optionMaybe, string, try) | ||
12 | import qualified Text.Parsec as P (optional) | ||
13 | |||
14 | segmentUNA :: Parser () | ||
15 | segmentUNA = | ||
16 | let segmentParser = string "UNA" *> parseSyntax <* P.optional endOfLine | ||
17 | nothing = pure () | ||
18 | in optionMaybe (try segmentParser) >>= maybe nothing updateSyntax | ||
19 | |||
20 | parseSyntax :: Parser Syntax | ||
21 | parseSyntax = do | ||
22 | compositeSeparator' <- anyChar | ||
23 | elementSeparator' <- anyChar | ||
24 | decimalSign' <- anyChar | ||
25 | escape' <- anyChar | ||
26 | void $ char ' ' -- reserved, not used | ||
27 | segmentSeparator' <- anyChar | ||
28 | pure defaultSyntax | ||
29 | { compositeSeparator = compositeSeparator' | ||
30 | , elementSeparator = elementSeparator' | ||
31 | , decimalSign = decimalSign' | ||
32 | , escape = escape' | ||
33 | , segmentSeparator = segmentSeparator' | ||
34 | } | ||
diff --git a/core/src/Text/Edifact/Common/Segments/UNB.hs b/core/src/Text/Edifact/Common/Segments/UNB.hs new file mode 100644 index 0000000..55f1eea --- /dev/null +++ b/core/src/Text/Edifact/Common/Segments/UNB.hs | |||
@@ -0,0 +1,63 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | module Text.Edifact.Common.Segments.UNB | ||
4 | ( segmentUNB | ||
5 | ) where | ||
6 | |||
7 | import Text.Edifact.Common.Composites (compositeS001, compositeS002, | ||
8 | compositeS003, compositeS004, | ||
9 | compositeS005) | ||
10 | import Text.Edifact.Common.Simples (simple0020, simple0026, | ||
11 | simple0029, simple0031, | ||
12 | simple0032, simple0035) | ||
13 | |||
14 | import Text.Edifact.Parsing | ||
15 | import Text.Edifact.Types (Value) | ||
16 | |||
17 | -- | Derived from this specification: | ||
18 | -- | ||
19 | -- > Pos Segment M/C Repeat Repr. Notes | ||
20 | -- > 010 S001 SYNTAX IDENTIFIER M 1 | ||
21 | -- > 0001 Syntax identifier M a4 | ||
22 | -- > 0002 Syntax version number M an1 | ||
23 | -- > 0080 Service code list directory version number C an..6 | ||
24 | -- > 0133 Character encoding, coded C an..3 | ||
25 | -- > 020 S002 INTERCHANGE SENDER M 1 | ||
26 | -- > 0004 Interchange sender identification M an..35 | ||
27 | -- > 0007 Identification code qualifier C an..4 | ||
28 | -- > 0008 Interchange sender internal identification C an..35 | ||
29 | -- > 0042 Interchange sender internal sub-identification C an..35 | ||
30 | -- > 030 S003 INTERCHANGE RECIPIENT M 1 | ||
31 | -- > 0010 Interchange recipient identification M an..35 | ||
32 | -- > 0007 Identification code qualifier C an..4 | ||
33 | -- > 0014 Interchange recipient internal identification C an..35 | ||
34 | -- > 0046 Interchange recipient internal sub-identification C an..35 | ||
35 | -- > 040 S004 DATE AND TIME OF PREPARATION M 1 | ||
36 | -- > 0017 Date M n8 | ||
37 | -- > 0019 Time M n4 | ||
38 | -- > 050 0020 Interchange control reference M 1 an..14 | ||
39 | -- > 060 S005 RECIPIENT'S REFERENCE/PASSWORD DETAILS C 1 | ||
40 | -- > 0022 Recipient reference/password M an..14 | ||
41 | -- > 0025 Recipient reference/password qualifier C an2 | ||
42 | -- > 070 0026 Application reference C 1 an..14 | ||
43 | -- > 080 0029 Processing priority code C 1 a1 | ||
44 | -- > 090 0031 Acknowledgement request C 1 n1 | ||
45 | -- > 100 0032 Interchange agreement identifier C 1 an..35 | ||
46 | -- > 110 0035 Test indicator C 1 n1 | ||
47 | -- | ||
48 | -- Dependencies: 'compositeS001', 'compositeS002', 'compositeS003', 'compositeS004', 'compositeS005', 'simple0020', 'simple0026', 'simple0029', 'simple0031', 'simple0032', 'simple0035'. | ||
49 | segmentUNB :: Parser Value | ||
50 | segmentUNB = | ||
51 | segment "UNB" | ||
52 | [ "010" .@ mandatory compositeS001 | ||
53 | , "020" .@ mandatory compositeS002 | ||
54 | , "030" .@ mandatory compositeS003 | ||
55 | , "040" .@ mandatory compositeS004 | ||
56 | , "050" .@ mandatory simple0020 | ||
57 | , "060" .@ optional compositeS005 | ||
58 | , "070" .@ optional simple0026 | ||
59 | , "080" .@ optional simple0029 | ||
60 | , "090" .@ optional simple0031 | ||
61 | , "100" .@ optional simple0032 | ||
62 | , "110" .@ optional simple0035 | ||
63 | ] | ||
diff --git a/core/src/Text/Edifact/Common/Segments/UNH.hs b/core/src/Text/Edifact/Common/Segments/UNH.hs new file mode 100644 index 0000000..61cb6b3 --- /dev/null +++ b/core/src/Text/Edifact/Common/Segments/UNH.hs | |||
@@ -0,0 +1,44 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | module Text.Edifact.Common.Segments.UNH | ||
4 | ( segmentUNH | ||
5 | ) where | ||
6 | |||
7 | import Text.Edifact.Common.Composites (compositeS009, compositeS010) | ||
8 | import Text.Edifact.Common.Simples (simple0062, simple0068) | ||
9 | |||
10 | import Text.Edifact.Parsing | ||
11 | import Text.Edifact.Types (Value) | ||
12 | |||
13 | -- | Derived from this specification: | ||
14 | -- | ||
15 | -- > Change indicators | ||
16 | -- > | ||
17 | -- > UNH MESSAGE HEADER | ||
18 | -- > | ||
19 | -- > Function: To head, identify and specify a message. | ||
20 | -- > | ||
21 | -- > 010 0062 MESSAGE REFERENCE NUMBER M an..14 | ||
22 | -- > | ||
23 | -- > 020 S009 MESSAGE IDENTIFIER M | ||
24 | -- > 0065 Message type M an..6 | ||
25 | -- > 0052 Message version number M an..3 | ||
26 | -- > 0054 Message release number M an..3 | ||
27 | -- > 0051 Controlling agency M an..2 | ||
28 | -- > 0057 Association assigned code C an..6 | ||
29 | -- > | ||
30 | -- > 030 0068 COMMON ACCESS REFERENCE C an..35 | ||
31 | -- > | ||
32 | -- > 040 S010 STATUS OF THE TRANSFER C | ||
33 | -- > 0070 Sequence of transfers M n..2 | ||
34 | -- > 0073 First and last transfer C a1 | ||
35 | -- | ||
36 | -- Dependencies: 'compositeS009', 'compositeS010', 'simple0062', 'simple0068'. | ||
37 | segmentUNH :: Parser Value | ||
38 | segmentUNH = | ||
39 | segment "UNH" | ||
40 | [ "010" .@ mandatory simple0062 | ||
41 | , "020" .@ mandatory compositeS009 | ||
42 | , "030" .@ optional simple0068 | ||
43 | , "040" .@ optional compositeS010 | ||
44 | ] | ||
diff --git a/core/src/Text/Edifact/Common/Segments/UNS.hs b/core/src/Text/Edifact/Common/Segments/UNS.hs new file mode 100644 index 0000000..3d9b395 --- /dev/null +++ b/core/src/Text/Edifact/Common/Segments/UNS.hs | |||
@@ -0,0 +1,27 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | module Text.Edifact.Common.Segments.UNS | ||
4 | ( segmentUNS | ||
5 | ) where | ||
6 | |||
7 | import Text.Edifact.Common.Simples (simple0081) | ||
8 | |||
9 | import Text.Edifact.Parsing | ||
10 | import Text.Edifact.Types (Value) | ||
11 | |||
12 | -- | Derived from this specification: | ||
13 | -- | ||
14 | -- > Change indicators | ||
15 | -- > | ||
16 | -- > UNS SECTION CONTROL | ||
17 | -- > | ||
18 | -- > Function: To separate Header, Detail and Summary sections of a message | ||
19 | -- > | ||
20 | -- > 010 0081 SECTION IDENTIFICATION M a1 | ||
21 | -- | ||
22 | -- Dependencies: 'simple0081'. | ||
23 | segmentUNS :: Parser Value | ||
24 | segmentUNS = | ||
25 | segment "UNS" | ||
26 | [ "010" .@ mandatory simple0081 | ||
27 | ] | ||
diff --git a/core/src/Text/Edifact/Common/Segments/UNT.hs b/core/src/Text/Edifact/Common/Segments/UNT.hs new file mode 100644 index 0000000..e91f9cf --- /dev/null +++ b/core/src/Text/Edifact/Common/Segments/UNT.hs | |||
@@ -0,0 +1,30 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | module Text.Edifact.Common.Segments.UNT | ||
4 | ( segmentUNT | ||
5 | ) where | ||
6 | |||
7 | import Text.Edifact.Common.Simples (simple0062, simple0074) | ||
8 | |||
9 | import Text.Edifact.Parsing | ||
10 | import Text.Edifact.Types (Value) | ||
11 | |||
12 | -- | Derived from this specification: | ||
13 | -- | ||
14 | -- > Change indicators | ||
15 | -- > | ||
16 | -- > UNT MESSAGE TRAILER | ||
17 | -- > | ||
18 | -- > Function: To end and check the completeness of a message. | ||
19 | -- > | ||
20 | -- > 010 0074 NUMBER OF SEGMENTS IN THE MESSAGE M n..6 | ||
21 | -- > | ||
22 | -- > 020 0062 MESSAGE REFERENCE NUMBER M an..14 | ||
23 | -- | ||
24 | -- Dependencies: 'simple0062', 'simple0074'. | ||
25 | segmentUNT :: Parser Value | ||
26 | segmentUNT = | ||
27 | segment "UNT" | ||
28 | [ "010" .@ mandatory simple0074 | ||
29 | , "020" .@ mandatory simple0062 | ||
30 | ] | ||
diff --git a/core/src/Text/Edifact/Common/Segments/UNZ.hs b/core/src/Text/Edifact/Common/Segments/UNZ.hs new file mode 100644 index 0000000..0566860 --- /dev/null +++ b/core/src/Text/Edifact/Common/Segments/UNZ.hs | |||
@@ -0,0 +1,24 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | module Text.Edifact.Common.Segments.UNZ | ||
4 | ( segmentUNZ | ||
5 | ) where | ||
6 | |||
7 | import Text.Edifact.Common.Simples (simple0020, simple0036) | ||
8 | |||
9 | import Text.Edifact.Parsing | ||
10 | import Text.Edifact.Types (Value) | ||
11 | |||
12 | -- | Derived from this specification: | ||
13 | -- | ||
14 | -- > Pos Segment M/C Repeat Repr. Notes | ||
15 | -- > 010 0036 Interchange control count M 1 n..6 | ||
16 | -- > 020 0020 Interchange control reference M 1 an..14 | ||
17 | -- | ||
18 | -- Dependencies: 'simple0020', 'simple0036'. | ||
19 | segmentUNZ :: Parser Value | ||
20 | segmentUNZ = | ||
21 | segment "UNZ" | ||
22 | [ "010" .@ mandatory simple0036 | ||
23 | , "030" .@ mandatory simple0020 | ||
24 | ] | ||
diff --git a/core/src/Text/Edifact/Common/Simples.hs b/core/src/Text/Edifact/Common/Simples.hs new file mode 100644 index 0000000..537b128 --- /dev/null +++ b/core/src/Text/Edifact/Common/Simples.hs | |||
@@ -0,0 +1,271 @@ | |||
1 | {-# LANGUAGE OverloadedStrings #-} | ||
2 | |||
3 | module Text.Edifact.Common.Simples | ||
4 | ( simple0001 | ||
5 | , simple0002 | ||
6 | , simple0004 | ||
7 | , simple0007 | ||
8 | , simple0008 | ||
9 | , simple0010 | ||
10 | , simple0014 | ||
11 | , simple0017 | ||
12 | , simple0019 | ||
13 | , simple0020 | ||
14 | , simple0022 | ||
15 | , simple0025 | ||
16 | , simple0026 | ||
17 | , simple0029 | ||
18 | , simple0031 | ||
19 | , simple0032 | ||
20 | , simple0035 | ||
21 | , simple0036 | ||
22 | , simple0042 | ||
23 | , simple0046 | ||
24 | , simple0051 | ||
25 | , simple0052 | ||
26 | , simple0054 | ||
27 | , simple0057 | ||
28 | , simple0062 | ||
29 | , simple0065 | ||
30 | , simple0068 | ||
31 | , simple0070 | ||
32 | , simple0073 | ||
33 | , simple0074 | ||
34 | , simple0080 | ||
35 | , simple0081 | ||
36 | , simple0133 | ||
37 | ) where | ||
38 | |||
39 | import Text.Edifact.Parsing | ||
40 | import Text.Edifact.Types (Value) | ||
41 | |||
42 | -- | Derived from this specification: | ||
43 | -- | ||
44 | -- > 0001 Syntax identifier | ||
45 | -- > Repr: a4 | ||
46 | simple0001 :: Parser Value | ||
47 | simple0001 = simple "0001" (alpha `exactly` 4) | ||
48 | |||
49 | -- | Derived from this specification: | ||
50 | -- | ||
51 | -- > 0002 Syntax version number | ||
52 | -- > Repr: an1 | ||
53 | simple0002 :: Parser Value | ||
54 | simple0002 = simple "0002" (alphaNumeric `exactly` 1) | ||
55 | |||
56 | -- | Derived from this specification: | ||
57 | -- | ||
58 | -- > 0004 Interchange sender identification | ||
59 | -- > Repr: an..35 | ||
60 | simple0004 :: Parser Value | ||
61 | simple0004 = simple "0004" (alphaNumeric `upTo` 35) | ||
62 | |||
63 | -- | Derived from this specification: | ||
64 | -- | ||
65 | -- > 0007 Identification code qualifier | ||
66 | -- > Repr: an..4 | ||
67 | simple0007 :: Parser Value | ||
68 | simple0007 = simple "0007" (alphaNumeric `upTo` 4) | ||
69 | |||
70 | -- | Derived from this specification: | ||
71 | -- | ||
72 | -- > 0008 Interchange sender internal identification | ||
73 | -- > Repr: an..35 | ||
74 | simple0008 :: Parser Value | ||
75 | simple0008 = simple "0008" (alphaNumeric `upTo` 35) | ||
76 | |||
77 | -- | Derived from this specification: | ||
78 | -- | ||
79 | -- > 0010 Interchange recipient identification | ||
80 | -- > Repr: an..35 | ||
81 | simple0010 :: Parser Value | ||
82 | simple0010 = simple "0010" (alphaNumeric `upTo` 35) | ||
83 | |||
84 | -- | Derived from this specification: | ||
85 | -- | ||
86 | -- > 0014 Interchange recipient internal identification | ||
87 | -- > Repr: an..35 | ||
88 | simple0014 :: Parser Value | ||
89 | simple0014 = simple "0014" (alphaNumeric `upTo` 35) | ||
90 | |||
91 | -- | Derived from this specification: | ||
92 | -- | ||
93 | -- > 0017 Date | ||
94 | -- > Repr: n6 | ||
95 | simple0017 :: Parser Value | ||
96 | simple0017 = simple "0017" (numeric `exactly` 6) | ||
97 | |||
98 | -- | Derived from this specification: | ||
99 | -- | ||
100 | -- > 0019 Time | ||
101 | -- > Repr: n4 | ||
102 | simple0019 :: Parser Value | ||
103 | simple0019 = simple "0019" (numeric `exactly` 4) | ||
104 | |||
105 | -- | Derived from this specification: | ||
106 | -- | ||
107 | -- > 0020 Interchange control reference | ||
108 | -- > Repr: an..14 | ||
109 | simple0020 :: Parser Value | ||
110 | simple0020 = simple "0020" (alphaNumeric `upTo` 14) | ||
111 | |||
112 | -- | Derived from this specification: | ||
113 | -- | ||
114 | -- > 0022 Recipient reference/password | ||
115 | -- > Repr: an..14 | ||
116 | simple0022 :: Parser Value | ||
117 | simple0022 = simple "0022" (alphaNumeric `upTo` 14) | ||
118 | |||
119 | -- | Derived from this specification: | ||
120 | -- | ||
121 | -- > 0025 Recipient reference/password qualifier | ||
122 | -- > Repr: an2 | ||
123 | simple0025 :: Parser Value | ||
124 | simple0025 = simple "0025" (alphaNumeric `exactly` 2) | ||
125 | |||
126 | -- | Derived from this specification: | ||
127 | -- | ||
128 | -- > 0026 Application reference | ||
129 | -- > Repr: an..14 | ||
130 | simple0026 :: Parser Value | ||
131 | simple0026 = simple "0026" (alphaNumeric `upTo` 14) | ||
132 | |||
133 | -- | Derived from this specification: | ||
134 | -- | ||
135 | -- > 0029 Processing priority code | ||
136 | -- > Repr: a1 | ||
137 | simple0029 :: Parser Value | ||
138 | simple0029 = simple "0029" (alphaNumeric `exactly` 1) | ||
139 | |||
140 | -- | Derived from this specification: | ||
141 | -- | ||
142 | -- > 0031 Acknowledgement request | ||
143 | -- > Repr: n1 | ||
144 | simple0031 :: Parser Value | ||
145 | simple0031 = simple "0031" (numeric `exactly` 1) | ||
146 | |||
147 | -- | Derived from this specification: | ||
148 | -- | ||
149 | -- > 0032 Interchange agreement identifier | ||
150 | -- > Repr: an..35 | ||
151 | simple0032 :: Parser Value | ||
152 | simple0032 = simple "0032" (alphaNumeric `upTo` 35) | ||
153 | |||
154 | -- | Derived from this specification: | ||
155 | -- | ||
156 | -- > 0035 Test indicator | ||
157 | -- > Repr: n1 | ||
158 | simple0035 :: Parser Value | ||
159 | simple0035 = simple "0035" (numeric `exactly` 1) | ||
160 | |||
161 | -- | Derived from this specification: | ||
162 | -- | ||
163 | -- > 0036 Interchange control count | ||
164 | -- > Repr: n..6 | ||
165 | simple0036 :: Parser Value | ||
166 | simple0036 = simple "0036" (numeric `upTo` 6) | ||
167 | |||
168 | -- | Derived from this specification: | ||
169 | -- | ||
170 | -- > 0042 Interchange sender internal sub-identification | ||
171 | -- > Repr: an..35 | ||
172 | simple0042 :: Parser Value | ||
173 | simple0042 = simple "0042" (alphaNumeric `upTo` 35) | ||
174 | |||
175 | -- | Derived from this specification: | ||
176 | -- | ||
177 | -- > 0046 Interchange recipient internal sub-identification | ||
178 | -- > Repr: an..35 | ||
179 | simple0046 :: Parser Value | ||
180 | simple0046 = simple "0046" (alphaNumeric `upTo` 35) | ||
181 | |||
182 | -- | Derived from this specification: | ||
183 | -- | ||
184 | -- > 0051 Controlling agency | ||
185 | -- > Repr: an..2 | ||
186 | simple0051 :: Parser Value | ||
187 | simple0051 = simple "0051" (alphaNumeric `upTo` 2) | ||
188 | |||
189 | -- | Derived from this specification: | ||
190 | -- | ||
191 | -- > 0052 Message version number | ||
192 | -- > Repr: an..3 | ||
193 | simple0052 :: Parser Value | ||
194 | simple0052 = simple "0052" (alphaNumeric `upTo` 3) | ||
195 | |||
196 | -- | Derived from this specification: | ||
197 | -- | ||
198 | -- > 0054 Message release number | ||
199 | -- > Repr: an..3 | ||
200 | simple0054 :: Parser Value | ||
201 | simple0054 = simple "0054" (alphaNumeric `upTo` 3) | ||
202 | |||
203 | -- | Derived from this specification: | ||
204 | -- | ||
205 | -- > 0057 Association assigned code | ||
206 | -- > Repr: an..6 | ||
207 | simple0057 :: Parser Value | ||
208 | simple0057 = simple "0057" (alphaNumeric `upTo` 6) | ||
209 | |||
210 | -- | Derived from this specification: | ||
211 | -- | ||
212 | -- > 0062 MESSAGE REFERENCE NUMBER | ||
213 | -- > Repr: an..14 | ||
214 | simple0062 :: Parser Value | ||
215 | simple0062 = simple "0062" (alphaNumeric `upTo` 14) | ||
216 | |||
217 | -- | Derived from this specification: | ||
218 | -- | ||
219 | -- > 0065 Message type | ||
220 | -- > Repr: an..6 | ||
221 | simple0065 :: Parser Value | ||
222 | simple0065 = simple "0065" (alphaNumeric `upTo` 6) | ||
223 | |||
224 | -- | Derived from this specification: | ||
225 | -- | ||
226 | -- > 0068 COMMON ACCESS REFERENCE | ||
227 | -- > Repr: an..35 | ||
228 | simple0068 :: Parser Value | ||
229 | simple0068 = simple "0068" (alphaNumeric `upTo` 35) | ||
230 | |||
231 | -- | Derived from this specification: | ||
232 | -- | ||
233 | -- > 0070 Sequence of transfers | ||
234 | -- > Repr: n..2 | ||
235 | simple0070 :: Parser Value | ||
236 | simple0070 = simple "0070" (numeric `upTo` 2) | ||
237 | |||
238 | -- | Derived from this specification: | ||
239 | -- | ||
240 | -- > 0073 First and last transfer | ||
241 | -- > Repr: a1 | ||
242 | simple0073 :: Parser Value | ||
243 | simple0073 = simple "0073" (alpha `exactly` 1) | ||
244 | |||
245 | -- | Derived from this specification: | ||
246 | -- | ||
247 | -- > 0074 NUMBER OF SEGMENTS IN THE MESSAGE | ||
248 | -- > Repr: n..6 | ||
249 | simple0074 :: Parser Value | ||
250 | simple0074 = simple "0074" (numeric `upTo` 6) | ||
251 | |||
252 | -- | Derived from this specification: | ||
253 | -- | ||
254 | -- > 0080 Service code list directory version number | ||
255 | -- > Repr: an..6 | ||
256 | simple0080 :: Parser Value | ||
257 | simple0080 = simple "0080" (alphaNumeric `upTo` 6) | ||
258 | |||
259 | -- | Derived from this specification: | ||
260 | -- | ||
261 | -- > 0081 SECTION IDENTIFICATION | ||
262 | -- > Repr: a1 | ||
263 | simple0081 :: Parser Value | ||
264 | simple0081 = simple "0081" (alpha `exactly` 1) | ||
265 | |||
266 | -- | Derived from this specification: | ||
267 | -- | ||
268 | -- > 0133 Character encoding, coded | ||
269 | -- > Repr: an..3 | ||
270 | simple0133 :: Parser Value | ||
271 | simple0133 = simple "0133" (alphaNumeric `upTo` 3) | ||