READ_TEXTテキスト取得
概要
ロングテキストを取得する汎用モジュールです。伝票やマスタ等に登録したテキストは普通のSQLでは取得できないため、当汎用モジュールでデータを取得します。
パラメータ
読込テキストのオブジェクト(OBJECT)、テキストID(ID)、テキスト名(NAME)のパラメータがキー項目です。取得したテキストデータは読込テキスト行(LINES)に格納されます。
| 種別 | パラメータ | 説明 |
|---|---|---|
| インポート | CLIENT | クライアント |
| ID | 読込テキストのテキストID | |
| LANGUAGE | 読込テキストの言語 | |
| NAME | 読込テキスト名 | |
| OBJECT | 読込テキストのオブジェクト | |
| ARCHIVE_HANDLE | アーカイブハンドル | |
| LOCAL_CAT | ローカルテキストカタログ | |
| エクスポート | HEADER | 読込テキストのヘッダ |
| OLD_LINE_COUNTER | 行カウンタ | |
| テーブル | LINES | 読込テキスト行 |
| 例外 | ID | 無効なテキストID |
| LANGUAGE | 無効な言語 | |
| NAME | 無効なテキスト名 | |
| NOT_FOUND | テキストがありません | |
| OBJECT | 無効なテキストオブジェクト | |
| REFERENCE_CHECK | 参照チェーン中断 | |
| WRONG_ACCESS_TO_ARCHIVE | アーカイブハンドルへのアクセスが無効 |
インポートパラメータを設定する
読込テキストのオブジェクト(OBJECT)、テキストID(ID)、テキスト名(NAME)の設定は必須です。テキスト名にはテキストオブジェクトごとに決まっている伝票番号などの値を設定します。取得するテキストの言語もパラメータに指定する必要があります。| 項目 | 項目名称 | 設定値 |
|---|---|---|
| LANGUAGE | 読込テキストの言語 | J |
| OBJECT | テキストのオブジェクト | EKKO |
| ID | テキストID | F01 |
| NAME | 読込テキスト名 | 4500000001 |
サンプルコード
購買伝票のテキストの情報を取得する例です。取得したテキスト情報はLINESパラメータに格納されます。取得したテキストはSAP Script形式で格納されるため特殊文字はエスケープされた状態となります。DATA: LV_OBJECT TYPE THEAD-TDOBJECT,
LV_ID TYPE THEAD-TDID,
LV_NAME TYPE THEAD-TDNAME,
LS_HEADER TYPE THEAD,
LV_OLD_LINE_COUNTER TYPE THEAD-TDTXTLINES,
LT_LINES TYPE TABLE OF TLINE.
* パラメータに値を設定する
LV_OBJECT = 'EKKO'. " テキストオブジェクト
LV_ID = 'F01'. " テキストID
LV_NAME = '4500000001'. " テキスト名
CALL FUNCTION 'READ_TEXT'
EXPORTING
ID = LV_ID
LANGUAGE = SY-LANGU
NAME = LV_NAME
OBJECT = LV_OBJECT
IMPORTING
HEADER = LS_HEADER
OLD_LINE_COUNTER = LV_OLD_LINE_COUNTER
TABLES
LINES = LT_LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 6
OTHERS = 7
.
* エラーの場合
IF SY-SUBRC <> 0.
* エラー処理
ELSE.
* 正常処理
ENDIF.
* 内部コメントの取得
CALL FUNCTION 'READ_TEXT'
EXPORTING
CLIENT = SY-MANDT " 現在のクライアント
ID = C_ID_IVER " 【固定値】'IVER'
LANGUAGE = SY-LANGU " ログイン言語
NAME = L_WK_NAME " 品目コード
OBJECT = C_OB_MATERIAL " 【固定値】'MATERIAL'
TABLES
LINES = L_IT_LINES_CMMNT
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
NOT_FOUND = 4
OBJECT = 5
REFERENCE_CHECK = 6
WRONG_ACCESS_TO_ARCHIVE = 7
OTHERS = 8.
** 内部コメントの編集
IF SY-SUBRC = 0.
* 文字化け防止
CALL FUNCTION 'CONVERT_ITF_TO_STREAM_TEXT'
EXPORTING
LANGUAGE = SY-LANGU
TABLES
ITF_TEXT = L_IT_LINES_CMMNT
TEXT_STREAM = L_IT_LINES_CMMNT_EXT.
READ TABLE L_IT_LINES_CMMNT_EXT INDEX 1
INTO L_WA_LINES_CMMNT_EXT.
L_WK_CMMNT = L_WA_LINES_CMMNT_EXT-TDLINE.
ENDIF.

浙公网安备 33010602011771号