InfoObject uses Conversion Routine ALPHA
When you create a HCPR based on a Hana Calculation View (see Hana Model), it is possible to associate a field of the view with a BW Infoobject (see TransientProviders:Example II). It is important to check whether the data type of the field really matches the data type of the InfoObject, see Example. In addition you need to check whether the characteristic uses a conversion routine like ALPHA. If yes, it must be assured that internal values of the corresponding CV field have the correct format(e.g. leading zeros). Otherwise the query may terminate or display incorrect results! Check out the following simple example.
- The table STPE_TAB14 has the field STPE_DOCMNUM which is defined as VARCHAR 6. There are only the following three different values:
- The table is used in the Hana Calculation View.
- This view is used in the HCPR 'STPE_HCPR_51' where the field STPE_DOCMNUM is associated with the InfoObject STPE_DOCU. It has the data type CHAR(length 6) and the conversion routine ALPHA.
- The value 125 does not have leading zeros and hence does not have the correct format for the ALPHA conversion.
- If we run a query based on the HCPR and add the InfoObject STPE_DOCU to the drilldown, then the query terminates and the error BRAIN 068 is displayed(in addition with RS_EXCEPTION 301: CL_RSR_FIPT_VAL2SID_PREFETCH >> Row: Inc: 46 Prog: IF_RSR_FIPT_TRANSFORMATOR~BEFORE_TRANSFO)
- When we use transaction LISTCUBE and set the filter STPE_DOCU=125, we get zero which incorrect!
Data Preview of Hana Calculation View
HCPR based on Hana View
We run the adhoc query in RSRT
and then add the InfoObject STPE_DOCU to the drilldown:
The error 'Characteristic value '125' of characteristic STPE_DOCU is not ALPHA-converted'(BRAIN 068) means that the syem cannot create a SID for this value since the value does not have the required fomat(leading Zeros).
When we use transaction LISTCUBE and set the filter STPE_DOCU=125 we get zero which incorrect!
In the trex statement(see SQL / HANA Analytics-API) we can see that the value 125 was transformed to 000125(because of ALPHA)
and hence it is not surprising that the result is wrong: