>
> > Examples or pseudo-code would be good.
>
> Here is an example, with proper config entries, this could run and do real
> work. This particular example selects rows of data from a data warehouse,
> and inserts the result set into a data mart. After that is complete, it
> counts rows to verify that eveything performed as expected. Config access,
> logging, error notification, all provided from config entries common to the
> environment, but overrides on a per job basis supported (not shown here).
>
> #!perl/bin/perl
>
> use strict;
> use warnings;
> use DBIx::JCL qw( :all );
>
> ## initialization
>
> my $jobname = 'sample_job';  ## identifies job config file
> sys_init( $jobname );
>
> my $db_ware = 'datawarehouse';  ## warehouse virtual name
> my $db_mart = 'datamart';       ## datamart virtual name
>
> my $sql_select = sys_get_sql('select' );  ## get our sql
> my $sql_insert = sys_get_sql('insert' );  ## get our sql
> my $sql_count  = sys_get_sql('count' );   ## get our sql
>
> ## main
>
> log_info( sys_get_dbdescr( $db_ware ) );  ## message to the log
> log_info( sys_get_dbdescr( $db_mart ) );  ## message to the log
>
> db_connect( $db_ware );
> db_connect( $db_mart );
>
> db_prepare( $db_ware, $sql_select );
> db_prepare( $db_mart, $sql_insert );
>
> db_truncate( $db_mart, 'SAMPLE_TABLE' );  ## trunc SAMPLE_TABLE
> db_execute( $db_ware );
>
> db_insert_from_query( $db_ware, $db_mart );  ## insert result set
> db_commit( $db_mart );
>
> ## verify results
>
> my $count_ware = db_rowcount_query( $db_ware, $sql_count );
> log_info( "Rows retrieved from Data Warehouse: $count_ware" );
>
> my $count_mart = db_rowcount_table( $db_mart, 'SAMPLE_TABLE' );
> log_info( "Rows inserted into Data Mart: $count_mart" );
>
> if ( $count_ware != $count_mart ) {
>    sys_die( 'Error comparing source and target record counts' );
> }
>
> ## end
>
> sys_end();
>
> exit sys_get_errorlevel();
>
> __END__
>



-- 
Brad Adkins
[EMAIL PROTECTED]

Reply via email to