問題タブ [sap-basis]
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.
filter - RFC を使用してセキュリティ監査ログの静的および動的フィルターを読み取る
RFC 接続を使用して、SAP 監査ログの静的および動的フィルター設定 (sm19) を読み取ろうとしています。
静的フィルターの場合、それらはテーブルに保存されていることがわかりましたrsauprof
:
関心のある分野は ですがMSGVECT
、ビットベクトルのように見えるため、その値を解釈するのに問題があります。その値を人間が読める形式に変換する方法は?
動的フィルターの場合、保存されたフィルター設定を探す場所が見つかりませんでした。
問題は、SAP から動的および静的な SAP 監査ログ フィルター設定を読み取る方法です。
locking - テーブル エントリ ロックの削除
FM ENQUE_DELETE を使用してみましたが、一部のテーブル エントリのロックを削除するために期待される結果が得られません。
さまざまな種類のロックがあり、それらのテーブル エントリをロックしたプログラムがロック タイプ 'E' を使用していることに気付きました。
ロック タイプを 'S' (共有) に設定して、最初のプログラムがテーブル エントリを「ロック」できるようにできますが、2 番目のプログラムが実行されると、テーブル ロックを削除できますか?
data-migration - SE16 によってエクスポートされた SAP テーブルをインポートできますか?
すべてのエントリを選択し、[ダウンロード、未変換] を選択して、トランザクション SE16 でテーブルの内容をエクスポートしました。
これらのエントリを別のシステム (同じテーブルが存在し、アクティブなシステム) にインポートしたいと考えています。
さらに、インポートすると、多数のエントリ (古いエントリ) に対して特定のキーが既に存在する可能性があります。
他のエントリには、それらがインポートされるテーブルに存在する同じキーを持つフィールドがありません (新しいエントリ)。
最初のシステムから提供されたファイルを使用して、2 番目のシステムのテーブルを簡単に更新する方法はありますか? 必要に応じて、他の 3 つの形式 (スプレッドシート、リッチ テキスト形式、HTML 形式) でデータをエクスポートできます。スプレッドシートやリッチ テキスト形式がデータを破損することがあり、html が冗長すぎるように思えます。
[編集] 一般的な要求に従って、エクスポート/インポートしようとしているテーブルは、フィールドがすべて数値、文字、日付、または時刻フィールド (フラット データ型) である Z テーブルです。
クライアントには転送に役立つ基本リソースがなく、1 つのシステム内のテーブルの 1 つを更新するプロセスを「キンナ」自動化したいため、私はこのようにしようとしています。
現時点では、このようにするのはビジネス上の要求ですが、私は提案を受け付けています (クライアントもオープンです)。
java - SAP JCo を使用した RFC_READ_TABLE のフィールドのフィルタリング
JCo を使用して、SAP から MySQL データベースにデータを抽出する単純な Java ユーティリティを作成しようとしています。JCo のドキュメントを理解し、 SAP ヘルプ ポータルに記載されている関連する例を試してみました。テーブルからデータを取得し、MySQL DB に挿入することができました。
私が欲しいのは、次の2つの方法でデータをフィルタリングする機能です:
- 必要なフィールドだけを取得したいと思います。
- 特定のフィールドの値が特定のパターンに一致する場合にのみ、行をフェッチしたいと思います。
いくつかの調査を行った後、フィルター処理されたデータのみを取得するようにクエリパラメーターを指定する方法が見つかりませんでした。基本的に、テーブルからすべてのフィールドをクエリします。不要なデータを除外する必要があると思います私のJavaクライアント層で。ここで何か見逃している場合はお知らせください。
コード例を次に示します。
このメソッドは、SAP がメタデータまたはデータ ディクショナリを格納するテーブルを読み取ろうとし、出力を csv ファイルに書き込みます。これは正常に機能しますが、30 ~ 40 秒かかり、32 列の約 40 万件のレコードが返されます。私の意図は、すべてのフィールドを読み取ってクライアント層で破棄するのではなく、特定のフィールドのみを返すようにクエリを制限できる方法があるかどうかを尋ねることでした。
ありがとう。
abap - Java アプリケーションへの STAD データ抽出
SAP は、ユーザーが実行したすべてのトランザクションをログに記録し、月ごとに集計します。ユーザーID、日付、時刻、トランザクション実行インスタンスなどを保存する情報
テーブル MONI には、この情報が含まれています。しかし、このテーブルを確認すると、生データのように見えます。トランザクション コードを介して表示されるとデコードされますSTAD
。
BAPI または RFC 呼び出しを介して STAD データを Java アプリケーションに抽出したいと考えています。
abap - プログラムによるパッケージ全体のオブジェクト名と転送要求の取得
私は2つの別々のシステム(開発とテスト)を持っており、すべてのオブジェクト(プログラムとすべてのインクルード)について、開発中のバージョンが開発中のバージョンと一致することを確認する必要があります. オブジェクトごとに SE80 -> ユーティリティ -> バージョン管理に移動して手動でこれを行うことができますが、数百または数千のオブジェクトの場合、これは非常に時間がかかります。
テーブルまたはスプレッドシートに出力できるように、オブジェクト名と TR をプログラムで取得する方法はありますか?
編集。(Vwgert 私にはこれが機能しているように思えます - もし機能しない場合は、なぜ機能しないのかもう少し説明していただけますか? ありがとう)
したがって、次の JOIN を使用すると、システム内のすべてのオブジェクト、タイプ、および最新の TR を取得できると思います。
sap-basis - 学習目的の SAP Education Server インスタンス
ここ数年、私の会社では、非常に優れたソフトウェアであることが証明されている SAP ソフトウェアを使用しています。
定期的に当社を訪問する学生向けの学習目的で使用されるSAPテスト教育インスタンスを開くことに興味があります。これらは、このソリューションに必要な最も重要な機能です。
このインスタンスにはダミーの企業コードが含まれている必要があり、構成によってメイン (本番) サーバーと同じである必要があります。
学習目的には十分であるが、会社に関する実際のデータを明らかにしないいくつかの例を除いて、すべての取引データは空でなければなりません。
このインスタンスは、何らかの方法で実際のDEV-QAS-PRD から仮想的に分離し、学習および教育目的でのみ使用する必要があります。
だから、これらは私の質問です:
PRD サーバーのレプリカを作成し、レプリカ上のトランザクション データを削除して、PRD から構成を維持することは可能ですか?
上記の目的以外に、この目的を達成する方法はありますか?
どんな助けでも大歓迎です。迅速な返信に感謝します!
万歳、Mc
javascript - Cross Origin Resource Sharing (CORS) の問題
xml+atom 応答を返す Web サービスがいくつかあります。これらは、SAP NetWeaver Gateway アプリケーション サーバーでホストされます。それらにアクセスするには、BASIC 認証が必要です。応答には、CORS をサポートする次のヘッダーが含まれています。
以下のように、jquery を使用してサービスを呼び出す HTML5 アプリがあります。
サーバーの応答にヘッダーが含まれているにもかかわらず、次のような CORS エラーが引き続き発生します。
ユーザー名 (uname) とパスワード (passwd) が正しい。RestClient などのツールを使用してサービスを呼び出してみると、応答にヘッダーが含まれていることがわかります。Chrome バージョン 31.0 と Safari バージョン 6.0.5 でテストを試みました。何が欠けているのかわかりません。問題の解決に役立つ提案は素晴らしいでしょう。
ありがとう。
versioning - オブジェクトへの変更を、ロックされているもの以外の別の TR に保存できますか?
レポート ソースの編集モードに切り替えようとすると、ポップアップが表示されます。
「次のユーザー XXX の要求に対して、新しいタスクが作成されます」。
トランスポートリクエストも提案されています。
ただし、変更をこのリクエストではなく、別の既存のリクエストに保存したいと思います。私のシステムにバージョン管理システムが実装されていることを認識しておらず、それを確認する方法もわかりません。
私が達成しようとしていることは可能ですか?もしそうなら、どのように?
active-directory - LDAPMAP - RSLDAPSYNC_USER 関数による SAP データの LDAP へのマッピング
LDAP (Active Directory) データの一部を SAP に保存されているものと同期することを検討しています。SAP は、カスタム プログラムを記述してデータのマッピングを処理できる機能モジュールをいくつか提供していますが、RSLDAPSYNC_USER を利用する提供されたソリューションの使用を検討しています。
私が抱えている問題は、フィールドのマッピングが LDAPMAP でどのように実行されるかを理解することです。特に、マッピングの概要を実行する場合、以下に示すような構造はどこに定義されていますか?
また、LDAP に送信したいすべてのフィールドを取得するために現在使用できる関数モジュールがありますが、以下に示す画面を使用して、カスタム関数モジュールを呼び出して必要なデータを取得できますか? もしそうなら、例を挙げてください。
ありがとう、マイク