reporting-services - 将 db2 存储过程导入 SSRS 时出错
问题描述
将存储过程 AS400 导入 SSRS 时出错有什么帮助吗?
存储过程代码:
AS400
CREATE OR REPLACE PROCEDURE DWGF047_V2 (IN DD varchar(30),IN DI varchar(30),IN SOC varchar(30),IN NUM_PART varchar(30),IN DAT varchar(30),IN REGL varchar(30))
LANGUAGE SQL
BEGIN
DECLARE c1 CURSOR FOR
SELECT
IKGFFIC_E1.KRYREGP.RGCDOGA ,
IKGFFIC_E1.KFACOMP.DWLBLOBFAC,
IKGFFIC_E1.KRYREGP.RGCDORGA1
FROM
IKGFFIC_E1.KCOMDEP RIGHT OUTER JOIN IKGFFIC_E1.KLGCDEP ON (IKGFFIC_E1.KLGCDEP.LCCDOGA=IKGFFIC_E1.KCOMDEP.CMCDOGA and IKGFFIC_E1.KLGCDEP.LCNOCOMMAN=IKGFFIC_E1.KCOMDEP.CMNOCOMMAN)
RIGHT OUTER JOIN IKGFFIC_E1.KLGFACP ON ( IKGFFIC_E1.KLGFACP.LFCDOGA=IKGFFIC_E1.KLGCDEP.LCCDOGA and IKGFFIC_E1.KLGFACP.LFNOCOMMAN=IKGFFIC_E1.KLGCDEP.LCNOCOMMAN and IKGFFIC_E1.KLGFACP.LFNOLIGCDE=IKGFFIC_E1.KLGCDEP.LCNOLIGCDE AND IKGFFIC_E1.KLGFACP.LFMTTCLIFA<>0)
RIGHT OUTER JOIN IKGFFIC_E1.KRYREGP ON (IKGFFIC_E1.KRYREGP.RGCDOGA=IKGFFIC_E1.KLGFACP.LFCDOGA AND IKGFFIC_E1.KRYREGP.RGNOFACTUR=IKGFFIC_E1.KLGFACP.LFNOFACTUR AND IKGFFIC_E1.KLGFACP.LFMTTCLIFA<>0)
LEFT OUTER JOIN IKGFFIC_E1.KFACTUP ON (IKGFFIC_E1.KRYREGP.RGCDOGA=IKGFFIC_E1.KFACTUP.FACDOGA AND IKGFFIC_E1.KRYREGP.RGNOFACTUR=IKGFFIC_E1.KFACTUP.FANOFACTUR)
LEFT OUTER JOIN IKGFFIC_E1.KFACOMP ON (IKGFFIC_E1.KFACTUP.FACDOGA=IKGFFIC_E1.KFACOMP.DWCDOGA and IKGFFIC_E1.KFACTUP.FANOFACTUR=IKGFFIC_E1.KFACOMP.DWNOFACTUR)
LEFT OUTER JOIN IKGLFIC_E1.PRTP ON (IKGFFIC_E1.KRYREGP.RGCDOGA=IKGLFIC_E1.PRTP.BACDOGA AND IKGFFIC_E1.KRYREGP.RGCDPARREG=IKGLFIC_E1.PRTP.BANOPRT)
LEFT OUTER JOIN XDOCDTA001.ARAUREP ON (XDOCDTA001.ARAUREP.AUAPCD = CASE IKGFFIC_E1.KRYREGP.RGCDOGA
WHEN 'V90' THEN 'BD001' WHEN '069' THEN 'BD003' WHEN '052' THEN 'BD005' WHEN 'A58' THEN 'BD006'
WHEN '440' THEN 'BD00F' WHEN '570' THEN 'BD00G' WHEN '600' THEN 'BD00E'
WHEN '139' THEN 'BD009' WHEN '369' THEN 'BD010' WHEN 'Z92' THEN 'BD008' WHEN 'H85' THEN 'BD007'
WHEN '092' THEN 'BD00J'
END
AND IKGFFIC_E1.KRYREGP.RGNOFACTUR = XDOCDTA001.ARAUREP.AUALNA
AND XDOCDTA001.ARAUREP.AUASCD LIKE 'FACFOU%'
AND XDOCDTA001.ARAUREP.AUATCD = 'NIKOS' )
LEFT OUTER JOIN IKGFFIC_E1.KCTSLSP ON ( IKGFFIC_E1.KLGFACP.LFCDOGA=IKGFFIC_E1.KCTSLSP.CUCDOGA AND IKGFFIC_E1.KLGFACP.LFNOORDCON=IKGFFIC_E1.KCTSLSP.CUNOORDCON AND IKGFFIC_E1.KLGFACP.LFCDLOTMAR=IKGFFIC_E1.KCTSLSP.CUCDLOTMAR AND IKGFFIC_E1.KLGFACP.LFNOORCONL=IKGFFIC_E1.KCTSLSP.CUNOORCONL )
LEFT OUTER JOIN IKGFFIC_E1.KCONTRP ON (IKGFFIC_E1.KCTSLSP.CUNOORDCON=IKGFFIC_E1.KCONTRP.CANOORDCON AND IKGFFIC_E1.KCTSLSP.CUCDOGA=IKGFFIC_E1.KCONTRP.CACDOGA)
LEFT OUTER JOIN IKGFFIC_E1.KMASLSP ON (IKGFFIC_E1.KLGFACP.LFNOLOTMAR=IKGFFIC_E1.KMASLSP.MLNOLOTMAR AND
IKGFFIC_E1.KLGFACP.LFCDLOTMAR=IKGFFIC_E1.KMASLSP.MLCDLOTMAR
AND IKGFFIC_E1.KLGFACP.LFNOSOULOT=IKGFFIC_E1.KMASLSP.MLNOSOULOT
AND IKGFFIC_E1.KLGFACP.LFCDOGA=IKGFFIC_E1.KMASLSP.MLCDOGA
AND IKGFFIC_E1.KRYREGP.RGCDPARREG = IKGFFIC_E1.KMASLSP.MLCDPARTRT)
LEFT OUTER JOIN IKGFFIC_E1.KMARCHP ON (IKGFFIC_E1.KMASLSP.MLNOLOTMAR=IKGFFIC_E1.KMARCHP.MANOLOTMAR AND IKGFFIC_E1.KMASLSP.MLCDOGA=IKGFFIC_E1.KMARCHP.MACDOGA)
LEFT OUTER JOIN IKGFFIC_E1.KLGECHP ON (IKGFFIC_E1.KLGECHP.LECDOGA=IKGFFIC_E1.KLGFACP.LFCDOGA and IKGFFIC_E1.KLGECHP.LENOORDCON=IKGFFIC_E1.KLGFACP.LFNOORDCON and IKGFFIC_E1.KLGECHP.LECDLOTMAR=IKGFFIC_E1.KLGFACP.LFCDLOTSS and IKGFFIC_E1.KLGECHP.LENOORCONL=IKGFFIC_E1.KLGFACP.LFNOORCONL and IKGFFIC_E1.KLGECHP.LENOECHEAN=IKGFFIC_E1.KLGFACP.LFNOECHEAN and IKGFFIC_E1.KLGECHP.LENBANECHE=IKGFFIC_E1.KLGFACP.LFNBANECHE and IKGFFIC_E1.KLGECHP.LEMSECHEAN=IKGFFIC_E1.KLGFACP.LFMSECHEAN)
WHERE
( IKGFFIC_E1.KRYREGP.RGCDOGA IN ('052','A58', 'V90','069', '440', '570', '600', 'AST', '139', '369', 'Z92', 'H85','092') )
AND
(
IKGFFIC_E1.KRYREGP.RGCDOGA IN ( '052','A58','V90','069','440','570','600','AST','139','369','Z92','H85','092' )
AND (IKGFFIC_E1.KRYREGP.RGCDOGA IN ('052','A58', 'V90','069', '440', '570', '600', 'AST', '139', '369', 'Z92', 'H85','092'))
AND
( ( IKGFFIC_E1.KRYREGP.RGCDORGA1 ) = (DD) )--DD
AND
( ( IKGFFIC_E1.KRYREGP.RGCDORGA2 ) = (DI) )--DI
AND
( ( IKGFFIC_E1.KRYREGP.RGCDOGA ) = (SOC) --societe
)
AND
( ( IKGLFIC_E1.PRTP.BANOPRT ) = (NUM_PART) )--numero_partenaire
AND
( ( DIGITS(IKGFFIC_E1.KRYREGP.RGDTECHEAN) ) <= DAT )--date
AND
( ( IKGFFIC_E1.KRYREGP.RGCDMODPAI ) = REGL )--mode de reglement
AND
(
IKGFFIC_E1.KLGFACP.LFNOCPTCPT NOT IN ( '401720','404720' )
OR
IKGFFIC_E1.KFACTUP.FACDTYPFAC IN ( 'LRG' )
)
);
OPEN c1;
END
解决方案
推荐阅读
- flutter - 出现异常 - “A RenderFlex 被底部的无限像素溢出。” 使用 DropdownButton 时
- python-3.x - 如何根据列名的字符串从 df 中提取整列?
- angular - 如何限制休息呼叫角度
- android - 具有泛型和 Void/Nothing 返回类型的 Kotlin 结果类型
- java - Firebase 无法放入数组列表中的自定义对象中
- reactjs - 如何使用反应测试 onclick api 调用
- prepared-statement - RowMapper 返回不同的列排序
- android - 如何将数据从 Android 应用程序发送到 Web 服务器
- javascript - 覆盖常春藤中的生命周期方法
- html - 无法让多个嵌套的 ngif 语句按预期工作