9.9 CREATE_TASKファンクション
このファンクションは、新しいタスクを作成します。新しいタスク(インスタンス)が作成されます。タスク定義参加者の設定に応じて、タスクは状態Unassigned
またはAssigned
に設定されます。
タスク定義の潜在的所有者が単一の場合、タスクはAssigned
に設定されます。
タスクの潜在的所有者が複数の場合、タスクはUnassigned
に設定され、潜在的所有者のいずれかによって要求できます。このプロシージャは、対応するタスク定義に潜在的所有者が見つからない場合、例外をスローします。
構文
APEX_APPROVAL.CREATE_TASK (
p_application_id IN NUMBER DEFAULT apex_application.g_flow_id,
p_task_def_static_id IN VARCHAR2,
p_subject IN VARCHAR2 DEFAULT NULL,
p_parameters IN t_task_parameters DEFAULT c_empty_task_parameters,
p_priority IN INTEGER DEFAULT NULL,
p_initiator IN VARCHAR2 DEFAULT NULL,
p_initiator_can_complete IN BOOLEAN DEFAULT NULL,
p_detail_pk IN VARCHAR2 DEFAULT NULL,
p_due_date IN TIMESTAMP WITH TIME ZONE DEFAULT NULL )
RETURN NUMBER;
パラメータ
パラメータ | 説明 |
---|---|
p_application_id |
タスクを作成するアプリケーションID。 |
p_task_def_static_id |
タスク定義の静的ID。 |
p_subject |
件名(タスクの式)。 |
p_parameters |
タスクのパラメータ。 |
p_priority |
(オプション)タスクの優先度。デフォルトはNULLです。優先度が指定されていない場合は、対応するタスク定義に設定されている優先度を使用します。 |
p_initiator |
(オプション) TRUE の場合、タスク・インスタンスのイニシエータはこのタスクを承認または却下できます。値が指定されていない場合は、対応するタスク定義の設定が使用されます。
|
p_initiator_can_complete |
(オプション)タスクの開始者がタスクを完了できるようにします(デフォルトはNULL)。このパラメータを指定しない場合、対応するタスク定義の値が使用されます。 |
p_detail_pk |
(オプション)タスク詳細の主キー値。 |
p_due_date |
(オプション)タスクの期日を表すページ・アイテム。この値を指定すると、このタスクが基づいているタスク定義に指定されている期日が上書きされます。 |
戻り値
新しく作成されたタスクのリソースIDを戻します。
例
次の例では、データベース内のレコードのシステムに購買依頼品目を作成した後、ユーザーが承認した購買依頼品目を取得するために新しいヒューマン・タスクを作成します。
DECLARE
l_req_id number;
l_req_item varchar2(100) := 'Some requisition item requiring approval';
l_req_amount number := 2499.42;
l_task_id number;
BEGIN
insert into requisitions(created_by, creator_emailid, item, item_amount, item_category)
values (:emp_uid, :emp_email, l_req_item, l_req_amount, 'Equipment')
returning id into l_req_id;
commit;
l_task_id := apex_approval.create_task(
p_application_id => 110,
p_task_def_static_id => 'REQAPPROVALS',
p_subject => 'Requisition ' || l_req_id || ': ' || l_req_item || ' for ' || l_req_amount,
p_initiator => :emp_uid,
p_initiator_can_complete => true,
p_parameters => apex_approval.t_task_parameters(
1 => apex_approval.t_task_parameter(static_id => 'REQ_DATE', string_value => sysdate),
3 => apex_approval.t_task_parameter(static_id => 'REQ_AMOUNT', string_value => l_req_amount),
4 => apex_approval.t_task_parameter(static_id => 'REQ_ITEM', string_value => l_req_item),
5 => apex_approval.t_task_parameter(static_id => 'REQ_ID', string_value => l_req_id)
),
p_detail_pk => l_req_id
);
END;
親トピック: APEX_APPROVAL (非推奨)