edi4r 0.9.4.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|