I was thinking for a long time to write a log at mySDN. Obviously a topic which I know a little from the vast ocean of S-A-P! I could see lots of posting and requests coming up in SDN about upgrade resolutions. As a web blog starter, I thought I’ll write something which helps techies in theirs SAP upgrade conflicts happening.
In the competitive business world SAP has succeeded in updating their technology. In fact, I see it as, SAP became far ahead with the next generation technologies. Poor clients like us, far behind with up-to dating those. But in the struggle in this competitive scenario, it has become imperative to keep your IT systems up-to-date and in pace with the changing business environment. The challenge to attain this goal demands variety of skill-sets and a desire for continuous improvement. And when it comes to maintaining powerful enterprise software such as SAP technologies, selection of solutions becomes even more critical. Matters like criticalities of the business, the cost effectiveness of the solution, balancing the benefits of the new etc makes the rethink for customers. And in the long run, their wonderful future and for the changing business scenarios, business comes automatically to SAP technologies. And later on they will be impressive to adopt new versions from SAP.
There we go with Upgrades. Upgrading SAP R/3 is more complex than ever. The technology differences between versions 3.x and ECC xx make the upgrade complex much more than simply a technical project. Over a period of time, SAP has enhanced its products and standardized new functionalities that previously required customization. I have noticed that solving all those problems hangs around your neck as a big task. I would like to list out few technical resolutions which, I came across in upgrade projects while doing code inspections.
Here, I just tried to generalize the conflicts happening between the versions. Again I could sense, the usage of few conflicts below, are not happening in the present technology because as I stated, the sap is far ahead of the technologies and the customers are just behind sap’s new revolutions always. Few questions and answers for technical update.
1) One of the most common keyword changes from oldest version. “”ON” clause of a table join statement” Peoples who have worked in oldest versions of SAP might have used this. In 4.5, SAP does not allow and comparisons between non-table fields in the “ON” clause. For example, in 3.0, the statement “on KNVP~PARVW = ‘SP’ ” is not allowed. Error message: “You cannot compare with “‘SP’“. Each comparison in the ON condition must contain a field from the RH table.” For the resolution we need to move the statement to the WHERE clause of the select statement. For example, “where KNVP~PARVW = ‘SP’…”.
2) Type Checks in PERFORM statements is another common one. If you are upgrading from old version, SAP gives hard error for TYPE mismatch in the Subroutine Call Statements. Given as ‘Syntax Errors’. Previous versions this error was not given. As a solution, when parameters are passed to subroutines use correct data type as it is present in FORM statement. E.g.: FORM some_subroutine USING prm_var TYPE P. The corresponding call should be PERFORM some_subroutine USING some_var. where some_var should be TYPE P.
3) Programs executes KB** BDC. KB** transaction is obsolete as of Release 4.70. KB11, KB13, KB14, KB15, KB16, KB17, KB21, KB23, KB24, KB31, KB33, KB34, KB41, KB43, KB44, KB51, KB53, KB54, KB27, KB71, SAPMK23B. That means, the issue happening with the BDC’s using these transaction and Programs Using CALL TANSACTION KB**. From enjoy transaction onwards, Call Transaction KB** are replaced with BAPI function module(s). This is as per the suggestion by SAP, OSS Note – 441872. As a solution SAP suggests, Use Transaction KB21N instead of Transaction KB27 and use Transaction KB61 instead of Transaction KB71.
The BAPIs available are: Reposting of costs: BAPI_ACC_PRIMARY_COSTS_CHECK, BAPI_ACC_PRIMARY_COSTS_POST Reposting of revenues: BAPI_ACC_REVENUES_CHECK, BAPI_ACC_REVENUES_POST Activity allocation: BAPI_ACC_ACTIVITY_ALLOC_CHECK, BAPI_ACC_ACTIVITY_ALLOC_POST Entry of statistical key figures: BAPI_ACC_STAT_KEY_FIG_CHECK, BAPI_ACC_STAT_KEY_FIG_POST Manual cost allocation: BAPI_ACC_MANUAL_ALLOC_CHECK, BAPI_ACC_MANUAL_ALLOC_POST Entry of sender activities: BAPI_ACC_SENDER_ACTIVITY_CHECK, BAPI_ACC_SENDER_ACTIVITY_POST Reverse of a manual actual posting: BAPI_ACC_ACT_POSTINGS_REVERSE
4) Issue with Table TVARV. There will be problem with any custom program which uses this table. Table TVARV is no longer used after WAS 6.10 and higher. Run the report RSTVARVCLIENTDEPENDENT to perform the table conversion, based on OSS note 557314 and 655316. As a solution SAP brought a new table TVARVC replaces TVARV, this table can be maintained via T-code STVARV.
5) As new SAP systems are made Unicode enabled, there was an issue with translations done using ABAP code. Issue was with any Programs that uses TRANSLATE TO UPPERCASE statement in a multi lingual environment. You might get a warning as dangerous use of TRANSLATE in Multi lingual environment. For this either we can use SET LOCALE LANGUAGE language, before the statement or use the Function Module AIPC_CONVERT_TO_UPPERCASE with the language parameter.
6) Match codes not supported from 4.5. Match codes no longer exist from 4.5; they have been replaced by search helps. Only way is to manually find out the respective search help and do the changes manually.
7) Some times you could see Sap script not Aligning correctly while doing upgrade. The issue happens when a Paragraph Format using TABS and Character Format Begin and End commands are use it causes alignments to be off by a few positions. As a resolution you may need to remove the Character End command and everything aligned perfectly. Removal of this command did not affect Formats when using the bold command.
In my next blog, I would like to come up with few more conflicts which I faced.