Public Sub LoopProposalAttributes()

   Dim oRec As CRecord

   Dim oProspect As CProspect

   Dim oProposal As CProposal

   Dim reService As REServices

   Dim oAttribute As IBBAttribute

   Dim oAttributeServer As CAttributeTypeServer

   Dim lID As Long

   Set oRec = New CRecord

   oRec.Init REApplication.SessionContext

   oRec.Load 668


   Set reService = New REServices

   reService.Init REApplication.SessionContext


   Set oAttributeServer = reService.CreateServiceObject(bbsoAttributeTypeServer)

   oAttributeServer.Init REApplication.SessionContext


   Set oProspect = oRec.Prospect


   For Each oProposal In oProspect.Proposals

       Debug.Print oProposal.Fields(PROPOSAL_fld_PROPOSAL_NAME)

       For Each oAttribute In oProposal.Attributes

           lID = oAttribute.Fields(Attribute_fld_ATTRIBUTETYPES_ID)

           Debug.Print oAttributeServer.GetAttributeTypeDescription(lID)

           Debug.Print oAttribute.Fields(Attribute_fld_VALUE)

       Next oAttribute

   Next oProposal



   Set oRec = Nothing


   Set oProspect = Nothing

   Set oProposal = Nothing



   Set reService = Nothing


   Set oAttribute = Nothing

   Set oAttributeServer = Nothing


End Sub

Disclaimer: We provide programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes you are familiar with Microsoft Visual Basic and the tools used to create and debug procedures. Our Customer Support can help explain the functionality of a particular procedure, but we will not modify, or assist you with modifying, these examples to provide additional functionality. If you are interested in learning more about the VBA and API modules, contact your account manager.