Callable Procedures > DB2 Examples:
  
DB2 Examples:
1. DB2 example of a call from a Stored Procedure:
Add the following to the declaration section of the stored procedure:
DECLARE v_result INTEGER;
DECLARE v_return_code VARCHAR(1);
DECLARE v_return_msg VARCHAR(256);
Then add the call to the procedure:
CALL [METABASE].Ws_Load_Change(p_sequence, p_job_name, p_task_name, p_job_id, p_task_id
, 'CONNECTION', 'load_customer', 'CONN_TEST1'
, v_return_code, v_return_msg, v_result);
Perhaps add a check of the result:
IF ( v_result <> 1 ) THEN
SET p_status = v_result;
SET p_return_msg = 'Failed to replace load table connection details. Return Code was ' || v_return_code;
SET p_return_msg = p_return_msg || '. ' || RTRIM(v_return_msg);
END IF;
2. DB2 example of a call from the DB2 Command Line Processor (db2.exe):
Enter the following after connecting (the metadata is in a schema called QAD Data Warehouse Designer):
call Data Warehouse Designer.Ws_Load_Change(1,'Check Job','Stat',0,0,'CONNECTION','load_customer','CONN_TEST1',?,?,?)
The following out is typical:
Value of output parameters
--------------------------
Parameter Name : P_RETURN_CODE
Parameter Value : S
 
Parameter Name : P_RETURN_MSG
Parameter Value : CONNECTION changed from Tutorial (OLTP) to CONN_TEST1 for load table load_customer
 
Parameter Name : P_RESULT
Parameter Value : 1
 
Return Status = 0
3. DB2 example of a call from QAD SQL Admin (the metadata is in a schema called QAD Data Warehouse Designer):
{call Data Warehouse Designer.Ws_Load_Change(1,'Check Job','Stat',0,0,'CONNECTION','load_customer','CONN_TEST1',?,?,?)}
 
Ws_Maintain_Indexes
This procedure performs the dropping and building of indexes that are normally maintained by the QAD scheduler. It is called by procedures wishing to manually control the dropping and creation of indexes. For example a procedure that exchanges partitions may wish to drop and create indexes on an exchange table as part of a partition update loop.