問題タブ [badi]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sap - SAP cProjects レプリケーション: タスクレベルの WBS を設定する
cProjects でプロジェクトを作成するときBADI BADI DPR_FIN_GECCO_ATTR
、SAP PS で作成された外部 WBS ID を操作するために使用しています。
SAP は、フェーズ レベルで渡された ID を受け入れますが、タスク レベルでは、SAP は WBS ID の末尾に文字列 "/TTO" を追加します。なぜこれが起こるのか、どうすればそれを取り除くことができるのか。「/TTO」は PS の構造に違反またはマスキングしていますか?
abap - IDOC_CREATION_CHECK パラメータがいっぱいですか?
3 つのパラメーターIF_EX_IDOC_CREATION_CHECK
を持つメソッドを持つインターフェイスの実装を確認しています。IDOC_DATA_CHECK
- IDOC_CONTROL タイプ EDIDC
- IDOC_DATA タイプ EDIDD_TT
- CREATE_IDOC タイプ C
そして私の問題は、このインターフェースや例に関連するドキュメントがインターネットで見つからないことです。IDOC_DATA
が呼び出されたときにパラメーターが持つ値を具体的に知りたいですか? 一度に 1 つの品目から IDoc を処理しますか? それとも、すべての品目のすべての IDoc を保持しますか?
私の頭を壊しているコードは
ステートメントになると、次の IDoc を処理せずにループを抜けますが、すべての品目の次の IDoc のすべてのチェックを停止するか、別の品目の次の IDoc のセットでメソッドが再度呼び出されるexit.
かは正確にはわかりません。IF_EX_IDOC_CREATION_CHECK~IDOC_DATA_CHECK
.
残念ながら、このインターフェイスは他のシステムのデータを直接変更するため、サンプル データを使用して実行することはできません。そのため、コードを読み取ることができます。
ですから、この問題で経験や参考になった人がいれば、助けていただければ幸いです。
前もって感謝します。
abap - 特定のインフォタイプ レコードの作成を禁止しますか?
私の目的は、一部の人事担当者の作成 105 インフォタイプ (通信) からユーザーを保護することです。インフォタイプの更新を保存するたびに呼び出されるHRPAD00INFTY BADIを見つけました。しかし、問題は、IN_UPDATEメソッド内からインフォタイプの作成/更新を防ぐことができないことです。
問題の解決策を知っている人はいますか?
abap - ユーザー依存のBAdI実装。どのように?
ユーザー依存のBAdI実装を作成する方法はありますか?つまり、BAdIには、ログに記録され、特定のトランザクションを呼び出すユーザーに応じて呼び出されるさまざまな実装があります。
他のシナリオは、このユーザーの特定の実装を呼び出さず、他のユーザーを呼び出すことです。可能ですか?
今は簡単なチェックを使っています
sap - プログラムでSAPBPCダイナミックスクリプトのソースコードを取得する
SAPBPCパッケージの動的スクリプトのソースコードを取得する方法を知りたいのですが。
説明しようと思います。SAPBPCでは、動的スクリプトと呼ばれるコンポーネントを記述でき、Excelアドインを使用してソースを保存できます。
動的スクリプトはSAPBPC「パッケージ」に関連付けられており、ABAPBADIを呼び出すことができるコードの一部です。
私が知りたいのは、このコードがBWにどのように格納されているか、相対パッケージにどのようにリンクされているか、プログラムでどのように取得するかです。
ありがとうございました。
abap - プログラムで BW から BAdI を取得します。どのように?
BW を使用して生成された ABAP プログラムのソース コードをプログラムで取得したいと考えています。
パラメータとして名前を使用してBADIソースを取得し、各BADIをプログラムの名前でファイルに保存するソースをローカルディスクに保存できるABAPプログラムが必要です。
abap - ME51n tcode で項目レベルでカスタム フィールドを編集可能にする方法は?
私のリクエストは、トランザクション ME5xN のアイテムにカスタム フィールドを追加することです。
出口 MEREQ001 といくつかの出口関数を見つけました - しかし、私が見る限り、それらはあまり役に立ちません。
その中にいくつかのBADIが見つかりましたが、それらの使い方がよくわかりません。また、それらが役立つかどうかもわかりません。
とにかく、exit MEREQ001 のドキュメントで何か便利なものを見つけました。テーブル CI_EBANDB を作成し、それにフィールドを追加すると、それらのフィールドがテーブル EBAN に追加されると書かれています (したがって、追加の作業を行う必要はありません)。
また、このインクルード構造は、アイテムを表示するために使用される表示構造 MEREQ3211GRID に含まれています。
したがって、CI_EBANDB を追加すると出来上がりです。私のフィールドがあります。
私の問題は、このフィールドが編集できないことであり、編集可能にする方法がわかりません。
テーブルは CONTROLS: xxx TYPE TABLEVIEW WITH SCREEN 3211 です。画面ループで呼び出されるモジュールにブレークポイントを設定すると、ブレークポイントに到達しません。
この構造体が LVC_FIELDCATALOG_MERGE の呼び出しで使用されるプログラム SAPLMEGUI 内には 1 つの場所しかないことがわかります。その結果のフィールドカタログのプロパティを変更すると、出力が画面に表示されます....
結論: フィールドを編集可能にする方法がわかりません。
PS フィールドは、トランザクション ME51N および ME52N で常に編集可能である必要があります。
abap - 標準画面の拡張方法 F-41
、 の T コード F-41 を拡張する必要がありXref1_HD
ますXref2_HD
。
BAdI があることは知っていますが、まだ学習中であるため、拡張も BAdI も使用したことがありません。
Dynpro1300
と BAdIFI_HEADER_SUB_1300
がありますが、使い方がよくわかりません。
SAPLBADI_EXAMPLE_1300
また、実装でそれを見つけて使用しました。Z
プログラムとそれを使用する独自の Dynpro を作成することは可能ですか?
abap - BAPI、BAdI、拡張、修正の違いは何ですか?
BAPI (ビジネス アプリケーション プログラミング インターフェース)、BAdI (ビジネス アドイン)、カスタマ拡張、およびカスタマモディフィケーションの違いは何ですか?
abap - ME_PROCESS_REQ_CUST による購買要求の行の無効化
ユーザーが BAdI 実装を介して購買依頼を保存できないようにし、明細行とアカウントを確認しようとしています。私がスローしたエラーメッセージは保存プロセスを停止しません.POの場合のように、行を無効にする方法を見つけることができません. そのため、不完全なデータを含む PR を保存できます。
購買依頼 BAdI を拡張し、 に実装IF_EX_ME_PROCESS_REQ_CUST
しましたZCL_IM_EI_PROCESS_REQ_CUST
。メソッド PROCESS_ITEM
でPROCESS_ACCOUNT
は、アカウントとアイテムのいくつかのインポートにアクセスできます。PO とは異なり、アイテムを無効にする方法が見つかりません。使用されているクラスは、その機能を提供していません。
私が BAPI でアクセスできる PR 項目オブジェクトは、インターフェイスIF_PURCHASE_REQUISITION_ITEM
であり、関数プールのローカル クラスとして実装されていますMEREQ
。このインターフェイスにはメソッドIS_VALID
がありますが、メソッドを持つ PO アイテム インターフェイスとは対照的に、無効にするものは何も提供しませんINVALIDATE
。
編集
MY_STATE-BROKEN_RULES
さらにデバッグした後、ローカル クラスのメンバーを介して無効化が行われたようMEREQ/LCL_REQ_ITEM
です。どうすればこれにアクセスできますか?