バッチインプットできないSAPのトランザクションコードまとめ

バッチインプットできないSAPのトランザクションコードまとめ

SAPシステムにデータを一括登録できる「バッチインプット」。

バッチインプットとは、SAP GUI の画面操作をSAPシステムが自動的に行い、データ登録を行う、RPAのような仕組みである

バッチインプットでデータを一括登録できるツールには、三井金属ユアソフト社の「汎用バッチインプット」、三菱電機インフォメーションシステムズ社の「MALSY」などが知られている。

しかし、バッチインプットできないトランザクションコード(T-CD)が存在する。

本記事は、バッチインプットできないトランザクションコードと、バッチインプットの代替手段を備忘としてまとめておく。

スクロールする画面

受注伝票登録(VA01)の受注伝票明細や発注伝票登録(ME21N)の発注伝票明細など、表形式の「明細一覧」を持つ画面において、縦横のスクロールは不可避である。

しかし、「スクロール」の操作をバッチインプットはサポートしていない。T-CD:SHDBなどのトランザクションレコーダでスクロール操作をしても、スクロールの画面操作は記録されない。それは次のSAP Noteに書かれている。

SAP Note

376808 - バッチインプット: 明細一覧でスクロールできない (No scrolling in item list in batch input)

つまり、UIがテーブル形式で、スクロール操作が必要なT-CDは、バッチインプットできない

ただし、明細の行番号を指定してジャンプするなど、スクロールせずに明細内を移動できるT-CDなら、画面操作を記録できるので、バッチインプット可能である。

Enjoyトランザクション

「Enjoy」とは、1990年代後半に導入されたGUI(グラフィカルユーザーインターフェース)で、それまでの SAP R/3 のGUIをよりユーザーフレンドリーにする目的で開発された。それまでのGUIにはなかった、ドラッグ&ドロップ機能、詳細なアイコン、ユーザによる画面レイアウトのカスタマイズなどが特徴である。

しかし、Enjoyトランザクションは、バッチインプットと互換性がない

以下のMMモジュールのトランザクションは、バッチインプットできない。SAP Note 381630 より。

SAP Note

381630 - MM の Enjoy トランザクションのバッチインプットを使用できない (Batch input for Enjoy transaction in MM not possible)

  • 購買管理
    • ME21N: 購買発注登録
    • ME51N: 購買依頼登録
  • サービス
    • ML81N: サービス入力シート
  • 在庫管理
    • MIGO: 入庫 購買発注
  • 請求書照合
    • MIRO: 請求書登録
    • MIR7: 請求書保留
    • MIRA: 請求書登録

以下の SAP Note にも同様の記載がある。

SAP Note

217437 - ME21N/ME51N: バッチインプットと CATT を実行できない  (ME21N/ME51N: Batch input and CATT not possible)

304122 - MIGO: バッチインプットと CATT がサポートされない (MIGO Batch input and CATT not supported

381593 - MIRO/MIR7/MIRA:バッチインプットできない (MIRO/MIR7/MIRA: Batch Input is not possible)

上記のNoteには記載されていないが、G/L勘定伝票入力の FB50、未転機G/L伝票入力の FV50 もEnjoyトランザクションなので、バッチインプット不可である。

FB50の代替手段は、標準プログラム RFBIBL00 を使用するか、汎用モジュール BAPI_ACC_DOCUMENT_POST を使用する。

VA01(受注伝票登録)

VA01(受注伝票登録)はバッチインプットに向いていない(できないことはないが)。

受注明細を1件しか登録しない単純な伝票登録であれば、バッチインプットは可能である。

しかし、次のSAP Noteにあるように、バッチインプットできない画面操作がある。

SAP Note

381636 - バッチインプット VA01 でテキストがコピーされないNo transfer of texts during batch input VA01)

代替手段として、汎用モジュール BAPI_SALESORDER_CREATEFROMDAT2 を使用する。

MALSYはバッチインプットだけでなく、BAPI/RFCもサポートしているので、ABAP言語でアドオンを開発しなくても、Excelからの一括データ登録が可能である。

支払振替プログラム

SAP Note 361464 によれば、技術上の理由から支払振替 (CJFN) のバッチインプットはサポートされない。

SAP Note

361464 - (FI) バッチインプットでの CJFN: 更新されない ( (FI) CJFN via batch input: No update)

代替手段として、標準プログラム RFFMS300 を使用するとある。

S/4HANAで廃止されたトランザクション

MB1A(在庫出庫)やMB1B(在庫移動)など、「MB」で始まる「MBトランザクション」は、S/4HANAでは廃止されている

SAP Note

1804812 - MB トランザクション: 限定保全/廃止 (MB transactions: Limited maintenance/decommissioning)

左記の SAP Note によれば、廃止されたトランザクションは以下。これらのトランザクションは、MIGOに置き換わると書かれている。

MB01、MB02、MB03、MB04、MB05、MB0A、MB11、MB1A、MB1B、MB1C、MB31、MBNL、MBRL、MBSF、MBSL、MBSL、MBST、MBSU

MBトランザクション自体はバッチインプット可能だが、S/4HANAでは廃止されているため、バッチインプットしようにもできない。

MBトランザクションの代わりのトランザクションは MIGO だが、MIGO は Enjoyトランザクション のため、バッチインプットできない

代替手段として、汎用モジュール BAPI_GOODSMVT_CREATE を使用する。

MALSYはバッチインプット以外に BAPI(RFC接続)の呼び出しをサポートしており、ABAP言語でアドオン開発しなくても、BAPI_GOODSMVT_CREATE を呼び出してExcelからデータを一括登録することが可能だ。

上記の通り、MBトランザクションは種類が多い。そんなMBトランザクションが消滅し、且つバッチインプットできないとなると、影響は甚大だ。

旧SAP ERPからS/4HANAへのコンバージョンにおいては、最も検討すべきポイントだろう。

ユーザーインターフェースが複雑なトランザクション

統合ワークベンチ(SE80)、ニューカスタマイザ(SE41)、ロール管理(PFCG)など。

これらは一例だが、ユーザーインターフェースが複雑で、画面操作をパターン化しにくい。そのため、バッチインプットできない。

こういったトランザクションは開発者向けで、エンドユーザは使用しないため、MBトランザクションほどの影響は受けないと考えられる。

SAP GUIに依存するトランザクション

CO11N(作業完了確認)は、UIがテーブル形式ではないため、一見するとバッチインプットできそうに見える。実際、バッチインプットできるのだが、SAP GUI 経由という条件付きとなる。バックグラウンドプロセスとしては実行できない。

要するに、SAP GUIをインストールしていない、サーバサイドでの実行ができないトランザクションなのだ。

SAP GUI (SAP GUI for Windows)をインストールしたクライアントPCからなら、バッチインプット可能である。

ただし、画面下にあるテキスト欄は、バッチインプットレコードしても認識されないため、バッチインプットによるテキストの入力はできない。

CO11N の旧T-CDである、CO11 ならバッチインプット可能だ。

また、CO11Nに相当する汎用モジュールは BAPI_PRODORDCONF_CREATE_TT である。こちらの方が、CO11/CO11Nよりも汎用性が高く、テキストの入力も可能である。

汎用モジュールがブロックされているトランザクション

S/4HANAで VA06(受注伝票モニター) を実行すると、ショートダンプ SYSTEM_ABAP_ACCESS_DENIED が発生するか、メッセージ

トランザクションVA06はサポートされていません(SAPノート2228098を参照)

がポップアップする。

この原因は、VA06 が呼び出している汎用モジュールが、S/4HANAとは互換性がなく、ブロックされているためである。

解決策は、Fioriアプリ "受注フルフィルメント問題" を使うように、とのこと。次のSAP Noteより。

SAP Note

2456442 - VA06 によるショートダンプ SYSTEM_ABAP_ACCESS_DENIED (VA06 giving shortdump SYSTEM_ABAP_ACCESS_DENIED)

ブロックされている汎用モジュールを調査する方法は、次の記事を参照。

汎用モジュールのブラックリスト|使用禁止の汎用モジュールを調べる

まとめ

バッチインプットできないトランザクションコード(T-CD)を紹介した。

バッチインプットは、SAPシステムの黎明期の頃からサポートされており、RPAが存在しなかった時代から、RPAのように画面プログラムを自動操作する手段として利用されてきた。SAPシステムにおける標準的なデータ登録手法として、今も多くの場所で利用されている。

ユアソフトMALSYなどの市販のツールと組み合わせれば、アドオンを開発しなくても、Excelからデータ一括登録を行うことが可能だ。

一方、SAP GUI という古くからあるUIに依存するため、次世代のUIである Fioriには対応していない。そして、SAP社は今後S/4HANAに実装する新機能は、Fioriを標準UIにする方針である。したがって、バッチインプットが使えるトランザクションやS/4HANAの機能は、今後は減少していくと予想される。

SAPシステムを長く使い続けるためには、BAPI/RFC や WebAPI(OData)など、バッチインプットに代わるデータ一括登録の方法を検討しておくことが重要だろう。

【関連記事】

旧SAP ERPのT-CDに対応する、S/4HANAのT-CDは? T-CDの新旧を調査する方法

トランザクションコード(T-CD)の新旧を調べる方法

生成AIに、SAP機能の新旧の調査をさせることができる。ChatGPTGoogle Gemini で使える、生成AI用プロンプトはこちら

生成AI用プロンプト|SAP機能の新旧比較調査

生成AIプロンプト:トランザクションコードと同じ機能の汎用モジュール(BAPI)を探す

S/4HANAになると、汎用モジュールも使えないものがある! 使用を制限されている汎用モジュールを調べる方法

汎用モジュールのブラックリスト|使用禁止の汎用モジュールを調べる

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です