OXIESEC PANEL
- Current Dir:
/
/
home
/
cubot
/
bin
/
etl
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/03/2023 08:06:37 AM
rwxr-xr-x
📄
config.pl
6.53 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
dataextract.sh
2.51 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
etl.pl
5.46 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
etlproc
11.81 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
func.pl
4.01 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
globvar.sh
330 bytes
02/03/2023 07:34:08 AM
rw-r--r--
📄
initetl.pl
1.88 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
libawk.awk
3.07 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
makeXtab2NormalExcel.pl
5.25 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
process.pl
6.92 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
process_changed.pl
5.69 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
readwrite.pl
4.16 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
rxcsv.pl
7.94 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
rxdb.pl
8.84 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
rxfile.pl
4.72 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
rxsalesforce.pl
3.33 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
rxsalesforce.pl.bak
3.33 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
rxxml.pl
12.66 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
rxxml2.pl
4.18 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
s.log
8.86 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
sendmail.pl
1.06 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
sourcequery.pl
4.17 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
sql.pl
13.89 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
sql_mssql.pl
13.89 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
store.pl
7.6 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
task.pl
30.55 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
task_mssql.pl
30.8 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
tmpxml.pl
1.49 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
userfunc.pl
5.5 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
valid.pl
3.9 KB
02/03/2023 07:34:08 AM
rw-r--r--
📄
workflow.pl
3.72 KB
02/03/2023 07:34:08 AM
rwxr-xr-x
📄
xform.pl
2.62 KB
02/03/2023 07:34:08 AM
rw-r--r--
Editing: readwrite.pl
Close
#!/usr/bin/perl sub getstmt_mapall{ my $xdestqry; my $ctr = 0; my ($dest_storeids, $A_destqry, $data, $hdestconn, $hdeststmt, $hdest_mst, $dest_tblfile) = @_; $xdestqry = $A_destqry."( "; for(my $i=1; $i<@$data; $i++){ $xdestqry = $xdestqry."?, "; } $xdestqry = $xdestqry."?)"; foreach my $destid(@$dest_storeids){ my ($deststorename, $deststoremode, $deststoretype, $deststoreip) = @{$$hdest_mst{$destid}}; if($deststoretype eq 'D'){ $$hdeststmt{$destid, $$dest_tblfile[$ctr]} = getstmt($$hdestconn{$destid}, $xdestqry); } elsif($deststoretype eq 'T'){ $$hdeststmt{$destid, $$dest_tblfile[$ctr]} = $$hdestconn{$destid}; } $ctr++; } } sub write_mapall{ my ($firsttime, $dest_storeids, $A_destqry, $data, $hdestconn, $hdeststmt, $hdest_mst, $dest_tblfile, $hfinfo) = @_; my $xdestqry; my $ctr = 0; if($$firsttime eq '1'){ getstmt_mapall( $dest_storeids, $A_destqry, $data, $hdestconn, $hdeststmt, $hdest_mst, $dest_tblfile); $$firsttime = 0; } $ctr = 0; foreach my $destid(@$dest_storeids){ my ($deststorename, $deststoremode, $deststoretype, $deststoreip) = @{$$hdest_mst{$destid}}; loaddata($deststoretype, $$hdeststmt{$destid, $$dest_tblfile[$ctr]}, $destid, $$dest_tblfile[$ctr], $data, $hfinfo); $ctr++; } } #sub hashprn{ # my $hcols = shift; # while ( my ($key, $value) = each(%$hcols) ) { # print "HASH OF COLUMNS $key => @$value\n"; # } # } sub write_map{ my $col = 0; my @tmpdata = (); my $ctr = 0; my($dest_storeids, $hdest_mst, $hdest_numcols, $data, $hdeststmt, $dest_tblfile, $hdestmap, $srctype, $hcols, $hfinfo, $hwidth, $hdesterrlog) = @_; foreach my $destid(@$dest_storeids){ my ($deststorename, $deststoremode, $deststoretype, $deststoreip) = @{$$hdest_mst{$destid}}; my @newdata = (); my $colctr=0; for(;$col<$$hdest_numcols{$destid, $$dest_tblfile[$ctr]}; $col++){ if(($srctype eq 'T') || ($srctype eq 'E')){ # print "------------$destid------------------------------\n"; # print "Dest:",$destid, # "\tFile:",$$dest_tblfile[$ctr] , # "\tColName:",@{$$hcols{$destid, $$dest_tblfile[$ctr]}}[$colctr], # "\t(Colctr:$colctr)(Ctr:$ctr)<<<1\n"; # print "Col : \n"; # print "I/P Position : ", $$hdestmap{ $destid,$$dest_tblfile[$ctr] ,@{$$hcols{$destid, $$dest_tblfile[$ctr]}}[$colctr]}, "\t"; # print "Data Selected : ",@$data[$$hdestmap{ $destid,$$dest_tblfile[$ctr] ,@{$$hcols{$destid, $$dest_tblfile[$ctr]}}[$colctr]}], "\t<<<3\n"; # print "------------------------------------------\n"; $newdata[$colctr] = @$data[$$hdestmap{ $destid, #Destid $$dest_tblfile[$ctr] , #table Name @{$$hcols{$destid, $$dest_tblfile[$ctr]}}[$colctr]}]; #Column Name push(@tmpdata, $newdata[$colctr]); $colctr++; } else{ push(@tmpdata, @$data[$col]); } } loaddata($deststoretype, $$hdeststmt{$destid, $$dest_tblfile[$ctr]}, $destid, $$dest_tblfile[$ctr], \@tmpdata, $hfinfo, $hwidth); @tmpdata = (); $ctr++; } } sub readdata{ my $stmt = shift; my $storetype = shift; my $storeid = shift; my $srcinfo = shift; my $srcfwidth = shift; if($storetype eq 'D'){ return doselectmany($stmt); } else{ my ($ftype, $fdelim) = @$srcinfo; return doselectline($stmt, $ftype, $fdelim, $srcfwidth); } } sub loaddata{ my ($deststoretype, $destconn, $destid, $tblfile, $outdata, $hfinfo, $hwidth, $hdesterrlog) = @_; if($deststoretype eq 'D'){ $destconn->execute(@$outdata) or &logaserr($destid, $deststoretype, $destconn->errstr, $outdata, $hdesterrlog); #$destconn->execute(@$outdata) or $G_NumRecDisc++; } elsif($deststoretype eq 'T'){ printlog($MAX, "Writing : $destconn, $destid, @$tblfile, @$outdata, @@ @{$$hfinfo{$destid, $file}} @@, $hwidth"); writefile($destconn, $destid, $tblfile, $outdata, $hfinfo, $hwidth, $hdesterrlog); } } sub logaserr{ my ($destid, $deststoretype, $errmsg, $outdata, $hdesterrlog) = @_; $G_NumRecDisc++; if($deststoretype eq 'D'){ my $FH = $hdesterrlog{$destid}; my @erdata = join("|", @$outdata); print $FH @erdata , "__RXBOUNDARY__ ", $errmsg, "\n"; } else{ my $FH = $hdesterrlog{$destid}; my @erdata = join("|", @$outdata); print $FH @erdata , "__RXBOUNDARY__ ", $errmsg, "\n"; } } 1;