Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

DBMS_XMLGEN.newcontextFromHierarchy is throwing an error

606646Nov 2 2007 — edited Nov 2 2007
Hi All,

I have the following SP that i am trying to run:

CREATE OR REPLACE PROCEDURE TestProcXML is

xmlStore DBMS_XMLGEN.ctxHandle;
pxml xmlType;

BEGIN

xmlStore := DBMS_XMLGEN.newcontextFromHierarchy(
'select XMLElement(METAANALYSIS, XMLAgg(XMLElement(RESULTSET, XMLElement(PKPDDOSINGFACT, XMLForest(pkpd.DRUG_ID , pkpd.PKPD_TIMEPOINT , pkpd.TIME_1 , pkpd.TIME_1_UNITS , pkpd.TIME_2 ,pkpd.TIME_2_UNITS , pkpd.CONCENTRATION , pkpd.CONCENTRATION_UNITS , pkpd.CONCENTRATION_DESCRIPTION , pkpd.CONCENTRATION_VARIANCE , pkpd.CONCENTRATION_VAR_UNITS , pkpd.BASELINE_RESPONSE_CONC , pkpd.BASELINE_RESPONSE_CONC_UNITS , pkpd.BASELINE_RESPONSE_CONC_DESCRIP , pkpd.BASELINE_RESPONSE_CONC_VARIANC , pkpd.BASELINE_RESPONS_CONC_VAR_UNIT , pkpd.ENDPOINT_SUBSCALE , pkpd.RESPONSE , pkpd.RESPONSE_UNITS , pkpd.RESPONSE_DESCRIPTION , pkpd.RESPONSE_VARIANCE , pkpd.RESPONSE_VARIANCE_UNITS , pkpd.CHANGE_FROM_BASELINE , pkpd.CHANGE_FROM_BASELINE_UNITS , pkpd.CHANGE_FROM_BASELINE_DESCRIPTI , pkpd.CHANGE_FROM_BASELINE_VARIANCE , pkpd.CHANGE_FROM_BASELINE_VAR_UNITS , pkpd.MODELLING_DONE_INDICATOR , pkpd.MODELLING_REFERENCES , pkpd.DOSE_MEAN , pkpd.DOSE_UNITS , pkpd.DOSE_VARIANCE , pkpd.DOSE_VARIANCE_UNITS , pkpd.LOADING_DOSE , pkpd.LOADING_DOSE_UNITS , pkpd.FEDFAST , pkpd.DOSE_FREQUENCY , pkpd.ROUTE_OF_ADMINISTRATION , pkpd.FORMULATION , pkpd.DOSING_METHOD , pkpd.ADD_ON_THERAPY , pkpd.WASHOUT_PERIOD_INDICATOR , pkpd.WASHOUT_PERIOD_DURATION , pkpd.WHEN_LAST_UPDATED , pkpd.LAST_UPDATED_BY , pkpd.LS_ID , pkpd.ARTIFACT_VERSION_ID , pkpd.EXTENSION_POINT , pkpd.DELETION_STATUS_CODE , pkpd.VERSION_NUMBER , pkpd.LITERATURE_ID , pkpd.LOCATION_IN_LITERATURE , pkpd.DRUG_TRADE_NAME , pkpd.GENERAL_COMMENTS , pkpd.DEVICE_NAME , pkpd.STUDY_ID , pkpd.STUDY_GROUP_ID , pkpd.DOSING_PERIOD , pkpd.ENDPOINT_ID)), XMLElement(CLINICALSTUDY, XMLForest(cs.STUDY_ID , cs.STUDY_IDENTIFIER , cs.ORGANIZATION_NAME , cs.STUDY_NAME , cs.STUDY_OBJECTIVES , cs.STUDY_ACRONYMS , cs.STUDY_BLINDED_INDICATOR , cs.STUDY_BLINDED_DESCRIPTION , cs.STUDY_RANDOMIZED_INDICATOR , cs.STUDY_STRATIFIED_INDICATOR , cs.STUDY_STRATIFICATION_VARIABLES , cs.STUDY_CONTROL_TYPE , cs.STUDY_DESIGN , cs.STUDY_DESIGN_DETAILS , cs.STUDY_ADAPTIVE_DESIGN_INDICATO , cs.STUDY_ADAPTIVE_DESIGN_DETAILS , cs.STUDY_INCLUSION_CRITERIA , cs.STUDY_EXCLUSION_CRITERIA , cs.DISEASE_CLASS_TEXT , cs.DISEASE_DURATION , cs.PLANNED_TREATMENT_DURATION , cs.LS_ID , cs.ARTIFACT_VERSION_ID , cs.VERSION_NUMBER)), XMLElement(DEMOGRAPHICS,XMLForest(dm.STUDY_ID , dm.STUDY_GROUP_ID , dm.POPULATION_GROUP_TEXT , dm.PATIENT_POPULATION_TEXT , dm.AGE_MEAN , dm.WEIGHT_MEAN , dm.HEIGHT_MEAN , dm.MALE_PERCENTAGE , dm.PATIENT_TYPE , dm.NAIVE_PERCENTAGE , dm.CAUCASIAN_PERCENTAGE , dm.SMOKERS_PERCENTAGE , dm.DRINKERS_PERCENTAGE , dm.BODY_MASS_INDEX_MEAN , dm.HEART_RATE_MEAN , dm.SYSTOLLIC_BLOOD_PRESSURE_MEAN , dm.DIASTOLLIC_BLOOD_PRESSURE_MEAN , dm.GENOTYPE_INDICATOR , dm.GENOTYPE_DESCRIPTION , dm.TOTAL_NUMBER_OF_SUBJECTS , dm.NUMBER_OF_SUBJECTS_PER_TREATME , dm.OBSERVED_NUMBER_OF_SUBJECTS , dm.NUMBER_OF_LOCF , dm.SUBJECT_LEVEL_DATA_INDICATOR , dm.STATISTICAL_ANALYSIS_METHOD , dm.COMPLETE_PERCENTAGE , dm.ADVERSE_EVENT_PERCENTAGE , dm.ADVERSE_EVENT_DROP_OUT_PERCENT , dm.ADVERSE_EVENTS_COMMENTS , dm.SUMMARY_TEXT , dm.COUNTRY_CODE , dm.LS_ID , dm.ARTIFACT_VERSION_ID , dm.VERSION_NUMBER)), XMLElement(DRUG, XMLForest(dr.GENERIC_NAME)),XMLElement(ENDPOINT, XMLForest(ep.ENDPOINT_NAME,ep.ENDPOINT_ACRONYM, ep.ENDPOINT_DEFINITION)), XMLElement(CATEGORICALVARIABLE, ( select XMLAgg(XMLElement(SUBCATEGORICALVARIABLE,XMLForest(cvs.CATEGORICAL_VAR_NAME,cvs.CATEGORICAL_VAR_VALUE))) from CATEGORICAL_VARIABLE cvs where cvs.STUDY_ID = pkpd.STUDY_ID and cvs.STUDY_GROUP_ID = pkpd.STUDY_GROUP_ID and cvs.PERIOD = pkpd.DOSING_PERIOD)), XMLElement(CONCOMITANTMEDICATION, (select XMLAgg(XMLElement(SUBCONCOMITANTMEDICATION, XMLForest(cm.DOSE_MEAN, cm.DOSE_MEAN_UNITS))) from CONCOMITANT_MEDICATION cm where cm.STUDY_ID = pkpd.STUDY_ID and cm.STUDY_GROUP_ID = pkpd.STUDY_GROUP_ID and cm.PERIOD = pkpd.DOSING_PERIOD)), XMLElement(MEDICALHISTORYFACT, (select XMLAGG(XMLELEMENT(SUBMEDICALHISTORY, XMLForest(mt.MEDICAL_TERM_DESCRIPTION, mhf.OCCURRING_IN_POPULATION_PERCEN))) from MEDICAL_HISTORY_FACT mhf, MEDICAL_TERM mt where mt.MEDICAL_TERM_ID = mhf.MEDICAL_TERM_ID and mhf.STUDY_ID = pkpd.STUDY_ID and mhf.STUDY_GROUP_ID = pkpd.STUDY_GROUP_ID and mhf.DOSING_PERIOD = pkpd.DOSING_PERIOD))))) from clinical_study cs, PKPD_DOSING_FACT pkpd, demographics dm , drug dr, endpoint ep where cs.STUDY_ID = pkpd.STUDY_ID and pkpd.DRUG_ID = dr.DRUG_ID and pkpd.ENDPOINT_ID = ep.ENDPOINT_ID and dm.STUDY_GROUP_ID = pkpd.STUDY_GROUP_ID and dm.STUDY_ID = pkpd.STUDY_ID and pkpd.STUDY_GROUP_ID in (select pkpd.STUDY_GROUP_ID from PKPD_dosing_fact pkpd, clinical_study_indication csi, indication_therapeutic_area ita where pkpd.STUDY_ID = csi.STUDY_ID and csi.INDICATION_ID = ita.INDICATION_ID and ita.TA_ID = ''4'' )');

DBMS_XMLGEN.setRowSetTag(xmlStore, null);
DBMS_XMLGEN.SETROWTAG(xmlStore, null);

pxml := DBMS_XMLGEN.GETXMLTYPE(xmlStore, DBMS_XMLGEN.DTD);

DBMS_OUTPUT.put_line(to_char(DBMS_XMLGEN.getNumRowsProcessed(xmlStore)));

insert into xml_tbl values(pxml);

Commit;

DBMS_XMLGEN.CLOSECONTEXT(xmlStore);

END TestProcXML;
/

There are couple of problems:
--------------------------------------------------------------------------
1. When you run this procedure in TOAD then it throws the following exception:
ORA-19038: Invalid operation on query context
ORA-06512: at "SYS.DBMS_XMLGEN", line 70
ORA-06512: at
"LIKE_OWNER.TESTPROCXML", line 12
ORA-06512: at line 2

2. If i replace newcontextfromhierarchy with newcontext above then the procedure executes properly. The XML that is produced contains a very weird tag at the top:

<XMLELEMENT_x0028_METAANALYSIS_x002C_XMLAGG_x0028_XMLELEMENT_x0028_RESULTSET_x002C_XMLELEMENT_x0028_PKPDDOSINGFACT_x002C_XMLFOREST_x0028_PKPD.DRUG_ID_x002C_PKPD.PKPD_TIMEPOINT_x002C_PKPD.TIME_1_x002C_PKPD.TIME_1_UNITS_x002C_PKPD.TIME_2_x002C_PKPD.TIME_2_UNITS_x002C_PKPD.CONCENTRATION_x002C_PKPD.CONCENTRATION_UNITS_x002C_PKPD.CONCENTRATION_DESCRIP>

How do you get rid of this tag?

Any help will be appreciated.

Thanks,
Madhav

Comments

Processing
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Nov 30 2007
Added on Nov 2 2007
1 comment
1,676 views