设为首页 收藏本站
查看: 1155|回复: 0

[经验分享] SAP ABAP table control中用帮助(F4)实现自动填充另一字段教程

[复制链接]

尚未签到

发表于 2015-9-17 12:26:23 | 显示全部楼层 |阅读模式
最近在和一个朋友的交流中,遇到了这么一个需求,就是在TC中对一个字段实现帮助,然后从帮助选择值时能把文本带到TC中的文本字段中,原来没做过这种实现,只是做过回车后,通过CHAIN中的MODULE实现把文本自动带出来,这种方法比较简单,这里就不再说明了。后来找了一点资料,经过测试,用一种笨的方法实现了这个需求,应该还有更简单的方法,以后用到了再更新。现在把这种方法贴出来,与大家共享一下。希望对你有所帮助,也希望我下次能记住。

1、屏幕设计
在屏幕tc增加一列zwx-matnr,勾选输入字段复选框。
2、在逻辑流中输入以下代码
process on value-request.
field zwx-matnr module matnr_f4.
3、具体module代码
module matnr_f4.
data:
   l_row  like sy-tabix,
   lt_return_tab type table of ddshretval,
   ls_return_tab like line of lt_return_tab,
   lt_systems    like dynpread occurs 0 with header line.
*取出屏幕行
call function 'DYNP_GET_STEPL'
  importing
    povstepl = l_row.
*调用帮助函数
call function 'F4IF_FIELD_VALUE_REQUEST'
  exporting
    tabname    = 'MARA'
    fieldname  = 'MATNR'
    dynpprog   = sy-repid
    dynpnr     = '0110' "你的屏幕号
    dynprofield       = 'ZWX-MATNR'
    stepl      = l_row
    multiple_choice   = ''
    display    = l_display
  tables
    return_tab = lt_return_tab
  exceptions
    field_not_found   = 1
    no_help_for_field = 2
    inconsistent_help = 3
    no_values_found   = 4
    others     = 5.
if sy-subrc <> 0.
  message id sy-msgid type sy-msgty number sy-msgno
   with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
*查询成功,取出物料描述放入屏幕TC中的文本字段中
  read table lt_return_tab into ls_return_tab index 1.
  select single 描述 into 你的描述字段 from 表 where 字段 = ls_return_tab-fieldval.
endif.

*更新屏幕上已经修改的字段
lt_systems-fieldname = '你的字段'.
lt_systems-stepl = l_row.
lt_systems-fieldvalue = ls_return_tab-fieldval. “返回的选择值
append lt_systems.
lt_systems-fieldname = '你的字段'.
lt_systems-stepl = l_row.
lt_systems-fieldvalue = 取出的文本值
append lt_systems.
call function 'DYNP_VALUES_UPDATE'
  exporting
    dyname = sy-repid
    dynumb = '你的屏幕号'
  tables
    dynpfields    = lt_systems
  exceptions
    invalid_abapworkarea = 1
    invalid_dynprofield  = 2
    invalid_dynproname   = 3
    invalid_dynpronummer = 4
    invalid_request      = 5
    no_fielddescription  = 6
    undefind_error       = 7
    others = 8.
if sy-subrc <> 0.
endif.
endmodule.   " MATNR_F4
这里用物料来举例,当然也可以自己做帮助,也可以是系统的标准帮助,有兴趣的可以试一试,只有真正测试成功的时候,你才会感觉到自己又学到了新的知识!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-114946-1-1.html 上篇帖子: SAP技术解析 下篇帖子: 关于SAP怎么学(转)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表