毛利 亜紀子(もうり あきこ)
SAPジャパン フィールドサービス統括本部 エデュケーションサービス事業本部コンサルタント。SAP NetWeaver,エンタープライズSOA関連のトレーニングデリバリーを担当。

 皆さんはSAPという会社やERPについてご存じでしょうか。ERPは一般に,財務会計,調達,生産,販売,在庫,人事など企業の基幹業務を統合した業務パッケージ・システムのことを指します。SAPは,ERPで最もよく知られた企業向けソフトウエア・ベンダーであり,企業システムにかかわる様々なソリューションやサービスを提供しています。

 SAP ERPをはじめ,SAPの多くのビジネス・アプリケーションは「ABAP(Advanced Business Application Programming)」というプログラミング言語で開発されています。SAPシステムのプラットフォーム上にABAPの開発環境が用意されており,開発者やユーザーは,ABAPを使ってSAPの標準機能を拡張したり,カスタマ・プログラム(アドオンと呼ばれます)を追加開発したりすることができます。SAPシステム専用の言語なので,一般にはあまり知名度は高くないのですが,SAPユーザーやERP関連のソフトウエア・ベンダーの間では広く利用されています。

 この連載では,ABAPの基礎知識や使い方を一から説明します。SAP ERPアプリケーションをお使いの方や,ビジネス・アプリケーションの開発に携わる技術者/開発者で,ABAPに興味をお持ちの方は,ぜひ読んでいただきたいと思います。新たなビジネスチャンスを見つけるきっかけになるかもしれません。また,SAPシステムをお使いでない方も,SAP技術の基礎解説の一つとしてお読みいただければ幸いです。

SAPシステムの構成

 あらためてABAPについて説明していきましょう。ABAPは,SAPが開発した多くのアプリケーションで使用されているプログラミング言語です。SAP R/2,SAP R/3の時代から数十年にわたる利用実績があり,企業向けアプリケーションの様々なニーズに対応できるよう機能拡張されてきた言語です。

 ここ数年も,オブジェクト指向を取り入れたり,Webアプリケーションのユーザー・インタフェースを容易に構築できるフレームワーク「WebDynpro」や,モジュールのWebサービス生成といった新機能を備え,進化を続けています。さらに最近のトレンドとしては,SAPが提唱するエンタープライズSOA(Service Oriented Architecture)で利用されるサービスの主要なビジネス・ロジックもABAPで開発されています。

 SAPシステムの構成について簡単に紹介します。まず,SAP ERPなどのビジネス・アプリケーションの技術基盤となる統合プラットフォームとして「SAP NetWeaver」があります(図1)。SAP NetWeaverには,様々なコンポーネントやツールが含まれており,ユーザーのITシナリオにそって選択的に導入することができます。

図1●SAPシステム構成概要
図1●SAPシステム構成概要

 それらのうち,アプリケーション・プラットフォームとして,ABAPやJava,Webサービスなどの実行/開発環境を提供するのが「SAP NetWeaver Application Server」(以下,SAP NetWeaver AS)です。この連載では,SAP NetWeaver ASのABAP試用版プラットフォームを使用して,ABAPの特徴や基本的なプログラムの作成方法を紹介します。

ABAPの特徴

 ABAPを使うと,業務向けのレポートやバッチプログラム,使いやすいトランザクション用ユーザー・インタフェースを作成できます。ビジネス・ロジックでは,特定のデータベース管理システム(DBMS)に依存しないSQLセットを使用でき,効率的なデータベース・アクセスが可能です。

 ABAPは,ソースコードを専用のデータベース(リポジトリ)で管理し,インタプリタ的に動作するのが特徴です。複数の開発者がサーバーにログオンしてチーム開発を行うことができ,ソフトウエアの変更管理やバージョン管理も容易です。ABAPはよく,COBOLの構文とVisual Basic(VB)などのグラフィカル・インタフェースが共存したような感じだと形容されます。シンプルでわかりやすいアーキテクチャなので,初めてABAPを使う開発者でも比較的簡単に習得できるのも大きなメリットです。

 ただし,ABAPを習得するには,構文を理解するだけでは十分ではありません。効果的なプログラミング技術を身に付けるには,「ABAPワークベンチ」と呼ばれる開発環境とツールセットの特性を理解し,使いこなす必要があります。