技术小贴士

主要分为DB、OS和ERP三大块

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  12 随笔 :: 0 文章 :: 0 评论 :: 0 Trackbacks

2005年11月21日 #

1、 PARAMETER:输入一个变量或字段内容
   -------------------------------------------------------------
   语法:PARAMETERS  <p>  [DEFAULT <f>]  [LOWER CASE]

                                                      [OBLIGATORY]  [AS CHECKBOX]

                                                      [RADIOBUTTON GROUP <rad>]


2、SELECTION-OPTIONS: 使用条件筛选画面来输入数据
   -------------------------------------------------------------
   语法:SELECTION-OPTIONS  <check-option>  FOR  <table-field>
                                                            [DEFAULT  <begin>  TO  <end>]
                                                            [NO-EXTENSION]
                                                            [LOWER CASE]
                                                            [OBLIGATORY]
                                                            [Select 指令]

3、SELECTION-SCREEN 输出空白列、底线、备注说明、多个数据据、黑线等
   -------------------------------------------------------------------
   语法:SELECTION-SCREEN  SKIP  [<n>]
                                                          [ULINE  / <pos>(length)]
                             [COMMENT  / <pos>(length)  <name>]
                                                          [BEGIN  OF  LINE.
                                                                
……     
                                                          SELECTION-SCREEN  END  OF  LINE.]
                             [BEGIN  OF  BLOCK  <block> [WITH  FRAME  [TITLE  <title>]. 
                                    …….     
                                                          SELECTION-SCREEN  END  OF  BLOCK  <block>.]


posted @ 2005-11-22 00:09 行者 阅读(275) | 评论 (0)编辑 收藏

1、宏模块
      ----------------------------------------------------------------------------------------
      (1) 宏定义:     
            DEFINE  <macro>.
                 <宏叙述>.
            END-OF-DEFINITION.

    (2) 宏使用:
          <macro> [<p1> <p2>….]
         *  <p1> 为传入宏的参数值, 在参数间至少要给予一个空白


2、包含子程序  
   ------------------------------------------------------------------
   语法:INCLUDE  <include program file>
      作用:用于共享数据项,比如全局变量


3、子程序
   ------------------------------------------------------------------
   1、声明:
      FORM  <subr>  [<pass>].
                     
<subroutine statement block>
            
ENDFORM.

   2、调用:
      (1) 内部调用:PERFORM <subr> [<pass>] 

            (2)   外部调用:
          ① 调用另一程序
             PERFORM  <subr>(<prog>) [<pass>] [IF FOUND] 
 
          ② 调用另一专存放子程序的程序文件
             PERFORM  (<fsubr>)  [IN  PROGRAM (<fprog>) [<pass>] [IF FOUND]

   * 参数传递
     ------------------------------------------------------------------
     (1) 地址传递:
         FORM  <subr>  [USING <f1> <f2>…] [CHANGING <f1>…]
                  或
                  PERFORM  <subr>  [USING <f1> <f2>…] [CHANGING <f1>…]

     (2) 值传递:
         FORM  <subr>  USING  VALUE(<f1>…)
                  或
                  PERFORM  <subr>  USING  <f1> 

           (3)  传入时值传递,传出时改变返回参数值 
         FORM  ….. CHANGING  VALUE(<f1>
                  或
                  PERFORM  …. CHANGING …. <f1>

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


4、函数
   ------------------------------------------------------------------
   (1) 查看系统函数

   (2) 函数呼叫:
       CALL  FUNCTION  <module>
               IMPORTING   F1=a1….
               EXPORTING   F1=a1….
               CHANGING   F1=a1…
               TABLES      F1=a1…
               EXCEPTIONS  F1=a1…     
 

    


        

posted @ 2005-11-21 23:50 行者 阅读(207) | 评论 (0)编辑 收藏

一、SQL分类
        --------------------------------------------------------------------------------------
        1、按操作分类:DDL和DML
 
        2、按是否有缓存分类:
              (1) OPEN SQL :数据库与命令编译器存在缓存,如Select * From <Itab>....
              (2) Native SQL:直接处理

二、创建字典表
        --------------------------------------------------------------------------------------
       语法:TABLES  table

三、处理字典表
        --------------------------------------------------------------------------------------
       1、查询       
      ------------------------------
      语法:SELECT <result> FROM <source> [INTO <target>] [WHERE <condition>]
               [GROUP BY <fields>] [ORDER BY <sort_order>].

       2、插入
            ------------------------------
      (1) Work Area插入:
          语法:INSERT  INTO  <database>  VALUES  <wa>

            (2)  表间插入
                  语法:INSERT  <database>  FROM  TABLE  <itab>  [ACCEPTING DUPLICATE KEY]

       3、更改
             ------------------------------
      (1) 更改单行
          语法:UPDATE <dbtab> [CLIENT SPECIFIED] FROM <wa>.
                或
                UPDATE <dbtab> [CLIENT SPECIFIED].

      (2) 更改多行
          语法:UPDATE  <database>  SET  < f1>=<values>…  WHERE  <condition>.

      (3) 表间更改
          语法:UPDATE <dbtab> [CLIENT SPECIFIED] FROM TABLE <itab>.

      (4) Modify更改(有则更改,无则插入)
          语法:MODIFY  <database>  FROM  <wa>.

      4、删除
            ------------------------------
            (1) 使用关键字删除
                 语法:DELETE  <database>  FROM  <wa>

            (2) 使用条件删除
                 语法:DELETE  FROM  <database>  WHERE  <condition>

      5、使用游标
            ------------------------------
            (1) 打开:
                 语法:OPEN  CURSOR  <c>  FOR  SELECT …  WHERE <condition>

           (2) 使用:
                 语法:FETCH  NEXT  CURSOR  <c>  INTO  <wa>

           (3) 关闭:
                语法:CLOSE  CURSOR  <c>


四、提交与回退
        --------------------------------------------------------------------------------------
        (1) 提交:COMMIT WORK

        (2) 回退:ROLLBACK WORK

        
posted @ 2005-11-21 22:48 行者 阅读(319) | 评论 (0)编辑 收藏

一.  什么是内表
       ----------------------------------------------------------------------------------------------------------
       (1) 内表:仅在程序运行时存在的表格
   
       (2) 作用:
             ① 系统可实时增加内表的大小
             ② 可根据程序需要重新组织数据库表格的内容  

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

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

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

二、创建内表
        ----------------------------------------------------------------------------------------------------------
        (1) Type创建:先声明,后使用
             语法:TYPES <t> <type> OCCURS <n>.

        (2) Data创建:使用Work Area
             DATA <f> <type> OCCURS <n> [WITH HEADER LINE].

        (3) Data创建:不使用Work Area(直接宣告)
             语法:DATA: BEGIN OF <f> OCCURS <n>,
                                                  <component declaration>,
                                                  ..............
                                     END OF <f>.   

三、使用内表
        ----------------------------------------------------------------------------------------------------------
        1、增加
              (1) 增加行(可能有重复行)
                   语法:APPEND [<wa> TO|INITIAL LINE TO] <itab>.

              (2) 根据标准关键字附加行(没有重复行)
                   语法:COLLECT [<wa> INTO] <itab>.

              (3) 表外增加
                   语法:APPEND LINES OF <itab1> [FROM <n1>] [TO <n2>] TO <itab2>.

        2、插入
              (1) 在指定行前插入
                   语法:INSERT [<wa> INTO|INITIAL LINE INTO] <itab> [INDEX <idx>].

              (2) 外表插入
                   语法:INSERT LINES OF <itab1> [FROM <n1>] [TO <n2>]
                                        INTO <itab2> [INDEX <idx>].    

        3、修改
              语法:MODIFY <itab> [FROM <wa>] [INDEX <idx>].    

        4、删除
              (1) 在循环中删除行
                   语法:Loop At <Itab> (Into type)
                                       DELETE <itab>.
                               End Loop.

              (2) 用索引删除行
                    语法:DELETE <itab> INDEX <idx>.

        5、查询
              (1) 循环读取
                   语法:LOOP AT <itab> [INTO <wa>] [FROM <n1>] [TO <n2>] [WHERE <condition>].
                                          .....
                               ENDLOOP. 

              (2) 用索引读取单行
                   语法:READ TABLE <itab> [INTO <wa>] INDEX <idx>.

              (3) 读取有关键字的单行
                   语法:READ TABLE <itab> [INTO <wa>] WITH KEY <key> [BINARY SEARCH].

         6、排序 
               语法:SORT <itab> [<order>] [AS TEXT]
                                      [BY <F1> [<order>] [AS TEXT] ... <fn> [<order>] [AS TEXT]]. 

         7、汇总
               (1) 非数值汇总
                    语法:COLLECT [<wa> INTO] <itab>.

               (2) 数值汇总
                    语法:Loop At <Itab> (Into type)
                                       Sum.
                               End Loop.

        8、清除
              (1) REFRESH <itab>.
                   解释:初始化没有表头的内表,清除所有元素
            
              (2) CLEAR <itab>.
                   解释:初始化有表头的内表,清除所有元素

              (3) FREE <itab>.
                   解释:重置内表并直接释放其内存,须在REFRESH或CLEAR后使用


        

posted @ 2005-11-21 22:11 行者 阅读(232) | 评论 (0)编辑 收藏