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: process_changed.pl
Close
#!/usr/bin/perl sub execute_etl{ #IF Executing Commad my $TF; my $tfile = "$RXXLS_DIR/$$.time"; open($TF, "> $tfile") or die "Failed to write $tfile (Time Stamp)\n";#Creating Start Time Stamp File print "\nWriting Out ETL Start Time Stamp[$TF:$RXXLS_DIR/$$.time]:======> ", time, "\n"; print $TF time or die "Failed to write $tfile\n"; close($TF); $G_DB = $CMD_HARGS{'db'}; print "Execution Started [$conn]"; if((defined $CMD_HARGS{"cmd"}) && ($CMD_HARGS{"cmd"} ne '')){ #Try TO Use get_execmd(); ^vj return process_command($CMD_HARGS{"cmd"}); } if((defined $CMD_HARGS{"prcsid"}) && ($CMD_HARGS{"prcsid"} ne '')){ #If prcsid is in arg get dtl from prcs_info & exe my $exres = ''; die "Invalid Database Connection " if($conn eq 'ERR' || $conn eq ''); my $res = SQL_prcsmaster($CMD_HARGS{"prcsid"}); if(@$res[2] eq 'W' && isnumeric(@$res[4])){ print "\n First Here for workflow 888888888888888\n"; $exres = process_workflow(@$res[4]); } elsif(@$res[2] eq 'P'){ print "\n First Here for workflow \n"; my $cmd = "@$res[0] @$res[4]"; $ETLMode = 'Normal WF-Execution'; $G_logseq = getnextlogseq(); updatelogseq_file($G_logseq); $G_CurWflowId = @$res[1]; my $logid = etl_dblog('', $G_CurWflowId, "P", $G_CurTaskId, time, '', '', '', '', '', '', 'RUN', $G_logseq, $CMD_HARGS{"prcsid"}, '0'); $exres = process_command($cmd); etl_dblog($logid, '', '', '', '', time, $G_NumRecTotal, $G_NumRecProc, $G_NumRecDisc, $G_NumRecIgnr, '', $G_Err, $G_logseq); #executewf($wfid); #Start ETL Workflow Execution } my $qry = "update etl_prcs_info set ep_end_time = ". time . " where ep_proc_id=". $CMD_HARGS{"prcsid"}; execute_query($conn, "$qry"); printlog "ETL Finished.($exres) \n$qry\n"; return $exres; } #Process Workflow Normal ETL if(isnumeric($CMD_HARGS{"wfid"}) && $CMD_HARGS{"wfid"} > 0){ print "\n First Here for workflow \n"; return process_workflow($CMD_HARGS{"wfid"}); } elsif(isnumeric($CMD_HARGS{"mapid"}) && $CMD_HARGS{"mapid"} > 0){ $G_Purpose = "xformpreview"; return executetask($CMD_HARGS{"mapid"}); } # Redirect to XLS Converter if xls file is input ;-) Ideally Wfid will be numeric !! Really .. (,`-) elsif($CMD_HARGS{"fname"} =~ m/\.xls/g){ print "\n First Here for workflow \n"; print "XLS Process\n"; $ETLMode = 'XLScsvGen'; $G_Purpose = "xformpreview"; print "Process is calling-----------------"; wait_for_xls($CMD_HARGS{"fname"}, '', $CMD_HARGS{"ident"} eq 'Y' ? '*' : ''); } elsif($CMD_HARGS{"fname"} =~ m/\.xml/g){ print "XML Process\n"; my $dir = $CMD_HARGS{"dir"}; $G_Purpose = "xformpreview"; $ETLMode = 'XMLcsvGen'; my $schmfile = write_xmlformat2csv($CMD_HARGS{"dir"}, $CMD_HARGS{"mask"}); print "Writing XML Data 2 CSV: $G_Purpose\n"; write_xmldata2csv($CMD_HARGS{"dir"}, $CMD_HARGS{"mask"}); return 1; } elsif($CMD_HARGS{"fname"} =~ m/\.mdb/g){ print "MDB Process\n"; my $dir = $CMD_HARGS{"dir"}; $G_Purpose = "xformpreview"; process_mdb($dir, $CMD_HARGS{"fname"}); } #Oh! You Are Testing Task ;-) elsif(isnumeric($CMD_HARGS{"taskid"}) && $CMD_HARGS{"taskid"} > 0){ print "TASK Process\n"; if($CMD_HARGS{"logseq"} ne ''){ $ETLMode = 'TaskTest'; $G_logseq = $CMD_HARGS{"logseq"}; #Get Logseq as cmdline arg test_task($CMD_HARGS{"taskid"}); #Excute Task in Test Mode; } else{ printlog("Error : Log sequence not found while testing task.\n"); } return 1; } #Looks like Argument are wrong :-( \\ |< else{ printlog("Error: Command Line Arguments Are Not Proper\n"); return 0; } } sub process_workflow{ my $wfid = shift; print "WF Process\n"; $ETLMode = 'Normal WF-Execution'; $G_logseq = getnextlogseq(); updatelogseq_file($G_logseq); $G_Datetime = undef ; print "WF Process 22222\n"; executewf($wfid); #Start ETL Workflow Execution } sub process_command{ #Try TO Use get_execmd(); my $cmd = shift; $cmd =~ s/"//g; print ("Executing Process : $cmd\n"); #system($cmd); $G_Err = `$cmd 2>>$RXXLS_DIR/etl.err`; my $FERR; open($FERR, "$RXXLS_DIR/etl.err"); my $err = <$FERR>; $err =~ s/\n//g; print "==========>>>>>>>> Error:[$?] $err <<<<<<<,============\n"; close ($FERR); chomp($err); $G_Err = $??$err:"DONE"; `rm $RXXLS_DIR/etl.err`; print "SYSTEM ERROR MESSAGE : [$?]-$G_Err\n"; if(length($G_Err) eq 0 ){ $G_Err="DONE"; } return $G_Err; } sub process_mdb{ my $dirname = shift; my $mask = shift; $dirname = "$dirname/"; $dirname =~ s/\/\//\//g; if ( !-d $dirname ){ print "Error: $dirname does not exist\n"; return -9999 ; } print "Started Getting Mask files: ", time, "\n"; my @maskedfiles = get_masked_files($dirname, $mask); print "Aftr get_masked_files: ", time, "\n"; my $input_file = $maskedfiles[0]; use File::Basename; my $filename = basename ($input_file); $G_xml_stg_dirname = "$RXXLS_DIR"."/"."$filename"; mkdir($G_xml_stg_dirname);#or die "Can't Create Staging Dir: $!"; my $schmfile = "$G_xml_stg_dirname/Tables"; my @fmtstat = stat $schmfile; my @fmtstat1 = stat $input_file; print "Time Stat : File = $fmtstat[9] ******************** Filemodified=$fmtstat1[9]\n"; if($fmtstat[9] > $fmtstat1[9]){ print "Format File Is Recent: Not Generating Again\n"; return -9999; } $myDataLine=`mdb-tables -d':' $input_file`; $myDataLine=~s/:$//g; @array=split(/:/, $myDataLine); @splchr=(" ", " ", "@", "!", "#", "%", "&", "="); open($mysrcstmt, "> $G_xml_stg_dirname/Tables"); foreach $i(@array){ $j=$i; $i=~s/ /\\ /g; foreach $spl(@splchr){ $j=~s/$spl/_/g; } `mdb-export -d'|' -Q $input_file $i> $G_xml_stg_dirname/$j`; print $mysrcstmt $j; print $mysrcstmt " "; } close($mysrcstmt); } 1;