ABAPeraで学ぶ方法

こんにちは、Habr!



主なものから始めましょう-ABAP開発者が必要です。 そして、疑いのある人のために、過去1か月半でのみ 、100を超える欠員がHH現れました。これには、主要なロシアおよび世界のブランドが含まれます。



ABAPは20世紀の80年代に始まり、進化を続けています。 過去30年にわたって、プロシージャル、イベント指向、オブジェクト指向の両方の多くのプログラミングパラダイムをダイクストラスタイルの構造プログラミングのフレームワーク内に組み込みました(必須のENDIF、ENDCASE、その他のさまざまなEND CHATOS、さらにはENDSELECTで、 SQLの専門家)。 パラダイムの豊富さは視野を大きく広げますが、言語の研究を少し複雑にします。



原則として、あなたの中に愛好家がいる場合、彼らは標準的なドキュメントを使用してそれを学ぶことができます。 これはそれほど簡単ではありませんが、独自のプログラムを作成する必要があります。ハードウェアを搭載せず、ライセンスを忘れないシステムが必要ですが、最も悲しいことは時間がかかることです。 湿気からではなく、多くのドキュメントがあります-30年にわたって、言語は多くを吸収しましたが、古いものを捨てることは簡単ではありません:そのような「神聖な牛」があります-バージョンの互換性。 ABAP SAPを研究するために、特別なコースプログラムが開発されました。そのカバレッジは、アカデミーオブTAW10 / TAW20コンサルタントをわずかに上回り、一方で、成功したマスタリングはアソシエイト開発コンサルタントの認定に十分です。 必要なコースとその理由 これらの質問に答え、新参者が何を経験しなければならないか、そして最も重要なこととして、どの順序で簡単に説明するか、そしてもちろん、質問に答える準備ができています。 1998年以来、ABAPトレーナーです。



それでは始めましょう! SAPプラットフォームのデバイス全体に精通していない場合は、入門書から始める必要があります。 コード名は「SAPTECE。 SAPの仕組みを理解するには、SAP NetWeaverアーキテクチャの概要が必要です。 SAP NetWeaverテクノロジープラットフォームのアーキテクチャに関する一般的な情報を提供します:アプリケーションサーバーのインスタンスとは何か、ワークフローとは何か、ワークフローとは何か、なぜそうなのか、開発とは何か、クライアント、システムランドスケープ、トランスポートシステムとは何か、統合の機会に関する最も一般的な情報。



次のステップはBC400Eです。 ABAPツール:基本 材料を学ぶ! 残念ながら、このコースの後はABAPerにはなりませんが、計算、データベースへのアクセス、簡単なダイアログなどの簡単なプログラムをすでに作成できます。 このコースでは、開発者のツールキットの概要、ABAP言語、データ宣言、基本演算子、モジュール化に関する一般情報(およびABAPには5つのカテゴリの処理ユニットがあり、そのうち2つはABAPから呼び出すことはできません)、および初期情報データベースの操作、ユーザーインターフェイスのプログラミング、システム拡張テクノロジに関する最も基本的な情報について。 コース中に、約100のプログラムが作成されます。たとえば、算術計算機(恐れず、ボタンではない)が何度も作成され、すべてが異なります。いくつかの対話型トランザクションが作成されます。







ABAPの理解におけるトランザクションとは何か(原子性、一貫性、分離、および耐久性を考えてみてください... ... mmm、まったくない)、およびダイアログを除くどのようなトランザクションがあるかをその場で見つけます。 このコースは開発者を対象としていますが、一般的には将来の管理者に適しており、統合技術の分野に特化する予定がある人や、活動の性質上、ABAPersと通信する必要がある人に役立ちます。



もちろん、単純なレポートは、手続き型またはイベント指向のスタイルで作成できます。 ただし、オブジェクト指向プログラミングは、新しいSAPデザインのあらゆる場所で使用されます。 特に、データのエレガントな表示を提供する多くのクラスが作成されています。 これらの既製のクラスを使用する方が、毎回車輪を再発明するよりもはるかに簡単です。 さらに、新しい拡張テクノロジーは、オブジェクト指向プログラミングを広範囲に使用します。 とにかく、これは現在ABAPの主な方向です。したがって、必要な場合は、したくないのですが、知っておく必要があります。 コース「BC401E。 ABAPオブジェクト」ではABAPのオブジェクト指向プログラミングの機能を強調しています。構文の構築、ツール、およびいくつかの使用領域が考慮されています。 オブジェクト指向ABAPには、使用されるインターフェースの代わりに多重継承がないため、このコースはJava開発者にとってより理解しやすいものになります。 たとえば、最終演習のクラス図は次のとおりです。







毎回プログラミングするよりも、記述を作成するレベルで、必要なデータ型をそれらに適した対話性で一元的に決定する方がはるかに簡単であると推測するのは簡単です。 SAPシステムには、さまざまなタイプのデータと頻繁に使用される対話型サービスが記述される中心的な場所であるディクショナリが含まれています。 彼の宣言により、さらにプログラミングが大幅に簡素化されます。 命令型プログラミング言語は多かれ少なかれ似ているため、辞書を勉強するのではなく、何かを保存する場合、辞書は別の「ハイライト」です。 コースでは「BC430E。 データディクショナリ」 、ドメインの定義、データ要素、構造、テーブルタイプ、データベース内のテーブル、データベースとメンテナンスのビュー、メンテナンスクラスタ、検索エンジン、データ整合性メカニズム:固定ドメイン値と外部キーが考慮されます。



ゆっくりと、しかし確実に目標に向かっています。BC402Eに近づきました それほど悪くないプログラムの書き方に関する高度なABAPプログラミング 。 メモリプログラム、プログラムの呼び出し、データとパラメーターの宣言と転送、動的プログラミング構成、動的型決定と動的データ作成、およびOpen SQLステートメントとその他の利点に関する追加情報など、効果的なプログラムの作成に重要な微妙な問題が発生します。

なぜダイナミズムが必要なのですか? まあ、そのようなテーブルがあります、BSEG、財務書類の位置が含まれています。 たとえば、約340フィールドです。 平均的なユーザーがすべてのフィールドの値を必要としないことは明らかです。 完全な構造の内部テーブルにデータを取得できますが、ユーザーはすべてのデータを必要とせず、空のスペースを保存するとメモリが浪費されるため、このような構造は冗長になります。 必要なフィールドを正しい順序で組み合わせたいくつかの構造を事前に決定することが可能です。 ただし、このような組み合わせ(340要素のセットのサブセットの数)は2 ^(340-1)-1〜10 ^(329)になります。 これは非常に大きな数です。 比較のために、観測可能な宇宙の原子数は約10 ^(81)と推定されます。 つまり、すべての可能な説明を事前に作成することはほとんど不可能です。 この場合、メモリを経済的に使用するには、この選択に必要なデータ型を動的に作成する必要があります。


続けて。 クラシック画面は、SAPシステムの視覚的インターフェースの基礎を形成します。 それらをhtmlに変換するさまざまな方法を作成する方法がいくつかあります。 しかし、これまでのところ、標準のダイアログの基礎となっています。 とにかく、ダイアログの作成方法を知る必要があります。 コース「BC410。 会話型プログラミング」では 、標準のDynproダイアログ画面の技術を強調しています。 このコースは、ダイアログを作成するすべての人に必要です。 とりわけ、サブスクリーン、カードファイル、スクリーンテーブルのプログラミング、エラーへの反応のプログラミングが考慮されます。 1つの単一画面ダイアログトランザクションが1週間にわたって書き込まれます。 このような画面でここについて。







似たような何かがすでにBC400Eの過程にありましたか? グリッドがあり、ナビゲーションはクライアントワークステーションでローカルに処理されるため、アプリケーションサーバー(およびその上で実行されるABAPプログラム)はナビゲーションについて何も知りません。 これが画面テーブルで、ナビゲーションはアプリケーションサーバーで処理されます。 したがって、画面テーブルを使用するトランザクションは、バッチインプットに適している場合があります。 さらに、ファイリングキャビネット、入力検証チェック、およびその他のガジェットのプログラミング。



もちろん、SAPシステムの所有者には、ビジネスの特定の要件に応じてプログラムを変更する機会と権利があります。 しかし、ソフトウェアの新しいバージョンがSAPから提供されると、修正調整が開始されます。 各変更について決定が必要です。 SAPは、修正の調整が不要な方法で標準ソフトウェアの動作を変更できる一連のテクノロジーを提供しています。 これは拡張機能と呼ばれます。 コース「BC425E。 拡張と変更」では 、辞書定義の拡張、カスタム出口、BAdIなどの古典的な拡張テクノロジーを考慮しています。 プログラムの拡張に加えて、メニューと画面の拡張を検討し、ユーザー出口を含む変更も検討します。 このコースは、独自の拡張機能で標準を強化するすべての人が必要としています。



BC410Eコースで説明されているクラシック画面を使用して標準SAP機能にアクセスするには、特別なクライアントソフトウェアであるSAP GUIが必要です。 このようなソフトウェアは、従業員の職場にインストールされます。 しかし、たとえば会社の価格表を表示したいクライアントがこの同じSAP GUIをインストールすることを期待するのは困難です。 しかし、Webブラウザー-ほとんどどこでも一般的なことです。 Web Dynproインターフェースを使用すると、Webブラウザーから直接SAP機能にアクセスできます。 ここにコース「NET310E」があります。 ABAP Web Dynproの基本」では、テクノロジーの概要を紹介し、かなり高度なアプリケーションを作成する方法を説明します。 次のトピックが考慮されます:アーキテクチャコンポーネント、外部形式の定義、コントローラーのプログラミング、Web Dynproのモジュール化、動的な変更、構成、パーソナライズ、拡張。 このコースのWeb Dynproアプリケーションの例を次に示します。







一般に、ABAPの基本コースを説明しましたが、それらはすべてABAP2認定ABAPerプログラムの一部です。 遠隔学習には、より狭い問題とその逆の幅広い問題に関する他のトレーニングがあります。



頑張って!



All Articles