Chinaunix首页 | 论坛 | 博客
  • 博客访问: 940444
  • 博文数量: 463
  • 博客积分: 10070
  • 博客等级: 上将
  • 技术积分: 4963
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-16 14:16
文章分类

全部博文(463)

文章存档

2011年(18)

2010年(144)

2009年(83)

2008年(218)

我的朋友

分类: IT职场

2008-07-27 22:12:33

    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__。寻找这样的可以用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形式的,这个下一节再讲。
 
 
 
 
 
阅读(2774) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-12-07 17:21:02

你好,按上述做法已经在屏幕上加上字段,并可以录入保存,但是如何在as03中限制只显示? 我也有同樣的問題 PBO Module裡已經寫了: MODULE CHECK_MODE OUTPUT. IF GD_MODE = 'A'. LOOP AT SCREEN. SCREEN-INPUT = '0'. MODIFY SCREEN. ENDLOOP. ENDIF. ENDMODULE. 但不起作用啊

zcywset152008-12-18 12:07:16

如果你熟悉dialog程序写法,这个应该很简单。不清楚的话,先去把dialog看看熟。

zcywset152008-12-18 12:04:47

在屏幕流中作限制

chinaunix网友2008-12-18 11:31:58

你好,按上述做法已经在屏幕上加上字段,并可以录入保存,但是如何在as03中限制只显示?