Ошибка «Процедура должна быть объявлена» при запуске процедуры, которая принимает XML как ввод через SQL Developer - PullRequest
0 голосов
/ 25 марта 2019

У меня есть хранимая процедура, которая принимает XML (тип данных CLOB) в качестве входных данных. Когда я запускаю SP через приложение Mule, он работает нормально. Тем не менее, я хочу протестировать SP напрямую через SQL Developer, предоставив XML-файл в качестве входных данных. Когда я запускаю SP, он говорит: «ORA-06550: и PLS-00201: SP должен быть объявлен». Я ищу предложения и советы о том, как я могу проверить SP напрямую, хотя разработчик SQL без этой ошибки.

Я попытался выполнить SP через окно CTRL + F10 и через команду Execute. Я попытался дать ввод XML в одну и несколько строк.

Когда я запускаю SQL Developer, он пытается выполнить приведенную ниже инструкцию при возникновении ошибки (скриншот ошибки ниже)

DECLARE
  VOUCHERXML CLOB;
BEGIN
  VOUCHERXML := '<?xml version="1.0" encoding="UTF-8"?> <Voucher type="SGLP" sourceSystem="WRS" origin="WRS|CAN" refID="" paymentID="wmict:31228"> <TransferredFrom/> <TransferredTo/> <PolicyLOBSource/> <InvoiceNumber/> <InvoiceDate>2013-10-14</InvoiceDate> <AccountingDate>2013-10-14</AccountingDate> <PayDate>2013-10-14</PayDate> <Currency>CAD</Currency> <InvoiceAmount>50.00</InvoiceAmount> <Vendor sourceSystemID="" targetSystemID="CLAIMS||CAN|CAD|English"/> <Payment> <PayTo sourceSystemID=""> <Payees> <Payee>QAG - PMS Ontario Broker 4</Payee> <Payee/> <Payee/> <Payee/> <Payee/> </Payees> <AddressLine1 print="false">Unit 333 ABC steet</AddressLine1> <AddressLine2 print="false">Toronto, ON</AddressLine2> <City print="false">Toronto</City> <State print="false">On</State> <ZipCode print="false">M4C 1P5</ZipCode> <Country print="false">CAN</Country> </PayTo> <MailTo> <AddressLine1>QAG - PMS Ontario Broker 4</AddressLine1> <AddressLine2>Unit 333 ABC steet</AddressLine2> <AddressLine3>Toronto, ON</AddressLine3> <AddressLine4/> <AddressLine5/> <City>Toronto</City> <State>ON</State> <ZipCode>M4C 1P5</ZipCode> <Country>CA</Country> </MailTo> </Payment> <PaymentDetails> <BankName>CLAIMS|VENDOR|CAN|CAD|English</BankName> <AccountNumber>CLAIMS|VENDOR|REGULAR|CAN|CAD|English</AccountNumber> </PaymentDetails> <Memo1/> <Memo2/> <Memo3/> <Memo4>PAIEMENT PLANIFIǯSCHEDULED PAYMENT: FROM OCT 14 2013 TO OCT 27 2013</Memo4> <InsuredName>DANIELLE CLAIMS</InsuredName> <PolicyNumber>7025925</PolicyNumber> <ClaimNumber>007110000001300</ClaimNumber> <VoucherLines> <VoucherLine> <Description/> <Amount>50.00</Amount> <Instructions>Claim 007110000001300</Instructions> <CheckNumber/> <Distributions> <Distribution> <DistributionPolicyLOBCode/> <ProductLookupKey/> <DepartmentLookupKey>07|67|||1</DepartmentLookupKey> <Amount statistical="false">50.00</Amount> <AccountNumber>loss|unspecified</AccountNumber> <BusinessUnit>100</BusinessUnit> <BusinessSegment/> <Description/> <DepartmentCode>07|67|||1</DepartmentCode> <ProductCode/> <RiskLocation>67</RiskLocation> <AccidentYear>2013</AccidentYear> <Reinsurance/> <BusinessSegmentAffiliate/> <TransactionType/> <TypeBureau/> <CoverageGroup>ANC_614</CoverageGroup> <PolicySearchResult> <AltaGridInd/> <TypeOfBusiness/> <VehicleType/> <TypeOfUse/> <TypeBureau/> <Form/> <FacilityIndicator/> <PolicyType/> <ExpansionCd/> <SubClass/> </PolicySearchResult> <PolicySearchInput> <LOB>ANC</LOB> <LossDate>2013-08-21</LossDate> <BranchNumber>07</BranchNumber> <PolicyNumber>7025925</PolicyNumber> <PolicyModule/> <MajorPerilSequence/> <MajorPeril>614</MajorPeril> <UnitNumber>1</UnitNumber> </PolicySearchInput> </Distribution> </Distributions> </VoucherLine> </VoucherLines> </Voucher>';

  IMPORT_VOUCHER_TO_PEOPLESOFT_TEST(
    VOUCHERXML => VOUCHERXML
  );
--rollback; 
END;

Я ожидаю, что некоторые таблицы будут загружены при выполнении SP.

Ниже приведен скриншот ошибки:

Error Message

...