版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PAGE PAGE set Z_001page page 聲明數(shù)據(jù)概覽xe ABAP/4 類型概念xe 數(shù)據(jù)xe 數(shù)據(jù), 聲明內(nèi)容 TOC o 2-3 數(shù)據(jù)類型和 對(duì)象簡(jiǎn)介 GOTOBUTTON _Toc395413647 PAGEREF _Toc395413647 數(shù)據(jù)類型 GOTOBUTTON _Toc395413648 PAGEREF _Toc395413648 基本數(shù)據(jù)類 型 - 預(yù)定義的 GOTOBUTTON _Toc395413649 PAGEREF _Toc395413649 基本數(shù)據(jù)類 型 - 用戶定義的 GOTOBUTTON _Toc395413650 PAGEREF _To
2、c395413650 結(jié)構(gòu)化數(shù)據(jù) 類型 GOTOBUTTON _Toc395413651 PAGEREF _Toc395413651 數(shù)據(jù)類型的 兼容性 GOTOBUTTON _Toc395413652 PAGEREF _Toc395413652 數(shù)據(jù)對(duì)象 GOTOBUTTON _Toc395413653 PAGEREF _Toc395413653 文字 GOTOBUTTON _Toc395413654 PAGEREF _Toc395413654 變量 GOTOBUTTON _Toc395413655 PAGEREF _Toc395413655 常量 GOTOBUTTON _Toc395413
3、656 PAGEREF _Toc395413656 系統(tǒng)定義的 數(shù)據(jù)對(duì)象 GOTOBUTTON _Toc395413657 PAGEREF _Toc395413657 創(chuàng)建數(shù)據(jù)對(duì) 象和數(shù)據(jù)類 型 GOTOBUTTON _Toc395413658 PAGEREF _Toc395413658 DATA 語(yǔ)句 GOTOBUTTON _Toc395413659 PAGEREF _Toc395413659 CONSTANTS 語(yǔ)句 GOTOBUTTON _Toc395413660 PAGEREF _Toc395413660 STATICS 語(yǔ)句 GOTOBUTTON _Toc395413661 PAGE
4、REF _Toc395413661 TABLES 語(yǔ)句 GOTOBUTTON _Toc395413662 PAGEREF _Toc395413662 TYPES 語(yǔ)句 GOTOBUTTON _Toc395413663 PAGEREF _Toc395413663 示例匯總 GOTOBUTTON _Toc395413664 PAGEREF _Toc395413664 預(yù)定義基本 數(shù)據(jù)類型和 對(duì)象示例 GOTOBUTTON _Toc395413665 PAGEREF _Toc395413665 用戶定義的 基本數(shù)據(jù)類 型和對(duì)象示 例 GOTOBUTTON _Toc395413666 PAGEREF
5、_Toc395413666 字段串示例 GOTOBUTTON _Toc395413667 PAGEREF _Toc395413667 內(nèi)表示例 GOTOBUTTON _Toc395413668 PAGEREF _Toc395413668 使用類型組 GOTOBUTTON _Toc395413669 PAGEREF _Toc395413669 確定數(shù)據(jù)對(duì) 象的屬性 GOTOBUTTON _Toc395413670 PAGEREF _Toc395413670 確定字段長(zhǎng) 度 GOTOBUTTON _Toc395413671 PAGEREF _Toc395413671 確定數(shù)據(jù)類 型 GOTOBUT
6、TON _Toc395413672 PAGEREF _Toc395413672 確定輸出長(zhǎng) 度 GOTOBUTTON _Toc395413673 PAGEREF _Toc395413673 確定小數(shù)位 GOTOBUTTON _Toc395413674 PAGEREF _Toc395413674 確定轉(zhuǎn)換例 程 GOTOBUTTON _Toc395413675 PAGEREF _Toc395413675 本節(jié)說(shuō)明如 何在 ABAP/4程 序中聲明數(shù) 據(jù)。要能聲 明數(shù)據(jù),應(yīng) 該熟悉定義 數(shù)據(jù)類型 數(shù)據(jù)對(duì)象之 間關(guān)系的 ABAP/4 類型概念。下列內(nèi)容介 紹ABAP/4 類型概念下列主題說(shuō) 明在該指
7、南中 ,術(shù)語(yǔ)“字 段”用于數(shù) 據(jù)對(duì)象。通常情況下 ,字段可以 是 任何數(shù)據(jù) 對(duì)象(參見(jiàn) 數(shù)據(jù)對(duì)象 (頁(yè) REF z_036page ) ) 字段符號(hào) 或形式參數(shù) (參見(jiàn) LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC12E.DOC z_000 a t使用字段符號(hào)和LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC11E.DOC z_018 a t通過(guò)參數(shù)傳遞數(shù)據(jù))根據(jù)上下文 ,可以明確 術(shù)語(yǔ)“字段 ”代表什么 。 set Z_058page page 數(shù)據(jù)類型和 對(duì)象簡(jiǎn)介數(shù)據(jù)
8、類型和 數(shù)據(jù)對(duì)象是 ABAP/4 類型概念的 基本組件。 二者均可由 用戶聲明和 維護(hù)。這與 其它編程語(yǔ) 言如 C、FORTRAN 或 PASCAL 不同,在這 些語(yǔ)言中用 戶可以聲明 數(shù)據(jù)對(duì)象, 但僅限于預(yù) 定義的數(shù)據(jù) 類型。在 ABAP/4 中,可以使 用與標(biāo)準(zhǔn)數(shù) 據(jù)聲明相似 的語(yǔ)法處理 數(shù)據(jù)類型, 而與數(shù)據(jù)對(duì) 象無(wú)關(guān)。特 殊程序以外 的數(shù)據(jù)類型 集中存儲(chǔ)也 是可能的。下列列表是 數(shù)據(jù)類型和 對(duì)象主要特 征的概述: 數(shù)據(jù)類型 (基本的或 結(jié)構(gòu)化的) -數(shù)據(jù)類 型是純粹的 說(shuō)明。 -沒(méi)有與 數(shù)據(jù)類型相 關(guān)聯(lián)的內(nèi)存 。 -數(shù)據(jù)類 型描述數(shù)據(jù) 對(duì)象的技術(shù) 屬性。-數(shù)據(jù)類 型是數(shù)據(jù)對(duì) 象的屬性并
9、與數(shù)據(jù)對(duì)象 聯(lián)系緊密。 數(shù)據(jù)對(duì)象 (文字、變 量、常量等 ):-數(shù)據(jù)對(duì) 象是程序在 運(yùn)行時(shí)使用 的物理單元 。-每個(gè)數(shù) 據(jù)對(duì)象都有 分配給它的 特定數(shù)據(jù)類 型。-每個(gè)數(shù) 據(jù)對(duì)象占據(jù) 一些內(nèi)存空 間。-ABAP/4 根據(jù)數(shù)據(jù)對(duì) 象的數(shù)據(jù)類 型處理數(shù)據(jù) 對(duì)象。在程序中, 必須聲明要 使用的全部 數(shù)據(jù)對(duì)象。 聲明過(guò)程中 ,必須給數(shù) 據(jù)對(duì)象分配 屬性。其中 最重要的屬 性是數(shù)據(jù)類 型。在 ABAP/4 中,可以使 用與其它程 序語(yǔ)言相似 的預(yù)定義的 數(shù)據(jù)類型, 或者使用用 戶定義的數(shù) 據(jù)類型。由于 ABAP/4 中用戶定義 的數(shù)據(jù)類型 允許編程具 有非常大的 靈活性,所 以提供了強(qiáng) 有力的工具 。它們
10、的范 圍從基本類 型(例如, 給定長(zhǎng)度的 字符串)到 非常復(fù)雜的 結(jié)構(gòu)(例如 ,嵌套表) 。將用戶定義 的數(shù)據(jù)類型 分配給數(shù)據(jù) 對(duì)象使您能 精確處理需 要的數(shù)據(jù)對(duì) 象??梢园?使用預(yù)定義 數(shù)據(jù)類型的 方式使用用 戶定義的數(shù) 據(jù)類型???以在程序內(nèi) 對(duì)它們進(jìn)行 局部明, 或在 ABAP/4 詞典中對(duì)它 們進(jìn)行全局 保存。有三個(gè)層次 級(jí)的數(shù)據(jù)類 型和對(duì)象: 在 ABAP/4 詞典中定義 的獨(dú)立于程 序的數(shù)據(jù) 在一個(gè)程 序中全局使 用的內(nèi)部數(shù) 據(jù) 在過(guò)程( 子程序和功 能模塊)中 局部使用的 數(shù)據(jù)在本指南的 相應(yīng)章節(jié)將 了解到有關(guān) 這些層次級(jí) 的詳細(xì)內(nèi)容 。 set Z_024page page 數(shù)
11、據(jù)類型在 ABAP/4 中按結(jié)構(gòu)和 定義對(duì)數(shù)據(jù) 類型分類。 數(shù)據(jù)類型是 : 基本的( 非結(jié)構(gòu)化的 )或結(jié)構(gòu)化 的 預(yù)定義的 或用戶定義 的因此,有四 類數(shù)據(jù)類型 ,在下表中 列出。預(yù)定 義數(shù)據(jù)類型 的名稱是固 定的。用戶 定義的數(shù)據(jù) 類型的名稱 由程序員在 程序中定義 。ABAP/4 中的數(shù)據(jù)類 型預(yù)定義的用 戶定義的基 本的C、D、 F、I、N、 P、T 和 X:ABAP/4 包含 8 個(gè)預(yù)定義基 本數(shù)據(jù)類型 。基本數(shù)據(jù)類 型 - 預(yù)定義的 (頁(yè) REF z_027page ) 用戶定義的 基本數(shù)據(jù)類 型基于預(yù)定 義基本數(shù)據(jù) 類型?;緮?shù)據(jù)類 型 - 用戶定義的 (頁(yè) REF z_028pa
12、ge ) 結(jié)構(gòu)化的TABLE: 該預(yù)定義的 結(jié)構(gòu)化的數(shù) 據(jù)類型僅用 于形式參數(shù) 和字段符號(hào) 的鍵入。字段串和內(nèi) 表:這些結(jié) 構(gòu)化的數(shù)據(jù) 類型可以用 于數(shù)據(jù)對(duì)象 并且是用戶 定義的。結(jié)構(gòu)化數(shù)據(jù) 類型 (頁(yè) REF z_049page ) 使用數(shù)據(jù)時(shí) ,了解數(shù)據(jù) 類型是否兼 容是很重要 的。關(guān)于該 主題的詳細(xì) 信息,參見(jiàn) set Z_027page page 基本數(shù)據(jù)類 型 - 預(yù)定義的下表總結(jié)了 ABAP/4 中預(yù)定義的 基本數(shù)據(jù)類 型(有效大 小以字節(jié)為 單位):ABAP/4數(shù)據(jù)類型數(shù)據(jù)類型默 認(rèn)大小有效 大小初始值說(shuō)明 C11 - 65535SPACE文 本、字符( 字母數(shù)字字 符)D880
13、0000000日 期(格式: YYYYMMDD) F880浮 點(diǎn)數(shù)I440整 型(整數(shù)) N11 - 6553500.0數(shù) 字文本P81 - 160壓縮 號(hào)T66000000時(shí) 間(格式: HHMMSS) X11 - 65535X00十 六進(jìn)制在各方面, 數(shù)據(jù)類型 D、F、I 和 T 都是預(yù)定義 的,但數(shù)據(jù) 類型 C、N、P 和 X 可以有附加 說(shuō)明。例如 ,可以在程 序中定義大 小。關(guān)于數(shù)字?jǐn)?shù) 據(jù)類型 I、F 和 P 的詳細(xì)信息 ,參見(jiàn) 數(shù)字?jǐn)?shù)據(jù)類 型 (頁(yè) REF z_043page ) 。 set Z_043page page 數(shù)字?jǐn)?shù)據(jù)類 型ABAP/4 支持三種數(shù) 字?jǐn)?shù)據(jù)類型 。它們是
14、: 類型 I 的整型(整 數(shù)) 類型 P 的壓縮號(hào) 類型 F 的浮點(diǎn)數(shù)類型 I 數(shù)據(jù)類型 I 數(shù)據(jù)的數(shù)值 范圍是 -2*31 到 2*31-1 并且僅包括 整數(shù)。對(duì)算術(shù)運(yùn)算 的非整型結(jié) 果(如分?jǐn)?shù) )進(jìn)行四舍 五入,而不 是截?cái)唷n愋?I 數(shù)據(jù)可用于 計(jì)數(shù)器、項(xiàng) 目號(hào)、索引 和時(shí)間期段 等。類型 P 數(shù)據(jù)類型 P 數(shù)據(jù)允許在 小數(shù)點(diǎn)后有 數(shù)字。類型 P 數(shù)據(jù)的數(shù)值 范圍取決于 大小和小數(shù) 點(diǎn)后的位數(shù) 。有效大小 可以是從 1 到 16 字節(jié)的任何 值。將兩個(gè) 十進(jìn)制數(shù)字 壓縮到一個(gè) 字節(jié),而最 后一個(gè)字節(jié) 包含一個(gè)數(shù) 字和符號(hào)。 在小數(shù)點(diǎn)后 最多允許 14 個(gè)數(shù)字。關(guān) 于定義小數(shù) 點(diǎn)后位數(shù)的
15、詳細(xì)信息, 參見(jiàn) DATA 語(yǔ)句的基本 格式 (頁(yè) REF z_041page ) 。使用類型 P 數(shù)據(jù)時(shí),最 好將程序?qū)?性設(shè)置為“ 定點(diǎn)算法” (參見(jiàn)指定程序?qū)傩?(頁(yè) LINK Word.Document.6 C:LINBCAB4BC03E.DOP z_005page a tError! Not a valid link.) )。否則, 將類型 P 數(shù)字作為整 型對(duì)待。類型 P 數(shù)據(jù)可用于 如距離、重 量和錢數(shù)等 數(shù)值。類型 F 數(shù)據(jù)對(duì)于正數(shù)和 負(fù)數(shù),類型 F 數(shù)的數(shù)值范 圍是 1x10*-307 到 1x10*308, 包括 0(零)。精確范圍近 似為 15 位十進(jìn)制數(shù) ,這取決于 硬
16、件平臺(tái)的 浮點(diǎn)算法。由于是在內(nèi) 部將類型 F 數(shù)據(jù)轉(zhuǎn)換為 二進(jìn)制系統(tǒng) ,因此可能 出現(xiàn)舍入誤 差。盡管 ABAP/4 處理器試圖 將這些影響 減至最小, 但是如果要 求高精度, 則不應(yīng)該使 用類型 F 數(shù)據(jù)。而應(yīng) 代之以類型 P 數(shù)據(jù)。如果需要大 的數(shù)值范圍 ,而且舍入 誤差不重要 ,則可以使 用類型 F 數(shù)據(jù)。因?yàn)閷?duì)類型 I 和 F 字段的算術(shù) 運(yùn)算與機(jī)器 碼語(yǔ)句關(guān)系 更緊密,所 以用類型 I 和類型 F 字段的計(jì)算 比用類型 P 字段的計(jì)算 要快;同時(shí) 對(duì) P 字段的運(yùn)算 要求更多的 軟件支持。 盡管如此, 可能仍必須 使用類型 P 數(shù)據(jù)以滿足 精度或數(shù)值 范圍的要求 。類型 N 數(shù)據(jù)不包
17、含 數(shù)值。雖然 由數(shù)字組成 ,但這些數(shù) 字不用于計(jì) 算??颇刻?hào) 和郵編是典 型的類型 N 字段。 set Z_028page page 基本數(shù)據(jù)類 型 - 用戶定義的用戶定義的 基本數(shù)據(jù)類 型完全是以 預(yù)定義的基 本數(shù)據(jù)類型 為基礎(chǔ)的。 要定義自己 的基本數(shù)據(jù) 類型,請(qǐng)使 用 TYPES 語(yǔ)句(參見(jiàn) TYPES 語(yǔ)句 (頁(yè) REF z_029page ) )。用戶定義的 基本數(shù)據(jù)類 型使程序的 閱讀和維護(hù) 更加容易: 例如,如 果在程序中 經(jīng)常需要使 用某數(shù)據(jù)類 型集,通過(guò) 為類型定義 創(chuàng)建包括程 序(參見(jiàn) LINK Word.Document.6 BOYSPUBLICDOKU30DBCENG
18、LISHBCAB4BC11E.DOC z_013 a t包含程序),或者在 ABAP/4 詞典的類型 組中定義數(shù) 據(jù)類型(參 見(jiàn) 使用類型組 (頁(yè) REF z_061page ) ),可以確 ??偸鞘褂?相同的數(shù)據(jù) 類型。 若要使數(shù) 據(jù)類型更易 于理解和識(shí) 別,可以賦 予它們描述 性的名稱。 在將用戶 定義的數(shù)據(jù) 類型分配給 幾個(gè)數(shù)據(jù)對(duì) 象之后,通 過(guò)更改 TYPES 語(yǔ)句中數(shù)據(jù) 類型的定義 ,可以用一 個(gè)操作更改 所有這些數(shù) 據(jù)對(duì)象的數(shù) 據(jù)類型。TYPES: NUMBER TYPE I, LENGTH TYPE P DECIMALS 2, CODE(3) TYPE C.DATA: NO_FL
19、IGHTS TYPE NUMBER, NO_PASSENGERS TYPE NUMBER, DISTANCE TYPE LENGTH, HEIGHT TYPE LENGTH, CITY_CODE TYPE CODE, COUNTRY_CODE TYPE CODE, 示例中,定 義了名為 NUMBER 的數(shù)據(jù)類型 。該數(shù)據(jù)類 型除擁有不 同名稱以使 程序更易于 閱讀外,與 預(yù)定義的數(shù) 據(jù)類型 I 相同。該示例中還 定義了數(shù)據(jù) 類型 LENGTH, 該數(shù)據(jù)類型 是以預(yù)定義 的基本數(shù)據(jù) 類型 P為基礎(chǔ)的 。為 LENGTH 定義了給定 數(shù)目的小數(shù) 位。例如, 如果需要更 改長(zhǎng)度規(guī)格 的精度,僅 須在
20、程序中 更改 TYPES 語(yǔ)句。還定義了第 三種數(shù)據(jù)類 型 CODE。 CODE 是以預(yù)定義 的類型 C 為基礎(chǔ)的, 具有給定長(zhǎng) 度 3。 set Z_049page page 結(jié)構(gòu)化數(shù)據(jù) 類型通常情況下 ,ABAP/4 程序中的結(jié) 構(gòu)化數(shù)據(jù)類 型是用戶定 義的。在 ABAP/4 中,沒(méi)有可 用的預(yù)定義 結(jié)構(gòu)化數(shù)據(jù) 類型,但下 列例外:可以使用預(yù) 定義的一般 表類型TABLE, 以便將具有 一般行結(jié)構(gòu) 的內(nèi)表傳遞 到子程序( 參見(jiàn)LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC11E.DOC z_022 a t鍵入形式參數(shù)),或者鍵
21、入字段符號(hào) (參見(jiàn) LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC12E.DOC z_013 a t鍵入字段符號(hào))。有兩種結(jié)構(gòu) 化數(shù)據(jù)類型 : 字段串字段串是其 它數(shù)據(jù)類型 的集合。字 段串的組件 可以是字段 串本身或內(nèi) 表??梢杂?TYPES 語(yǔ)句或 DATA 語(yǔ)句(參見(jiàn) 用于字段串 的 DATA 語(yǔ)句 (頁(yè) REF z_042page ) )定義字段 串。通過(guò) DATA 語(yǔ)句不能定 義獨(dú)立數(shù)據(jù) 類型,而可 以定義具有 結(jié)構(gòu)化類型 的數(shù)據(jù)對(duì)象 。 內(nèi)表內(nèi)表由相同 類型的幾行 組成。與字 段串僅“水 平地”擴(kuò)展 不同,內(nèi)表 還“垂直
22、地 ”擴(kuò)展。可以用 TYPES 或 DATA 語(yǔ)句的 OCCURS 參數(shù)定義內(nèi) 表(參見(jiàn) 創(chuàng)建內(nèi)表 (頁(yè) Error! Not a valid link.) )。由于字段串 能包含任何 類型的組件 ,而且可以 為任何類型 定義內(nèi)表, 所以自定義 數(shù)據(jù)結(jié)構(gòu)可 能變得非常 復(fù)雜。結(jié)構(gòu)化數(shù)據(jù) 類型示例下列是 ABAP/4 中結(jié)構(gòu)化數(shù) 據(jù)類型的示 例a)由一 系列基本數(shù) 據(jù)類型組成 的字段串( 平鋪結(jié)構(gòu), 僅“水平” )b)為基 本字段定義 的內(nèi)表(基 本數(shù)據(jù)類型 的動(dòng)態(tài)排列 ,僅“垂直 ”)c)為簡(jiǎn) 單字段串定 義的內(nèi)表( 帶有行和列 的表)d)包含 子結(jié)構(gòu)的結(jié) 構(gòu)(嵌套結(jié) 構(gòu))e)結(jié)構(gòu) ,該結(jié)構(gòu)包
23、 含內(nèi)表作為 組件(垂直 結(jié)構(gòu))f)為包 含結(jié)構(gòu)化組 件的字段串 定義的內(nèi)表 (垂直行類 型的表)g)為字 段串定義的 內(nèi)表,該字 段串包含內(nèi) 表作為組件 set Z_057page page 數(shù)據(jù)類型的 兼容性使用數(shù)據(jù)時(shí) ,有時(shí)需要 將數(shù)據(jù)從一 種類型轉(zhuǎn)換 到另一種類 型。要作到 這一點(diǎn),數(shù) 據(jù)類型必須 是可轉(zhuǎn)換的 (參見(jiàn) 類型轉(zhuǎn)換 (頁(yè) LINK Word.Document.6 C:LINBCAB4BC08E.DOP z_012page a tError! Not a valid link.) )。可轉(zhuǎn)換 性的一個(gè)重 要前提就是 兼容性。如果兩個(gè)數(shù) 據(jù)類型具有 相同的技術(shù) 屬性,則它 們是
24、兼容的 。不同 ABAP/4 數(shù)據(jù)類型的 后果如下:基本數(shù)據(jù)類 型如果在類型 、大小和( 對(duì)于類型 P)小數(shù)位 等方面是相 同的,則基 本數(shù)據(jù)類型 和其它基本 數(shù)據(jù)類型是 兼容的?;緮?shù)據(jù)類 型與結(jié)構(gòu)化 數(shù)據(jù)類型相 互之間不兼 容。結(jié)構(gòu)化數(shù)據(jù) 類型對(duì)于結(jié)構(gòu)化 數(shù)據(jù)類型, 必須區(qū)分字 段串和內(nèi)表 。字段串如果字段串 的結(jié)構(gòu)相同 而且組件兼 容,則字段 串與其他字 段串兼容。 這意味著從 基本字段構(gòu) 造字段串, 以便從子結(jié) 構(gòu)形成整個(gè) 結(jié)構(gòu)的方式 必須相同, 而且它們的 基本組件必 須相互兼容 。如果兩個(gè) 字段串由順 序相同的基 本字段組成 ,但這些字 段組合成不 同的子結(jié)構(gòu) ,則字段串 不兼容。
25、字段串與基 本數(shù)據(jù)類型 和內(nèi)表不兼 容。內(nèi)表如果行類型 兼容,則內(nèi) 表與其他內(nèi) 表兼容。內(nèi) 表的兼容性 不取決于行 數(shù)。內(nèi)表與字段 串和基本數(shù) 據(jù)類型不兼 容。在上述情況 下,由于在 ABAP/4 程序運(yùn)行期 間出現(xiàn)的每 個(gè)數(shù)據(jù)類型 是完全確定 的(例如, 數(shù)據(jù)類型 C 的長(zhǎng)度總是 已定義并已 知的),所 以數(shù)據(jù)類型 之間的兼容 性總是涉及 到已完全指 定的數(shù)據(jù)類 型。該兼容 性是對(duì)稱的 。在形式參數(shù) 和字段符號(hào) 鍵入的方面 ,使用有點(diǎn) 不同的、非 對(duì)稱的兼容 性(參見(jiàn)LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC11E.DOC z
26、_022 a t鍵入形式參數(shù) 和 LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC12E.DOC z_013 a t鍵入字段符號(hào))。 set Z_036page page 數(shù)據(jù)對(duì)象在 ABAP/4 中,可以使 用幾種數(shù)據(jù) 對(duì)象,如下 所示: 內(nèi)部數(shù)據(jù) 對(duì)象創(chuàng)建內(nèi)部數(shù) 據(jù)對(duì)象供在 特定的程序 中使用。在 該程序之外 無(wú)效。內(nèi)部 數(shù)據(jù)對(duì)象包 括: 外部數(shù)據(jù) 對(duì)象外部數(shù)據(jù)對(duì) 象獨(dú)立于程 序。不能直 接使用外部 數(shù)據(jù)對(duì)象, 但能將其復(fù) 制到內(nèi)部數(shù) 據(jù)對(duì)象,并 在完成后將 它們回寫(xiě)。 可以在整個(gè) 系統(tǒng)環(huán)境中 全局使用外 部數(shù)據(jù)對(duì)象 。ABAP/
27、4 將外部數(shù)據(jù) 對(duì)象保存在 ABAP/4 詞典中定義 的表中。要 從程序內(nèi)部 訪問(wèn)該數(shù)據(jù) ,請(qǐng)用 TABLES 語(yǔ)句(參見(jiàn) TABLES 語(yǔ)句 (頁(yè) REF z_033page ) )在程序中 聲明該表。 系統(tǒng)定義 的數(shù)據(jù)對(duì)象除用戶定義 的數(shù)據(jù)對(duì)象 外,還有一 些數(shù)據(jù)對(duì)象 由系統(tǒng)自動(dòng) 定義。 特殊數(shù)據(jù) 對(duì)象ABAP/4 還包括一些 具有特殊特 征的數(shù)據(jù)對(duì) 象,即:-參數(shù)參數(shù)是鏈接 到選擇屏幕 的變量。參 數(shù)可以在程 序啟動(dòng)后接 受數(shù)值。-選擇標(biāo) 準(zhǔn)選擇標(biāo)準(zhǔn)是 用于指定數(shù) 值范圍的特 殊內(nèi)表。它 們也與選擇 屏幕相鏈接 。關(guān)于這些數(shù) 據(jù)對(duì)象及其 聲明的詳細(xì) 信息,參見(jiàn)LINK Word.Docu
28、ment.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC18E.DOC z_001 a t使用選擇屏幕。 set Z_038page page 文字文字是固定 值。ABAP/4 區(qū)分文本文 字和數(shù)字文 字。文本文字文本文字是 單引號(hào)內(nèi)的 字母數(shù)字字 符序列。Antony Smith69190 Walldorf文本文字最 長(zhǎng)可達(dá) 254 個(gè)字符。如 果某文本文 字包含引號(hào) ,必須重復(fù) 引號(hào),以使 系統(tǒng)能夠?qū)?內(nèi)容識(shí)別為 文本文字而 不是文字的 結(jié)尾。WRITE: / This is Johns bicycle.該語(yǔ)句生成 下列輸出:This is Johns bicycl
29、e要確保程序 仍易于維護(hù) 并且獨(dú)立于 語(yǔ)言,請(qǐng)勿 在程序的最 終版本中顯 式地使用文 本文字。而 應(yīng)將其外部 地定義為文 本符號(hào)。文 本符號(hào)是 ABAP/4 文字基本概 念的一部分 。關(guān)于這方 面的詳細(xì)信 息,以及關(guān) 于如何創(chuàng)建 和使用文本 符號(hào)的詳細(xì) 信息,參見(jiàn) 處理文本摘要 (頁(yè) LINK Word.Document.6 C:LINBCAB4BC07E.DOP z_001page a tError! Not a valid link.) 。數(shù)字文字?jǐn)?shù)字文字是 可能包含前 導(dǎo)符號(hào)的數(shù) 字序列???包含多達(dá) 15 個(gè)數(shù)字。123-93 +456如果需要非 整型數(shù)值或 較長(zhǎng)的數(shù)字 ,則必須使 用
30、文本文字 ,該文本文 字自動(dòng)轉(zhuǎn)換 到正確的類 型。(詳細(xì) 信息,參見(jiàn) 類型轉(zhuǎn)換 (頁(yè) LINK Word.Document.6 C:LINBCAB4BC08E.DOP z_012page a tError! Not a valid link.) )。12345678901234567890+0.58498-8473.67同樣,請(qǐng)使 用文本文字 表示浮點(diǎn)數(shù) 值。必須按 照下列格式 :E-12.34567-765E-041234E5+12E+23+12.3E-41E160 set Z_003page page 變量xe 變量xe 數(shù)據(jù)對(duì)象, 變量變量用于以 一定名稱按 一定格式保 存并參考數(shù) 據(jù)。
31、變量可 能在下列方 面不同 名稱 類型 長(zhǎng)度 結(jié)構(gòu)可以利用 DATA 語(yǔ)句在程序 中聲明變量 (參見(jiàn) DATA 語(yǔ)句 (頁(yè) REF z_030page ) )。DATA: S1 TYPE I, S2 TYPE I, SUM TYPE I.SUM = S1 + S2. set Z_039page page 常量xe 常數(shù)xe 數(shù)據(jù)對(duì)象, 常數(shù)常量是包含 值的數(shù)據(jù)對(duì) 象,該值是 在初始化時(shí) 確定的。在 程序執(zhí)行期 間不能更改 常量。在程序中利 用 常量 語(yǔ)句聲明常 量(參見(jiàn) CONSTANTS 語(yǔ)句 (頁(yè) REF z_031page ) )。如果試 圖在程序的 其它地方更 改常量,在 語(yǔ)法檢查或
32、運(yùn)行期間, 系統(tǒng)將輸出 錯(cuò)誤消息。也可以在 ABAP/4 詞典的類型 組中聲明常 量(參見(jiàn) 使用類型組 (頁(yè) REF z_061page ) )。如果在程序 中頻繁地需 要某特殊數(shù) 值,請(qǐng)使用 常量。在這 種情況下, 請(qǐng)勿使用文 字。如果需 要修改該值 ,只須更改 聲明。CONSTANTS PI TYPE P DECIMALS 10 VALUE 3.1415926536. set Z_040page page 系統(tǒng)定義的 數(shù)據(jù)對(duì)象啟動(dòng) ABAP/4 程序時(shí),一 些數(shù)據(jù)對(duì)象 自動(dòng)可用而 無(wú)需聲明。 系統(tǒng)定義的 數(shù)據(jù)對(duì)象包 括: SPACE數(shù)據(jù)對(duì)象 SPACE 是類型 C 的常量。長(zhǎng) 為一個(gè)字符
33、并包含空格 。由于 SPACE 是常量,所 以不能更改 。 系統(tǒng)字段所有系統(tǒng)字 段都有格式 為 SY- 的名稱,其 中 指定單個(gè)字 段。若要在 ABAP/4 編輯器中顯 示可用系統(tǒng) 字段的列表 ,請(qǐng)?jiān)诿?行中鍵入“ SHOW SY”(請(qǐng) 選擇“編輯 - 其它功能 - 命令輸入” )。該列表 還包括系統(tǒng) 字段的數(shù)據(jù) 類型。下面是系統(tǒng) 字段示例: SY-SUBRC返 回代碼值( 0,如果操 作成功) SY-UNAME用 戶的登錄名 SY-DATUM當(dāng) 前日期 SY-UZEIT當(dāng) 前時(shí)間 SY-TCODE當(dāng) 前事務(wù)系統(tǒng)字段是 變量并且可 以由程序更 改。但是, SAP 不建議這樣 做,因?yàn)樵?繼續(xù)
34、執(zhí)行程 序時(shí),將失 去保存在這 些字段中的 信息。 set Z_037page page 創(chuàng)建數(shù)據(jù)對(duì) 象和數(shù)據(jù)類 型本節(jié)說(shuō)明如 何在程序中 創(chuàng)建數(shù)據(jù)對(duì) 象和數(shù)據(jù)類 型。除文字 外,還必須 利用聲明語(yǔ) 句聲明每個(gè) 數(shù)據(jù)對(duì)象。在聲明語(yǔ)句 中,必須指 定所有數(shù)據(jù) 對(duì)象的數(shù)據(jù) 類型。要做 到這一點(diǎn), 可以使用 數(shù)據(jù)類型 (頁(yè) REF z_024page ) 中說(shuō)明的任 何數(shù)據(jù)類型 。在聲明語(yǔ)句 中定義對(duì)象 的數(shù)據(jù)類型 ,有下列方 式之一 直接地, 使用 .TYPE 間接地, 使用 LIKE 對(duì)下面列出 的大多數(shù)數(shù) 據(jù)聲明語(yǔ)句 ,TYPE 和 LIKE 是可選的附 加項(xiàng)。利用 TYPE 選項(xiàng),可以 直接
35、將數(shù)據(jù) 類型 分配給已聲 明的數(shù)據(jù)對(duì) 象。利用 LIKE 選項(xiàng),可以 將另一個(gè)數(shù) 據(jù)對(duì)象 的數(shù)據(jù)類型 分配給已聲 明的數(shù)據(jù)對(duì) 象。這意味 著間接引用 數(shù)據(jù)類型。對(duì)數(shù)據(jù)對(duì)象 和數(shù)據(jù)類型 有獨(dú)立的名 稱空間。這 意味著一個(gè) 名稱既可以 是數(shù)據(jù)類型 名,同時(shí)又 可以是數(shù)據(jù) 對(duì)象名。在程序中, 可以使用數(shù) 據(jù)聲明語(yǔ)句 靜態(tài)地定義 數(shù)據(jù)對(duì)象, 或者利用操 作語(yǔ)句動(dòng)態(tài) 地創(chuàng)建數(shù)據(jù) 對(duì)象。ABAP/4 包括下列用 于靜態(tài)地創(chuàng) 建數(shù)據(jù)對(duì)象 和數(shù)據(jù)類型 的關(guān)鍵字:DATA 語(yǔ)句 (頁(yè) REF z_030page ) 用于創(chuàng)建變 量CONSTANTS 語(yǔ)句 (頁(yè) REF z_031page ) 用于創(chuàng)建 常量ST
36、ATICS 語(yǔ)句 (頁(yè) REF z_032page ) 用于創(chuàng) 建變量,這 些變量在程 序運(yùn)行期間 一直存在, 但僅在過(guò)程 中可見(jiàn)TABLES 語(yǔ)句 (頁(yè) REF z_033page ) 用于 創(chuàng)建表工作 區(qū)TYPES 語(yǔ)句 (頁(yè) REF z_029page ) 用于創(chuàng)建 用戶定義的 數(shù)據(jù)類型在 內(nèi)表環(huán)境中 ,可以使用 操作語(yǔ)句 APPEND、 COLLECT 和 INSERT 以動(dòng)態(tài)地創(chuàng) 建內(nèi)表的行 (參見(jiàn) 填充內(nèi)表 (頁(yè) Error! Not a valid link.) )。在選擇屏幕 環(huán)境中,可 以使用附加 語(yǔ)句 PARAMETERS 和 SELECT-OPTIONS 以創(chuàng)建帶特 殊功
37、能的數(shù) 據(jù)對(duì)象(參 見(jiàn) LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC18E.DOC z_001 a t使用選擇屏幕)。 set Z_030page page DATA 語(yǔ)句使用 DATA 語(yǔ)句定義局 部和全局變 量。關(guān)于局 部和全局變 量間區(qū)別的 詳細(xì)信息, 參見(jiàn)LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC11E.DOC z_004 a t在調(diào)用程序和子系統(tǒng)之間傳遞數(shù)據(jù)。DATA 語(yǔ)句有一個(gè) 基本格式和 三個(gè)主要變 式,如下所 示: 用于字段 串的 DATA 語(yǔ)句 用
38、于內(nèi)表 的 DATA 語(yǔ)句 用于公用 內(nèi)存塊的 DATA 語(yǔ)句。下列內(nèi)容說(shuō) 明 DATA 語(yǔ)句的基本 格式下列內(nèi)容說(shuō) 明用于字段 串的 DATA 語(yǔ)句由于內(nèi)表性 質(zhì)的復(fù)雜性 ,將用一個(gè) 獨(dú)立章節(jié)來(lái) 說(shuō)明該主題 。關(guān)于定義 內(nèi)表的詳細(xì) 信息,參見(jiàn) 創(chuàng)建和處理內(nèi)表 (頁(yè) Error! Not a valid link.) 。由于聲明用 于幾個(gè)程序 的公用內(nèi)存 塊與外部子 程序有關(guān), 所以將在涉 及子程序的 章節(jié)中解釋 該主題(參 見(jiàn) LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC11E.DOC z_010 a t聲明數(shù)據(jù)作為通用部分)。
39、 set Z_041page page DATA 語(yǔ)句的基本 格式可以在程序 中使用 DATA 語(yǔ)句的基本 格式以定義 內(nèi)部變量。 語(yǔ)法如下:語(yǔ)法DATA () .基本格式中 ,關(guān)鍵字 DATA 有下列參數(shù) :參數(shù)用途命名變量 (頁(yè) REF z_053page ) 指定變量的 數(shù)據(jù)類型和 長(zhǎng)度 (頁(yè) REF z_054page ) 指定初始值 (頁(yè) REF z_055page ) 指定小數(shù)位 數(shù) (頁(yè) REF z_056page ) set Z_053page page 命名變量變量名 最長(zhǎng)可達(dá) 30 個(gè)字符。除 下面列出的 這些字符外 ,可以使用 任何字母數(shù) 字字符。 請(qǐng)勿使用 下列字符-加
40、號(hào) +-句點(diǎn) .-逗號(hào) ,-冒號(hào) : -圓括號(hào) ( ) 請(qǐng)勿創(chuàng)建 完全由數(shù)字 字符組成的 名稱ABAP/4 包含具有保 留名(不允 許使用這些 保留名)的 預(yù)定義數(shù)據(jù) 對(duì)象(參見(jiàn) 系統(tǒng)定義的 數(shù)據(jù)對(duì)象 (頁(yè) REF z_040page ) )。另外, 如果變量名 與引導(dǎo)語(yǔ)句 的關(guān)鍵字的 參數(shù)相混淆 ,則請(qǐng)勿在 語(yǔ)句中使用 該變量名。書(shū)寫(xiě) DATA 語(yǔ)句時(shí),請(qǐng) 遵循這些指 南: 使用不要 求附加說(shuō)明 的有意義的 字段名。 因?yàn)檫B字 符指示字段 串,所以不 要使用連字 符(參見(jiàn) 用于字段串 的 DATA 語(yǔ)句 (頁(yè) REF z_042page ) )。 使用下劃 線以分離長(zhǎng) 名稱。 避免所有 其它
41、特殊字 符。 始終使用 字母作為字 段名的第一 個(gè)字符。無(wú)需說(shuō)明的 字段名示例 :GROUP_TOTALACCOUNT_NOFOREIGN_CURRENCYBANK_CODE set Z_054page page 指定變量的 數(shù)據(jù)類型和 長(zhǎng)度要指定數(shù)據(jù) 類型,請(qǐng)使 用 參數(shù)。可以 使用下列任 一形式創(chuàng)建 參數(shù): TYPE LIKE TYPE 參數(shù)利用 TYPE 參數(shù),可以 指定預(yù)定義 數(shù)據(jù)類型或 用戶定義的 數(shù)據(jù)類型( 參見(jiàn) 數(shù)據(jù)類型 (頁(yè) REF z_024page ) )。語(yǔ)法如 下:語(yǔ)法DATA () TYPE .通過(guò)在 中指定所需 的長(zhǎng)度,可 以為一些基 本數(shù)據(jù)類型 定義長(zhǎng)度。 但僅對(duì)
42、字段 類型 C、P、N 和 X 才是可能的 。關(guān)于默認(rèn) 值和有效值 ,參見(jiàn) 基本數(shù)據(jù)類 型 - 預(yù)定義的 (頁(yè) REF z_027page ) 中的表。利用 TYPE 參數(shù)指定數(shù) 據(jù)類型示例 :DATA: NUMBER TYPE P, DATE TYPE D, HEXADECIMALFIELD TYPE X, COUNT TYPE I, LINE(72) TYPE C.LIKE 參數(shù)利用 LIKE 參數(shù),可以 將已定義數(shù) 據(jù)對(duì)象的數(shù) 據(jù)類型分配 給變量。語(yǔ) 法如下:語(yǔ)法DATA LIKE .使用 LIKE 參數(shù)時(shí),按 照與數(shù)據(jù)對(duì) 象 完全相同的 類型和結(jié)構(gòu) 創(chuàng)建字段 ??蓪⑷魏螖?shù) 據(jù)對(duì)象用于
43、。利 用 LIKE 參數(shù),可以 引用在 ABAP/4 詞典中聲明 的數(shù)據(jù)對(duì)象 的數(shù)據(jù)類型 。DATA NUMBER_1 TYPE P.DATA NUMBER_2 LIKE NUMBER_1.DATA MYNAME LIKE SY-UNAME.示例中,用 與數(shù)據(jù)對(duì)象 NUMBER_1 相同的數(shù)據(jù) 類型聲明數(shù) 據(jù)對(duì)象 NUMBER_2 。數(shù)據(jù)對(duì)象 MYNAME 與系統(tǒng)定義 的數(shù)據(jù)對(duì)象 SY-UNAME 具有相同的 數(shù)據(jù)類型。LIKE 參數(shù)常用于 附屬字段以 臨時(shí)保存數(shù) 據(jù)庫(kù)字段的 內(nèi)容。該機(jī) 制可以避免 由于鍵入錯(cuò) 誤,或更改 數(shù)據(jù)庫(kù)字段 的定義而引 起的無(wú)意的 差異。例如 ,如果更改 數(shù)據(jù)庫(kù)字段
44、 的屬性,則 系統(tǒng)自動(dòng)改 寫(xiě)備份字段 的屬性。DATA PLANE LIKE SFLIGHT-PLANETYPE.該語(yǔ)句創(chuàng)建 與 ABAP/4 詞典字段 SFLIGHT-PLANETYPE 具有相同屬 性、名為 PLANE 的數(shù)據(jù)對(duì)象 。PLANETYPE 是數(shù)據(jù)庫(kù)表 SFLIGHT 的一列。要?jiǎng)?chuàng)建與現(xiàn) 有內(nèi)表的行 具有相同數(shù) 據(jù)類型的數(shù) 據(jù)對(duì)象 ,請(qǐng) 使用 LIKE 參數(shù),如下 所示:語(yǔ)法DATA LIKE LINE OF .在這種情況 下, 必須是作為 內(nèi)表創(chuàng)建的 數(shù)據(jù)對(duì)象( 參見(jiàn)創(chuàng)建內(nèi)表數(shù)據(jù)對(duì)象 (頁(yè) Error! Not a valid link.) )。類型和長(zhǎng)度 的默認(rèn)值如果未在
45、DATA 語(yǔ)句中指定 參數(shù) 和 , 則創(chuàng)建長(zhǎng)度 為 1 的字符字段 (類型 C)。如果 指定長(zhǎng)度, 但未指定類 型,則創(chuàng)建 給定長(zhǎng)度的 字符字段。DATA TEXTFIELD.示例創(chuàng)建長(zhǎng) 度為 1 的字符字段 TEXTFIELD。 set Z_055page page 指定初始值利用 DATA 語(yǔ)句聲明內(nèi) 部變量時(shí), 將隱式地給 字段分配初 始值。關(guān)于 不同數(shù)據(jù)類 型初始值的 詳細(xì)信息, 參見(jiàn) 基本數(shù)據(jù)類 型 - 預(yù)定義的 (頁(yè) REF z_027page ) 中的表。要更改字段 的初始值, 請(qǐng)使用 DATA 語(yǔ)句的 參數(shù)。語(yǔ)法 如下:語(yǔ)法DATA VALUE .將字段 的初始值設(shè) 為 , 其
46、中 可以是 文字(參 見(jiàn) 文字 (頁(yè) REF z_038page ) ) 常量(參 見(jiàn) 常量 (頁(yè) REF z_039page ) ) 顯式的附 加項(xiàng) IS INITIAL初始值規(guī)格 示例:DATA: COUNTER TYPE P VALUE 1, DATE TYPE D VALUE 19920601, FLAG TYPE C VALUE IS INITIAL.聲明該數(shù)據(jù) 以后,字符 串 FLAG 包含其默認(rèn) 初始值 SPACE。 set Z_056page page 指定小數(shù)位 數(shù)xe 十進(jìn)制xe 數(shù)據(jù)對(duì)象, 十進(jìn)制數(shù)字要定義類型 P 字段的小數(shù) 位數(shù),請(qǐng)使 用 參數(shù)。語(yǔ)法 如下:語(yǔ)法DAT
47、A TYPE P DECIMALS 小數(shù)位數(shù) 的最大值是 14(參見(jiàn) 數(shù)字?jǐn)?shù)據(jù)類 型 (頁(yè) REF z_043page ) )??梢詫?shù)據(jù) 對(duì)象分配給 壓縮碼類型 變量,而該 數(shù)據(jù)對(duì)象具 有比變量更 多的小數(shù)位 。如果已將 程序?qū)傩灾?定為“定點(diǎn) 運(yùn)算”(參 見(jiàn) 指定程序?qū)傩?(頁(yè) LINK Word.Document.6 C:LINBCAB4BC03E.DOP z_005page a tError! Not a valid link.) ),則將多 余的位數(shù)進(jìn) 行四舍五入 。DATA WEIGHT TYPE P DECIMALS 2 VALUE 1.225.如果將屬性 設(shè)置為“定 點(diǎn)運(yùn)算”,
48、 則 WEIGHT的 值為 1.23。 set Z_042page page 用于字段串 的 DATA 語(yǔ)句字段串是程 序中的一組 內(nèi)表。要聲 明字段串, 請(qǐng)使用 DATA 語(yǔ)句并用 BEGIN OF 和 END OF 標(biāo)記該字段 組的起始和 結(jié)束。語(yǔ)法 如下:語(yǔ)法DATA: BEGIN OF , , END OF .這些語(yǔ)句定 義了字段串 。在 中,通過(guò)指 定長(zhǎng)度、類 型和初始值 或小數(shù)位數(shù) (如果需要 ),可以如 DATA 語(yǔ)句的基本 格式 (頁(yè) REF z_041page ) 中說(shuō)明的那 樣聲明組件 字段。通過(guò)將字段 串名作為前 綴,并用連 字符將字段 串和組件連 接起來(lái):-, 可以定址
49、字 段串中的各 個(gè)組件。字段串的組 件可以有不 同的數(shù)據(jù)類 型。由于類 型 I 或 F 的字段是對(duì) 齊的(參見(jiàn) 對(duì)齊數(shù)據(jù)對(duì)象 (頁(yè) LINK Word.Document.6 C:LINBCAB4BC08E.DOP z_070page a tError! Not a valid link.) ),所以如 果需要,系 統(tǒng)將在組件 之間插入空 填充字段。 有時(shí)也將字 段串稱為記 錄或結(jié)構(gòu)。DATA: BEGIN OF ADDRESS, NAME(20) TYPE C, STREET(20) TYPE C, NUMBER TYPE P, POSTCODE(5) TYPE N, CITY(20) TYP
50、E C, END OF ADDRESS.該示例定義 了一個(gè)長(zhǎng)度 為 73 的字段串 ADDRESS。 可以通過(guò) ADDRESS-NAME、 ADDRESS-STREET 等定址組件 ??梢詫㈤L(zhǎng)字 段串的聲明 收集在包括 程序中(參 見(jiàn) LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC11E.DOC z_013 a t包含程序 )。但是, 如果頻繁使 用該數(shù)據(jù)結(jié) 構(gòu),則最好 將它們保存 在 ABAP/4 詞典中。關(guān) 于該主題的 詳細(xì)信息, 參見(jiàn)文檔 ABAP/4 詞典 (頁(yè) Error! Not a valid link.) 。 set
51、 Z_031page page CONSTANTS 語(yǔ)句如果在程序 中頻繁使用 某常量,可 以利用 常量 語(yǔ)句,將其 聲明為具有 固定值的變 量,如下所 示:語(yǔ)法CONSTANTS .要將字段串 定義為常量 ,請(qǐng)寫(xiě):CONSTANTS: BEGIN OF , , END OF .這些語(yǔ)句的 參數(shù)與 DATA 語(yǔ)句的基本 格式 (頁(yè) REF z_041page ) 和 用于字段串 的 DATA 語(yǔ)句 (頁(yè) REF z_042page ) 中說(shuō)明的 DATA 語(yǔ)句的參數(shù) 相同。有關(guān) 說(shuō)明請(qǐng)參閱 這些主題。對(duì)于 常量 語(yǔ)句必須使 用 參數(shù),而在 DATA 語(yǔ)句中該參 數(shù)是可選的 。利用 參數(shù)指定的
52、初始值,在 程序的執(zhí)行 期間不能更 改。CONSTANTS: MYNAME(10) VALUE Fred, BIRTHDAY TYPE D VALUE 19600110, ZERO TYPE I VALUE IS INITIAL.示例的最后 一行說(shuō)明了 變量 IS INITIAL 的用途。由 于對(duì)于 常量 語(yǔ)句,參數(shù) VALUE 是必須的, 所以可以使 用 IS INITIAL 給常量分配 默認(rèn)值。CONSTANTS: BEGIN OF MYADDRESS, NAME(20) TYPE C VALUE Fred Flintstone, STREET(20) TYPE C VALUE Cave
53、Avenue, NUMBER TYPE P VALUE 11, POSTCODE(5) TYPE N VALUE 98765, CITY(20) TYPE C VALUE Bedrock, END OF MYADDRESS.該示例定義 了常量字段 串 MYADDRESS。 可以利用 MYADDRESS-NAME、 MYADDRESS-STREET 等定址組件 ,但不能更 改組件。 set Z_032page page STATICS 語(yǔ)句如果要在過(guò) 程(子程序 或功能模塊 - 詳細(xì)信息, 參見(jiàn) LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCA
54、B4BC11E.DOC z_001 a t模塊化 ABAP/4 程序)的運(yùn)行時(shí) 間之外仍保 留某變量的 數(shù)值,可以 在該過(guò)程中 利用 STATICS 語(yǔ)句定義該 變量。STATICS 語(yǔ)句是 DATA 語(yǔ)句的變異 。語(yǔ)法如下 :語(yǔ)法STATICS .要在過(guò)程中 將字段串定 義為靜態(tài)有 效,請(qǐng)寫(xiě):STATICS: BEGIN OF , , END OF .這些語(yǔ)句的 參數(shù)與 DATA 語(yǔ)句的基本 格式 (頁(yè) REF z_041page ) 和 用于字段串 的 DATA 語(yǔ)句 (頁(yè) REF z_042page ) 中說(shuō)明的 DATA 語(yǔ)句的參數(shù) 相同。有關(guān) 說(shuō)明請(qǐng)參閱 這些主題。如果在程序 中多次
55、調(diào)用 某過(guò)程,對(duì) 于利用 STATICS 定義的變量 ,過(guò)程總是 使用該變量 的最新值。 不能從過(guò)程 外部定址靜 態(tài)變量。 set Z_033page page TABLES 語(yǔ)句利用 TABLES 語(yǔ)句,可以 創(chuàng)建稱為表 工作區(qū)的數(shù) 據(jù)對(duì)象。表 工作區(qū)是參 考 ABAP/4 詞典對(duì)象的 字段串。語(yǔ) 法如下:語(yǔ)法:TABLES . 是 ABAP/4 詞典對(duì)象的 名稱,同時(shí) 也是創(chuàng)建的 表工作區(qū)的 名稱。表工 作區(qū)組件的 順序和名稱 與在 ABAP/4 詞典中聲明 的對(duì)象相同 ??梢砸玫?有效 ABAP/4 詞典對(duì)象是 結(jié)構(gòu)(參 見(jiàn)文檔 ABAP/4 詞典 (頁(yè) Error! Not a va
56、lid link.) ) 視圖(參 見(jiàn)文檔 ABAP/4 詞典 (頁(yè) Error! Not a valid link.) ) 數(shù)據(jù)庫(kù)表 (參見(jiàn) LINK Word.Document.6 BOYSPUBLICDOKU30DBCENGLISHBCAB4BC13E.DOC z_000 a t讀取和處理數(shù)據(jù)表)要在 ABAP/4 詞典中創(chuàng)建 對(duì)象,請(qǐng)?jiān)?R/3 初始屏幕上 ,選擇工具 - ABAP/4 工作臺(tái) - 開(kāi)發(fā) - ABAP/4 詞典。表工作區(qū)提 供一個(gè)接口 ,通過(guò)該接 口可以將數(shù) 據(jù)從數(shù)據(jù)庫(kù) 表加載到程 序,或利用 開(kāi)放式 SQL 語(yǔ)句修改數(shù) 據(jù)庫(kù)表的內(nèi) 容(參見(jiàn) 讀取并處理數(shù)據(jù)庫(kù)表 (頁(yè)
57、LINK Word.Document.6 C:LINBCAB4BC13E.DOP z_000page a tError! Not a valid link.) )。要顯示表的 組件及其數(shù) 據(jù)類型的列 表,請(qǐng)?jiān)?ABAP/4 編輯器的命 令行中(選 擇“編輯 - 其它功能 - 命令輸入” )鍵入“SHOW ” 。ABAP/4 詞典對(duì)象的 數(shù)據(jù)類型與 ABAP/4 類型概念的 數(shù)據(jù)類型不 同。關(guān)于 ABAP/4 詞典數(shù)據(jù)類 型的列表, 以及它們?cè)?ABAP/4 程序中與數(shù) 據(jù)類型如何 對(duì)應(yīng)的詳細(xì) 信息,請(qǐng)參 閱 TABLES 語(yǔ)句的關(guān)鍵 字文檔。要定址表工 作區(qū)的組件 ,可以將表 名作為前綴 ,然
58、后用連 字符添加組 件:- (參見(jiàn) 用于字段串 的 DATA 語(yǔ)句 (頁(yè) REF z_042page ) )。TABLES: SPFLI.SELECT * FROM SPFLI. WRITE: SPFLI-MANDT, SPFLI-CARRID, SPFLI-CONNID, ENDSELECT.示例中,TABLES 語(yǔ)句創(chuàng)建表 工作區(qū) SPFLI。 SPFLI 與 ABAP/4 詞典中聲明 的數(shù)據(jù)庫(kù)表 SPFLI 結(jié)構(gòu)相同。 在 SELECT 循環(huán)中,用 屬于數(shù)據(jù)庫(kù) 表 SPFLI 的行填充表 工作區(qū) SPFLI( 參見(jiàn) LINK Word.Document.6 BOYSPUBLICDOKU3
59、0DBCENGLISHBCAB4BC13E.DOC z_000 a t讀取并處理數(shù)據(jù)表)。 set Z_029page page TYPES 語(yǔ)句xe 創(chuàng)建數(shù)據(jù)類型xe 類型xe 數(shù)據(jù)類型, 創(chuàng)建可以使用 TYPES 語(yǔ)句創(chuàng)建用 戶定義的基 本數(shù)據(jù)類型 和結(jié)構(gòu)化數(shù) 據(jù)類型。對(duì)由 TYPES 語(yǔ)句定義的 數(shù)據(jù)類型, 可以按與使 用預(yù)定義數(shù) 據(jù)類型聲明 數(shù)據(jù)對(duì)象相 同的方法進(jìn) 行使用。語(yǔ) 法如下:語(yǔ)法TYPES .該語(yǔ)句定義 數(shù)據(jù)類型 。要定義結(jié)構(gòu) 化數(shù)據(jù)類型 ,請(qǐng)寫(xiě):TYPES: BEGIN OF , , END OF .這些語(yǔ)句的 參數(shù)與 DATA 語(yǔ)句的基本 格式 (頁(yè) REF z_041p
60、age ) 和 用于字段串 的 DATA 語(yǔ)句 (頁(yè) REF z_042page ) 中所說(shuō)明的 DATA 語(yǔ)句的參數(shù) 相同。有關(guān) 說(shuō)明請(qǐng)參閱 這些主題。由于沒(méi)有與 數(shù)據(jù)類型相 關(guān)聯(lián)的內(nèi)存 ,所以無(wú)法 在 TYPES 語(yǔ)句中使用 參數(shù)。因此 ,不能給數(shù) 據(jù)類型分配 值。TYPES: SURNAME(20) TYPE C, BEGIN OF ADDRESS, NAME TYPE SURNAME, END OF ADDRESS.DATA: ADDRESS_1 TYPE ADDRESS, ADDRESS_2 TYPE ADDRESS, 示例說(shuō)明如 何使用參數(shù) TYPE 直接引用用 戶定義的數(shù) 據(jù)類型
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年項(xiàng)目利潤(rùn)分配協(xié)議
- 2024年采沙場(chǎng)工人勞動(dòng)合同2篇
- 2024幼兒園幼兒教育項(xiàng)目合作協(xié)議3篇
- 2024年環(huán)保要求土建工程合同示范文本3篇
- 2025年度數(shù)字經(jīng)濟(jì)股權(quán)優(yōu)化與產(chǎn)業(yè)生態(tài)構(gòu)建協(xié)議3篇
- 2024年酒類產(chǎn)品原料供應(yīng)合同
- 2024版區(qū)塊鏈技術(shù)應(yīng)用合同
- 2024版租賃投資回報(bào)保證協(xié)議3篇
- 2024年鐵路貨運(yùn)運(yùn)輸工程居間服務(wù)協(xié)議3篇
- 2024年綠色施工環(huán)保合同:建設(shè)工程版
- 2025新北師大版英語(yǔ)七年級(jí)下單詞表
- 校長(zhǎng)在2024-2025年秋季第一學(xué)期期末教師大會(huì)上的講話
- 班級(jí)管理方法及措施
- 2024年道路運(yùn)輸安全生產(chǎn)管理制度樣本(3篇)
- DB11-T 693-2024 施工現(xiàn)場(chǎng)臨建房屋應(yīng)用技術(shù)標(biāo)準(zhǔn)
- 2024年北京市家庭教育需求及發(fā)展趨勢(shì)白皮書(shū)
- 股權(quán)原值證明-文書(shū)模板
- 中國(guó)近代史綱要中國(guó)計(jì)量大學(xué)現(xiàn)代科技學(xué)院練習(xí)題復(fù)習(xí)資料
- 2024-2025學(xué)年上學(xué)期重慶四年級(jí)英語(yǔ)期末培優(yōu)卷3
- 浙江省杭州市八縣區(qū)2024-2025學(xué)年高二數(shù)學(xué)上學(xué)期期末學(xué)業(yè)水平測(cè)試試題
- 拆機(jī)移機(jī)合同范例
評(píng)論
0/150
提交評(píng)論