java技术贴_技术小贴士

2005年11月22日

#

1、PARAMETER:输入一个变量或字段内容

-------------------------------------------------------------

语法:PARAMETERS

[DEFAULT ][LOWER CASE]

[OBLIGATORY][AS CHECKBOX][RADIOBUTTON GROUP ]

2、SELECTION-OPTIONS:使用条件筛选画面来输入数据

-------------------------------------------------------------

语法:SELECTION-OPTIONSFOR

[DEFAULTTO]

[NO-EXTENSION]

[LOWER CASE]

[OBLIGATORY]

[Select 指令]

3、SELECTION-SCREEN: 输出空白列、底线、备注说明、多个数据据、黑线等-------------------------------------------------------------------

语法:SELECTION-SCREENSKIP[]

[ULINE/ (length)]                             [COMMENT/ (length)]

[BEGINOFLINE.……SELECTION-SCREENENDOFLINE.]                             [BEGINOFBLOCK[WITHFRAME[TITLE].

…….SELECTION-SCREENENDOFBLOCK.]

2005年11月21日

#

1、宏模块

----------------------------------------------------------------------------------------

(1) 宏定义:

DEFINE.

.END-OF-DEFINITION.

(2) 宏使用:

[….]

* 为传入宏的参数值,在参数间至少要给予一个空白

2、包含子程序

------------------------------------------------------------------

语法:INCLUDE

作用:用于共享数据项,比如全局变量

3、子程序

------------------------------------------------------------------

1、声明:

FORM[].ENDFORM.

2、调用:

(1) 内部调用:PERFORM [](2)   外部调用:          ① 调用另一程序

PERFORM() [] [IF FOUND]

② 调用另一专存放子程序的程序文件             PERFORM()[INPROGRAM () [] [IF FOUND]* 参数传递

------------------------------------------------------------------

(1) 地址传递:

FORM[USING …] [CHANGING …]或PERFORM[USING …] [CHANGING …](2) 值传递:

FORMUSINGVALUE(…)

PERFORMUSING(3)  传入时值传递,传出时改变返回参数值         FORM….. CHANGINGVALUE(

或PERFORM…. CHANGING ….

* Check控制:CHECK ,只有条件成立才继续往下子程序叙述

4、函数

------------------------------------------------------------------

(1) 查看系统函数

(2) 函数呼叫:

CALL  FUNCTION 

IMPORTING   F1=a1….

EXPORTING   F1=a1….

CHANGING   F1=a1…

TABLES      F1=a1…

EXCEPTIONS  F1=a1…

一、SQL分类

--------------------------------------------------------------------------------------

1、按操作分类:DDL和DML

2、按是否有缓存分类:

(1) OPEN SQL :数据库与命令编译器存在缓存,如Select * From ....              (2) Native SQL:直接处理

二、创建字典表

--------------------------------------------------------------------------------------

语法:TABLEStable

三、处理字典表

--------------------------------------------------------------------------------------

1、查询

------------------------------

语法:SELECT FROM [INTO ] [WHERE ]

[GROUP BY ] [ORDER BY ].2、插入

------------------------------

(1) Work Area插入:

语法:INSERTINTOVALUES

(2)  表间插入

语法:INSERTFROMTABLE[ACCEPTING DUPLICATE KEY]

3、更改

------------------------------

(1) 更改单行

语法:UPDATE [CLIENT SPECIFIED] FROM .

UPDATE [CLIENT SPECIFIED].

(2) 更改多行

语法:UPDATESET< f1>=…WHERE.

(3) 表间更改

语法:UPDATE [CLIENT SPECIFIED] FROM TABLE .

(4) Modify更改(有则更改,无则插入)

语法:MODIFYFROM.

4、删除

------------------------------

(1) 使用关键字删除

语法:DELETEFROM

(2) 使用条件删除

语法:DELETEFROMWHERE

5、使用游标

------------------------------

(1) 打开:

语法:OPENCURSORFORSELECT …WHERE

(2) 使用:                 语法:FETCHNEXTCURSORINTO

(3) 关闭:                语法:CLOSECURSOR

四、提交与回退

--------------------------------------------------------------------------------------        (1) 提交:COMMIT WORK

(2) 回退:ROLLBACK WORK

一.  什么是内表

----------------------------------------------------------------------------------------------------------

(1) 内表:仅在程序运行时存在的表格

(2) 作用:

① 系统可实时增加内表的大小

② 可根据程序需要重新组织数据库表格的内容

(3) 内表结构:数据类型和数据对象,相当于类与对象的关系

(4) 标记表格行:内表索引/关键字

(5) 访问内表:按行访问

二、创建内表

----------------------------------------------------------------------------------------------------------

(1) Type创建:先声明,后使用

语法:TYPES OCCURS .

(2) Data创建:使用Work Area

DATA OCCURS [WITH HEADER LINE].

(3) Data创建:不使用Work Area(直接宣告)

语法:DATA: BEGIN OF OCCURS ,

,

..............

END OF .

三、使用内表

----------------------------------------------------------------------------------------------------------

1、增加

(1) 增加行(可能有重复行)

语法:APPEND [ TO|INITIAL LINE TO] .

(2) 根据标准关键字附加行(没有重复行)

语法:COLLECT [ INTO] .

(3) 表外增加

语法:APPEND LINES OF [FROM ] [TO ] TO .

2、插入

(1) 在指定行前插入

语法:INSERT [ INTO|INITIAL LINE INTO] [INDEX ].

(2) 外表插入

语法:INSERT LINES OF [FROM ] [TO ]

INTO [INDEX ].

3、修改

语法:MODIFY [FROM ] [INDEX ].

4、删除

(1) 在循环中删除行

语法:Loop At  (Into type)

DELETE .

End Loop.

(2) 用索引删除行

语法:DELETE INDEX .

5、查询

(1) 循环读取

语法:LOOP AT [INTO ] [FROM ] [TO ] [WHERE ].

.....

ENDLOOP.

(2) 用索引读取单行

语法:READ TABLE [INTO ] INDEX .

(3) 读取有关键字的单行

语法:READ TABLE [INTO ] WITH KEY [BINARY SEARCH].

6、排序

语法:SORT [] [AS TEXT]

[BY [] [AS TEXT] ... [] [AS TEXT]].

7、汇总

(1) 非数值汇总

语法:COLLECT [ INTO] .

(2) 数值汇总

语法:Loop At  (Into type)

Sum.

End Loop.

8、清除

(1) REFRESH .

解释:初始化没有表头的内表,清除所有元素

(2) CLEAR .

解释:初始化有表头的内表,清除所有元素

(3) FREE .

解释:重置内表并直接释放其内存,须在REFRESH或CLEAR后使用

2005年11月20日

#

1、 顺序

2、选择:IF和CASE

--------------------

(1) IF语法:

IF  .

ELSEIF  .

ELSEIF  .

.....

ELSE.

ENDIF.

(2) CASE语法:

CASE .

WHEN .

WHEN .

WHEN .

WHEN ...

......

WHEN OTHERS.

ENDCASE.

3、 循环:DO和WHILE

------------------------------------

(1) 计次循环:

DO [TIMES] [VARYING FROM NEXT ].

ENDDO.

(2) 无限循环:

DO .ENDDO.

(3) 条件循环:

WHILE [VARY FROM NEXT ].

ENDWHILE.

*  终止循环:

------------------------------------

① 无条件终止循环:CONTINUE

② 有条件终止循环:CHECK

③ 完全终止循环:  EXIT

1、数值函数

-----------------------------------------------------------------------------------

abs、sign、ceil、floor、trunc、frac、cos、sin、tan、exp、log、log10、sqrt

2、日期与时间运算

--------------------------------------------------------------------------

(1) 日期数据:

DATA: Mdata  TYPE  D.

Mdate  =  SY-DATUM.  “ 如传回 19971015

Mdate+6(2)  =  ‘01’   “ Mdate 变成 19971001

Mdate  =  Mdate  -  1  “ Mdate 变成 19970931

(2) 时间数据:

DATA: HOURS  TYPE  I,

MINUTES  TYPE  I,

T2  TYPE  T  VALUE ‘200000’,

T1  TYPE  T  VALUE  ‘183000’.

HOURS = (T2 - T1) /  3600.  “计算有几小时

MINUTES = (T2 – T1) / 60.  “计算几分钟

3、运算符号:

--------------------------------------------------------------------

(1) 算术符:+ - * / div mod

(2) 比较符:> >= < <= = <> ><

EQ NE GT LT GE LE

And Or Not

(1) 移位:Shift 变量名 [by places] [modes]

(2) 替换:Replace with into

(3) 大小写:Translate to Upper/Lower Case

(4) 寻找:  Search for

(5) 长度:  Strlen(str)

(6) 取部分:[+][]

* 示例:

DATA  T(10)  VALUE  ‘ABCDEFGHIJ’.

WRITE  /  T+2(4).  “得到 CDEF

1、赋值

---------------------------------------------------------------------------------------

(1) 全部赋值:Move to .

(2) 部分赋值:Move [+] to [+].

(3) 组件(字段)复制:Move Corresponding to .

(4) 传值:WRITE()TO

2、清值

---------------------------------------------------------------------------------------

CLEAR

2005年11月19日

#

1. Write的格式:

-------------------------------------

(1) 不指定位置输出:Write 资料项.

(2) 指定位置输出:  Write AT [/] [] [()]  资料项.

(3) 指定显示格式:  WRITE  数据项  .

(4) 输出图标:      WRITE    AS  SYMBOL.

WRITE    AS  ICON.

(5) 输出、垂直线、空行:

① 水平线:write [at [/][][()]] sy-uline.

② 垂直线:write [at [/][]] sy-vline.

③ 空行:    WRITE  SKIP  [].

(6) 输出复选框:    Write 标签,变量 As CheckBox.

2. 跳至指定列坐标:Skip to line [].

*  资料项指变量或常量

*  预定义数据类型的输出格式

----------------------------------------------

数据类型           输出长度               定位

C                   字段长度           左对齐

D                        8                    左对齐

F                      22                    右对齐

I                       11                    右对齐

N                   字段长度           左对齐

P           2*字段长度(+1)  右对齐

T                       6                      左对齐

X                 2*字段长度         左对齐

----------------------------------------------

在屏幕上,输出通常是左对齐的; 但数据类型F、I和P是右对齐的,左边用空格填充。

* 预定义数据类型

--------------------------------------------------------------------------------------------------------------

TypeLengthRangeInitial ValueDescriptionC11-65535ByteSpace字符串数据,如’Program’D88Byte‘00000000’日期数据,格式为YYYYMMDDF88Byte0浮点数I4-2^31至2^31-10整数N11-65535Byte‘00…0’数值所组成的字符串P81-16Byte0Packed数,用在小数点数T66Byte‘000000’时间数据,格式为HHMMSSX11-65535ByteX’00’16进位数

1、定义数据结构

----------------------------------------------------------------

(1) 变量: Data 变量名 Type 变量类型,如:Data S1 Type I.

(2) 常量:Constants 常量名 Type 变量类型,如:Constants PI Type P 3.1415926.

(3) 静态变量:STATICS [] [] [](4) 自定义变量类型:

Types: Begin of 自定义变量类型,

变量名1 Type 变量类型1,

变量名2 Type 变量类型2,

End of 自定义变量类型.

Data 自定义变量 Type 自定义变量类型.(5) 字段变量:

Data: Begin of Address,

Name(10) Type C,

Number Type P,

End of Address.(6) 内表:

Table: 表名.

例:

TABLES: SPFL.

SELECT  *  FROM  SPFL.

WRITE: SPFL-MANDT, SPFL-CARRID,SPFL-CONNECTION.

ENDSELECT.

2、系统定义数据

-----------------------------------------------------------------

SPACE       空白字符串

SY-SUBRC    系统执行传回值, 0 表示成功

SY-UNAME    logon帐号

SY-DATUM    系统日期

SY-UZEIT    系统时间

SY-TCODE    目

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值