USP_SAVE_CMSTRANSACTIONSTATE

Parameters

Parameter Parameter Type Mode Description
@TRANSACTIONID uniqueidentifier IN
@ORDERID uniqueidentifier IN
@DATA ntext IN
@STATUS int IN
@STATUSTEXT varchar(20) IN
@TYPE varchar(20) IN
@RESULTCODE int IN
@FAILDATA nvarchar(1000) IN

Definition

Copy


      CREATE procedure dbo.USP_SAVE_CMSTRANSACTIONSTATE
        @TRANSACTIONID uniqueidentifier,
        @ORDERID uniqueidentifier,
        @DATA ntext,
        @STATUS integer,
        @STATUSTEXT varchar(20),
        @TYPE varchar(20),
        @RESULTCODE integer,
        @FAILDATA nvarchar(1000)
      as
      begin

           declare @CHANGEAGENTID uniqueidentifier;
         exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;

          declare @ID as uniqueidentifier  
        select TOP 1 @ID = ID from [dbo].[CMSTRANSACTIONS] WITH (NOLOCK) where TRANSACTIONID = @TRANSACTIONID;

                if @ID is not null
                begin

                        update [dbo].[CMSTRANSACTIONS]
                        set                             
                            STATUS = @STATUS
                            STATUSTEXT = @STATUSTEXT,
                            RESULTCODE = @RESULTCODE,
                            DATA = @DATA,
                            CHANGEDBYID = @CHANGEAGENTID            
            where 
                            TRANSACTIONID = @TRANSACTIONID and STATUS <> 256;
                end 
        else
        begin        
                     set @ID = newid();  

         insert into [dbo].[CMSTRANSACTIONS](ID,  TRANSACTIONID,  ORDERID,  DATA,   STATUS,   STATUSTEXT,   TYPE,   RESULTCODE,   FAILDATA,   ADDEDBYID,      CHANGEDBYID)
         values                             (@ID, @TRANSACTIONID, @ORDERID, @DATA,  @STATUS,  @STATUSTEXT,  @TYPE,  @RESULTCODE,  @FAILDATA,  @CHANGEAGENTID, @CHANGEAGENTID);
                end 
              --return CMS tran ID to maintain the record

              select @ID;

      end