У меня есть следующий вопрос.Положить расчет Crystal Report на процедуру Oracle
У меня есть несколько процедур оракула (как пример proc_1, proc_4), каждый из которых извлекает одну строку с несколькими столбцами.
я не ставил все процедуры заявления, так как они большие, лишь некоторые из примеров первого утверждения процедур, чтобы вы знали, что они одинаковы для proc_1 и proc_4:
CREATE OR REPLACE PROCEDURE proc_1 (
proc_1_cursor IN OUT Reports.rep_type,
date_parameter IN system_days.daytime%TYPE)
AS
BEGIN
OPEN proc_1_cursor FOR
select * from -----
Затем в Crystal Reports кто-то отчет Bult и использование результата от этих различных процедур, в формуле CR:
if {?DATE_PARAMETER}>= DateTime (2012, 01, 01, 00, 00, 00)and {?DATE_PARAMETER}<= DateTime (2012, 12, 31, 00, 00, 00) then
({proc_1.DRY_GAS_MTD_KSM3}/1.07322+{proc_1.TOTAL_DRY_GAS_MTD_KNM3})+({proc_4.DRY_GAS_FLARE_MTD_KNM3})
else
if {?DATE_PARAMETER}>= DateTime (2015, 01, 01, 00, 00, 00)and {?DATE_PARAMETER}<= DateTime (2015, 12, 31, 00, 00, 00) then
({proc_1.DRY_GAS_MTD_KSM3}/1.07322+{proc_1.TOTAL_DRY_GAS_MTD_KNM3})-({proc_4.DRY_GAS_FLARE_MTD_KNM3})
else
if {?DATE_PARAMETER}>= DateTime (2016, 01, 01, 00, 00, 00)and {?DATE_PARAMETER}<= DateTime (2016, 12, 31, 00, 00, 00) then
({proc_1.DRY_GAS_MTD_KSM3}/1.07322+{proc_1.TOTAL_DRY_GAS_MTD_KNM3})+({proc_4.DRY_GAS_FLARE_MTD_KNM3})-({proc_1.GAS_TO_LPG_M_MTD_KSM3})-
({proc_1.GAS_TO_T_FIELD_M_MTD_KSM3}/1.07322)})
То, что я хочу, чтобы запустить расчет Crystal Report выше в процедуре Oracle, которая будет вызывать proc_1 и proc_4 процедуры, поэтому просчитывать в Oracle вместо расчета в ЧР и pu t to CR just end result, Можете ли вы помочь мне в том, как понравится эта процедура оракула?
спасибо, S
Hi bbrumm, спасибо за код !! Я попробовал, он дает сообщение об ошибке ниже: [Ошибка] PLS-00225 (25: 48): PLS-00225: ссылка подпрограммы или указателя курсора 'proc_1' выходит за пределы области действия. [Ошибка] PLS-00225 (25: 48): PLS-00225: ссылка подпрограммы или указателя курсора 'proc_4' не входит в область действия –
Есть ли у вас процедура proc_1 и proc_4? Используют ли они одну и ту же схему? Возможно, вам придется обновить схему в приведенном выше коде. – bbrumm
да, они в той же схеме. –