0

HANA ストアド プロシージャを使用してビューを作成しようとしていますが、できません。「.」付近の構文が正しくないというエラーが発生しています。

HANAストアドプロシージャを使ってビューを作成したいのですが、できません。「.」付近の構文が正しくないというエラーが発生しています。

"PAYROLLDBTEST" を呼び出します。GetEmpCodeFromEmployeeID(EmpID,EmpCode) AS "EmpCode"

これが私のコードです:

CREATE VIEW "@HourTransactionView" AS SELECT "@TRANSACTION_HOURS"."DocEntry","@TRANSACTION_HOURS"."DocNum",
"@TRANSACTION_HOURS"."U_EmpCode" AS "EmpID",
call "PAYROLLDBTEST".GetEmpCodeFromEmployeeID(EmpID,EmpCode) AS "EmpCode" ,
GetEmployeeFullName("@TRANSACTION_HOURS"."U_EmpCode") AS "FullName", "U_TransactionType" AS "TranCode",
GetHourTableName("U_TransactionType") AS "TableName", GetHourTransactionName("U_TransactionType") AS "TranName",
"U_FromDate", "U_ToDate", DAYS_BETWEEN("U_FromDate", "U_ToDate") + 1 AS "NoOfDays", "U_FromTime", "U_ToTime",
IFNULL("U_WorkHours", 0) AS "NoOfHours", IFNULL("U_OvertimeHours", 0) AS "OvertimeHours",
IFNULL("U_PaidDays", 0) AS "PaidDays", IFNULL("U_UnpaidDays", 0) AS "UnpaidDays",
IFNULL("U_WeekendsCount", 0) AS "Weekends", IFNULL("U_HolidaysCount", 0) AS "Holidays", "U_Remarks", "U_BatchNo",
"U_ProjectCode" AS "ProjectCode"
FROM "@TRANSACTION_HOURS"
INNER JOIN OHEM ON OHEM."empID" = "@TRANSACTION_HOURS"."U_EmpCode";

解決策を見つけるのを手伝ってください。ありがとうございました。

4

2 に答える 2

0

プロシージャ "PAYROLLDBTEST".GetEmpCodeFromEmployeeID を関数にラップしてみてください。これは、procview を使用して実行できます。

CREATE PROCEDURE GetEmpCodeFromEmployeeID(...)
LANGUAGE SQLSCRIPT
READS SQL DATA WITH RESULT VIEW ProcView AS
BEGIN
 ...
END;

Create Function GetEmpCodeFromEmployeeIDFunc(...)
 Begin
  return Select * from ProcView;
 End;

参照: https://help.sap.com/saphelp_hanaplatform/helpdata/en/20/d467407519101484f190f545d54b24/content.htm

于 2016-06-19T17:39:16.933 に答える