【SAP ABAP】基本構文:比較演算子(EQ、NE、LT、GT、LE、GEなど)

ABAP(比較演算子)

登場人物紹介

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

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

この記事を読むメリット

  • ABAPで比較演算子を使って数値や文字列の比較を行い、条件分岐やデータの検証を行えるようになります。
博士

今回はABAPの比較演算子について説明するぞい!

ABAPを使用してプログラムを開発する際には、様々な条件分岐やデータ検証を行うために比較演算子を頻繁に使用します。この記事では、ABAPで使用できる比較演算子の種類とそれぞれの使用方法について、実例を交えて詳しく解説します。

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

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

【FI】

SAP HANAバージョンアップにおける会計機能設計支援

要スキル:
・FI領域の要件定義書から基本設計を現行を参考に作成し、  後続作業も出来る方。 ・SAP標準機能と会計業務に関する知識 <尚可> FI-AA経験、TRM経験
月額単価:
~900,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
SAP FIコンサルまたはJrコンサル S/4HANAへバージョンアップに向け、会計領域の要件定義フェーズ作業 ・現行SAPの調査支援(標準機能の含む) ・ToBe詳細業務フロー作成支援 ・現行アドオン調査・整理 ・ToBeアドオンへの置き換え時の実現ポイント調査・整理

【FI】

自動車メーカー向けS4HANA導入支援(FI/CO)

要スキル:
・FIもしくはCOモジュールでの業務要件定義の経験(導入~)
月額単価:
~950,000円 / 月
稼働場所:
広島県
稼働率:
100%
作業内容:
S4導入要件定義フェーズにおいて以下の業務を行っていただきます。 ・要件定義 ・業務フロー作成 ・既存Add-On整理&再設計 ・財務関連コード定義

【SD】

外資系アパレル業向けSDモジュール運用保守支援

要スキル:
• SDモジュールでの運用保守経験 • ユーザからのQA対応等の経験 • チームメンバーやユーザーとの円滑なコミュニケーションが可能 • 英語翻訳サイト等を使用して、文書・メール・チャットの読み書きが可能 • 英語を使用した会議に参加頂ける方(翻訳サービス使用可能) <尚可> • Winshuttleを使用したバッチインプットツール作成経験 • WMSへのデータ連携に関する知見(運用担当レベル)
月額単価:
~1,000,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
• 日本の業務ユーザーが使用しているシステムの運用保守、問合せ対応(メール・チャットでの問い合わせ) • SDモジュールでの運用保守 、不具合/問合せのGlobal Support Teamへのエスカレーション • 問い合わせのステータス管理 • Winshuttleを使用したバッチインプットツール作成 • 新商流発生時の仕様調査やEnd to End テスト実施 • EDIシステム(受注・出荷)の運用保守

【FI】

電気機械器具向け SAP導入プロジェクト支援 FIコンサル(AA/GL/AP/AR)

要スキル:
FIコンサルとしての要件定義経験
月額単価:
~1,500,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
会計領域をS/4HANAへ刷新に向け、会計領域の要件定義フェーズ作業(メイン作業) ・現行アドオン調査・整理 ・ToBeアドオンへの置き換え時の実現ポイント調査・整理(サブ作業) ・現行SAPの調査支援(標準機能の含む) ・ToBe詳細業務フロー作成支援 ・BPマスタへの統合作業支援

【FI】

電気機械器具向け SAP導入プロジェクト支援 FI SE(基本設計者)

要スキル:
FI Add-onの基本設計の経験
月額単価:
~1,200,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
会計領域をS/4HANAへ刷新に向け、会計領域の基本設計フェーズにてAdd-on機能の基本設計をご担当いただきます。

【FI】

食品・薬品製造販売業向けSAP運用保守支援

要スキル:
・SAP・FIの導入または保守の経験あり(GL/AP/AR) ・コミュニケーションスキル(システムや業務のお客様と直接問い合わせ対応を行います) <尚可> ・SAP・FIの固定資産(AA)の知識、COの知識(CCA,PA,CO-PC)、標準EIXT、ABAPの知識
月額単価:
~900,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
財務会計と管理会計の問い合わせ対応。仕様変更対応をご担当いただく予定です。

【MM】

【SD】

大手製造業向けECC⇒S4移行におけるグローバルテンプレート構築支援(ロジ領域)

要スキル:
・SAPロジ系モジュールの導入経験 ・構想策定/要件定義フェーズの経験 ・業務プロセス設計の経験 ・S/4HANA導入経験 ・カスタマイズ/アドオン設計 ・リーダー経験 <尚可> ・製造業、フルモジュールプロジェクトでの導入経験 ・グローバルテンプレート導入経験 ・英語でのコミュニケーション能力(当タスクで作成のプロセスフローを海外ユーザーに説明、QA対応など)
月額単価:
~1,400,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
グローバルテンプレート構築 ・要件定義タスク遂行 ・内部レビュー(モジュール横断整合性含む) ・セッションファシリテート ・個別課題検討・解決

【FI】

FI-AAモジュール 要件定義支援

要スキル:
・FIモジュールにおける要件定義フェーズでの参画経験 ・FI-AAモジュールにおけるテストフェーズでの参画経験 ・ABAP開発経験 ・英語スキル:読み書き
月額単価:
~1,150,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
ABAPの設計書の調査等を行いプロジェクトリーダーのサポート

【FI】

【MM】

【SD】

S4HANA導入コンサル支援(SD/MM/FI)

要スキル:
業務要件定義、業務フロー作成、カスタマイズ実装、アドオン要件定義書作成
月額単価:
~1,400,000円 / 月
稼働場所:
兵庫県
稼働率:
100%
作業内容:
要件定義フェーズにおける各種コンサルタスクを実施いただきます。 ●募集人数 SDコンサル:1名 MMコンサル:1名 FIコンサル:1名

【CO】

【MM】

半導体製造機器製造向けSAP運用保守

要スキル:
【募集①】CO/PS領域(1名) ・ SAPにおいて運用保守または導入経験のある方(CO or PSいずれかの経験でも可) ・カスタマイズ知見要 <尚可> ・業務整理、設計、開発いずれかの経験のある方、S4バーションアップ経験のある方 【募集②】MM領域(1名) ・ SAPにおいて運用保守または導入経験のある方(主に購買側のMRP部分の知見・経験のある方) ・カスタマイズ知見要 <尚可> ・設計変更知見、業務整理、設計、開発いずれかの経験のある方 ・S4バーションアップ経験のある方
月額単価:
~1,000,000円 / 月
稼働場所:
神奈川県
稼働率:
100%
作業内容:
SAP運用保守の支援+バージョンアップ準備業務
この記事のポイント

比較演算子とは

比較演算子は、プログラム内で2つの値を比較し、その結果が「真(TRUE)」か「偽(FALSE)」かを判定するために使われます。これにより、条件に基づいた動作を制御することができます。

ABAPでは、数値や文字列、日付などのデータ型に対して使用できる基本的な比較演算子のほかに、文字列に特化した特殊な比較演算子も用意されています。この記事では、これらの演算子の使い方を実例とともに紹介します。

基本的な比較演算子

ABAPでよく使われる比較演算子は以下の通りです。これらは、数値や文字列、日付の大小や等しさを比較するために使用されます。

演算子ABAP表記説明
=EQ等しいlv_value = 10 または lv_value EQ 10
<>NE等しくないlv_value <> 10 または lv_value NE 10
<LTより小さいlv_value < 10 または lv_value LT 10
>GTより大きいlv_value > 10 または lv_value GT 10
<=LE以下lv_value <= 10 または lv_value LE 10
>=GE以上lv_value >= 10 または lv_value GE 10
比較演算子(ABAP)

等しい(EQ or ₌)

等号演算子は、2つの値が等しいかどうかを比較します。数値、文字列、日付、時間などの様々なデータ型で使用できます。

使用例
DATA: lv_value TYPE i.
lv_value = 10.

IF lv_value = 10.
  WRITE: '値は10です。'.
ENDIF.

IF lv_value EQ 10.
  WRITE: / 'ABAP表記:値は10です。'.
ENDIF.

このプログラムでは、lv_valueが10であれば、どちらの条件も真となり「値は10です。」と表示されます。

実行結果

比較演算子(等しい(EQ-))

等しくない(NE or <>)

等しくないことを確認する際には、<> または NE を使用します。

使用例
DATA: lv_value TYPE i.
lv_value = 5.

IF lv_value <> 10.
  WRITE: '値は10ではありません。'.
ENDIF.

IF lv_value NE 10.
  WRITE: / 'ABAP表記:値は10ではありません。'.
ENDIF.

このプログラムでは、lv_valueが10ではない場合、どちらの条件も真となり「値は10ではありません。」と表示されます。

実行結果

比較演算子(等しくない(NE))

大小関係の演算子(LT, GT, LE, GE)

大小関係を確認する演算子もABAPでは頻繁に使用されます。これらの演算子を使用して、数値や文字列、日付の順序を比較できます。

<(より小さい)はLT、>(より大きい)はGT、<=(以下)はLE、>=(以上)はGEと表記できます。

使用例
DATA: lv_value TYPE i.
lv_value = 8.

IF lv_value > 5 AND lv_value < 10.
  WRITE: '値は5より大きく10より小さいです。'.
ENDIF.

IF lv_value GT 5 AND lv_value LT 10.
  WRITE: / 'ABAP表記:値は5より大きく10より小さいです。'.
ENDIF.

このプログラムでは、lv_valueが5より大きく10より小さい場合、どちらの条件も真となり、どちらのメッセージも表示されます。

実行結果

比較演算子(大小関係の演算子(LT-GT-LE-GE))

文字列用の特殊な比較演算子

ABAPには、文字列の比較に特化した特殊な演算子も用意されています。これらの演算子は、文字列のパターンマッチングや部分一致を確認するのに便利です。

演算子説明
CO
(Contains Only)
左辺の文字列が右辺のパターンに一致するlv_string CO ‘SAP2024’
→lv_string が “SAP2024” と一致するかを確認
CN
(Contains Not)
左辺の文字列が右辺のパターンに一致しないlv_string CN ‘SAP2025’
→lv_string が “SAP2025” と一致しないかを確認
CA
(Contains Any)
左辺の文字列が右辺の文字セットのいずれかを含むlv_string CA ‘ABC’
→lv_string に “A”, “B”, “C” のいずれかが含まれているか
NA
(Not Contains Any)
左辺の文字列が右辺の文字セットを全く含まないlv_string NA ‘0123456789’
→lv_string に数字が全く含まれていないか
CP
(Contains Pattern)
左辺の文字列が右辺のパターンに一致するかlv_string CP ‘SAP*’
→lv_string が “SAP” で始まるかを確認
NP
(Not Contains Pattern)
左辺の文字列が右辺のパターンに一致しないかlv_string NP ‘XYZ*’
→lv_string が “XYZ” で始まらないかを確認
CS
(Contains String)
左辺の文字列が右辺の部分文字列を含むかlv_string CS ‘SAP’
→lv_string に “SAP” が含まれているかを確認
NS
(Not Contains String)
左辺の文字列が右辺の部分文字列を含まないかlv_string NS ‘2025’
→lv_string に “2025” が含まれていないかを確認
文字列用の特殊な比較演算子(ABAP)

CO(Contains Only)

CO演算子は、左辺の文字列が右辺のパターンに完全に一致するかを確認します。

使用例
DATA: lv_string TYPE string VALUE 'SAP2024'.

IF lv_string CO 'SAP2024'.
  WRITE: '文字列は「SAP2024」と一致します。'.
ENDIF.

このプログラムでは、lv_string が “SAP2024” と一致するかを確認します。

実行結果

比較演算子(CO(Contains-Only))

CN(Contains Not)

CN演算子は、左辺の文字列が右辺のパターンに一致しない場合に真となります。

使用例
DATA: lv_string TYPE string VALUE 'SAP2024'.

IF lv_string CN 'SAP2025'.
  WRITE: '文字列は「SAP2025」と一致していません。'.
ENDIF.

このプログラムでは、lv_string が “SAP2025” と一致しないかを確認します。

実行結果

比較演算子(CN(Contains-Not))

CA(Contains Any)

CA演算子は、左辺の文字列が右辺の文字セットのいずれかを含むかを確認します。

使用例
DATA: lv_string TYPE string VALUE 'SAPABC123'.

IF lv_string CA 'CBA'.
  WRITE: '文字列には「A」「B」「C」のいずれかが含まれています。'.
ENDIF.

このプログラムでは、lv_string に “A”, “B”, “C” のいずれかが含まれているかを確認します。

実行結果

比較演算子(CA(Contains-Any))

NA(Not Contains Any)

NA演算子は、左辺の文字列が右辺の文字セットをまったく含まないかを確認します。

使用例
DATA: lv_string TYPE string VALUE 'SAPXYZ'.

IF lv_string NA '0123456789'.
  WRITE: '文字列には数字が含まれていません。'.
ENDIF.

このプログラムでは、lv_string に数字が含まれていないかを確認します。

実行結果

比較演算子(NA(Not-Contains-Any))

CP(Contains Pattern)

CP演算子は、左辺の文字列が右辺のパターンに一致するかを確認します。こちらもワイルドカード(* で任意の文字列、+ で1文字)を使います。

使用例
DATA: lv_string TYPE string VALUE 'SAP2024'.

IF lv_string CP 'SAP*'.
  WRITE: '文字列は「SAP」で始まります。'.
ENDIF.

このプログラムでは、lv_string が “SAP” で始まるかを確認します。

実行結果

比較演算子(NA(Not-Contains-Any))

NP(Not Contains Pattern)

NP演算子は、左辺の文字列が右辺のパターンに一致しない場合に真となります。

使用例
DATA: lv_string TYPE string VALUE 'SAP2024'.

IF lv_string NP 'XYZ*'.
  WRITE: '文字列は「XYZ」で始まりません。'.
ENDIF.

このプログラムでは、lv_string が “XYZ” で始まらないかを確認します。

実行結果

比較演算子(NP(Not-Contains-Pattern))

CS(Contains String)

CS演算子は、左辺の文字列が右辺の部分文字列を含んでいるかを確認します。

使用例
DATA: lv_string TYPE string VALUE 'SAPERP2024'.

IF lv_string CS 'SAP'.
  WRITE: '文字列には「SAP」が含まれています。'.
ENDIF.

このプログラムでは、lv_string に “SAP” が含まれているかを確認します。

実行結果

比較演算子(CS(Contains-String))

NS(Not Contains String)

NS演算子は、左辺の文字列が右辺の部分文字列を含まないかを確認します。

使用例
DATA: lv_string TYPE string VALUE 'SAP2024'.

IF lv_string NS '2025'.
  WRITE: '文字列には「2025」が含まれていません。'.
ENDIF.

このプログラムでは、lv_string に “2025” が含まれていないかを確認します。

実行結果

比較演算子(NS(Not-Contains-String))

複合条件での使用例

比較演算子は、論理演算子(AND、OR)と組み合わせることで、複雑な条件式を作成できます。

使用例
DATA: lv_value TYPE i.
lv_value = 15.

IF (lv_value >= 10 AND lv_value <= 20) OR lv_value = 25.
  WRITE: '値は10から20の間、または25です。'.
ENDIF.

このプログラムでは、lv_value が 10 から 20 の間にあるか、または 25 であればメッセージが表示されます。

実行結果

比較演算子(複合条件での使用例)

まとめ

ABAPの比較演算子は、条件分岐やデータの検証に欠かせない強力なツールです。

  • 基本的な比較演算子を使って、数値や文字列、日付の等しさや大小を確認できます。
  • 文字列用の特殊な比較演算子を使うと、パターンマッチングや部分一致の確認が簡単に行えます。

これらの演算子を活用することで、効率的で読みやすいコードを書けるようになり、プログラムの柔軟性も向上します。

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

【FI】

SAP HANAバージョンアップにおける会計機能設計支援

要スキル:
・FI領域の要件定義書から基本設計を現行を参考に作成し、  後続作業も出来る方。 ・SAP標準機能と会計業務に関する知識 <尚可> FI-AA経験、TRM経験
月額単価:
~900,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
SAP FIコンサルまたはJrコンサル S/4HANAへバージョンアップに向け、会計領域の要件定義フェーズ作業 ・現行SAPの調査支援(標準機能の含む) ・ToBe詳細業務フロー作成支援 ・現行アドオン調査・整理 ・ToBeアドオンへの置き換え時の実現ポイント調査・整理

【FI】

自動車メーカー向けS4HANA導入支援(FI/CO)

要スキル:
・FIもしくはCOモジュールでの業務要件定義の経験(導入~)
月額単価:
~950,000円 / 月
稼働場所:
広島県
稼働率:
100%
作業内容:
S4導入要件定義フェーズにおいて以下の業務を行っていただきます。 ・要件定義 ・業務フロー作成 ・既存Add-On整理&再設計 ・財務関連コード定義

【SD】

外資系アパレル業向けSDモジュール運用保守支援

要スキル:
• SDモジュールでの運用保守経験 • ユーザからのQA対応等の経験 • チームメンバーやユーザーとの円滑なコミュニケーションが可能 • 英語翻訳サイト等を使用して、文書・メール・チャットの読み書きが可能 • 英語を使用した会議に参加頂ける方(翻訳サービス使用可能) <尚可> • Winshuttleを使用したバッチインプットツール作成経験 • WMSへのデータ連携に関する知見(運用担当レベル)
月額単価:
~1,000,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
• 日本の業務ユーザーが使用しているシステムの運用保守、問合せ対応(メール・チャットでの問い合わせ) • SDモジュールでの運用保守 、不具合/問合せのGlobal Support Teamへのエスカレーション • 問い合わせのステータス管理 • Winshuttleを使用したバッチインプットツール作成 • 新商流発生時の仕様調査やEnd to End テスト実施 • EDIシステム(受注・出荷)の運用保守

【FI】

電気機械器具向け SAP導入プロジェクト支援 FIコンサル(AA/GL/AP/AR)

要スキル:
FIコンサルとしての要件定義経験
月額単価:
~1,500,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
会計領域をS/4HANAへ刷新に向け、会計領域の要件定義フェーズ作業(メイン作業) ・現行アドオン調査・整理 ・ToBeアドオンへの置き換え時の実現ポイント調査・整理(サブ作業) ・現行SAPの調査支援(標準機能の含む) ・ToBe詳細業務フロー作成支援 ・BPマスタへの統合作業支援

【FI】

電気機械器具向け SAP導入プロジェクト支援 FI SE(基本設計者)

要スキル:
FI Add-onの基本設計の経験
月額単価:
~1,200,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
会計領域をS/4HANAへ刷新に向け、会計領域の基本設計フェーズにてAdd-on機能の基本設計をご担当いただきます。

【FI】

食品・薬品製造販売業向けSAP運用保守支援

要スキル:
・SAP・FIの導入または保守の経験あり(GL/AP/AR) ・コミュニケーションスキル(システムや業務のお客様と直接問い合わせ対応を行います) <尚可> ・SAP・FIの固定資産(AA)の知識、COの知識(CCA,PA,CO-PC)、標準EIXT、ABAPの知識
月額単価:
~900,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
財務会計と管理会計の問い合わせ対応。仕様変更対応をご担当いただく予定です。

【MM】

【SD】

大手製造業向けECC⇒S4移行におけるグローバルテンプレート構築支援(ロジ領域)

要スキル:
・SAPロジ系モジュールの導入経験 ・構想策定/要件定義フェーズの経験 ・業務プロセス設計の経験 ・S/4HANA導入経験 ・カスタマイズ/アドオン設計 ・リーダー経験 <尚可> ・製造業、フルモジュールプロジェクトでの導入経験 ・グローバルテンプレート導入経験 ・英語でのコミュニケーション能力(当タスクで作成のプロセスフローを海外ユーザーに説明、QA対応など)
月額単価:
~1,400,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
グローバルテンプレート構築 ・要件定義タスク遂行 ・内部レビュー(モジュール横断整合性含む) ・セッションファシリテート ・個別課題検討・解決

【FI】

FI-AAモジュール 要件定義支援

要スキル:
・FIモジュールにおける要件定義フェーズでの参画経験 ・FI-AAモジュールにおけるテストフェーズでの参画経験 ・ABAP開発経験 ・英語スキル:読み書き
月額単価:
~1,150,000円 / 月
稼働場所:
東京都
稼働率:
100%
作業内容:
ABAPの設計書の調査等を行いプロジェクトリーダーのサポート

【FI】

【MM】

【SD】

S4HANA導入コンサル支援(SD/MM/FI)

要スキル:
業務要件定義、業務フロー作成、カスタマイズ実装、アドオン要件定義書作成
月額単価:
~1,400,000円 / 月
稼働場所:
兵庫県
稼働率:
100%
作業内容:
要件定義フェーズにおける各種コンサルタスクを実施いただきます。 ●募集人数 SDコンサル:1名 MMコンサル:1名 FIコンサル:1名

【CO】

【MM】

半導体製造機器製造向けSAP運用保守

要スキル:
【募集①】CO/PS領域(1名) ・ SAPにおいて運用保守または導入経験のある方(CO or PSいずれかの経験でも可) ・カスタマイズ知見要 <尚可> ・業務整理、設計、開発いずれかの経験のある方、S4バーションアップ経験のある方 【募集②】MM領域(1名) ・ SAPにおいて運用保守または導入経験のある方(主に購買側のMRP部分の知見・経験のある方) ・カスタマイズ知見要 <尚可> ・設計変更知見、業務整理、設計、開発いずれかの経験のある方 ・S4バーションアップ経験のある方
月額単価:
~1,000,000円 / 月
稼働場所:
神奈川県
稼働率:
100%
作業内容:
SAP運用保守の支援+バージョンアップ準備業務

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

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

SAPラボのライターの特徴

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

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

募集要項

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

ご応募/お問合せ先

info@sap-labo.com

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

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

この記事を書いた人

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

この記事のポイント