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: rxfile.pl
Close
#!/usr/bin/perl #testfun(); sub testfun{ my $fh; #openfile('abcd.out', 'r', \$fh); $fh = openfile('/tmp/and.txt', 'r'); @width=(2,4,6); doselectline($fh, 'D', 'AND', \@width); closefile(\$fh); } sub openfile{ my $FILEH; my ($filename, $openmode) = @_; if($openmode eq 'w'){ $filename = ">".$filename; } elsif($openmode eq 'a'){ $filename = ">>".$filename; } #open($$FILEH, "$filename") or return 'ERR'; open($FILEH, "$filename") or $G_Err = $! && return 'ERR'; printlog($MAX, "Open File $filename"); return $FILEH; } sub closefile{ my ($fh) = @_; close($$fh); } my $G_lineread_errtime = 0; sub doselectline{ my ($fhandle, $ftype, $fdelim, $fwidth, $txtqf, $storetype, $dateformat, $tablemapping) = @_; my @data= (); my ($xfdisable, $validdisable ) = (@$tablemapping[6], @$tablemapping[7]); # Bug No 1101 my $qfopen = 0; my $colstr = ""; my @arr =(); $G_inputDataLine = <$fhandle> or return 'ERR'; chomp($G_inputDataLine); # if($ftype eq 'D'){ if($storetype eq 'F'){ # if(($txtqf ne '0') &&($txtqf ne '')){ # $fdelim = '\\'.$txtqf.$fdelim.$txtqf; # } # else{ # $fdelim = '\\'.$fdelim; # } $fdelim = '\\'.$fdelim; @data = split(/$fdelim/, $G_inputDataLine); if(($G_numcols>0)&&($G_datecol eq 'Y')){ #if($G_inputDataLine){ $G_correctline=$G_correctline.$G_inputDataLine; #} # chomp($G_correctline); $G_correctline=~s/\\/\\\\/g; @data = split(/$fdelim/, $G_correctline); $length=scalar @data; # printlog($MAX, "Lengt:$length and G_numcols:$G_numcols"); if($length >= $G_numcols){ $G_correctline=""; } else{ return "blanklines"; } } foreach my $datecolrow (@data){ # issue 1101 if($datecolrow =~ /^$txtqf/ && $datecolrow =~ /$txtqf$/){ push(@arr, $datecolrow); } else{ if($datecolrow =~ /^$txtqf/){ $colstr=$datecolrow; $qfopen=$qfopen+1; } else{ if($qfopen=~ /^0$/){ push(@arr, $datecolrow); } } if($qfopen>1){ $colstr=$colstr.$fdelim.$datecolrow; } if($datecolrow =~ /$txtqf$/){ $colstr=$colstr.$fdelim.$datecolrow; push(@arr, $colstr); $qfopen=0; } } } @data = @arr } else{ $fdelim = '\\'.$fdelim; @data = split(/$fdelim/, $G_inputDataLine); } # } # elsif($ftype eq 'F'){ # @data = getstr_fwidth($G_inputDataLine, $fwidth); # } if(($xfdisable eq "1") && ($validdisable eq "1")){ foreach my $datecolrow (@$dateformat){ @array=split(/:/, $datecolrow); my $ord= @array[1]; my $str = @array[0]; @data[$ord]=makedate(@data[$ord], $str); } } if($#data < 0){ if($G_lineread_errtime eq 1){ $G_lineread_errtime = 0; # return 'ERR'; } printlog($ERROR, "$#data No Data"); push(@data, ''); $G_lineread_errtime = 1; #return 'ERR'; } return @data; } sub doselectline_1{ my ($fhandle, $ftype, $fdelim, $fwidth) = @_; my @data= (); #G_inputDataArray $G_inputDataLine = <$fhandle> or return 'ERR'; #printlog($MAX, "$ftype, [$fdelim], @$fwidth Read : $G_inputDataLine"); chomp($G_inputDataLine); if($ftype eq 'D'){ $fdelim = '\\'.$fdelim; @data = split(/$fdelim/, $G_inputDataLine); } elsif($ftype eq 'F'){ @data = getstr_fwidth($G_inputDataLine, $fwidth); } #printlog($MAX, "$#data:\t<<@data>>"); if(($#data < 0) and ($G_lineread_errtime eq 1)){ return 'ERR'; } if($#data < 0){ printlog($ERROR, "$#data No Data"); push(@data, ''); $G_lineread_errtime = 1; #return 'ERR'; } #printlog($MAX, "DATA : @data"); return @data; } sub getstr_fwidth{ my ($str, $widtharr) = @_; my $fmt; for(my $i=0; $i<@$widtharr; $i++){ $fmt = $fmt."a@{@$widtharr[$i]}"; } my @arr = unpack($fmt, $str); @arr; } sub putstr_fwidth{ my ($inarr, $widtharr) = @_; my $fmt; for(my $i=0; $i<@$widtharr; $i++){ $fmt = $fmt."A@$widtharr[$i]"; } my @arr = pack($fmt, @$inarr); @arr; } sub writefile{ my ($FH, $destid, $file, $indata, $hfinfo, $hwidth, $hdesterrlog) = @_; my @data; printlog($MAX, "Sending to File >> @$indata << $destid, $file, $indata, @{$$hfinfo{$destid, $file}}[4], $hwidth"); if(@{$$hfinfo{$destid, $file}}[4] eq 'D'){ @data = join(@{$$hfinfo{$destid, $file}}[5], @$indata); } else{ @data = putstr_fwidth($indata, $$hwidth{$destid, $file}); } printlog($MAX, "Finally Writing to File >> @data <<"); printlog($MAX, "$FH _ $destid _ $file _ ** @{$$hfinfo{$destid, $file}} _ @data . NUM REC DISC: $G_NumRecDisc++"); my $er = $!; print $FH @data, "\n" or &logaserr($destid, $deststoretype, $er, \@data, $hdesterrlog); # print $FH @data, "\n" or $er=$! && $G_NumRecDisc++; } sub getdelim{ my $dl = shift; if(substr($dl, 0, 3) ne 'chr'){ return $dl; } else{ my $delim = ''; my @dlarr = split('\)', $dl); for(my $i=0; $i<=$#dlarr; $i++){ $dlarr[$i]=$dlarr[$i].")"; $delim.=eval($dlarr[$i]); } return $delim; } } 1;