首页 > 解决方案 > 将 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

标签: reporting-servicesdb2ibm-midrangedb2-400

解决方案


推荐阅读