SQL EXPRESS - calling a Microsoft SQL SERVER procedure
Verfasst: Mo, 15. Jan 2018 20:52
I have an issue;
Fieldget(1) variable doen't come back to xbase side...What can be wrong with my code ?
xbase code;
o:= SQLSelect():new("EXEC CUSTOMER_YASLANDIRMA_TOPLAMI_TEST ? , ? ",oConn, SQL_CONCUR_READ_ONLY, SQL_CURSOR_FORWARD_ONLY)
o:execute({'300941','TRY'})
Zengin1:=o:FieldGet(1) ----> here i get error - Description: invalid field:1 - Operation: SQLSELECT:FIELDGET
o:destroy()
SQl server procedure below;
ALTER PROCEDURE [dbo].[CUSTOMER_YASLANDIRMA_TOPLAMI_TEST]
@CARIKODU NVARCHAR(30) = '300941',
@PARABIRIMI NVARCHAR(10) = 'TRY'
AS
DECLARE @CARIBAKIYE DECIMAL(19,2)
DECLARE @TODAY DATE
DECLARE @KUMULATIFTOPLAM DECIMAL(19,2)
DECLARE @MAXSIRANO INT
DECLARE @SIRANO INT
DECLARE @BORC_TUTAR DECIMAL(19,2)
SET @TODAY = GETDATE()
SET @CARIBAKIYE = dbo.fnc_CARIBAKIYE_BUL(@CARIKODU,@PARABIRIMI)
CREATE TABLE #DETAY( SIRANO INT IDENTITY(1,1),FATURATARIHI DATE,VADETARIHI DATE ,BORC_TUTAR DECIMAL(19,2))
INSERT INTO #DETAY(FATURATARIHI,VADETARIHI,BORC_TUTAR)
SELECT BUDAT,ZFBDT,0--BORC_TUTAR
FROM VW_CUSTOMER_LINEITEMS
WHERE KUNNR = @CARIKODU AND WAERS = @PARABIRIMI
SELECT TOP 1 @MAXSIRANO = SIRANO FROM #DETAY WHERE VADETARIHI <= @TODAY
SELECT TOP 1 @KUMULATIFTOPLAM = BORC_TUTAR FROM #DETAY WHERE SIRANO = @MAXSIRANO-1
IF @CARIBAKIYE < @KUMULATIFTOPLAM
SET @KUMULATIFTOPLAM = @CARIBAKIYE
SELECT @KUMULATIFTOPLAM AS BORCTUTAR ---->> this ‘red variable’ value doesn’t come back !!!
DROP TABLE #DETAY
Fieldget(1) variable doen't come back to xbase side...What can be wrong with my code ?
xbase code;
o:= SQLSelect():new("EXEC CUSTOMER_YASLANDIRMA_TOPLAMI_TEST ? , ? ",oConn, SQL_CONCUR_READ_ONLY, SQL_CURSOR_FORWARD_ONLY)
o:execute({'300941','TRY'})
Zengin1:=o:FieldGet(1) ----> here i get error - Description: invalid field:1 - Operation: SQLSELECT:FIELDGET
o:destroy()
SQl server procedure below;
ALTER PROCEDURE [dbo].[CUSTOMER_YASLANDIRMA_TOPLAMI_TEST]
@CARIKODU NVARCHAR(30) = '300941',
@PARABIRIMI NVARCHAR(10) = 'TRY'
AS
DECLARE @CARIBAKIYE DECIMAL(19,2)
DECLARE @TODAY DATE
DECLARE @KUMULATIFTOPLAM DECIMAL(19,2)
DECLARE @MAXSIRANO INT
DECLARE @SIRANO INT
DECLARE @BORC_TUTAR DECIMAL(19,2)
SET @TODAY = GETDATE()
SET @CARIBAKIYE = dbo.fnc_CARIBAKIYE_BUL(@CARIKODU,@PARABIRIMI)
CREATE TABLE #DETAY( SIRANO INT IDENTITY(1,1),FATURATARIHI DATE,VADETARIHI DATE ,BORC_TUTAR DECIMAL(19,2))
INSERT INTO #DETAY(FATURATARIHI,VADETARIHI,BORC_TUTAR)
SELECT BUDAT,ZFBDT,0--BORC_TUTAR
FROM VW_CUSTOMER_LINEITEMS
WHERE KUNNR = @CARIKODU AND WAERS = @PARABIRIMI
SELECT TOP 1 @MAXSIRANO = SIRANO FROM #DETAY WHERE VADETARIHI <= @TODAY
SELECT TOP 1 @KUMULATIFTOPLAM = BORC_TUTAR FROM #DETAY WHERE SIRANO = @MAXSIRANO-1
IF @CARIBAKIYE < @KUMULATIFTOPLAM
SET @KUMULATIFTOPLAM = @CARIBAKIYE
SELECT @KUMULATIFTOPLAM AS BORCTUTAR ---->> this ‘red variable’ value doesn’t come back !!!
DROP TABLE #DETAY