如何将光标位置移动到我在表控件(模块池)中选择的所有字段?

2020-09-24 04:47发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我的要求是,如果我在Table控件中选择三个字段并单击"更新"按钮,
光标应首先转到我单击的第二个字段,依次类推。
我该如何编写代码?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我的要求是,如果我在Table控件中选择三个字段并单击"更新"按钮,
光标应首先转到我单击的第二个字段,依次类推。
我该如何编写代码?

付费偷看设置
发送
4条回答
xfwsx85
1楼-- · 2020-09-24 05:37
  • 在初始PAI(字段选择)中,将字段名称存储在内部表中
  • 在以下PBO中,由于该表的日志不为空,因此请读取第一记录,将光标置于字段上,然后从内部表中删除记录
追夢秋陽
2楼-- · 2020-09-24 05:29

这如何回答问题? 我很困惑...

葫芦娃快救爷爷
3楼-- · 2020-09-24 05:31

使用以下语句。

获取光标字段

设置光标字段

闻人可可
4楼-- · 2020-09-24 05:21

这是我的程序。


模块状态_0100输出。
设置PF状态'STATUS'。
设置标题栏'TITLE'。







>在屏幕上循环。
如果屏幕名称EQ'ZEMPLOYEE-EMPLOYEEID'和zemployee-employeeid EQ'X'。
屏幕输入=0。
修改屏幕。
ENDIF。
ENDLOOP。
ENDMODULE。 " STATUS_0100输出



模块user_command_0100输入。



案例ok_code。

当"返回"时。
离开程序 。


模块add_row输出。

选择*从zemployee入表it_emp。


ENDMODULE。" ADD_ROW OUTPUT
*&- -------------------------------------------------- ---------------- *
*&模块USER_DML INPUT
*&-------------------- ------------------------------------------------- *
*文字
* ----------------------------------------- ----------------------------- **
模块user_dml输入。


案例ok_code。< br> *

何时删除'。

如果sel EQ'X'。
从zemployee删除WHERE employeeid = zemployee-employeeid。

如果sy-subrc 均衡器0。
消息'记录已成功删除'类型'S'。
ELSE。
消息'记录未删除'类型'E'。
ENDIF。
ENDIF。
< br>

当'UPDATE'时。

UPDATE zemployee SET firstname = zemployee-firstname
lastname = zemployee-lastna 我
maritalstatus = zemployee-maritalstatus
加入日期= zemployee-dateofing加入
officeextension = zemployee-officeextension
手机= zemployee-mobile
血型= zemployee-bloodgroup
personalemail = zemployee-personalemail < br>部门= zemployee-部门
aadhaarno = zemployee-aadhaarno
employeestatus = zemployee-employeestatus
性别= zemployee-gender
dateofbirth = zemployee-dateofbirth
办公电话= zemployee-办公室电话
homephone = zemployee-homephone
pannumber = zemployee-pannumber
officeemail = zemployee-officeemail
名称= zemployee-designation
主管= zemployee-supervisor
WHERE employeeid = zemployee-employeeid。

IF sy-subrc EQ0。
消息'记录成功更新'类型'S'。
ELSE。
消息'记录未更新'类型'E'。< br> ENDIF。

ENDCASE。


从zemployee INDEX vcontrol-current_line修改it_emp。

设置CURSOR FIELD wa_emp-em ployeeid LINE sel。
*
*读取表it_​​emp INTO wa_emp INDEX vcontrol-current_line。
*如果sel不是INITIAL。
* wa_emp-sel ='X'。
*修改it_emp
*清除wa_emp。
* ENDIF。

IF sy-subrc NE0。

将zemployee附加到it_emp。
> ENDIF。


ENDMODULE。 " USER_DML INPUT
*&------------------------------------------ --------------------------- *
*&模块GET_DATA OUTPUT
*&--------- -------------------------------------------------- ---------- *
*文字
* ------------------------------ ---------------------------------------- *
MODULE get_data输出。

SELECT *从zemployee进入表it_emp。

ENDMODULE。" GET_DATA OUTPUT
*&---------------------- ----------------------------------------------- *
*&模块GET_CURSOR OUTPUT
*&--------------------------------------- ------------------------------ *
*文字
* ---------- -------------------------------------------------- ---------- *



一周热门 更多>