問題タブ [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.

0 投票する
1 に答える
113 参照

abap - 表示期間の書式設定

PxDTyHSAP データベースには、x が日数、y が時間数のようにフォーマットされた値があります。のような値P2DT0Hは 2 日 + 0 時間です。私はそれを見ることができますSE16

データベースのデータ、SE16 のスクリーンショット

残念ながら、これはユーザーには「3」がデータベースのインデックスに対応するように正確に表示されます (上のスクリーンショットには表示されていません)。 ユーザーに表示される時間

表示してほしい

  • インデックスなし (「ドロップダウン リスト内にキーを表示する」オプションを変更しても効果はありませんでした)
  • 技術的な名前の代わりに、P2DT0H「2 日と 0 時間」(または類似) を表示したい

コンボ ボックスに表示される前にデータを処理する方法はありますか? API が変更されるため、開発者はデータベースの形式を変更できません。

参考までに: 私は単なるテスターです。ABAP でコーディングする方法はわかりませんが、他のプログラミング言語の知識から、データを表示する前に変換できると思います。本格的な答えは必要ありません。変換関数の作成を可能にする SAP フックまたはイベントへのポインターだけです。

0 投票する
4 に答える
13699 参照

abap - 通話画面に戻るには?

私の現在のスクリーンビルドは次のようになります。

現在のプログラム

しかし、画面250 (画面と呼ばれる) から 100 (呼び出し画面)に戻ろうとすると、プログラムが終了します。

皆さんが私を助けてくれることを願っています。ありがとう!

0 投票する
1 に答える
823 参照

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 にフィールドを追加するオプションがありませんが、拡張画面のフィールドに顧客テーブルのカスタム データを入力することは可能ですか?

0 投票する
1 に答える
964 参照

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 で定義したローカル構造に対応する行を格納します。