【SAP-ABAP】--SSF_FUNCTION_MODULE_NAME

【被懒神训斥:好久没写代码的第二天】

确实好久没写了,因为现在的工作内容更多偏向于业务,不过想了想,代码是自己的根本,所以今天决定每天一更,把以前的笔记回顾

【SAMRTFORM】

业务前提:

在传统的SMARTFORM的开发过程中,当SMARTFORM激活成功之后,系统会自动生成一个函数

截图如下:

 缺点:

可以看到,如上截图,CALL FUNCTION的时候,系统自动生成的SMARTFORM函数的名称很难识别,如果遇到懒一点开发人员,不打注释,后面去找这个函数对应的SMARTFORM,会很烦躁,这个时候SSF_FUNCTION_MODULE_NAME的好处就体现出来了。

SSF_FUNCTION_MODULE_NAME好处:

方便后期运维,找问题简单点,而且可以写个函数/方法,后期直接调函数,把SMARTFORM的命名当作一个入参,这样所有的打印,都调用一个函数即可

使用方法如下

 DATA:fm_name1 TYPE rs38l_fnam,
       lt_print TYPE TABLE OF ztfico037,
       ls_print TYPE ztfico037.

  LOOP AT gt_data INTO gs_data.
    ls_print-jahrper = gs_data-jahrper .
    ls_print-werks   = gs_data-werks   .
    ls_print-cpname  = gs_data-cpname  .
    ls_print-wgshul  = gs_data-wgshul  .
    ls_print-danjia  = gs_data-danjia  .
    ls_print-chanzhi = gs_data-chanzhi .

    APPEND ls_print TO lt_print.
    CLEAR:ls_print,gs_data.
  ENDLOOP.

*用函数调用SMARTFORMS的名称
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      formname           = 'ZSFFICO037' "SAMRTFORMS的命名
    IMPORTING
      fm_name            = fm_name1
    EXCEPTIONS
      no_form            = 1
      no_function_module = 2
      OTHERS             = 3.

*调用打印数据函数
  CALL FUNCTION fm_name1
    TABLES
      gt_data = lt_print.
  IF sy-subrc <> 0.
  ENDIF.
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自律的Drew.Dong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值