CL_GUI_ALV_GRID_BASE->MT_MODIFIED_CELLS在网格控件中是个非常重要的属性,sap是如何将客户端的编辑数据自动回写到该内表的,这对希望增强网格控件的 ABAPER兄弟会有很多作用。我现在就将我的理解写下来,供大家参考。
1)在创建CL_GUI_ALV_GRID_BASE的对象,会调用SET_INFO_TABLE方法为MT_MODIFIED_CELLS创建一个CL_GUI_DATAPONDEMAND对象,并把MT_MODIFIED_CELLS的地址传递到CL_GUI_DATAPONDEMAND的M_DATAPTR属性;
2)调用CL_GUI_DATAPONDEMAND->control_assign_prop进行注册全局静态内表“M_RUNNINGOBJECTS”,该内表包含下列字段
begin of runningdataobjs,
handle type i,"CL_GUI_DATAPONDEMAND的唯一ID号,系统每建一个会自动加一
obj type ref to cl_gui_datapondemand,"刚创建的CL_GUI_DATAPONDEMAND对象的地址
Is_Killed(1) type C, "Y6BK003062 "是否Kill
end of runningdataobjs ,
到这,系统就已经为未来回传数据准备好了信息。
在AS得到回传的XML数据,经过对应的LCL_MYXMLConsumer的子类进行处理回写控件的属性和内表。那么CL_GUI_ALV_GRID_BASE->MT_MODIFIED_CELLS又是怎么写回去的呢?
1)AS会分析客户端回传的XML数据,根据XML的项目首先会为'DATACHANGES'创建LCL_MYTABDATACHANGECONSUMER的对象;
2)(CL_GUI_DATAPONDEMAND的唯一ID号)调用call method ('CL_GUI_DATAPONDEMAND')=>('GET_WRITE_ACCESS')从全局静态内表“M_RUNNINGOBJECTS”获得对应控件数据的CL_GUI_DATAPONDEMAND对象赋值给LCL_MYTABDATACHANGECONSUMER的对象的m_dataaccess属性。
3)在LCL_MYTABDATACHANGECONSUMER的对象的OnExecute将通过m_dataaccess属性调用CL_GUI_DATAPONDEMAND对象的On_Modify,On_Remove等方法回写数据。
这样数据就会写到了MT_MODIFIED_CELLS的内表中。
请大家补充指正!
分享到:
相关推荐
ABAP ALV总结,ALV格式,REUSE_ALV_GRID_DISPLAY_LVC函数使用
SAP-ABAP-OO-实现-CL-SALV-TABLE
sap 的abap编程 实现alv的多层输出 调用系统方法
ABAP官方教程系列---BC400_EN_46D_FV ABAP Workbench: Foundations and Concepts
SAP方丈-ABAP-SAP增强应用实例
SAP HR人事主数据批量导入,可以根据不同的信息类型来进行自动判断导入。 SAP ABAP开发
webdypro abap test tool
ABAP - Keyword Documentation This documentation describes the syntax and meaning of the keywords of the ABAP language and its object-oriented part ABAP Objects. Alongside this, language frameworks ...
简单来讲,SAPLINK就是用来导入和导出ABAP程序,等开发对象的一个开源分享项目的产物. 1.上载前置工具程序 导入SAPLINK需要使用ZSAPLINK_INSTALLER程序进行导入. TCode:SE38,新建名为ZSAPLINK_INSTALLER的程序. 2....
SAP方丈-ABAP-SAP增强应用实例.docx
详细介绍了SAP ABAP 高级编程技术
SAP中文教材全系列之:ABAP中文标准教材-BC400_ZH_Col63_FV_Part_A4 陆续更新中。
ALV_GRID TYPE REF TO CL_GUI_ALV_GRID, WA_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER. DATA WA_LAYOUT TYPE LVC_S_LAYO. WA_LAYOUT-EDIT = 'X'. CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED. ...
ABAP-SAP的几种(代)出口类型 Web_dynpro-关于WEBDYNPRO的编程开发(一) ABAP-FOR ALL ENTRIES IN 注意点 ABAP-根据T-CODE找BADI ABAP-根据T-CODE找BAPI ABAP-UPLOAD文件时常用的数据转换 关于using和changing ...
SAP开发,abap编程中ALV报表的显示
ALV EDIT_MASK字段的使用ALV EDIT_MASK字段的使用 ALV EDIT_MASK字段的使用
1、解压后,支持直接导入ABAP 2、支持文本编辑器打开 3、如有不解之处,可以查阅文章:《金色传说:SAP-ABAP-IW21/IW22通知单保存增强:保存通知单时根据特殊条件创建新的事故通知单》或搜索公众号:SAPABAP金色传说
SAP ABAP 开发手册,对SAP上ABAP开发有很大的帮助,希望对在SAP上开发者能够提供帮助
SAP List Viewer (ALV) is a flexible tool used to display lists and tabular structures. It provides common list operations as standard functions and can be enhanced by user-specific functions. The SAP ...
运行时错误:RAISE_EXCEPTION...ABAP程序: CL_PDF_VIEWER=================CP 应用程序组件:BC-SRV-SSF 错误分析 CL_GUI_HTML_VIEWER============CP FEATURE_NOT_SUPPORTED 另外,SAP各种问题大全(持续更新中): ...