第三章 创建消息
交互程序免不了利用MessageBox 反馈信息。SAP 系统中的消息与其他开发环境中消息很类似。下面对他们来个对比:
SAP 开发 其他开发环境(C#为例) 调用方法 MESSAGE ID id TYPE mtype NUMBER n WITH par1 par2
par3 par4.
MessageBox.Show(text,caption,buttons,icon);
消息类型 A-终止,E-错误,I-信息,S-成功,W-
警告,X-退出并产生short dump
Error ,Exclamation ,Hand ,Information ,
Question ,Stop ,Warning
存储位置 存储在表T100中 自己找地方放吧
SAP 中的消息能够完成很多默认的功能(例如:退出系统、终止程序并产生Short Dump ),很适合信息系统的开发。而C#中的消息更灵活(灵活是有代价的,系统提供标准的功能,至于其他功能,都需要自己写),更美观。
这样的对比也许没有意义,因为他们的开发对象本来就不同。用久了ABAP 环境,你会觉得它很适合做信息系统的开发。美中不足是不能提供快速信息、参数信息,也就是下图所示的内容。
请给我一双翅膀下面步入正题,说说SAP 开发中,消息的定义和调用。
1、 运行SE91,屏幕如下:
输入欲创建的消息类名称,点击“Create ”按钮。屏幕如下:
2、进入“Messages”视图,消息都在这里定义:
一条消息能够含有4个参数,用&1 -- &4表示,对应的Message调用时的 With &1…。如果这条消息需要Long text,则不能选中“lf-explanatory”。
3、点击“Long Text”按钮,进入如下界面:
填写希望显示的信息。
Long text是什么呢?就是系统向GUI反馈Message,用户双击Message或者点击按钮出现的详细消息。如果还不是很明白,接下来我会举例说明Message的应用。
1、新建程序ZTest。程序内容为:MESSAGE ID 'Z001' TYPE 'I' NUMBER '001'.
2、测试运行,系统会弹出一个对话框,结果如下:
3、点击按钮,现在你该明白什么是“Long Text”吧。
除了利用SE91外,进入消息维护界面的另外一个途径是:
ABAP编辑器中,菜单“转到->消息”。
调用Message最简单的格式为:
‘消息内容’ TYPE ‘E’.
Message
e000(Z001).
Message
关于系统消息,有一个初学者容易犯的错误:
写Report时,运用Message并且指定了Message type,而系统表现出来的却不是这一个Message type应该有的现象,这时,你就应该查看ABAP Keyword Documentation中关于Message的说明,各种消息类型在不同的事件中表现不同。例如:在事件START-OF-SELECTION
中调用警告信息,系统会产生一个错误信息,并直接退出程序。
最后,我想知道一个问题:毛毛虫实验
系统能够配置消息类型,例如,运行OMT4,能够配置采购方面的消息类型,使系统按照配置的消息
例假不来
咽喉炎吃什么药类型显示。我们的自定义消息能否实现的呢?
============本章完成于20060623============
第四章创建函数(方法)
肖爱国
本章的标题本来定为“创建函数”,因为Function我们称为“函数”。但是,现在谁不是OO 编程呀,为了方便理解,把“方法”也写入标题。免得大家笑我老土。
SAP规定,所有函数都在函数组中。所以,我们应该先创建一个函数组。
运行SE80,进入综合开发界面,下拉框中选择“函数组”。输入欲创建的函数组名称“Z_FUNGROUP”,回车,系统询问是否创建函数组。
炸鸡翅怎么炸创建函数组后,我们就能够着手写函数了。这次举例的函数功能如下:
名称 Z_GENERATE_TLB
所属函数组 Z_FunGroup
功能根据输入的成品和数量,结合BOM计算出需要的子物料和数量
输入成品,需求数量
输出子物料需求数量
1、运行SE37,屏幕如下:
强调的近义词输入欲创建的函数名称,点击“Create”按钮。系统弹出对话框,屏幕如下:
输入函数组和短文本,点击“Save”按钮,进入函数创建界面,“Attributes”视图如下:
>麦霸ktv