I want to to debug it but found no way, it only returns the RecId for combination in DIMENSIONATTRIBUTEVALUECOMBINATION table. Issue is when Purchase order product receipt is posted, item physical cost is zero on inventory transactions due to the wrong dimension returning from this method which has no value in LedgerDimension on AccountingDistribution Table. _value1 and _value2 are passing. _value1 is default dimension of purchase order line and its always like 5637147577. _value2 is default dimension value of item from InventTable.
client server public static DimensionDefault serviceMergeDefaultDimensions(
DimensionDefault _value1,
DimensionDefault _value2,
DimensionDefault _value3 = 0,
DimensionDefault _value4 = 0)
{
container cachedResult;
DimensionDefault mergedDimDefault;
// Short circuit if all values other than the first one are zero
if (_value2 == 0 && _value3 == 0 && _value4 == 0)
{
mergedDimDefault = _value1;
}
else
{
cachedResult = DimensionCache::getValue(
DimensionCacheScope::DefaultingMergeDefaultDimensions,
[_value1, _value2, _value3, _value4]);
if (cachedResult == connull())
{
cachedResult = [DimensionDefaultingService::serverMergeDefaultDimensions(_value1, _value2, _value3, _value4)];
DimensionCache::insertValue(
DimensionCacheScope::DefaultingMergeDefaultDimensions,
[_value1, _value2, _value3, _value4],
cachedResult);
}
mergedDimDefault = conpeek(cachedResult, 1);
}
return mergedDimDefault;
}