標準ALV 數據修改與內表一致(一句話設定)

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BACKGROUND_ID = 'SIWB_WALLPAPER'
I_CALLBACK_PROGRAM = I_REPID
       I_GRID_SETTINGS = LC_GLAY    -------------------------
I_CALLBACK_HTML_TOP_OF_PAGE = W_HTML_TOP_OF_PAGE
I_BUFFER_ACTIVE = 'X'
* I_STRUCTURE_NAME = ''
* I_DEFAULT = 'X'
* I_SAVE = 'A'
* IS_VARIANT = W_VARIANT
IS_LAYOUT = W_LAYOUT
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = GD_FIELDCAT
IT_EVENTS = I_EVENTS
IT_EVENT_EXIT = I_EVENT_EXIT
IT_EXCLUDING = I_EXCLUDING
IS_PRINT = W_PRINT
* i_screen_start_column = 1
* i_screen_start_line = 1
* i_screen_end_column = 70
* i_screen_end_line = 30
TABLES
T_OUTTAB = GT_OUT.

其中需要设置: --------------------------------------

LC_GLAY-EDT_CLL_CB = 'X'.

 

 

 

 

=====(2)

首先编辑ALV的CALLER_EXIT事件,在call back的subroutine中做如下处理
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      E_GRID = W_ALV_GRID.

 

最后调用 W_ALV_GRID->CHECK_CHANGED_DATA( ).

ALV GRID中编辑的值就可以更新到ALV内表中了

例子如下:

 PERFORM FM_EVENT_BUILD.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'"調用函數
    EXPORTING
      I_CALLBACK_PROGRAM       = SY-REPID
      I_DEFAULT                = 'X'
      I_SAVE                   = 'A'
     IT_FIELDCAT_LVC    = T_FIELDCAT
      IS_LAYOUT_LVC      = X_LAYOUT
      IT_EVENTS         = GV_EVENTS
      I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
    TABLES
      T_OUTTAB           = ITAB
    EXCEPTIONS
      PROGRAM_ERROR      = 1
      OTHERS             = 2.

 

---

 FORM FM_EVENT_BUILD.
  DATA LV_EVENT LIKE LINE OF GV_EVENTS.
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
   EXPORTING
     I_LIST_TYPE           = 0
   IMPORTING
     ET_EVENTS             = GV_EVENTS
   EXCEPTIONS
     LIST_TYPE_WRONG       = 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.
*  LV_EVENT-NAME = 'CALLER_EXIT'.
*  LV_EVENT-FORM = 'FM_BUTTON'.
*  APPEND LV_EVENT TO GV_EVENTS.
*  delete GV_EVENTS where name = 'USER_COMMAND'.
*  LV_EVENT-NAME = 'USER_COMMAND'.
*  LV_EVENT-FORM = 'USER_COMMAND'.
*  APPEND LV_EVENT TO GV_EVENTS.


  READ TABLE GV_EVENTS WITH KEY NAME = 'CALLER_EXIT' INTO LV_EVENT .
  IF SY-SUBRC = 0 .
    LV_EVENT-FORM = 'FM_BUTTON' .
    APPEND LV_EVENT TO GV_EVENTS . "add form 'TOP_OF_PAGE' to the events,
  ENDIF.                        "perform the FORM 'to_of_page' .

ENDFORM.

 

 FORM FM_BUTTON USING E_GRID TYPE SLIS_DATA_CALLER_EXIT.
DATA GV_GRID TYPE REF TO cl_gui_alv_grid.
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
*   EXPORTING
*     IR_SALV_FULLSCREEN_ADAPTER       =
    IMPORTING
*     ET_EXCLUDING                     =
*     E_REPID                          =
*     E_CALLBACK_PROGRAM               =
*     E_CALLBACK_ROUTINE               =
      E_GRID                           = GV_GRID
*     ET_FIELDCAT_LVC                  =
*     ER_TRACE                         =
*     E_FLG_NO_HTML                    =
*     ES_LAYOUT_KKBLO                  =
*     ES_SEL_HIDE                      =
*     ET_EVENT_EXIT                    =
*     ER_FORM_TOL                      =
*     ER_FORM_EOL                      =
            .

  CREATE OBJECT GV_EVENT_RECEIVER.
  SET HANDLER GV_EVENT_RECEIVER->HANDLE_BUTTON_CLICK FOR GV_GRID.
ENDFORM.

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值