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: rxsalesforce.pl
Close
#!/usr/bin/perl use WWW::Salesforce::Simple; #$user = 'suneel@robustdesigns.com'; #$pass = 'kushwaha123'; #$token = 'g0BkOA0A1Dw5sdBkZ92z6VDhE'; sub sfLogin{ my ($user, $pass, $token) = @_; my $sf = eval { WWW::Salesforce::Simple->login( username => $user, password => $pass.$token ); }; return $sf; } sub getTableList { my ($user, $pass, $token) = @_; my $sforce = sfLogin($user, $pass, $token); my $tables=""; my $tables_ref = $sforce->get_tables(); foreach my $table ( @{$tables_ref} ) { $tables= $tables.$table."\n"; } return $tables; } sub getSearchTableList { my ($user, $pass, $token, $search) = @_; my $sforce = sfLogin($user, $pass, $token); my $tables=""; my $tables_ref = $sforce->get_tables(); foreach my $table ( @{$tables_ref} ) { if($table =~ m/$search/si){ $tables= $tables.$table."\n"; } } return $tables; } sub getTableField { my ($tblName, $user, $pass, $token) = @_; my $sforce = sfLogin($user, $pass, $token); my $fields = ""; my $fields_ref = $sforce->get_field_list( $tblName ); foreach my $field( @{$fields_ref} ) { $fields = $fields.$field->{'name'}.", "; } $fields = substr($fields,0,length($fields)-2); return $fields; } # Table field info(tablename, idxname, Non_unique, colname) # sub getTableFieldInfo { my ($tblName, $user, $pass, $token) = @_; my $sforce=sfLogin($user, $pass, $token); my $fieldInfo=""; my $fields_ref = $sforce->get_field_list( $tblName ); foreach my $field( @{$fields_ref} ) { $fieldInfo = $fieldInfo.$field->{'name'}."|".$field->{'type'}."|".$field->{'length'}."\n"; } return $fieldInfo; } sub getTableFieldInfo_TMP { my ($tblName, $user, $pass, $token) = @_; my $sforce = sfLogin($user, $pass, $token); my $fieldInfo=""; my $fields_ref = $sforce->get_field_list( $tblName ); foreach my $field( @{$fields_ref} ) { #foreach my $key ( keys %{$field} ) { print $field->{'name'}."|".$field->{'type'}."|".$field->{'length'}; #} print "\n"; } } sub getTableData{ my ($user, $pass, $token, $tblName, $nRows) = @_; $sforce = sfLogin($user, $pass, $token); my @fieldname = split(', ', getTableField( $tblName )); my $fieldcsv = getTableField( $tblName ); if(defined $nRows ){ $nRows = ' LIMIT '.$nRows; } else{ $nRows = ''; } my $queryString = 'SELECT '. $fieldcsv .' FROM '.$tblName; my $res = $sforce->do_queryAll( $queryString.$nRows ); foreach my $field ( @{ $res } ) { foreach my $col ( @fieldname ) { print $field->{$col}.',' ; } print "\n"; } } sub getQueryFieldsArr{ my ($queryString) = @_; @splitselect = split('SELECT' , $queryString); @splitfrom = split('FROM', @splitselect[1]); @fieldarr = split(',', @splitfrom[0]); return @fieldarr; } sub getQueryData{ my ($user, $pass, $token, $queryString, $nRows) = @_; $sforce = sfLogin($user, $pass, $token); print "getQueryData [$sforce][".$user."] [".$pass."] [".$token ."]\n"; #return undef if not defined $sforce; my @fieldname = getQueryFieldsArr( $queryString ); my $string=""; if(defined $nRows){ $nRows = ' LIMIT '.$nRows; } else{ $nRows = ''; } my $res = $sforce->do_queryAll( $queryString.$nRows ); foreach my $field ( @{ $res } ) { foreach my $col ( @fieldname ) { trim($col); $string=$string.$field->{$col}.$G_DBOutDelim; } $string=$string."endl\n"; } return $string; } sub trim{ $_[0]=~s/^\s+//; $_[0]=~s/\s+$//; return; } 1;