• Medvantx
  • NEWBIE
  • 0 Points
  • Member since 2012

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 2
    Replies

The person who set this up is no longer with the company.  I need to programatically query/extract some info from SalesForce so I can backload into Oracle or MySql  (so to csv).   

Trying to use a semi-join to filter out some Contacts to reduce rows of data.  Filter the contacts Id to a list of values from custom field in a custom object (should be so simple.... ) 

Get error about teh semi-join not being valid in current version. 

How do I identify the version installed and more importantly how can I fix this?  

(btw all relationships are 'lookups'  so i'm not having too much luck with selecting combined object info.. have to exort each object indifividually) 

 

Thank you.  

here's what I've found...  

 

WWW::Salesforce::Simple

my $sf = WWW::Salesforce::Simple->new( username => $sf_id, password => $sf_pw );

my $query ="Select Id, AccountId, LastName, FirstName, Salutation, Name, Email, Title, OwnerId FROM Contact WHERE Id IN (SELECT Channel_Partner_Manager__c FROM Office_Profile__c WHERE Lead_Source__c = 'Channel Partner' and Source_Detail__c = 'xxx123')";

my $res = $sf->do_query( $query );

UNSUPPORTED_API_VERSION:

Title, OwnerId FROM Contact WHERE Id IN (SELECT Channel_Partner_Manager__c

^

ERROR at Row:1:Column:157

Semi joins are not supported in this version of the API at ./force-get-test.pl line 127

Can't call method "fault" without a package or object reference at

/usr/lib/perl5/site_perl/5.8.8/WWW/Salesforce/Simple.pm line 42 (#4)

(F) You used the syntax of a method call, but the slot filled by the

object reference or package name contains an expression that returns a

defined value which is neither an object reference nor a package name.

Something like this will reproduce the error:

 

$BADREF = 42;

process $BADREF 1,2,3;

$BADREF->process(1,2,3);

 

Uncaught exception from user code:

Can't call method "fault" without a package or object reference at /usr/lib/perl5/site_perl/5.8.8/WWW/Salesforce/Simple.pm line 42.

at /usr/lib/perl5/site_perl/5.8.8/WWW/Salesforce/Simple.pm line 42

WWW::Salesforce::Simple::do_query('WWW::Salesforce::Simple=HASH(0x9b2e1ec)', 'Select Id, AccountId, LastName, Fi...') called at

 

 

 

date of the Simple.pm is from 2009 although it looks like this directory tree was updated in April...  

 

Thank you. 

 

The person who set this up is no longer with the company.  I need to programatically query/extract some info from SalesForce so I can backload into Oracle or MySql  (so to csv).   

Trying to use a semi-join to filter out some Contacts to reduce rows of data.  Filter the contacts Id to a list of values from custom field in a custom object (should be so simple.... ) 

Get error about teh semi-join not being valid in current version. 

How do I identify the version installed and more importantly how can I fix this?  

(btw all relationships are 'lookups'  so i'm not having too much luck with selecting combined object info.. have to exort each object indifividually) 

 

Thank you.  

here's what I've found...  

 

WWW::Salesforce::Simple

my $sf = WWW::Salesforce::Simple->new( username => $sf_id, password => $sf_pw );

my $query ="Select Id, AccountId, LastName, FirstName, Salutation, Name, Email, Title, OwnerId FROM Contact WHERE Id IN (SELECT Channel_Partner_Manager__c FROM Office_Profile__c WHERE Lead_Source__c = 'Channel Partner' and Source_Detail__c = 'xxx123')";

my $res = $sf->do_query( $query );

UNSUPPORTED_API_VERSION:

Title, OwnerId FROM Contact WHERE Id IN (SELECT Channel_Partner_Manager__c

^

ERROR at Row:1:Column:157

Semi joins are not supported in this version of the API at ./force-get-test.pl line 127

Can't call method "fault" without a package or object reference at

/usr/lib/perl5/site_perl/5.8.8/WWW/Salesforce/Simple.pm line 42 (#4)

(F) You used the syntax of a method call, but the slot filled by the

object reference or package name contains an expression that returns a

defined value which is neither an object reference nor a package name.

Something like this will reproduce the error:

 

$BADREF = 42;

process $BADREF 1,2,3;

$BADREF->process(1,2,3);

 

Uncaught exception from user code:

Can't call method "fault" without a package or object reference at /usr/lib/perl5/site_perl/5.8.8/WWW/Salesforce/Simple.pm line 42.

at /usr/lib/perl5/site_perl/5.8.8/WWW/Salesforce/Simple.pm line 42

WWW::Salesforce::Simple::do_query('WWW::Salesforce::Simple=HASH(0x9b2e1ec)', 'Select Id, AccountId, LastName, Fi...') called at

 

 

 

date of the Simple.pm is from 2009 although it looks like this directory tree was updated in April...  

 

Thank you.