【SAP ABAP】システムテーブルSYST項目(SY-xxx)まとめ

登場人物紹介

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

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

この記事を読むメリット

  • よく使うSYST項目(SY-xxx)について知ることができます。
レイナ

ABAPの開発をしているとよくSY-xxxをよく見かけるのですが何を示しているものなんですか?

博士

それは「SYST項目(システム項目)」のことじゃな。

たとえば「SY-UNAME」はログオンユーザ名、「SY-LANGU」はログオン言語のようにそれぞれに対応したものを示してくれるのじゃ!

博士

では、さっそくどんな「SYST項目(システム項目)」があるのか、何を示しているのかを紹介していくぞい!

この記事のポイント

SYST項目(システム項目)

SYST項目(システム項目)は、プログラム実行時にシステム側で自動設定される変数のようなものです。

ABAPのコーディングの際にも開発者が定義する必要はなく使用することができます。

SYSY項目(システム項目の確認方法)

T-CODE:SE11からDBテーブルもしくはビューもしくはデータ型に「SYST」を入力して紹介すると項目の一覧が確認可能です。

トランザクションコードSE11からSYST項目(システム項目)を確認する方法

SYST頻出一覧

博士

ここではよく使われるであろうシステム項目の一覧を解説するのじゃ!

SYST項目内容
SY-INDEX繰り返し処理の回数を示します。
SY-TABIX読み込まれた行のインデックス値を示します。
SY-SUBRC処理のリターンコードを示します。
※詳細は次項で説明します。
SY-TZONEグリニッジ標準時 (UTC) との時差を秒数で示します。
SY-LANGUユーザのログオン言語に応じた言語キー(1桁)を示します。
SY-BATCHバックグラウンドで実行中のABAPプログラムでは、’X’に設定されます。
それ以外の場合は空白になります。
SY-DYNNR現在のDynproの番号を示します。
SY-DYNGR現在のDynproの画面グループを示します。
SY-MANDTユーザがログオンしたクライアントの番号を示します。
SY-TCODE現在のトランザクションコードを示します。
SY-UCOMMユーザアクションの機能コードを示します。
SY-DATUM現在のアプリケーションサーバの日付を示します。
SY-UZEIT現在のアプリケーションサーバの時刻を示します。
SY-UNAMEログオンしているユーザ名を示します。
SY-PAGNO一覧画面でのページ番号を示します。
SY-BINPTバックグラウンド実行の場合はXに設定されます。
オンライン実行の場合は空白に設定されます。
SY-SYSIDSAP システムの名称を示します。
SY-CPROG実行中のメインプログラムの名称を示します。
SY-MSGIDメッセージIDを示します。
SY-MSGTYメッセージタイプを示します。
SY-MSGNOメッセージ番号を示します。
SY-MSGV1メッセージの内容を示します。
SY-MSGV2メッセージの内容を示します
SY-MSGV3メッセージの内容を示します
SY-MSGV4メッセージの内容を示します
博士

上表以外にもSYST項目(システム項目)はたくさんあるのじゃ!

SY-SUBRCについて

レイナ

SYST項目ってたくさんあるんですね!

博士

ここからは、たくさんあるSYST項目(システム項目)の中でも
特に使うSY-SUBRCについて解説するぞい!

SY-SUBRCはABAP の処理によって設定される戻り値です。

今回のポイント!!

SY-SUBRCの値が…

  • 0の場合処理が正常に完了していることを示します。
  • 0以外の場合処理が正常に終了しなかったことを示します。

実際のABAPのコード中ではIF文とセットで利用されることが多いです。

例えばSY-SUBRCが0以外の場合にエラーメッセージの取得や出力処理、処理の中断ロジックを実行するといった使い方がされます。

下記はSY-SUBRCを用いたサンプルです。

SY-SUBRC使い方サンプル

今回のまとめ

博士

SYST項目(システム項目)は、プログラム実行時にシステム側で自動設定される変数のようなものなのじゃ。

博士

SYST項目はたくさんあるが便利なため、設計者や開発者なら使いこなせるようになるのだぞい!

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

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

SAPラボのライターの特徴 

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

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

募集要項

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

ご応募/お問合せ先

info@sap-career.com

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

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

この記事を書いた人

新卒でSAPのエンジニアとなり、10年ほどの経験を持つ現役のSAPエンジニア。
SAPのモジュールを問わず広く学習しながら業務の対応を行っている。
自分と同様にSAPで困っている人のサポートをしたいと思いSAPラボに参加。

この記事のポイント