The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

DataFax::StudyDB - DataFax DFstudies.db parser

SYNOPSIS

  use DataFax::StudyDB;

  my $db = DataFax::StudyDB->new('datafax_dir'=>'/opt/datafax', 
            'datafax_host'=>'mydfsvr');
  # or
  my $db = new DataFax::StudyDB 'datafax_dir'=>'/opt/datafax', 
            'datafax_host'=>'mydfsvr';

DESCRIPTION

This class locates DataFax DFstudies.db, parse it and load it to a relational database such as Oracle.

new (datafax_dir=>'/opt/datafax',datafax_host=>'my_svr')

Input variables:

  datafax_dir  - full path to where DataFax system is installled 
                 If not specified, it will try to get it from
                 $ENV{DATAFAX_DIR}.
  datafax_host - DataFax server name or IP address
                 If not specified, it will try to get it from
                 $ENV{DATAFAX_HOST} or `hostname` on UNIX system.

Variables used or routines called:

  None

How to use:

  my $db = DataFax::StudyDB->new('datafax_dir'=>'/opt/datafax', 
            'datafax_host'=>'mydfsvr');
Return: an empty or initialized class object.

This method constructs a Perl object and capture any parameters if specified. It creates and defaults the following variables:

  datafax_dir  = $ENV{DATAFAX_DIR}
  datafax_host = $ENV{DATAFAX_HOST} | `hostname` 
  unix_os      = 'linux|solaris'

Export Tag: all

The :all tag includes the all the methods in this module.

  use DataFax::StudyDB qw(:all);

It includes the following sub-routines:

readDFstudies($q, $ar)

Input variables:

  $ifn - input file name 
  $ar  - a parameter array ref
    source_dir   - source directory
    datafax_dir  - DataFax directory
    datafax_host - DataFax server name/IP address
    real_time    - whether to ge real time data

Variables used or routines called:

  DataFax::StudySubs
    get_dfparam - get parameters 
    

How to use:

  my $s = new DataFax::StudyDB;
  my $ifn = '/opt/datafax/lib/DFstudies.db'; 
  my $pr = { real_time=>1,datafax_host=>'df_svr',
             datafax_usr=>'datafax', datafax_pwd=>'secret'}; 
  my ($c, $d) = $s->readDFstudies{$ifn);
  my ($c, $d) = $s->readDFstudies{"", $pr);

Return: ($c,$d) where $c is an array ref while $d is hash ref.

  $c->[$i][$j] - array ref where 
       $i is row number and 
       $j is column number; 
       $i=0 - the first row contains the column names in the 
              following order
              study_number,study_title,client_name,study_dir,
              source_dir,datafax_dir,host_name,rpc_program,
              rpc_program_no,rpc_version_no,study_status,comments
  $d->{$sn}{$itm} hash ref where
       $sn is three-digit study number padding with leading zeros
       $itm is column names as listed in $c->[0]. 

This method reads DFstudies and parse the file into two arrays.

HISTORY

  • Version 0.10

    This version is to create a method to read in DFstudies.db.

      0.11 - use new method from DataFax
  • Version 0.20

SEE ALSO (some of docs that I check often)

Oracle::Loader, Oracle::Trigger, CGI::Getopt, File::Xcopy, DataFax, CGI::AppBuilder, etc.

AUTHOR

Copyright (c) 2005 Hanming Tu. All rights reserved.

This package is free software and is provided "as is" without express or implied warranty. It may be used, redistributed and/or modified under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html)

1 POD Error

The following errors were encountered while parsing the POD:

Around line 207:

You forgot a '=back' before '=head1'