スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

汎用M 変更履歴伝票読込

CHANGEDOCUMENT_READ

概要

伝票やマスタなどの変更伝票(変更履歴)を取得する汎用モジュールです。検索条件にマッチする変更伝票データを全て取得することができます。

パラメータ

主なパラメータは、オブジェクトクラスとオブジェクトIDです。その他にも変更したユーザのIDや期間などの条件で抽出することができます。
パラメータ一覧
種別パラメータ説明
インポートARCHIVE_HANDLEオープンアーカイブファイルのハンドル
CHANGENUMBER書類番号の変更
DATE_OF_CHANGE検索用の開始変更日付
OBJECTCLASSオブジェクトクラス
OBJECTIDオブジェクトID
TABLEKEYオブジェクトクラステーブルキー
TABLENAMEオブジェクトクラステーブル名
TIME_OF_CHANGE検索用の開始変更時刻
USERNAME最終変更者
LOCAL_TIMEローカル/システム時刻(タイムゾーン関連)
TIME_ZONELOCAL_TIME = Xの時:タイムゾーン
TABLEKEY254CDPOSのテーブルキー
KEYGUIDオブジェクトクラステーブル名
DATE_UNTIL変更日付(この日付まで検索を希望)
TIME_UNTIL変更時刻(この時刻まで検索を希望)
KEYGUID_STR文字型書式のUUID
READ_CHANGEDOCUアーカイブ読込のフラグ
エクスポートET_CDRED_STR構造CDRED_STRのテーブルデータ型
テーブルEDITPOS編集済変更伝票明細を含むテーブル
例外NO_POSITION_FOUND項目登録なし
WRONG_ACCESS_TO_ARCHIVEアーカイブの不正アクセス
TIME_ZONE_CONVERSION_ERRORローカル時刻->システム時刻の変換エラー

インポートパラメータを設定する

オブジェクトクラスは必須です。オブジェクトIDを設定することで特定の伝票やマスタの変更履歴のみ取得することができます。オブジェクトクラスは販売伝票の場合は「VERKBELEG」、購買伝票の場合は「EINKBELEG」、得意先マスタは「DEBI」、仕入先マスタは「KRED」などオブジェクトの種類に応じて設定します。
設定例:インポートパラメータ
項目項目名称設定値
OBJECTCLASSオブジェクトクラスVERKBELEG
OBJECTIDオブジェクトID0000002345

エクスポートパラメータ

抽出条件にマッチするデータが存在した場合、編集済変更伝票明細を含むテーブル(EDITPOS)に抽出結果が格納されます。このテーブルには変更伝票ヘッダと明細が結合した状態で格納されます。
設定例:EDITPOS
項目項目名称設定値(1)設定値(2)
OBJECTID対象値00000023450000002345
USERNAME変更伝票番号1012310123
USERNAME変更伝票のユーザ名USR01USR01
UDATE変更伝票の登録日付2015/02/012015/02/01
TCODEトランザクションコードVA02VA02
TABNAME変更伝票登録テーブル名VBAPVBAP
TABKEY変更テーブルレコードキー12300000023450000101230000002345000020
FNAME項目名ARKTXARKTX
F_OLD変更前の項目内容品目A品目B
F_NEW変更後の項目内容品目A1品目B1

サンプルコード

販売伝票について指定した伝票番号の変更伝票データを取得する例です。変更履歴データがある場合はEDITPOSに取得データが格納されます。
DATA: LV_OBJECTCLASS TYPE CDHDR-OBJECTCLAS,
      LV_OBJECTID    TYPE CDHDR-OBJECTID,
      LT_CDRED_STR   TYPE CDRED_STR_TAB,
      LT_EDITPOS     TYPE TABLES OF CDRED.

* パラメータに値を設定する
LV_OBJECTCLASS = 'VERKBELEG'.  " オブジェクトクラス
LV_OBJECTID    = '0000001234'. " オブジェクトID

CALL FUNCTION 'CHANGEDOCUMENT_READ'
  EXPORTING
    OBJECTCLASS                = LV_OBJECTCLASS
    OBJECTID                   = LV_OBJECTID
  IMPORTING
    ET_CDRED_STR               = LT_CDRED_STR
  TABLES
    EDITPOS                    = LT_EDITPOS
  EXCEPTIONS
    NO_POSITION_FOUND          = 1
    WRONG_ACCESS_TO_ARCHIVE    = 2
    TIME_ZONE_CONVERSION_ERROR = 3
    OTHERS                     = 4
  .

* エラーの場合
IF SY-SUBRC <> 0.
*  エラー処理
ELSE.
*  正常処理
ENDIF.

コメントの投稿

非公開コメント

プロフィール

Z*

Author:Z*

このブログではSAPの技術情報について解説をしていきます。

このブログを気に入って頂いた方は、リンクを張っていただけると嬉しいです。

カテゴリ
最新記事
最新コメント
月別アーカイブ
検索フォーム
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。