問題タブ [dynpro]
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.
abap - 表示期間の書式設定
PxDTyH
SAP データベースには、x が日数、y が時間数のようにフォーマットされた値があります。のような値P2DT0H
は 2 日 + 0 時間です。私はそれを見ることができますSE16
:
残念ながら、これはユーザーには「3」がデータベースのインデックスに対応するように正確に表示されます (上のスクリーンショットには表示されていません)。
表示してほしい
- インデックスなし (「ドロップダウン リスト内にキーを表示する」オプションを変更しても効果はありませんでした)
- 技術的な名前の代わりに、
P2DT0H
「2 日と 0 時間」(または類似) を表示したい
コンボ ボックスに表示される前にデータを処理する方法はありますか? API が変更されるため、開発者はデータベースの形式を変更できません。
参考までに: 私は単なるテスターです。ABAP でコーディングする方法はわかりませんが、他のプログラミング言語の知識から、データを表示する前に変換できると思います。本格的な答えは必要ありません。変換関数の作成を可能にする SAP フックまたはイベントへのポインターだけです。
abap - ABAP SAPMV45A 追加フィールド タブ
多数のカスタム テーブルに保存されているトランザクション VA42 (契約) で情報を提示する必要がある顧客からの要件があります。VBAK の追加構造を介してデータを利用することはできず、自分でこの変更を行うことはできません。
画面を登録し8309
、フィールドを追加し始めました。そのPBO
ため、データを画面のフィールドにマップする場所を確保するために、モジュールを作成しました。モジュールにブレークポイントを配置しました。ブレークポイントがトリガーされ、提示したいデータが取得されています。ユーザー出口のフィールドに書き込みますが、これまでに行ったことはありません。
私が試したこと:
GET
とを使用できるように、フィールドに「パラメータ ID」を指定しSET PARAMETER ID
ました。これは機能しません。このステートメントを使用した後、フィールドは空のままです。
http://hastebin.com/qinerexola.sql
- 構造/名前でフィールドに名前を付ける代わりに、フィールドに通常の名前を付け、
DYNP_VALUES_UPDATE
データを提供されたフィールドにマップしようとしました。Sy-subrc は 0 を返しますが、項目は更新されません。
http://hastebin.com/anakirikah.sql
- フィールドに (構造)-(フィールド) という名前を付けて、上記の汎用モジュールを使用してみました。これもうまくいきませんでした。
- ループし
screen
て、フィールドの名前が表示されるのを見ましたが、この構造にはその値に関する情報がありません。少なくとも、私が見ることができる情報はありません。
VBAK にフィールドを追加するオプションがありませんが、拡張画面のフィールドに顧客テーブルのカスタム データを入力することは可能ですか?
abap - ダイアログ画面を介して行の内容を動的に更新する
次の問題について助けが必要です。現在、ユーザーが数字を入力できるフィールドを含むダイアログ画面が 1 つあります。この番号は、(se/11 を使用して) 私が作成したデータベース テーブルの ID フィールドに対応しています。すべてのフィールドの内容 (テーブルの 1 行のみ) を対応する ID と共に 2 番目の画面に表示したいと考えています。ユーザーはフィールド内の情報も編集できる必要があり、保存後、それらの変更はテーブル自体に表示される必要があります。結局のところ、返された行の内容をダイアログ画面で動的に変更したいということです。テーブル コントロールを使用する必要があることはわかっていますが、それ以外は途方に暮れています (ABAP の初心者です)。
これがテーブルです
SEQNR
ユーザーが表に対応する番号を入力できる画面 1
画面 1 で F8 を押すと、次の画面に移動して、 を持つ人の情報が表示されSEQNR = 1
ます。つまり、次の行だけが表示されます。
ユーザーは、この行の情報を編集できる必要があります。「保存」をクリックすると、編集された情報がテーブル自体で更新されます。
これまでのところ、スクリーン ペインタで上記のテーブルにテーブル コントロールを追加した、標準の 2 番目の画面のみを作成しました。このコントロールを DIALOG_TOP に追加しました。
標準の PBO および PAI モジュール以外に、画面 2 のコードはありません。画面 1 のコードは次のようになります。
基本的に、テーブルに Seqnr が存在するかどうかを確認します。存在する場合は、DIALOG_TOP で定義したローカル構造に対応する行を格納します。