【实用】SAP修改记录表开发
来源:互联网 发布:陈道明 左小青 知乎 编辑:程序博客网 时间:2024/05/22 09:05
首先我们看一下运行效果图:
大部分都是CDHDR表的查询字段。
双击某一行可以查看具体的修改明细字段。
源代码:
REPORT Z_ALV_CDHDR_CDPOS.TYPE-POOLS SLIS.DATA : CDHDR TYPE CDHDR.SELECT-OPTIONS : S_OBJCLS FOR CDHDR-OBJECTCLAS OBLIGATORY, S_OBJTID FOR CDHDR-OBJECTID, S_CHNGNR FOR CDHDR-CHANGENR, S_USRNAM FOR CDHDR-USERNAME, S_UDATE FOR CDHDR-UDATE, S_TIME FOR CDHDR-UTIME, S_TCODE FOR CDHDR-TCODE, S_PLNCNR FOR CDHDR-PLANCHNGNR, S_CHNGNO FOR CDHDR-ACT_CHNGNO, S_WSPLND FOR CDHDR-WAS_PLANND, S_CHNGID FOR CDHDR-CHANGE_IND.SELECTION-SCREEN SKIP.PARAMETERS P_MAX TYPE NUMC3 OBLIGATORY DEFAULT '200'.*---------------------------------------------------------------------*TYPES :BEGIN OF TY_S_CDHDR. INCLUDE STRUCTURE CDHDR.TYPES : CHECKBOX, END OF TY_S_CDHDR, BEGIN OF TY_S_CDPOS. INCLUDE STRUCTURE CDPOS.TYPES : CHECKBOX,END OF TY_S_CDPOS.*---------------------------------------------------------------------*DATA :* Layout for ALV GS_LAYOUT TYPE SLIS_LAYOUT_ALV,* Change document header T_CDHDR TYPE TABLE OF TY_S_CDHDR.*---------------------------------------------------------------------*START-OF-SELECTION.* Read Change document header SELECT * INTO TABLE T_CDHDR UP TO P_MAX ROWS FROM CDHDR WHERE OBJECTCLAS IN S_OBJCLS AND OBJECTID IN S_OBJTID AND CHANGENR IN S_CHNGNR AND USERNAME IN S_USRNAM AND UDATE IN S_UDATE AND UTIME IN S_TIME AND TCODE IN S_TCODE AND PLANCHNGNR IN S_PLNCNR AND ACT_CHNGNO IN S_CHNGNO AND WAS_PLANND IN S_WSPLND AND CHANGE_IND IN S_CHNGID. GS_LAYOUT-ZEBRA = 'X'. GS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'. GS_LAYOUT-BOX_FIELDNAME = 'CHECKBOX'.* Display ALV CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = SY-CPROG I_CALLBACK_USER_COMMAND = 'USER_COMMAND' I_STRUCTURE_NAME = 'CDHDR' IS_LAYOUT = GS_LAYOUT TABLES T_OUTTAB = T_CDHDR.*---------------------------------------------------------------------** FORM USER_COMMAND **---------------------------------------------------------------------*FORM USER_COMMAND USING U_UCOMM TYPE SYUCOMM US_SELFIELD TYPE SLIS_SELFIELD. "#EC CALLED* Macro definition DEFINE M_SORT. ADD 1 TO ls_sort-spos. ls_sort-fieldname = &1. ls_sort-UP = 'X'. APPEND ls_sort TO lt_sort. END-OF-DEFINITION. DATA : LS_CDHDR TYPE TY_S_CDHDR, LS_SORT TYPE SLIS_SORTINFO_ALV, LT_SORT TYPE SLIS_T_SORTINFO_ALV,* Change document items LT_CDPOS TYPE TABLE OF TY_S_CDPOS. CASE U_UCOMM. WHEN '&IC1'. PERFORM CHECK_MARKED USING US_SELFIELD.* Read Change document items LOOP AT T_CDHDR INTO LS_CDHDR WHERE CHECKBOX = 'X'. SELECT * APPENDING TABLE LT_CDPOS FROM CDPOS WHERE OBJECTCLAS = LS_CDHDR-OBJECTCLAS AND OBJECTID = LS_CDHDR-OBJECTID AND CHANGENR = LS_CDHDR-CHANGENR. ENDLOOP. M_SORT 'CHANGENR'.* Display ALV CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_STRUCTURE_NAME = 'CDPOS' IS_LAYOUT = GS_LAYOUT IT_SORT = LT_SORT TABLES T_OUTTAB = LT_CDPOS. ENDCASE.ENDFORM. " USER_COMMAND*---------------------------------------------------------------------** Form CHECK_MARKED*---------------------------------------------------------------------** What has been marked in t_cdhdr*---------------------------------------------------------------------*FORM CHECK_MARKED USING US_SELFIELD TYPE SLIS_SELFIELD. FIELD-SYMBOLS : <FS> TYPE TY_S_CDHDR. READ TABLE T_CDHDR TRANSPORTING NO FIELDS WITH KEY CHECKBOX = 'X'. IF NOT SY-SUBRC IS INITIAL AND NOT US_SELFIELD-TABINDEX IS INITIAL. READ TABLE T_CDHDR INDEX US_SELFIELD-TABINDEX ASSIGNING <FS>. <FS>-CHECKBOX = 'X'. ENDIF.ENDFORM. " CHECK_MARKED
阅读全文
1 0
- 【实用】SAP修改记录表开发
- SAP ABAP开发实用快捷键
- SAP AUT10 查看修改记录
- ABAP开发实用快捷键 版本:SAP GUI710
- ABAP开发实用快捷键 版本:SAP GUI710
- 【转载】SAP保存操作记录CDHDR和CDPOS表,通过修改屏幕字段,查找SAP字段表和字段
- SAP暴力修改表内容
- 关于sap的字段和对象修改记录的查找
- 关于sap的字段和对象修改记录的查找
- 关于sap的字段和对象修改记录的查找
- sap的字段和对象修改记录的查找
- SAP中如何查看BOM的修改记录呢?
- sap中如何追踪生产订单的修改记录
- SAP中使用BDC创建或修改采购信息记录
- sap指针实用实例
- 超级实用sap table
- 释疑の修改SAP标准表内容
- iOS开发实用知识点记录(持续更新)
- lua pcall error
- SVN服务器搭建和使用(一)
- 一起学并发编程
- Request的getParameter和getAttribute方法的区别
- 优达学城《计算机科学导论》小结
- 【实用】SAP修改记录表开发
- 《20171113》
- Linux安装图形化桌面
- 如何将arm-linux-gcc编译的动态链接helloworld在Android上运行
- ceph KRBD 内核RBD模块 rbd 快照 克隆 删除 恢复
- ssd textboxes Check failed: channels == img_channels (3 vs. 1)
- osgEarth ReadyMap影像投影图显示 30. readymap_flat.earth
- Web前端框架学习—Bootstrap
- Introduction to TensorFlow Lite