在Crystal Report中缺少正确的PARANTHESIS

2020-09-03 01:33发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有以下查询,当我在PL SQL中以适当的值执行时,它将返回数据。 但是,当尝试使用Crystal Reports时,它会丢失右括号。

参数

P_GEN_REPT_ID:STRING

P_START_DATE:DATE:MM/DD/YYYY

P_END DATE:DATE:MM/DD/YYYY

P_KPI_ONLY:STRING

P_RLTM_EQP_TYPE:STRING

查询

SELECTDISTINCT A.F_CD

从REALTIME_EQUIP_INSTALLATIONS A

A.EP_A_NUM IN

(选择代码

从SCSI_DRIVING_LISTS S

S.RPT_RUN_ID ='{?P_GEN_RPT_RUN_ID}')

ANDINSTR(NVL('{?P_RLTM_EQP_TYPE}',A.EQP_TYP_CD),A.EQP_TYP_CD)> 0

AND(NVL(A.EQP_INST_DT,

'{?P_START_DATE}')在'{?P_START_DATE}'和'{?P_END_DATE}'之间)

AND('{?P_KPI_ONLY}'='N'OR A.EQP_PE_VRFY_FLG ='Y')

AND A.EQP_TYP_CD!='MPFM'

UNION

选择W.F_CD

FROM MULTIPHASE_FLOWMETERS M,

管道P,

REALTIME_EQUIP_INSTALLATIONS A,

WELL_MASTER W

P.DS_NODE_ID = TO_CHAR(M.MPFM_NUM)

AND A.MPFM_NUM = M.MPFM_NUM

AND W.EP_A_NUM = P.US_NODE_ID

AND P.US_NODE_TYP_CD ='好'

AND P.DS_NODE_TYP_CD ='MPFM'

AND P.US_NODE_ID IN

(选择代码

从SCSI_DRIVING_LISTS S

S.RPT_RUN_ID ='{?P_GEN_RPT_RUN_ID}')

ANDINSTR(NVL('{?P_RLTM_EQP_TYPE}',A.EQP_TYP_CD),A.EQP_TYP_CD)> 0

AND(NVL(A.EQP_INST_DT,'{?P_START_DATE}')与'{?P_START_DATE}'和'{?P_END_DATE}'之间)

AND('{?P_KPI_ONLY}'='N'OR A.EQP_PE_VRFY_FLG ='Y')

ORDERBY F_CD

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我有以下查询,当我在PL SQL中以适当的值执行时,它将返回数据。 但是,当尝试使用Crystal Reports时,它会丢失右括号。

参数

P_GEN_REPT_ID:STRING

P_START_DATE:DATE:MM/DD/YYYY

P_END DATE:DATE:MM/DD/YYYY

P_KPI_ONLY:STRING

P_RLTM_EQP_TYPE:STRING

查询

SELECTDISTINCT A.F_CD

从REALTIME_EQUIP_INSTALLATIONS A

A.EP_A_NUM IN

(选择代码

从SCSI_DRIVING_LISTS S

S.RPT_RUN_ID ='{?P_GEN_RPT_RUN_ID}')

ANDINSTR(NVL('{?P_RLTM_EQP_TYPE}',A.EQP_TYP_CD),A.EQP_TYP_CD)> 0

AND(NVL(A.EQP_INST_DT,

'{?P_START_DATE}')在'{?P_START_DATE}'和'{?P_END_DATE}'之间)

AND('{?P_KPI_ONLY}'='N'OR A.EQP_PE_VRFY_FLG ='Y')

AND A.EQP_TYP_CD!='MPFM'

UNION

选择W.F_CD

FROM MULTIPHASE_FLOWMETERS M,

管道P,

REALTIME_EQUIP_INSTALLATIONS A,

WELL_MASTER W

P.DS_NODE_ID = TO_CHAR(M.MPFM_NUM)

AND A.MPFM_NUM = M.MPFM_NUM

AND W.EP_A_NUM = P.US_NODE_ID

AND P.US_NODE_TYP_CD ='好'

AND P.DS_NODE_TYP_CD ='MPFM'

AND P.US_NODE_ID IN

(选择代码

从SCSI_DRIVING_LISTS S

S.RPT_RUN_ID ='{?P_GEN_RPT_RUN_ID}')

ANDINSTR(NVL('{?P_RLTM_EQP_TYPE}',A.EQP_TYP_CD),A.EQP_TYP_CD)> 0

AND(NVL(A.EQP_INST_DT,'{?P_START_DATE}')与'{?P_START_DATE}'和'{?P_END_DATE}'之间)

AND('{?P_KPI_ONLY}'='N'OR A.EQP_PE_VRFY_FLG ='Y')

ORDERBY F_CD

付费偷看设置
发送
1条回答
奄奄一息的小鱼
1楼 · 2020-09-03 02:03.采纳回答

如果您将查询复制并粘贴到您的帖子中,我会发现它存在一些问题。

1。 在两个位置AND和INSTR之间没有空格。

2。 不需要在日期参数周围加引号。

3。 您在订购之前缺少两个右括号。

4。 ORDER和BY之间没有空格。

5。 顶部的SELECT和DISTINCT之间没有空格。

这是查询的样子:

 SELECT DISTINCT A.F_CD
 来自REALTIME_EQUIP_INSTALLATIONS A
 在A.EP_A_NUM IN
    (选择代码
     来自SCSI_DRIVING_LISTS S
     S.RPT_RUN_ID ='{?P_GEN_RPT_RUN_ID}')
   AND INSTR(NVL('{?P_RLTM_EQP_TYPE}',A.EQP_TYP_CD),A.EQP_TYP_CD)> 0
   AND(NVL(A.EQP_INST_DT,{?P_START_DATE})在{?P_START_DATE}和{?P_END_DATE}之间)
   AND('{?P_KPI_ONLY}'='N'或A.EQP_PE_VRFY_FLG ='Y')
   AND A.EQP_TYP_CD!='MPFM'
 
  联盟

   选择W.F_CD
   从MULTIPHASE_FLOWMETERS M,
     管道P,
     REALTIME_EQUIP_INSTALLATIONS A,
     WELL_MASTER W
   在哪里P.DS_NODE_ID = TO_CHAR(M.MPFM_NUM)
     AND A.MPFM_NUM = M.MPFM_NUM
     AND W.EP_A_NUM = P.US_NODE_ID
     AND P.US_NODE_TYP_CD ='好'
     AND P.DS_NODE_TYP_CD ='MPFM'
     AND P.US_NODE_ID IN
      (选择代码
       来自SCSI_DRIVING_LISTS S
       S.RPT_RUN_ID ='{?P_GEN_RPT_RUN_ID}')
         AND INSTR(NVL('{?P_RLTM_EQP_TYPE}',A.EQP_TYP_CD),A.EQP_TYP_CD)> 0
         AND(NVL(A.EQP_INST_DT,{?P_START_DATE})在{?P_START_DATE}和{?P_END_DATE}之间)
         AND('{?P_KPI_ONLY}'='N'或A.EQP_PE_VRFY_FLG ='Y')))
 按F_CD订购
 

如果您还没有看到它,您可能想看看这个博客: https://blogs.sap.com/2015/04/01/best-practices-when-using-commands-with-crystal-reports/

-戴尔

一周热门 更多>