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.
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