function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
evgenykaevgenyka 

Issue with Upsert

Hello when i am trying to upsert from php code
i am getting an error about missing argument ,
However the argument is exist
my code is

foreach  ($data as $v){
  $createField=array(
     'Name'=>$v[1],
     'Description'=>$v[2],
     'Product_Type__c'=>$v[3],
     'Family'=>$v[4],
     'Inventory_Item_id__c'=>$v[5]
     );
  print_r ($createField);
 
   $external_id = 'Inventory_Item_id__c';
   $sObject1 = new SObject();
   $sObject1->fields = $createFields;
   $sObject1->type = 'Product2';
   $upsertResponse = $mySforceConnection->upsert($external_id, array($sObject1));
   print_r ( $upsertResponse);
evgenykaevgenyka

The data is

Array
(
    [Name] => MHGS18-XTC
    [Description] => sdsd
    [Product_Type__c] => HCA
    [Family] => CHEETAH DDR
    [Inventory_Item_id__c] => 31083
)

and the error i get


            [message] => Inventory_Item_id__c not specified
            [statusCode] => MISSING_ARGUMENT
      

evgenykaevgenyka
I am getting the same issue with create

Code:
$createField=array(
        'Name'=>'MYTEST',
        'Description'=>'MYTEST',
        'Product_Type__c'=>'MYTEST',
        'Family'=>'MYTEST',
        'Inventory_Item_id__c'=>111111

        );
 //$external_id = 'Inventory_Item_id__c';
  print_r ($createField);
   $sObject1 = new SObject();
   $sObject1->fields = $createFields;
   $sObject1->type = 'Product2';
   $upsertResponse = $mySforceConnection->create(array($sObject1));
   print_r ( $upsertResponse);


 

Message Edited by evgenyka on 04-02-2007 11:34 AM

tocktock

Hello,

 where you define your array as '$createField=array(...........' you have missed the 's' off.

Try:   $createFields=array(........... 

and see if it works.

cheers