Now that we are live with BW, CRM and ECC on HANA, I can share my HANA-related ABAP-experiences (besides the 'normal' upgrade issues and Unicode Issues we also had to solve):
- There were only a handfull of issues related to SELECT and missing ORDER BY, direct reading of Pool or Clusters, or native SQL statements.
- However, we found lots of real issues related to the following statements:
- SELECT SINGLE without fully qualified key
- SELECT. EXIT. ENDSELECT statements
- SELECT CHECK ENDSELECT statements
- SELECT UP TO 1 ROWS statements
- SELECT INTO TABLE statements where sequence of resulting table is important for subsequent processing using LOOP, even without AT NEW/ AT FIRST events.
Example of what can go wrong:
SELECT SINGLE * FROM LIPS INTO WA_LIPS WHERE VBELN = I_VBELN. (I know, you would never program like this )
Pre-HANA: returns first position because data is returned in sequence of primary key
HANA: returns a position, NOT IN SEQUENCE OF PRIMARY KEY
The fact that the Code Inspector doesn't check modifications, ABAP query code and generated SMARTFORMS-functions makes finding issues more difficult.
Using the Runtime Check Monitor (SRTCM) during testphase has helped to find some issues regarding FOR ALL ENTRIES and Sorting Order.
The best tip: test, test and test again. And instruct testers to look for strange occurences that can be related to the issues above. (i.e. they must check if the output is really the same as before etc)
The next step: finding the statements with highest potential to improve performance.