Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Obsolete FM

Former Member
0 Likes
733

Please let me know the replacement for the Obsolete FM registry_get

regards.

Please let me know the replacement for the Obsolete FM registry_get

regards.

3 REPLIES 3
Read only

seshatalpasai_madala
Product and Topic Expert
Product and Topic Expert
0 Likes
689

Hi,

Use class method REGISTRY_GET_VALUE of class CL_GUI_FRONTEND_SERVICES.

This FM is obsolete, check its documentation for more details.

Regards,

Sesh

Read only

Former Member
0 Likes
689

here are replacement function modules for the common obsolete ones.

award points in case u feel this useful

1. Obsolete Function Module: WS_UPLOAD.

Replacement FM: GUI_UPLOAD.

Note:

1. If the FM ‘WS_UPLOAD' has file type as ASC, then we can use same file

type ASC for GUI_UPLOAD also.

2. But if the FM 'WS_UPLOAD' has file type as DAT, we can not use DAT for

'GUI_UPLOAD' as it will give short dump.

In this case we need use file type as ASC

and

HAS_FIELD_SEPARATOR = ‘X’.

3. If the file name or file type of ws_upload have variables or constants

Instead of hard coding, then don’t use hard code values for gui_upload.

3. The data type of file name always should be of character type for gui_upload

The file type should be of Type Character and length 10.

4. Always uncomment the exceptions for gui_upload.

5. And also uncomment the code inside IF SY-SUBRC 0. and ENDIF after

gui_upload if the customer has not handled any exception in 46c version.

If there is any code inside IF SY-SUBRC 0 and ENDIF for ws_upload in 46c

version, Please use the same code in ECC also after gui_upload.

Example:

Example for File type ASC:

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

FILENAME = P_FILE

FILETYPE = 'ASC'

IMPORTING

FILELENGTH =

TABLES

DATA_TAB = P_I_DATA

EXCEPTIONS

CONVERSION_ERROR = 1

FILE_OPEN_ERROR = 2

FILE_READ_ERROR = 3

INVALID_TABLE_WIDTH = 4

INVALID_TYPE = 5

NO_BATCH = 6

UNKNOWN_ERROR = 7

GUI_REFUSE_FILETRANSFER = 8

CUSTOMER_ERROR = 9

OTHERS = 10.

Replacement FM:

DATA L_P_FILE TYPE STRING.

L_P_FILE = P_FILE.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = L_P_FILE

FILETYPE = ‘ASC’

TABLES

DATA_TAB = P_I_DATA

EXCEPTIONS

FILE_OPEN_ERROR = 1

FILE_READ_ERROR = 2

NO_BATCH = 3

GUI_REFUSE_FILETRANSFER = 4

INVALID_TYPE = 5

NO_AUTHORITY = 6

UNKNOWN_ERROR = 7

BAD_DATA_FORMAT = 8

HEADER_NOT_ALLOWED = 9

SEPARATOR_NOT_ALLOWED = 10

HEADER_TOO_LONG = 11

UNKNOWN_DP_ERROR = 12

ACCESS_DENIED = 13

DP_OUT_OF_MEMORY = 14

DISK_FULL = 15

DP_TIMEOUT = 16

OTHERS = 17

.

IF SY-SUBRC NE 0.

MESSAGE E033 WITH P_FILE ' could not be opened'(E03).

ENDIF.

Example for file type DAT:

CALL FUNCTION 'WS_UPLOAD'

EXPORTING

FILENAME = P_FILE

FILETYPE = 'DAT'

IMPORTING

FILELENGTH =

TABLES

DATA_TAB = P_I_DATA

EXCEPTIONS

CONVERSION_ERROR = 1

FILE_OPEN_ERROR = 2

FILE_READ_ERROR = 3

INVALID_TABLE_WIDTH = 4

INVALID_TYPE = 5

NO_BATCH = 6

UNKNOWN_ERROR = 7

GUI_REFUSE_FILETRANSFER = 8

CUSTOMER_ERROR = 9

OTHERS = 10.

Replacement FM:

DATA L_P_FILE TYPE STRING.

L_P_FILE = P_FILE.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = L_P_FILE

FILETYPE = ‘ASC’

HAS_FIELD_SEPARATOR = ‘X’

TABLES

DATA_TAB = P_I_DATA

EXCEPTIONS

FILE_OPEN_ERROR = 1

FILE_READ_ERROR = 2

NO_BATCH = 3

GUI_REFUSE_FILETRANSFER = 4

INVALID_TYPE = 5

NO_AUTHORITY = 6

UNKNOWN_ERROR = 7

BAD_DATA_FORMAT = 8

HEADER_NOT_ALLOWED = 9

SEPARATOR_NOT_ALLOWED = 10

HEADER_TOO_LONG = 11

UNKNOWN_DP_ERROR = 12

ACCESS_DENIED = 13

DP_OUT_OF_MEMORY = 14

DISK_FULL = 15

DP_TIMEOUT = 16

OTHERS = 17

.

IF sy-subrc 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

Else.

2. Obsolete FM : WS_DOWNLOAD

Replacement FM: GUI_DOWNLOAD.

Note:

1. If the FM ‘WS_DOWNLOAD' has file type as ASC, then we can use same file

Type ASC for GUI_DOWNLOAD also.

2. If the FM 'WS_DOWNLOAD' has file type as DAT, we can use DAT for

'GUI_DOWNLOAD'

3. If the file name or file type of ws_upload have variables or constants

Instead of hard coding,then don’t use hard code values for gui_download.

Declare variables and assign the ws_download variables to new variables

and use These in the new FM.

4. The data type of file name always should be of character type for gui_upload

The file type should be of Type Character and length 10.

5. The data type of file name always should be of character type for gui_ download.

6. Always uncomment the exceptions for gui_download.

7. And also uncomment the code inside IF SY-SUBRC 0. and ENDIF after

Gui_upload if the customer has not handled any exception in 46c version.

If there is any code inside IF SY-SUBRC 0 and ENDIF for ws_ download in

46c version, Please use the same code in ECC also after gui_download.

Example:

CALL FUNCTION 'WS_DOWNLOAD'

EXPORTING

FILENAME = P_FILENM

FILETYPE = 'DAT' " split into records

TABLES

DATA_TAB = L_ITAB

FIELDNAMES = T_HEAD

EXCEPTIONS

FILE_OPEN_ERROR = 01

FILE_WRITE_ERROR = 02

INVALID_FILESIZE = 03

INVALID_TABLE_WIDTH = 04

INVALID_TYPE = 05

NO_BATCH = 06

UNKNOWN_ERROR = 07.

Replacement FM for above FM:

DATA L_P_FILE TYPE STRING.

L_P_FILE = P_FILENM.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

FILENAME = L_P_FILE

FILETYPE = ‘DAT’

TABLES

DATA_TAB = L_ITAB

FIELDNAMES = T_HEAD

EXCEPTIONS

FILE_WRITE_ERROR = 1

NO_BATCH = 2

GUI_REFUSE_FILETRANSFER = 3

INVALID_TYPE = 4

NO_AUTHORITY = 5

UNKNOWN_ERROR = 6

HEADER_NOT_ALLOWED = 7

SEPARATOR_NOT_ALLOWED = 8

FILESIZE_NOT_ALLOWED = 9

HEADER_TOO_LONG = 10

DP_ERROR_CREATE = 11

DP_ERROR_SEND = 12

DP_ERROR_WRITE = 13

UNKNOWN_DP_ERROR = 14

ACCESS_DENIED = 15

DP_OUT_OF_MEMORY = 16

DISK_FULL = 17

DP_TIMEOUT = 18

FILE_NOT_FOUND = 19

DATAPROVIDER_EXCEPTION = 20

CONTROL_FLUSH_ERROR = 21

OTHERS = 22.

-

-


CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'

*EXPORTING

*defaultoption = 'N'

* extline1 = 'Soll das Include überschrieben werden?'(034)

* extline2 = i_inc-include

* itel = 'Include existiert bereits!'(039)

    • START_COLUMN = 25

    • START_ROW = 6

    • CANCEL_DISPLAY = 'X'

  • IMPORTING

  • answer = answer

  • EXCEPTIONS

  • OTHERS = 1.

Replacement Method :

DATA : l_question type string.

Concatenate 'Soll das Include überschrieben werden?'(034)

i_inc-include

into l_question.

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

TITLEBAR = 'Prepack deletion'(019)

DIAGNOSE_OBJECT = ' '

TEXT_QUESTION = l_question

TEXT_BUTTON_1 = 'Yes'(020)

*ICON_BUTTON_1 = ' '

TEXT_BUTTON_2 = 'No'(021)

*ICON_BUTTON_2 = ' '

*DEFAULT_BUTTON = '2'

DISPLAY_CANCEL_BUTTON = 'X'

*USERDEFINED_F1_HELP = ' '

*START_COLUMN = 25

*START_ROW = 6

*POPUP_TYPE =

*IV_QUICKINFO_BUTTON_1 = ' '

*IV_QUICKINFO_BUTTON_2 = ' '

IMPORTING

ANSWER = answer

TABLES

*PARAMETER =

EXCEPTIONS

TEXT_NOT_FOUND = 1

OTHERS = 2 .

IF SY-SUBRC 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

Note :

In FM POPUP_TO_CONFIRM_STEP' , the value for import parameter ANSWER is

J (YES),

N (NO).

But for POPUP_TO_CONFIRM , the value for import parameter ANSWER is

1 (YES),

2 (NO).

So, please change these values accordingly while replacing with the new FM.

-

-


CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'

EXPORTING

DIAGNOSETEXT1 = TEXT-900

DIAGNOSETEXT2 = SY-MSGV1

DIAGNOSETEXT3 = TEXT-901

TEXTLINE1 = TEXT-902

TEXTLINE2 = TEXT-903

TITEL = TEXT-904

IMPORTING

ANSWER = UP_ANSWER.

replacement:

The Diagnose object parameter Z_ZIMPCHK1_POPUP_TO_CONFIRM'

is created in SE61 transaction as DIALOG TEXT object

DATA: W_PARAM TYPE SPAR,

I_PARAMETERS TYPE STANDARD TABLE OF SPAR,

W_TEXT_Q TYPE STRING.

MOVE TEXT-900 TO W_PARAM-VALUE.

MOVE 'TEXT1' TO W_PARAM-PARAM.

APPEND W_PARAM TO I_PARAMETERS.

WRITE SY-MSGV1 TO W_PARAM-VALUE.

MOVE 'TEXT2' TO W_PARAM-PARAM.

APPEND W_PARAM TO I_PARAMETERS.

WRITE TEXT-901 TO W_PARAM-VALUE.

MOVE 'TEXT3' TO W_PARAM-PARAM.

APPEND W_PARAM TO I_PARAMETERS.

CONCATENATE TEXT-902

TEXT-903

INTO

W_TEXT_Q.

CALL FUNCTION 'POPUP_TO_CONFIRM'

EXPORTING

TITLEBAR = TEXT-904

DIAGNOSE_OBJECT = 'Z_ZIMPCHK1_POPUP_TO_CONFIRM'

TEXT_QUESTION = W_TEXT_Q

IMPORTING

ANSWER = UP_ANSWER

TABLES

PARAMETER = I_PARAMETERS

EXCEPTIONS

TEXT_NOT_FOUND = 1

OTHERS = 2

.

IF SY-SUBRC 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

-

-


call function 'UPLOAD'

exporting

filename = umsfile

filetype = 'ASC'

tables

data_tab = umsatz.

replacement :

DATA : I_FILE_TABLE1 TYPE TABLE OF FILE_TABLE,

W_FILETABLE1 TYPE FILE_TABLE,

W_RC1 TYPE I,

W_P_DEF_FILE1 TYPE STRING,

W_P_FILE1 TYPE STRING,

w_usr_act1 TYPE I.

W_P_DEF_FILE1 = umsfile.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG

EXPORTING

WINDOW_TITLE =

DEFAULT_EXTENSION =

DEFAULT_FILENAME = W_P_DEF_FILE1

CHANGING

FILE_TABLE = I_FILE_TABLE1

RC = W_RC1

USER_ACTION = w_usr_act1

FILE_ENCODING =

EXCEPTIONS

FILE_OPEN_DIALOG_FAILED = 1

CNTL_ERROR = 2

ERROR_NO_GUI = 3

NOT_SUPPORTED_BY_GUI = 4

others = 5 .

IF sy-subrc = 0

AND w_usr_act

CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.

LOOP AT I_FILE_TABLE1 INTO W_FILETABLE1.

W_P_FILE1 = W_FILETABLE1.

EXIT.

ENDLOOP.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

FILENAME = W_P_FILE1

FILETYPE = 'ASC'

TABLES

DATA_TAB = umsatz

EXCEPTIONS

FILE_OPEN_ERROR = 1

FILE_READ_ERROR = 2

NO_BATCH = 3

GUI_REFUSE_FILETRANSFER = 4

INVALID_TYPE = 5

NO_AUTHORITY = 6

UNKNOWN_ERROR = 7

BAD_DATA_FORMAT = 8

HEADER_NOT_ALLOWED = 9

SEPARATOR_NOT_ALLOWED = 10

HEADER_TOO_LONG = 11

UNKNOWN_DP_ERROR = 12

ACCESS_DENIED = 13

DP_OUT_OF_MEMORY = 14

DISK_FULL = 15

DP_TIMEOUT = 16

OTHERS = 17

.

IF SY-SUBRC 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDIF.

-

-


CALL FUNCTION 'DOWNLOAD'

EXPORTING

BIN_FILESIZE = ' '

CODEPAGE = ' '

FILENAME = PT_FILE

FILETYPE = 'DAT'

ITEM = ' '

MODE = ' '

WK1_N_FORMAT = ' '

WK1_N_SIZE = ' '

WK1_T_FORMAT = ' '

WK1_T_SIZE = ' '

FILEMASK_MASK = ' '

FILEMASK_TEXT = ' '

FILETYPE_NO_CHANGE = ' '

FILEMASK_ALL = ' '

FILETYPE_NO_SHOW = ' '

SILENT = 'S'

COL_SELECT = ' '

COL_SELECTMASK = ' '

NO_AUTH_CHECK = ' '

IMPORTING

ACT_FILENAME =

ACT_FILETYPE =

FILESIZE =

CANCEL =

TABLES

DATA_TAB = BELEGE

FIELDNAMES =

EXCEPTIONS

INVALID_FILESIZE = 1

INVALID_TABLE_WIDTH = 2

INVALID_TYPE = 3

NO_BATCH = 4

UNKNOWN_ERROR = 5

GUI_REFUSE_FILETRANSFER = 6

OTHERS = 7.

replacement:

DATA: l_filename TYPE string,

l_filen TYPE string,

l_path TYPE string,

l_fullpath TYPE string,

l_usr_act TYPE I.

l_filename = PT_FILE.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG

EXPORTING

DEFAULT_FILE_NAME = l_filename

CHANGING

FILENAME = l_filen

PATH = l_path

FULLPATH = l_fullpath

USER_ACTION = l_usr_act

EXCEPTIONS

CNTL_ERROR = 1

ERROR_NO_GUI = 2

NOT_SUPPORTED_BY_GUI = 3

others = 4.

IF sy-subrc = 0

AND l_usr_act

CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

BIN_FILESIZE =

FILENAME = l_fullpath

FILETYPE = 'DAT'

TABLES

DATA_TAB = BELEGE

FIELDNAMES =

EXCEPTIONS

FILE_WRITE_ERROR = 1

NO_BATCH = 2

GUI_REFUSE_FILETRANSFER = 3

INVALID_TYPE = 4

NO_AUTHORITY = 5

UNKNOWN_ERROR = 6

HEADER_NOT_ALLOWED = 7

SEPARATOR_NOT_ALLOWED = 8

FILESIZE_NOT_ALLOWED = 9

HEADER_TOO_LONG = 10

DP_ERROR_CREATE = 11

DP_ERROR_SEND = 12

DP_ERROR_WRITE = 13

UNKNOWN_DP_ERROR = 14

ACCESS_DENIED = 15

DP_OUT_OF_MEMORY = 16

DISK_FULL = 17

DP_TIMEOUT = 18

FILE_NOT_FOUND = 19

DATAPROVIDER_EXCEPTION = 20

CONTROL_FLUSH_ERROR = 21

OTHERS = 22

.

IF SY-SUBRC 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDIF.

ALSO:

Goto SE37 and do F4 help with the relevant Key words(as in old system).

If this is not working for u, then i would suggest you to refer sap release note for this regard.

Also, Check the list of function modules

http://www.sap-img.com/abap/function-list.htm

http://www.erpgenie.com/abap/functions.htm

hope this helps,

Reward Points if found helpfull..

Cheers,

Chandra Sekhar.

Read only

Former Member
0 Likes
689

hi,

The following methods are available from cl_gui_frontend_services:

REGISTRY_DELETE_KEY

REGISTRY_DELETE_VALUE

REGISTRY_GET_VALUE

REGISTRY_SET_VALUE

REGISTRY_GET_DWORD_VALUE

plz reward if helpful..