【SAP ABAP】基本構文:メッセージ、サブルーチン、プログラム呼出し、try-catch(MESSGE・PERFORM・SUBMIT・TRY-CATCH)

登場人物紹介

三崎レイナ
社会人1年目。新卒でITコンサルティングファームに就職。初配属がSAPプロジェクトにアサインされる。SAPがわからないことだらけで悩んでいたところ、会社の先輩にSAPラボの所長を紹介され、毎週末に所長とSAPのお勉強中!

博士
SAPラボの所長。SAP大好き博士!SAP導入プロジェクトを構想策定~運用保守まであらゆるフェーズを数多く経験。
いまは優しきおじいちゃんだが、プロマネバリバリの時代はかなり怖かったらしい。現在は引退しSAPの後進育成と啓蒙活動に従事中!
若者に負けぬようX(旧Twitter)も奮闘中。

この記事を読むメリット

  • ABAPプログラミングにおいて、MESSAGE命令・PERFORM命令・SUBMIT命令・TRY-CATCH構文の書き方を理解できるようになります。

これまでABAPの様々な構文を紹介してきましたが、ここではまとめてMESSAGE命令・PERFORM命令・SUBMIT命令・TRY-CATCH構文の使い方や書き方について解説していきます!

SAPフリーランスバンク SAPフリーランスバンク

新着のSAPフリーランス案件

【MM】

【PP】

【製造業S/4HANAマスタ移行支援(MM/PP)】東京・大崎(ハイブリッド)/要件検討・設計・開発/即日~長期

要スキル:

① シニアコンサルタント枠(2名募集)

  • SAP(S4)マスタの移行対応経験
  • SAP(S4) MM/PPモジュールの導入経験、特に品目マスタ、BOM(部品表)、作業手順マスタの移行経験(他ERPからの移行経験者優遇)
  • 高度なPowerPoint資料作成スキル(迅速性、正確性、デザイン性)

② ジュニアコンサルタント~システムエンジニア枠(4名募集)

  • SAP(S4)マスタの移行に関する基本設計から開発までの一連の経験
  • MM、PPいずれかのモジュール経験、およびABAP開発経験
  • Fiori開発経験があれば尚可
月額単価:
~1,050,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:

製造業における基幹システム刷新の一環として、既存ERPからSAP S/4HANAへ移行する新規導入プロジェクトです。 この重要なプロジェクトにおいて、MM/PP領域のマスタデータ移行に関する基本設計から実際の移行作業までを中心メンバーとして担当していただきます。

主な業務内容:

  • SAP S/4HANAへのマスタデータ(品目マスタ、BOM、作業手順マスタ等)移行対応
  • 既存ERPからのデータ抽出、変換、ロード計画の策定および実行支援
  • マスタデータ移行に関する基本設計、詳細設計
  • アドオンプログラムの開発(ABAP)、Fiori画面の開発(該当者の方)
  • 移行リハーサル、本番移行の実施および移行後のフォローアップ
  • 各種ドキュメント作成(設計書、手順書、報告書など)

【SD】

【食品メーカーS/4HANA導入支援(販売・物流)】東京・リモート併用/構想・要件定義/即日~長期

要スキル:
  • SAP導入プロジェクトにおけるリードまたはサブリードのご経験(M、SCクラス相当)
  • SAP販売・物流領域(特にSDモジュール)に関する深い業務知識およびシステム知見
  • SAP導入プロジェクトの構想策定・要件定義フェーズから参画したご経験
【尚可】
  • 食品製造業に関する業務知識またはシステム導入のご経験
月額単価:
~1,400,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:

食品プロセス系メーカーにおける基幹システム刷新の一環として、SAP S/4HANAを国内拠点に導入するプロジェクトです。 プロジェクトの初期段階である構想策定・要件定義フェーズから、販売・物流領域(SD中心、関連するMM、FI-AR等)の専門家として、新業務プロセスの設計とシステム要件の具体化をチームで推進していただきます。

主な業務内容:

  • SAP S/4HANA導入における販売・物流領域の構想策定支援
  • 現行業務プロセスの分析、課題抽出、および新業務フローの設計・提案
  • SAP標準機能をベースとしたシステム要件定義、Fit&Gap分析
  • プロトタイピングの計画および推進サポート
  • 関係部署(営業、物流、経理等)との連携、調整業務
  • 各種ドキュメント作成(構想書、要件定義書、議事録等)

【CO】

【FI】

【Y社SAP新規導入(会計アドオン開発)】東京・豊洲(リモート併用)/外部設計~テスト/即日~2025/12(延長可能性有)

要スキル:
  • SAP会計系アドオンの外部設計から開発、単体テストまでの一連の実務経験(SE兼PGとして)
  • 外部設計~単体テストまでの各種作業を自立して遂行できる能力
月額単価:
~1,000,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:

Y社のSAP新規導入プロジェクトにおいて、会計系アドオン機能の実現が重要な課題となっています。 本プロジェクトでは、外部設計書の作成から開発、単体テストに至るまでの一連の工程を担当頂く想定です。

主な業務内容:

  • SAP会計系アドオン(FI/COなど)に関する外部設計書の作成
  • 詳細設計、プログラム開発(ABAP等)
  • 単体テストの計画、実行、エビデンス作成
  • 結合テスト以降のサポート、不具合修正
  • 関連ドキュメントの作成および更新

【FI】

【精密機器S/4HANA導入(ABAP開発)】大阪・常駐/アドオン開発/2025/6~2025/11

要スキル:
  • ABAPでの開発実務経験
【尚可】
  • FI(財務会計)モジュールが関連するSAPプロジェクトでの開発経験
月額単価:
~800,000円 / 月
稼働場所:
大阪府
稼働率:
100%
作業内容:

精密機器企業におけるSAP S/4HANA新規導入に伴い、業務要件に合わせたアドオン機能の開発が多数発生しています。 本プロジェクトでは、これらアドオン機能の設計・開発・テストをABAP開発を担当していただきます。

主な業務内容:

  • SAP S/4HANA環境におけるアドオン機能のABAPプログラミング
  • 設計書に基づく開発、単体テストの実施、テスト仕様書作成
  • 既存プログラムの調査、改修(必要な場合)
  • 開発関連ドキュメントの作成および更新
  • チーム内での情報共有、連携

【CO】

【FI】

【MM】

【PP】

【SD】

【その他】

【S/4HANA導入(フルモジュール)テストリード】大阪・リモート併用/テスト計画・管理/即日~2027/8

要スキル:
  • SAP S/4HANA導入プロジェクトにおけるモジュールコンサルティング経験(5年以上目安)
  • テスト方針書、計画書の作成経験(結合テスト、インターフェイステスト、統合テスト、パフォーマンステスト等)
  • 上記テストの全体管理経験(進捗管理、不具合管理、課題管理)
【尚可】
  • SAP S/4HANA導入プロジェクトにおける要件定義から本番稼働までの支援経験
月額単価:
~1,500,000円 / 月
稼働場所:
大阪府
稼働率:
100%
作業内容:

SAP S/4HANAを基盤とした新生産調達システムの導入プロジェクトであり、SD/MM/PP/FI/CO/PSのフルモジュールが対象となります。 この大規模プロジェクトにおいて、テストフェーズ全体の品質と進捗を担保するため、テストリードとして計画から管理までを中心となって推進していただきます。

主な業務内容:

  • SAP S/4HANA導入プロジェクトにおけるテスト戦略の立案、テスト方針書・計画書の作成(結合テスト、インターフェイステスト、統合テスト、パフォーマンステスト等)
  • 各テストフェーズの準備、実行支援、および進捗管理
  • 不具合管理プロセスの策定・運用、課題管理および解決推進
  • テスト結果の分析、評価、および報告書作成
  • 関係部署やベンダーとの連携、調整業務

【CO】

【FI】

【MM】

【SD】

【SAP運用保守(FI/CO/SD/MM/CRM)】東京・リモート併用/問題解決・カスタマイズ等/2025/7~長期

要スキル:
  • SAPシステムにおける運用保守業務、またはそれに準ずる業務に従事したご経験
月額単価:
~800,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:

稼働中のSAPシステム(FI/CO, SD/MM, CRMなど)における日々の運用保守、およびユーザーサポートが主なミッションです。 業務部門からの問い合わせ対応やシステム課題の解決、既存ベンダーとの連携を通じて、システムの継続的な安定稼働と利用部門の業務効率維持を中心メンバーとして支援していただきます。

主な業務内容:

  • FI/CO、SD/MM、CRMモジュールに関するユーザーからの問い合わせ対応、調査、回答
  • システム障害発生時の一次切り分け、原因調査、恒久対策の検討・実施
  • 運用上の課題に対する改善提案、および簡単なカスタマイズの実施
  • 既存協力ベンダーとの連携、作業依頼、進捗管理
  • 各種ドキュメント(手順書、FAQなど)の作成、更新

【CO】

【FI】

【MM】

【PP】

【SD】

【SAP運用保守リーダー(得意モジュール担当)】フルリモート/チーム立ち上げ/即日~長期

要スキル:
  • 基幹システムの運用保守経験(SAP以外のシステム経験も可、モジュール不問)
  • 運用保守チームにおけるマネジメント経験
【尚可】
  • 運用保守チームの立ち上げに携わったご経験
  • SAP S/4HANA環境での実務経験
  • SAPの販売、購買、SCM、会計領域いずれかの業務知識またはシステム知見
月額単価:
~1,200,000円 / 月
稼働場所:
フルリモート
稼働率:
100%
作業内容:

SAP S/4HANA環境において、安定稼働を支える運用保守チームをゼロから立ち上げ、軌道に乗せていく重要なミッションです。これまでの知見を結集し、最適な運用体制の構築をリードしていただきます。

主な業務内容

  • SAP S/4HANAシステムの運用保守チームの立ち上げ、およびリーダー業務(ご経験や得意分野に応じたモジュールチームをお任せします)
  • 運用設計、プロセス構築、ドキュメンテーション整備
  • チームメンバーのマネジメント、育成サポート
  • システム障害対応、問い合わせ対応、定期メンテナンス計画・実行
  • 業務部門との連携、改善提案

【CO】

【FI】

【MM】

【PP】

【SD】

【S/4HANAデータ移行支援(計画・要件定義)】フルリモート/上流工程リード/即日~長期

要スキル:
  • 基幹システム刷新プロジェクトにおけるデータ移行の実務経験(計画、要件定義、調整、実行の各フェーズでのご経験)
  • 顧客や関連部署との折衝・調整に関する豊富なご経験
  • SAP S/4HANA環境での実務経験
【尚可】
  • SAPの販売、購買、SCM、会計領域いずれかの業務知識またはシステム知見
  • S/4HANAのデータ移行関連作業(対象定義、クレンジング、移行手順設計、移行ツール開発/テスト、移行リハーサル等)のご経験
月額単価:
~1,300,000円 / 月
稼働場所:
フルリモート
稼働率:
100%
作業内容:

SAP S/4HANAへのシステム刷新におけるデータ移行フェーズにおいて、計画策定から実行管理に至るまでの一連のプロセスを中心となって推進していただきます

主な業務内容:

  • SAP S/4HANA導入に向けたデータ移行計画の策定および見直し
  • データ移行に関する要件整理、課題の洗い出しと解決策の提示
  • ビジネス部門やIT部門、外部ベンダーなど、多数のステークホルダーとの調整業務
  • データ移行の実行管理、進捗管理、品質管理、リスク管理
  • 各種ドキュメント作成(計画書、設計書、報告書など)

【MM】

【SD】

【専門商社向けS/4HANA導入(SD/MM)】東京・品川/新規構築・要件定義/即日~長期 ※ジュニア可

要スキル:
  • SAP SD/MMモジュールのコンサルティング経験(ジュニアレベルも可)
  • アドオン機能の設計経験
  • SAP S/4HANA環境での実務経験または強い学習意欲
月額単価:
~1,000,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:

専門商社におけるビジネス拡大と経営基盤強化を目的とした、複数会社統合に伴う新規基幹システム導入プロジェクトです。

SAP S/4HANAを基盤とし、SD/MM領域を中心としたコンサルティング業務を中心メンバーとして推進していただきます。

主な業務内容:

  • SAP SD/MMモジュールに関する要件定義、Fit&Gap分析
  • アドオン機能の設計、開発チームとの連携
  • システム設定、テスト計画・実行支援
  • ユーザー部門や関連部署との調整、各種ドキュメント作成
  • S/4HANA導入に伴う各種コンサルティング業務

【MM】

【SD】

【商社向けS/4HANA導入・開発支援(ロジ領域 SD/MM)】東京/IF・帳票・アドオン/即日~長期

要スキル:
  • 基本設計書から詳細設計、そして単独での開発が可能な方
  • SAP SD/MMモジュールにおけるアドオン開発(IF、帳票等)の実務経験
  • ロジスティクス領域のカスタマイズ設定や標準機能に関する深い知識、および設計・アドオン開発経験
  • IDOCを利用した帳票出力に関する開発経験
  • クラス、ALVを用いた開発経験
  • S/4HANAの新しいSQL構文に対する学習意欲と適応力
【尚可】 ODataを利用した開発経験
月額単価:
~1,000,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
複数の企業が一つになる統合プロジェクト。その基幹システムをSAP S/4HANAで新たに構築します。 今回募集するのは、この大規模プロジェクトのロジスティクス領域(SD/MMがメイン)において、要件定義フェーズから参画いただき、主に以下の業務をご担当いただきます。 インターフェース(IF)、帳票、アドオン機能の開発
  • 基本設計書を深く理解し、詳細設計から単独での開発遂行までをお任せします。
  • SD/MMモジュールにおけるアドオン開発(IF、帳票など)が中心です。
  • IDOCを用いた帳票出力や、クラスベース、ALVでの開発経験を存分に活かせます。
  • S/4HANAの新しいSQL構文にも柔軟に対応し、スキルアップを目指せる環境です。
この記事のポイント

MESSAGE命令

メッセージは、プログラムからユーザーに情報を伝える重要な手段の一つです。主な使用場面として、以下が挙げられます。

  • ユーザーが無効な入力を行った際の通知
  • エラーや警告などの情報提供

メッセージクラスとは

メッセージを効率的に管理するために「メッセージクラス」が利用されます。これにより、複数のメッセージを一元管理し、システム全体で共有可能になります。

  • 特徴:
    • メッセージクラスには一意のIDが割り当てられます。
    • 1つのメッセージクラスには最大1,000件のメッセージを格納可能です。

メッセージの登録方法

  1. メッセージクラスの作成
    • T-CODE:SE91(メッセージメンテナンス)で新しいメッセージクラスを作成。
      SE91(メッセージクラスの登録)
  2. メッセージの登録
    • 必要なテキストを登録。プレースホルダ(例: &1, &2)を使って動的な内容も設定可能。
      SE91(メッセージの登録)

MESSAGE命令

プログラム内でMESSAGE命令を使ってメッセージを表示します。

基本の構文
 MESSAGE <メッセージタイプ> <メッセージ番号> <メッセージクラス>.

使用例
MESSAGE S001(ZMSG).  "ステータスメッセージを表示

このプログラムでは、メッセージクラスZMSGのメッセージ番号001を表示しています。タイプはステータス(S)です。

実行結果

以下がABAPプログラムを実行した際の画面下に出るメッセージ表示です。
ABAP、MESSEGE

メッセージタイプ一覧

上記で出てきたメッセージタイプの一覧を表にしました。MESSAGE命令を使う上では必須の知識なので動かして覚えていきましょう!

メッセージタイプ説明挙動
A強制終了処理が強制終了されます。
Eエラー選択画面での入力エラー時で使用した際、選択画面で誤った値を入力した場合にエラーが表示されます。再度選択画面に値を入力しなおし再実行可能です。
メイン処理(START-OF-SELECTION内)で使用すると処理が強制終了されます。
Iインフォメーション処理が中断されポップアップが表示されます。ENTER押下後に処理はそのまま続行されます。
Sステータス設定したメッセージが表示されるのみで処理に影響を与えません。
主に進行状況を表示させたり、処理が成功した旨のメッセージを表示する際に使用します。
W警告ユーザーに警告(黄色のビックリマーク)でメッセージが表示されますが、処理は続行可能です。
X例外(プログラム終了)ショートダンプされるため致命的なエラーが発生したことを通知したい時に使用します。T-CODE:ST22にてショートダンプ時の断面を確認することが可能です。
メッセージタイプ

オプション:DISPLAY LIKE

メッセージタイプに関係なく、指定したアイコンの表示をすることが可能です。
例えばメイン処理内でメッセージタイプ”E”の表示をさせたいが処理を止めたくない場合に、以下のようにメッセージタイプ”S”を指定しDISPLAY LINEに”E”設定することで解決します。

使用例
MESSAGE S002(ZMSG) DISPLAY LIKE 'E'.  " エラーアイコンを表示

このプログラムでは、ステータス(S)のメッセージをエラー(E)アイコンで表示します。

実行結果

以下がABAPプログラムを実行した際の画面下に出るメッセージ表示です。

ABAP、MESSEGE

オプション:WITH(プレースホルダへの値の挿入)

メッセージ内のプレースホルダに値を動的に挿入します。

使用例
MESSAGE E003(ZMSG) WITH '田中太郎' '管理者権限'.  " プレースホルダに変数値を挿入

このプログラムでは、登録したメッセージの&1に「田中太郎」、&2に「管理者権限」が挿入されます。

実行結果

ABAP、MESSEGE

PERFORM命令(FORM命令)

PERFORM命令(FORM命令)は「サブルーチン」や「関数」とも呼ばれ、プログラム内で共通処理としてまとめ、必要な場面で呼び出せる機能です。

  • 利点
    • 再利用性:同じ処理を複数箇所で活用可能
    • 構造化:プログラムを整理しやすくなる
    • 効率化:コードの重複を減らし、管理が容易に

サブルーチンの基本構造

サブルーチンはFORMブロックとして定義し、PERFORM命令で呼び出します。

基本の構文
●サブルーチンの定義
 FROM <サブルーチン名>.
  ” 実行する処理を記述
 ENDFROM.

●サブルーチンの呼び出し
 PEFROM <サブルーチン名>.

使用例
START-OF-SELECTION.
  PERFORM display_message.

FORM display_message.
  WRITE: / 'これはサブルーチンから出力されたメッセージです。'.
ENDFORM.

このプログラムでは、サブルーチンdisplay_messageを呼び出し、指定のメッセージを画面に出力します。

実行結果

ABAP、FORM

パラメータを使用したサブルーチン

サブルーチンでは引数を用いることで、処理を動的に変更できます。

  • USING: 呼び出し元から値を受け取るためのパラメータ。
  • CHANGING: 呼び出し元とサブルーチン間で値を共有するためのパラメータ。
  • テーブルパラメータ: 内部テーブルを渡す。

USINGパラメータの例

使用例
START-OF-SELECTION.
  PERFORM display_message USING 'こんにちは、世界!'.

FORM display_message USING text TYPE string.
  WRITE: / text.
ENDFORM.

このプログラムでは、サブルーチンに文字列「こんにちは、世界!」を渡し、画面に出力します。

実行結果

ABAP、FORM

CHANGINGパラメータの例

使用例
DATA: lv_number TYPE i VALUE 5.

START-OF-SELECTION.
  PERFORM double_number CHANGING lv_number.
  WRITE: / '結果:', lv_number.

FORM double_number CHANGING number TYPE i.
  number = number * 2.
ENDFORM.

このプログラムでは、CHANGINGパラメータを使い、数値を2倍にして結果を返します。

実行結果

ABAP、FORM

USINGとCHANGINGを組み合わせる

使用例
DATA: lv_base TYPE i VALUE 3,
      lv_result TYPE i.

START-OF-SELECTION.
  PERFORM calculate_power USING lv_base
                       CHANGING lv_result.
  WRITE: / '3の3乗は:', lv_result.

FORM calculate_power USING base TYPE i
                  CHANGING result TYPE i.
  result = base ** 3.
ENDFORM.

このプログラムでは、USINGで基数を渡し、CHANGINGで結果を呼び出し元に返しています。このサブルーチンは、渡された基数を3乗した結果を計算します。

実行結果

ABAP、FORM

サブルーチンを使う上での注意点

1、引数の型を明示する
引数の型をしっかり指定し、意図しないデータ型のエラーを防ぎます。

2、可読性を重視する
サブルーチンの名前や引数は、処理内容が明確にわかるように命名しましょう。

SUBMIT命令

SUBMIT命令は、ABAPプログラムから他のABAPプログラムを呼び出して実行するためのコマンドです。プログラム間でデータを連携したり、バッチ処理を実行する際に便利です。

基本の構文
 SUBMIT <プログラム名> [WITH <条件>] AND RETURN.

<プログラム名>: 実行するABAPプログラム名
WITH: 実行時に渡すパラメータを指定
AND RETURN: 呼び出し元のプログラムに戻る

パラメータを渡す

呼び出し先プログラムにパラメータを渡すことができます。

使用例

●呼び出し元プログラム(Z_CALL_PROGRAM)

REPORT z_call_program.

PARAMETERS: p_name TYPE string DEFAULT 'John'.

START-OF-SELECTION.
  " SUBMITで別プログラムを呼び出し
  SUBMIT z_target_program WITH p_name = p_name AND RETURN.

●呼び出し先プログラム(Z_TARGET_PROGRAM)

REPORT z_target_program.

PARAMETERS: p_name TYPE string.

START-OF-SELECTION.
  WRITE: / '呼び出し元から渡された名前:', p_name.

このプログラムでは、Z_CALL_PROGRAMがZ_TARGET_PROGRAMを呼び出し、パラメータp_nameを渡します。呼び出し先では、その値を受け取って画面に出力します。

実行結果

ABAP、サブミット、SUBMIT

データを連携する(内部テーブル)

SUBMITとスプーリングを組み合わせて、実行結果を取得できます。

使用例

●呼び出し元プログラム(Z_CALL_TABLE_PROGRAM)

REPORT z_call_table_program.

DATA: lt_list TYPE TABLE OF abaplist, " スプールデータを格納
      lt_output TYPE TABLE OF char10, " 実行結果を保持
      lv_text TYPE char10.

START-OF-SELECTION.
  " SUBMITでプログラムを呼び出し、スプールに出力
  SUBMIT z_target_table_program EXPORTING LIST TO MEMORY AND RETURN.

  " スプールリストを取得
  CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
      listobject = lt_list
    EXCEPTIONS
      others = 1.

  " スプールリストをテキスト形式に変換
  CALL FUNCTION 'LIST_TO_ASCI'
    TABLES
      listobject = lt_list
      listasci   = lt_output
    EXCEPTIONS
      others = 1.

  " 結果を表示
  LOOP AT lt_output INTO lv_text.
    WRITE: / lv_text.
  ENDLOOP.

●呼び出し先プログラム(Z_TARGET_TABLE_PROGRAM)

REPORT z_target_table_program.

DATA: lt_data TYPE TABLE OF char10.

START-OF-SELECTION.
  " サンプルデータ作成
  APPEND 'データ1' TO lt_data.
  APPEND 'データ2' TO lt_data.
  APPEND 'データ3' TO lt_data.

  " データを出力
  LOOP AT lt_data INTO DATA(lv_row).
    WRITE: / lv_row.
  ENDLOOP.

このプログラムでは、SUBMITを使用してZ_TARGET_TABLE_PROGRAMを呼び出し、結果をスプールに出力します。呼び出し元プログラムでスプールを取得し、テキスト形式に変換して表示します。Z_TARGET_TABLE_PROGRAMは内部テーブルlt_dataのデータを画面に出力するシンプルなプログラムです。

実行結果

ABAP、サブミット、SUBMIT

TRY-CATCH構文

TRY-CATCH構文は、プログラム内で発生する例外(エラー)をキャッチし、適切な処理を行うための仕組みです。たとえば、ファイル読み込み時にエラーが発生しても、ショートダンプを回避し、エラー内容をログに記録したり、代替処理を実行することが可能です。

基本の構文
 TRY.
  ” エラーが発生する可能性のある処理
 CATCH <例外クラス>.
  ” エラーが発生した際の処理
 ENDTRY.

TRY: エラーが発生する可能性のある処理を記述
CATCH: 発生したエラーをキャッチし、対応する処理を記述

    ※CATCHブロックを複数設けることで、異なる種類の例外を別々に処理が可能
ENDTRY: ブロックの終了

使用例
DATA: lv_result TYPE i.

TRY.
  lv_result = 10 / 0. " ゼロ除算でエラー発生
CATCH cx_sy_arithmetic_error.
  WRITE: / '計算エラーが発生しました。'.
ENDTRY.

このプログラムでは、ゼロ除算エラーをキャッチし、計算エラーの通知メッセージを表示します。

実行結果

ABAP、try-catch

例外クラスとは?

例外クラスは、ABAPで発生するエラーの種類を定義したクラスです。

SAPが提供する標準例外クラスの例:

  • cx_sy_arithmetic_error: 計算関連のエラー。
  • cx_sy_no_authority: 権限不足によるエラー。
  • cx_sy_open_sql_error: データベース関連のエラー。

まとめ

ABAPを用いたメッセージ、サブルーチン、プログラム呼出し、try-catchの基本構文の解説は以上です!

他の構文についても解説しているのでぜひ確認してみてくださいね!


Warning: file_get_contents(https://sap-career.com/freelancebank/jobs/feed/): Failed to open stream: HTTP request failed! HTTP/1.1 429 Too Many Requests in /home/saplab/sap-career.com/public_html/saplabo/wp-content/themes/swell_child/admin/article_list.php on line 70

Warning: Attempt to read property "channel" on bool in /home/saplab/sap-career.com/public_html/saplabo/wp-content/themes/swell_child/admin/article_list.php on line 72

新着のSAPフリーランス案件


Warning: Attempt to read property "item" on null in /home/saplab/sap-career.com/public_html/saplabo/wp-content/themes/swell_child/admin/article_list.php on line 82

Warning: foreach() argument must be of type array|object, null given in /home/saplab/sap-career.com/public_html/saplabo/wp-content/themes/swell_child/admin/article_list.php on line 82

★★★SAPラボのライター募集★★★

SAPラボでは、SAPの知識を活かして副業をしたい方を募集してるのじゃ!

SAPラボのライターの特徴

・ライティング初心者OK!
・報酬高単価!
・業務委託契約なので副業として最適!

SAP記事執筆者としての活動実績として利用可能なので、転職時や案件探しの際に企業へのアピール材料にもなります。

募集要項

・SAP導入や運用保守プロジェクトへの参画経験1年以上

ご応募/お問合せ先

info@sap-labo.com

少しでもご興味ある方、ぜひお気軽にご連絡下さい!

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

新卒でSAPエンジニアとしてABAPでの新規開発や保守業務を担当。
業務内容としてはロジ系(MM/SD)がメインで、ABAPの開発が最も得意。

この記事のポイント