• HariP
  • NEWBIE
  • 30 Points
  • Member since 2012

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

Hi,

I have lightning:recordEditForm with lightning:inputFields and lightning:button type Submit.

There is a vRule on couple fields to be required when status = 'Complete'. On the record, if I set the status to 'Complete' and click Save, it is throwing validation errors and displaying error at fields. Without entering those required fields, if I change the status back to NOT Complete and click "Save" button, nothing happens.

Save button action not being invoked unless I key in something in the fields errored on first save attempt.

How to clear field validation errors on change on the status field and allow Save action again?

  • April 02, 2019
  • Like
  • 0
Hi,

I have Entitlement Process and Milestones setup. I have a trigger code to update something on Case when it enters reaches milestone by querying CaseMilestone object. How to write test coverage for this?

I am not sure how to create test data for Entitlement Process and Milestones or query existing records to get the code coverage.

Please help.

Thanks
Hari
  • September 12, 2014
  • Like
  • 0
Hello,

I'm trying display a message error on lightning component when i get some error on my apex class, like when my select returns zero records.Or my field doesent have the rigth formatt.

Please, can anyone could help me?

 
<aura:component implements="force:appHostable,flexipage:availableForRecordHome,force:hasRecordId" controller="MassReassignOpportunitiesController" access="global">
    
    
    <aura:attribute name="listOfOpportunities" type="List"/>
    
    <aura:attribute name="isExpanded" type="Boolean"/>
    
    <aura:attribute name="isExpandedPesq" type="Boolean" />
    
    <aura:attribute name="lstTiposOpp" type="List"/>
    
    <aura:attribute name="lstTiposStage" type="List"/>
    
    <aura:attribute name="searchRecord" type="String"/>
    
    <aura:attribute name="lUser" type="User"/>
    
    <aura:attribute name="recordId" type="Id"/>
    
    <aura:attribute name="mapSearch" type="map" default="{}" />
    
    <aura:attribute name="opportunity" type="Opportunity" 
               default="{ 'sobjectType': 'Opportunity' }"/>
    
       
    
    <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
    
   
    
    
    
    
    <div class="slds-grid slds-wrap">
        <div class="slds-col slds-size_12-of-12">
            <div class="slds-page-header">
                <div class="slds-media">
                    <div class="slds-media__figure">
                        <span class="slds-icon_container slds-icon-standard-opportunity" title="Description of icon when needed">
                            <lightning:icon iconName="custom:custom18" size="xx-small" alternativeText="Indicates approval"/>
                        </span>
                    </div>
                    <div class="slds-media__body">
                        <h1 class="slds-page-header__title slds-truncate slds-align-middle" title="Gestão de Mudança da Oportunidades">Gestão de mudança da oportunidades</h1>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <br/>
    
  	<lightning:recordEditForm aura:id="recordViewForm"
                          	  recordId="{!v.recordId}"
                              objectApiName="Opportunity">
    <div class="slds-page-header" style="background-color:#f4f6fe;">

        <div class="slds-grid slds-wrap">
            <div class="slds-col slds-size_12-of-12">
                <div class="slds-box" style="background-color:#007add;">
                    <div class="demo-only demo-only--sizing slds-grid slds-wrap">
                        <div class="slds-size_12-of-12">
                            <h4 class="slds-text-title_caps" id="treeheading" style="color:#fff;">Pesquisar Oportunidades</h4>
                        </div>
                    </div>
                </div>           
                <ul class="slds-tree" role="tree" aria-labelledby="treeheading">
                    <li role="treeitem" aria-level="1" aria-expanded="{!v.isExpanded}" aria-label="Tree Branch">
                        <br></br>
                        <div class="slds-tree__item slds-is-selected">
                            <button class="slds-button slds-button_icon slds-button_icon slds-m-right_x-small" aria-hidden="{!v.isExpanded}" onclick="{!c.changeState}" tabindex="-1" title="Expand Tree Branch">
                                <lightning:icon iconName="utility:chevronright" size="xx-small" alternativeText="Indicates approval"/>
                                <span class="slds-assistive-text">Pesquisa com Lista</span>
                            </button>
                            <span class="slds-size_1-of-1">
                                <span class="slds-tree__item-label slds-truncate" title="Pesquisa com Lista">Pesquisa com Lista</span>
                            </span>
                        </div>
                        <ul role="group">
                            <li role="treeitem" aria-level="2" aria-selected="false">
                                <div class="demo-only demo-only--sizing slds-grid slds-wrap">
                                    <div class="slds-size_3-of-12">
                                        <lightning:select name="selectItem" label="Lista" onchange="{!c.selectOpp}">
                                            <aura:iteration items="{!v.lstTiposOpp}" var="lstOpp"> 
                                                <option value="{!lstOpp}">{!lstOpp}</option>
                                            </aura:iteration>
                                        </lightning:select>
                                    </div>
                                </div>
                            </li>
                            <a href="/lightning/o/Opportunity/list?filterName=Recent"   target="_new" >Criar novo modo de exibição</a>
                        </ul>
                    </li>
                </ul>
            </div>
            
            <br></br>

            <div class="slds-col slds-size_12-of-12">
                <ul class="slds-tree" role="tree" aria-labelledby="treeheading">
                    <li role="treeitem" aria-level="1" aria-expanded="{!v.isExpandedPesq}" aria-label="Tree Branch">

                        <div class="slds-tree__item slds-is-selected">
                            <button class="slds-button slds-button_icon slds-button_icon slds-m-right_x-small" aria-hidden="{!v.isExpandedPesq}" onclick="{!c.changeStateTwo}" tabindex="-1" title="Pesquisar Oportunidades">
                                <lightning:icon iconName="utility:chevronright" size="xx-small" alternativeText="Indicates approval"/>
                                <span class="slds-assistive-text">Pesquisa com um critério de busca</span>
                            </button>
                            <span class="slds-size_1-of-1">
                                <span class="slds-tree__item-label slds-truncate" title="Pesquisa com um critério de busca">Pesquisa com um critério de busca</span>
                            </span>
                        </div> 
                         
                        <ul role="group">
                            <li role="treeitem" aria-level="2">
                                <div class="demo-only">
                                    <div class="slds-form slds-form_compound">
                                        <div class="slds-col slds-size_8-of-12">
                                            <fieldset class="slds-form-element">
                                                <div class="slds-form-element__group">
                                                    <div class="slds-form-element__row">                                                        
                                                        <div class="slds-form-element slds-size_1-of-2">
                                                            <lightning:inputField fieldName="Name"/>                                         
                                                        </div>
                                                        <div class="slds-p-horizontal--xx-large"></div>                    
                                                       <div class="slds-form-element slds-size_1-of-2">            
                                                         <lightning:inputField fieldName="StageName" />   
                                                    </div>
                                                  </div>                                         
                                                </div>            
                                            </fieldset>
                                                
                                        </div>
                                        <div class="slds-col slds-size_8-of-12">
                                            <fieldset class="slds-form-element">
                                                <div class="slds-form-element__row">
                                                    <div class="slds-form-element slds-size_1-of-2">
                                                         <lightning:inputField fieldName="AccountId" />   
                                                    </div>
                                                    <div class="slds-p-horizontal--xx-large"></div> 
                                                    <div class="slds-form-element slds-size_1-of-2">
                                                         <lightning:inputField fieldName="OwnerId" />   
                                                    </div>
                                                    </div>
                                                  
                                            </fieldset>
                                        </div> 
                                        
                                        
                                        <div class="slds-col slds-size_8-of-12">
                                            <fieldset class="slds-form-element">
                                                <div class="slds-form-element__row">
                                                    <div class="slds-form-element slds-size_1-of-2">
                                                        <label class="slds-form-element__label" for="input-01">CNPJ/CPF</label>
                                                        <input type="text" id="input-01" value="{!v.opportunity.BI_BR_CNPJ_CPF__c}" class="slds-input" />
                                                    </div>
                                                    <div class="slds-p-horizontal--xx-large"></div>
                                                    <div class="slds-form-element slds-size_1-of-2">
                                                        <label class="slds-form-element__label" for="input-01">Número da Oportunidade</label>
                                                        <input type="text" id="input-01" value="{!v.opportunity.BI_BR_Identificador__c}" class="slds-input" />
                                                    </div>
                                                    
                                                </div>
                                            </fieldset>
                                        </div>
                                        <div class="slds-col slds-size_8-of-12">
                                            <fieldset class="slds-form-element">
                                                <div class="slds-form-element__row">
                                                    <div class="slds-form-element slds-size_1-of-2">
                                                        <legend class="slds-form-element__label slds-text-title_caps">Data de Criação</legend>
                                                        <label class="slds-form-element__label" for="input-01">A partir de</label>
                                                        <input type="date"  id="input-01" class="slds-input" value="{!v.opportunity.From__c}" />
                                                        <label class="slds-form-element__label" for="input-01">Até</label>
                                                        <input type="date"  id="input-01" class="slds-input" value="{!v.opportunity.To__c}" />

                                                    </div>
                                                    <div class="slds-p-horizontal--xx-large"></div>
                                                    <div class="slds-form-element slds-size_1-of-2">
                                                        <legend class="slds-form-element__label slds-text-title_caps">Data de fechamento estimado</legend>
                                                        <label class="slds-form-element__label" for="input-01">A partir de</label>
                                                        <input type="date" id="input-01" class="slds-input" value="{!v.opportunity.ClosedDate_From__c}" />
                                                        <label class="slds-form-element__label" for="input-01">Até</label>
                                                        <input type="date"  id="input-01" class="slds-input" value="{!v.opportunity.ClosedDate_To__c}"/>

                                                    </div>
                                                </div>
                                            </fieldset>
                                        </div>
                                    </div>
                                </div>
                            </li>
                        </ul>
                    </li> 
                </ul>
            </div>
        </div>
    </div>
 </lightning:recordEditForm>

 
I’ve been experimenting with the new lightning:inputfield and it seems that the lookup fields don’t work in the mobile app or in Lightning Components which have been embedded in VF pages. Do people know if that is the case?
 
If so, does anybody know if there are plans to make them work in those environments? There not a danger that Salesforce is making migration pathways to Lightning Experience that much harder for larger organisations with complex/slow migration plans? It seems that the option is either to:
  • Develop functionality as both VF pages and Lightning Components so that the use case can work in either environment during the migration
  • Develop VF pages to embed in lightning experience (which has all sorts of issues with passing data out of the VF controllers to the pages they’re embedded in, etc.
It would be good to understand whether this is a thing we can wait for, or will need to consider as part of an eventual migration strategy.
Hi All,

I have a batch which processes bulk records. Once records are updated, I am firing up a process builder to invoke apex method making a webservice callout. As the context is batch, I can not use @future annotation. So it fails with error "System.CalloutException: Callout from triggers are currently not supported."
If I call webservice callout method directly in batch, then I might hit callout limit. I am kind of stuck with this situation. Any solution will be appreciated. 
Hi all ,

I need help with the following use case:

Students should be able to sign up for a class through an intercative calendar that should display class name ,time,duration etc.we should also be able to filter the calendar view by state or class.

I am looking for a native salesforce solution/app.

Thanks
 
Morning,

I have the requirement to create a public calendar event based on a date field on a record on a custom object once it has been populated. I was going to default the date and time to be 9am so that it can be updated later on. Can anyone suggest a way of doing this without having to use any Apex triggers where possible?

Hi, i have 1000 reports in 100 folders. I need move the reports from original forder to a new folder.

 

Is there any way to do so through the metadata?

 

thanks

I am performing some validation on click of button

 

<apex:commandButton styleClass="cmdButton" style="background: green;" value="{!if(timesheet3.Status__c == 'To Be Approved','Verify Timesheet','Approve Timesheet')}" onclick="javascript&colon;displayHoursPerWeekError('{!hoursPerWeekError}')" rerender="msg" />

 

function displayHoursPerWeekError(display)
{
if(display=='true')
{

var agree=confirm("Hours per week is less, are you sure you want to submit timesheet?");
if (agree)
{
approval();
return true ;
}
else
return false ;
}
else
{
alert('this');
approval();
return true;
}
}

If validation is true then I am calling submitApprove function at the controller using action function. Now after completing the request I need to get a property defined at controller to determing whether to close the window or not. But the alert('{!Test}'); prints blank although for testing purpose I am just returning false from this property.

 

<apex:actionFunction action="{!submitApprove}" oncomplete="Javascript&colon;alert('{!Test}');if('{!closeWindow}' == 'true') {window.close();};"  name="approval"/>

Hi

 

How can I change owner for multiple cases at once

 

for ex ramu--->ravi

 

Regards.

If there's a lookup to a user within a record, how do I write a Visualforce page and controller to display that user's profile picture within the record itself? I wanted to see if you had any tips and suggestions on the exact coding itself.

 

Thanks.

 

Hello Board,

 

I want to use two datepicker on visualforce page to specify range and based on their input values execute the query and display the result.

 

Is there any Datepicker available which will look like standard datepicker available in SF?

 

Thanks,

Devendra

Hi All,

 

I need to call two functions and want a delay of 10 seconds between then.

 

It is possible with Apex code ?

 

Thanks,

Deepak

Hi,

 

I want to get(populate) a datetime input value from visual force page to custom controller. I can't use inputfield since it is not filed in  any object.

 

suggest me...

 

 

Trying to standardize our greeting in all of our Email Templates used in responses, and we want to simply have a custom function that when added to an email template will look like:

 

Hi,

Thank you for contacting us.

 The challenge with using the BR() tag is that it actually inserts as:

 

Hi,<br>Thank you for contacting us.<br>

 Which obviously won't render properly in a text email.

 

I've tried adding in \r\n, \n, just adding a carriage return in my formula, but can't seem to get any of that to work. Also tried the following, but no luck.

("Hi," & '\n' & "Thank you for contacting us." & '\n')

 

Any thoughts?

 

 

 

 

Hey all,

 

I'm trying to make a component for adding inline notes to any record.

 

But each time I call the {!addNote} action, I get "System.Exception: DML currently not allowed"

 

I don't know why that is, some explanation would be hot.

 

 

Here is my controller:

 

 

public class GenericInlineNoteComponentController { // External variables public List<Note> n {get; set;} public String myObjectId {get; set;} public GenericInlineNoteComponentController() { Id thisId = myObjectId; n = new List<Note>(); Note newNote = new Note(); newNote.ParentId = thisId; //Add the new line right off the bat n.add(newNote); } //Save public PageReference addNote() { insert n; return null; } }

 

Everything displays correctly till addNote is called.

 

 

 

Thanks,

JNH


 

  • December 18, 2009
  • Like
  • 0

I can't do direct assignment in my query because it returns more than 1000 rows, but I can't figure out how to query in a for loop.  Normally it would look something like this

 

for (List<Account> accts : [SELECT id, name FROM account WHERE name LIKE 'Acme']) { // Your code here update accts; }

 

 That's static sql...how would I pass a string that's being built based on filters selected in a VF page?  We have a products page and they can select multiple filters & values and then query products.  I can't figure out how to pass the string of SOQL that I built to a for loop(like above).  Help!!!

 

 

I'm trying to copy a new user as contact by using a trigger but I'm getting the following error

 

MIXED_DML_OPERATION, DML operation on setup object is not permitted after you have updated a non-setup object (or vice versa): Contact, original object: User

 

trigger Acceleration_User_Copyto_Contact on User (after insert, after update) {
    
   // Map<String,User> newLead = new Map <String, User>();
    
    system.debug('Acceleration_User_Copyto_Contact Trigger....');
 
    for ( User user : System.Trigger.new)
    {
        if  (user.Email.contains('acceleration'))
        {
            system.debug('Acceleration_User_Copyto_Contact Trigger..2.');
            Integer RecordCount = [select count() from Contact c where c.Email = : user.Email];
            
            system.debug('Acceleration_User_Copyto_Contact Trigger..2a .' + RecordCount);
            
            if (RecordCount == 0)
            {
                String AccountId = '';
                for ( Account a : [Select a.Id From Account a where Name = 'Acceleration']) 
                {
                    system.debug('Acceleration_User_Copyto_Contact Trigger..3.');
                     
                    AccountId = a.Id;
                
                    Contact con = New Contact();
                    con.AccountId = AccountId ;
                    con.Email = user.Email;
                    con.Firstname = User.Firstname;
                    con.Lastname = User.Lastname ;
                    con.User__c = User.Id;
                    insert con;
                }          
            }                   
        }
        
     }
    
    
}

 

I am trying to implement my own email-to-case class and I have the following code, which is working in my sandbox, to create an EmailMessage on a case using email services:
 
EmailMessage[] newEmail = new EmailMessage[0];
 
newEmail.add(new EmailMessage(FromAddress = email.fromAddress,
FromName = email.fromName,
ToAddress = email.toAddresses[0],
Subject = email.subject,
TextBody = email.plainTextBody,
HtmlBody = email.htmlBody,
ParentId = newCase[0].Id, 
ActivityId = newTask[0].Id));   // (newCase and newTask are the newly created case and task from earlier code)
 
insert newEmail;
 
I have several questions.  Is it possible to set the email message status to "New"?  If I attempt to add "Status = 'New'" in the .add() method I get an error: Message: Insert failed. First exception on row 0; first error: INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST, Status: bad value for restricted picklist field: New: [Status] null.  If I don't attempt to set the status, it defaults to "Sent".
 
Also, does anyone have any sample code to share that adds headers and attachments from an inbound email to an Email Message object?  I'm struggling with that one.
 
Another minor issue that is bugging me is that in the Email Section of the Case page in my sandbox, the column labelled "Email Address" shows the 'to address' and my production version using the the standard SFDC email to case application will have the 'from address' (contact's address) displayed.  Does anyone know what field in the Email Message object this data comes from?
 
Thanks for the help!

Roll-up summary fields are wrong in a certain case.

It relates to many:many relationships and cascading deletes.

Here's a stripped-down test case (not quite real world, but almost identical to the more complicated real thing):

We want a new object, "PhoneNumber", which normalizes all unique Phone numbers found in Contact records.  It is required that the PhoneNumber object has a roll-up summary field, "Contact Count", which gives the current number of Contacts with that phone number (in their phone/mobile/business etc fields).  This is a many:many relationship because multiple Contacts can have the same phone number, and a Contact has multiple phone numbers.

Expressing this relationship requires two custom objects in Salesforce.com:

PhoneNumber__c.Name             // the text string of the phone number
PhoneNumber__c.ContactCt0__c    // roll-up: COUNT Phone2Contact

Phone2Contact__c.PhoneNumber__c // Master-Detail(Phone Number)
Phone2Contact__c.Contact__c     // Lookup(Contact)


Triggers are used to maintain the "PhoneNumber" and "Phone2Contact" tables.

The problem occurs when a user deletes an Account.  All of the Contacts in the Account are deleted, but no triggers are fired for the Contact deletion.  I could write a trigger on Account delete/undelete, but if the Account has too many Contacts the trigger will fail.  (see this post).

Of course, the Phone2Contact records would be cascase-deleted IF Phone2Contact were defined in Master-Detail with the Contact, rather than the PhoneNumber, but the "Contact Count" roll-up summary requirement precludes this.


So those orphaned Phone2Contact__c records are not deleted.  However, they are updated - their Contact lookup field is set to null (actually, null-ish .. see below).  And, usefully, if the Account is undeleted - thus undeleting its Contacts - the Contact lookup field will be reset correctly.

So, if all my queries against Phone2Contact__c are careful to filter on Contact__c != null, that should give me what I need.


The problem lies in the "Contact Count" Roll-Up summary field.  It is no longer accurate, because the orphaned Phone2Contact records still exist (with a NULL Contact__c field).


I cannot define the roll-up as COUNT(Phone2Contact__c where Contact__c NOT EQUAL TO NULL) because "NULL" is interpreted here as a literal string rather than the null value.  There is no way to enter a blank string (or some signifier of null) into the "Value" field of the "not equal to" operator.  The only filter options available for a field of type lookup are equals / not equal to / starts with.


OK, so we get creative.  If we can't use a filtered "COUNT" roll-up, perhaps we can use a SUM roll-up that references a formula on Phone2Contact__c.

Let's add two fields to Phone2Contact__c:

Phone2Contact__c.ContactCt1__c // IF(ISNULL(Contact__c),0,1)
Phone2Contact__c.ContactCt2__c // IF(0 = len(Contact__c), 0, 1)


And let's roll them up into PhoneNumber:

PhoneNumber__c.ContactCt1__c    // roll-up: SUM Phone2Contact.ContactCt1__c
PhoneNumber__c.ContactCt2__c    // roll-up: SUM Phone2Contact.ContactCt2__c


Now let's see how all those fields behave in a test case:

Code:
public abstract class testPhoneNumber {

 private static testMethod void testAccountDelete() {
  // create a new Account (for easy delete/undelete)
  Account a = new Account(Name = 'Test Account 1');
  insert a;
  
  // create a new Contact in that account
  Contact c = new Contact(LastName = 'Test', AccountId = a.Id, Phone='(999)999-9999');
  insert c;

  // do what triggers would have done for us
  PhoneNumber__c p = new PhoneNumber__c(Name = c.Phone);
  insert p;
  Phone2Contact__c p2c = new Phone2Contact__c(Contact__c = c.Id, PhoneNumber__c = p.Id);
  insert p2c;

  
  dump(p2c.Id, 'before account delete');
  
  delete a;
  
  dump(p2c.Id, 'after account delete');

  undelete a;
    
  dump(p2c.Id, 'after account undelete');
  }

 private static void dump(Id id, string label) {
  Phone2Contact__c p2c = [select Contact__c, ContactCt1__c, ContactCt2__c
,PhoneNumber__r.ContactCt0__c, PhoneNumber__r.ContactCt1__c, PhoneNumber__r.ContactCt2__c
from Phone2Contact__c where Id = :id];
System.debug('\r\n\r\n' + label
+ '\r\n' + p2c.Contact__c + ' = p2c.Contact__c'
+ '\r\n' + p2c.ContactCt1__c + ' = count1 = IF(ISNULL(Contact__c),0,1)'
+ '\r\n' + p2c.ContactCt2__c + ' = count2 = IF(0 = len(Contact__c),0,1)'
+ '\r\n' + p2c.PhoneNumber__r.ContactCt0__c + ' = Roll-Up: COUNT(Phone2Contact)'
+ '\r\n' + p2c.PhoneNumber__r.ContactCt1__c + ' = Roll-Up: SUM(count1)'
+ '\r\n' + p2c.PhoneNumber__r.ContactCt2__c + ' = Roll-Up: SUM(count2)'
);
}

}

 
Here's the output (w/ comments added)


before account delete
0037000000VsRxwAAF = p2c.Contact__c
1.0 = count1 = IF(ISNULL(Contact__c),0,1)
1.0 = count2 = IF(0 = len(Contact__c),0,1)
1.0 = Roll-Up: COUNT(Phone2Contact)
1.0 = Roll-Up: SUM(count1)
1.0 = Roll-Up: SUM(count2)


after account delete
null = p2c.Contact__c
1.0 = count1 = IF(ISNULL(Contact__c),0,1)     // *1
0.0 = count2 = IF(0 = len(Contact__c),0,1)    // *2
1.0 = Roll-Up: COUNT(Phone2Contact)
1.0 = Roll-Up: SUM(count1)
1.0 = Roll-Up: SUM(count2)                    // *3


after account undelete
0037000000VsRxwAAF = p2c.Contact__c
1.0 = count1 = IF(ISNULL(Contact__c),0,1)
1.0 = count2 = IF(0 = len(Contact__c),0,1)
1.0 = Roll-Up: COUNT(Phone2Contact)
1.0 = Roll-Up: SUM(count1)
1.0 = Roll-Up: SUM(count2)



*1 ok, good to know, I guess the field is empty but not null ... although I thought that wasn't possible! (in SFDC all strings are trimmed prior to storage, and empty strings are converted to null)

*2 that's what we want on the child object

*3 BUG.  Why isn't this rolling up correctly?
  • February 08, 2008
  • Like
  • 0
Hi Everyone,

I have created an automated process through process builder and process builder calling Apex Class 
See below Apex class which is called from process builder ----- code sample

    global without sharing class ICM_ProcessInvocableClass{    
    @InvocableMethod(label='ICMServiceClass' description='')
    global static void callICMServiceBus(List<String> RecordIdList) {
        string sessionToken = UserInfo.getSessionId(); 
        system.debug('@@@@sessionToken:-- '+sessionToken);
        system.debug('@@@@UserTheme:-- '+userinfo.getUiThemeDisplayed());
        ICM_ServiceBusAPICallClass.CallICMServiceAPI(eachRecId,sessionToken);                
       
   }
}
To pass session id to CallICMServiceAPI method (@feature Method),
The above class called from process builder when our opportunity record is created or edited.

if i edited opportunity record in lightning context our session id is invalid.

please give me solution in this.
 
I've got a proble with my Eclipse (Kepler) IDE. My sandbox where I'm working on was upgraded to summer '14 recently, sort of as a preview instance. So because the server location also changed from cs8 to cs7 I created a new force.com project and downloaded Classes and Triggers, generally the only things I'm working on atm. Then I encountered a problem while saving changes. They were still applied in the Sandbox, but the list of yellow exclamation marks got bigger and bigger. So I thought there may have been an update to the Salesforce Integration part in Eclipse and I updated/reinstalled the plugin. After a restart of Eclipse, I hoped for the error to go away but it didn't. So I downloaded the classes and triggers again in a new project (deleted the old ones) and was sure it would be gone by now. But here's what I get while saving for like an eternity:
User-added image

Again, the changes are taken over in the Sandbox, but this list will only get longer and longer until the important warnings will no longer be separable from those. Is this a server issue, a version conflict, an already known issue, anything?

Thanks for help.