6.7 CREATE_TASK Function
This function creates a new task. A new Task (Instance) is created. Depending on the task definition participant setting, the Task is set to state Unassigned or Assigned.
                  
If the task definition has a single potential owner, the Task is set to Assigned.
                  
If the task has multiple potential owners, the Task is set to Unassigned and can be claimed by any of the potential owners. This procedure throws an exception if no potential owners are found in the corresponding task definition.
                  
Syntax
APEX_APPROVAL.CREATE_TASK (
    p_application_id         IN NUMBER            DEFAULT wwv_flow.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_detail_pk              IN VARCHAR2          DEFAULT NULL )
return number; )Parameters
Table 6-7 CREATE_TASK Parameters
| Parameter | Description | 
|---|---|
| p_application_id | The application ID that creates the Task. | 
| p_task_def_static_id | The Task Definition static ID. | 
| p_subject | The subject (expression of the Task). | 
| p_parameters | The task parameters. | 
| p_priority | (Optional) A task priority, default is NULL. If no priority is provided, uses the priority set in the corresponding task definition. | 
| p_initiator | (Optional) An initiator information for the task. | 
| p_detail_pk | (Optional) A primary key value for the task details. | 
Returns
Returns the ID of the newly created task.
Example
The following example creates a requisition item in the system of record in the database and then creates a new Human Task to get the requisition item approved by a user.
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_parameters => apex_approval.t_task_parameters(
                 1 => apex_approval.t_task_parameter(static_id => 'REQ_DATE', string_value => sysdate),
                 2 => apex_approval.t_task_parameter(static_id => 'REQ_AMOUNT', string_value => l_req_amount),
                 3 => apex_approval.t_task_parameter(static_id => 'REQ_ITEM', string_value => l_req_item),
                 4 => apex_approval.t_task_parameter(static_id => 'REQ_ID', string_value => l_req_id)),
                 p_detail_pk => l_req_id);
END;Parent topic: APEX_APPROVAL