Clarity

  • 1.  XOG in contains Value for Dynamic Lookup (Parameterized), errors out - ODFValidationException: CMN-0009: Attribute has invalid Lookup Value.

    Posted Nov 01, 2018 11:33 AM

    I'm trying to XOG-in into Custom object, and one of the attribute happens to be a Dynamic Lookup (Parameterized, one parm, integer type).

    The out file shows error - com.niku.union.odf.exception.ODFValidationException: CMN-0009: Attribute '<name>' has invalid Lookup Value '<value>'.

    I need help on how to pass the value to an attribute which is of type Dynamic Lookup (Parameterized).



  • 2.  Re: XOG in contains Value for Dynamic Lookup (Parameterized), errors out - ODFValidationException: CMN-0009: Attribute has invalid Lookup Value.

    Broadcom Employee
    Posted Nov 05, 2018 11:18 AM

    Does the look-up exist on the target system?  Are there any other attributes or other look-ups that are missing in the target system?  If so, xog them in first and then try your custom object xog again.

     

    Jeanne



  • 3.  Re: XOG in contains Value for Dynamic Lookup (Parameterized), errors out - ODFValidationException: CMN-0009: Attribute has invalid Lookup Value.

    Posted Nov 05, 2018 11:27 AM

    Hi Jeanne, Lookups exist. I XOGged out the instance and tried XOG back in, same env (on demand)/ system. I keep getting this error.

    Thank you

    Srini



  • 4.  Re: XOG in contains Value for Dynamic Lookup (Parameterized), errors out - ODFValidationException: CMN-0009: Attribute has invalid Lookup Value.

    Broadcom Employee
    Posted Nov 05, 2018 11:32 AM

    Hi Srini,

     

    Does the lookup on the target system contain the same list of values that it does on the source system?  (In particular, does the value chosen for the object instance you are xogging exist on the target server.

     

    Jeanne



  • 5.  Re: XOG in contains Value for Dynamic Lookup (Parameterized), errors out - ODFValidationException: CMN-0009: Attribute has invalid Lookup Value.

    Posted Nov 05, 2018 12:35 PM

    Yes they do. The source and target systems are same. Here is what I did

    - XOG out from DEV env and then

    - XOG in into DEV env.

    Also verified the value by executing the dynamic lookup query, and found that the value exists.

     

    >>>>>>>>>>>>>>XOG out and then XOG in (limited info)>>>>>>>>>>>>>>>>>>>>>
    <NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_customObjectInstance.xsd">
        <Header action="write" externalSource="NIKU" objectType="customObjectInstance" version="15.2.0.213"/>
        <customObjectInstances objectCode="cc_user_management">
            <instance instanceCode="" objectCode="cc_user_management">
                <CustomInformation>
                    <ColumnValue name="code">-1</ColumnValue>
                    <ColumnValue name="page_layout">odf.cc_user_managementFrame</ColumnValue>
                    <ColumnValue name="partition_code">*********</ColumnValue>
                    <ColumnValue name="name">UMR045048</ColumnValue>
                    <ColumnValue name="odf_period_start"/>
                    <ColumnValue name="odf_period_end"/>
                    <ColumnValue name="cc_employment_type">301</ColumnValue>
                    <ColumnValue name="cc_exempt_non_exempt">NA</ColumnValue>
                    69 other attributes....
                </CustomInformation>
                <OBSAssocs complete="false"/>
                <Security>
                    <UserSecurity rightCode="odf_cst_cc_user_management_accesscc_user_managementProperties" userName="xxxx@***.com"/>
                    <UserSecurity rightCode="odf_cst_cc_user_management_view" userName="***@***.com"/>
                </Security>
            </instance>
        </customObjectInstances>
    </NikuDataBus>

     

    >>>>>>>>>>>>>>Dynamic lookup query for attribute "cc_exempt_non_exempt", uses "cc_employment_type" as parameter>>>>>>>>>>>>>>>>>>
    SELECT
    @SELECT:exmptnonexmpt.lookup_code:exempt_code@,
    @SELECT:exmptnonexmpt.name:exempt_name@
    FROM
    cmn_lookups_v exmptnonexmpt
    WHERE
    exmptnonexmpt.lookup_type = 'CC_RES_EXEMPT'
    AND exmptnonexmpt.language_code = 'en'
    AND ( exmptnonexmpt.lookup_code =
    (CASE
        WHEN @WHERE:PARAM:USER_DEF:INTEGER:cc_employment_type@ = 300 THEN 'H'
        WHEN @WHERE:PARAM:USER_DEF:INTEGER:cc_employment_type@ = 301 THEN 'NA'
        WHEN @WHERE:PARAM:USER_DEF:INTEGER:cc_employment_type@ = 5001421 THEN 'NA'
        ELSE NULL
    END)
    OR
    exmptnonexmpt.lookup_code =
    (CASE
        WHEN @WHERE:PARAM:USER_DEF:INTEGER:cc_employment_type@ = 300 THEN 'S'
        WHEN @WHERE:PARAM:USER_DEF:INTEGER:cc_employment_type@ = 301 THEN 'NA'
        WHEN @WHERE:PARAM:USER_DEF:INTEGER:cc_employment_type@ = 5001421 THEN 'NA'
        ELSE NULL
    END)                                
    )    
    AND @FILTER@



  • 6.  Re: XOG in contains Value for Dynamic Lookup (Parameterized), errors out - ODFValidationException: CMN-0009: Attribute has invalid Lookup Value.

    Broadcom Employee
    Posted Nov 05, 2018 12:45 PM

    Hi Srini,

     

    Please open a new case with support so that one of us can assist you further with this issue.

     

    Jeanne



  • 7.  Re: XOG in contains Value for Dynamic Lookup (Parameterized), errors out - ODFValidationException: CMN-0009: Attribute has invalid Lookup Value.

    Posted Nov 05, 2018 01:00 PM

    I'll open a case, Thank you Jeanne.



  • 8.  Re: XOG in contains Value for Dynamic Lookup (Parameterized), errors out - ODFValidationException: CMN-0009: Attribute has invalid Lookup Value.

    Posted Nov 05, 2018 11:30 PM

    You may want to consider adding:

    @BROWSE-ONLY:

    where .........

    :BROWSE-ONLY@

    in your NSQL for the Look-up.

     

    Assuming your XOG file will always be correct, then you don't need to undertake the additional verification that the SQL is currently doing, when the data is being updated via the UI (which is where the BROWSE-ONLY will be used).

     

    The above also means that the Look-up will always return a display value, rather than the data being update, and no longer returns a value.  This can occur when the mapped attribute to cc_employment_type is on a different view.