データベース
 Computer >> コンピューター >  >> プログラミング >> データベース

OracleFormsAPP_MULTIパッケージを使用する

Oracle®APP_MULTIパッケージを使用すると、フォームに複数選択機能を追加できます。このオプションはAPPCOREライブラリで利用できます。

APP_MULTIパッケージを使用すると、単一または複数のレコードを選択して、必要に応じて処理できます。次の画像は、ランダムなレコード選択を示しています。

OracleFormsAPP_MULTIパッケージを使用する

画像ソース :https://i36.me/images/oracle/ebs/ebs_frm_lnchse_with_app_multi_01.jpg

機能性

APP_MULTIパッケージを使用すると、次のアクションを実行できます。

  • 1つのレコードをクリックして選択します。

  • Ctrlキーを押したまま複数のレコードをクリックして、同時に複数のレコードを選択します。

  • すべて選択を選択します アプリケーションメニューからすべてのレコードを選択します。

  • すべて選択解除を選択します アプリケーションメニューから、選択したすべてのレコードの選択を解除します。

  • 最初のレコードをクリックし、Shiftキーを押しながらシーケンスの最後のレコードをクリックして、連続する複数のレコードを選択します。

APP_MULTIパッケージイベント

APP_MULTIパッケージは、フォーム上の次のイベントに応答します。

  • KEY-CLRFRM :(フォームレベル)フォームをクリアする前にレコードを検証します。使用例:APP_MULTI.EVENT('KEY-CLRFRM');

  • KEY-CLRREC :(ブロックレベル)現在のレコードをクリアすると発生します。 clear_recordと同等です コマンド。

  • KEY-CREREC :(ブロックレベル)新しいレコードを作成したときに発生します。 create_recordと同等です コマンド。

  • KEY-DELREC :(ブロックレベル)既存のレコードを削除したときに発生します。 delete_recordと同等です コマンド。

  • プレブロック :(ブロックレベル)ブロックに入ると発生します。

  • POST-BLOCK :(ブロックレベル)ブロックを終了すると発生します。

  • SELECT_ALL :(ブロックレベル)すべてのレコードを選択すると発生します。

  • DESELECT_ALL :(ブロックレベル)すべてのレコードの選択を解除すると発生します。

  • WHEN-CLEAR-BLOCK :(ブロックレベル)ブロックをクリアすると発生します。

  • WHEN-MOUSE-CLICK :(ブロックレベル)マウスをクリックすると発生します。

  • WHEN-NEW-RECORD-INSTANCE :(ブロックレベル)ブロックでレコードを作成またはクエリしたときに発生します。

トリガーを手動で作成

必要なトリガーを作成し、 APP_MULTI.EVENTを明示的に呼び出す必要があります 次の例に示すように、処理されるイベントの名前を渡すことによる手順:

PROCEDURE event(p_event_name VARCHAR2,p_blockname
VARCHAR2 DEFAULT NULL);

たとえば、KEY-CLRREC トリガーは、次のコマンドのように単純にすることができます:

APP_MULTI.EVENT('KEY-CLRREC');

注: このプロシージャは、オプションの引数p_blocknameを受け入れます 。 p_blocknameを渡さない場合 、プロシージャは SYSTEM.TRIGGER_BLOCKの値を使用します 。

選択および選択解除イベント

カスタムのMULTI_RETURN_ACTIONを実装する場合 トリガー(データブロックまたはフォームの最上位)で、システムはレコードの選択と選択解除を通知します。トリガーは、すべての個人またはバルクレコードの選択または選択解除の後に起動します。

トリガー変数

トリガーでは次の変数を使用できます。

  • GLOBAL.APPCORE_MULTI_BLOCK グローバル:レコードの選択または選択解除の影響を受けるデータブロックの名前があります。

  • GLOBAL.APPCORE_MULTI_ACTION グローバル:次のいずれかの値があります:

    - **'RECORD\_SELECTED'**: When a record is selected
    
    - **'RECORD\_DESELECTED'**: When a record is deselected
    
    - **'LABEL\_CHANGE'**: When the **Select All** or **Deselect All** menu
      items are enabled or disabled
    
  • APP_MULTI.LOOPING パッケージ変数: MULTI_RECORD_ACTION を呼び出したかどうかに応じて、TRUEまたはFALSEのいずれかの値になります ループ内。

フォームで選択されたデータを取得します

APP_MULTIパッケージには、データブロックごとに、現在選択されているレコードのレコード番号を含むレコードグループがあります。

データブロックの名前を指定すると、次のタスクを実行できます。

  • ** APP_MULTI.GET_GROUP_COL関数を使用して、レコードグループののみにアクセスします 特定のデータブロックの列。

  • APP_MULTI.GET_GROUP_COUNTを使用します 選択したレコードの数を取得します。

たとえば、個別のジョブフォームがある場合、 W_JOBSをブロックします 、およびフィールド、 WIP_ENTITY_ID 、次のPL / SQLコードを使用して、選択したジョブのIDを出力できます。

DECLARE
 record_number_column    groupcolumn;
 selected_record_count   NUMBER;
 BEGIN
   record_number_column := app_multi.get_group_col ('W_JOBS');
   selected_record_count :=app_multi.get_group_count ('W_JOBS');

 FOR i IN 1 .. selected_record_count
  LOOP
   DECLARE
    record_number     NUMBER;

  v_wip_entity_id   NUMBER;
  BEGIN

   record_number := GET_GROUP_NUMBER_CELL (record_number_column, i);

   GO_RECORD (record_number);

   v_wip_entity_id := NAME_IN ('W_JOBS.WIP_ENTITY_ID');

   fnd_message.debug ( 'v_wip_entity_id' || v_wip_entity_id);

   EXCEPTION
    WHEN OTHERS  THEN
      Null;
  END;
 END LOOP;
END;
結論

APP_MULTIパッケージを使用すると、カスタムOracleフォームでバルクデータを処理できます。このパッケージを使用すると、ユーザーが標準フォームで選択したバルクデータの詳細を取得できます。フォームのパーソナライズまたはcustom.pllで使用できます 標準のOracleフォームにカスタム機能を追加するコード。

コメントや質問をするには、[フィードバック]タブを使用します。今すぐチャットして会話を開始することもできます。

データベースの詳細をご覧ください。


  1. Oracle Databaseのリフレッシュ可能なクローン機能を使用する—パート1:はじめに

    Oracle®Database18cforEnterprise Edition on Cloudは、多くの新機能と改善された機能を備えたエンジニアリングシステム(Exadata)をバンドルしています。リリース18cは、クイックスイッチオーバーまたはフェイルオーバー機能を追加することにより、12cリリース2からの更新可能なクローン機能を改善します。スナップショットカルーセルを作成して、マルチテナント環境でプラガブルデータベース(PDB)を複製または複製することもできます。 実稼働環境では、更新可能なclonePDB機能を備えたスナップショットカルーセルを使用して、予期しない停止からの保護や論理

  2. 画面がオフのときに OK Google を使用する方法

    Google アシスタントは、Android ユーザーの生活を楽にする非常にスマートで便利なアプリです。人工知能を使用してユーザー エクスペリエンスを最適化するのは、パーソナル アシスタントです。スケジュールの管理、リマインダーの設定、電話の発信、テキストの送信、Web の検索、ジョークの解読、歌の歌など、複数の実用的な目的を果たすことができます。さらに、シンプルでありながら機知に富んだ会話をすることもできます。あなたの好みや選択を学習し、徐々に改善していきます。 A.Iなので(人工知能)、それは時間とともに常に改善されており、ますます多くのことができるようになっています.言い換えれば、機能の