コンテンツにスキップ

SAP ECC / S/4HANAからのアドホック抽出

すでにわかっている情報(テーブル名、トランザクションコード、保存済みのSAPクエリ)から出発して、SAP ECCまたはS/4HANAからデータを自分で取り出します。検索でオブジェクトを選び、その項目や選択画面を確認し、実際の行をプレビューし、プランをチェックしてから、結果をテーブルに格納するワークフローステップを保存します。

SAP抽出ステップ検索 · プレビュー · プランPlaidLinkエージェントネットワーク内SAP ECC / S/4HANAPlaidCloud SAPパッケージSAPがRFCユーザーをチェック行ターゲットテーブル
すべての抽出は、PlaidLinkエージェントとPlaidCloud SAPパッケージを通じて、接続上のRFCユーザーとして、SAP自身の権限チェックのもとで実行されます。
  • SAPシステムにネットワークアクセスできるPlaidLinkエージェント。 PlaidLinkのインストールを参照してください。
  • SAP ECC / S/4HANAインスタンス接続。 SAP ECCおよびS/4HANAコネクタを参照してください。その接続のSAPユーザーが、すべての抽出を実行するRFCユーザーです。
  • SAPにインストールされたPlaidCloud SAPパッケージ。 SAP Basisチームが、SAPシステムごとに1回インストールします。
  • 抽出するオブジェクトに対する RFCユーザーのSAP権限。SAP権限を参照してください。

3つのステップはすべて、ワークフローのステップメニューの SAP にあります。

ステップ 用途
SAP: アドホック抽出 SAPテーブルを全件または増分で読み取ります。
SAP: トランザクション/レポートの実行 トランザクションコードまたはABAPレポートプログラムを実行し、その結果を格納します。
SAP: クエリの実行 (SQ01) 保存済みのSAPクエリを実行し、その結果を格納します。

すべてのステップは、同じ3つのフィールド(エージェント、SAP接続、結果用の ターゲットテーブル)から始まります。

エージェントと接続を選択すると、ステップの検索で、一致するSAPオブジェクト(ステップに応じて テーブル、トランザクション、クエリ)が一覧表示されます。名前、トランザクションコード、または説明の語句を入力します。SAPの * ワイルドカードを使用できます。SAPが提供しないオブジェクトも、理由とともにグレーアウトされた状態で表示されます。

テーブルを選ぶと、その項目が説明とともに一覧表示され、キー項目が自動入力されます。トランザクション、レポート、クエリを選ぶと、そのオブジェクトに対してSAP自身が定義した項目から作成された選択画面が フィルター タブに表示されます。テーブルやプログラムの内部の知識は不要です。

SAP: アドホック抽出 を使用します。

  1. SAP抽出 タブで、テーブルを検索して選択します。

  2. RFC読み取り関数 を入力します。これは、Basisチームがインストールした、PlaidCloud SAPパッケージのテーブル読み取り関数です。

  3. キー列 を確認します。PlaidCloudは、SAPのデータディクショナリから、クライアント項目を除いたテーブルの主キーを入力します。それらがまさに主キーであることを確認するチェックボックスをオンにしてください。SAPは、それ以外の列の組み合わせを拒否します。

  4. 絞り込みフィルター タブで、フィルターを追加します。既知の列をクリックして行を追加し、含める または 除外 を選択し、演算子(等しい、等しくない、より大きい、以上、より小さい、以下、範囲内、範囲外、パターンを含む、パターンを含まない)を選び、値ヘルプを使ってSAPから有効な値を直接選択します。同じ列に複数の行を追加すると、いずれかの値に一致する行が対象になり、範囲内 または 範囲外 には範囲を追加します。大きなSAPテーブルには、日付範囲や会社コードなど、少なくとも1つのフィルターが必要です。

  5. 実行のたびに新規および変更された行だけを読み取るには、増分 タブを設定します。増分テーブル抽出を参照してください。

  6. 可視性と定義 タブで、制御対象の列 を設定します。制御対象の列を参照してください。

通貨キーが同じテーブルにある CURR 金額列は、真の値で格納されます。PlaidCloudは各金額を通貨の小数桁数に応じてシフトするため、日本円の金額は円単位で格納されます。通貨キーのない金額列はSAPが保存しているとおりに格納され、実行時にその列名を示す警告が報告されます。

SAPクライアント(mandt) と スライスサイズ は任意です。クライアントを空白のままにすると、接続のデフォルトのクライアントが使用されます。

トランザクションまたはレポートを実行する

Section titled “トランザクションまたはレポートを実行する”

SAP: トランザクション/レポートの実行 を使用します。

  1. SAP実行 タブで、トランザクションを検索して選択するか、Report/Program にレポートプログラム名を入力して 選択画面を検索 をクリックします。どちらか一方を選びます。

  2. フィルター タブで、選択画面に入力します。フォームは、トランザクションまたはレポート自体のSAP選択画面から作成されます。空白のフィールドは、そのフィールドについてフィルターなしで実行されます。

    保存済みのSAPバリアントから始めるには、SAPバリアントから開始 から選択します。PlaidCloudはバリアントの保存済みの値でフィルターフォームを入力し、バリアント自身の値のうち引き継げなかったものをフォームの横に一覧表示します。それらについては、SAPがレポート自身のデフォルトを使用します。別のバリアントを選ぶとフォームの値が置き換えられます。その後でフィールドを編集しても、選択済みとして表示されるバリアントは変わりません。

  3. 最大行数 を設定します。デフォルトは10,000で、最大50,000です。いずれの場合もSAPはトランザクションまたはレポート全体を実行し、上限はPlaidCloudが読み戻す行数を制限します。

  4. 実行時間の長いレポートでは、Run as a background job をオンにし、必要に応じて ジョブ名(非同期のみ) を指定します。

  5. 可視性と定義 タブで、制御対象の列 を設定します。

対話型の入力、ポップアップ、画面が必要なレポートは、無人では実行できません。SAPが拒否し、何も格納されず、ステップはSAPからの理由を報告します。そのようなレポートは、代わりにSAP GUIで実行してください。

SAP: クエリの実行 (SQ01) を使用します。

  1. SAP実行 タブで、クエリを検索して選択します。クエリを選ぶと、ワークスペース、ユーザーグループ、クエリ名 が入力されます。ワークスペース を選び、ユーザーグループ と クエリ名 を直接入力することもできます。

  2. フィルター タブで、クエリ自身の選択画面に入力します。これは、作成者がSQ01で設定したものと同じパラメーターとselect-optionsです。空白のフィールドは、そのフィールドについてフィルターなしで実行されます。

  3. 最大行数 を設定します。デフォルトは10,000で、最大50,000です。

  4. 可視性と定義 タブで、制御対象の列 を設定します。

ワークスペース、ユーザーグループ、クエリ名 を変更すると、別のクエリ用に作成されたフィルターフォームはクリアされます。切り替えた後は、選択画面をもう一度検索してください。

すべてのSAP抽出ステップには、制御対象の列 が必要です。これは、ステップが格納する列のうちの1つで、たとえば会社コードの BUKRS などです。これがないとステップは保存できず、その列が格納される列に含まれていない場合、実行では行が1件も格納されません。

各ステップの 事前チェック グループには3つのボタンがあります。どれも、ステップの保存を妨げません。

ボタン 表示される内容
プレビュー サンプル行。テーブルのプレビューでは、先頭の行を直接読み取ります。トランザクション、レポート、クエリの場合、プレビューはSAP内で100行を上限とする別のサンプルとして実行されるため、フォームが先に確認を求めます。何も格納されません。
プラン 抽出の実行方法(キー列、行数の見積もり、SAPに送信される選択条件)と、抽出を妨げる可能性のあるすべての事項。プランが拒否されると、構成を変更するか、新しいプランが問題なく返されるまで、作成して実行 と 保存して実行 は無効になります。ステップは引き続き保存できます。
SAP権限が必要です オブジェクトに必要なSAP権限。Basisチームと共有するためのものです。この一覧は参考情報です。

RFCユーザーには、SAP内の場合とまったく同じように、SAP標準の権限チェックが適用されます。

抽出 権限
テーブル S_TABU_NAM または S_TABU_DIS の表示、アクティビティ 03
トランザクション S_TCODE
レポート レポートの権限グループに対する S_PROGRAM SUBMIT

権限が不足していると、SAPの権限なしエラーと、上記の付与を一覧表示した対処方法とともに、実行が失敗します。PlaidCloudは独自の権限チェックを追加せず、SAP権限が必要です の一覧に基づいてステップをブロックすることもありません。

SAP: アドホック抽出 の 増分 タブで、Run incrementally をオンにして、ウォーターマーク列 を入力します。次のいずれかである必要があります。

  • 日付列(SAP型 DATS)
  • UTCタイムスタンプ列(SAP型 TZNTSTMPS または TZNTSTMPL)

SAP型 UTCL のタイムスタンプ列はサポートされておらず、ウォーターマーク列を絞り込みフィルターの列として兼用することもできません。

最初の実行ではテーブル全体を読み取ります。以降の実行では、最後のウォーターマークから ルックバック を差し引いた時点以降の行だけを読み取り、それらをキー列でマージします。ウォーターマークは、実行全体の格納が完了した後にのみ進みます。SAPの終了日が未設定を表す日付 99991231 がウォーターマークになることはありません。実行日より1日を超えて先の日付は、ウォーターマークを実行日に留め、タイムスタンプは実行の開始時刻より先にウォーターマークを進めることはありません。

SAP: アドホック抽出 は、SAPのデータディクショナリにある実際の型で、すべての列を格納します。

SAP型 格納形式
日付(DATS) 日付。空白、初期値、無効な日付は空(NULL)として格納されます。無効な日付があると、ステップは警告付きで終了します。
金額、数量、小数(CURR / QUAN / DEC) 厳密な小数。金額の通貨キー列が同じテーブルにあり、かつ抽出に含まれている場合、PlaidCloudは金額を通貨の真の小数桁数にシフトします。そうでない場合は、SAPが保存しているとおりに格納されます。小数点以下が10桁を超える、整数部が28桁を超える、または小数桁数が宣言されていない小数は、代わりにテキストとして格納され、ステップはその列名を示す警告付きで終了します。
整数 整数。
浮動小数点(FLTP) 倍精度浮動小数点数。
10進浮動小数点(DF16_* / DF34_*) 厳密なテキスト。
短いUTCタイムスタンプ(TZNTSTMPS) タイムスタンプ(秒単位)。
長いUTCタイムスタンプ(TZNTSTMPL、UTCL) 2026-01-03T10:15:00.123456Z のようなUTCのISOテキスト。タイムスタンプ列では失われてしまう小数部が保持されます。
時刻(TIMS)、コード(NUMC)、テキスト(CHAR) SAPが保存しているとおりのテキスト。先頭のゼロは保持されます。

列のSAP型が変更されると、抽出はテーブル全体を列の新しい型で置き換え、ステップはその列名を示す警告付きで終了します。増分抽出では、これが同じ実行内で行われます。その読み取りが完了しない場合、以降の実行は、成功するまで同じ警告とともにテーブル全体を読み取り続け、成功した時点で増分実行が再開されます。

SAP: トランザクション/レポートの実行 は、金額列を数値として格納し、それ以外のすべての列をテキストとして格納します。SAP: クエリの実行 (SQ01) は、金額、整数、日付の列をそれらの型で格納し、それ以外のすべての列をテキストとして格納します。必要な場合は、後続のステップで型を変換してください。

SAP: アドホック抽出 の1回の実行は、500万行を読み取るか、240分実行すると、処理中のスライスを完了した後で一時停止します。ステップは失敗ではなく警告付きで終了し、次の実行は行を失うことなく、中断した箇所から続行します。