USP_PDCOMPOSITESEGMENTMAPPING_DEFAULTS

Adds or removes composite mapping defaults

Parameters

Parameter Parameter Type Mode Description
@PDCOMPOSITESEGMENTMAPPINGID uniqueidentifier IN
@PDCOMPOSITESEGMENTID uniqueidentifier IN
@PDACCOUNTSTRUCTUREID uniqueidentifier IN
@CREATE tinyint IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


create procedure dbo.USP_PDCOMPOSITESEGMENTMAPPING_DEFAULTS(
    @PDCOMPOSITESEGMENTMAPPINGID uniqueidentifier,
    @PDCOMPOSITESEGMENTID uniqueidentifier,
    @PDACCOUNTSTRUCTUREID uniqueidentifier,
    @CREATE tinyint,
    @CHANGEAGENTID uniqueidentifier 
)
as
    begin
        declare @CURRENTDATE datetime
        set @CURRENTDATE = getdate()

        declare    @TABLECOUNT    tinyint
        select @TABLECOUNT = count(*) from PDCOMPOSITESEGMENTTABLELIST where PDCOMPOSITESEGMENTID = @PDCOMPOSITESEGMENTID

        declare    @ID    uniqueidentifier
        declare    @TABLEID uniqueidentifier    

        set @ID = newid()
        select @TABLEID = b.ID from PDCOMPOSITESEGMENT as a join PDCOMPOSITESEGMENTTABLELIST as b on a.ID = b.PDCOMPOSITESEGMENTID  where b.SEQUENCE = 1 and a.ID = @PDCOMPOSITESEGMENTID

        insert into dbo.PDCOMPOSITESEGMENTMAPPINGENTRY
            (ID, PDCOMPOSITESEGMENTMAPPINGID, PDCOMPOSITESEGMENTTABLELISTID, LONGDESCRIPTIONID,ISDEFAULT, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values
            (@ID, @PDCOMPOSITESEGMENTMAPPINGID,@TABLEID, '99999999-9999-9999-9999-999999999999', 1, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

        set @ID = newid()
        select @TABLEID = b.ID from PDCOMPOSITESEGMENT as a join PDCOMPOSITESEGMENTTABLELIST as b on a.ID = b.PDCOMPOSITESEGMENTID  where b.SEQUENCE = 2 and a.ID = @PDCOMPOSITESEGMENTID

        insert into dbo.PDCOMPOSITESEGMENTMAPPINGENTRY
            (ID, PDCOMPOSITESEGMENTMAPPINGID, PDCOMPOSITESEGMENTTABLELISTID, LONGDESCRIPTIONID,ISDEFAULT,ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values
            (@ID, @PDCOMPOSITESEGMENTMAPPINGID, @TABLEID, '99999999-9999-9999-9999-999999999999', 1,  @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

        if @TABLECOUNT > 2
            begin
                set @ID = newid()
                select @TABLEID = b.ID from PDCOMPOSITESEGMENT as a join PDCOMPOSITESEGMENTTABLELIST as b on a.ID = b.PDCOMPOSITESEGMENTID join PDACCOUNTSTRUCTURE as c on a.ID = c.PDACCOUNTTABLESAVAILABLEFORSEGMENTID where b.SEQUENCE = 3 and c.ID = @PDACCOUNTSTRUCTUREID
                insert into dbo.PDCOMPOSITESEGMENTMAPPINGENTRY
                    (ID, PDCOMPOSITESEGMENTMAPPINGID, PDCOMPOSITESEGMENTTABLELISTID, LONGDESCRIPTIONID,ISDEFAULT, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                values
                    (@ID, @PDCOMPOSITESEGMENTMAPPINGID,@TABLEID, '99999999-9999-9999-9999-999999999999', 1, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
            end 
        if @TABLECOUNT > 3
            begin
                set @ID = newid()
                select @TABLEID = b.ID from PDCOMPOSITESEGMENT as a join PDCOMPOSITESEGMENTTABLELIST as b on a.ID = b.PDCOMPOSITESEGMENTID join PDACCOUNTSTRUCTURE as c on a.ID = c.PDACCOUNTTABLESAVAILABLEFORSEGMENTID where b.SEQUENCE = 4 and c.ID = @PDACCOUNTSTRUCTUREID
                insert into dbo.PDCOMPOSITESEGMENTMAPPINGENTRY
                    (ID, PDCOMPOSITESEGMENTMAPPINGID, PDCOMPOSITESEGMENTTABLELISTID, LONGDESCRIPTIONID,ISDEFAULT,ADDEDBYID,CHANGEDBYID, DATEADDED, DATECHANGED)
                values
                    (@ID, @PDCOMPOSITESEGMENTMAPPINGID,@TABLEID, '99999999-9999-9999-9999-999999999999', 1, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
            end 
    end