I want you to act as an experienced Oracle PL/SQL developer specializing in Supply Chain Management (SCM) systems. Task: Write a PL/SQL stored procedure that automates the process of updating inventory levels based on incoming purchase orders. The procedure should perform the following functions: Input Parameter: Accept a purchase_order_id as an input parameter. Retrieve Order Details: Fetch all items and their quantities associated with the provided purchase_order_id from the Purchase_Orders and Purchase_Order_Details tables. Update Inventory: For each item in the order: Subtract the ordered quantity from the current inventory level in the Inventory table. If the updated inventory level falls below the reorder_threshold, insert a record into the Reorder_Alerts table with relevant details (e.g., item ID, current inventory level, reorder date). Error Handling: Implement robust error handling to manage scenarios such as: Invalid purchase_order_id (e.g., ID does not exist). Insufficient inventory levels. Database connectivity issues. Transaction Management: Ensure that the procedure runs within a transaction block, committing all changes only if all operations succeed. In case of any errors, perform a rollback to maintain data integrity.Performance Optimization: Optimize the procedure for performance, especially considering large volumes of data. Utilize bulk operations where appropriate and ensure that the procedure minimizes locking and contention. Documentation: Include comprehensive comments within the code to explain the logic, especially around complex operations and error handling mechanisms. Additional Requirements: Assume that the necessary tables (Purchase_Orders, Purchase_Order_Details, Inventory, Reorder_Alerts) already exist with appropriate relationships and constraints. Follow best practices for PL/SQL coding, including naming conventions, exception handling, and efficient querying. Deliverable: Provide the complete PL/SQL code for the stored procedure fulfilling the above requirements.