edi4r 0.9.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/AuthorCopyright +10 -0
- data/COPYING +56 -0
- data/ChangeLog +106 -0
- data/README +66 -0
- data/TO-DO +35 -0
- data/Tutorial +609 -0
- data/VERSION +1 -0
- data/bin/edi2xml.rb +103 -0
- data/bin/editool.rb +151 -0
- data/bin/xml2edi.rb +50 -0
- data/data/edifact/iso9735/SDCD.10000.csv +10 -0
- data/data/edifact/iso9735/SDCD.20000.csv +10 -0
- data/data/edifact/iso9735/SDCD.30000.csv +11 -0
- data/data/edifact/iso9735/SDCD.40000.csv +31 -0
- data/data/edifact/iso9735/SDCD.40100.csv +31 -0
- data/data/edifact/iso9735/SDED.10000.csv +37 -0
- data/data/edifact/iso9735/SDED.20000.csv +37 -0
- data/data/edifact/iso9735/SDED.30000.csv +43 -0
- data/data/edifact/iso9735/SDED.40000.csv +129 -0
- data/data/edifact/iso9735/SDED.40100.csv +130 -0
- data/data/edifact/iso9735/SDMD.10000.csv +0 -0
- data/data/edifact/iso9735/SDMD.20000.csv +0 -0
- data/data/edifact/iso9735/SDMD.30000.csv +6 -0
- data/data/edifact/iso9735/SDMD.40000.csv +17 -0
- data/data/edifact/iso9735/SDMD.40100.csv +17 -0
- data/data/edifact/iso9735/SDSD.10000.csv +8 -0
- data/data/edifact/iso9735/SDSD.20000.csv +8 -0
- data/data/edifact/iso9735/SDSD.30000.csv +12 -0
- data/data/edifact/iso9735/SDSD.40000.csv +34 -0
- data/data/edifact/iso9735/SDSD.40100.csv +34 -0
- data/data/edifact/untdid/EDCD.d01b.csv +200 -0
- data/data/edifact/untdid/EDCD.d96a.csv +161 -0
- data/data/edifact/untdid/EDED.d01b.csv +641 -0
- data/data/edifact/untdid/EDED.d96a.csv +462 -0
- data/data/edifact/untdid/EDMD.d01b.csv +3419 -0
- data/data/edifact/untdid/EDMD.d96a.csv +2144 -0
- data/data/edifact/untdid/EDSD.d01b.csv +158 -0
- data/data/edifact/untdid/EDSD.d96a.csv +127 -0
- data/data/edifact/untdid/IDCD.d01b.csv +95 -0
- data/data/edifact/untdid/IDMD.d01b.csv +238 -0
- data/data/edifact/untdid/IDSD.d01b.csv +75 -0
- data/lib/edi4r.rb +928 -0
- data/lib/edi4r/diagrams.rb +567 -0
- data/lib/edi4r/edi4r-1.2.dtd +20 -0
- data/lib/edi4r/edifact-rexml.rb +221 -0
- data/lib/edi4r/edifact.rb +1627 -0
- data/lib/edi4r/rexml.rb +256 -0
- data/lib/edi4r/standards.rb +495 -0
- data/test/eancom2webedi.rb +380 -0
- data/test/groups.edi +1 -0
- data/test/in1.edi +1 -0
- data/test/in1.inh +3 -0
- data/test/in2.edi +1 -0
- data/test/in2.xml +350 -0
- data/test/test_basics.rb +209 -0
- data/test/test_edi_split.rb +53 -0
- data/test/test_loopback.rb +21 -0
- data/test/test_minidemo.rb +84 -0
- data/test/test_rexml.rb +98 -0
- data/test/test_tut_examples.rb +131 -0
- data/test/webedi2eancom.rb +408 -0
- metadata +110 -0
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.9.4.1
|
data/bin/edi2xml.rb
ADDED
@@ -0,0 +1,103 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# $Id: edi2xml.rb,v 1.1 2006/08/01 11:20:24 werntges Exp $
|
4
|
+
|
5
|
+
# $Log: edi2xml.rb,v $
|
6
|
+
# Revision 1.1 2006/08/01 11:20:24 werntges
|
7
|
+
# Initial revision
|
8
|
+
#
|
9
|
+
#
|
10
|
+
# Author: Heinz W. Werntges (edi@informatik.fh-wiesbaden.de)
|
11
|
+
#
|
12
|
+
# License: This code is put under the Ruby license
|
13
|
+
#
|
14
|
+
# Copyright (c) 2006 Heinz W. Werntges, FH Wiesbaden
|
15
|
+
#
|
16
|
+
|
17
|
+
# SYNOPSIS:
|
18
|
+
#
|
19
|
+
# $ edi2xml.rb [-D] file1 [file2 ...]
|
20
|
+
# ...
|
21
|
+
# $ edi2xml.rb [-D] -Z edifact_file.gz
|
22
|
+
# ...
|
23
|
+
# $ zcat edifact_file.gz | edi2xml.rb [-s E]
|
24
|
+
# ...
|
25
|
+
#
|
26
|
+
# DESCRIPTION:
|
27
|
+
#
|
28
|
+
# This script turns EDIFACT files into XML documents,
|
29
|
+
# either according to DIN 16557-4 or to a generic DTD supplied by this project.
|
30
|
+
#
|
31
|
+
|
32
|
+
require "rubygems"
|
33
|
+
require_gem "edi4r"
|
34
|
+
require_gem "edi4r-tdid"
|
35
|
+
#require_gem "edi4r-idoc"
|
36
|
+
require "edi4r/edifact"
|
37
|
+
require "edi4r/rexml"
|
38
|
+
|
39
|
+
require "getoptlong"
|
40
|
+
|
41
|
+
|
42
|
+
def output( ic )
|
43
|
+
if $din_mode
|
44
|
+
fail "DIN 16557 applies only to UN/EDIFACT data" unless ic.syntax=='E'
|
45
|
+
ic.to_din16557_4.write($stdout,0)
|
46
|
+
else
|
47
|
+
ic.to_xml.write($stdout,0)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
|
52
|
+
def usage_and_exit
|
53
|
+
puts <<EOT
|
54
|
+
Usage:
|
55
|
+
#$0 [-D] [files ...]
|
56
|
+
#$0 [-D] -z edifile.gz [files ...] (Zlib required)
|
57
|
+
#$0 -s E|I [-D] (reads from stdin, E)difact or SAP I)doc)
|
58
|
+
Options:
|
59
|
+
-d Activates debug mode by setting $DEBUG=true
|
60
|
+
-D Generate DIN 16557-4 output.
|
61
|
+
-s k Set standard key, k=E for UN/EDIFACT (default) or k=I for SAP IDOC
|
62
|
+
(currently only E supported).
|
63
|
+
-z Require Zlib. You may then pass gzipped files directly.
|
64
|
+
Note that Zlib is not always available.
|
65
|
+
EOT
|
66
|
+
|
67
|
+
exit 0
|
68
|
+
end
|
69
|
+
|
70
|
+
opts = GetoptLong.new(
|
71
|
+
["--standard-key", "-s", GetoptLong::REQUIRED_ARGUMENT ],
|
72
|
+
["--debug", "-d", GetoptLong::NO_ARGUMENT ],
|
73
|
+
["--DIN", "-D", GetoptLong::NO_ARGUMENT ],
|
74
|
+
["--help", "-h", GetoptLong::NO_ARGUMENT ],
|
75
|
+
["--zlib", "-z", GetoptLong::NO_ARGUMENT ]
|
76
|
+
)
|
77
|
+
|
78
|
+
opts.each do |opt, arg|
|
79
|
+
case opt
|
80
|
+
when "--debug"
|
81
|
+
$DEBUG = true
|
82
|
+
when "--DIN"
|
83
|
+
$din_mode = true
|
84
|
+
when "--help"
|
85
|
+
usage_and_exit()
|
86
|
+
when "--standard-key"
|
87
|
+
$STD_key = arg
|
88
|
+
when "--zlib"
|
89
|
+
require 'zlib'
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
|
94
|
+
if ARGV.size == 0
|
95
|
+
$STD_key = 'E' unless $STD_key # default is EDIFACT
|
96
|
+
ic = EDI.const_get($STD_key).const_get('Interchange').parse or exit
|
97
|
+
output( ic )
|
98
|
+
else
|
99
|
+
usage_and_exit() if $STD_key
|
100
|
+
ARGV.each do |fname|
|
101
|
+
output( EDI::Interchange.parse( File.open(fname,'r') ) )
|
102
|
+
end
|
103
|
+
end
|
data/bin/editool.rb
ADDED
@@ -0,0 +1,151 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
#
|
3
|
+
# Tool to validate, list and analyze EDI data, based on EDI4R
|
4
|
+
#
|
5
|
+
# $Id: editool.rb,v 1.3 2006/08/01 11:19:41 werntges Exp $
|
6
|
+
#
|
7
|
+
# Author: Heinz W. Werntges (edi@informatik.fh-wiesbaden.de)
|
8
|
+
#
|
9
|
+
# License: This code is put under the Ruby license
|
10
|
+
#
|
11
|
+
# Copyright (c) 2006 Heinz W. Werntges, FH Wiesbaden
|
12
|
+
#
|
13
|
+
|
14
|
+
if $DEBUG # Include statement during test setup:
|
15
|
+
$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
|
16
|
+
require 'edi4r'
|
17
|
+
require 'edi4r/edifact'
|
18
|
+
require "edi4r/rexml"
|
19
|
+
require_gem "edi4r-tdid"
|
20
|
+
else # Regular include statements:
|
21
|
+
require "rubygems"
|
22
|
+
require "edi4r"
|
23
|
+
begin
|
24
|
+
require "edi4r-idoc"
|
25
|
+
rescue LoadError # Ignore error
|
26
|
+
end
|
27
|
+
require "edi4r/edifact"
|
28
|
+
require "edi4r/rexml"
|
29
|
+
require "edi4r-tdid"
|
30
|
+
end
|
31
|
+
require 'zlib'
|
32
|
+
require 'getoptlong'
|
33
|
+
|
34
|
+
|
35
|
+
def usage
|
36
|
+
$stderr.puts "Usage:\t#{$0} [-n|-v] [-i|-l] [-o] [file(s)...]"
|
37
|
+
$stderr.puts "Usage:\t#{$0} -p file(s)..."
|
38
|
+
$stderr.puts "Options:"
|
39
|
+
$stderr.puts "\t--validate, --valid, -v\tValidate EDI files"
|
40
|
+
$stderr.puts "\t--no-valid, -n\t\tDo not validate EDI files (default)"
|
41
|
+
$stderr.puts "\t--list, -l\t\tList EDI files one segment per line, indented"
|
42
|
+
$stderr.puts "\t--indent-off, -o\tSwitch indent off when in list mode"
|
43
|
+
$stderr.puts "\t--peek, -p\tPeek into header & report some crucial data"
|
44
|
+
$stderr.puts "\t--inspect, -i\t\tInspect mode, list content with more details"
|
45
|
+
$stderr.puts"NOTE:\t-n, -v and -l, -i are mutually exclusive."
|
46
|
+
exit 0
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
def headline_peek_result
|
51
|
+
puts "Filename\tSender\t\tRecip\t\tRef\t\tTest", "=" * 78
|
52
|
+
end
|
53
|
+
|
54
|
+
def report_peek_result( ic_stub, fname )
|
55
|
+
h = ic_stub.header
|
56
|
+
case s=ic_stub.syntax
|
57
|
+
|
58
|
+
when 'E'
|
59
|
+
params = if ic_stub.is_iedi?
|
60
|
+
[fname, h.cS002.d0004, h.cS003.d0010, h.cS302.d0300, h.d0035==1]
|
61
|
+
else
|
62
|
+
[fname, h.cS002.d0004, h.cS003.d0010, h.d0020, h.d0035==1]
|
63
|
+
end
|
64
|
+
puts "%15.15s\t%13s\t%13s\t%14s\t%s" % params
|
65
|
+
|
66
|
+
when 'I'
|
67
|
+
puts "%15.15s\tSAP IDocs not supported yet" % [fname]
|
68
|
+
|
69
|
+
else
|
70
|
+
puts "%15.15s\tSyntax %s not supported" % [fname, s]
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
|
75
|
+
class MyOptions
|
76
|
+
attr_accessor :validate, :list, :inspect, :peek, :no_indent
|
77
|
+
|
78
|
+
def initialize
|
79
|
+
@validate = false
|
80
|
+
@list = false
|
81
|
+
@inspect = false
|
82
|
+
@peek = false
|
83
|
+
@no_indent = false
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
opts = GetoptLong.new(
|
89
|
+
['--validate', '--valid', '-v', GetoptLong::NO_ARGUMENT],
|
90
|
+
['--no-valid', '-n', GetoptLong::NO_ARGUMENT],
|
91
|
+
['--list', '-l', GetoptLong::NO_ARGUMENT],
|
92
|
+
['--peek', '-p', GetoptLong::NO_ARGUMENT],
|
93
|
+
['--indent-off', '-o', GetoptLong::NO_ARGUMENT],
|
94
|
+
['--inspect', '-i', GetoptLong::NO_ARGUMENT],
|
95
|
+
['--help', '-h', GetoptLong::NO_ARGUMENT]
|
96
|
+
)
|
97
|
+
my_opts = MyOptions.new
|
98
|
+
|
99
|
+
opts.each do |opt, arg|
|
100
|
+
case opt
|
101
|
+
when '--validate'; my_opts.validate = true
|
102
|
+
when '--no-valid'; my_opts.validate = false
|
103
|
+
when '--list'; my_opts.list = true; my_opts.inspect = false
|
104
|
+
when '--peek'; my_opts.peek = true
|
105
|
+
when '--indent-off'; my_opts.no_indent = true
|
106
|
+
when '--inspect'; my_opts.list = false; my_opts.inspect = true
|
107
|
+
else; usage
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
rc = 0 # return code
|
112
|
+
|
113
|
+
if ARGV.empty?
|
114
|
+
|
115
|
+
usage if my_opts.peek # Does not work with $stdin!
|
116
|
+
|
117
|
+
ic = EDI::E::Interchange.parse($stdin, false) or exit
|
118
|
+
rc = ic.validate if my_opts.validate
|
119
|
+
if my_opts.list
|
120
|
+
ic.output_mode = my_opts.no_indent ? :linebreak : :indented
|
121
|
+
print ic
|
122
|
+
end
|
123
|
+
print ic.inspect if my_opts.inspect
|
124
|
+
|
125
|
+
else
|
126
|
+
|
127
|
+
if my_opts.peek
|
128
|
+
|
129
|
+
headline_peek_result
|
130
|
+
ARGV.each do |fname|
|
131
|
+
report_peek_result( EDI::Interchange.peek(File.open(fname)), fname )
|
132
|
+
end
|
133
|
+
|
134
|
+
else
|
135
|
+
|
136
|
+
ARGV.each do |fname|
|
137
|
+
File.open(fname) do |hnd|
|
138
|
+
puts "------------ #{fname} ------------" if ARGV.size > 1
|
139
|
+
ic = EDI::Interchange.parse(hnd, false)
|
140
|
+
rc += ic.validate if my_opts.validate
|
141
|
+
if my_opts.list
|
142
|
+
ic.output_mode = my_opts.no_indent ? :linebreak : :indented
|
143
|
+
print ic.to_s
|
144
|
+
end
|
145
|
+
print ic.inspect if my_opts.inspect
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
exit( rc )
|
151
|
+
|
data/bin/xml2edi.rb
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# $Id: xml2edi.rb,v 1.1 2006/08/01 11:20:56 werntges Exp $
|
4
|
+
|
5
|
+
# $Log: xml2edi.rb,v $
|
6
|
+
# Revision 1.1 2006/08/01 11:20:56 werntges
|
7
|
+
# Initial revision
|
8
|
+
#
|
9
|
+
#
|
10
|
+
# Author: Heinz W. Werntges (edi@informatik.fh-wiesbaden.de)
|
11
|
+
#
|
12
|
+
# License: This code is put under the Ruby license
|
13
|
+
#
|
14
|
+
# Copyright (c) 2006 Heinz W. Werntges, FH Wiesbaden
|
15
|
+
#
|
16
|
+
|
17
|
+
# SYNOPSIS:
|
18
|
+
#
|
19
|
+
# $ xml2edi.rb file1 [file2 ...]
|
20
|
+
# ...
|
21
|
+
# $ zcat somefile.xml.gz | xml2edi.rb
|
22
|
+
# ...
|
23
|
+
#
|
24
|
+
# DESCRIPTION:
|
25
|
+
#
|
26
|
+
# This script turns XML files into EDI (EDIFACT or SAP IDOC) documents.
|
27
|
+
#
|
28
|
+
|
29
|
+
require "rubygems"
|
30
|
+
require_gem "edi4r"
|
31
|
+
require_gem "edi4r-tdid"
|
32
|
+
# require_gem "edi4r-idoc"
|
33
|
+
require "edi4r/edifact"
|
34
|
+
require "edi4r/rexml"
|
35
|
+
|
36
|
+
def to_edi( xdoc )
|
37
|
+
ic = EDI::Interchange.parse_xml xdoc
|
38
|
+
$stdout.print ic
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
if ARGV.size == 0
|
43
|
+
xdoc = REXML::Document.new $stdin
|
44
|
+
to_edi( xdoc )
|
45
|
+
else
|
46
|
+
ARGV.each do |fname|
|
47
|
+
xdoc = REXML::Document.new( File.open(fname,'r') )
|
48
|
+
to_edi( xdoc )
|
49
|
+
end
|
50
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
S001;SYNTAX IDENTIFIER;010;0001;M;a4;020;0002;M;n1;
|
2
|
+
S002;INTERCHANGE SENDER;010;0004;M;an..35;020;0007;C;an..4;030;0008;C;an..14;
|
3
|
+
S003;INTERCHANGE RECIPIENT;010;0010;M;an..35;020;0007;C;an..4;030;0014;C;an..14;
|
4
|
+
S004;DATE/TIME OF PREPARATION;010;0017;M;n6;020;0019;M;n4;
|
5
|
+
S005;RECIPIENTS REFERENCE PASSWORD;010;0022;M;an..14;020;0025;C;an2;
|
6
|
+
S006;APPLICATION SENDER'S IDENTIFICATION;010;0040;M;an..35;020;0007;C;an..4;
|
7
|
+
S007;APPLICATION RECIPIENTS IDENTIFICATION;010;0044;M;an..35;020;0007;C;an..4;
|
8
|
+
S008;MESSAGE VERSION;010;0052;M;n..3;020;0054;C;n..3;030;0057;C;an..6;
|
9
|
+
S009;MESSAGE IDENTIFIER;010;0065;M;an..6;020;0052;M;n..3;030;0054;C;n..3;040;0051;C;an..2;050;0057;C;an..6;
|
10
|
+
S010;STATUS OF THE TRANSFER;010;0070;M;n..2;020;0073;C;a1;
|
@@ -0,0 +1,10 @@
|
|
1
|
+
S001;SYNTAX IDENTIFIER;010;0001;M;a4;020;0002;M;n1;
|
2
|
+
S002;INTERCHANGE SENDER;010;0004;M;an..35;020;0007;C;an..4;030;0008;C;an..14;
|
3
|
+
S003;INTERCHANGE RECIPIENT;010;0010;M;an..35;020;0007;C;an..4;030;0014;C;an..14;
|
4
|
+
S004;DATE/TIME OF PREPARATION;010;0017;M;n6;020;0019;M;n4;
|
5
|
+
S005;RECIPIENTS REFERENCE PASSWORD;010;0022;M;an..14;020;0025;C;an2;
|
6
|
+
S006;APPLICATION SENDER'S IDENTIFICATION;010;0040;M;an..35;020;0007;C;an..4;
|
7
|
+
S007;APPLICATION RECIPIENTS IDENTIFICATION;010;0044;M;an..35;020;0007;C;an..4;
|
8
|
+
S008;MESSAGE VERSION;010;0052;M;an..3;020;0054;M;an..3;030;0057;C;an..6;
|
9
|
+
S009;MESSAGE IDENTIFIER;010;0065;M;an..6;020;0052;M;an..3;030;0054;M;an..3;040;0051;M;an..2;050;0057;C;an..6;
|
10
|
+
S010;STATUS OF THE TRANSFER;010;0070;M;n..2;020;0073;C;a1;
|
@@ -0,0 +1,11 @@
|
|
1
|
+
S001;SYNTAX IDENTIFIER;010;0001;M;a4;020;0002;M;n1;
|
2
|
+
S002;INTERCHANGE SENDER;010;0004;M;an..35;020;0007;C;an..4;030;0008;C;an..14;
|
3
|
+
S003;INTERCHANGE RECIPIENT;010;0010;M;an..35;020;0007;C;an..4;030;0014;C;an..14;
|
4
|
+
S004;DATE/TIME OF PREPARATION;010;0017;M;n6;020;0019;M;n4;
|
5
|
+
S005;RECIPIENT'S REFERENCE, PASSWORD;010;0022;M;an..14;020;0025;C;an2;
|
6
|
+
S006;APPLICATION SENDER'S IDENTIFICATION;010;0040;M;an..35;020;0007;C;an..4;
|
7
|
+
S007;APPLICATION RECIPIENT'S IDENTIFICATION;010;0044;M;an..35;020;0007;C;an..4;
|
8
|
+
S008;MESSAGE VERSION;010;0052;M;an..3;020;0054;M;an..3;030;0057;C;an..6;
|
9
|
+
S009;MESSAGE IDENTIFIER;010;0065;M;an..6;020;0052;M;an..3;030;0054;M;an..3;040;0051;M;an..2;050;0057;C;an..6;
|
10
|
+
S010;STATUS OF THE TRANSFER;010;0070;M;n..2;020;0073;C;a1;
|
11
|
+
S011;DATA ELEMENT IDENTIFICATION;010;0098;M;n..3;020;0104;C;n..3;
|
@@ -0,0 +1,31 @@
|
|
1
|
+
S001;SYNTAX IDENTIFIER;010;0001;M;a4;020;0002;M;an1;030;0080;C;an..6;040;0133;C;an..3;
|
2
|
+
S002;INTERCHANGE SENDER;010;0004;M;an..35;020;0007;C;an..4;030;0008;C;an..35;040;0042;C;an..35;
|
3
|
+
S003;INTERCHANGE RECIPIENT;010;0010;M;an..35;020;0007;C;an..4;030;0014;C;an..35;040;0046;C;an..35;
|
4
|
+
S004;DATE AND TIME OF PREPARATION;010;0017;M;n8;020;0019;M;n4;
|
5
|
+
S005;RECIPIENT REFERENCE/PASSWORD DETAILS;010;0022;M;an..14;020;0025;C;an2;
|
6
|
+
S006;APPLICATION SENDER IDENTIFICATION;010;0040;M;an..35;020;0007;C;an..4;
|
7
|
+
S007;APPLICATION RECIPIENT IDENTIFICATION;010;0044;M;an..35;020;0007;C;an..4;
|
8
|
+
S008;MESSAGE VERSION;010;0052;M;an..3;020;0054;M;an..3;030;0057;C;an..6;
|
9
|
+
S009;MESSAGE IDENTIFIER;010;0065;M;an..6;020;0052;M;an..3;030;0054;M;an..3;040;0051;M;an..3;050;0057;C;an..6;060;0110;C;an..6;070;0113;C;an..6;
|
10
|
+
S010;STATUS OF THE TRANSFER;010;0070;M;n..2;020;0073;C;a1;
|
11
|
+
S011;DATA ELEMENT IDENTIFICATION;010;0098;M;n..3;020;0104;C;n..3;030;0136;C;n..6;
|
12
|
+
S016;MESSAGE SUBSET IDENTIFICATION;010;0115;M;an..14;020;0116;C;an..3;030;0118;C;an..3;040;0051;C;an..3;
|
13
|
+
S017;MESSAGE IMPLEMENTATION GUIDELINE IDENTIFICATION;010;0121;M;an..14;020;0122;C;an..3;030;0124;C;an..3;040;0051;C;an..3;
|
14
|
+
S018;SCENARIO IDENTIFICATION;010;0127;M;an..14;020;0128;C;an..3;030;0130;C;an..3;040;0051;C;an..3;
|
15
|
+
S020;REFERENCE IDENTIFICATION;010;0813;M;an..3;020;0802;M;an..35;
|
16
|
+
S021;OBJECT TYPE IDENTIFICATION;010;0805;M;an..3;020;0809;C;an..256;030;0808;C;an..256;040;0051;C;an..3;
|
17
|
+
S022;STATUS OF THE OBJECT;010;0810;M;n..18;020;0814;C;n..3;030;0070;C;n..2;040;0073;C;a1;
|
18
|
+
S300;DATE AND/OR TIME OF INITIATION;010;0338;C;n..8;020;0314;C;an..15;030;0336;C;n4;
|
19
|
+
S301;STATUS OF TRANSFER - INTERACTIVE;010;0320;C;n..6;020;0323;C;a1;030;0325;C;a1;
|
20
|
+
S302;DIALOGUE REFERENCE;010;0300;M;an..35;020;0303;C;an..35;030;0051;C;an..3;040;0304;C;an..35;
|
21
|
+
S303;TRANSACTION REFERENCE;010;0306;M;an..35;020;0303;C;an..35;030;0051;C;an..3;
|
22
|
+
S305;DIALOGUE IDENTIFICATION;010;0311;M;an..14;020;0342;C;an..3;030;0344;C;an..3;040;0051;C;an..3;
|
23
|
+
S306;INTERACTIVE MESSAGE IDENTIFIER;010;0065;M;an..6;020;0052;M;an..3;030;0054;M;an..3;040;0113;C;an..6;050;0051;C;an..3;060;0057;C;an..6;
|
24
|
+
S307;REPORT REASON;010;0333;C;an..3;020;0332;C;an..70;030;0335;C;an..3;
|
25
|
+
S500;SECURITY IDENTIFICATION DETAILS;010;0577;M;an..3;020;0538;C;an..35;030;0511;C;an..512;040;0513;C;an..3;050;0515;C;an..3;060;0586;C;an..35;070;0586;C;an..35;080;0586;C;an..35;
|
26
|
+
S501;SECURITY DATE AND TIME;010;0517;M;an..3;020;0338;C;n..8;030;0314;C;an..15;040;0336;C;n4;
|
27
|
+
S502;SECURITY ALGORITHM;010;0523;M;an..3;020;0525;C;an..3;030;0533;C;an..3;040;0527;C;an..3;050;0529;C;an..3;060;0591;C;an..3;070;0601;C;an..3;
|
28
|
+
S503;ALGORITHM PARAMETER;010;0531;M;an..3;020;0554;M;an..512;
|
29
|
+
S504;LIST PARAMETER;010;0575;M;an..3;020;0558;M;an..70;
|
30
|
+
S505;SERVICE CHARACTER FOR SIGNATURE;010;0551;M;an..3;020;0548;M;an..4;
|
31
|
+
S508;VALIDATION RESULT;010;0563;M;an..3;020;0560;C;an..512;
|
@@ -0,0 +1,31 @@
|
|
1
|
+
S001;SYNTAX IDENTIFIER;010;0001;M;a4;020;0002;M;an1;030;0080;C;an..6;040;0133;C;an..3;050;0076;C;an2;
|
2
|
+
S002;INTERCHANGE SENDER;010;0004;M;an..35;020;0007;C;an..4;030;0008;C;an..35;040;0042;C;an..35;
|
3
|
+
S003;INTERCHANGE RECIPIENT;010;0010;M;an..35;020;0007;C;an..4;030;0014;C;an..35;040;0046;C;an..35;
|
4
|
+
S004;DATE AND TIME OF PREPARATION;010;0017;M;n8;020;0019;M;n4;
|
5
|
+
S005;RECIPIENT REFERENCE/PASSWORD DETAILS;010;0022;M;an..14;020;0025;C;an2;
|
6
|
+
S006;APPLICATION SENDER IDENTIFICATION;010;0040;M;an..35;020;0007;C;an..4;
|
7
|
+
S007;APPLICATION RECIPIENT IDENTIFICATION;010;0044;M;an..35;020;0007;C;an..4;
|
8
|
+
S008;MESSAGE VERSION;010;0052;M;an..3;020;0054;M;an..3;030;0057;C;an..6;
|
9
|
+
S009;MESSAGE IDENTIFIER;010;0065;M;an..6;020;0052;M;an..3;030;0054;M;an..3;040;0051;M;an..3;050;0057;C;an..6;060;0110;C;an..6;070;0113;C;an..6;
|
10
|
+
S010;STATUS OF THE TRANSFER;010;0070;M;n..2;020;0073;C;a1;
|
11
|
+
S011;DATA ELEMENT IDENTIFICATION;010;0098;M;n..3;020;0104;C;n..3;030;0136;C;n..6;
|
12
|
+
S016;MESSAGE SUBSET IDENTIFICATION;010;0115;M;an..14;020;0116;C;an..3;030;0118;C;an..3;040;0051;C;an..3;
|
13
|
+
S017;MESSAGE IMPLEMENTATION GUIDELINE IDENTIFICATION;010;0121;M;an..14;020;0122;C;an..3;030;0124;C;an..3;040;0051;C;an..3;
|
14
|
+
S018;SCENARIO IDENTIFICATION;010;0127;M;an..14;020;0128;C;an..3;030;0130;C;an..3;040;0051;C;an..3;
|
15
|
+
S020;REFERENCE IDENTIFICATION;010;0813;M;an..3;020;0802;M;an..35;
|
16
|
+
S021;OBJECT TYPE IDENTIFICATION;010;0805;M;an..3;020;0809;C;an..256;030;0808;C;an..256;040;0051;C;an..3;
|
17
|
+
S022;STATUS OF THE OBJECT;010;0810;M;n..18;020;0814;C;n..3;030;0070;C;n..2;040;0073;C;a1;
|
18
|
+
S300;DATE AND/OR TIME OF INITIATION;010;0338;C;n..8;020;0314;C;an..15;030;0336;C;n4;
|
19
|
+
S301;STATUS OF TRANSFER - INTERACTIVE;010;0320;C;n..6;020;0323;C;a1;030;0325;C;a1;
|
20
|
+
S302;DIALOGUE REFERENCE;010;0300;M;an..35;020;0303;C;an..35;030;0051;C;an..3;040;0304;C;an..35;
|
21
|
+
S303;TRANSACTION REFERENCE;010;0306;M;an..35;020;0303;C;an..35;030;0051;C;an..3;
|
22
|
+
S305;DIALOGUE IDENTIFICATION;010;0311;M;an..14;020;0342;C;an..3;030;0344;C;an..3;040;0051;C;an..3;
|
23
|
+
S306;INTERACTIVE MESSAGE IDENTIFIER;010;0065;M;an..6;020;0052;M;an..3;030;0054;M;an..3;040;0113;C;an..6;050;0051;C;an..3;060;0057;C;an..6;
|
24
|
+
S307;STATUS INFORMATION;010;0333;C;an..3;020;0332;C;an..70;030;0335;C;an..3;
|
25
|
+
S500;SECURITY IDENTIFICATION DETAILS;010;0577;M;an..3;020;0538;C;an..35;030;0511;C;an..1024;040;0513;C;an..3;050;0515;C;an..3;060;0586;C;an..35;070;0586;C;an..35;080;0586;C;an..35;
|
26
|
+
S501;SECURITY DATE AND TIME;010;0517;M;an..3;020;0338;C;n..8;030;0314;C;an..15;040;0336;C;n4;
|
27
|
+
S502;SECURITY ALGORITHM;010;0523;M;an..3;020;0525;C;an..3;030;0533;C;an..3;040;0527;C;an..3;050;0529;C;an..3;060;0591;C;an..3;070;0601;C;an..3;
|
28
|
+
S503;ALGORITHM PARAMETER;010;0531;M;an..3;020;0554;M;an..512;
|
29
|
+
S504;LIST PARAMETER;010;0575;M;an..3;020;0558;M;an..70;
|
30
|
+
S505;SERVICE CHARACTER FOR SIGNATURE;010;0551;M;an..3;020;0548;M;an..4;
|
31
|
+
S508;VALIDATION RESULT;010;0563;M;an..3;020;0560;C;an..1024;
|
@@ -0,0 +1,37 @@
|
|
1
|
+
0001;a4;C;Syntax identifier
|
2
|
+
0002;n1;C;Syntax version number
|
3
|
+
0004;an..35;C;Sender identification
|
4
|
+
0007;an..4;C;Partner identification code qualifier
|
5
|
+
0008;an..14;C;Address for reverse routing
|
6
|
+
0010;an..35;C;Recipient identification
|
7
|
+
0014;an..14;C;Routing address
|
8
|
+
0017;n6;C;Date of preparation
|
9
|
+
0019;n4;C;Time of preparation
|
10
|
+
0020;an..14;C;Interchange control reference
|
11
|
+
0022;an..14;C;Recipient's reference/password
|
12
|
+
0025;an2;C;Recipient's reference/password qualifier
|
13
|
+
0026;an..14;C;Application reference
|
14
|
+
0029;a1;C;Processing priority code
|
15
|
+
0031;n1;C;Acknowledgement request
|
16
|
+
0032;an..35;C;Communications agreement Id
|
17
|
+
0035;n1;C;Test indicator
|
18
|
+
0036;n..6;C;Interchange control count
|
19
|
+
0038;an..6;C;Functional group identification
|
20
|
+
0040;an..35;C;Application sender's identification
|
21
|
+
0044;an..35;C;Application recipient's identification
|
22
|
+
0048;an..14;C;Functional group reference number
|
23
|
+
0051;an..2;C;Controlling agency
|
24
|
+
0052;n..3;M;Message type version number
|
25
|
+
0054;n..3;C;Message type release number
|
26
|
+
0057;an..6;C;Association assigned code
|
27
|
+
0058;an..14;C;Application password
|
28
|
+
0060;n..6;C;Number of messages
|
29
|
+
0062;an..14;C;Message reference number
|
30
|
+
0065;an..6;C;Message type identifier
|
31
|
+
0068;an..35;C;Common access reference
|
32
|
+
0070;n..2;C;Sequence message transfer number
|
33
|
+
0073;a1;C;First/last sequence message transfer indication
|
34
|
+
0074;n..6;C;Number of segments in a message
|
35
|
+
0077;an3;C;Text reference code
|
36
|
+
0078;an..70;M;Free form text
|
37
|
+
0081;a1;C;Section identification
|