USP_DATAFORMTEMPLATE_EDITLOAD_BATCH2COMMITPARAMETERS

The load procedure used by the edit dataform template "Batch Commit Process Parameter Edit Form 5"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@BATCHNUMBER nvarchar(100) INOUT Batch number
@CREATEOUTPUTIDSET bit INOUT Create output selection
@OUTPUTIDSETNAME nvarchar(100) INOUT Selection name
@OVERWRITEOUTPUTIDSET bit INOUT Overwrite existing selection
@CREATEEXCEPTIONBATCH bit INOUT Create exception batch
@EXCEPTIONBATCHNAME nvarchar(60) INOUT Exception batch number
@PURGEBATCH bit INOUT Delete batch after committing
@CREATECONTROLREPORT bit INOUT Create control report
@VALIDATEBATCH bit INOUT Validate batch before committing
@CHECKFORDUPLICATERECORDS bit INOUT Check for duplicate constituents
@BATCHSUPPORTSCHECKINGFORDUPLICATERECORDS bit INOUT Batch supports checking for duplicate records
@TOTALSMATCH bit INOUT Totals match
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@INCLUDEEXCEPTIONPREFIX bit INOUT Include exception prefix
@EXCEPTIONBATCHNUMBERCODE tinyint INOUT Exception batch number code
@EXCEPTIONPREFIX nvarchar(8) INOUT Exception prefix
@ORIGINALBATCHNUMBER nvarchar(100) INOUT Original batch number
@EXCEPTIONLEVEL int INOUT Exception level
@OVERRIDEBATCHNUMBER bit INOUT Override
@USENUMBERINGSCHEME bit INOUT Use numbering scheme
@LASTSEPARATOR tinyint INOUT Last Separator
@CANCHANGEBATCHNUMBERS bit INOUT Can change batch numbers
@REQUIREEXCEPTIONBATCH bit INOUT

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_BATCH2COMMITPARAMETERS
  (
    @ID uniqueidentifier,
    @CURRENTAPPUSERID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @BATCHNUMBER nvarchar(100) = null output,
    @CREATEOUTPUTIDSET bit = null output,
    @OUTPUTIDSETNAME nvarchar(100) = null output,
    @OVERWRITEOUTPUTIDSET bit = null output,
    @CREATEEXCEPTIONBATCH bit = null output,
    @EXCEPTIONBATCHNAME nvarchar(60) = null output,
    @PURGEBATCH bit = null output,
    @CREATECONTROLREPORT bit = null output,
    @VALIDATEBATCH bit = null output,
    @CHECKFORDUPLICATERECORDS bit = null output,
    @BATCHSUPPORTSCHECKINGFORDUPLICATERECORDS bit = null output,
    @TOTALSMATCH bit = null output,
    @TSLONG bigint = 0 output,
    @INCLUDEEXCEPTIONPREFIX bit = null output,
    @EXCEPTIONBATCHNUMBERCODE tinyint = null output,
    @EXCEPTIONPREFIX nvarchar(8) = null output,
    @ORIGINALBATCHNUMBER nvarchar(100) = null output,
    @EXCEPTIONLEVEL int = null output,
    @OVERRIDEBATCHNUMBER bit = null output,
    @USENUMBERINGSCHEME bit  = null output,
    @LASTSEPARATOR tinyint = null output,
    @CANCHANGEBATCHNUMBERS bit = null output,
    @REQUIREEXCEPTIONBATCH bit = null output
  )
as                
  set NOCOUNT on;


  declare @NUMBERINGSCHEMECODE int;
  declare @NUMBERINGSCHEMEID uniqueidentifier ;

  set @DATALOADED = 0
  set @TSLONG = 0

  select    
    @DATALOADED = 1,
    @BATCHNUMBER = [BATCH].[BATCHNUMBER],
    @CREATEOUTPUTIDSET = [BATCH].[CREATEOUTPUTIDSET],                        
    @OUTPUTIDSETNAME = [BATCH].[OUTPUTIDSETNAME],
    @OVERWRITEOUTPUTIDSET = [BATCH].[OVERWRITEOUTPUTIDSET],
    @CREATEEXCEPTIONBATCH = [BATCH].[CREATEEXCEPTIONBATCH],
    @EXCEPTIONBATCHNAME = [BATCH].[EXCEPTIONBATCHNAME],
    @PURGEBATCH = [BATCH].[PURGEBATCH],
    @CREATECONTROLREPORT = [BATCH].[CREATECONTROLREPORT],
    @VALIDATEBATCH = [BATCH].[VALIDATEBATCH],
    @OVERRIDEBATCHNUMBER = [BATCH].[OVERRIDE],
    @CHECKFORDUPLICATERECORDS = [BATCH].[CHECKFORDUPLICATERECORDS],
    @BATCHSUPPORTSCHECKINGFORDUPLICATERECORDS = case when dbo.UFN_GLOBALDUPLICATESEARCH_ISENABLED() = 1 and SPECXML.exist('declare namespace bbspec="bb_appfx_batchtype";
      /bbspec:BatchTypeSpec/bbspec:DuplicateRecordCheck
    ') = 1 then 1 else 0 end,
    @TSLONG = [BATCH].[TSLONG],
    @INCLUDEEXCEPTIONPREFIX = BATCHNUMBERINGSCHEME.INCLUDEEXCEPTIONPREFIX,
    @EXCEPTIONPREFIX = BATCHNUMBERINGSCHEME.EXCEPTIONPREFIX,
    @EXCEPTIONBATCHNUMBERCODE = BATCHNUMBERINGSCHEME.EXCEPTIONBATCHNUMBERCODE,
    @USENUMBERINGSCHEME = BATCHNUMBERINGSCHEME.EXCEPTIONBATCHNUMBERCODE,
    @NUMBERINGSCHEMEID = BATCHNUMBERINGSCHEME.ID,
    @NUMBERINGSCHEMECODE = BATCHNUMBERINGSCHEME.NUMBERINGSCHEMECODE,
    @REQUIREEXCEPTIONBATCH = case when SPECXML.exist('declare namespace bbspec="bb_appfx_batchtype";
       /bbspec:BatchTypeSpec[(@RequireExceptionBatch cast as xs:boolean?) eq xs:boolean("true")]
    ') = 1 then 1 else 0 end
  from
    dbo.[BATCH]
  inner join dbo.BATCHTEMPLATE on BATCHTEMPLATE.ID = BATCH.BATCHTEMPLATEID
  inner join dbo.BATCHTYPECATALOG on BATCHTYPECATALOG.ID = BATCHTEMPLATE.BATCHTYPECATALOGID
  left join dbo.BATCHNUMBERINGSCHEME on BATCHTEMPLATE.BATCHNUMBERINGSCHEMEID = BATCHNUMBERINGSCHEME.ID
  where
    [BATCH].[ID] = @ID;                


  exec dbo.USP_BATCH_DOTOTALSMATCH @ID, @TOTALSMATCH output

  exec dbo.USP_BATCH_GETORIGINALNUMBERANDLEVEL @ID, @ORIGINALBATCHNUMBER output, @EXCEPTIONLEVEL output


  if @NUMBERINGSCHEMECODE = 0
  begin
    select top 1 @LASTSEPARATOR = Separator
    from
      (select 
            SEQUENCEPLACECODE placecode_1, SEQUENCESEPARATORCODE separator_1, CONVERT(bit, 1) include_1,
            LABELPLACECODE placecode_2, LABELSEPARATORCODE separator_2, includelabel include_2,
            DATEFORMATPLACECODE placecode_3, DATESEPARATORCODE separator_3, INCLUDEDATEFORMAT include_3
      from 
            dbo.batchnumberingscheme
            where ID = @NUMBERINGSCHEMEID) p
    UNPIVOT
          (PlaceCode FOR ID1 IN (placecode_1, placecode_2, placecode_3)) AS unpvt
    UNPIVOT
          (Separator for ID2 in (separator_1, separator_2, separator_3)) as unpvt2
    UNPIVOT
          (Include for ID3 in (include_1, include_2, include_3)) as unpvt3  
    where RIGHT(ID1, 1) = RIGHT(ID2, 1) and
            RIGHT(ID1, 1) = RIGHT(ID3, 1) and
            Include = 1
    order by PlaceCode desc;
  end


  -- If autogenned, use security else use can change numbers.
  if @NUMBERINGSCHEMECODE = 0 
    set @CANCHANGEBATCHNUMBERS = dbo.UFN_SECURITY_APPUSER_GRANTED_CHANGEBATCHNUMBER(@CURRENTAPPUSERID, null);
  else
    set @CANCHANGEBATCHNUMBERS = 1;

  return 0;