+ Start a Discussion
Lionel KamdemLionel Kamdem 
Working on Superbadge challenge, and I'm on part 6. 

Automate Fulfillment Cancellation Actions
User-added image

*Fulfillment is a custom object
*Adventure is the product object renamed 

This is the error I'm getting: 
User-added image

I believe I did everything correctly, but the error seems to be the cancelled fulfillment not updating the adventure package correctly. I believe I may not be referencing the original adventure package correctly. 

*adventure package is opportunity product renamed. 

Here is what I did:
User-added image

Please can anyone give me any insight into this. Thank you. 
Best Answer chosen by Lionel Kamdem
NagendraNagendra (Salesforce Developers) 
Hi Lionel,

Sorry for this issue you are encountering.

This one took me a while, and I had to piece together several different responses to make it work, so I'll recap it all here.

Process on the Fulfillment Object.
User-added imageCriteria:
1. [Fulfillment__c].Status__c  Equals  Picklist  Cancelled
2. [Fulfillment__c].Schedule_Date__c  Greater than  Formula  TODAY()
User-added image
IMMEDIATE ACTIONS
Record: [Fulfillment__c].Opportunity.OpportunityLineItems
Criteria for Updating Records: Updated records meet all conditions
Filter:
1. Line Item ID  Equals  Formula  [Fulfillment__c].AdventurePackageId__c
[note, I wanted to use Reference, but the AdventurePackageId field wasn't available to reference, so I used Formula]

Set new field values for the records you update:
Sales Price   Reference  [Fulfillment__c].Deposit__c
User-added image
As recommended, go to Setup > Object Manager > Adventure Package > Fields & Relationships, and edit the settings for the Explorer__c field. 
  • Uncheck the Required checkbox
  • Change "What to do if the lookup record is deleted?" to "Clear the value of this field"
User-added image

Hope this helps.

Kindly mark this as solved if the reply was helpful so that it gets removed from the unanswered queue which results in helping others who are encountering the similar issue.

Thanks,
Nagendra
Terri HenryTerri Henry 
Racking my brains as to why I can't get the final two lines to pass and hit 100% coverage

It's both branches of the IF statement outstanding, but I thought I had captured that with generating 2 different account records

Any pointers much appreciated!

CLASS
public without sharing class lastViewedAccount{
    public Datetime cDT;
    public String LongDate;
    public String firstname;
    public String lastname;
    public String existinglastviewed;
    public String userid;
    private final Account acc;
    
    public lastViewedAccount(ApexPages.StandardController stdController) {
        this.acc = (Account)stdController.getRecord();
    }
    
    public String getLongDate() {
        cDT = System.now();
        //Formats the datetime value to locale
        LongDate = cDT.format('dd/MM/yyyy HH:mm');
        return LongDate;
    }
    
    
    public void updateField() {
        //Get the user info from the current user
        firstname = System.Userinfo.getFirstName();
        lastname = System.Userinfo.getLastName();
        userid = System.Userinfo.getUserId();
        //Get the Opportunity record to be updated
        Account a = [select Last_Viewed_By__c, Track_Record__c from Account where id = :acc.id limit 1];
        //get existing string of the record, so that new view can be appended to the end of this
        existinglastviewed = a.Last_Viewed_By__c;
        //check to see if the Opportunity has been flagged for tracking
        if(a.Track_Record__c){
            //Assign values to Last Viewed By field and update the record - only concatenate if there is a value there already
            if(existinglastviewed != null){
                a.Last_Viewed_By__c = (existinglastviewed + '; \n' + firstname + ' ' + lastname + ' ' + getLongDate());
            }
            else a.Last_Viewed_By__c = (firstname + ' ' + lastname + ' ' + getLongDate());
            update a;
        }    
    }
    
}

TEST CLASS
@isTest
public with sharing class lastViewedAccountTest {


    static testMethod void triggerTest() {
        
        //Create Account1 - with pre-existing 'Last Viewed By' populated - to test if statement
        Account testAccount1 = new Account(Name = 'testAccount');
        testAccount1.Company_Registered_Number_SOC__c = '00000000';
        testAccount1.Primary_Sector__c = 'Business Goods & Services';
        testAccount1.Sub_Sector__c = 'Point of Sale';
        testAccount1.Organisation_type_SOC__c = 'Limited Company'; 
        testAccount1.Street_Head_Office_SOC__c = 'Test Street'; 
        testAccount1.City_Head_Office_SOC__c = 'London'; 
        testAccount1.Country_Head_Office_SOC__c = 'United Kingdom';
        testAccount1.Last_Viewed_By__c = 'Example User';
        insert testAccount1;
 
 
        ApexPages.StandardController sc1 = new ApexPages.StandardController(testAccount1);
        lastViewedAccount lastViewedAcc1 = new lastViewedAccount(sc1);
        
        System.assert(!String.isEmpty(lastViewedAcc1.getLongDate()));
        lastViewedAcc1.updateField();
        
        
              
        //Create Opportunity 2 - with no 'Last Viewed By' data - to check 2nd branch of if statement
        Account testAccount2 = new Account(Name = 'testAccount');
        testAccount2.Company_Registered_Number_SOC__c = '00000000';
        testAccount2.Primary_Sector__c = 'Business Goods & Services';
        testAccount2.Sub_Sector__c = 'Point of Sale';
        testAccount2.Organisation_type_SOC__c = 'Limited Company'; 
        testAccount2.Street_Head_Office_SOC__c = 'Test Street'; 
        testAccount2.City_Head_Office_SOC__c = 'London'; 
        testAccount2.Country_Head_Office_SOC__c = 'United Kingdom';
        insert testAccount2;
 
 
        ApexPages.StandardController sc2 = new ApexPages.StandardController(testAccount2);
        lastViewedAccount lastViewedAcc2 = new lastViewedAccount(sc2);
        
        System.assert(!String.isEmpty(lastViewedAcc2.getLongDate()));
        lastViewedAcc2.updateField();
        
        
    }   

}

Best Answer chosen by Terri Henry
v varaprasadv varaprasad
Hi, 

Please try once below code : 

Need to add testAccount1.Track_Record__c = True;
 
@isTest
public with sharing class lastViewedAccountTest {


    static testMethod void triggerTest() {
        
        //Create Account1 - with pre-existing 'Last Viewed By' populated - to test if statement
        Account testAccount1 = new Account(Name = 'testAccount');
        testAccount1.Company_Registered_Number_SOC__c = '00000000';
        testAccount1.Primary_Sector__c = 'Business Goods & Services';
        testAccount1.Sub_Sector__c = 'Point of Sale';
        testAccount1.Organisation_type_SOC__c = 'Limited Company'; 
        testAccount1.Street_Head_Office_SOC__c = 'Test Street'; 
        testAccount1.City_Head_Office_SOC__c = 'London'; 
        testAccount1.Country_Head_Office_SOC__c = 'United Kingdom';
        testAccount1.Last_Viewed_By__c = 'Example User';
		testAccount1.Track_Record__c = True;
        insert testAccount1;
 
 
        ApexPages.StandardController sc1 = new ApexPages.StandardController(testAccount1);
        lastViewedAccount lastViewedAcc1 = new lastViewedAccount(sc1);
        
        System.assert(!String.isEmpty(lastViewedAcc1.getLongDate()));
        lastViewedAcc1.updateField();
        
        
              
        //Create Opportunity 2 - with no 'Last Viewed By' data - to check 2nd branch of if statement
        Account testAccount2 = new Account(Name = 'testAccount');
        testAccount2.Company_Registered_Number_SOC__c = '00000000';
        testAccount2.Primary_Sector__c = 'Business Goods & Services';
        testAccount2.Sub_Sector__c = 'Point of Sale';
        testAccount2.Organisation_type_SOC__c = 'Limited Company'; 
        testAccount2.Street_Head_Office_SOC__c = 'Test Street'; 
        testAccount2.City_Head_Office_SOC__c = 'London'; 
        testAccount2.Country_Head_Office_SOC__c = 'United Kingdom';
        testAccount2.Track_Record__c = True;
		insert testAccount2;
 
 
        ApexPages.StandardController sc2 = new ApexPages.StandardController(testAccount2);
        lastViewedAccount lastViewedAcc2 = new lastViewedAccount(sc2);
        
        System.assert(!String.isEmpty(lastViewedAcc2.getLongDate()));
        lastViewedAcc2.updateField();
        
        
    }   

}

Hope this helps you!
If my answer helps resolve your query, please mark it as the 'Best Answer' & upvote it to benefit others.

Thanks
Varaprasad
@For  Support: varaprasad4sfdc@gmail.com
Blog : http://salesforceprasad.blogspot.com/


 
Sean ClarkSean Clark 
I have created a Apex Trigger to create a task on the MVP object when the Last Contacted On date is 30 days old.

Is there anyway i can make it so that the task will only be created on a weekday? (Monday - Friday)



trigger OldMVPTrigger on MVP__c (after insert) {
    
    List<Task> taskListToInsert = new List<task>();
    
    for(MVP__c mvp:Trigger.new)
    {
        if(mvp.Last_Contacted_On__c == Date.Today().addDays(-30)) 
        {
           task t = new Task();
           t.Subject = 'Call [MVP__c].MVP__c.FirstName Today';
           t.OwnerId = '[MVP__c].MVP_Owner__c';
           t.WhatId = mvp.Id;
           taskListToInsert.add(t);
        }
    }
    if(taskListToInsert.size() > 0)
    {
        insert taskListToInsert;
    }
}
Best Answer chosen by Sean Clark
Nishant Prajapati 10Nishant Prajapati 10
Hi Sean 
Please try following code.
trigger OldMVPTrigger on MVP__c (after insert) {
    
    List<Task> taskListToInsert = new List<task>();
    
    for(MVP__c mvp:Trigger.new)
    {
        if(mvp.Last_Contacted_On__c == Date.Today().addDays(-30) && system.today() <=    system.today().toStartOfWeek().addDays(5) ) 
        {
           task t = new Task();
           t.Subject = 'Call [MVP__c].MVP__c.FirstName Today';
           t.OwnerId = '[MVP__c].MVP_Owner__c';
           t.WhatId = mvp.Id;
           taskListToInsert.add(t);
        }
    }
    if(taskListToInsert.size() > 0)
    {
        insert taskListToInsert;
    }
}
srinivas vanaparthisrinivas vanaparthi 
String jsonText = '{"Data": [{"attributes": {"type": "Contact","url":"/services/data/v35.0/sobjects/Contact/0036100000JUXKkAAP"},"Email":"positi@gmail.com","Description": "","Phone":"9999999","LastName": "sasumi"},{"attributes": {"type": "Contact","url":"/services/data/v35.0/sobjects/Contact/0036100000JUXKkAAP"},"Email":"edge@gmail.com","Description": "","Phone":"88888","LastName": "pavanTL"}]}';

Map<String, Object> deserialized = (Map<String, Object>)JSON.deserializeUntyped(jsonText);
List<Map<String, Object>> data = new List<Map<String, Object>>();
for (Object instance : (List<Object>)deserialized.get('Data')){
    data.add((Map<String, Object>)instance); 
}

String dataSerialize=JSON.serialize(data);
System.debug('dataSerialize...'+dataSerialize);
try
{
   SObject customObject = (SObject)JSON.deserialize(dataSerialize, Sobject.class);
    Database.upsert(customObject);
    System.debug(' customObject...: '+customObject);
}
catch(Exception ex)
{
    System.debug(' @@@@@ Don\'t visible '+ex.getMessage());
}

 
Best Answer chosen by srinivas vanaparthi
Sampath SuranjiSampath Suranji
Hi,
Try below code.
String jsonText = '{"Data": [{"attributes": {"type": "Contact","url":"/services/data/v35.0/sobjects/Contact/0036100000JUXKkAAP"},"Email":"positi@gmail.com","Description": "","Phone":"9999999","LastName": "sasumi"},{"attributes": {"type": "Contact","url":"/services/data/v35.0/sobjects/Contact/0036100000JUXKkAAP"},"Email":"edge@gmail.com","Description": "","Phone":"88888","LastName": "pavanTL"}]}';

Map<String, Object> deserialized = (Map<String, Object>)JSON.deserializeUntyped(jsonText);
List<string > finalJsonString = new List<string>();
List<Map<String, Object>> data = new List<Map<String, Object>>();
for (Object instance : (List<Object>)deserialized.get('Data')){
    finalJsonString.add(JSON.serialize(instance)); 
}

try
{
    for(string s: finalJsonString){
        SObject customObject = (SObject)JSON.deserialize(s, Sobject.class);
        System.debug('customObject '+ customObject);
        Database.upsert(customObject);
        System.debug(' customObject...: '+customObject);
    }
    
}
catch(Exception ex)
{
    System.debug(' @@@@@ Don\'t visible '+ex.getMessage());
}

regards
Wei Keong KhooWei Keong Khoo 
Hi everyone,

I am developing a Custom Lightning Component and it suppose to be a dynamic component.

But I do not seems to be able to create additional filter to be used on Lightning App Builder setup page.

I wanted to do something like standard Lightning Components:
User-added image

Anyone have any experience in creating filter for Custom Lightning Component?
Best Answer chosen by Wei Keong Khoo
Nishant Prajapati 10Nishant Prajapati 10
Hi Wei
Use a design resource to control which attributes are exposed to  the Lightning App Builder.
https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/components_config_for_app_builder_design_files.htm
DJ 367DJ 367 
Hello All,

I have made two lightning component my example is when I select Account Rating it should display related Account record, I am not sure where I am doing mistake , can someone please help me.
My code is below:
// class
public with sharing class AccountRating {
	
    @AuraEnabled
    public static List<Account> AccMethod(RatParam){
        return [select Id,name,site,Rating from Account where Rating = : RatParam];        
    }
}
Lightning Component:
<aura:component >
    
    <aura:attribute name ="Acc" type="Account" />
    
    <div class="demo-only" style="width: 30rem;">
      <article class="slds-tile">
        <h3 class="slds-tile__title slds-truncate" title="Account Name"><a href="javascript:void(0);">{!v.Acc.Name}</a></h3>
        <div class="slds-tile__detail">
          <dl class="slds-list_horizontal slds-wrap">
            <dt class="slds-item_label slds-text-color_weak slds-truncate" title="First Label">Rating:</dt>
            <dd class="slds-item_detail slds-truncate" title="Description for first label">{!v.Acc.Rating}</dd>
            <dt class="slds-item_label slds-text-color_weak slds-truncate" title="Second Label">Site:</dt>
            <dd class="slds-item_detail slds-truncate" title="Description for second label">{!v.Acc.Site}</dd>
          </dl>
        </div>
      </article>
    </div>
</aura:component>

Component: 2
 
<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" >
    <aura:attribute Name = "Rating" type = "List" />
    
    <div class="slds-form-element">
      <label class="slds-form-element__label" for="select-01">Select Label</label>
      <div class="slds-form-element__control">
        <div class="slds-select_container">
          <select class="slds-select" id="select-01">
            <option value="selVal">Please select</option>
            <option>Hot</option>
            <option>Warm</option>
            <option>Cold</option>
          </select>
        </div>
      </div>
    </div>
    
    <aura:iteration items = "{!Rating}" var = "Rat" >
        <c:AccountRatingTile Acc = "{!Rat}" />
    </aura:iteration>
    
</aura:component>
Clientside Controller:
 
({
	AccRating : function(AccCom, event, helper) {
		var selValVal = AccCom.find("v.selVal");
        console.log(selValVal);
        var RatParam = selValVal.get("v.value");
        
        var searchAction =AccCom.get("c.AccMethod");
         searchAction.setParam("RatParam",RatParam);
        searchAction.setCallback(this,function(resp){
            AccCom.set("v.Acc",resp.getReturnValue());
            
        });
        $A.enqueueAction(searchAction);
	}
})

App:
<aura:application extends = "force:slds">
    <c:AccountRating />
</aura:application>


​Thanks.
 
Best Answer chosen by DJ 367
Sampath SuranjiSampath Suranji
Hi,
Try like below,
AccountRating cmp,
<aura:component implements="force:appHostable,flexipage:availableForAllPageTypes,flexipage:availableForRecordHome,force:hasRecordId,forceCommunity:availableForAllPageTypes,force:lightningQuickAction" access="global" controller="AccountRating" >
    <aura:attribute Name = "Ratings" type = "List" />
    <aura:attribute name="selectedVal" type="string"/>
    
    
    <div class="slds-form-element">
        <label class="slds-form-element__label" for="select-01">Select Label</label>
        <div class="slds-form-element__control">
            <div class="slds-select_container">
                <ui:inputselect aura:id="input_select" class="slds-select" change="{!c.AccRating}" value="{!v.selectedVal}">
                    <ui:inputselectoption text="--select--" label="" />
                    <ui:inputselectoption text="Hot" label="" />
                    <ui:inputselectoption text="Warm" label="" />
                    <ui:inputselectoption text="Cold" label="" />
                    
                </ui:inputselect>
                
            </div>
        </div>
    </div>
    
    <div id="divAccDetails">
        <aura:iteration items = "{!v.Ratings}" var ="Rat" >
            <c:AccountRatingTile Acc="{!Rat}" />
        </aura:iteration>
    </div>
    
    
</aura:component>
controller
({
    AccRating : function(component, event, helper)  {
        var selValVal = component.get("v.selectedVal");
        
        var searchAction =component.get("c.AccMethod");
        searchAction.setParam("RatParam",selValVal);
        searchAction.setCallback(this,function(resp){
            var s = resp.getState(); 
            if(s == "SUCCESS"){
                component.set("v.Ratings",resp.getReturnValue());
                
            }
            
            
        });
        $A.enqueueAction(searchAction);
    }
})
AccountRatingTile
<aura:component access="global">
    
    <aura:attribute name ="Acc" type="Account" />
    
    
    <div class="demo-only" style="width: 30rem;">
      <article class="slds-tile">
        <h3 class="slds-tile__title slds-truncate" title="Account Name"><a href="javascript:void(0);">{!v.Acc.Name}</a></h3>
        <div class="slds-tile__detail">
          <dl class="slds-list_horizontal slds-wrap">
            <dt class="slds-item_label slds-text-color_weak slds-truncate" title="First Label">Rating:</dt>
            <dd class="slds-item_detail slds-truncate" title="Description for first label">{!v.Acc.Rating}</dd>
            <dt class="slds-item_label slds-text-color_weak slds-truncate" title="Second Label">Site:</dt>
            <dd class="slds-item_detail slds-truncate" title="Description for second label">{!v.Acc.Site}</dd>
          </dl>
        </div>
      </article>
    </div>
</aura:component>

regards


 
Lakshmi Gupta 4Lakshmi Gupta 4 
I'm new to Salesforce and trying to understand Get, Set method.  I have written this simple code, where user can search for a record from custom object Attendance. Set method is not assigning the value to variable "Keyword".  Can someone explain what is the problem with my code?

Thank you

public class simplegetset
{  

    string keyword;
    list <attendance__c> att;
    
    public string getkeyword(){
    return keyword;
    }

    public list <attendance__C> getatt(){
     return att;
    }   
    
    Public void setKeyword(string s){
      keyword = s;
      }
      
     Public pagereference ShowResults(){
     att = [select contact__c, Manager__c, Manager_s_Manager__c,
               Approved__c,Attendance_Date__c, Hours__C,
              Is_Eligible_for_compensatory_off__c, AttendanceType__c FROM Attendance__c where contact__C = :keyword];
     return null;
     }
     
}
============================================================================

<apex:page controller="simplegetset">
  <apex:form >
   <apex:pageblock title="List of Employee Attendance">
   <apex:inputtext value="{!Keyword}"/>
   
   <apex:commandButton value="Show Results" action="{!ShowResults}" rerender="details"/>  
    <apex:pageblockTable value="{!att}" Var="a" id="details">
    <apex:column value="{!a.Contact__c}"/>
    <apex:column value="{!a.Manager__c}"/>
    <apex:column value="{!a.Manager_s_Manager__c}"/>
    <apex:column value="{!a.Approved__c}"/>  
    <apex:column value="{!a.Attendance_Date__c}"/>
    <apex:column value="{!a.Hours__c}"/>
    <apex:column value="{!a.AttendanceType__c }"/>    
   </apex:Pageblocktable>
   
   <apex:outputtext >{!keyword}
   </apex:outputtext> 
    </apex:pageblock>                
  </apex:form>    
</apex:page>

 
Best Answer chosen by Lakshmi Gupta 4
Raj VRaj V
Try this 
 
select contact__c, Manager__c, Manager_s_Manager__c,
               Approved__c,Attendance_Date__c, Hours__C,
              Is_Eligible_for_compensatory_off__c, AttendanceType__c FROM Attendance__c where contact__r.name LIKE :'%'+keyword+'%'

 
GMASJGMASJ 
Hi,

  I am using below ID to extract data using SOQL query I keep getting below error. Not sure what is issue is please suggest me. 
 
Error running Query: INVALID_QUERY_FILTER_OPERATOR: 
select id,name from account where id in ( '0013400001VHnhM', '0013400001VHnhq'
                                  ^
ERROR at Row:1:Column:35
invalid ID field: 0013400001VrBc
 
select id,name from account where id in ( '0013400001VHnhM',
'0013400001VHnhq',
'0013400001VrBVL',
'0013400001VHnjN',
'0013400001VrBVQ',
'0013400001VrBVV',
'0013400001MRoeD',
'0013400001VrBVa',
'0013400001NO0uf',
'0013400001VHnsj',
'0013400001VrBVf',
'0013400001VHntD',
'0013400001VrBVk',
'0013400001VHnw2',
'0013400001VrBVp',
'0013400001VHnxy',
'0013400001VrBVu',
'0013400001VHo1g',
'0013400001VHo3S',
'0013400001VrBW4',
'0013400001VH6QP',
'0013400001VHo9V',
'0013400001VHoAJ',
'0013400001VrBW9',
'0013400001VrBWE',
'0013400001VHoLR',
'0013400001VrBWJ',
'0013400001VrBWO',
'0013400001VHoP9AAL',
'0013400001VrBWT',
'0013400001VHoRe',
'0013400001VHoT6',
'0013400001VrBWd',
'0013400001VrBWi',
'0013400001VHoXN',
'0013400001VrBWs',
'0013400001VrJRz',
'0013400001VrJS4',
'0013400001VrBWx',
'0013400001VrBX2',
'0013400001VrBX7',
'0013400001VrBXC',
'0013400001VrBXH',
'0013400001VrBXM',
'0013400001VrBXR',
'0013400001VrBXW',
'0013400001VrBXg',
'0013400001VrBXl',
'0013400001VrBXq',
'0018000001AFZTH',
'0013400001VrBXv',
'0013400001VrBY0',
'0013400001VrBY5',
'0013400001VrBYA',
'0013400001VrBYF',
'0018000001DwmE4',
'0013400001VrBYK',
'0013400001VrBYP',
'0013400001VrBYZ',
'0013400001VrBYe',
'0013400001VrBYj',
'0013400001VrBYt',
'0013400001VrBYy',
'0013400001VrBZ3',
'0013400001VrBZD',
'0013400001VrBZI',
'0013400001Qkeeo',
'0013400001Ri6eF',
'0013400001VrBZN',
'0013400001VrBZX',
'0013400001VrBZc',
'0013400001VrBZh',
'0013400001VrBZm',
'0013400001VrBZr',
'0013400001VrBZw',
'0013400001VrBa1',
'0013400001VrBa6',
'0013400001VrBaB',
'0013400001VrBaG',
'0013400001VrBaV',
'0013400001VrBaa',
'0013400001VrBaf',
'0013400001VrBak',
'0013400001VrBap',
'0013400001VrBaz',
'0013400001VrBb9',
'0013400001VrBbE',
'0013400001VrBbJ',
'0013400001VrBbO',
'0013400001VrBbY',
'0013400001VrBbd',
'0013400001VrBbi',
'0013400001VrBbn',
'0013400001VrBbs',
'0013400001VrBbx',
'0013400001VrBc2',
'0013400001VrBc',
'0013400001LH411',
'0013400001LHqTY')

 
Best Answer chosen by GMASJ
devedeve
This error is because '0013400001VrBc' id is of 14 character that is not a valid salesforce id. Salesforce id should be of 15 character.
Jothi EswaranJothi Eswaran 
Consider one field (Test) is hidden to the profile and assigned to an user. A Page Layout is created, in that Page Layout this field (Test) is marked as visible. Now the user able to view the field or not ? OWD setting is set as Public.
Best Answer chosen by Jothi Eswaran
Frederick H LaneFrederick H Lane 
Please can someone advise me on the error message as below; There are no solutions on any forums.

Challenge Not yet complete... here's what's wrong: 
The BoatTile component doesn't fire the plotMapMarker event when a user clicks a boat.

I can send my code if someone can help?
Best Answer chosen by Frederick H Lane
Frederick H LaneFrederick H Lane
Many thanks Deve. This worked. Was it because my controller code failed to fire the PlotMapMarker event? Also, when I try to reply on the forum, I get a 505 fault. Please can you advise why? KInd Regards Frederick