点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我似乎无法在进行更改后将修改...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我似乎无法在进行更改后将修改...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,我似乎无法在进行更改后将修改后的数据保存到数据库表(zekko03)中。 我现在正在保存标题。
示例程序并不像我尝试过的那样真正适用于我的情况。
应该是逻辑问题,可以列出/显示save_database_update子例程应该如何按逻辑顺序工作以及使用什么语法?
数据:G_GRID_LEFT TYPE REF CL_GUI_ALV_GRID, G_GRID_RIGHT类型参考CL_GUI_ALV_GRID, GS_LAYOUT类型LVC_S_LAYO。 执行FIELDCAT。 GS_LAYOUT-EDIT = ABAP_TRUE。 呼叫方法G_GRID_LEFT-> SET_TABLE_FOR_FIRST_DISPLAY 出口 IS_VARIANT = LS_VARIANT I_STRUCTURE_NAME ='ZEKKO03' I_SAVE =保存 IS_LAYOUT = GS_LAYOUT 改变 IT_OUTTAB = GT_ZHEADER IT_FIELDCATALOG = GT_FIELDCAT 例外情况 INVALID_PARAMETER_COMBINATION = 1 PROGRAM_ERROR = 2 TOO_MANY_LINES = 3 其他= 4。 如果SY-SUBRC <> 0。 消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO 与SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。 ENDIF。
MODULE USER_COMMAND_0100输入。 调用方法CL_GUI_CFW => DISPATCH。 案例SY-UCOMM。 当"更新"。 执行SAVE_DATABASE_UPDATE。 当"切换"时。 进行SWITCH_EDIT_MODE。 当别人。 结束。 ENDMODULE。
更新方法有效,这意味着记录已更新。 但是,在调用alv程序时,标头zekko03记录不会被更新。
当我调试时,修改过的字段首先会更新(从YNB更改为ZNB)
稍后只需要一条记录(第一条记录),执行完调试模式后,记录就不会更新
FORM SAVE_DATABASE_UPDATE。 将gt_zheader循环到gs_zheader。 呼叫方法ZCL_03_DATA_MODEL => SELECT_PURCHASE_ORDERS 出口 IV_KEY = gs_zheader-ebeln IV_MAX_ROWS = IV_MAX_ROWS 输入 IT_ZHEADER = gt_zheader 。 呼叫方法ZCL_03_DATA_MODEL => UPDATE_PURCHASE_ORDERS 出口 IT_ZHEADER = GT_ZHEADER IT_ZITEMS = GT_ZITEMS 输入 ES_BAPIRET2 = BAPIRET2。 结局。 ENDFORM。
这些是我使用过的一些参考书
http://saptechnical.com/Tutorials/ALV/Edit/demo.htm
https://answers.sap。 com/questions/5294394/problem-with-alv-edit-and-save.html
(64.9 kB)
调用G_GRID_LEFT-> GET_SELECTED_ROWS ET_ROW_NO
实际上我上面的get_selected_row代码用于删除子例程,当切换到不可编辑模式(switch_mode)时,选择一行并删除。
我尝试对update应用相同的操作,以查看所选行的修改后的值是否得到更新
只要表更新即使没有选择的行也可以,问题就在于没有选择的行。 在调试模式下,修改后的记录甚至不会反映出来,也不会执行任何更新。
我想不出其他方式编写代码,否则更新无法反映在视频中
在调试模式下(屏幕截图),内部表中没有反映更新的值
一周热门 更多>