2020-08-26 15:47发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我已经创建了一个自定义... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我已经创建了一个自定义表格。 除了自定义字段外,我们在此表中还需要" changed Date(AEDTM)"和" changed by"字段。
用户不会填写这些字段,系统应自动填写。
例如:每当创建新记录(使用sm31)时,更改的日期=今天的日期,并通过=用户名更改。
如何实现此目的?
有什么想法吗?
谢谢
克里希纳
使用"表维护"事件可以填充这些字段。
您需要使用事件01
FORM f_actions_event_01。 如果vim_abort_saving是INITIAL。 *更新更改历史记录字段 包括ZZFSAI086_UPD_CHG_HSTY。 万一。 ENDFORM。 " f_actions_event_01
包含代码
数据: lv_index1 TYPE sy-tabix,"表'TOTAL'的索引 lv_index2 TYPE sy-tabix,"表'EXTRACT'的索引 lr_data TYPE REF TO数据,"参考数据对象" lv_action TYPE char1,"变量适用于View操作 lv_mark TYPE char1。 "视标可变 字段符号: TYPE ANY,"对于字段值 TYPE any,"用于数据字符串 TYPE x," from值的十六进制值 TYPE x。 "十六进制值到值 *使用表名动态创建数据对象 创建数据lr_data类型(x_header-viewname)。 ASSIGN lr_data-> *至。 清除:lv_index1,lv_index2,lr_data。 *遍历M.View中的所有记录 合计。 清除lv_index1。 lv_index1 = sy-tabix。 READ TABLE提取总含KEY。 如果sy-subrc EQ 0。 lv_index2 = sy-tabix。 其他。 清除lv_index2。 万一。 总分配到演员表。 分配到铸造。 = 。 移动: 转到lv_action, 至lv_mark。 案例<动作>。 当neuer_eintrag。 " 新的条目 *如果在/日期之前创建了新的条目填充 将结构的组件'CRNAM'分配给。 如果sy-subrc = 0。 = sy-uname。 万一。 将结构的组件" CRDAT"分配给。 如果sy-subrc = 0。 = sy数据。 万一。 *如果更改为/日期,例如 一个条目是 复制的 将结构的组件'AENAM'分配给。 如果sy-subrc = 0。 清除。 万一。 将结构的组件" AEDAT"分配给。 如果sy-subrc = 0。 清除。 万一。 当aendern。 "更新的条目 *更新到现有条目,并按/日期更改 将结构的组件'AENAM'分配到。 如果sy-subrc = 0。 = sy-uname。 万一。 将结构的组件'Aedat'分配到。 如果sy-subrc = 0。 = sy数据。 万一。 结束。 *(对行总数进行所需的更改) *更改仅在更新或新条目时纳入。 检查 EQ aendern或 EQ neuer_eintrag。 清除:总计,提取。 分配到铸造。 总分配到演员表。 = 。 移动: lv_action TO <动作>, lv_mark TO <标记>。 总计总计lv_action lv_mark INTO总计。 从总计INDEX lv_index1修改总计。 *如有必要,请修改摘录 检查lv_index2 GT 0。 提取=总。 从提取索引lv_index2中修改提取。 结局。
最多设置5个标签!
使用"表维护"事件可以填充这些字段。
您需要使用事件01
包含代码
一周热门 更多>