技術小貼士

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

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

          2005年11月15日 #

          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 行者 閱讀(289) | 評論 (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 行者 閱讀(218) | 評論 (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 行者 閱讀(331) | 評論 (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)編輯 收藏

          1、 順序
                
          2、選擇:IF和CASE
                --------------------
                (1) IF語法:
                          IF  <condition1>.
                                  <statement block>
                          ELSEIF  <condition2>.
                                 <statement block>
                          ELSEIF  <condition3>.
                                 <statement block>
                          .....
                          ELSE.
                                <statement block>
                          ENDIF.

                (2) CASE語法:
                          CASE <f>.
                                    WHEN <F1>.
                                                <statement block>
                                    WHEN <F2>.
                                                <statement block>
                                    WHEN <F3>.
                                                <statement block>
                                    WHEN ...
                                    ......
                                    WHEN OTHERS.
                                               <statement block>
                          ENDCASE.

          3、 循環:DO和WHILE
                 ------------------------------------
                 (1) 計次循環:
                              DO [<n>TIMES] [VARYING <f> FROM <F1> NEXT <F2>].
                                    <statement block>
                              ENDDO.

                 (2) 無限循環:
                             DO .
                                  
          <Statement Block>
                            
          ENDDO. 

                  (3) 條件循環:
                             WHILE <condition> [VARY <f> FROM <F1> NEXT <F2>].
                                  <statement block>
                             ENDWHILE.

                   *  終止循環:
                       ------------------------------------
                       ① 無條件終止循環:CONTINUE
                       ② 有條件終止循環:CHECK
                       ③ 完全終止循環:  EXIT

          posted @ 2005-11-20 22:27 行者 閱讀(222) | 評論 (0)編輯 收藏

          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

          posted @ 2005-11-20 21:55 行者 閱讀(558) | 評論 (0)編輯 收藏

          (1) 移位:Shift 變量名 [by <n> places] [modes]

          (2) 替換:Replace <Str1> with <Str2> into <c>     

          (3) 大小寫:Translate <c> to Upper/Lower Case

          (4) 尋找:  Search <c> for <Str>

          (5) 長度:  Strlen(str) 

          (6) 取部分:<f>[+<o>][<l>]
                * 示例:
                   DATA  T(10)  VALUE  ‘ABCDEFGHIJ’.
                   WRITE  /  T+2(4).  “得到 CDEF

          posted @ 2005-11-20 21:48 行者 閱讀(240) | 評論 (0)編輯 收藏

          1、賦值
                ---------------------------------------------------------------------------------------
                (1) 全部賦值:Move <F1> to <F2>.
            
                (2) 部分賦值:Move <F1>[+<O1>] to <F2>[+<O2>].

                (3) 組件(字段)復制:Move Corresponding <Str1> to <Str2>. 

                (4) 傳值:WRITE  (<f>)  TO  <g>     

          2、清值
                ---------------------------------------------------------------------------------------
                CLEAR  <f>

          posted @ 2005-11-20 21:43 行者 閱讀(246) | 評論 (0)編輯 收藏

          1. Write的格式:
              -------------------------------------
              (1) 不指定位置輸出:Write 資料項.

              (2) 指定位置輸出:  Write AT [/] [<pos>] [(<len>)]  資料項.

              (3) 指定顯示格式:  WRITE  數據項  <顯示格式參數>.

              (4) 輸出圖標:      WRITE  <symbol-name>  AS  SYMBOL.
                                              WRITE  <icon-name>  AS  ICON.

              (5) 輸出、垂直線、空行:    
                    ① 水平線:write [at [/][<pos>][(<len>)]] sy-uline.
                    ② 垂直線:write [at [/][<pos>]] sy-vline.
                    ③ 空行:    WRITE  SKIP  [<n>].

              (6) 輸出復選框:    Write 標簽,變量 As CheckBox.

          2. 跳至指定列坐標:Skip to line [<n>].
           
          *  資料項指變量或常量

          *  預定義數據類型的輸出格式
              ----------------------------------------------
              數據類型           輸出長度               定位 
                    C                   字段長度           左對齊 
                    D                        8                    左對齊 
                    F                      22                    右對齊 
                    I                       11                    右對齊 
                   N                   字段長度           左對齊 
                   P           2*字段長度(+1)  右對齊 
                   T                       6                      左對齊 
                   X                 2*字段長度         左對齊 
            ----------------------------------------------
            在屏幕上,輸出通常是左對齊的; 但數據類型F、I和P是右對齊的,左邊用空格填充。
           

          posted @ 2005-11-19 23:37 行者 閱讀(246) | 評論 (0)編輯 收藏

          * 預定義數據類型
          --------------------------------------------------------------------------------------------------------------
          Type       Length             Range                          Initial Value                Description
          C           1              1-65535Byte                          Space                  字符串數據, ’Program’
          D           8                     8Byte                           ‘00000000’             日期數據, 格式為YYYYMMDD
          F           8                      8Byte                                   0                      浮點數         
          I            4              -2^312^31-1                           0                      整數
          N          1              1-65535Byte                        ‘00…0’                   數值所組成的字符串  
          P           8              1-16Byte                                      0                      Packed , 用在小數點數
          T           6                     6Byte                             ‘000000’                 時間數據, 格式為HHMMSS
          X           1                1-65535Byte                             X’00’                    16進位數


          1、定義數據結構
             ----------------------------------------------------------------
             (1) 變量: Data 變量名 Type 變量類型,如:Data S1 Type I.
                
             (2) 常量:Constants 常量名 Type 變量類型,如:Constants PI Type P 3.1415926.
            
             (3) 靜態變量:STATICS <c> [<length>] <type> [<value>] [<decimals>]
            
             (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    目
          posted @ 2005-11-19 23:18 行者 閱讀(284) | 評論 (0)編輯 收藏

          ABAP/4(Advanced Business Application Programming)SAP/R3目前唯一的系統發展工具,屬于4GL,程序模塊可分為三部分:
          (1)塊內程序:與一般語言語法近似, IF,WHILE, 但并沒有GOTO敘述
          (2)報表:呼叫一個獨立的事件(Depending Event), 讀取database 產生數據列表,是一個Stand-along 程序
          (3)事務:屏幕參數輸入的對話框, 專門處理database 讀取或異動的tranaction proces,不是一個Stand-Along Progarm
          posted @ 2005-11-19 23:07 行者 閱讀(165) | 評論 (0)編輯 收藏

           

          1、數據庫服務器體系結構

                http://www.ddvip.net/database/oracle/index1/img02/9-5.JPG

           

          2、存儲結構

          http://www.ddvip.net/database/oracle/index1/img02/9-3.JPG 
          (1)物理結構:數據文件、日志文件、控制文件、參數文件

          (2)邏輯結構:由表空間構成,而表空間又是由段、區和塊組成的。
          l      數據塊,又叫邏輯塊,是Oracle數據庫輸入/輸出的基本單位.
          l      區間:由若干連續的數據塊構成。
          l      段:由若干數據區間構成,共有數據段、索引段、回滾段和臨時段4種。

          http://www.ddvip.net/database/oracle/index1/img02/9-2.JPG


          (3)內存結構:
          ① SGA:共享池、數據緩沖區、日志緩沖區
          ② PGA

          http://www.ddvip.net/database/oracle/index1/img02/9-1.JPG 
          (4)進程:

          ① 用戶進程、服務器進程和后臺進程 

          ② 后臺進程:SMON、PMON、DBWRLGWRARCH、CKPT、RECOLCKnSNPn、Dnnn。

           

          posted @ 2005-11-15 09:40 行者 閱讀(136) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 陆丰市| 满城县| 新郑市| 前郭尔| 玉门市| 永善县| 青冈县| 永福县| 涿州市| 建瓯市| 德江县| 仁布县| 沾益县| 雅安市| 汝南县| 贡嘎县| 镇雄县| 灵川县| 韶山市| 双峰县| 义马市| 上饶县| 上饶市| 东乡族自治县| 班戈县| 嘉善县| 兴海县| 宜城市| 锡林郭勒盟| 东宁县| 龙州县| 长岭县| 恩施市| 宣汉县| 鄂温| 北票市| 弋阳县| 宜黄县| 十堰市| 莆田市| 上杭县|