edi4r 0.9.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. data/AuthorCopyright +10 -0
  2. data/COPYING +56 -0
  3. data/ChangeLog +106 -0
  4. data/README +66 -0
  5. data/TO-DO +35 -0
  6. data/Tutorial +609 -0
  7. data/VERSION +1 -0
  8. data/bin/edi2xml.rb +103 -0
  9. data/bin/editool.rb +151 -0
  10. data/bin/xml2edi.rb +50 -0
  11. data/data/edifact/iso9735/SDCD.10000.csv +10 -0
  12. data/data/edifact/iso9735/SDCD.20000.csv +10 -0
  13. data/data/edifact/iso9735/SDCD.30000.csv +11 -0
  14. data/data/edifact/iso9735/SDCD.40000.csv +31 -0
  15. data/data/edifact/iso9735/SDCD.40100.csv +31 -0
  16. data/data/edifact/iso9735/SDED.10000.csv +37 -0
  17. data/data/edifact/iso9735/SDED.20000.csv +37 -0
  18. data/data/edifact/iso9735/SDED.30000.csv +43 -0
  19. data/data/edifact/iso9735/SDED.40000.csv +129 -0
  20. data/data/edifact/iso9735/SDED.40100.csv +130 -0
  21. data/data/edifact/iso9735/SDMD.10000.csv +0 -0
  22. data/data/edifact/iso9735/SDMD.20000.csv +0 -0
  23. data/data/edifact/iso9735/SDMD.30000.csv +6 -0
  24. data/data/edifact/iso9735/SDMD.40000.csv +17 -0
  25. data/data/edifact/iso9735/SDMD.40100.csv +17 -0
  26. data/data/edifact/iso9735/SDSD.10000.csv +8 -0
  27. data/data/edifact/iso9735/SDSD.20000.csv +8 -0
  28. data/data/edifact/iso9735/SDSD.30000.csv +12 -0
  29. data/data/edifact/iso9735/SDSD.40000.csv +34 -0
  30. data/data/edifact/iso9735/SDSD.40100.csv +34 -0
  31. data/data/edifact/untdid/EDCD.d01b.csv +200 -0
  32. data/data/edifact/untdid/EDCD.d96a.csv +161 -0
  33. data/data/edifact/untdid/EDED.d01b.csv +641 -0
  34. data/data/edifact/untdid/EDED.d96a.csv +462 -0
  35. data/data/edifact/untdid/EDMD.d01b.csv +3419 -0
  36. data/data/edifact/untdid/EDMD.d96a.csv +2144 -0
  37. data/data/edifact/untdid/EDSD.d01b.csv +158 -0
  38. data/data/edifact/untdid/EDSD.d96a.csv +127 -0
  39. data/data/edifact/untdid/IDCD.d01b.csv +95 -0
  40. data/data/edifact/untdid/IDMD.d01b.csv +238 -0
  41. data/data/edifact/untdid/IDSD.d01b.csv +75 -0
  42. data/lib/edi4r.rb +928 -0
  43. data/lib/edi4r/diagrams.rb +567 -0
  44. data/lib/edi4r/edi4r-1.2.dtd +20 -0
  45. data/lib/edi4r/edifact-rexml.rb +221 -0
  46. data/lib/edi4r/edifact.rb +1627 -0
  47. data/lib/edi4r/rexml.rb +256 -0
  48. data/lib/edi4r/standards.rb +495 -0
  49. data/test/eancom2webedi.rb +380 -0
  50. data/test/groups.edi +1 -0
  51. data/test/in1.edi +1 -0
  52. data/test/in1.inh +3 -0
  53. data/test/in2.edi +1 -0
  54. data/test/in2.xml +350 -0
  55. data/test/test_basics.rb +209 -0
  56. data/test/test_edi_split.rb +53 -0
  57. data/test/test_loopback.rb +21 -0
  58. data/test/test_minidemo.rb +84 -0
  59. data/test/test_rexml.rb +98 -0
  60. data/test/test_tut_examples.rb +131 -0
  61. data/test/webedi2eancom.rb +408 -0
  62. metadata +110 -0
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.9.4.1
@@ -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
@@ -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
+
@@ -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