Use the below atonomous transaction to print messages in the LSH job log file. You need to get important job information like company id and job id by using getJobInfo(); before calling this procedure.
PROCEDURE print (
pi_cMessage IN VARCHAR2 -- message that needs to printed in the log file
)
IS PRAGMA AUTONOMOUS_TRANSACTION;
vc_message VARCHAR2(4000);
vc_returnStatus VARCHAR2(1);
vn_msg_count NUMBER;
vc_msg_data VARCHAR2(4000);
BEGIN
SELECT TO_CHAR(sysdate, 'DD-MON-RRRR hh24:mi:ssss')
INTO vc_message
FROM dual;
vc_message := vc_message || ' - ' || pi_cMessage;
CDR_PUB_EXE_SUBMISSION.addjoblogentry(P_API_VERSION => 1
,P_INIT_MSG_LIST => CDR_PUB_DEF_CONSTANTS.G_FALSE
,P_COMMIT => CDR_PUB_DEF_CONSTANTS.G_TRUE
,P_VALIDATION_LEVEL => CDR_PUB_DEF_CONSTANTS.G_VALID_LEVEL_FULL
,X_RETURN_STATUS => vc_returnStatus
,X_MSG_COUNT => vn_msg_count
,X_MSG_DATA => vc_msg_data
,PI_NCOMPANYID => 'Give company id here'
,PI_NJOBID => 'Give job id here'
,PI_VLOGENTRY => vc_message
);
EXCEPTION
WHEN OTHERS THEN
NULL;
END print;
Showing posts with label PLSQL. Show all posts
Showing posts with label PLSQL. Show all posts
Thursday, December 15, 2011
How to get a Job Info in LSH?
The procedure, getJobInfo gets the important job information by giving a job id as input. All the important information is printed in below the api.
PROCEDURE getJobInfo (pi_nJobId IN NUMBER)
IS
vc_return_status VARCHAR2(1);
vn_msg_count NUMBER;
vc_msg_data VARCHAR2(4000);
vr_job_rec CDR_JOBS_V%ROWTYPE;
vr_sub_rec CDR_SUBMISSIONS_V%ROWTYPE;
BEGIN
cdr_pub_exe_runtime.getjobinfo(P_API_VERSION => 1
,P_INIT_MSG_LIST => CDR_PUB_DEF_CONSTANTS.G_FALSE
,P_COMMIT => CDR_PUB_DEF_CONSTANTS.G_FALSE
,P_VALIDATION_LEVEL => CDR_PUB_DEF_CONSTANTS.G_VALID_LEVEL_FULL
,X_RETURN_STATUS => vc_return_status
,X_MSG_COUNT => vn_msg_count
,X_MSG_DATA => vc_msg_data
,PI_NJOBID => pi_nJobId
,PO_RSUBMISSION_V => vr_sub_rec
,PO_RJOB_V => vr_job_rec
);
IF vc_return_status <> 'S'
THEN
print('ERROR: error occured in cdr_pub_exe_runtime.getjobinfo'||vc_msg_data);
display_api_errors;
END IF;
print('vr_job_rec.company_id : '||vr_job_rec.company_id);
print('vr_job_rec.obj_id : '||vr_job_rec.obj_id);
print('vr_job_rec.obj_ver : '||vr_job_rec.obj_ver);
print('vr_job_rec.namespace_obj_id : '||vr_job_rec.namespace_obj_id);
print('vr_job_rec.namespace_obj_ver : '||vr_job_rec.namespace_obj_ver);
print('vr_job_rec.namespace_name : '||vr_job_rec.namespace_name);
print('vr_job_rec.prref_id : '||vr_job_rec.prref_id);
print('vr_job_rec.prref_ver : '||vr_job_rec.prref_ver);
print('vr_job_rec.master_prref_id : '||vr_job_rec.master_prref_id);
print('vr_job_rec.full_reload_flag_rc : '||vr_job_rec.full_reload_flag_rc);
print('vr_job_rec.blind_break_flag_rc : '||vr_job_rec.blind_break_flag_rc);
print('vr_sub_rec.execution_setup_obj_id: '||vr_sub_rec.execution_setup_obj_id);
print('vr_sub_rec.execution_setup_obj_ver: '||vr_sub_rec.execution_setup_obj_ver);
print('vr_sub_rec.wa_obj_id : '||vr_sub_rec.wa_obj_id);
print('vr_sub_rec.force_execution_flag_rc: '||vr_sub_rec.force_execution_flag_rc);
print('vr_sub_rec.execution_priority_rc : '||vr_sub_rec.execution_priority_rc);
EXCEPTION
WHEN OTHERS THEN
print('ERROR: '||SUBSTR(SQLERRM,1,200));
END getJobInfo;
PROCEDURE getJobInfo (pi_nJobId IN NUMBER)
IS
vc_return_status VARCHAR2(1);
vn_msg_count NUMBER;
vc_msg_data VARCHAR2(4000);
vr_job_rec CDR_JOBS_V%ROWTYPE;
vr_sub_rec CDR_SUBMISSIONS_V%ROWTYPE;
BEGIN
cdr_pub_exe_runtime.getjobinfo(P_API_VERSION => 1
,P_INIT_MSG_LIST => CDR_PUB_DEF_CONSTANTS.G_FALSE
,P_COMMIT => CDR_PUB_DEF_CONSTANTS.G_FALSE
,P_VALIDATION_LEVEL => CDR_PUB_DEF_CONSTANTS.G_VALID_LEVEL_FULL
,X_RETURN_STATUS => vc_return_status
,X_MSG_COUNT => vn_msg_count
,X_MSG_DATA => vc_msg_data
,PI_NJOBID => pi_nJobId
,PO_RSUBMISSION_V => vr_sub_rec
,PO_RJOB_V => vr_job_rec
);
IF vc_return_status <> 'S'
THEN
print('ERROR: error occured in cdr_pub_exe_runtime.getjobinfo'||vc_msg_data);
display_api_errors;
END IF;
print('vr_job_rec.company_id : '||vr_job_rec.company_id);
print('vr_job_rec.obj_id : '||vr_job_rec.obj_id);
print('vr_job_rec.obj_ver : '||vr_job_rec.obj_ver);
print('vr_job_rec.namespace_obj_id : '||vr_job_rec.namespace_obj_id);
print('vr_job_rec.namespace_obj_ver : '||vr_job_rec.namespace_obj_ver);
print('vr_job_rec.namespace_name : '||vr_job_rec.namespace_name);
print('vr_job_rec.prref_id : '||vr_job_rec.prref_id);
print('vr_job_rec.prref_ver : '||vr_job_rec.prref_ver);
print('vr_job_rec.master_prref_id : '||vr_job_rec.master_prref_id);
print('vr_job_rec.full_reload_flag_rc : '||vr_job_rec.full_reload_flag_rc);
print('vr_job_rec.blind_break_flag_rc : '||vr_job_rec.blind_break_flag_rc);
print('vr_sub_rec.execution_setup_obj_id: '||vr_sub_rec.execution_setup_obj_id);
print('vr_sub_rec.execution_setup_obj_ver: '||vr_sub_rec.execution_setup_obj_ver);
print('vr_sub_rec.wa_obj_id : '||vr_sub_rec.wa_obj_id);
print('vr_sub_rec.force_execution_flag_rc: '||vr_sub_rec.force_execution_flag_rc);
print('vr_sub_rec.execution_priority_rc : '||vr_sub_rec.execution_priority_rc);
EXCEPTION
WHEN OTHERS THEN
print('ERROR: '||SUBSTR(SQLERRM,1,200));
END getJobInfo;
Labels:
job,
job info,
life sciences data hub,
lsh,
LSH bugs,
lsh job,
lsh job info,
lsh jobs,
LSH program,
Oracle LSH Programming,
Oracle PLSQL,
oraclelsh,
PLSQL
Wednesday, December 14, 2011
How to get the currently executing Job Id?
Use the below PL/SQL block to get the currently executing job id.
DECLARE
v_job_id NUMBER;
BEGIN
v_job_id := CDR_PUB_EXE_RUNTIME.getCurrentlyExecutingJobId(1);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
DECLARE
v_job_id NUMBER;
BEGIN
v_job_id := CDR_PUB_EXE_RUNTIME.getCurrentlyExecutingJobId(1);
EXCEPTION
WHEN OTHERS THEN
NULL;
END;
Labels:
life sciences,
LSH program,
LSH Programming,
Oracle LSH Programming,
Oracle PLSQL,
oraclelsh,
PLSQL
Tuesday, December 13, 2011
LSH Programming Tutorial
In this tutorial we learn LSH Programming techniques. We start with the fundamentals of the LSH programming and move on to advanced programming techniques. This tutorial deals with programmatical way of creating objects in LSH, deriving metadata from LSH and modifying objects.
Intended Audience:
LSH Developers, Programmers and Support Engineers
Pre-Requisite:
Must have hands on experience in PL/SQL programming. Must have used PL/SQL collections, arrays and nested tables.
Contents:
1. How to get the currently executing job id
2. How to initialize job log
3. How to get currently executing user id
3. How to get currently executing user name
Labels:
Arrays,
Collections,
life sciences,
life sciences data hub,
LSH program,
LSH Programming,
oracle,
Oracle LSH Programming,
Oracle PLSQL,
oraclelsh,
PLSQL,
utility
Subscribe to:
Posts (Atom)