Hi,
I have the following stored procedure in a Sql Server Database
- CREATE PROCEDURE [dbo].[UP_SELECT_PO_NUMBER]
- @StoreBranchID int,
- @mPurchaseOrderNumber NVARCHAR(13) OUTPUT
- AS
-
-
-
-
- DECLARE @lpo int
- DECLARE @mPO int
- SET @mPurchaseOrderNumber=''
- SELECT
- @mPO= cast(right(RTRIM(PurchaseOrderNumber),5) as int) + 1
- FROM
- PurchaseOrder
- WHERE
- PurchaseOrderID = (SELECT
- Max(purchaseOrderID)
- FROM
- purchaseorder
- WHERE
- storebranchID = @StoreBranchID)
- SET @lpo = LEN(@mPO)
- WHILE(@lpo<>5 )
- BEGIN
- SET @mPurchaseOrderNumber += '0'
- SET @lpo = @lpo + 1
- END
- SET @mPurchaseOrderNumber ='PO'+'-'+ CONVERT(NVARCHAR, YEAR(GETDATE())) + '-'+ @mPurchaseOrderNumber + CONVERT(nvarchar,@mPO)
- RETURN @mPurchaseOrderNumber
it is just return a variable
Now I am calling it withing another store procedure with the following command
- DECLARE @PON NVARCHAR(13)
-
- EXEC UP_SELECT_PO_NUMBER @StoreBranchID = 4, @mPurchaseOrderNumber = @PON OUTPUT;
-
- print @PON
and I am getting
"Conversion failed when converting the nvarchar value 'PO-2020-00023' to data type int." error. I have no type int in the calling procedure
Can someone help me spot my mistake?
Thanks in advance