Skip to content

SQL-012: clsXDocumentCollection.RetrievePrintSQL

Retrieves distinct print groups for a print-control batch using SELECT DISTINCT keyed on PRINT_GROUP_TEXT. This is a supplemental property (RetrievePrintSQL) that is not part of the IBusinessCriteria interface. It is selected by BeforeRetrieve when PrintType = ByPrintGroup, collapsing per-document rows to group-level entries for "print as one group" scenarios. Literal placeholder values ('n/a', 1, 0) are used for columns not relevant to group-level printing.

Classification

Field Value
SQL ID SQL-012
Operation type Read (Retrieve)
Execution method Inline (supplemental property, not part of IBusinessCriteria)
Database Oracle
Schema [unqualified]**
Command type Text
Business object clsXDocumentCollection
Criteria property RetrievePrintSQL
Lifecycle method BeforeRetrieve (PrintType = ByPrintGroup)

Parameters

Parameters are shared with SQL-011 — both are bound once in BeforeRetrieve and the appropriate SQL is selected based on PrintType:

Parameter Direction Type Max length Description
:XPrintControlSeqNum Input Decimal — Batch-header filter — same as SQL-011
:PrinterID Input String 30 Printer filter — same as SQL-011

Tables

Table Access Columns used
XDOCUMENT SELECT (DISTINCT) XPRINT_CONTROL_SEQ_NUM, XBIN_TYPE_CODE, DUPLEX_CODE, PRINT_GROUP_TEXT
XPRINTER_BIN JOIN PRINTER_ID, XBIN_TYPE_CODE, BIN_NUM
XPRINTER JOIN PRINTER_ID, NETWORK_NAME

Sample SQL

Select Distinct
    1                                       as CopiesCount,
    'n/a'                                   as DocumentTypeCode,
    'n/a'                                   as EmailAddress,
    'n/a'                                   as FaxNum,
    XDOCUMENT.PRINT_GROUP_TEXT              as FileName,
    'n/a'                                   as IdxContentsText,
    'n/a'                                   as Sort0Value,
    'n/a'                                   as Sort1Value,
    'n/a'                                   as Sort2Value,
    'n/a'                                   as Sort3Value,
    'n/a'                                   as Sort4Value,
    'n/a'                                   as Sort5Value,
    'n/a'                                   as Sort6Value,
    'n/a'                                   as Sort7Value,
    'n/a'                                   as Sort8Value,
    'n/a'                                   as Sort9Value,
    'n/a'                                   as StartValue,
    XDOCUMENT.XBIN_TYPE_CODE                as XBinTypeCode,
    0                                       as XDocumentSeqNum,
    XDOCUMENT.XPRINT_CONTROL_SEQ_NUM        as XPrintControlSeqNum,
    XPRINTER_BIN.BIN_NUM                    as XBinNumber,
    XPRINTER.NETWORK_NAME                   as PrinterNetworkName,
    XDOCUMENT.DUPLEX_CODE                   as DuplexCode
From
    XDOCUMENT, XPRINTER_BIN, XPRINTER
Where
    XDOCUMENT.XPRINT_CONTROL_SEQ_NUM = :XPrintControlSeqNum
    AND XPRINTER_BIN.PRINTER_ID = :PrinterID
    AND XPRINTER_BIN.PRINTER_ID = XPRINTER.PRINTER_ID
    AND XDOCUMENT.XBIN_TYPE_CODE = XPRINTER_BIN.XBIN_TYPE_CODE
ORDER BY
    XDOCUMENT.PRINT_GROUP_TEXT

Operations and processes

Business rules

Note: Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

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