SAP Knowledge Base Article - Public

3444994 - Datasphere Remote Table column decimal number is different with CDS View in source system

Symptom

In SAP Datasphere remote table which is based on CDS View (ABAP_CDS) of source system. It is found that for some columns, the decimal number is 17 whereas in source system CDS View, the decimal number is 12 or others.

Environment

SAP Datasphere

Reproducing the Issue

Example:

  1. Open remote table in SAP Datasphere.
  2. Check field type. It is DECIMAL(17,0).
  3. Go to source system, check the view, for corresponding column, it is DECIMAL(12,0).

Cause

There is a logic in the ODP layer which was not changed from 2011.

*   Workaround to avoid arithmetic overflow
*   for packed data type during (sum) aggregation
    IF <ls_field>-fieldrole EQ if_rodps_odp=>c_fieldrole-keyfigure AND
       <ls_field>-inttype   EQ cl_abap_typedescr=>typekind_packed  AND
       <ls_field>-intlen    LT 9.
      <ls_field>-intlen = 9.
      <ls_field>-leng   = 2 * <ls_field>-intlen - 1. -->> intlen = 9
      CLEAR <ls_field>-rollname.
    ENDIF.

With this, Output length is 17 .

Resolution

This is working as per design.

Keywords

KBA , DS-DI-RT , Remote Tables , BC-BW-ODP , Operational Data Provisioning (ODP) and Delta Queue (ODQ) , Problem

Product

SAP Datasphere all versions