Regarding Obsolete Function Modules

Advertisement
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
Advertisement

Replay

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.