Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Could you pls give the details about the Unicode conversion during Upgrade

Hi,

Can anyone give details about the Unicode conversion during SAP Upgradation fro 4.6C to ECC6.

Waiting for quick response

Best Regards,

Padhy

Tags:
Former Member
Former Member replied

Hi,

These are the few points i gathered during my upgradation project.

Before starting any upgradation project, it is necessary to take up the back-up of the existing systems. As we are going to upgrade the entire system, we will be changing so many things and if something happens, without back-up, we will be in a trouble.

So it is advised to keep a back-up of the existing system.

Say for example we have the existing system E4B which is of Version 4.6C. Now we want to upgrade it to Version 4.7. Let us see how we can do it.

Version upgrades not only means that we need to run the new Version CD over the existing Version System but only involves some other thing.

Version Upgrade involves the following Steps.

Say we want to upgrade for Version 4.7 from Version 4.6, which is in the System E4B. Now we created one more system called as E1B in which the upgradation for Version 4.7 can be done.

• First copy the entire E4B system into the E1B System which is created for Version 4.7.

• Apply the Version 4.7 CD provided by SAP over the E1B System.

• Now check whether all the functionalities that was in E4B system works fine with E1B system also.

Thus the Version Upgrade involves two steps.

1. SAP Upgradation with the help of the CD

2. Manual Upgradation.

1. SAP Upgradation with the help of the CD

This is nothing but after taking the copy of the existing system into a new system, the upgradation CD from SAP is applied over the new system.

2. Manual Upgradation.

This Manual Upgradation involves

2.1 Upgradation of Standard Objects

2.1.1 SPAU Objects

2.1.2 SPDD Objects

2.2 Upgradation of Custom Objects.

Upgradation of Custom Objects can be placed under the following three categories.

Unicode Compliance

Retrofit

Upgrade

Please Find below some of the common Unicode Errors and their solutions

1. Error:

In case of Translate Error; ‘Dangerous use of Translate in Multilingual system.’

Correction:

To correct the Error occurring on TRANSLATE statement – use this additional statement before the Translate statement.

SET LOCALE LANGUAGE sy-langu.

This statement defines the Text Environment of all the programs & internal sessions in the language specified in the LANGUAGE KEY, which in this case is “sy-langu”, i.e. the log on language of the user.

2. Error:

In case of Open Dataset Error; ‘Encoding Addition must be included.’

Correction:

This Error occurs only when the MODE is TEXT.

To correct the Error occurring on OPEN DATASET statement – use this statement instead.

OPEN DATASET dataset_name FOR access IN TEXT MODE ENCODING DEFAULT.

Where: dataset_name – NAME OF THE DATASET.

Access – INPUT or OUTPUT or APPENDING or UPDATE.

DEFAULT - Corresponds to UTF-8 in UNICODE systems &

NON_UNICODE in NON-UNICODE systems.

3. Error:

In case of the usage of the Obsolete FM UPLOAD/DOWNLOAD or WS_UPLOAD/DOWNLOAD; ‘Function module UPLOAD is flagged as obsolete.’

Correction:

The FM GUI_DOWNLOAD/UPLOAD is used.

The variations to be made in the parameters of the FM:

1. Filename – It must be of STRING type.

2. Filetype – “DAT” is not used any longer, instead “ASC” is used.

3. Field Separator – The default value “SPACE” is used, incase for a TAB separated file “X” can be used.

4. Error:

In case of CURRENCY/UNIT Addition Error; ‘Use addition CURRENCY/UNIT when outputting.’

Correction:

The CURRENCY addition specifies the currency-dependant decimal places for the output of the data objects of type i or p. To obtain the currency-key, the field CURRKEY of the table TCURX is used. The system determines the number of the decimal places from the field CURRDEC of the selected CURRKEY.

To correct this error follow the following method:

  • WRITE: /3 'TOTAL',' ', TOTAL.

WRITE: /3 ‘TOTAL’,’ ‘, TOTAL CURRENCY ‘2’. --- Where ‘2’is the Currency Key for Getting 2 decimal places.

5. Error:

In case of TYPE X Error; ‘Variable must be of C, N, D, T or STRING type.’

Correction:

We need to change all the Type X (Hexadecimal) variables to Type C with their values unchanged.

So the method to be followed is:-

1. Load the definition of the class CL_ABAP_CONV_IN_CE or CL_ABAP_CHAR_UTILITIES.

2. Declare the variable as Type C, and use the method UCCP(‘XXXX’) of the class CL_ABAP_CONV_IN_CE where XXXX represents the 8-bit Hexadecimal value and incase the variable holds a Hex value for a Horizontal Tab , then the Attribute “HORIZONTAL_TAB” of the class CL_ABAP_CHAR_UTILITIES can be used directly instead of using the method UCCP.

E.g.:

i) *DATA: TAB TYPE X VALUE 09, “Tab character

CLASS: CL_ABAP_CHAR_UTILITIES DEFINITION LOAD.

DATA TAB TYPE C VALUE CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.

ii) * DATA: CHAR TYPE X VALUE 160.

CLASS: CL_ABAP_CONV_IN_CE DEFINITION LOAD.

DATA CHAR TYPE C.

CHAR = CL_ABAP_CONV_IN_CE=>UCCP(‘00AO’).

(Here ‘00A0’ is the Hexadecimal equivalent of the decimal 160).

3. Incase the TYPE X Variable has a length more than 1, then an internal table must be created for the variable.

E.g.:

CLASS: CL_ABAP_CONV_IN_CE DEFINITION LOAD.

DATA : LF(2) TYPE X VALUE 'F5CD'.

DATA : BEGIN OF LF,

A1 TYPE C,

A2 TYPE C,

END OF LF.

LF-A1 = CL_ABAP_CONV_IN_CE=>UCCP('00F5').

LF-A2 = CL_ABAP_CONV_IN_CE=>UCCP('00CD').

6. Error:

In case of the Character “-“Error; ‘The Character “-“can’t appear in names in Unicode Programs.’

Correction:

The Character “-“(Hyphen) appearing in Variable names is replaced by the character “_” (Under Score) for Unicode/Upgrade Compliance.

E.g.:

*wk-belnr LIKE bkpf-belnr,

*wk-xblnr LIKE bkpf-xblnr,

*wk-date LIKE sy-datum,

*wk-wrbtr LIKE bseg-wrbtr,

*wk-name1 LIKE lfa1-name1,

*wk-voucher(8) TYPE c.

wk_belnr LIKE bkpf-belnr,

wk_xblnr LIKE bkpf-xblnr,

wk_date LIKE sy-datum,

wk_wrbtr LIKE bseg-wrbtr,

wk_name1 LIKE lfa1-name1,

wk_voucher(8) TYPE c.

7. Error:

In case of The SUBMIT-TO-SAP-SPOOL Error; ‘you should not use the statement SUBMIT-TO-SAP-SPOOL without the WITHOUT SPOOL DYNPRO addition. ‘

Correction:

1. Declare variables of type PRI_PARAMS, ARC_PARAMS, and a variable of TYPE C which would be used as a VALID FLAG.

2. Call the FM GET_PRINT_PARAMETERS:

CALL FUNCTION 'GET_PRINT_PARAMETERS'

EXPORTING

ARCHIVE_MODE = '3'

DESTINATION = P_DEST

IMMEDIATELY = 'X'

IMPORTING

OUT_ARCHIVE_PARAMETERS = archive_parameters

OUT_PARAMETERS = print_parameters

VALID = valid_flag

EXCEPTIONS

INVALID_PRINT_PARAMS = 2

OTHERS = 4

3. Use the SUBMIT-TO-SAP-SPOOL statement.

E.g.:

• submit zrppt500

• using selection-set 'AUTO3'

• with res_no eq lo_rsnum

• with sreserv in preserv

• to sap-spool destination p_dest

• immediately 'X'. "print immediate

DATA: print_parameters type pri_params,

archive_parameters type arc_params,

valid_flag(1) type c.

CALL FUNCTION 'GET_PRINT_PARAMETERS'

EXPORTING

ARCHIVE_MODE = '3'

DESTINATION = P_DEST

IMMEDIATELY = 'X'

IMPORTING

OUT_ARCHIVE_PARAMETERS = archive_parameters

OUT_PARAMETERS = print_parameters

VALID = valid_flag

EXCEPTIONS

INVALID_PRINT_PARAMS = 2

OTHERS = 4

.

Submit zrppt500

Using selection-set 'AUTO3'

With res_no eq lo_rsnum

with sreserv in preserv

to sap-spool

SPOOL PARAMETERS PRINT_PARAMETERS

ARCHIVE PARAMETERS ARCHIVE_PARAMETERS

WITHOUT SPOOL DYNPRO.

8. Error:

In case of Message Error; ‘Number of WITH fields and number of Place Holders are not same ‘.

Correction:

Split the statement after WITH into the same number as the place holder for that Message ID.

E.g.:

1. * MESSAGE E045.

MESSAGE E045 WITH '' ''.

2. in program ZIPI0801

• Start of change for ECC6

• message e398(00) with 'Could not find access sequence'

• 'for condition type:'

• p_ptype.

message e398(00) with 'Could not find '

'access sequence'

'for condition type:'

p_ptype.

• End of change made for ECC6

9. Error:

In case of Move between 2 different Structures; ‘The structures are not mutually convertible in a Unicode program.’

Correction:

Make both the Data Types compatible and then assign the contents.

E.g.:

The statement –“move retainage_text to temp_text.” Gives an error, where RETAINAGE_TEXT is an internal table and TEMP_TEXT is a string of length 200.

A Feasible solution for this is to specify from which position to which position of the string, the fields of RETAINAGE_TEXT should be assigned.

TEMP_TEXT+0(1) = RETAINAGE_TEXT-DQ1.

TEMP_TEXT+1(1) = RETAINAGE_TEXT-HEX.

TEMP_TEXT+2(20) = RETAINAGE_TEXT-FILLER1.

TEMP_TEXT+22(15) = RETAINAGE_TEXT-AMT_DUE.

TEMP_TEXT+37(8) = RETAINAGE_TEXT-TEXT.

TEMP_TEXT+45(10) = RETAINAGE_TEXT-DUE_DATE.

TEMP_TEXT+55(1) = RETAINAGE_TEXT-DQ2.

10. Error:

In case of ‘no description found’; ‘add a GUI title’.

Correction:

In this type of error gui title is generally missing so add a GUI title to the module pool.

11. Error:

In case of ‘writing internal or transparent table’

Correction:

Write individual fields.

E.g.:

WRITE: / EXT. --> EXT should be a character type field

WRITE: / EXT-ZZSTATE, EXT-LINE_NO, EXT-LINE_TXT, EXT-AMT, EXT-ZZSKUQTY.

12. Error:

In case of ‘combination reference table/field S541-UMMENGE does not exist’

Correction:

Was due to error in reference table S541. TABLE S541 has errors

1)”Foreign key S541- ZZMARKET (ZZMARKET AND KATR2 point to different domains)”

2)”Foreign key S541-ZZACQUIGRP (ZZACQUIGRP AND KATR8 point to different domains)”

Changed the domain of ZZMARKET (from ZMKCODE to ATTR2)

And that of ZMKCODE (from ZACCODE to ATTR8)

13. Error:

In case of ‘KEY does not exist’

Correction:

The reference table for field KBETR was KNOV earlier changed it to RV61A as KNOV was in turn referring to RV61A.

14. Error:

Incase of ‘WRITE’ statement, ‘Literals that take more than one line is not permitted in Unicode systems.’

Correction: To correct this error, we need to align the spaces accordingly so that the statement doesn’t go beyond the line.

15. Error:

Incase of Data statement, ‘The data type ZWFHTML can be enhanced in any way. After a structure enhancement, this assignment or parameter might be syntactically incorrect………..’

Correction: To correct this error, instead of “like” in the Data statement, use “type”.

16. Error:

Incase of DESCRIBE statement, ‘DESCRIBE can be used only with IN BYTE... Or IN CHARACTER mode in Unicode systems.’

Correction: To correct this error, use additional text, IN BYTE MODE / IN CHARACTER MODE along with this statement.

CHARACTER MODE is added when the data object is of flat/ character type.

BYTE MODE is added when the data object is a deep structure.

Syntax: DESCRIBE FIELD data_obj : LENGTH blen IN BYTE MODE,

LENGTH clen IN CHARACTER MODE.

Where blen and clen must be of type I.

17. Error:

Incase of DO-LOOP Error,’ In Do loop range addition needed‘

Correction:

An internal tables is declared and the two fields (VARYING field and NEXT field) were

Included inside the internal table

E.g.: In program SAPMZP02

DO 11 TIMES

• VARYING STATION_STATE FROM STATION1 NEXT STATION2. “ECC6

CASE SYST-INDEX.

WHEN ‘1’

STATION_STATE = STATION1.

WHEN ‘2’

STATION_STATE = STATION2.

WHEN ‘3’

STATION_STATE = STATION3.

WHEN ‘4’

STATION_STATE = STATION4.

WHEN ‘5’

STATION_STATE = STATION5.

WHEN ‘6’

STATION_STATE = STATION6.

WHEN ‘7’

STATION_STATE = STATION7.

WHEN ‘8’

STATION_STATE = STATION8.

WHEN ‘9’

STATION_STATE = STATION9.

WHEN ‘10’

STATION_STATE = STATION10.

WHEN ‘11’

STATION_STATE = STATION11.

18. Error:

Incase of the parameter QUEUE-ID Error,’ QUEUE-ID’ is neither a parameter nor a select option in program rsbdcbtc.’

Correction:

The parameter in program rsbdcbtc is QUEUE_ID and so is changed in this program

E.g.: In program Z_CARRIER_EDI_INTERFACE

• submit rsbdcbtc with queue-id = apqi-qid and return. "ECC6

• The parameter name changed by replacing '-' with '_' as in program rsbdcbtc "ECC6

Submit rsbdcbtc with queue_id = apqi-qid and return. "ECC6

19. Error:

Incase of EPC Error,’ Field symbol <TOT_FLD> is not assigned to a field ‘.

Correction:

This error couldn't be rectified as the error occurs in a Standard SAP include- LSVIMF29.

The OS Note - 1036943 needs to be applied.

Error:

OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE.

Correct:

OPEN DATASET P_FILE FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.

Error:

Constants : c_tab type x value '09' .

Correct:

Constants : c_tab type abap_char1 value cl_abap_char_utilities=>horizontal_tab .

Error:

Data : begin of output_options occurs 0 . Include structure ssfcompop.

Data : end of output_options .

Correct:

Data : output_options type standard table of ssfcompop with header line .

Error:

PARAMETERS : NAST TYPE NAST .

Correct:

PARAMETERS : NAST TYPE NAST NO-DISPLAY .

Replace WS_DOWNLOAD and WS_UPLOAD by

GUI_UPLOAD and GUI_DOWNLOAD and check the import and export parameter types , do the changes accordingly. Because FILENAME paramater type is different because of this it will give dump.

For issue during Issue using SO_NEW_DOCUMENT_ATT_SEND_API1 Function module, the solution is After this FM we should put COMMIT WORK.

Issue:

Moving data from one structure to another structure if those two structures are not compatible

Solution:

we should use move-corresponding or field by filed we need to move it.

If database structures are different in 4.6c and ECC6.0,

Then we should go with append structure concept.

While testing the report if it gives dump at Select query level or any database or view level,then just goto that table or view and goto the data base utility(se14) adjust the database. But make sure that selected radio button in se14 transaction should be activate and adjust database

Also Check this link.

http://help.sap.com/saphelp_nw04/helpdata/en/62/3f2cadb35311d5993800508b6b8b11/frameset.htm

Reward points if helpful.

Regards,

Ramya

0 View this answer in context
Not what you were looking for? View more on this topic or Ask a question