Application Development 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: 

Regarding Obsolete Function Modules

Former Member

Hi all,

can anybody tell me the alternative ECC6.0 function modules of the following Obsolete function modules

DOWNLOAD

UPLOAD

WS_DOWNLOAD

WS_UPLOAD

WS_FILENAME_GET

WS_QUERY

POPUP_TO_CONFIRM_STEP

POPUP_TO_CONFIRM_WITH_MESSAGE

thnks

Sandeep

1 ACCEPTED SOLUTION

Former Member

Hi Sandeep,

for DOWNLOAD

UPLOAD

WS_DOWNLOAD

WS_UPLOAD

alternative FM is

GUI_UPLOAD and GUI_DOWNLOAD.

Thanks,

Swati

5 REPLIES 5

Former Member

Hi Sandeep,

for DOWNLOAD

UPLOAD

WS_DOWNLOAD

WS_UPLOAD

alternative FM is

GUI_UPLOAD and GUI_DOWNLOAD.

Thanks,

Swati

former_member386202
Active Contributor
0 Kudos

Hi,

GUI_UPLOAD

GUI_DOWNLOAD

F4_FILENAME

Regards,

Prashant

JozsefSzikszai
Active Contributor
0 Kudos

hi Sandeep,

for the POPUP_* FMs use POPUP_TO_CONFIRM

for the WS_* FMs use class CL_GUI_FRONTEND_SERVICES

ec

Former Member
0 Kudos

here are replacement function modules for the 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.

Former Member
0 Kudos

here are replacement function modules for the 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.