日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ALV中调用Excel inplace时没能传递数据实例解决

發布時間:2025/3/20 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ALV中调用Excel inplace时没能传递数据实例解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在很多用到ALV的項目開發中,會有調用Excel inplace功能直接在excel中查看數據(sy-ucomm = &VEXCEL), 可是當我們點該按鈕是, excel是成功出現了,可是alv grid的數據卻沒有寫到excel中.

? 下面通過一則簡單的實例程序,來介紹問題的解決:

*&-------------------- -------------------------------------------------*
*& Report? ZLC_ALV_EXCEL
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT? ZLC_ALV_EXCEL.
TABLES MARC.
TYPE-POOLS:SLIS.
DATA: BEGIN OF IT_MARC OCCURS 0,
????? MATNR LIKE MARC-MATNR,
????? PSTAT LIKE MARC-PSTAT,

????? LVORM LIKE MARC-LVORM,
????? BWTTY LIKE MARC-BWTTY,
????? XCHAR LIKE MARC-XCHAR,
????? MMSTA LIKE MARC-MMSTA,
????? END?? OF? IT_MARC.
DATA:? IT_FIELDCAT?? TYPE? SLIS_T_FIELDCAT_ALV,
?????? IT_EVENTS???? TYPE? SLIS_T_EVENT.
SELECT MATNR PSTAT LVORM BWTTY XCHAR MMSTA
INTO TABLE IT_MARC
FROM MARC.

START-OF-SELECTION.
? PERFORM? FRM_FIELDCAT_SET.
? PERFORM? FRM_ENVENT_SET.
? PERFORM? FRM_ALV_DISPLAY.
*&---------------------------------------------------------------------*
*&????? Form? FRM_FIELDCAT_SET
*&---------------------------------------------------------------------*
*?????? text
*----------------------------------------------------------------------*
*? -->? p1??????? text
*? <--? p2??????? text
*----------------------------------------------------------------------*
FORM FRM_FIELDCAT_SET .
? CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
??? EXPORTING
????? I_PROGRAM_NAME???????? = SY-REPID
????? i_structure_name?????? = 'ZLC_MARC'
??? CHANGING
????? CT_FIELDCAT??????????? = IT_FIELDCAT
??? EXCEPTIONS
????? INCONSISTENT_INTERFACE = 1
????? PROGRAM_ERROR????????? = 2
????? OTHERS???????????????? = 3.
ENDFORM.??????????????????? " FRM_FIELDCAT_SET
*&---------------------------------------------------------------------*
*&????? Form? FRM_ENVENT_SET
*&---------------------------------------------------------------------*
*?????? text
*----------------------------------------------------------------------*
*? -->? p1??????? text
*? <--? p2??????? text
*----------------------------------------------------------------------*
FORM FRM_ENVENT_SET .
?DATA PW_EVENT TYPE SLIS_ALV_EVENT.
? CLEAR PW_EVENT.
? CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
??? EXPORTING
????? I_LIST_TYPE???? = 1
??? IMPORTING
????? ET_EVENTS?????? = IT_EVENTS
??? EXCEPTIONS
????? LIST_TYPE_WRONG = 1
????? OTHERS????????? = 2.
? PW_EVENT-FORM = 'FRM_USER_COMMAND'.
? MODIFY IT_EVENTS FROM PW_EVENT TRANSPORTING FORM
????????????????? WHERE NAME = SLIS_EV_USER_COMMAND.
? PW_EVENT-FORM = 'FRM_SET_PFSTAT'.
? MODIFY IT_EVENTS FROM PW_EVENT TRANSPORTING FORM
?????????????????? WHERE NAME = SLIS_EV_PF_STATUS_SET.
ENDFORM.??????????????????? " FRM_ENVENT_SET
*&---------------------------------------------------------------------*
*&????? FRM_USER_COMMAND
*&---------------------------------------------------------------------*
*?????? text
*----------------------------------------------------------------------*
*? -->? p1??????? text
*? <--? p2??????? text
*----------------------------------------------------------------------*
FORM FRM_USER_COMMAND USING R_UCOMM TYPE SY-UCOMM?????????? "#EC CALLED
??????????????????????????? R_SELFIELD TYPE SLIS_SELFIELD.
*? IF W_F2CODE = CNS_WCLI.
*??? READ TABLE?? IT_DATA
*??? INTO???????? IW_DATA
*??? INDEX??????? R_SELFIELD-TABINDEX
*??? TRANSPORTING KUNNR .
*??? EXPORT? W_KUNNR FROM IW_DATA-KUNNR TO MEMORY ID CNS_KUNNR.
*??? LEAVE PROGRAM.
*? ENDIF.
ENDFORM.??????????????????? "FRM_USER_COMMAND
*&---------------------------------------------------------------------*
*&????? Form? FRM_ALV_DISPLAY
*&---------------------------------------------------------------------*
*?????? text
*----------------------------------------------------------------------*
*? -->? p1??????? text
*? <--? p2??????? text
*----------------------------------------------------------------------*
FORM FRM_ALV_DISPLAY .
? CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
??? EXPORTING
????? I_CALLBACK_PROGRAM = SY-REPID
????? IT_FIELDCAT??????? = IT_FIELDCAT
????? IT_EVENTS????????? = IT_EVENTS

????? I_DEFAULT????????? = 'X'

??? TABLES
????? T_OUTTAB?????????? = IT_MARC
??? EXCEPTIONS
????? PROGRAM_ERROR????? = 1
????? OTHERS???????????? = 2.

ENDFORM.??????????????????? " FRM_ALV_DISPLAY
*&---------------------------------------------------------------------*
*&????? Form? FRM_SET_PFSTAT
*&---------------------------------------------------------------------*
*?????? text
*----------------------------------------------------------------------*
*? -->? p1??????? text
*? <--? p2??????? text
*----------------------------------------------------------------------*

FORM FRM_SET_PFSTAT USING EXTAB TYPE SLIS_T_EXTAB.????????? "#EC CALLED
? SET PF-STATUS? 'PF_002'.
ENDFORM.??????????????????? " FRM_SET_PFSTAT

?

此實例得到結果:

??????

通過點擊 導出EXCEL,一開始是沒有數據。解決辦法:在菜單欄 工具---》宏----》安全性---》可靠發行商下勾選‘信任對于visual Basic項目?’的訪問。

?

大功告成!

總結

以上是生活随笔為你收集整理的ALV中调用Excel inplace时没能传递数据实例解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。