XMLSERVICE Ruby Don Work

XMLSERVICE.XMLSERVICERubyDonWork History

Hide minor edits - Show changes to output

Added lines 6-10:

!!! THIS PAGE IS COMPLETELY OUT OF DATE (WRONG)
* please see Tony Cairns examples [[XMLSERVICE/TonyXMLServiceGemSamples]]

! do not use
Added lines 15-137:

!!! This page xmlservice examples are out of date, use the following syntax ...
[@
Don example is out of date (completely wrong) ...

#  D  INCHARA        S              1a
#  D  INCHARB        S              1a
#  D  INDEC1        S              7p 4       
#  D  INDEC2        S            12p 2
#  D  INDS1          DS                 
#  D  DSCHARA                      1a
#  D  DSCHARB                      1a         
#  D  DSDEC1                      7p 4     
#  D  DSDEC2                      12p 2           
#    *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#    * main(): Control flow
#    *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#  C    *Entry        PLIST                 
#  C                  PARM                    INCHARA
#  C                  PARM                    INCHARB
#  C                  PARM                    INDEC1
#  C                  PARM                    INDEC2
#  C                  PARM                    INDS1

class Test_80010_DSLCallPgmZZCALL < RowColUnitTest
  # -------------------------------
  # test functions (start with prefix test_)
  # rake test -- Unit run alpha sort order
  # run #1) test_0000_connect
  # run #2) test_nnnn_xxx
  # :
  # run #n) test_9999_close
  # -------------------------------
  def test_0030_pgm_zzcall_array
    # call IBM i ZZCALL (default values)
    zzcall = XMLService::I_PGM.new("ZZCALL",$toolkit_test_lib,{'error'=>'fast'})
    zzcall.input_parms do
    char "inchara", 1
    char "incharb", 1
    dec "indec1", 7, 4
    dec "indec2", 12, 2
    struct("inds1", 1) do
      char "dschara", 1
      char "dscharb", 1
      dec "dsdec1", 7, 4
      dec "dsdec2", 12, 2
    end
    end

    # set it Tony way ... PARMn is implied
    zzcall.input.PARM0.inchara          = 'a'
    zzcall.input.PARM1.incharb          = 'a'
    zzcall.input.PARM2.indec1          = 11.1111
    zzcall.input.PARM3.indec2          = 11.11
    zzcall.input.PARM4.inds1[0].dschara = 'a'
    zzcall.input.PARM4.inds1[1].dscharb = 'a'
    zzcall.input.PARM4.inds1[2].dsdec1  = 111.1111
    zzcall.input.PARM4.inds1[3].dsdec2  = 1111.11
    # puts zzcall.inspect
    puts "\n+++++++++ dump_inspect ++++++++++++++++"
    puts zzcall.dump_inspect
    puts zzcall.to_xml

    # set it Don way ... what is a parm?
    zzcall.input.inchara          = 'b'
    zzcall.input.incharb          = 'b'
    zzcall.input.indec1          = 22.2222
    zzcall.input.indec2          = 22.22
    zzcall.input.inds1[0].dschara = 'b'
    zzcall.input.inds1[1].dscharb = 'b'
    zzcall.input.inds1[2].dsdec1  = 222.2222
    zzcall.input.inds1[3].dsdec2  = 2222.22
    # puts zzcall.inspect
    puts "\n+++++++++ dump_inspect ++++++++++++++++"
    puts zzcall.dump_inspect
    puts zzcall.to_xml

    # call IBM i ZZCALL
    zzcall.execute

    #puts zzcall.inspect
    puts "\n+++++++++ dump_inspect ++++++++++++++++"
    puts zzcall.dump_inspect

    puts "\n+++++++++ output xml ++++++++++++++++"
    puts zzcall.out_xml


    # set it Aaron way ... just pass the data
    parms = [ {'inchara'=>'1'},
              {'incharb'=>'1'},
              {'indec1'=>11.1111},
              {'indec2'=>111.11},
              {'inds1'=>[{'dschara'=>'2'},{'dscharb'=>'2'},{'dsdec1'=>22.2222},{'dsdec2'=>222.22}]} ]
    zzcall.call(parms)

    puts "\n+++++++++ input xml ++++++++++++++++"
    puts zzcall.to_xml

    #puts zzcall.inspect
    puts "\n+++++++++ dump_inspect ++++++++++++++++"
    puts zzcall.dump_inspect

    puts "\n+++++++++ output xml ++++++++++++++++"
    puts zzcall.out_xml

    # response xml with fewer dots ... clever naming
    puts "\n+++++++++ output fewer ++++++++++++++++"
    puts " inchara...#{zzcall.response.inchara}\n"
    puts " incharb...#{zzcall.response.incharb}\n"
    puts " indec1....#{zzcall.response.indec1}\n"
    puts " indec2....#{zzcall.response.indec2}\n"
    zzcall.response.inds1.each do |inds1|
      puts "  dschara...#{inds1.dschara}"
      puts "  dscharb...#{inds1.dscharb}"
      puts "  dsdec1....#{inds1.dsdec1}"
      puts "  dsdec2....#{inds1.dsdec2}"
    end

  end

end
@]
March 03, 2014, at 01:26 PM EST by 24.125.120.102 -
Added line 13:
March 03, 2014, at 01:26 PM EST by 24.125.120.102 -
Changed lines 12-14 from:
To see how to use XMLService from a non IBMi client click here: [[non ibmi client]].
to:
To see how to use XMLService from a non IBMi client click here: [[non ibmi client]].
Access database table data via SQL with XMLService: [[non ibmi client sql]]

Changed lines 11-13 from:
* Tips on how to [[debug]]

to:
Added line 8:
* Calling a [[program]].
Deleted line 9:
* Calling a [[program]].
Changed lines 11-12 from:

to:
* Tips on how to [[debug]]

Added line 8:
* Invoking a [[command]].
Deleted line 9:
* Invoking a [[command]].
Changed line 8 from:
* Calling [[program]].
to:
* Calling a [[program]].
Changed lines 6-11 from:
Establishing an XMLService [[connection]].
Calling [[program]].
Invoking a [[command]].
Reading and writing to [[data queues]].

to:

*
Establishing an XMLService [[connection]].
* Calling [[program]].
* Invoking a [[command]].
* Reading and writing to [[data queues]].

Changed lines 7-8 from:

to:
Calling [[program]].
Invoking a [[command]].
Reading and writing to [[data queues]].


Changed lines 6-35 from:
XMLService requires a connection. The connection method can:
# accept parameters that provide detailed options,
# or you can simply tell it to use your existing database.yml configuration for the ibm_db ActiveRecord adapter.
 
The following ruby code, for example, creates a connection to the current IBMi and then prints the output from the QTIME system value on the shell console:

[@
require 'xmlservice'
ActiveXMLService::Base.establish_connection(
  connection: 'ActiveRecord', adapter: 'ibm_db', database: '*LOCAL',
  username: 'USER400', password: 'secret'
)
wrksysval = XMLService::I_SH.new("system -i 'WRKSYSVAL SYSVAL(QTIME) OUTPUT(*PRINT)'")
wrksysval.xmlservice
puts wrksysval.out_xml
@]

But, if you are in the context of a Rails application that has an ibm_db adapter already configured in database.yml, the establish connection method need only be passed the connection adapter type of ActiveRecord. The following shows how to run the WRKSYSVAL command from a Rails console:

/YOUR_RAILS_APP> '''rails console'''\\
irb(main):001:0>  '''require 'xmlservice' '''\\
irb(main):001:0>  '''ActiveXMLService::Base.establish_connection connection: 'ActiveRecord' '''\\
irb(main):001:0>  '''cmd = XMLService::I_SH.new("system -i 'WRKSYSVAL SYSVAL(QTIME) OUTPUT(*PRINT)'") '''\\
irb(main):001:0>  '''cmd.xmlservice '''\\
irb(main):001:0>  '''puts cmd.out_xml '''\\


[[connection]]


to:
Establishing an XMLService [[connection]].

Changed lines 33-35 from:
to:
[[connection]]

Changed lines 34-37 from:



Press the following link
to see how to use XMLService from a [[non ibmi client]].
to:
To see how to use XMLService from a non IBMi client click here: [[non ibmi client]].
Changed lines 30-36 from:
irb(main):001:0>  vputs cmd.out_xml '''\\





to:
irb(main):001:0>  '''puts cmd.out_xml '''\\





Changed lines 26-37 from:
irb(main):001:0>  require 'xmlservice'\\
irb(main):001:0>  ActiveXMLService::Base.establish_connection connection: 'ActiveRecord'\\
irb(main):001:0>  cmd = XMLService::I_SH.new("system -i 'WRKSYSVAL SYSVAL(QTIME) OUTPUT(*PRINT)'")\\
irb(main):001:0>  cmd.xmlservice\\
irb(main):001:0>  puts cmd.out_xml\\






Press the following link to see how to use XMLService from a [[non ibmi client]].
to:
irb(main):001:0>  '''require 'xmlservice' '''\\
irb(main):001:0>  '''ActiveXMLService::Base.establish_connection connection: 'ActiveRecord' '''\\
irb(main):001:0>  '''cmd = XMLService::I_SH.new("system -i 'WRKSYSVAL SYSVAL(QTIME) OUTPUT(*PRINT)'") '''\\
irb(main):001:0>  '''cmd.xmlservice '''\\
irb(main):001:0>  vputs cmd.out_xml '''\\






Press the following link to see how to use XMLService from a [[non ibmi client]].
Changed line 25 from:
'''/YOUR_RAILS_APP> rails console\\
to:
/YOUR_RAILS_APP> '''rails console'''\\
Changed lines 30-36 from:
irb(main):001:0>  puts cmd.out_xml\\'''





to:
irb(main):001:0>  puts cmd.out_xml\\





Changed line 25 from:
/YOUR_RAILS_APP> rails console\\
to:
'''/YOUR_RAILS_APP> rails console\\
Changed lines 30-36 from:
irb(main):001:0>  puts cmd.out_xml\\





to:
irb(main):001:0>  puts cmd.out_xml\\'''





Deleted line 25:
Deleted line 26:
Deleted line 27:
Deleted line 28:
Deleted line 29:
Changed lines 25-35 from:
/YOUR_RAILS_APP> rails console
irb(main):001:0>  require 'xmlservice'
irb(main):001:0>  ActiveXMLService::Base.establish_connection connection: 'ActiveRecord'
irb(main):001:0>  cmd = XMLService::I_SH.new("system -i 'WRKSYSVAL SYSVAL(QTIME) OUTPUT(*PRINT)'")
irb(main):001:0>  cmd.xmlservice
irb(main):001:0>  puts cmd.out_xml




to:
/YOUR_RAILS_APP> rails console\\

irb(main):001:0>  require 'xmlservice'\\

irb(main):001:0>  ActiveXMLService::Base.establish_connection connection: 'ActiveRecord'\\

irb(main):001:0>  cmd = XMLService::I_SH.new("system -i 'WRKSYSVAL SYSVAL(QTIME) OUTPUT(*PRINT)'")\\

irb(main):001:0>  cmd.xmlservice\\

irb(main):001:0>  puts cmd.out_xml\\





Changed line 25 from:
''/YOUR_RAILS_APP> rails console
to:
/YOUR_RAILS_APP> rails console
Changed lines 30-34 from:
irb(main):001:0>  puts cmd.out_xml''



to:
irb(main):001:0>  puts cmd.out_xml




Changed lines 12-13 from:
[@require 'xmlservice'
to:
[@
require 'xmlservice'
Changed lines 20-23 from:
puts wrksysval.out_xml@]


to:
puts wrksysval.out_xml
@]

But, if you are in the context of a Rails application that has an ibm_db adapter already configured in database.yml, the establish connection method need only be passed the connection adapter type of ActiveRecord. The following shows how to run the WRKSYSVAL command from a Rails console:

''/YOUR_RAILS_APP> rails console
irb(main):001:0>  require 'xmlservice'
irb(main):001:0>  ActiveXMLService::Base.establish_connection connection: 'ActiveRecord'
irb(main):001:0>  cmd = XMLService::I_SH.new("system -i 'WRKSYSVAL SYSVAL(QTIME) OUTPUT(*PRINT)'")
irb(main):001:0>  cmd.xmlservice
irb(main):001:0>  puts cmd.out_xml''




Changed lines 12-13 from:
[@
require 'xmlservice'
to:
[@require 'xmlservice'
Changed lines 19-24 from:
puts wrksysval.out_xml

@]


to:
puts wrksysval.out_xml@]


Changed lines 10-11 from:
The following, for example, creates a connection to the current IBMi and then prints the output from the QTIME system value on the shell console:
to:
The following ruby code, for example, creates a connection to the current IBMi and then prints the output from the QTIME system value on the shell console:
Changed line 6 from:
XMLService requires a connection. The connection method can 
to:
XMLService requires a connection. The connection method can:
Added lines 24-25:

Added lines 10-11:
The following, for example, creates a connection to the current IBMi and then prints the output from the QTIME system value on the shell console:
Changed line 16 from:
  username: 'DON', password: 'vo2max'
to:
  username: 'USER400', password: 'secret'
Changed lines 11-12 from:
UnCoded Text
here
to:
require 'xmlservice'
ActiveXMLService::Base.establish_connection(
  connection: 'ActiveRecord', adapter: 'ibm_db', database: '*LOCAL',
  username: 'DON', password: 'vo2max'
)
wrksysval = XMLService::I_SH.new("system -i 'WRKSYSVAL SYSVAL(QTIME) OUTPUT(*PRINT)'")
wrksysval.xmlservice
puts wrksysval.out_xml

Changed lines 10-11 from:
[@UnCoded Text@]
to:
[@
UnCoded Text
here
@]
Changed lines 9-14 from:


# Simply use your existing database.yml configuration for ibm_db
# Supply all the required information


to:
 
[@UnCoded Text@]

Changed lines 6-8 from:
XMLService requires a connection. The connection method can accept parameters that provide detailed options, or you can simply tell it to use your existing database.yml configuration for the ibm_db ActiveRecord adapter.

to:
XMLService requires a connection. The connection method can
#
accept parameters that provide detailed options, 
#
or you can simply tell it to use your existing database.yml configuration for the ibm_db ActiveRecord adapter.

Changed lines 6-10 from:
XMLService has several mechanism for establishing a connection.

# Ordered list


to:
XMLService requires a connection. The connection method can accept parameters that provide detailed options, or you can simply tell it to use your existing database.yml configuration for the ibm_db ActiveRecord adapter.


# Simply use your existing database.yml configuration for ibm_db
# Supply all the required information


Added lines 6-10:
XMLService has several mechanism for establishing a connection.

# Ordered list

Changed line 6 from:
Press link to see how to use XMLService from a [[non ibmi client]].
to:
Press the following link to see how to use XMLService from a [[non ibmi client]].
Changed line 6 from:
[[non ibmi client]]
to:
Press link to see how to use XMLService from a [[non ibmi client]].
Deleted lines 6-76:

[[XMLService/XMLService | Goto Main Page]]
\\
[[XMLSERVICEDocument | Goto Documents]]
\\
[[XMLSERVICERuby | Goto Ruby Page]]

XMLService is not yet in an addressable git repository so you will have to download the zip and extract it to your Rails app's vendor/plugins directory. For example:

    &#9492;&#9472;&#9472; app
    &#9492;&#9472;&#9472; config
    &#9492;&#9472;&#9472; db
    &#9492;&#9472;&#9472; doc
    &#9492;&#9472;&#9472; lib
    &#9492;&#9472;&#9472; log
    &#9492;&#9472;&#9472; public
    &#9492;&#9472;&#9472; script
    &#9492;&#9472;&#9472; spec
    &#9492;&#9472;&#9472; test
    &#9492;&#9472;&#9472; tmp
    &#9492;&#9472;&#9472; vendor
    &#9500;&#9472;&#9472; assets
    &#9492;&#9472;&#9472; plugins
        &#9492;&#9472;&#9472; xmlservice
            &#9500;&#9472;&#9472; LICENSE
            &#9500;&#9472;&#9472; README_IBM_i
            &#9500;&#9472;&#9472; Rakefile
            &#9500;&#9472;&#9472; ftpcompile.sh
            &#9500;&#9472;&#9472; lib
            &#9474;   &#9500;&#9472;&#9472; adapters
            &#9474;   &#9474;   &#9500;&#9472;&#9472; abstract_adapter.rb
            &#9474;   &#9474;   &#9500;&#9472;&#9472; db2_adapter.rb
            &#9474;   &#9474;   &#9492;&#9472;&#9472; rest_adapter.rb
            &#9474;   &#9500;&#9472;&#9472; password
            &#9474;   &#9474;   &#9492;&#9472;&#9472; password.rb
            &#9474;   &#9500;&#9472;&#9472; xmlservice.rb
            &#9474;   &#9500;&#9472;&#9472; xmlservice.rb-new
            &#9474;   &#9492;&#9472;&#9472; xmlservice.rb-old
            &#9500;&#9472;&#9472; test
            &#9474;   &#9500;&#9472;&#9472; IBMi
            &#9474;   &#9474;   &#9500;&#9472;&#9472; README_IBM_i
            &#9474;   &#9474;   &#9500;&#9472;&#9472; Rakefile
            &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60000_toolkit_driver
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; Rakefile
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; mmmmaybe.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60010_DriverCallPgmZZCALL.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60110_DriverCallSrvPgmZZARRAY.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60510_DriverDataQueue.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60610_DriverCallSrvPgmZZBINARY.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60710_DriverWRKSYSVAL.rb
            &#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; test_60910_DriverCallPgmZZMISS.rb
            &#9474;   &#9474;   &#9500;&#9472;&#9472; test_authorization
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; README_IBM_i
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; auth.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; key.yml
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; password.yml
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; xmlservice.yml
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; xmlservicelinux.yml
            &#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; xmlservicelocal.yml
            &#9474;   &#9474;   &#9492;&#9472;&#9472; test_data
            &#9474;   &#9474;      &#9492;&#9472;&#9472; rowcol.rb
            &#9474;   &#9500;&#9472;&#9472; IBMiSamples
            &#9474;   &#9474;   &#9500;&#9472;&#9472; IBMiRails
            &#9474;   &#9474;   &#9500;&#9472;&#9472; IBMiRuby
            &#9474;   &#9474;   &#9500;&#9472;&#9472; README_IBM_i
            &#9474;   &#9474;   &#9492;&#9472;&#9472; genpassword.rb
            &#9474;   &#9492;&#9472;&#9472; README_IBM_i
            &#9500;&#9472;&#9472; xmlservice-1.0.1.gem
            &#9500;&#9472;&#9472; xmlservice-1.0.1.gemspec
            &#9492;&#9472;&#9472; zzall.sh

Changed lines 6-7 from:
[[delete this page]]
to:
[[non ibmi client]]
Added lines 6-7:
[[delete this page]]
Changed lines 74-75 from:
           &#9492;&#9472;&#9472; zzall.sh
to:
           &#9492;&#9472;&#9472; zzall.sh
Added lines 14-24:
   &#9492;&#9472;&#9472; app
    &#9492;&#9472;&#9472; config
    &#9492;&#9472;&#9472; db
    &#9492;&#9472;&#9472; doc
    &#9492;&#9472;&#9472; lib
    &#9492;&#9472;&#9472; log
    &#9492;&#9472;&#9472; public
    &#9492;&#9472;&#9472; script
    &#9492;&#9472;&#9472; spec
    &#9492;&#9472;&#9472; test
    &#9492;&#9472;&#9472; tmp
Changed line 74 from:
           &#9492;&#9472;&#9472; zzall.sh
to:
           &#9492;&#9472;&#9472; zzall.sh
Changed line 14 from:
&#9492;&#9472;&#9472; vendor
to:
   &#9492;&#9472;&#9472; vendor
Added line 13:
Added lines 11-62:

XMLService is not yet in an addressable git repository so you will have to download the zip and extract it to your Rails app's vendor/plugins directory. For example:
&#9492;&#9472;&#9472; vendor
    &#9500;&#9472;&#9472; assets
    &#9492;&#9472;&#9472; plugins
        &#9492;&#9472;&#9472; xmlservice
            &#9500;&#9472;&#9472; LICENSE
            &#9500;&#9472;&#9472; README_IBM_i
            &#9500;&#9472;&#9472; Rakefile
            &#9500;&#9472;&#9472; ftpcompile.sh
            &#9500;&#9472;&#9472; lib
            &#9474;   &#9500;&#9472;&#9472; adapters
            &#9474;   &#9474;   &#9500;&#9472;&#9472; abstract_adapter.rb
            &#9474;   &#9474;   &#9500;&#9472;&#9472; db2_adapter.rb
            &#9474;   &#9474;   &#9492;&#9472;&#9472; rest_adapter.rb
            &#9474;   &#9500;&#9472;&#9472; password
            &#9474;   &#9474;   &#9492;&#9472;&#9472; password.rb
            &#9474;   &#9500;&#9472;&#9472; xmlservice.rb
            &#9474;   &#9500;&#9472;&#9472; xmlservice.rb-new
            &#9474;   &#9492;&#9472;&#9472; xmlservice.rb-old
            &#9500;&#9472;&#9472; test
            &#9474;   &#9500;&#9472;&#9472; IBMi
            &#9474;   &#9474;   &#9500;&#9472;&#9472; README_IBM_i
            &#9474;   &#9474;   &#9500;&#9472;&#9472; Rakefile
            &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60000_toolkit_driver
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; Rakefile
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; mmmmaybe.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60010_DriverCallPgmZZCALL.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60110_DriverCallSrvPgmZZARRAY.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60510_DriverDataQueue.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60610_DriverCallSrvPgmZZBINARY.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; test_60710_DriverWRKSYSVAL.rb
            &#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; test_60910_DriverCallPgmZZMISS.rb
            &#9474;   &#9474;   &#9500;&#9472;&#9472; test_authorization
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; README_IBM_i
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; auth.rb
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; key.yml
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; password.yml
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; xmlservice.yml
            &#9474;   &#9474;   &#9474;   &#9500;&#9472;&#9472; xmlservicelinux.yml
            &#9474;   &#9474;   &#9474;   &#9492;&#9472;&#9472; xmlservicelocal.yml
            &#9474;   &#9474;   &#9492;&#9472;&#9472; test_data
            &#9474;   &#9474;      &#9492;&#9472;&#9472; rowcol.rb
            &#9474;   &#9500;&#9472;&#9472; IBMiSamples
            &#9474;   &#9474;   &#9500;&#9472;&#9472; IBMiRails
            &#9474;   &#9474;   &#9500;&#9472;&#9472; IBMiRuby
            &#9474;   &#9474;   &#9500;&#9472;&#9472; README_IBM_i
            &#9474;   &#9474;   &#9492;&#9472;&#9472; genpassword.rb
            &#9474;   &#9492;&#9472;&#9472; README_IBM_i
            &#9500;&#9472;&#9472; xmlservice-1.0.1.gem
            &#9500;&#9472;&#9472; xmlservice-1.0.1.gemspec
            &#9492;&#9472;&#9472; zzall.sh
Added lines 1-10:
(:quicktoc:)
>>round frame bgcolor=#ffffdd<<
!!! Ruby Toolkit Don ...
>><<

[[XMLService/XMLService | Goto Main Page]]
\\
[[XMLSERVICEDocument | Goto Documents]]
\\
[[XMLSERVICERuby | Goto Ruby Page]]