技術小貼士

          主要分為DB、OS和ERP三大塊

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            12 隨筆 :: 0 文章 :: 0 評論 :: 0 Trackbacks

          一.  什么是內表
                 ----------------------------------------------------------------------------------------------------------
                 (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 on 2005-11-21 22:11 行者 閱讀(245) 評論(0)  編輯  收藏 所屬分類: 42.SAP
          主站蜘蛛池模板: 南平市| 巴东县| 宾川县| 托里县| 阳高县| 沂水县| 西藏| 民勤县| 东至县| 神农架林区| 阳高县| 万年县| 罗山县| 犍为县| 开阳县| 毕节市| 临澧县| 惠东县| 齐河县| 克东县| 崇礼县| 乡宁县| 八宿县| 留坝县| 华容县| 彰武县| 吴堡县| 泉州市| 新竹县| 个旧市| 遂昌县| 赫章县| 手机| 章丘市| 保山市| 和静县| 凉山| 葫芦岛市| 九龙坡区| 皋兰县| 定州市|