DECLARE
   l_msg_count               NUMBER;
   l_msg_data                VARCHAR2 (2000);
   l_return_status           VARCHAR2 (1);
   l_pm_product_code         VARCHAR2 (10);
   l_out_pa_task_id          NUMBER;
   l_out_pm_task_reference   VARCHAR2 (2000);
   l_output                  VARCHAR2 (2000);
   l_msg_dummy               VARCHAR2 (2000);
   api_error                 EXCEPTION;
   n                         NUMBER          := 0;
   l_pa_project_id           NUMBER          := :project_id;
BEGIN
   pa_interface_utils_pub.set_global_info (p_api_version_number      => 1.0,
                                           p_responsibility_id       => :Responsibility_id,
                                           p_user_id                 => :User_id,
                                           p_msg_count               => l_msg_count,
                                           p_msg_data                => l_msg_data,
                                           p_return_status           => l_return_status
                                          );
   pa_project_pub.update_task
                           (p_api_version_number         => '1.0',
                            p_commit                     => 'F',
                            p_init_msg_list              => 'F',
                            p_msg_count                  => l_msg_count,
                            p_msg_data                   => l_msg_data,
                            p_return_status              => l_return_status,
                            p_pm_product_code            => l_pm_product_code,
                            p_pa_project_id              => l_pa_project_id,
                            p_pa_task_id                 => :pa_task_id,
--                            p_task_description           => 'TEST DESC1',
                            p_tasks_dff                  => 'N',
                            p_out_pa_task_id             => l_out_pa_task_id,
                            p_out_pm_task_reference      => l_out_pm_task_reference
                           );
   COMMIT;
   IF l_return_status <> 'S'
   THEN
      FOR n IN 1 .. l_msg_count
      LOOP
         fnd_msg_pub.get (n, fnd_api.g_false, l_msg_data, l_msg_dummy);
         l_output := (TO_CHAR (n) || ': ' || l_msg_data);
         DBMS_OUTPUT.put_line
                (   'Error: API Error while updating the Task: '
                 || l_output
                );
         COMMIT;
      END LOOP;
   ELSE
      DBMS_OUTPUT.put_line ('Sucessfully Update the task');
      COMMIT;
   END IF;
EXCEPTION
   WHEN api_error
   THEN
      DBMS_OUTPUT.put_line ('API Error in Project: ');
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('Other Error in Project: ' || SQLERRM);
END;
Friday, October 22, 2010
Wednesday, October 13, 2010
Steps to customize the PO Approval Workflow.
1. Take the seeded workflow (POAPPRV)
2. Right click on the Item TYpe and create a new Item TYpe .
3. Open the Seeded Workflow(POAPPRV) in other window .
4. Copy and paste ATTRIBUTES, NOTIFICATIONs, FUNCTIONS and PROCESSES etc from the the seeded workflow to the Newly named workflow .
5. Verify the workflow
6. Customize the new workflow according to your needs.
7. Save the changes and port it to Oracle.
Login with a PO Super User responsibility, go to Setup -> Document Types, select the PO types for which you want to use the custom workflow, and change workflow fields 'Approval Workflow' and 'Workflow Startup Process' to the new ones.
2. Right click on the Item TYpe and create a new Item TYpe .
3. Open the Seeded Workflow(POAPPRV) in other window .
4. Copy and paste ATTRIBUTES, NOTIFICATIONs, FUNCTIONS and PROCESSES etc from the the seeded workflow to the Newly named workflow .
5. Verify the workflow
6. Customize the new workflow according to your needs.
7. Save the changes and port it to Oracle.
Login with a PO Super User responsibility, go to Setup -> Document Types, select the PO types for which you want to use the custom workflow, and change workflow fields 'Approval Workflow' and 'Workflow Startup Process' to the new ones.
Saturday, October 2, 2010
API to Close Purchase Order
po_actions.close_po
To Close the PO we need to pass 'CLOSE' to the p_action variable and make sure to pass 'N' to the p_auto_close.
To Close the PO we need to pass 'CLOSE' to the p_action variable and make sure to pass 'N' to the p_auto_close.
Subscribe to:
Comments (Atom)