Operation Details
Description: Reads External Party tab details.
Sterotype: ns
SQL
SELECT
  DISTINCT ConcernRole.concernRoleName,
  ConcernRole.primaryAlternateID,
  Address.addressData,
  WebAddress.webAddress,
  PhoneNumber.phoneNumberID,
  EmailAddress.emailAddress,
  ExternalParty.type,
  ExternalParty.verificationInd,
  ExternalPartyOfficeResult.officeCount
INTO
  :name,
  :primaryAlternateID,
  :addressData,
  :webAddress,
  :phoneNumberID,
  :emailAddress,
  :externalPartyType,
  :verificationInd,
  :relatedOffices 
FROM
  ConcernRole 
  
  LEFT OUTER JOIN
  
  ProductProvider 
  ON (ConcernRole.concernRoleID = ProductProvider.concernRoleID)
  
  LEFT OUTER JOIN
  
  Address 
  ON (ConcernRole.primaryAddressID = Address.addressID) 
  
  LEFT OUTER JOIN
  
  WebAddress 
  ON (ConcernRole.primaryWebAddressID = WebAddress.webAddressID) 
  
  LEFT OUTER JOIN
  
  PhoneNumber 
  ON (ConcernRole.primaryPhoneNumberID = PhoneNumber.phoneNumberID) 
  
  LEFT OUTER JOIN
  
  EmailAddress 
  ON (ConcernRole.primaryEmailAddressID = EmailAddress.emailAddressID) 
  
  LEFT OUTER JOIN
  
  ExternalParty 
  ON (ConcernRole.concernRoleID = ExternalParty.concernRoleID) 
  
  LEFT OUTER JOIN
  
  
  ( 
  SELECT
    ExternalPartyOffice.concernRoleID,
    COUNT(ExternalPartyOffice.externalPartyOfficeID) as officeCount 
  FROM
    ExternalPartyOffice 
  WHERE ExternalPartyOffice.concernRoleID = :concernRoleID 
  GROUP
    BY ExternalPartyOffice.concernRoleID 
  ) ExternalPartyOfficeResult 
  ON ExternalPartyOfficeResult.concernRoleID = ConcernRole.concernRoleID 
WHERE ConcernRole.concernRoleID = :concernRoleID