Namespace: Consultingwerk.OERA
Class 
BufferDataSource Copy to Clipboard
Parent classes:
Inherits: Progress.Lang.Object
Implements: Consultingwerk.OERA.IBufferDataSource
Inherited by: Consultingwerk.SmartUnit.OERA.MockBufferDataSource.MockBufferDataSource
USE-WIDGET-POOL

File:BufferDataSource
Purpose:Encapsulates a dynamic data-source handle
Description:Tool to simplify the management of dynamic data-source
object handles in a DataAccess class.
Author(s):Mike Fechner / Consultingwerk Ltd.
Created:Wed Jun 15 20:41:08 CEST 2016
Notes:It's an ABL restriction that a single buffer can only be
contained in a single data-source at a time, which causes
that implementations like
https://consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8094604/Switching+the+Buffer+sequence+on+a+DATA-SOURCE+in+a+DataAccess+class
or https://consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8093759/Filtering+in+a+Data+Access+class+on+a+table+that+is+not+part+of+the+default+data-source
typically result in the usage of dynamic buffers, dynamic
queries and dynamic data-source object handles
See https://consultingwerk.atlassian.net/wiki/spaces/SCL/pages/8094648/New+API+for+dynamic+DATA-SOURCE+objects
Purpose: Returns the handle of the data-source object
Notes:



Top Method Summary
Options Name Purpose
+ AddBufferSpec (IBufferSpec) Adds a BufferSpec
+ LOGICAL AttachDataSource (handle) Attaches the Data-Source to the ProDataset buffer object handle
+ LOGICAL AttachDataSource (handle, character) Returns the handle of the data-source object
+ LOGICAL AttachDataSource (handle, character, character) Returns the handle of the data-source object
+ LOGICAL AttachDataSource (handle, character, character, character) Returns the handle of the data-source object
# Cleanup () Cleans up all dynamic resources
# DeleteBufferHandles () Deletes the dynamic buffer handles
+ Initialize () Initializes the DATA-SOURCE object handle and supporting objects
# HANDLE InitializeBuffer (IBufferSpec) Initializes a single Data-Source buffer based on a BufferSpec
+ CHARACTER SourceColumn (character) Returns the database field name matching a temp-table field name contained in a consumers query string (query string vs. temp-table definition)
+ CHARACTER SourceDefaultQuery () Returns the default query string (USING OF) that can be used for the SourceDefaultQuery method of the DataAccess class
+ CHARACTER SourceDefaultQuery (logical) Returns the default query string (optionally resolving the OF) that can be used for the SourceDefaultQuery method of the DataAccess class

Top Constructor Summary
Options Name Purpose
+ BufferDataSource () Constructor for the BufferDataSource class
+ BufferDataSource (character) Constructor for the BufferDataSource class
+ BufferDataSource (character, character) Constructor for the BufferDataSource class
+ BufferDataSource (character, character, character) Constructor for the BufferDataSource class
+ BufferDataSource (character, character, character, character) Constructor for the BufferDataSource class
+ BufferDataSource (character, character, character, character, character) Constructor for the BufferDataSource class
+ BufferDataSource (character, character, character, character, character, character) Constructor for the BufferDataSource class
+ BufferDataSource (character, character, character, character, character, character, character) Constructor for the BufferDataSource class
+ BufferDataSource (character, character, character, character, character, character, character, character) Constructor for the BufferDataSource class
+ BufferDataSource (character, character, character, character, character, character, character, character, character) Constructor for the BufferDataSource class
+ BufferDataSource (character, character, character, character, character, character, character, character, character, character) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec, IBufferSpec) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec) Constructor for the BufferDataSource class
+ BufferDataSource (IBufferSpec[]) Constructor for the BufferDataSource class

Top Property Summary
Options Name Purpose
+ HANDLE BufferHandles
+ Consultingwerk.OERA.IBufferSpec BufferSpecs
+ HANDLE DataSourceHandle
+ LOGICAL Initialized
+ HANDLE QueryHandle


Method Detail
Top

PUBLIC AddBufferSpec (IBufferSpec)

Purpose: Adds a BufferSpec
Notes:

Parameters:
poDataSource Consultingwerk.OERA.IBufferSpec
The IBufferSpec to add
Top

PUBLIC LOGICAL AttachDataSource (handle)

Purpose: Attaches the Data-Source to the ProDataset buffer object handle
Notes:

Parameters:
phProDatasetBuffer HANDLE
The handle of the ProDataset buffer
Returns LOGICAL
Logical return value of the ATTACH-DATA-SOURCE method
Top

PUBLIC LOGICAL AttachDataSource (handle, character)

Purpose: Returns the handle of the data-source object
Notes: The implementation is required to remove and white space characters
from pcPairsList that might have been inserted to improve readability
but are not supported by the DATA-SOURCE

Parameters:
phProDatasetBuffer HANDLE
The handle of the ProDataset buffer
pcPairsList CHARACTER
pairs-list An optional character expression that evaluates to a comma-delimited list of field name pairs that specify a mapping between different field names in the data-source object buffer and the ProDataSet temp-table buffer
Returns LOGICAL
Logical return value of the ATTACH-DATA-SOURCE method
Top

PUBLIC LOGICAL AttachDataSource (handle, character, character)

Purpose: Returns the handle of the data-source object
Notes: The implementation is required to remove and white space characters
from pcPairsList that might have been inserted to improve readability
but are not supported by the DATA-SOURCE

Parameters:
phProDatasetBuffer HANDLE
The handle of the ProDataset buffer
pcPairsList CHARACTER
pairs-list An optional character expression that evaluates to a comma-delimited list of field name pairs that specify a mapping between different field names in the data-source object buffer and the ProDataSet temp-table buffer
pcExceptList CHARACTER
An optional character expression that evaluates to a comma-separated list of fields in the ProDataSet object buffer that will not be populated with data from the data source
Returns LOGICAL
Logical return value of the ATTACH-DATA-SOURCE method
Top

PUBLIC LOGICAL AttachDataSource (handle, character, character, character)

Purpose: Returns the handle of the data-source object
Notes: The implementation is required to remove and white space characters
from pcPairsList that might have been inserted to improve readability
but are not supported by the DATA-SOURCE

Parameters:
phProDatasetBuffer HANDLE
The handle of the ProDataset buffer
pcPairsList CHARACTER
pairs-list An optional character expression that evaluates to a comma-delimited list of field name pairs that specify a mapping between different field names in the data-source object buffer and the ProDataSet temp-table buffer
pcExceptList CHARACTER
An optional character expression that evaluates to a comma-separated list of fields in the ProDataSet object buffer that will not be populated with data from the data source
pcIncludeList CHARACTER
An optional character expression that evaluates to a comma-separated list of fields to include in the ProDataSet object buffer, as an alternative to specifying fields to exclude in except-fields.
Returns LOGICAL
Logical return value of the ATTACH-DATA-SOURCE method
Top

PROTECTED Cleanup ()

Purpose: Cleans up all dynamic resources
Notes:

Top

PROTECTED DeleteBufferHandles ()

Purpose: Deletes the dynamic buffer handles
Notes:

Top

PUBLIC Initialize ()

Purpose: Initializes the DATA-SOURCE object handle and supporting objects
Notes: Invoked by the AttachDataSource method if not invoked before

Top

PROTECTED HANDLE InitializeBuffer (IBufferSpec)

Purpose: Initializes a single Data-Source buffer based on a BufferSpec
Notes:

Parameters:
poBufferSpec Consultingwerk.OERA.IBufferSpec
The IBufferSpec instance describing the buffer
Returns HANDLE
The handle of the buffer
Top

PUBLIC CHARACTER SourceColumn (character)

Purpose: Returns the database field name matching a temp-table field name
contained in a consumers query string (query string vs. temp-table
definition)
Notes: To be used in the DataAccess:SourceColumn method

Parameters:
pcColumn CHARACTER
The temp table column name to return the source (database table) field name for
Returns CHARACTER
The database field name mapped to the passed in temp-table field
Top

PUBLIC CHARACTER SourceDefaultQuery ()

Purpose: Returns the default query string (USING OF) that can be used for the
SourceDefaultQuery method of the DataAccess class
Notes: Can not be used, when the buffers cannot be joined using OF

Returns CHARACTER
The query string for the source default query
Top

PUBLIC CHARACTER SourceDefaultQuery (logical)

Purpose: Returns the default query string (optionally resolving the OF) that can be used for the
SourceDefaultQuery method of the DataAccess class
Notes: Can not be used, when the buffers cannot be joined using OF

Parameters:
plResolveOf LOGICAL
Logical value indicating if the OF relation shoudl be resolved into a WHERE clause
Returns CHARACTER
The query string for the source default query


Constructor Detail
Top

PUBLIC BufferDataSource ()

Purpose: Constructor for the BufferDataSource class
Notes:

Top

PUBLIC BufferDataSource (character)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
pcTableName1 CHARACTER
The name of the buffer table
Top

PUBLIC BufferDataSource (character, character)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
pcTableName1 CHARACTER
The name of the buffer table
pcTableName2 CHARACTER
The name of the buffer table
Top

PUBLIC BufferDataSource (character, character, character)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
pcTableName1 CHARACTER
The name of the buffer table
pcTableName2 CHARACTER
The name of the buffer table
pcTableName3 CHARACTER
The name of the buffer table
Top

PUBLIC BufferDataSource (character, character, character, character)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
pcTableName1 CHARACTER
The name of the buffer table
pcTableName2 CHARACTER
The name of the buffer table
pcTableName3 CHARACTER
The name of the buffer table
pcTableName4 CHARACTER
The name of the buffer table
Top

PUBLIC BufferDataSource (character, character, character, character, character)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
pcTableName1 CHARACTER
The name of the buffer table
pcTableName2 CHARACTER
The name of the buffer table
pcTableName3 CHARACTER
The name of the buffer table
pcTableName4 CHARACTER
The name of the buffer table
pcTableName5 CHARACTER
The name of the buffer table
Top

PUBLIC BufferDataSource (character, character, character, character, character, character)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
pcTableName1 CHARACTER
The name of the buffer table
pcTableName2 CHARACTER
The name of the buffer table
pcTableName3 CHARACTER
The name of the buffer table
pcTableName4 CHARACTER
The name of the buffer table
pcTableName5 CHARACTER
The name of the buffer table
pcTableName6 CHARACTER
The name of the buffer table
Top

PUBLIC BufferDataSource (character, character, character, character, character, character, character)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
pcTableName1 CHARACTER
The name of the buffer table
pcTableName2 CHARACTER
The name of the buffer table
pcTableName3 CHARACTER
The name of the buffer table
pcTableName4 CHARACTER
The name of the buffer table
pcTableName5 CHARACTER
The name of the buffer table
pcTableName6 CHARACTER
The name of the buffer table
pcTableName7 CHARACTER
The name of the buffer table
Top

PUBLIC BufferDataSource (character, character, character, character, character, character, character, character)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
pcTableName1 CHARACTER
The name of the buffer table
pcTableName2 CHARACTER
The name of the buffer table
pcTableName3 CHARACTER
The name of the buffer table
pcTableName4 CHARACTER
The name of the buffer table
pcTableName5 CHARACTER
The name of the buffer table
pcTableName6 CHARACTER
The name of the buffer table
pcTableName7 CHARACTER
The name of the buffer table
pcTableName8 CHARACTER
The name of the buffer table
Top

PUBLIC BufferDataSource (character, character, character, character, character, character, character, character, character)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
pcTableName1 CHARACTER
The name of the buffer table
pcTableName2 CHARACTER
The name of the buffer table
pcTableName3 CHARACTER
The name of the buffer table
pcTableName4 CHARACTER
The name of the buffer table
pcTableName5 CHARACTER
The name of the buffer table
pcTableName6 CHARACTER
The name of the buffer table
pcTableName7 CHARACTER
The name of the buffer table
pcTableName8 CHARACTER
The name of the buffer table
pcTableName9 CHARACTER
The name of the buffer table
Top

PUBLIC BufferDataSource (character, character, character, character, character, character, character, character, character, character)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
pcTableName1 CHARACTER
The name of the buffer table
pcTableName2 CHARACTER
The name of the buffer table
pcTableName3 CHARACTER
The name of the buffer table
pcTableName4 CHARACTER
The name of the buffer table
pcTableName5 CHARACTER
The name of the buffer table
pcTableName6 CHARACTER
The name of the buffer table
pcTableName7 CHARACTER
The name of the buffer table
pcTableName8 CHARACTER
The name of the buffer table
pcTableName9 CHARACTER
The name of the buffer table
pcTableName10 CHARACTER
The name of the buffer table
Top

PUBLIC BufferDataSource (IBufferSpec)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpec1 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
Top

PUBLIC BufferDataSource (IBufferSpec, IBufferSpec)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpec1 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec2 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
Top

PUBLIC BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpec1 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec2 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec3 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
Top

PUBLIC BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpec1 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec2 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec3 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec4 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
Top

PUBLIC BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpec1 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec2 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec3 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec4 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec5 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
Top

PUBLIC BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpec1 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec2 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec3 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec4 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec5 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec6 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
Top

PUBLIC BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpec1 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec2 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec3 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec4 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec5 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec6 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec7 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
Top

PUBLIC BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpec1 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec2 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec3 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec4 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec5 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec6 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec7 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec8 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
Top

PUBLIC BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpec1 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec2 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec3 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec4 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec5 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec6 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec7 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec8 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec9 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
Top

PUBLIC BufferDataSource (IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec, IBufferSpec)

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpec1 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec2 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec3 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec4 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec5 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec6 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec7 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec8 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec9 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
poBufferSpec10 Consultingwerk.OERA.IBufferSpec
The buffer spec for the dynamic buffer
Top

PUBLIC BufferDataSource (IBufferSpec[])

Purpose: Constructor for the BufferDataSource class
Notes:

Parameters:
poBufferSpecs Consultingwerk.OERA.IBufferSpec
The array with buffer specs for the dynamic buffers


Property Detail
Top

PUBLIC HANDLE BufferHandles


Returns HANDLE
Top

PUBLIC Consultingwerk.OERA.IBufferSpec BufferSpecs


Returns Consultingwerk.OERA.IBufferSpec
Top

PUBLIC HANDLE DataSourceHandle


Returns HANDLE
Top

PUBLIC LOGICAL Initialized


Returns LOGICAL
Top

PUBLIC HANDLE QueryHandle


Returns HANDLE


©2006-2020 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       29.06.2022 12:41:47