A parameterized lookup value is xogging in incorrectly. It always defaults to one value irrespective of the value in the XML for the XOG.
Steps to Reproduce:
<Details>
<Detail detailName="Detal1">
<Benefit/>
<ActualBenefit/>
<CustomInformation>
<ColumnValue name="partition_code">NIKU.ROOT</ColumnValue>
<ColumnValue name="myfunction">111</ColumnValue>
<ColumnValue name="mypara">111002</ColumnValue>
</CustomInformation>
</Detail>
</Details>
Expected Result: Parameterized lookup value should be updated with the value specified in the XOG input file.
Actual Result: Parameterized lookup value is not updated with the value specified in the XOG input file.
This issue is seen both in Classic PPM and Clarity (Modern User Experience (UX))
Release: All
This is working as designed. This is due to the where clause missing @[email protected], so the query is not able to apply the filter on the lookup value provided. Note: Te Query tab in Administration --> Data Administration --> Lookups mentions this:
"The WHERE clause must contain "@[email protected]" to work properly. To create a dependent lookup, enclose the lookup internal name in "@" symbols."
The problem is in the lookup definition ( dynamic NSQL in SubFunction_Parameterised(DYnamic).xml )
Example of a query missing this clause:
SELECT
@SELECT:lkp.lookup_enum:[email protected]
, @SELECT:nls.name:[email protected]
FROM cmn_lookups lkp
INNER JOIN cmn_captions_nls nls ON nls.table_name = 'CMN_LOOKUPS' AND nls.pk_id = lkp.id
WHERE lookup_type = 'CSC_SUB_FUNC_STATIC' AND lkp.is_active = 1
AND nls.language_code = @WHERE:PARAM:[email protected]
AND (@WHERE:PARAM:USER_DEF:INTEGER:[email protected] = LPAD(lkp.lookup_code,3) OR
@WHERE:PARAM:USER_DEF:INTEGER:[email protected] IS NULL OR
@WHERE:PARAM:USER_DEF:INTEGER:[email protected] = '')
Add AND @[email protected] in the NSQL WHERE clause of your dynamic lookup definition