HANA过程:SAP DBTech JDBC:[1287]:必须声明标识符

2020-09-29 16:11发布

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

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


我检查了类似的问题,但找不到答案。

我以前多次使用过游标,但没有使用交集查询,因此我认为该错误是从第一个Declare游标语句引发的。 当我调用以下过程时,出现错误: SAP DBTech JDBC:[1287]:必须声明标识符:PRI

步骤" SP_RetiredEmp_AddDayCal"()
 语言SQLSCRIPT
 SQL安全调用程序
 --DEFAULT SCHEMA <默认模式名称>
 -读取SQL数据
 如
 开始
/*********************************
 编写过程逻辑
  ********************************/
  十进制PRI_T VARCHAR(9);
  DECLARE RECDATE_T DATE;
  DECLARE CHANGEDT_T DATE;
  DECLARE DAYS_T INTEGER:= 0;
 
 DECLARE CURSOR DISTINCT_PRI,用于从(中选择PRI)作为PRI
 从" App_RecordDate"中选择" distinct(PRI)"
 相交
 从" Mobility_ChangeDate"中选择" distinct(PRI)");
 
 对于D_PRI和DISTINCT_PRI一样
              从" App_RecordDate"中选择RECDATE的DECLARE CURSOR RECDATE,其中PRI = D_PRI.PRI,按RECDATE排序;
 对于R_D,如RECDATE那样
 RECDATE_T:= R_D.RECDATE;
 从" Mobility_ChangeDate"中选择MAX(" CHANGEDT")到CHANGEDT_T中,其中PRI = D_PRI.PRI和CHANGEDT 

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

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


我检查了类似的问题,但找不到答案。

我以前多次使用过游标,但没有使用交集查询,因此我认为该错误是从第一个Declare游标语句引发的。 当我调用以下过程时,出现错误: SAP DBTech JDBC:[1287]:必须声明标识符:PRI

步骤" SP_RetiredEmp_AddDayCal"()
 语言SQLSCRIPT
 SQL安全调用程序
 --DEFAULT SCHEMA <默认模式名称>
 -读取SQL数据
 如
 开始
/*********************************
 编写过程逻辑
  ********************************/
  十进制PRI_T VARCHAR(9);
  DECLARE RECDATE_T DATE;
  DECLARE CHANGEDT_T DATE;
  DECLARE DAYS_T INTEGER:= 0;
 
 DECLARE CURSOR DISTINCT_PRI,用于从(中选择PRI)作为PRI
 从" App_RecordDate"中选择" distinct(PRI)"
 相交
 从" Mobility_ChangeDate"中选择" distinct(PRI)");
 
 对于D_PRI和DISTINCT_PRI一样
              从" App_RecordDate"中选择RECDATE的DECLARE CURSOR RECDATE,其中PRI = D_PRI.PRI,按RECDATE排序;
 对于R_D,如RECDATE那样
 RECDATE_T:= R_D.RECDATE;
 从" Mobility_ChangeDate"中选择MAX(" CHANGEDT")到CHANGEDT_T中,其中PRI = D_PRI.PRI和CHANGEDT   
付费偷看设置
发送
1条回答
Alawn_Xu
1楼 · 2020-09-29 16:52.采纳回答

您必须将" PRI"值作为参数传递给第二个光标,而不是直接使用它。

例如。

 ...
 FOR d_pri ASdistinct_pri做
   DECLARE CURSOR recdate(p_pri nvarchar(100))
     从" App_RecordDate"中进行SELECT提取,其中pri =:p_pri ORDER BY提取;

     FOR r_d AS recdate(:d_pri.pri)做
 ... 

请调整PRI游标参数的PRI值类型。

问候,
弗洛里安

一周热门 更多>