Enhancement(4)--Customer Exits {转载}

Customer Exits, 顾名思义,就是用户自定义出口。

    有3类这样的出口:Function Module Exits; Menu Exits; Screen Exits
    有两个常用的T-code:
    CMOD: 用于增强项目的管理
    SMOD: 增强项目的具体实现
    Function Module Exits: 就是在标准程序中预置有形如call customer-function 'NNN'的call function语句,来动态调用相关的出口程序。'NNN'是3位数字,而实际的出口函数命名方式为:EXIT_<program name>_<exit number>。寻找这样的可以用SMOD的查询功能,同时也有一个程序可以用T-CODE来帮助查找,在老白的博客上应该有这个程序。这个出口形式比较简单,所以就不举例子了。
    Menu Exits: 个人觉得是用得比较少的一种出口,项目上很少使用,SAP预留的出口也很少。抓住几点关键就可以了,Menu Exits会有一个预留的function code 比如+PGE什么的。你要在做增强的程序中发现这样的句子:
CASE: OK_CODE.
  ...
     WHEN '+PGE'.
       CALL CUSTOMER-FUNCTION '001'.
  ...
ENDCASE.
    这样就可以在相应的出口里编写你想要的东西了。
    Screen Exits: 相对比较繁琐。举一个例子来说明一下。
    SMOD: AIST0002
    EXIT_SAPLAIST_002 中加入代码 ANLU = I_ANLU.
    EXIT_SAPLAIST_003 中加入代码  E_ANLU = ANLU.
    在Include tables中建立一张表 CI_ANLU,结构如下:
    ZKEVIN CHAR 20
    讲一下以上函数及表的一下作用,大家看一下参数就应该就比较明白了。
    EXIT_SAPLAIST_002 是从事务程序将数据传入出口程序
    EXIT_SAPLAIST_003 是将出口程序处理后的数据传到事务程序
    CI_ANLU 就是在屏幕上加的结构
    T-code SE80->function group XAIS 建立Subscreen 9001,并画出相应的屏幕、完成逻辑流。
    T-code AOLA->COPY标准SAP TAB LAYOUT->修改其General tab->增加一个Group box, 选U9001。
    T-code AOLK->选择class 1000->General Assignment of Layout->将刚刚新建的Layout替换掉原来Asset accountant的Tab layout。
    T-code AS01/AS02/AS03 进行相应的测试。
    SMOD: CNEX0006
    这个是自带屏幕,不需要配置的。制作的方法,和之前的例子相似。测试T-code:CJ01。
    以上是两种常见的屏幕增强,当然还有BAdI形式的,这个下一节再讲。
Q:按上述做法已经在屏幕上加上字段,并可以录入保存,但是如何在as03中限制只显示?
A:熟悉dialog程序写法,在屏幕流中作限制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值