Skip to content

clsXDeferredPrint

clsXDeferredPrint represents a single deferred (queued) print request stored in XDEFERRED_PRINT. It extends clsBusinessBase and supports insert, update, and delete operations through IBusinessCriteria. The primary key is generated procedurally via GetNextSeqNum("XDeferred_SEQ") in Create(). Single-item retrieve is not supported (dead code) — use clsXDeferredPrintCollection for retrieval.

Purpose

  • Persist a single deferred print item to XDEFERRED_PRINT with copies count, document description, duplex code, file name, printed date, sort values, and XML payload.
  • Update or delete an existing deferred print item by primary key.

Context

  • Namespace: SAIF.Services.Printing.Remote
  • Assembly/package: SAIF.BOF.Services.Printing.Remote
  • Base class: clsBusinessBase (from SAIF.BOF.Framework/SAIF.BOF.Business)

Public members

Member Signature Purpose
XdeferredSeqNum Public Property XdeferredSeqNum As Decimal Primary key; generated via GetNextSeqNum("XDeferred_SEQ") in Create().
CopiesCount Public Property CopiesCount As Decimal Number of copies to print.*
CreateUser Public Property CreateUser As SmartString User or process that created the item. Max length 30.*
DocumentDescr Public Property DocumentDescr As String Document description; used as the filter key for byDocDescr collection retrieval. Max length 60.
DuplexCode Public Property DuplexCode As String Duplex printing code stored as 5-char string (DEFLT/HORIZ/VERTL/SIMPL). Max length 5.*
FileName Public Property FileName As String Source file name for the deferred print item. Max length 120.*
PrintedDate Public Property PrintedDate As SmartDate Date the item was printed. Nullable.*
Sort0Value–Sort9Value Public Property Sort0Value As SmartString (×10) Ten generic sort/grouping columns for print sequencing. Max length 120 each.*
XMLValueText Public Property XMLValueText As String XML payload blob associated with the print item (NCLOB in Oracle).*
Criteria (nested class) Public Class Criteria Implements IBusinessCriteria Holds SQL text: InsertSQL (SQL-004), UpdateSQL (SQL-015), DeleteSQL (SQL-019); CreateSQL (SQL-001) and RetrieveSQL (SQL-009) are dead code.

Behavioral notes

  • Create() generates XdeferredSeqNum via GetNextSeqNum("XDeferred_SEQ") — the CreateSQL property (SQL-001) is never invoked.*
  • AfterInsert and AfterUpdate check RowsAffected <> 1 per BR-001.
  • AfterDelete has its row-count contention check commented out — no live post-delete validation applies for single-item deletes.*
  • RetrieveSQL (SQL-009) unconditionally throws; single-item retrieval is not available — use clsXDeferredPrintCollection.*

Constraints and usage notes

  • DocumentDescr is the key field for collection-level retrieval and purge operations — keep it consistent across related items.
  • XMLValueText is stored as a NCLOB and bound with AddNCLobParm in BeforeInsert.
  • Single-item retrieve and CreateSQL are dead code — do not call GetXDeferredPrint() expecting a single-item lookup.*

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • Services\SAIF.Services.Printing.Remote\clsXDeferredPrint.vb