存储过程中的输出参数始终返回0

@Value has got the correct value when used in insert statement. But, @AID (which is set to @Value) always gives 0 when this stored procedure is called using php.

ALTER PROCEDURE [dbo].[UpdateActivity2]
@ParentActivity int,
@ActivityName varchar(150),
@ActivityType int,
@ActivityStatus int,
@Descr varchar(1024),
@RegistrationDate datetime,
@FinishDate datetime,
@Owner int,
@SourceID int,
@ContactID int,
@ActivityAddress varchar(150),
@ExtReference varchar(50),
@ResponsibleCompanyID int,
@AID int OUTPUT
AS
BEGIN
DECLARE @Value int;
EXEC @Value =  PG_GetSeq @Name = 'Activity'
INSERT INTO Activity(
                ActivityID, 
                ParentActivity, 
                ActivityName, 
                ActivityType, 
                ActivityStatus, 
                Descr, 
                RegistrationDate, 
                FinishDate, 
                Owner, 
                SourceID, 
                ContactID, 
                ActivityAddress, 
                ExtReference, 
                ResponsibleCompanyID
            )
            VALUES(
                @Value, 
                @ParentActivity, 
                @ActivityName, 
                @ActivityType, 
                @ActivityStatus, 
                @Descr, 
                @RegistrationDate, 
                @FinishDate, 
                @Owner, 
                @SourceID, 
                @ContactID, 
                @ActivityAddress, 
                @ExtReference, 
                @ResponsibleCompanyID
            )

    SELECT @AID = @Value
END

What am I doing wrong here? It it something to do with calling stored procedure inside another stored procedure?