技術小貼士

          主要分為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 行者 閱讀(290) | 評論 (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 行者 閱讀(219) | 評論 (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 行者 閱讀(332) | 評論 (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 行者 閱讀(245) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 永修县| 汨罗市| 昭平县| 烟台市| 田东县| 鸡东县| 墨脱县| 汉沽区| 即墨市| 陆良县| 曲靖市| 康乐县| 吉木乃县| 蕉岭县| 大冶市| 共和县| 陇西县| 安顺市| 沈丘县| 招远市| 东乌珠穆沁旗| 开远市| 上高县| 林口县| 雷山县| 永新县| 花莲市| 揭东县| 阿坝| 邛崃市| 临西县| 丰顺县| 米脂县| 浙江省| 新龙县| 淳化县| 张掖市| 阜新| 房产| 高密市| 夏津县|