ABAP開発者として、カスタムSAPプログラムの品質向上に貢献したいと考えています。 この目的のために、SAPナレッジベース( SAPコミュニティネットワーク )からの、興味深く、最も重要で有用な、あまり一般的ではないテクニックに関する記事の翻訳シリーズを公開したいと思います 。 重要な概念をロシア語に翻訳するのは非常に難しく、さまざまな解釈が混乱を招くため、それらを英語で引用します。
著者から:
奇妙な記事のタイトル? トランザクションSAABとラテンアルファベットの3番目の文字(Charlie = C)をバインドします。 特に、この記事ではログポイントについて説明します。 ABAPログポイントは、NW2004sバージョンから入手できます。
2005年にこの手法が導入されて以来、このトピックはSCNで何度か議論されてきました。たとえば、
- チェックポイントグループは、すべてのABAPerの強力な友人ですが、注意してください! アンドレア・オリビエリ
- Claudia Dangersのチェックポイントグループを使用してABAPコードを計測する方法
チェックポイントグループを使用することのすべての利点にもかかわらず、この技術はカスタムABAP開発でまだ広く使用されていません。 考えられる理由の1つは、開発者の使用不足とテクノロジーの利点の認識です。 この記事では、ログポイントを使用する可能性のあるシナリオの1つに焦点を当てます。 また、ログポイントを使用する段階的な例を検討してください。 これとは別に、これはチェックポイントグループを使用するための完全なガイドではないことに注意してください。 トピックの完全な研究については、 help.sap.comに連絡することをお勧めします 。 また、ABAPプログラムの例は標準のふりをしていません;このコードは特定の例を研究するために考案されました。
1.ユースケース
何度も何度も繰り返し発生する問題に直面しなければなりません。 たとえば、本番システムでエラーが発生し、テストシステムまたは開発システムで再現することはできません。 機能コンサルタントは開発者にうなずき、開発者は問題がシステム構成(つまり、コンサルタント)にあることを確信します。 開発者はすべてのシステムでコードを比較し、矛盾は見つかりません。 テストでは、すべてが正しく機能し、開発者は再びコンサルタントに頼ります。 コンサルタントは、順番に構成をチェックし、相違点も見つけず、ABAPコードにエラーがあると見なします。 円は閉じています。 エンドユーザーは、彼の問題がまだ解決されておらず、緊急に修正する必要があることを非常に心配しています。 開発者は、問題をより深く検討することにしました。 アプリケーションログを調べた後、問題が発生した場所を特定できますが、その出現の理由はまだ明らかではありません。 プログラムがどのデータを操作しているかを調べて別のシステムと比較することは非常に便利ですが、多くの理由で製品のデバッグは不可能です。
2.例
以下は、ログポイントの使用がいかに簡単かを理解できる基本的な例です。 以下に、ロギング用の任意のメソッドの入力および出力パラメーターを宣言する方法を説明します(Logへの入力)。 重要な方法については、着信および発信パラメーターのロギングを宣言することをお勧めします。 開発者は、ロギング用に任意の変数を宣言できます。
2.1プログラム
この記事の一般的な考え方に従って、BORDER_CONTROLメソッドを使用してクラスが作成されました。 メソッドは、入力および出力パラメーター(テーブル)を宣言しました。 テーブル構造には、フィールド名、説明、国籍、日付、および任意のフラグが含まれます。


テスト用に、テーブル処理メソッドを呼び出すプログラムを以下に示します。

2.2チェックポイントグループの構成
Logpointを維持できるようにするには、チェックポイントグループを作成してアクティブにする必要があります。

Logpointsパラメーターの場合、状態をLogに変更します

ログの特定のユーザーを定義することもできます。 このオプションは、ユーザーボタンを押した後に使用できます。

クリックして


チェックポイントグループを保存します。 保存すると、グループの活動期間を決定する必要があるダイアログが表示されます。 プログラムを実行する直前にログをアクティブにし、すぐに非アクティブにすることを強くお勧めします。 この推奨事項は、 ログレコードが格納されているテーブルは自動的に維持されず、印象的なデータ配列を蓄積する可能性があります。

グループをアクティブにした後、テストプログラムを実行します。 ワークアウト後、ログが作成されます(tr。SAAP-> Checkpoint group-> Logタブ)

ログエントリでツリーを開くと、保存用に指定された変数/テーブルを表示できます(LOG-POINT演算子のFIELDSパラメータ、メソッドコードを参照)。 この例では、BORDER_CONTROLメソッドの入力および出力テーブルがパラメーターとして指定されています。

着信テーブルのエントリを確認できます。

発信テーブルには、フラグがチェックされた処理済みレコードが含まれます。

開発者はこの情報を使用して、ローカライズして問題の可能性を見つけるためのデータの配列を取得したり、さらにデバッグするために別のシステムで状況を再現したりできます。 Logpointコードを補完するのに必要な時間は最小限であり、著者はユーザー開発で使用されるチェックポイントグループの数が増えることを望んでいます。
この記事では、ログポイントを使用する利点を説明する1つの例を説明しました。 この例には記載されていない他の多くの使用法があります。
すでにチェックポイントグループを使用している場合は、コメントに経験を書いてください。
チェックポイントチャーリーの情報はこちらにあります 。
元の記事はリンクで見つけることができます 。