SAP ScriptForms 教程系列三
来源:互联网 发布:java 重载 返回值不同 编辑:程序博客网 时间:2024/05/29 01:53
SAPscript识别四种类型的symbols:
l System symbols
l Standard symbols
l Program symbols
l Text symbols
这四种类型之间的主要区别在于值的来源。
l System symbols值由SAPscript提供;
l Standard symbols值在系统表TTDTG中定义;
l Program symbols值由运行时刻的程序提供;
l Text symbols值既可以从文本中的控制命令获取,也可以由Text Editor的Include函数动态提供。
SAPscript自动识别symbols的类型;
首先,检查symbols是否为System symbols;如果不是,然后检查symbols是否定义在调用程序的数据域中,如果是,就是Program symbols;如果不是,SAPscript就从TTDTG表中读取,如果在TTDTG表中发现symbols,则为Standard symbol;如果上面都不是,就是Text symbols。
3.1Syntax of Symbols
定义一个symbol有下面的要求:
¨ 在一个symbol两边需要使用“&”;
¨ 在symbol名字内不能使用空白字符,而且也不能用'+()这些符号,因为这些符号是用来定义格式选项的;
¨ 在SAPscript Editor中不能将symbol分开在多行编写,如果一定要这么做,需要使用long line来避免(long line段落格式为= or /=);
¨ 封装在“&”符号之间的格式选项必须用“()”,而且表示格式的字母要用大写。
注意:如果定义了一个不能满足上面所有条件的symbol,则系统不会将它当成symbol来处理,而是作为一个文本直接输出。
下面是一些有效的symbol的例子:
&symbol&
&MY_symbol&
&KNA1-NAME1&
&DATE&
&KNA1-UMSAT(I)&
下面是一些无效的symbol的例子:
&mysymbol
&my symbol&
&mysymbol)&
&symbol(Z&
&KNA1-UMSAT(i)&
请大家思考一下为什么?
注意:symbol名字不区分大小写,比如下面三个symbol在SAPscript中会作为一个symbol处理;
&mysymbol&
&Mysymbol&
&MYSYMBOL&
3.2System Symbols
SAPscript提供了可以在各种文本中使用的system symbols,而且这些symbols的定义是固定的,其值由SAPscript提供。
这些system symbols可以参见下表,具体用法请参见sap online help
名字
定义
描述
Current Date
&DATE&
显示当前时间
Current Day Number
&DAY&
显示当前的天数
Current Month Number
&MONTH&
显示当前的月数
Current Year Number
&YEAR&
显示当前年号,四位数字
Local Date
&LDATE&
将当前日期转换为本地日期(仅对COUNTRY = JAPAN)
Current Day Name
&NAME_OF_DAY&
当前天数的名字,比如Monday等等。
Current Month Name
&NAME_OF_MONTH&
当前月的名字,比如1月等等。
Current Time
&TIME&
显示当前时间
Hours Component of Current Time
&HOURS&
显示小时
Minutes Component of Current Time
&MINUTES&
显示分钟
Seconds Component of Current Time
&SECONDS&
显示秒
Current Page Number
&PAGE&
显示当前页数
Page Number of the Next Page
&NEXTPAGE&
显示当前页的下一页
Selected Device Type
&DEVICE&
用来指定外部打印设备类型
Spaces
&SAPCE&
用来生成空格字符串
Underline
&ULINE&
用来在输出文本中插入一个带下划线的字符
Vertical Line
&VLINE&
用来在输出文本中插入一个垂直方向的字符
3.3Program Symbols
如果symblos从数据区域获得值,这种symbols就称为program symbols。program symbols最大为255个字符,当使用TABLES声明语句的时候,program symbols的名字由表名和字段名中间加短横线组成,例如:
&KNA1-NAME1&, &KNA1-ORT01&, &KNA1-PFACH&等等。
否则,program symbols按照打印程序中定义的方式使用(比如&MYCOUNTRY&)。
注意:symbol在form中出现的顺序是很重要的,它决定symbol当前的值,例如:
Form/text中有如下定义:
....
/: DEFINE &mysymbol& = ‘abc’ ①
* &mysymbol& ②
....
打印程序中定义为:
....
Data: mysymbol(5) value ‘xyz’.
....
在这个例子中,最终输出为:abc
但是如果将Form/text中①、②的位置交换一下,如下所示:
....
* &mysymbol& ②
/: DEFINE &mysymbol& = ‘abc’ ①
....
打印程序中定义为:
....
Data: mysymbol(5) value ‘xyz’.
....
在这个例子中,最终输出为:xyz
如果在①后面再加上* &mysymbol&,则输出为:xyz、abc
关于program symbols的更为详细的描述请参见sap online help
3.4Standard Symbols
Standard symbols在系统表TTDTG中定义,这个表包含每一个Standard symbols的名字和值,而且和语言相关,可以由60个字符组成,SAP提供了修改这个表的表准入口,从而可以让用户自己定义自定义的Standard symbols。可以在各种文本中使用Standard symbols。
3.5Text Symbols
除了上述的三中Symbols外,其余的Symbols都叫做Text Symbols,有两种方式来定义Text Symbols:
¨ 在文本编辑器中,选择Include ® Symbols ® Text,然后按照提示来做;
¨ 在文本中,使用DEFINE控制命令。
例如:
/: DEFINE &mysymbol& = 'xxx xxx xxxxx xxxx'
&mysymbol&
/: DEFINE &mysymbol& = 'yyyyy yyy yyyy'
/ &mysymbol&
输出为:
xxx xxx xxxxx xxxx
yyyyy yyy yyyy
注意:
Text Symbols使用“' '”符号。- SAP ScriptForms 教程系列三
- SAP ScriptForms 教程系列
- SAP ScriptForms 教程系列一
- SAP ScriptForms 教程系列二
- SAP ScriptForms 教程系列四
- SAP ScriptForms 教程系列五
- SAP ScriptForms 教程系列六
- SAP ABAP WebDynpro系列教程
- NGUI系列教程三
- GCC系列教程 三
- NGUI系列教程三
- NGUI 系列教程三
- jquery系列教程三
- NGUI系列教程三
- Struts2系列教程(三)
- 数据结构系列教程(三)
- Unity3D NGUI系列教程三
- Unity3D NGUI系列教程三
- SAP ScriptForms 教程系列二
- 研究TI的SoC DM6441與Davinci這個公版所做的筆記(转载)
- Android Apps Shape的使用
- <七>基于淘宝Fourinone实现MQ指南和demo
- 关于腾讯ip接口一个流传很广的错误用法
- SAP ScriptForms 教程系列三
- Android中解决图像解码导致的OOM问题
- Hadoop reduce多个输出
- 二进制操作解析
- C++转向C#的疑惑系列文章转载
- (转贴)来谈谈SQL数据库中"简单的"SELECT TOP—可能有你从未注意到的细节
- XMPP协议学习
- C++转向C#的疑惑:难道C#中没有拷贝构造函数 ?
- javascript 打开新窗口以及窗体传值