USP_DATAFORMTEMPLATE_ADD_DOCUMENTPRINTCREDIT

The save procedure used by the add dataform template "Document Print Credit Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CREDITID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DOCUMENTS xml IN Select one or more sales documents to print

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_DOCUMENTPRINTCREDIT
(
  @ID uniqueidentifier = null output,
    @CREDITID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
    @CURRENTAPPUSERID uniqueidentifier = null,
    @DOCUMENTS xml = null
)
as

set nocount on;

if @ID is null
    set @ID = newid()

if @CHANGEAGENTID is null  
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()

begin try
    -- handle inserting the data
    insert into dbo.DOCUMENTPRINTINGHISTORY
    (
        ID,
        SALESORDERID,
        TYPECODE,
        APPUSERID,
        REPRINTJOBID,
        CREDITCARDPAYMENTMETHODDETAILID,
        CREDITID,
        CREDITPAYMENTID,
        ADDEDBYID,
        CHANGEDBYID,
        DATEADDED,
        DATECHANGED
    )
    select
        newid(),
        null,
        TYPECODE,
        @CURRENTAPPUSERID,        
        @ID,
        case
            when TYPECODE = 2 then
                CREDITCARDPAYMENTMETHODDETAILID
            else
                null
            end
        CREDITCARDPAYMENTMETHODDETAILID,
        @CREDITID,
        case
            when TYPECODE = 6 then
                CREDITPAYMENTID
            else
                null
            end
        CREDITPAYMENTID,
        @CHANGEAGENTID,
        @CHANGEAGENTID,
        @CURRENTDATE,
        @CURRENTDATE
    from
        dbo.UFN_DOCUMENT_GETSALESDOCUMENTSTOPRINTCREDIT_FROMITEMLISTXML(@DOCUMENTS)
    where [TOPRINT] = 1
    order by
        TYPECODE

end try

begin catch
    exec dbo.USP_RAISE_ERROR
    return 1
end catch

return 0