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
rebvijkumrebvijkum 

Error: Compile Error: Initial term of field expression must be a concrete SObject: LIST<Core_Benefit__DataCategorySelection> at line 73 column 96

public class GetURLnew {
    public Article_Feedback__c ArticleFeedbackObj = new Article_Feedback__c();
    Public string Comments {get;set;}      
    String[] reasons = new String[]{};
    public Core_Benefit__kav filterid;
    public string cbkId {get; set;}
    public String sfUrl=URL.getSalesforceBaseUrl().getHost();   
    public List<Core_Benefit__DataCategorySelection> CatDetails;  
    public Core_Benefit__kav cbk {get; set;}
    public Boolean hiddenvaluesflag {get;set;}    
    public string ID=apexpages.currentpage(). getParameters().get('id');
    
    
    public GetURLnew(ApexPages.KnowledgeArticleVersionStandardController controller) {
        hiddenvaluesflag=false;
        String message = '' + ApexPages.CurrentPage().GetParameters().Get('message');
        String pageHeaderReferer = ApexPages.currentPage().getHeaders().get('Referer');             
        cbkId = apexpages.currentpage(). getParameters().get('id');       
        cbk = new Core_Benefit__kav();
        if(cbkId != null && cbkId != '') {
            cbk = [Select Id, Title,Exam__c,Lens__c,UrlName, Lens_Enhancements__c,Frame__c,Contacts__c,Support_Queue_Steps__c,Doctor_Network__c,Lab__c,Additional_Benefits__c, ArticleType, ArticleNumber, CreatedById, OwnerId from Core_Benefit__kav where PublishStatus = 'online' AND Language = 'en_US' AND KnowledgeArticleId =: cbkId];           
            filterid=[SELECT Id,UrlName FROM Core_Benefit__kav WHERE ArticleNumber =: cbk.ArticleNumber AND PublishStatus = 'online' AND Language = 'en_US'];                
            CatDetails= [Select DataCategoryName,DataCategoryGroupName from Core_Benefit__DataCategorySelection where ParentId =:filterid.Id];          
        }        
    }
    
    public List<SelectOption> getItems() {
        List<SelectOption> options = new List<SelectOption>();
        options.add(new SelectOption('Broken Link','Broken Link'));
        options.add(new SelectOption('Page Unclear','Page Unclear'));
        options.add(new SelectOption('Missing Information','Missing Information'));
        options.add(new SelectOption('Hard to Find Page','Hard to Find Page'));
        options.add(new SelectOption('Other','Other'));
        return options;
    }
    public String[] getReasons() {
        return reasons;
    }
            
    public void setreasons(String[] reasons) {
        this.reasons = reasons;
    }   
    public String getart() {
        return ID;      
    }
    public String getsfurll() {
        return sfURL;      
    }
    public Article_Feedback__c getArticleFeedbackObj(){
      return ArticleFeedbackObj;
    }
    public void setArticleFeedbackObj(Article_Feedback__c ArticleFeedbackObj){
      this.ArticleFeedbackObj = ArticleFeedbackObj;
    }
    public String getReturnid() {
        return cbkId;
    }

    public List<Core_Benefit__DataCategorySelection> getCategory() {
        return CatDetails;
    }
    public PageReference saveclick() {
        ArticleFeedbackObj = new Article_Feedback__c();          
        ArticleFeedbackObj.Article_ID__c=ID;
        ArticleFeedbackObj.Article_Title__c=cbk.Title;
        ArticleFeedbackObj.Article_Type__c=cbk.ArticleType;        
        ArticleFeedbackObj.Article_URL__c=cbk.UrlName;
        ArticleFeedbackObj.Comments__c=Comments;
        //ArticleFeedbackObj.Data_Category__c=CatDetails.DataCategoryName;
        ArticleFeedbackObj.Data_Category__c = '';
        if(CatDetails.DataCategoryName != null && !CatDetails.DataCategoryName.isEmpty()) {
            for(Integer i=0; i < CatDetails.DataCategoryName.size(); i++) {
                ArticleFeedbackObj.Data_Category__c  = ArticleFeedbackObj.Data_Category__c+';'+CatDetails.DataCategoryName[i];
            }
        }

        //ArticleFeedbackObj.Data_Category_Group__c=CatDetails.DataCategoryGroupName;
        system.debug('----------------------76--reasons:'+reasons);
        ArticleFeedbackObj.Reason__c = '';
        if(reasons != null && !reasons.isEmpty()) {
            for(Integer i=0; i < reasons.size(); i++) {
                ArticleFeedbackObj.Reason__c = ArticleFeedbackObj.Reason__c+';'+reasons[i];
            }
        }
        
        system.debug('----------------------78---ArticleFeedbackObj:'+ArticleFeedbackObj);
        insert ArticleFeedbackObj;
        /*        
        PageReference pg = new PageReference('/apex/CoreBenefit_VFP?id='+ID);
        pg.getParameters().put('message', 'Record saved Successfully');
        pg.setRedirect(true);
        system.debug('----------------------83--pg:'+pg);
        return pg;
        */
        reasons = new List<String>();
        comments = '';
        ApexPages.addMessage(new ApexPages.Message ( ApexPages.Severity.INFO, 'Successfully Inserted.'));
        return null;
    }   
}
Best Answer chosen by rebvijkum
Balaji BondarBalaji Bondar
Update below line:
ArticleFeedbackObj.Data_Category__c  = ArticleFeedbackObj.Data_Category__c+';'+CatDetails[i].DataCategoryName;
Important :
If this is what you were looking for then please mark it as a "SOLUTION" or You can Click on the "Like" Button if this was beneficial for you.

All Answers

Balaji BondarBalaji Bondar
Update below line:
ArticleFeedbackObj.Data_Category__c  = ArticleFeedbackObj.Data_Category__c+';'+CatDetails[i].DataCategoryName;
Important :
If this is what you were looking for then please mark it as a "SOLUTION" or You can Click on the "Like" Button if this was beneficial for you.
This was selected as the best answer
rebvijkumrebvijkum
The Datacategory name is not saving in Article_Feedback__c obj after insert.
My VFP:
<apex:pageBlockTable value="{!Category}" var="cat">
        <apex:outputField value="{!cat.DataCategoryName}"/>
        <apex:outputField value="{!cat.DataCategoryGroupName}"/>
</apex:pageblocktable >


public class CoreBenefits_Feedbackctrl {
    public Article_Feedback__c ArticleFeedbackObj = new Article_Feedback__c();
    Public string Comments {get;set;}      
    String[] reasons = new String[]{};
    public Core_Benefit__kav filterid;
    public string cbkId {get; set;} 
    public List<Core_Benefit__DataCategorySelection> CatDetails ;
    public Core_Benefit__kav cbk {get; set;}   
    public string ID=apexpages.currentpage(). getParameters().get('id');
    
    
    public CoreBenefits_Feedbackctrl(ApexPages.KnowledgeArticleVersionStandardController controller) {
        hiddenvaluesflag=false;
        String message = '' + ApexPages.CurrentPage().GetParameters().Get('message');
        String pageHeaderReferer = ApexPages.currentPage().getHeaders().get('Referer');                          
            CatDetails= [Select DataCategoryName,DataCategoryGroupName from Core_Benefit__DataCategorySelection where ParentId =:filterid.Id];          
        }        
    }
   
    public Article_Feedback__c getArticleFeedbackObj(){
      return ArticleFeedbackObj;
    }
    public void setArticleFeedbackObj(Article_Feedback__c ArticleFeedbackObj){
      this.ArticleFeedbackObj = ArticleFeedbackObj;
    }
    
    public List<Core_Benefit__DataCategorySelection> getCategory() {
        return CatDetails;
    }
    public PageReference saveclick() {
        ArticleFeedbackObj.Data_Category__c = '';
        if(CatDetails != null && !CatDetails.isEmpty()) {  
             for(Core_Benefit__DataCategorySelection a:CatDetails) {             
             for(Integer i=0; i < CatDetails.size(); i++) {
                ArticleFeedbackObj.Data_Category_Group__c = ArticleFeedbackObj.Data_Category_Group__c+';'+CatDetails[i].DataCategoryName;   
            }

               ArticleFeedbackObj.Data_Category_Group__c=a.DataCategoryGroupName;
           }
        }  
        insert ArticleFeedbackObj;
        return null;
    }   
}