ABAP Create Excel Download button at Selection Screen

ABAP Tips No Comments »

If you want to create Excel download button at selection screen, you can check below method.

TABLES: sscrfields.

INITIALIZATION.

PERFORM init_data.

PERFORM file_download.

*&———————————————————————*
*&      Form  INIT_DATA
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM INIT_DATA .

sscrfields-functxt_01 = text-f01.

ENDFORM.                    ” INIT_DATA
*&———————————————————————*
*&      Form  FILE_DOWNLOAD
*&———————————————————————*
*       text
*———————————————————————-*
*  –>  p1        text
*  <–  p2        text
*———————————————————————-*
FORM FILE_DOWNLOAD .

DATA : t_dfname   TYPE rlgrap-filename VALUE ‘C:\’,
t_filename TYPE string.

* download file name
CALL FUNCTION ‘F4_FILENAME’
EXPORTING
program_name  = sy-repid
dynpro_number = sy-dynnr
IMPORTING
file_name     = t_dfname.

* file name
t_filename = t_dfname.

IF t_filename IS INITIAL OR
t_filename = ‘C:\’.
MESSAGE ‘파일 경로를 입력해 주세요.’ TYPE ‘I’.
STOP.
ENDIF.

* download template
CALL FUNCTION ‘GUI_DOWNLOAD’
EXPORTING
filename = t_filename
filetype = ‘DAT’
TABLES
data_tab = <gt_table>.

CALL FUNCTION ‘MS_EXCEL_OLE_STANDARD_DAT’
EXPORTING
file_name                 = t_dfname
TABLES
data_tab                  = <gt_table>
fieldnames                = it_head
EXCEPTIONS
file_not_exist            = 1
filename_expected         = 2
communication_error       = 3
ole_object_method_error   = 4
ole_object_property_error = 5
invalid_pivot_fields      = 6
download_problem          = 7
OTHERS                    = 8.

IF sy-subrc <> 0.
MESSAGE ‘Excel Open Error’ TYPE ‘I’.                   “#EC NOTEXT
STOP.
ENDIF.

ENDFORM.                    ” FILE_DOWNLOAD

ABAP Useful Function

ABAP Syntax No Comments »

1. 获取每个月的最后一天

   CALL FUNCTION ‘LAST_DAY_OF_MONTHS’
       EXPORTING
            day_in            = date
       IMPORTING
            last_day_of_month = date1.

2. 字符串前面去掉0

call function ‘CONVERSION_EXIT_ALPHA_OUTPUT’
       exporting
            input  = &1
        importing
            output = &1.

3. 字符串前面自动补0

  call function ‘CONVERSION_EXIT_ALPHA_INPUT’
        exporting
             input  = &1
        importing
            output = &1.

4.  获取生产定单状态

call function ‘STATUS_TEXT_EDIT’
         EXPORTING
              flg_user_stat    = ‘X’
              objnr            = LO_OBJNR
              only_active      = ‘X’
              spras            = sy-langu
         IMPORTING
              line             = ls_statu
         EXCEPTIONS
              object_not_found = 01.

5. 金额转换成大写

CALL FUNCTION ‘SPELL_AMOUNT’
       EXPORTING
            AMOUNT    = T_AMOUNT10
            CURRENCY  = ‘RMB’
            LANGUAGE  = ‘1′
       IMPORTING
            IN_WORDS  = S_AMWORD2
       EXCEPTIONS
            NOT_FOUND = 1
            TOO_LARGE = 2
            OTHERS    = 3.

6. 把SAP里的负号放到前面来的函数

   DATA : t(10) TYPE c VALUE ‘65465-’ .

   CALL FUNCTION ‘CLOI_PUT_SIGN_IN_FRONT’
      CHANGING
       value = t.
write : t .  

7. 通过这个日期得出那天是星期几

    DAY_IN_WEEK

8.  一组有用的用户交互窗口函数

POPUP_TO_CONFIRM_LOSS_OF_DATA 显示有YES/NO的弹出窗口,提示用户未保存的数据将丢失 
   POPUP_TO_CONFIRM_STEP 提示是否确认操作的弹出窗口 
   POPUP_TO_CONFIRM_WITH_MESSAGE 可以显示定制的提示信息的确认窗口 
   POPUP_TO_CONFIRM_WITH_VALUE 显示确认用户对某个特定对象的操作的弹出窗口 
   POPUP_TO_DECIDE 将待确认选项以单选按钮的方式显示的弹出窗口 
   POPUP_TO_DECIDE_WITH_MESSAGE 带消息的确认窗口 
   POPUP_TO_DISPLAY_TEXT 显示多行信息的窗口 
   POPUP_TO_SELECT_MONTH 月份选择窗口 
   POPUP_WITH_TABLE_DISPLAY 有表格对象的确认窗口

9. 判断某天是否是假日

HOLIDAY_CHECK_AND_GET_INFO

10.  在SE38环境下的程序名输入栏输入’DEMO*’后按F4,你可以查到SAP所有的DEMO示例程序

运行“ABAPDOCU”T-cdoe,你可以看到ABAP DOCUMENT及示例程序

在SE38环境下的程序名输入栏输入’BCALV*’后按F4,你可以查到很多ALV示例程序

(via Web)

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in