EducationSoftwareStrategy.com
StrategyCommunity

Knowledge Base

Product

Community

Knowledge Base

TopicsBrowse ArticlesDeveloper Zone

Product

Download SoftwareProduct DocumentationSecurity Hub

Education

Tutorial VideosSolution GalleryEducation courses

Community

GuidelinesGrandmastersEvents
x_social-icon_white.svglinkedin_social-icon_white.svg
Strategy logoCommunity

© Strategy Inc. All Rights Reserved.

LegalTerms of UsePrivacy Policy
  1. Home
  2. Topics

KB17229: Service fails with a 'Get Document Instance' error when using a text form for the subscription ID in a dynamic subscription in MicroStrategy Narrowcast Server 10.x


Community Admin

• Strategy


SYMPTOM:
When using an attribute that has the ID form as text to retrieve the dynamic subscription information in Strategy Narrowcast Server 10.x, the following errors occur:
 
Service ID Execution ID Segment ID Information Source ID received results for Information Object with error message: Type mismatch
Error in `GetResultInDocumentInstance and module name `cPageDocumentIO` while trying to retrieve page by data from PPE document.
Error in `GetResultInDocumentInstance and module name `cPageDocumentIO No personalized page returned for user preference `4301` in the document instance`s group by element tree.
CAUSE:
The ID form of the attribute being used to get the subscription information is text and not numeric.
 
A subscription ID must be a 4-byte integer. No workaround exists for using subscription IDs in other formats. However, a slicing attribute can be any numeric or text datatype. The integer-only constraint for subscription ID ensures that database configuration differences such as case sensitivity on comparisons do not cause unpredictable behavior. On the other hand, a slicing attribute is used to match preferences to a specific page of content returned and thus any numeric or text data type can be used. However, the slicing attribute used for personalized page execution information object reports cannot use an attribute with a compound key.
 
ACTION:
To solve this issue, the user must use a 4-byte integer ID form as the subscription ID.
 
WORKAROUND:
One possible workaround to this issue is to create a view. Follow the steps below to accomplish this:
 
SELECT (SELECT COUNT(A.)

  1. Define a logical Table with the following query (replace with respective columns and table names):
    1. FROM A
      WHERE A. <= B. ) AS RowID,


B.*
FROM B
 
For ORACLE databases, ROWNUM can be used to retrieve the row number:
 
SELECT ROWNUM, * FROM

  • Map this logical table to the ID form of the attribute to use for the subscription information.
  • Create an attribute form named SUBSCRIPTION_ID mapped to the RowID column of the logical table.
  • Save and close the attribute and update the schema.
  • Use the new form in the ISM as the SUBSCRIPTION_ID, USER_ID, and ADDRESS_ID.

17229


Comment

0 comments

Details

Knowledge Article

Published:

June 8, 2017

Last Updated:

June 8, 2018