ZHRISSAP增强概述演示教学文档格式.docx
- 文档编号:13835849
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:25
- 大小:1.03MB
ZHRISSAP增强概述演示教学文档格式.docx
《ZHRISSAP增强概述演示教学文档格式.docx》由会员分享,可在线阅读,更多相关《ZHRISSAP增强概述演示教学文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
在运行时,根据用户在上一个屏幕中请求的功能,可能需要更改这些属性。
在运行时,每个屏幕字段的属性存储在名为SCREEN的内存表格中。
不必在程序中声明该表格,系统内部维护该表格并且在每次屏幕更改时更新它。
内存表格SCREEN包括下列字段:
名称
长度
说明
NAME
30
屏幕字段的名称
GROUP1
3
属于字段组1的字段
GROUP2
属于字段组2的字段
GROUP3
属于字段组3的字段
GROUP4
属于字段组4的字段
ACTIVE
1
可见并准备输入的字段
REQUIRED
字段输入是强制的
INPUT
字段准备输入
OUTPUT
字段仅用于显示
INTENSIFIED
高亮显示字段
INVISIBLE
禁用字段
LENGTH
减少字段输出长度
DISPLAY_3D
以三维框架显示字段
VALUE_HELP
显示有值帮助的字段
要激活字段属性,则将它的值设置为1。
要使它无效,则将它设置为0。
将ACTIVE属性设置为0时,系统禁用字段并取消准备输入属性。
用户不能查看字段也不能对它输入值。
2.1.3代码示例
可以在PBO模块中实现对该字段属性的更改:
MODULEMODIFY_SCREENOUTPUT.
LOOPATSCREEN.
IFSCREEN-NAME='
0001'
.
SCREEN-INPUT='
0'
ENDIF.
MODIFYSCREEN.
ENDLOOP.
ENDMODULE.
2.2对第1类系统信息类型的字段增强
在800client
在sap系统hr模块中,可对人事信息类的系统信息类型(0000——0999)进行增强,包括对此类信息类型的用户字段增加和逻辑增强。
下面这个例子是对0021这个信息类型,进行用户字段增加。
可以通过信息类型的子类型控制屏幕的显示。
以0021地址为例进行说明,首先在pm01的“单个屏”页签的“客户包含”创建增强的ci结构,如下图:
在“单个屏”页签中点选“生成对象”按钮,将相应屏幕结构生成。
此时系统已自动将增强字段添加的系统屏幕中,如下图:
0200子屏幕也自动建立好了
接下来,我们通过选择不同的子类型来控制是否显示name字段。
首先创建自己的特征z0021
在sm30中维护t588m表,建立如下的3条维护记录:
注意“变量码”与特征中的“返回值”向对应。
当变量码为“none”时,将字段隐藏。
结果:
当选择子类型1“配偶”时,显示增强字段。
当选择其他子类型时,则不显示增强字段。
需要特别注意的是:
在创建特征时,请不要忘记将其激活!
2.3对第1类9字头信息类型的增强
160client
当人员的公司代码为A300时:
当输入材料转出时间(P9967-ZZ_DAZCSJ)时,则生成材料转递号(P9967-ZZ_DACLZDH)。
材料转递号为9位号码,前两位是CC,第三到第六位为四位的年份,第七位到第九位为流水号。
如CC2006001。
四位的年份取材料转出时间(P9967-ZZ_DAZCSJ)所输入的年份。
PA30进入,如下图:
2.详细逻辑说明
字段名
系统字段
取数逻辑说明
材料转出时间
P9967-ZZ_DAZCSJ
材料转递号
P9967-ZZ_DACLZDH
公司代码
PA0001-BUKRS
A300
此增强只对A300集团公司总部有效
3.输出显示
4.关键逻辑技术说明
1、2000屏幕PAI中
PROCESS
AFTER
INPUT.
MODULE
EXIT
AT
EXIT-COMMAND.
CHAIN.
FIELD
P9967-BEGDA.
P9967-ZZ_DACLZCYY.
P9967-ZZ_DACLZDH.
P9967-ZZ_DAHZSJ.
P9967-ZZ_DACLSJR.
P9967-ZZ_DACLJSR.
P9967-ZZ_DAZCSJ
INPUT_DACLZDH.
P9967-ZZ_DAZRSJ.
P9967-ZZ_DACLZWDW.
P9967-ZZ_DACLYS.
P9967-ZZ_DACLFS.
P9967-ZZ_DACLLY.
P9967-ZZ_DACLMC.
INPUT_STATUS
ON
CHAIN-REQUEST.
ENDCHAIN.
2、在程序mp996730中包含完成增强功能的form
INPUT_DACLZDH
PERFORM
FRM_DACLZDH.
ENDMODULE.
"
FORM
FRM_DACLZDH
DATA:
L_BUKRS(4)
TYPE
C,
L_VAL1
I,
L_VAL2
L_VAL(3).
L_ZZ_ZRH
LIKE
SELECT
SINGLE
BUKRS
INTO
L_BUKRS
FROM
PA0001
WHERE
PERNR
=
P9967-PERNR
AND
'
A300'
IF
SY-SUBRC
0.
NOT
IS
INITIAL.
CLEAR:
L_VAL1,L_VAL2,L_VAL.
B~ZZ_DACLZDH
PA0001
AS
A
INNER
JOIN
PA9967
B
A~PERNR
B~PERNR
A~BUKRS
INITIAL
L_ZZ_ZRH+2(4)
P9967-ZZ_DAZCSJ+0(4).
L_ZZ_ZRH+6(3).
>
L_VAL2.
L_VAL1.
ENDIF.
CLEAR
L_ZZ_ZRH.
ENDSELECT.
+
1.
L_VAL
CONDENSE
L_VAL.
STRLEN(
)
3.
CONCATENATE
CC'
P9967-ZZ_DAZCSJ+0(4)
ELSEIF
2.
ELSE.
00'
ENDFORM.
3Sap第一代增强
sap提供一个空代码的子过程,在这个子过程中用户可以添加自己的代码,控制自己的需求。
这类增强都需要修改sap的标准代码。
例子:
销售订单就比较简单,用SE38打开SAPMV45A这个主程序,里面所有以USEREXIT开头的子例程都是用户出口,交货单SAPMV50A也是这样的。
不过每个子例程是派啥用的还要在onlinehelp里看看清楚,多测试测试。
4Sap第二代增强
SMOD包含具体的增强,而CMOD是包含一组SMOD编写的增强.
Userexits(Functionmoduleexits)是sap提供出口,它的命名规则如下:
EXIT_<
programname>
<
3digitsuffix>
4.1使用CMOD建立增强项目
输入自定义的项目名(ZHRPA002),点击“创建”;
进入增强项目,选择“配置增强”,进入增强配置屏幕;
输入增强名如:
PBAS0001(PA:
人事管理/招聘:
缺省值和核查),点击修改,进入sap增强维护屏幕
点击“组件”按钮,进入组件维护屏;
将光标移到“功能模块名”,输入模块名,如:
EXIT_SAPFP50M_001;
选择“代码修改”按钮进入函数模块;
双击函数模块的包含单元,进入包含单元加入自定义代码并激活保存;
4.2示例代码
4.2.1调用点
before_output
OUTPUT.
……….
psyst-iinit
EQ
yes
QNO4.0
psyst-ioper
copy
OR
insert.
QNO4.0
customer_function_pbo(sapfp50m).
move_cprel_to_pnnnn.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ZHRISSAP 增强 概述 演示 教学
