QlikView UOM Conversions Not Working in Table F4111

64 views Asked by At

I'm currently working on a QlikView script to convert quantities from CA to EA and DS in the F4111 table using a mapping table. However, I'm facing challenges with the conversions not producing the expected results. I'm looking for assistance to troubleshoot and resolve this issue. Below, I've detailed my script and included a screenshot of the UOM table for reference.

// Map Net_Quantity_xx to Month names
MonthMap:
Mapping LOAD * Inline [
    Net_Quantity_Field, Month_Name
    Net_Quantity_01, Jan
    Net_Quantity_02, Feb
    Net_Quantity_03, Mar
    Net_Quantity_04, Apr
    Net_Quantity_05, May
    Net_Quantity_06, Jun
    Net_Quantity_07, Jul
    Net_Quantity_08, Aug
    Net_Quantity_09, Sep
    Net_Quantity_10, Oct
    Net_Quantity_11, Nov
    Net_Quantity_12, Dec
];

// Load the data from the QVD file and apply the crosstable transformation
CrosstableData:
Crosstable(MonthNumber, Quantity, 16)
LOAD 
     company_key, 
     Document_Type, 
     Fiscal_Year + 2000 as Fiscal_Year,
     ...
     Net_Quantity_12    
FROM [D:\JDE\QVDs\Entities\asofbalance.qvd] (qvd);

// Applying MonthMap and Creating AsofData
AsofData:
LOAD 
     Fiscal_Year,
     business_unit_key,
     Lot_Serial_Number,
     Trim((ApplyMap('MonthMap', MonthNumber))) as MONTH,
     Quantity,
     CompositeKey
Resident CrosstableData;

DROP Table CrosstableData;

// UOM Conversion Mapping
ConversionMap:
MAPPING LOAD 
    product_key & '|' & upper(FromUM) & '|' & upper(ToUM) as product_uom_key, 
    ConversionToPrimaryUOM
FROM [D:\JDE\QVDs\Entities\UOM.qvd] (qvd)
WHERE upper(FromUM) = 'CA' AND upper(ToUM) = 'EA' OR 'DS';

// Loading F4111 and Applying Conversions
F4111:
LOAD 
    document_type, 
    document_number, 
    business_unit_key & '|' & product_key as CompositeKey, 
    ...
    product_key & '|' & upper(trans_uom_ledger) & '|EA' as conversion_key,
    ...
    If(upper(trans_uom_ledger) = 'CA', 
        quantity_puom * ApplyMap('ConversionMap', conversion_key, 1), 
        quantity_puom) as Converted_quantity_puom 
FROM [D:\JDE\QVDs\Entities\inventory_trx.qvd] (qvd)
WHERE Year(trx_date) <= Year(Today());

UOM Table

Issue:

Quantities in CA should be converted to their corresponding values in EA and DS based on the ConversionMap table. The Converted_quantity_puom field is expected to contain these converted values.

Questions:

What debugging techniques or tools in QlikView can I use to trace the conversion process and identify the source of the issue?

Could there be a problem with how I'm using the ApplyMap function or constructing the conversion_key?

Are there alternative methods for achieving these UOM conversions within QlikView?

Might there be data quality issues or inconsistencies in the source data or mapping table?

Are there any known limitations or best practices related to UOM conversions in QlikView that I should consider?

Any insights or suggestions would be greatly appreciated.

0

There are 0 answers