Intellipaat Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Salesforce by (11.9k points)
edited by

I have a custom object in salesforce, kind of like the comments section on a case for example. When you add a new comment it has a date/time stamp for that entry, I wanted to update the previous case comment date/time stamp when a new case comment is created.

I wanted to do an UPDATE like this:

$updateFields = array(

                'Id'=>$comment_id, // This is the Id for each comment

                'End_Date__c'=>$record_last_modified_date

            );

function sfUpdateLastCommentDate($sfConnection, $updateFields) {

    try {        

        $sObjectCustom = new SObject();

        $sObjectCustom->type = 'Case_Custom__c';

        $sObjectCustom->fields = $updateFields;

        $createResponse = $sfConnection->update(array($sObjectCustom));              

    } catch(Exception $e) {

        $error_msg  = SALESFORCE_ERROR." \n";

        $error_msg .= $e->faultstring;

        $error_msg .= $sfConnection->getLastRequest();

        $error_msg .= SALESFORCE_MESSAGE_BUFFER_NEWLINE;

        // Send error message

        mail(ERROR_TO_EMAIL, ERROR_EMAIL_SUBJECT, $error_msg, ERROR_EMAIL_HEADER_WITH_CC);

        exit;

    }

}

I've also tried the UPSERT but I get the error:

Missing argument 2 for SforcePartnerClient::upsert()

Any help would be great

1 Answer

0 votes
by (32.1k points)
I think you're passing the wrong ID. You need to pass the commentID instead of recordID.

31k questions

32.8k answers

501 comments

693 users

Browse Categories

...