net.sourceforge.msscodefactory.v1_10.MSSBamPg8.MSSBamPg8ScopeTable.java Source code

Java tutorial

Introduction

Here is the source code for net.sourceforge.msscodefactory.v1_10.MSSBamPg8.MSSBamPg8ScopeTable.java

Source

// Description: Java 6 PostgreSQL Jdbc DbIO implementation for Scope.

/*
 *   MSS Code Factory 1.10
 *
 *   Copyright (c) 2012 Mark Sobkow
 *   
 *   This program is available as free software under the GNU GPL v3, or
 *   under a commercial license from Mark Sobkow.  For commercial licensing
 *   details, please contact msobkow@sasktel.net.
 *   
 *   Under the terms of the GPL:
 *   
 *      This program is free software: you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation, either version 3 of the License, or
 *      (at your option) any later version.
 *     
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *     
 *      You should have received a copy of the GNU General Public License
 *      along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *   
 * ***********************************************************************
 *
 *   Code manufactured
 *   by MSS Code Factory version 1.9.3294
 *
 *   $Revision: 26 $
 */

package net.sourceforge.msscodefactory.v1_10.MSSBamPg8;

import java.math.*;
import java.sql.*;
import java.text.*;
import java.util.*;
import net.sourceforge.msscodefactory.cflib.v1_9.CFLib.*;
import org.apache.commons.codec.binary.Base64;
import net.sourceforge.msscodefactory.v1_10.MSSBam.*;

/*
 *   MSSBamPg8ScopeTable PostgreSQL Jdbc DbIO implementation
 *   for Scope.
 *
 *   Data redaction is the responsibility of another layer.  The raw database
 *   interface returns everything regardless of whether the end user is
 *   authorized to see the data.  A redaction layer replaces protected/redacted
 *   buffs with default values.  They should not be included in client-side
 *   filter sets, and the network redaction layer should actually eliminate them
 *   before transmitting data to the client.  The client should never see
 *   redacted data in order to comply with data privacy regulations in Canada
 *   and the US.
 */
public class MSSBamPg8ScopeTable implements IMSSBamScopeTable {
    private MSSBamPg8Schema schema;

    public MSSBamPg8ScopeTable(MSSBamPg8Schema argSchema) {
        schema = argSchema;
    }

    public void createScope(MSSBamAuthorization Authorization, MSSBamScopeBuff Buff) {
        final String S_ProcName = "createScope ";
        try {
            Connection cnx = schema.getCnx();
            long Id = Buff.getRequiredId();
            String sql = "INSERT INTO mssbam110.scope( " + "id" + " )" + "VALUES ( " + Id + " )";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            int rowsAffected = stmt.executeUpdate(sql);
            if (rowsAffected != 1) {
                throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                        "Expected 1 row to be affected by insert, not " + rowsAffected);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public final static String S_sqlSelectScopeDistinctClassCode = "SELECT " + "DISTINCT anyo.ClassCode "
            + "FROM mssbam110.any_obj AS anyo " + "INNER JOIN mssbam110.scope scp ON " + "scp.Id = anyo.Id ";

    public final static String S_sqlSelectScopeBuff = "SELECT " + "anyo.ClassCode, " + "anyo.Id, "
            + "anyo.TenantId, " + "anyo.ScopeId, " + "anyo.Name, " + "anyo.short_name, " + "anyo.Label, "
            + "anyo.short_descr, " + "anyo.descr, " + "anyo.AuthorId, " + "anyo.Revision "
            + "FROM mssbam110.any_obj AS anyo " + "INNER JOIN mssbam110.scope scp ON " + "scp.Id = anyo.Id ";

    protected MSSBamScopeBuff unpackScopeResultSetToBuff(ResultSet resultSet) throws SQLException {
        final String S_ProcName = "unpackScopeResultSetToBuff";
        int idxcol = 1;
        String classCode = resultSet.getString(idxcol);
        idxcol++;
        MSSBamScopeBuff buff;
        if (classCode.equals("SCP")) {
            buff = schema.getFactoryScope().newBuff();
        } else if (classCode.equals("DICT")) {
            buff = schema.getFactoryDictionary().newBuff();
        } else if (classCode.equals("RMD")) {
            buff = schema.getFactoryMSSBam().newBuff();
        } else if (classCode.equals("BDM")) {
            buff = schema.getFactoryBaseDomain().newBuff();
        } else if (classCode.equals("DOM")) {
            buff = schema.getFactoryDomain().newBuff();
        } else if (classCode.equals("LENT")) {
            buff = schema.getFactoryLegalEntity().newBuff();
        } else if (classCode.equals("COM")) {
            buff = schema.getFactoryCompany().newBuff();
        } else if (classCode.equals("USR")) {
            buff = schema.getFactoryUser().newBuff();
        } else if (classCode.equals("PRJ")) {
            buff = schema.getFactoryProject().newBuff();
        } else if (classCode.equals("VER")) {
            buff = schema.getFactoryVersion().newBuff();
        } else if (classCode.equals("MJV")) {
            buff = schema.getFactoryMajorVersion().newBuff();
        } else if (classCode.equals("MNV")) {
            buff = schema.getFactoryMinorVersion().newBuff();
        } else if (classCode.equals("TLD")) {
            buff = schema.getFactoryTLD().newBuff();
        } else if (classCode.equals("IDX")) {
            buff = schema.getFactoryIndex().newBuff();
        } else if (classCode.equals("REL")) {
            buff = schema.getFactoryRelation().newBuff();
        } else if (classCode.equals("SCH")) {
            buff = schema.getFactorySchemaDef().newBuff();
        } else if (classCode.equals("TBL")) {
            buff = schema.getFactoryTable().newBuff();
        } else if (classCode.equals("VAL")) {
            buff = schema.getFactoryValue().newBuff();
        } else if (classCode.equals("ATM")) {
            buff = schema.getFactoryAtomDef().newBuff();
        } else if (classCode.equals("BLB")) {
            buff = schema.getFactoryBlobDef().newBuff();
        } else if (classCode.equals("TBLB")) {
            buff = schema.getFactoryTableBlob().newBuff();
        } else if (classCode.equals("SBLB")) {
            buff = schema.getFactorySchemaBlob().newBuff();
        } else if (classCode.equals("BLN")) {
            buff = schema.getFactoryBoolDef().newBuff();
        } else if (classCode.equals("TBLN")) {
            buff = schema.getFactoryTableBool().newBuff();
        } else if (classCode.equals("SBLN")) {
            buff = schema.getFactorySchemaBool().newBuff();
        } else if (classCode.equals("DAT")) {
            buff = schema.getFactoryDateDef().newBuff();
        } else if (classCode.equals("TDAT")) {
            buff = schema.getFactoryTableDate().newBuff();
        } else if (classCode.equals("SDAT")) {
            buff = schema.getFactorySchemaDate().newBuff();
        } else if (classCode.equals("DBL")) {
            buff = schema.getFactoryDoubleDef().newBuff();
        } else if (classCode.equals("TDBL")) {
            buff = schema.getFactoryTableDouble().newBuff();
        } else if (classCode.equals("SDBL")) {
            buff = schema.getFactorySchemaDouble().newBuff();
        } else if (classCode.equals("NUM")) {
            buff = schema.getFactoryNumberDef().newBuff();
        } else if (classCode.equals("TNUM")) {
            buff = schema.getFactoryTableNumber().newBuff();
        } else if (classCode.equals("SNUM")) {
            buff = schema.getFactorySchemaNumber().newBuff();
        } else if (classCode.equals("FLT")) {
            buff = schema.getFactoryFloatDef().newBuff();
        } else if (classCode.equals("TFLT")) {
            buff = schema.getFactoryTableFloat().newBuff();
        } else if (classCode.equals("SFLT")) {
            buff = schema.getFactorySchemaFloat().newBuff();
        } else if (classCode.equals("I16")) {
            buff = schema.getFactoryInt16Def().newBuff();
        } else if (classCode.equals("TI16")) {
            buff = schema.getFactoryTableInt16().newBuff();
        } else if (classCode.equals("SI16")) {
            buff = schema.getFactorySchemaInt16().newBuff();
        } else if (classCode.equals("ENM")) {
            buff = schema.getFactoryEnumDef().newBuff();
        } else if (classCode.equals("TENM")) {
            buff = schema.getFactoryTableEnum().newBuff();
        } else if (classCode.equals("SENM")) {
            buff = schema.getFactorySchemaEnum().newBuff();
        } else if (classCode.equals("G16")) {
            buff = schema.getFactoryId16GenDef().newBuff();
        } else if (classCode.equals("TG16")) {
            buff = schema.getFactoryTableId16Gen().newBuff();
        } else if (classCode.equals("SG16")) {
            buff = schema.getFactorySchemaId16Gen().newBuff();
        } else if (classCode.equals("U16")) {
            buff = schema.getFactoryUInt16Def().newBuff();
        } else if (classCode.equals("TU16")) {
            buff = schema.getFactoryTableUInt16().newBuff();
        } else if (classCode.equals("SU16")) {
            buff = schema.getFactorySchemaUInt16().newBuff();
        } else if (classCode.equals("I32")) {
            buff = schema.getFactoryInt32Def().newBuff();
        } else if (classCode.equals("TI32")) {
            buff = schema.getFactoryTableInt32().newBuff();
        } else if (classCode.equals("SI32")) {
            buff = schema.getFactorySchemaInt32().newBuff();
        } else if (classCode.equals("G32")) {
            buff = schema.getFactoryId32GenDef().newBuff();
        } else if (classCode.equals("TG32")) {
            buff = schema.getFactoryTableId32Gen().newBuff();
        } else if (classCode.equals("SG32")) {
            buff = schema.getFactorySchemaId32Gen().newBuff();
        } else if (classCode.equals("U32")) {
            buff = schema.getFactoryUInt32Def().newBuff();
        } else if (classCode.equals("TU32")) {
            buff = schema.getFactoryTableUInt32().newBuff();
        } else if (classCode.equals("SU32")) {
            buff = schema.getFactorySchemaUInt32().newBuff();
        } else if (classCode.equals("I64")) {
            buff = schema.getFactoryInt64Def().newBuff();
        } else if (classCode.equals("TI64")) {
            buff = schema.getFactoryTableInt64().newBuff();
        } else if (classCode.equals("SI64")) {
            buff = schema.getFactorySchemaInt64().newBuff();
        } else if (classCode.equals("G64")) {
            buff = schema.getFactoryId64GenDef().newBuff();
        } else if (classCode.equals("TG64")) {
            buff = schema.getFactoryTableId64Gen().newBuff();
        } else if (classCode.equals("SG64")) {
            buff = schema.getFactorySchemaId64Gen().newBuff();
        } else if (classCode.equals("U64")) {
            buff = schema.getFactoryUInt64Def().newBuff();
        } else if (classCode.equals("TU64")) {
            buff = schema.getFactoryTableUInt64().newBuff();
        } else if (classCode.equals("SU64")) {
            buff = schema.getFactorySchemaUInt64().newBuff();
        } else if (classCode.equals("UUID")) {
            buff = schema.getFactoryUuidDef().newBuff();
        } else if (classCode.equals("TUUI")) {
            buff = schema.getFactoryTableUuid().newBuff();
        } else if (classCode.equals("SUUI")) {
            buff = schema.getFactorySchemaUuid().newBuff();
        } else if (classCode.equals("IDGU")) {
            buff = schema.getFactoryUuidGenDef().newBuff();
        } else if (classCode.equals("TGUU")) {
            buff = schema.getFactoryTableUuidGen().newBuff();
        } else if (classCode.equals("SGUU")) {
            buff = schema.getFactorySchemaUuidGen().newBuff();
        } else if (classCode.equals("NMT")) {
            buff = schema.getFactoryNmTokenDef().newBuff();
        } else if (classCode.equals("TNTK")) {
            buff = schema.getFactoryTableNmToken().newBuff();
        } else if (classCode.equals("SNTK")) {
            buff = schema.getFactorySchemaNmToken().newBuff();
        } else if (classCode.equals("NMS")) {
            buff = schema.getFactoryNmTokensDef().newBuff();
        } else if (classCode.equals("TNTS")) {
            buff = schema.getFactoryTableNmTokens().newBuff();
        } else if (classCode.equals("SNTS")) {
            buff = schema.getFactorySchemaNmTokens().newBuff();
        } else if (classCode.equals("STR")) {
            buff = schema.getFactoryStringDef().newBuff();
        } else if (classCode.equals("TSTR")) {
            buff = schema.getFactoryTableString().newBuff();
        } else if (classCode.equals("SSTR")) {
            buff = schema.getFactorySchemaString().newBuff();
        } else if (classCode.equals("ZDY")) {
            buff = schema.getFactoryTZDateDef().newBuff();
        } else if (classCode.equals("TZDY")) {
            buff = schema.getFactoryTableTZDate().newBuff();
        } else if (classCode.equals("SZDY")) {
            buff = schema.getFactorySchemaTZDate().newBuff();
        } else if (classCode.equals("ZTM")) {
            buff = schema.getFactoryTZTimeDef().newBuff();
        } else if (classCode.equals("TZTM")) {
            buff = schema.getFactoryTableTZTime().newBuff();
        } else if (classCode.equals("SZTM")) {
            buff = schema.getFactorySchemaTZTime().newBuff();
        } else if (classCode.equals("ZSP")) {
            buff = schema.getFactoryTZTimestampDef().newBuff();
        } else if (classCode.equals("TZST")) {
            buff = schema.getFactoryTableTZTimestamp().newBuff();
        } else if (classCode.equals("SZST")) {
            buff = schema.getFactorySchemaTZTimestamp().newBuff();
        } else if (classCode.equals("TXT")) {
            buff = schema.getFactoryTextDef().newBuff();
        } else if (classCode.equals("TTXT")) {
            buff = schema.getFactoryTableText().newBuff();
        } else if (classCode.equals("STXT")) {
            buff = schema.getFactorySchemaText().newBuff();
        } else if (classCode.equals("TIM")) {
            buff = schema.getFactoryTimeDef().newBuff();
        } else if (classCode.equals("TTIM")) {
            buff = schema.getFactoryTableTime().newBuff();
        } else if (classCode.equals("STIM")) {
            buff = schema.getFactorySchemaTime().newBuff();
        } else if (classCode.equals("TSP")) {
            buff = schema.getFactoryTimestampDef().newBuff();
        } else if (classCode.equals("TTSM")) {
            buff = schema.getFactoryTableTimestamp().newBuff();
        } else if (classCode.equals("STSM")) {
            buff = schema.getFactorySchemaTimestamp().newBuff();
        } else if (classCode.equals("TKN")) {
            buff = schema.getFactoryTokenDef().newBuff();
        } else if (classCode.equals("TTOK")) {
            buff = schema.getFactoryTableToken().newBuff();
        } else if (classCode.equals("STOK")) {
            buff = schema.getFactorySchemaToken().newBuff();
        } else if (classCode.equals("TBC")) {
            buff = schema.getFactoryTableCol().newBuff();
        } else {
            throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                    "Unrecognized class code \"" + classCode + "\"");
        }
        buff.setRequiredId(resultSet.getLong(idxcol));
        idxcol++;
        buff.setRequiredTenantId(resultSet.getLong(idxcol));
        idxcol++;
        {
            long colVal = resultSet.getLong(idxcol);
            if (resultSet.wasNull()) {
                buff.setOptionalScopeId(null);
            } else {
                buff.setOptionalScopeId(colVal);
            }
        }
        idxcol++;
        buff.setRequiredName(resultSet.getString(idxcol));
        idxcol++;
        {
            String colVal = resultSet.getString(idxcol);
            if (resultSet.wasNull()) {
                buff.setOptionalShortName(null);
            } else {
                buff.setOptionalShortName(colVal);
            }
        }
        idxcol++;
        {
            String colVal = resultSet.getString(idxcol);
            if (resultSet.wasNull()) {
                buff.setOptionalLabel(null);
            } else {
                buff.setOptionalLabel(colVal);
            }
        }
        idxcol++;
        {
            String colVal = resultSet.getString(idxcol);
            if (resultSet.wasNull()) {
                buff.setOptionalShortDescription(null);
            } else {
                buff.setOptionalShortDescription(colVal);
            }
        }
        idxcol++;
        {
            String colVal = resultSet.getString(idxcol);
            if (resultSet.wasNull()) {
                buff.setOptionalDescription(null);
            } else {
                buff.setOptionalDescription(colVal);
            }
        }
        idxcol++;
        {
            long colVal = resultSet.getLong(idxcol);
            if (resultSet.wasNull()) {
                buff.setOptionalAuthorId(null);
            } else {
                buff.setOptionalAuthorId(colVal);
            }
        }
        idxcol++;
        buff.setRequiredRevision(resultSet.getInt(idxcol));
        return (buff);
    }

    public MSSBamScopeBuff readDerived(MSSBamAuthorization Authorization, MSSBamAnyObjPKey PKey) {
        final String S_ProcName = "readDerived()";
        if (!schema.isTransactionOpen()) {
            throw CFLib.getDefaultExceptionFactory().newUsageException(getClass(), S_ProcName,
                    "Transaction not open");
        }
        MSSBamScopeBuff buff;
        long Id = PKey.getRequiredId();
        String classCode;
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeDistinctClassCode + "WHERE " + "scp.Id = " + Long.toString(Id) + " ";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            if (resultSet.next()) {
                classCode = resultSet.getString(1);
                if (resultSet.next()) {
                    resultSet.last();
                    throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                            "Did not expect multi-buff response, " + resultSet.getRow() + " rows selected");
                }
            } else {
                return (null);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
        if (classCode.equals("SCP")) {
            buff = readBuff(Authorization, PKey);
        } else if (classCode.equals("DICT")) {
            buff = schema.getTableDictionary().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("RMD")) {
            buff = schema.getTableMSSBam().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("BDM")) {
            buff = schema.getTableBaseDomain().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("DOM")) {
            buff = schema.getTableDomain().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("LENT")) {
            buff = schema.getTableLegalEntity().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("COM")) {
            buff = schema.getTableCompany().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("USR")) {
            buff = schema.getTableUser().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("PRJ")) {
            buff = schema.getTableProject().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("VER")) {
            buff = schema.getTableVersion().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("MJV")) {
            buff = schema.getTableMajorVersion().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("MNV")) {
            buff = schema.getTableMinorVersion().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TLD")) {
            buff = schema.getTableTLD().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("IDX")) {
            buff = schema.getTableIndex().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("REL")) {
            buff = schema.getTableRelation().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SCH")) {
            buff = schema.getTableSchemaDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TBL")) {
            buff = schema.getTableTable().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("VAL")) {
            buff = schema.getTableValue().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("ATM")) {
            buff = schema.getTableAtomDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("BLB")) {
            buff = schema.getTableBlobDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TBLB")) {
            buff = schema.getTableTableBlob().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SBLB")) {
            buff = schema.getTableSchemaBlob().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("BLN")) {
            buff = schema.getTableBoolDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TBLN")) {
            buff = schema.getTableTableBool().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SBLN")) {
            buff = schema.getTableSchemaBool().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("DAT")) {
            buff = schema.getTableDateDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TDAT")) {
            buff = schema.getTableTableDate().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SDAT")) {
            buff = schema.getTableSchemaDate().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("DBL")) {
            buff = schema.getTableDoubleDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TDBL")) {
            buff = schema.getTableTableDouble().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SDBL")) {
            buff = schema.getTableSchemaDouble().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("NUM")) {
            buff = schema.getTableNumberDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TNUM")) {
            buff = schema.getTableTableNumber().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SNUM")) {
            buff = schema.getTableSchemaNumber().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("FLT")) {
            buff = schema.getTableFloatDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TFLT")) {
            buff = schema.getTableTableFloat().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SFLT")) {
            buff = schema.getTableSchemaFloat().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("I16")) {
            buff = schema.getTableInt16Def().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TI16")) {
            buff = schema.getTableTableInt16().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SI16")) {
            buff = schema.getTableSchemaInt16().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("ENM")) {
            buff = schema.getTableEnumDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TENM")) {
            buff = schema.getTableTableEnum().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SENM")) {
            buff = schema.getTableSchemaEnum().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("G16")) {
            buff = schema.getTableId16GenDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TG16")) {
            buff = schema.getTableTableId16Gen().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SG16")) {
            buff = schema.getTableSchemaId16Gen().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("U16")) {
            buff = schema.getTableUInt16Def().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TU16")) {
            buff = schema.getTableTableUInt16().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SU16")) {
            buff = schema.getTableSchemaUInt16().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("I32")) {
            buff = schema.getTableInt32Def().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TI32")) {
            buff = schema.getTableTableInt32().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SI32")) {
            buff = schema.getTableSchemaInt32().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("G32")) {
            buff = schema.getTableId32GenDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TG32")) {
            buff = schema.getTableTableId32Gen().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SG32")) {
            buff = schema.getTableSchemaId32Gen().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("U32")) {
            buff = schema.getTableUInt32Def().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TU32")) {
            buff = schema.getTableTableUInt32().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SU32")) {
            buff = schema.getTableSchemaUInt32().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("I64")) {
            buff = schema.getTableInt64Def().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TI64")) {
            buff = schema.getTableTableInt64().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SI64")) {
            buff = schema.getTableSchemaInt64().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("G64")) {
            buff = schema.getTableId64GenDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TG64")) {
            buff = schema.getTableTableId64Gen().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SG64")) {
            buff = schema.getTableSchemaId64Gen().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("U64")) {
            buff = schema.getTableUInt64Def().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TU64")) {
            buff = schema.getTableTableUInt64().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SU64")) {
            buff = schema.getTableSchemaUInt64().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("UUID")) {
            buff = schema.getTableUuidDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TUUI")) {
            buff = schema.getTableTableUuid().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SUUI")) {
            buff = schema.getTableSchemaUuid().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("IDGU")) {
            buff = schema.getTableUuidGenDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TGUU")) {
            buff = schema.getTableTableUuidGen().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SGUU")) {
            buff = schema.getTableSchemaUuidGen().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("NMT")) {
            buff = schema.getTableNmTokenDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TNTK")) {
            buff = schema.getTableTableNmToken().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SNTK")) {
            buff = schema.getTableSchemaNmToken().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("NMS")) {
            buff = schema.getTableNmTokensDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TNTS")) {
            buff = schema.getTableTableNmTokens().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SNTS")) {
            buff = schema.getTableSchemaNmTokens().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("STR")) {
            buff = schema.getTableStringDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TSTR")) {
            buff = schema.getTableTableString().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SSTR")) {
            buff = schema.getTableSchemaString().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("ZDY")) {
            buff = schema.getTableTZDateDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TZDY")) {
            buff = schema.getTableTableTZDate().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SZDY")) {
            buff = schema.getTableSchemaTZDate().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("ZTM")) {
            buff = schema.getTableTZTimeDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TZTM")) {
            buff = schema.getTableTableTZTime().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SZTM")) {
            buff = schema.getTableSchemaTZTime().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("ZSP")) {
            buff = schema.getTableTZTimestampDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TZST")) {
            buff = schema.getTableTableTZTimestamp().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("SZST")) {
            buff = schema.getTableSchemaTZTimestamp().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TXT")) {
            buff = schema.getTableTextDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TTXT")) {
            buff = schema.getTableTableText().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("STXT")) {
            buff = schema.getTableSchemaText().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TIM")) {
            buff = schema.getTableTimeDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TTIM")) {
            buff = schema.getTableTableTime().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("STIM")) {
            buff = schema.getTableSchemaTime().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TSP")) {
            buff = schema.getTableTimestampDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TTSM")) {
            buff = schema.getTableTableTimestamp().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("STSM")) {
            buff = schema.getTableSchemaTimestamp().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TKN")) {
            buff = schema.getTableTokenDef().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TTOK")) {
            buff = schema.getTableTableToken().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("STOK")) {
            buff = schema.getTableSchemaToken().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else if (classCode.equals("TBC")) {
            buff = schema.getTableTableCol().readBuffByIdIdx(Authorization, PKey.getRequiredId());
        } else {
            throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                    "Did not expect ClassCode \"" + classCode + "\"");
        }
        return (buff);
    }

    public MSSBamScopeBuff[] readAllDerived(MSSBamAuthorization Authorization) {
        final String S_ProcName = "readAllDerived";
        MSSBamScopeBuff[] buffArray;
        if (!schema.isTransactionOpen()) {
            throw CFLib.getDefaultExceptionFactory().newUsageException(getClass(), S_ProcName,
                    "Transaction not open");
        }
        String classCode;
        ArrayList<String> classCodeList = new ArrayList<String>();
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeDistinctClassCode;
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            while (resultSet.next()) {
                classCode = resultSet.getString(1);
                classCodeList.add(classCode);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
        ArrayList<MSSBamScopeBuff> resultList = new ArrayList<MSSBamScopeBuff>();
        for (int classCodeIdx = 0; classCodeIdx < classCodeList.size(); classCodeIdx++) {
            MSSBamScopeBuff[] subList;
            classCode = classCodeList.get(classCodeIdx);
            if (classCode.equals("SCP")) {
                subList = readAllBuff(Authorization);
            } else if (classCode.equals("DICT")) {
                subList = schema.getTableDictionary().readAllBuff(Authorization);
            } else if (classCode.equals("RMD")) {
                subList = schema.getTableMSSBam().readAllBuff(Authorization);
            } else if (classCode.equals("BDM")) {
                subList = schema.getTableBaseDomain().readAllBuff(Authorization);
            } else if (classCode.equals("DOM")) {
                subList = schema.getTableDomain().readAllBuff(Authorization);
            } else if (classCode.equals("LENT")) {
                subList = schema.getTableLegalEntity().readAllBuff(Authorization);
            } else if (classCode.equals("COM")) {
                subList = schema.getTableCompany().readAllBuff(Authorization);
            } else if (classCode.equals("USR")) {
                subList = schema.getTableUser().readAllBuff(Authorization);
            } else if (classCode.equals("PRJ")) {
                subList = schema.getTableProject().readAllBuff(Authorization);
            } else if (classCode.equals("VER")) {
                subList = schema.getTableVersion().readAllBuff(Authorization);
            } else if (classCode.equals("MJV")) {
                subList = schema.getTableMajorVersion().readAllBuff(Authorization);
            } else if (classCode.equals("MNV")) {
                subList = schema.getTableMinorVersion().readAllBuff(Authorization);
            } else if (classCode.equals("TLD")) {
                subList = schema.getTableTLD().readAllBuff(Authorization);
            } else if (classCode.equals("IDX")) {
                subList = schema.getTableIndex().readAllBuff(Authorization);
            } else if (classCode.equals("REL")) {
                subList = schema.getTableRelation().readAllBuff(Authorization);
            } else if (classCode.equals("SCH")) {
                subList = schema.getTableSchemaDef().readAllBuff(Authorization);
            } else if (classCode.equals("TBL")) {
                subList = schema.getTableTable().readAllBuff(Authorization);
            } else if (classCode.equals("VAL")) {
                subList = schema.getTableValue().readAllBuff(Authorization);
            } else if (classCode.equals("ATM")) {
                subList = schema.getTableAtomDef().readAllBuff(Authorization);
            } else if (classCode.equals("BLB")) {
                subList = schema.getTableBlobDef().readAllBuff(Authorization);
            } else if (classCode.equals("TBLB")) {
                subList = schema.getTableTableBlob().readAllBuff(Authorization);
            } else if (classCode.equals("SBLB")) {
                subList = schema.getTableSchemaBlob().readAllBuff(Authorization);
            } else if (classCode.equals("BLN")) {
                subList = schema.getTableBoolDef().readAllBuff(Authorization);
            } else if (classCode.equals("TBLN")) {
                subList = schema.getTableTableBool().readAllBuff(Authorization);
            } else if (classCode.equals("SBLN")) {
                subList = schema.getTableSchemaBool().readAllBuff(Authorization);
            } else if (classCode.equals("DAT")) {
                subList = schema.getTableDateDef().readAllBuff(Authorization);
            } else if (classCode.equals("TDAT")) {
                subList = schema.getTableTableDate().readAllBuff(Authorization);
            } else if (classCode.equals("SDAT")) {
                subList = schema.getTableSchemaDate().readAllBuff(Authorization);
            } else if (classCode.equals("DBL")) {
                subList = schema.getTableDoubleDef().readAllBuff(Authorization);
            } else if (classCode.equals("TDBL")) {
                subList = schema.getTableTableDouble().readAllBuff(Authorization);
            } else if (classCode.equals("SDBL")) {
                subList = schema.getTableSchemaDouble().readAllBuff(Authorization);
            } else if (classCode.equals("NUM")) {
                subList = schema.getTableNumberDef().readAllBuff(Authorization);
            } else if (classCode.equals("TNUM")) {
                subList = schema.getTableTableNumber().readAllBuff(Authorization);
            } else if (classCode.equals("SNUM")) {
                subList = schema.getTableSchemaNumber().readAllBuff(Authorization);
            } else if (classCode.equals("FLT")) {
                subList = schema.getTableFloatDef().readAllBuff(Authorization);
            } else if (classCode.equals("TFLT")) {
                subList = schema.getTableTableFloat().readAllBuff(Authorization);
            } else if (classCode.equals("SFLT")) {
                subList = schema.getTableSchemaFloat().readAllBuff(Authorization);
            } else if (classCode.equals("I16")) {
                subList = schema.getTableInt16Def().readAllBuff(Authorization);
            } else if (classCode.equals("TI16")) {
                subList = schema.getTableTableInt16().readAllBuff(Authorization);
            } else if (classCode.equals("SI16")) {
                subList = schema.getTableSchemaInt16().readAllBuff(Authorization);
            } else if (classCode.equals("ENM")) {
                subList = schema.getTableEnumDef().readAllBuff(Authorization);
            } else if (classCode.equals("TENM")) {
                subList = schema.getTableTableEnum().readAllBuff(Authorization);
            } else if (classCode.equals("SENM")) {
                subList = schema.getTableSchemaEnum().readAllBuff(Authorization);
            } else if (classCode.equals("G16")) {
                subList = schema.getTableId16GenDef().readAllBuff(Authorization);
            } else if (classCode.equals("TG16")) {
                subList = schema.getTableTableId16Gen().readAllBuff(Authorization);
            } else if (classCode.equals("SG16")) {
                subList = schema.getTableSchemaId16Gen().readAllBuff(Authorization);
            } else if (classCode.equals("U16")) {
                subList = schema.getTableUInt16Def().readAllBuff(Authorization);
            } else if (classCode.equals("TU16")) {
                subList = schema.getTableTableUInt16().readAllBuff(Authorization);
            } else if (classCode.equals("SU16")) {
                subList = schema.getTableSchemaUInt16().readAllBuff(Authorization);
            } else if (classCode.equals("I32")) {
                subList = schema.getTableInt32Def().readAllBuff(Authorization);
            } else if (classCode.equals("TI32")) {
                subList = schema.getTableTableInt32().readAllBuff(Authorization);
            } else if (classCode.equals("SI32")) {
                subList = schema.getTableSchemaInt32().readAllBuff(Authorization);
            } else if (classCode.equals("G32")) {
                subList = schema.getTableId32GenDef().readAllBuff(Authorization);
            } else if (classCode.equals("TG32")) {
                subList = schema.getTableTableId32Gen().readAllBuff(Authorization);
            } else if (classCode.equals("SG32")) {
                subList = schema.getTableSchemaId32Gen().readAllBuff(Authorization);
            } else if (classCode.equals("U32")) {
                subList = schema.getTableUInt32Def().readAllBuff(Authorization);
            } else if (classCode.equals("TU32")) {
                subList = schema.getTableTableUInt32().readAllBuff(Authorization);
            } else if (classCode.equals("SU32")) {
                subList = schema.getTableSchemaUInt32().readAllBuff(Authorization);
            } else if (classCode.equals("I64")) {
                subList = schema.getTableInt64Def().readAllBuff(Authorization);
            } else if (classCode.equals("TI64")) {
                subList = schema.getTableTableInt64().readAllBuff(Authorization);
            } else if (classCode.equals("SI64")) {
                subList = schema.getTableSchemaInt64().readAllBuff(Authorization);
            } else if (classCode.equals("G64")) {
                subList = schema.getTableId64GenDef().readAllBuff(Authorization);
            } else if (classCode.equals("TG64")) {
                subList = schema.getTableTableId64Gen().readAllBuff(Authorization);
            } else if (classCode.equals("SG64")) {
                subList = schema.getTableSchemaId64Gen().readAllBuff(Authorization);
            } else if (classCode.equals("U64")) {
                subList = schema.getTableUInt64Def().readAllBuff(Authorization);
            } else if (classCode.equals("TU64")) {
                subList = schema.getTableTableUInt64().readAllBuff(Authorization);
            } else if (classCode.equals("SU64")) {
                subList = schema.getTableSchemaUInt64().readAllBuff(Authorization);
            } else if (classCode.equals("UUID")) {
                subList = schema.getTableUuidDef().readAllBuff(Authorization);
            } else if (classCode.equals("TUUI")) {
                subList = schema.getTableTableUuid().readAllBuff(Authorization);
            } else if (classCode.equals("SUUI")) {
                subList = schema.getTableSchemaUuid().readAllBuff(Authorization);
            } else if (classCode.equals("IDGU")) {
                subList = schema.getTableUuidGenDef().readAllBuff(Authorization);
            } else if (classCode.equals("TGUU")) {
                subList = schema.getTableTableUuidGen().readAllBuff(Authorization);
            } else if (classCode.equals("SGUU")) {
                subList = schema.getTableSchemaUuidGen().readAllBuff(Authorization);
            } else if (classCode.equals("NMT")) {
                subList = schema.getTableNmTokenDef().readAllBuff(Authorization);
            } else if (classCode.equals("TNTK")) {
                subList = schema.getTableTableNmToken().readAllBuff(Authorization);
            } else if (classCode.equals("SNTK")) {
                subList = schema.getTableSchemaNmToken().readAllBuff(Authorization);
            } else if (classCode.equals("NMS")) {
                subList = schema.getTableNmTokensDef().readAllBuff(Authorization);
            } else if (classCode.equals("TNTS")) {
                subList = schema.getTableTableNmTokens().readAllBuff(Authorization);
            } else if (classCode.equals("SNTS")) {
                subList = schema.getTableSchemaNmTokens().readAllBuff(Authorization);
            } else if (classCode.equals("STR")) {
                subList = schema.getTableStringDef().readAllBuff(Authorization);
            } else if (classCode.equals("TSTR")) {
                subList = schema.getTableTableString().readAllBuff(Authorization);
            } else if (classCode.equals("SSTR")) {
                subList = schema.getTableSchemaString().readAllBuff(Authorization);
            } else if (classCode.equals("ZDY")) {
                subList = schema.getTableTZDateDef().readAllBuff(Authorization);
            } else if (classCode.equals("TZDY")) {
                subList = schema.getTableTableTZDate().readAllBuff(Authorization);
            } else if (classCode.equals("SZDY")) {
                subList = schema.getTableSchemaTZDate().readAllBuff(Authorization);
            } else if (classCode.equals("ZTM")) {
                subList = schema.getTableTZTimeDef().readAllBuff(Authorization);
            } else if (classCode.equals("TZTM")) {
                subList = schema.getTableTableTZTime().readAllBuff(Authorization);
            } else if (classCode.equals("SZTM")) {
                subList = schema.getTableSchemaTZTime().readAllBuff(Authorization);
            } else if (classCode.equals("ZSP")) {
                subList = schema.getTableTZTimestampDef().readAllBuff(Authorization);
            } else if (classCode.equals("TZST")) {
                subList = schema.getTableTableTZTimestamp().readAllBuff(Authorization);
            } else if (classCode.equals("SZST")) {
                subList = schema.getTableSchemaTZTimestamp().readAllBuff(Authorization);
            } else if (classCode.equals("TXT")) {
                subList = schema.getTableTextDef().readAllBuff(Authorization);
            } else if (classCode.equals("TTXT")) {
                subList = schema.getTableTableText().readAllBuff(Authorization);
            } else if (classCode.equals("STXT")) {
                subList = schema.getTableSchemaText().readAllBuff(Authorization);
            } else if (classCode.equals("TIM")) {
                subList = schema.getTableTimeDef().readAllBuff(Authorization);
            } else if (classCode.equals("TTIM")) {
                subList = schema.getTableTableTime().readAllBuff(Authorization);
            } else if (classCode.equals("STIM")) {
                subList = schema.getTableSchemaTime().readAllBuff(Authorization);
            } else if (classCode.equals("TSP")) {
                subList = schema.getTableTimestampDef().readAllBuff(Authorization);
            } else if (classCode.equals("TTSM")) {
                subList = schema.getTableTableTimestamp().readAllBuff(Authorization);
            } else if (classCode.equals("STSM")) {
                subList = schema.getTableSchemaTimestamp().readAllBuff(Authorization);
            } else if (classCode.equals("TKN")) {
                subList = schema.getTableTokenDef().readAllBuff(Authorization);
            } else if (classCode.equals("TTOK")) {
                subList = schema.getTableTableToken().readAllBuff(Authorization);
            } else if (classCode.equals("STOK")) {
                subList = schema.getTableSchemaToken().readAllBuff(Authorization);
            } else if (classCode.equals("TBC")) {
                subList = schema.getTableTableCol().readAllBuff(Authorization);
            } else {
                throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                        "Did not expect ClassCode \"" + classCode + "\"");
            }
            for (int idxSubList = 0; idxSubList < subList.length; idxSubList++) {
                resultList.add(subList[idxSubList]);
            }
        }
        buffArray = resultList.toArray(new MSSBamScopeBuff[0]);
        return (buffArray);
    }

    public MSSBamScopeBuff readDerivedByIdIdx(MSSBamAuthorization Authorization, long Id) {
        final String S_ProcName = "MSSBamPg8ScopeTable.readDerivedByIdIdx() ";
        MSSBamScopeBuff buff;
        if (!schema.isTransactionOpen()) {
            throw CFLib.getDefaultExceptionFactory().newUsageException(getClass(), S_ProcName,
                    "Transaction not open");
        }
        String classCode;
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeDistinctClassCode + "WHERE " + "anyo.Id = " + Long.toString(Id) + " ";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            if (resultSet.next()) {
                classCode = resultSet.getString(1);
                if (resultSet.next()) {
                    resultSet.last();
                    throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                            "Did not expect multi-buff response, " + resultSet.getRow() + " rows selected");
                }
            } else {
                return (null);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
        if (classCode.equals("SCP")) {
            buff = readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("DICT")) {
            buff = schema.getTableDictionary().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("RMD")) {
            buff = schema.getTableMSSBam().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("BDM")) {
            buff = schema.getTableBaseDomain().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("DOM")) {
            buff = schema.getTableDomain().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("LENT")) {
            buff = schema.getTableLegalEntity().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("COM")) {
            buff = schema.getTableCompany().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("USR")) {
            buff = schema.getTableUser().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("PRJ")) {
            buff = schema.getTableProject().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("VER")) {
            buff = schema.getTableVersion().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("MJV")) {
            buff = schema.getTableMajorVersion().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("MNV")) {
            buff = schema.getTableMinorVersion().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TLD")) {
            buff = schema.getTableTLD().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("IDX")) {
            buff = schema.getTableIndex().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("REL")) {
            buff = schema.getTableRelation().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SCH")) {
            buff = schema.getTableSchemaDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TBL")) {
            buff = schema.getTableTable().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("VAL")) {
            buff = schema.getTableValue().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("ATM")) {
            buff = schema.getTableAtomDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("BLB")) {
            buff = schema.getTableBlobDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TBLB")) {
            buff = schema.getTableTableBlob().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SBLB")) {
            buff = schema.getTableSchemaBlob().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("BLN")) {
            buff = schema.getTableBoolDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TBLN")) {
            buff = schema.getTableTableBool().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SBLN")) {
            buff = schema.getTableSchemaBool().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("DAT")) {
            buff = schema.getTableDateDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TDAT")) {
            buff = schema.getTableTableDate().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SDAT")) {
            buff = schema.getTableSchemaDate().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("DBL")) {
            buff = schema.getTableDoubleDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TDBL")) {
            buff = schema.getTableTableDouble().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SDBL")) {
            buff = schema.getTableSchemaDouble().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("NUM")) {
            buff = schema.getTableNumberDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TNUM")) {
            buff = schema.getTableTableNumber().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SNUM")) {
            buff = schema.getTableSchemaNumber().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("FLT")) {
            buff = schema.getTableFloatDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TFLT")) {
            buff = schema.getTableTableFloat().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SFLT")) {
            buff = schema.getTableSchemaFloat().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("I16")) {
            buff = schema.getTableInt16Def().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TI16")) {
            buff = schema.getTableTableInt16().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SI16")) {
            buff = schema.getTableSchemaInt16().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("ENM")) {
            buff = schema.getTableEnumDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TENM")) {
            buff = schema.getTableTableEnum().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SENM")) {
            buff = schema.getTableSchemaEnum().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("G16")) {
            buff = schema.getTableId16GenDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TG16")) {
            buff = schema.getTableTableId16Gen().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SG16")) {
            buff = schema.getTableSchemaId16Gen().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("U16")) {
            buff = schema.getTableUInt16Def().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TU16")) {
            buff = schema.getTableTableUInt16().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SU16")) {
            buff = schema.getTableSchemaUInt16().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("I32")) {
            buff = schema.getTableInt32Def().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TI32")) {
            buff = schema.getTableTableInt32().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SI32")) {
            buff = schema.getTableSchemaInt32().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("G32")) {
            buff = schema.getTableId32GenDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TG32")) {
            buff = schema.getTableTableId32Gen().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SG32")) {
            buff = schema.getTableSchemaId32Gen().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("U32")) {
            buff = schema.getTableUInt32Def().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TU32")) {
            buff = schema.getTableTableUInt32().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SU32")) {
            buff = schema.getTableSchemaUInt32().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("I64")) {
            buff = schema.getTableInt64Def().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TI64")) {
            buff = schema.getTableTableInt64().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SI64")) {
            buff = schema.getTableSchemaInt64().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("G64")) {
            buff = schema.getTableId64GenDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TG64")) {
            buff = schema.getTableTableId64Gen().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SG64")) {
            buff = schema.getTableSchemaId64Gen().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("U64")) {
            buff = schema.getTableUInt64Def().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TU64")) {
            buff = schema.getTableTableUInt64().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SU64")) {
            buff = schema.getTableSchemaUInt64().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("UUID")) {
            buff = schema.getTableUuidDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TUUI")) {
            buff = schema.getTableTableUuid().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SUUI")) {
            buff = schema.getTableSchemaUuid().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("IDGU")) {
            buff = schema.getTableUuidGenDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TGUU")) {
            buff = schema.getTableTableUuidGen().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SGUU")) {
            buff = schema.getTableSchemaUuidGen().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("NMT")) {
            buff = schema.getTableNmTokenDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TNTK")) {
            buff = schema.getTableTableNmToken().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SNTK")) {
            buff = schema.getTableSchemaNmToken().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("NMS")) {
            buff = schema.getTableNmTokensDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TNTS")) {
            buff = schema.getTableTableNmTokens().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SNTS")) {
            buff = schema.getTableSchemaNmTokens().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("STR")) {
            buff = schema.getTableStringDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TSTR")) {
            buff = schema.getTableTableString().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SSTR")) {
            buff = schema.getTableSchemaString().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("ZDY")) {
            buff = schema.getTableTZDateDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TZDY")) {
            buff = schema.getTableTableTZDate().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SZDY")) {
            buff = schema.getTableSchemaTZDate().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("ZTM")) {
            buff = schema.getTableTZTimeDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TZTM")) {
            buff = schema.getTableTableTZTime().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SZTM")) {
            buff = schema.getTableSchemaTZTime().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("ZSP")) {
            buff = schema.getTableTZTimestampDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TZST")) {
            buff = schema.getTableTableTZTimestamp().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("SZST")) {
            buff = schema.getTableSchemaTZTimestamp().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TXT")) {
            buff = schema.getTableTextDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TTXT")) {
            buff = schema.getTableTableText().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("STXT")) {
            buff = schema.getTableSchemaText().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TIM")) {
            buff = schema.getTableTimeDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TTIM")) {
            buff = schema.getTableTableTime().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("STIM")) {
            buff = schema.getTableSchemaTime().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TSP")) {
            buff = schema.getTableTimestampDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TTSM")) {
            buff = schema.getTableTableTimestamp().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("STSM")) {
            buff = schema.getTableSchemaTimestamp().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TKN")) {
            buff = schema.getTableTokenDef().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TTOK")) {
            buff = schema.getTableTableToken().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("STOK")) {
            buff = schema.getTableSchemaToken().readBuffByIdIdx(Authorization, Id);
        } else if (classCode.equals("TBC")) {
            buff = schema.getTableTableCol().readBuffByIdIdx(Authorization, Id);
        } else {
            throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                    "Did not expect ClassCode \"" + classCode + "\"");
        }
        return (buff);
    }

    public MSSBamScopeBuff[] readDerivedByTenantIdx(MSSBamAuthorization Authorization, long TenantId) {
        final String S_ProcName = "readDerivedByTenantIdx";
        if (!schema.isTransactionOpen()) {
            throw CFLib.getDefaultExceptionFactory().newUsageException(getClass(), S_ProcName,
                    "Transaction not open");
        }
        ArrayList<String> classCodeList = new ArrayList<String>();
        String classCode;
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeDistinctClassCode + "WHERE " + "anyo.TenantId = " + Long.toString(TenantId)
                    + " ";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            while (resultSet.next()) {
                classCode = resultSet.getString(1);
                classCodeList.add(classCode);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
        ArrayList<MSSBamScopeBuff> resultList = new ArrayList<MSSBamScopeBuff>();
        ListIterator<String> classCodeIter = classCodeList.listIterator();
        while (classCodeIter.hasNext()) {
            classCode = classCodeIter.next();
            if (classCode.equals("SCP")) {
                MSSBamScopeBuff[] subList = readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DICT")) {
                MSSBamDictionaryBuff[] subList = schema.getTableDictionary().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("RMD")) {
                MSSBamMSSBamBuff[] subList = schema.getTableMSSBam().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("BDM")) {
                MSSBamBaseDomainBuff[] subList = schema.getTableBaseDomain().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DOM")) {
                MSSBamDomainBuff[] subList = schema.getTableDomain().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("LENT")) {
                MSSBamLegalEntityBuff[] subList = schema.getTableLegalEntity().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("COM")) {
                MSSBamCompanyBuff[] subList = schema.getTableCompany().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("USR")) {
                MSSBamUserBuff[] subList = schema.getTableUser().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("PRJ")) {
                MSSBamProjectBuff[] subList = schema.getTableProject().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("VER")) {
                MSSBamVersionBuff[] subList = schema.getTableVersion().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("MJV")) {
                MSSBamMajorVersionBuff[] subList = schema.getTableMajorVersion().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("MNV")) {
                MSSBamMinorVersionBuff[] subList = schema.getTableMinorVersion().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TLD")) {
                MSSBamTLDBuff[] subList = schema.getTableTLD().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("IDX")) {
                MSSBamIndexBuff[] subList = schema.getTableIndex().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("REL")) {
                MSSBamRelationBuff[] subList = schema.getTableRelation().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SCH")) {
                MSSBamSchemaDefBuff[] subList = schema.getTableSchemaDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBL")) {
                MSSBamTableBuff[] subList = schema.getTableTable().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("VAL")) {
                MSSBamValueBuff[] subList = schema.getTableValue().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ATM")) {
                MSSBamAtomDefBuff[] subList = schema.getTableAtomDef().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("BLB")) {
                MSSBamBlobDefBuff[] subList = schema.getTableBlobDef().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBLB")) {
                MSSBamTableBlobBuff[] subList = schema.getTableTableBlob().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SBLB")) {
                MSSBamSchemaBlobBuff[] subList = schema.getTableSchemaBlob().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("BLN")) {
                MSSBamBoolDefBuff[] subList = schema.getTableBoolDef().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBLN")) {
                MSSBamTableBoolBuff[] subList = schema.getTableTableBool().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SBLN")) {
                MSSBamSchemaBoolBuff[] subList = schema.getTableSchemaBool().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DAT")) {
                MSSBamDateDefBuff[] subList = schema.getTableDateDef().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TDAT")) {
                MSSBamTableDateBuff[] subList = schema.getTableTableDate().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SDAT")) {
                MSSBamSchemaDateBuff[] subList = schema.getTableSchemaDate().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DBL")) {
                MSSBamDoubleDefBuff[] subList = schema.getTableDoubleDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TDBL")) {
                MSSBamTableDoubleBuff[] subList = schema.getTableTableDouble().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SDBL")) {
                MSSBamSchemaDoubleBuff[] subList = schema.getTableSchemaDouble().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("NUM")) {
                MSSBamNumberDefBuff[] subList = schema.getTableNumberDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TNUM")) {
                MSSBamTableNumberBuff[] subList = schema.getTableTableNumber().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SNUM")) {
                MSSBamSchemaNumberBuff[] subList = schema.getTableSchemaNumber().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("FLT")) {
                MSSBamFloatDefBuff[] subList = schema.getTableFloatDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TFLT")) {
                MSSBamTableFloatBuff[] subList = schema.getTableTableFloat().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SFLT")) {
                MSSBamSchemaFloatBuff[] subList = schema.getTableSchemaFloat().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("I16")) {
                MSSBamInt16DefBuff[] subList = schema.getTableInt16Def().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TI16")) {
                MSSBamTableInt16Buff[] subList = schema.getTableTableInt16().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SI16")) {
                MSSBamSchemaInt16Buff[] subList = schema.getTableSchemaInt16().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ENM")) {
                MSSBamEnumDefBuff[] subList = schema.getTableEnumDef().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TENM")) {
                MSSBamTableEnumBuff[] subList = schema.getTableTableEnum().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SENM")) {
                MSSBamSchemaEnumBuff[] subList = schema.getTableSchemaEnum().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("G16")) {
                MSSBamId16GenDefBuff[] subList = schema.getTableId16GenDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TG16")) {
                MSSBamTableId16GenBuff[] subList = schema.getTableTableId16Gen().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SG16")) {
                MSSBamSchemaId16GenBuff[] subList = schema.getTableSchemaId16Gen()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("U16")) {
                MSSBamUInt16DefBuff[] subList = schema.getTableUInt16Def().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TU16")) {
                MSSBamTableUInt16Buff[] subList = schema.getTableTableUInt16().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SU16")) {
                MSSBamSchemaUInt16Buff[] subList = schema.getTableSchemaUInt16().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("I32")) {
                MSSBamInt32DefBuff[] subList = schema.getTableInt32Def().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TI32")) {
                MSSBamTableInt32Buff[] subList = schema.getTableTableInt32().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SI32")) {
                MSSBamSchemaInt32Buff[] subList = schema.getTableSchemaInt32().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("G32")) {
                MSSBamId32GenDefBuff[] subList = schema.getTableId32GenDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TG32")) {
                MSSBamTableId32GenBuff[] subList = schema.getTableTableId32Gen().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SG32")) {
                MSSBamSchemaId32GenBuff[] subList = schema.getTableSchemaId32Gen()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("U32")) {
                MSSBamUInt32DefBuff[] subList = schema.getTableUInt32Def().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TU32")) {
                MSSBamTableUInt32Buff[] subList = schema.getTableTableUInt32().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SU32")) {
                MSSBamSchemaUInt32Buff[] subList = schema.getTableSchemaUInt32().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("I64")) {
                MSSBamInt64DefBuff[] subList = schema.getTableInt64Def().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TI64")) {
                MSSBamTableInt64Buff[] subList = schema.getTableTableInt64().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SI64")) {
                MSSBamSchemaInt64Buff[] subList = schema.getTableSchemaInt64().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("G64")) {
                MSSBamId64GenDefBuff[] subList = schema.getTableId64GenDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TG64")) {
                MSSBamTableId64GenBuff[] subList = schema.getTableTableId64Gen().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SG64")) {
                MSSBamSchemaId64GenBuff[] subList = schema.getTableSchemaId64Gen()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("U64")) {
                MSSBamUInt64DefBuff[] subList = schema.getTableUInt64Def().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TU64")) {
                MSSBamTableUInt64Buff[] subList = schema.getTableTableUInt64().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SU64")) {
                MSSBamSchemaUInt64Buff[] subList = schema.getTableSchemaUInt64().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("UUID")) {
                MSSBamUuidDefBuff[] subList = schema.getTableUuidDef().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TUUI")) {
                MSSBamTableUuidBuff[] subList = schema.getTableTableUuid().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SUUI")) {
                MSSBamSchemaUuidBuff[] subList = schema.getTableSchemaUuid().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("IDGU")) {
                MSSBamUuidGenDefBuff[] subList = schema.getTableUuidGenDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TGUU")) {
                MSSBamTableUuidGenBuff[] subList = schema.getTableTableUuidGen().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SGUU")) {
                MSSBamSchemaUuidGenBuff[] subList = schema.getTableSchemaUuidGen()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("NMT")) {
                MSSBamNmTokenDefBuff[] subList = schema.getTableNmTokenDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TNTK")) {
                MSSBamTableNmTokenBuff[] subList = schema.getTableTableNmToken().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SNTK")) {
                MSSBamSchemaNmTokenBuff[] subList = schema.getTableSchemaNmToken()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("NMS")) {
                MSSBamNmTokensDefBuff[] subList = schema.getTableNmTokensDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TNTS")) {
                MSSBamTableNmTokensBuff[] subList = schema.getTableTableNmTokens()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SNTS")) {
                MSSBamSchemaNmTokensBuff[] subList = schema.getTableSchemaNmTokens()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STR")) {
                MSSBamStringDefBuff[] subList = schema.getTableStringDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TSTR")) {
                MSSBamTableStringBuff[] subList = schema.getTableTableString().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SSTR")) {
                MSSBamSchemaStringBuff[] subList = schema.getTableSchemaString().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ZDY")) {
                MSSBamTZDateDefBuff[] subList = schema.getTableTZDateDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TZDY")) {
                MSSBamTableTZDateBuff[] subList = schema.getTableTableTZDate().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SZDY")) {
                MSSBamSchemaTZDateBuff[] subList = schema.getTableSchemaTZDate().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ZTM")) {
                MSSBamTZTimeDefBuff[] subList = schema.getTableTZTimeDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TZTM")) {
                MSSBamTableTZTimeBuff[] subList = schema.getTableTableTZTime().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SZTM")) {
                MSSBamSchemaTZTimeBuff[] subList = schema.getTableSchemaTZTime().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ZSP")) {
                MSSBamTZTimestampDefBuff[] subList = schema.getTableTZTimestampDef()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TZST")) {
                MSSBamTableTZTimestampBuff[] subList = schema.getTableTableTZTimestamp()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SZST")) {
                MSSBamSchemaTZTimestampBuff[] subList = schema.getTableSchemaTZTimestamp()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TXT")) {
                MSSBamTextDefBuff[] subList = schema.getTableTextDef().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTXT")) {
                MSSBamTableTextBuff[] subList = schema.getTableTableText().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STXT")) {
                MSSBamSchemaTextBuff[] subList = schema.getTableSchemaText().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TIM")) {
                MSSBamTimeDefBuff[] subList = schema.getTableTimeDef().readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTIM")) {
                MSSBamTableTimeBuff[] subList = schema.getTableTableTime().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STIM")) {
                MSSBamSchemaTimeBuff[] subList = schema.getTableSchemaTime().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TSP")) {
                MSSBamTimestampDefBuff[] subList = schema.getTableTimestampDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTSM")) {
                MSSBamTableTimestampBuff[] subList = schema.getTableTableTimestamp()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STSM")) {
                MSSBamSchemaTimestampBuff[] subList = schema.getTableSchemaTimestamp()
                        .readBuffByTenantIdx(Authorization, TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TKN")) {
                MSSBamTokenDefBuff[] subList = schema.getTableTokenDef().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTOK")) {
                MSSBamTableTokenBuff[] subList = schema.getTableTableToken().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STOK")) {
                MSSBamSchemaTokenBuff[] subList = schema.getTableSchemaToken().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBC")) {
                MSSBamTableColBuff[] subList = schema.getTableTableCol().readBuffByTenantIdx(Authorization,
                        TenantId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else {
                throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                        "Did not expect ClassCode \"" + classCode + "\"");
            }
        }
        return (resultList.toArray(new MSSBamScopeBuff[0]));

    }

    public MSSBamScopeBuff[] readDerivedByScopeIdx(MSSBamAuthorization Authorization, Long ScopeId) {
        final String S_ProcName = "readDerivedByScopeIdx";
        if (!schema.isTransactionOpen()) {
            throw CFLib.getDefaultExceptionFactory().newUsageException(getClass(), S_ProcName,
                    "Transaction not open");
        }
        ArrayList<String> classCodeList = new ArrayList<String>();
        String classCode;
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeDistinctClassCode + "WHERE "
                    + ((ScopeId == null) ? "anyo.ScopeId is null " : "anyo.ScopeId = " + ScopeId.toString() + " ");
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            while (resultSet.next()) {
                classCode = resultSet.getString(1);
                classCodeList.add(classCode);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
        ArrayList<MSSBamScopeBuff> resultList = new ArrayList<MSSBamScopeBuff>();
        ListIterator<String> classCodeIter = classCodeList.listIterator();
        while (classCodeIter.hasNext()) {
            classCode = classCodeIter.next();
            if (classCode.equals("SCP")) {
                MSSBamScopeBuff[] subList = readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DICT")) {
                MSSBamDictionaryBuff[] subList = schema.getTableDictionary().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("RMD")) {
                MSSBamMSSBamBuff[] subList = schema.getTableMSSBam().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("BDM")) {
                MSSBamBaseDomainBuff[] subList = schema.getTableBaseDomain().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DOM")) {
                MSSBamDomainBuff[] subList = schema.getTableDomain().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("LENT")) {
                MSSBamLegalEntityBuff[] subList = schema.getTableLegalEntity().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("COM")) {
                MSSBamCompanyBuff[] subList = schema.getTableCompany().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("USR")) {
                MSSBamUserBuff[] subList = schema.getTableUser().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("PRJ")) {
                MSSBamProjectBuff[] subList = schema.getTableProject().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("VER")) {
                MSSBamVersionBuff[] subList = schema.getTableVersion().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("MJV")) {
                MSSBamMajorVersionBuff[] subList = schema.getTableMajorVersion().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("MNV")) {
                MSSBamMinorVersionBuff[] subList = schema.getTableMinorVersion().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TLD")) {
                MSSBamTLDBuff[] subList = schema.getTableTLD().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("IDX")) {
                MSSBamIndexBuff[] subList = schema.getTableIndex().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("REL")) {
                MSSBamRelationBuff[] subList = schema.getTableRelation().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SCH")) {
                MSSBamSchemaDefBuff[] subList = schema.getTableSchemaDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBL")) {
                MSSBamTableBuff[] subList = schema.getTableTable().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("VAL")) {
                MSSBamValueBuff[] subList = schema.getTableValue().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ATM")) {
                MSSBamAtomDefBuff[] subList = schema.getTableAtomDef().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("BLB")) {
                MSSBamBlobDefBuff[] subList = schema.getTableBlobDef().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBLB")) {
                MSSBamTableBlobBuff[] subList = schema.getTableTableBlob().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SBLB")) {
                MSSBamSchemaBlobBuff[] subList = schema.getTableSchemaBlob().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("BLN")) {
                MSSBamBoolDefBuff[] subList = schema.getTableBoolDef().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBLN")) {
                MSSBamTableBoolBuff[] subList = schema.getTableTableBool().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SBLN")) {
                MSSBamSchemaBoolBuff[] subList = schema.getTableSchemaBool().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DAT")) {
                MSSBamDateDefBuff[] subList = schema.getTableDateDef().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TDAT")) {
                MSSBamTableDateBuff[] subList = schema.getTableTableDate().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SDAT")) {
                MSSBamSchemaDateBuff[] subList = schema.getTableSchemaDate().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DBL")) {
                MSSBamDoubleDefBuff[] subList = schema.getTableDoubleDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TDBL")) {
                MSSBamTableDoubleBuff[] subList = schema.getTableTableDouble().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SDBL")) {
                MSSBamSchemaDoubleBuff[] subList = schema.getTableSchemaDouble().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("NUM")) {
                MSSBamNumberDefBuff[] subList = schema.getTableNumberDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TNUM")) {
                MSSBamTableNumberBuff[] subList = schema.getTableTableNumber().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SNUM")) {
                MSSBamSchemaNumberBuff[] subList = schema.getTableSchemaNumber().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("FLT")) {
                MSSBamFloatDefBuff[] subList = schema.getTableFloatDef().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TFLT")) {
                MSSBamTableFloatBuff[] subList = schema.getTableTableFloat().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SFLT")) {
                MSSBamSchemaFloatBuff[] subList = schema.getTableSchemaFloat().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("I16")) {
                MSSBamInt16DefBuff[] subList = schema.getTableInt16Def().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TI16")) {
                MSSBamTableInt16Buff[] subList = schema.getTableTableInt16().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SI16")) {
                MSSBamSchemaInt16Buff[] subList = schema.getTableSchemaInt16().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ENM")) {
                MSSBamEnumDefBuff[] subList = schema.getTableEnumDef().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TENM")) {
                MSSBamTableEnumBuff[] subList = schema.getTableTableEnum().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SENM")) {
                MSSBamSchemaEnumBuff[] subList = schema.getTableSchemaEnum().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("G16")) {
                MSSBamId16GenDefBuff[] subList = schema.getTableId16GenDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TG16")) {
                MSSBamTableId16GenBuff[] subList = schema.getTableTableId16Gen().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SG16")) {
                MSSBamSchemaId16GenBuff[] subList = schema.getTableSchemaId16Gen().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("U16")) {
                MSSBamUInt16DefBuff[] subList = schema.getTableUInt16Def().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TU16")) {
                MSSBamTableUInt16Buff[] subList = schema.getTableTableUInt16().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SU16")) {
                MSSBamSchemaUInt16Buff[] subList = schema.getTableSchemaUInt16().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("I32")) {
                MSSBamInt32DefBuff[] subList = schema.getTableInt32Def().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TI32")) {
                MSSBamTableInt32Buff[] subList = schema.getTableTableInt32().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SI32")) {
                MSSBamSchemaInt32Buff[] subList = schema.getTableSchemaInt32().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("G32")) {
                MSSBamId32GenDefBuff[] subList = schema.getTableId32GenDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TG32")) {
                MSSBamTableId32GenBuff[] subList = schema.getTableTableId32Gen().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SG32")) {
                MSSBamSchemaId32GenBuff[] subList = schema.getTableSchemaId32Gen().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("U32")) {
                MSSBamUInt32DefBuff[] subList = schema.getTableUInt32Def().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TU32")) {
                MSSBamTableUInt32Buff[] subList = schema.getTableTableUInt32().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SU32")) {
                MSSBamSchemaUInt32Buff[] subList = schema.getTableSchemaUInt32().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("I64")) {
                MSSBamInt64DefBuff[] subList = schema.getTableInt64Def().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TI64")) {
                MSSBamTableInt64Buff[] subList = schema.getTableTableInt64().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SI64")) {
                MSSBamSchemaInt64Buff[] subList = schema.getTableSchemaInt64().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("G64")) {
                MSSBamId64GenDefBuff[] subList = schema.getTableId64GenDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TG64")) {
                MSSBamTableId64GenBuff[] subList = schema.getTableTableId64Gen().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SG64")) {
                MSSBamSchemaId64GenBuff[] subList = schema.getTableSchemaId64Gen().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("U64")) {
                MSSBamUInt64DefBuff[] subList = schema.getTableUInt64Def().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TU64")) {
                MSSBamTableUInt64Buff[] subList = schema.getTableTableUInt64().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SU64")) {
                MSSBamSchemaUInt64Buff[] subList = schema.getTableSchemaUInt64().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("UUID")) {
                MSSBamUuidDefBuff[] subList = schema.getTableUuidDef().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TUUI")) {
                MSSBamTableUuidBuff[] subList = schema.getTableTableUuid().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SUUI")) {
                MSSBamSchemaUuidBuff[] subList = schema.getTableSchemaUuid().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("IDGU")) {
                MSSBamUuidGenDefBuff[] subList = schema.getTableUuidGenDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TGUU")) {
                MSSBamTableUuidGenBuff[] subList = schema.getTableTableUuidGen().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SGUU")) {
                MSSBamSchemaUuidGenBuff[] subList = schema.getTableSchemaUuidGen().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("NMT")) {
                MSSBamNmTokenDefBuff[] subList = schema.getTableNmTokenDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TNTK")) {
                MSSBamTableNmTokenBuff[] subList = schema.getTableTableNmToken().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SNTK")) {
                MSSBamSchemaNmTokenBuff[] subList = schema.getTableSchemaNmToken().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("NMS")) {
                MSSBamNmTokensDefBuff[] subList = schema.getTableNmTokensDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TNTS")) {
                MSSBamTableNmTokensBuff[] subList = schema.getTableTableNmTokens().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SNTS")) {
                MSSBamSchemaNmTokensBuff[] subList = schema.getTableSchemaNmTokens()
                        .readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STR")) {
                MSSBamStringDefBuff[] subList = schema.getTableStringDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TSTR")) {
                MSSBamTableStringBuff[] subList = schema.getTableTableString().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SSTR")) {
                MSSBamSchemaStringBuff[] subList = schema.getTableSchemaString().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ZDY")) {
                MSSBamTZDateDefBuff[] subList = schema.getTableTZDateDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TZDY")) {
                MSSBamTableTZDateBuff[] subList = schema.getTableTableTZDate().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SZDY")) {
                MSSBamSchemaTZDateBuff[] subList = schema.getTableSchemaTZDate().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ZTM")) {
                MSSBamTZTimeDefBuff[] subList = schema.getTableTZTimeDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TZTM")) {
                MSSBamTableTZTimeBuff[] subList = schema.getTableTableTZTime().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SZTM")) {
                MSSBamSchemaTZTimeBuff[] subList = schema.getTableSchemaTZTime().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ZSP")) {
                MSSBamTZTimestampDefBuff[] subList = schema.getTableTZTimestampDef()
                        .readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TZST")) {
                MSSBamTableTZTimestampBuff[] subList = schema.getTableTableTZTimestamp()
                        .readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SZST")) {
                MSSBamSchemaTZTimestampBuff[] subList = schema.getTableSchemaTZTimestamp()
                        .readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TXT")) {
                MSSBamTextDefBuff[] subList = schema.getTableTextDef().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTXT")) {
                MSSBamTableTextBuff[] subList = schema.getTableTableText().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STXT")) {
                MSSBamSchemaTextBuff[] subList = schema.getTableSchemaText().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TIM")) {
                MSSBamTimeDefBuff[] subList = schema.getTableTimeDef().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTIM")) {
                MSSBamTableTimeBuff[] subList = schema.getTableTableTime().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STIM")) {
                MSSBamSchemaTimeBuff[] subList = schema.getTableSchemaTime().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TSP")) {
                MSSBamTimestampDefBuff[] subList = schema.getTableTimestampDef().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTSM")) {
                MSSBamTableTimestampBuff[] subList = schema.getTableTableTimestamp()
                        .readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STSM")) {
                MSSBamSchemaTimestampBuff[] subList = schema.getTableSchemaTimestamp()
                        .readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TKN")) {
                MSSBamTokenDefBuff[] subList = schema.getTableTokenDef().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTOK")) {
                MSSBamTableTokenBuff[] subList = schema.getTableTableToken().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STOK")) {
                MSSBamSchemaTokenBuff[] subList = schema.getTableSchemaToken().readBuffByScopeIdx(Authorization,
                        ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBC")) {
                MSSBamTableColBuff[] subList = schema.getTableTableCol().readBuffByScopeIdx(Authorization, ScopeId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else {
                throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                        "Did not expect ClassCode \"" + classCode + "\"");
            }
        }
        return (resultList.toArray(new MSSBamScopeBuff[0]));

    }

    public MSSBamScopeBuff[] readDerivedByAuthorIdx(MSSBamAuthorization Authorization, Long AuthorId) {
        final String S_ProcName = "readDerivedByAuthorIdx";
        if (!schema.isTransactionOpen()) {
            throw CFLib.getDefaultExceptionFactory().newUsageException(getClass(), S_ProcName,
                    "Transaction not open");
        }
        ArrayList<String> classCodeList = new ArrayList<String>();
        String classCode;
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeDistinctClassCode + "WHERE "
                    + ((AuthorId == null) ? "anyo.AuthorId is null "
                            : "anyo.AuthorId = " + AuthorId.toString() + " ");
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            while (resultSet.next()) {
                classCode = resultSet.getString(1);
                classCodeList.add(classCode);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
        ArrayList<MSSBamScopeBuff> resultList = new ArrayList<MSSBamScopeBuff>();
        ListIterator<String> classCodeIter = classCodeList.listIterator();
        while (classCodeIter.hasNext()) {
            classCode = classCodeIter.next();
            if (classCode.equals("SCP")) {
                MSSBamScopeBuff[] subList = readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DICT")) {
                MSSBamDictionaryBuff[] subList = schema.getTableDictionary().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("RMD")) {
                MSSBamMSSBamBuff[] subList = schema.getTableMSSBam().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("BDM")) {
                MSSBamBaseDomainBuff[] subList = schema.getTableBaseDomain().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DOM")) {
                MSSBamDomainBuff[] subList = schema.getTableDomain().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("LENT")) {
                MSSBamLegalEntityBuff[] subList = schema.getTableLegalEntity().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("COM")) {
                MSSBamCompanyBuff[] subList = schema.getTableCompany().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("USR")) {
                MSSBamUserBuff[] subList = schema.getTableUser().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("PRJ")) {
                MSSBamProjectBuff[] subList = schema.getTableProject().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("VER")) {
                MSSBamVersionBuff[] subList = schema.getTableVersion().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("MJV")) {
                MSSBamMajorVersionBuff[] subList = schema.getTableMajorVersion().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("MNV")) {
                MSSBamMinorVersionBuff[] subList = schema.getTableMinorVersion().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TLD")) {
                MSSBamTLDBuff[] subList = schema.getTableTLD().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("IDX")) {
                MSSBamIndexBuff[] subList = schema.getTableIndex().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("REL")) {
                MSSBamRelationBuff[] subList = schema.getTableRelation().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SCH")) {
                MSSBamSchemaDefBuff[] subList = schema.getTableSchemaDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBL")) {
                MSSBamTableBuff[] subList = schema.getTableTable().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("VAL")) {
                MSSBamValueBuff[] subList = schema.getTableValue().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ATM")) {
                MSSBamAtomDefBuff[] subList = schema.getTableAtomDef().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("BLB")) {
                MSSBamBlobDefBuff[] subList = schema.getTableBlobDef().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBLB")) {
                MSSBamTableBlobBuff[] subList = schema.getTableTableBlob().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SBLB")) {
                MSSBamSchemaBlobBuff[] subList = schema.getTableSchemaBlob().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("BLN")) {
                MSSBamBoolDefBuff[] subList = schema.getTableBoolDef().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBLN")) {
                MSSBamTableBoolBuff[] subList = schema.getTableTableBool().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SBLN")) {
                MSSBamSchemaBoolBuff[] subList = schema.getTableSchemaBool().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DAT")) {
                MSSBamDateDefBuff[] subList = schema.getTableDateDef().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TDAT")) {
                MSSBamTableDateBuff[] subList = schema.getTableTableDate().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SDAT")) {
                MSSBamSchemaDateBuff[] subList = schema.getTableSchemaDate().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("DBL")) {
                MSSBamDoubleDefBuff[] subList = schema.getTableDoubleDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TDBL")) {
                MSSBamTableDoubleBuff[] subList = schema.getTableTableDouble().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SDBL")) {
                MSSBamSchemaDoubleBuff[] subList = schema.getTableSchemaDouble().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("NUM")) {
                MSSBamNumberDefBuff[] subList = schema.getTableNumberDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TNUM")) {
                MSSBamTableNumberBuff[] subList = schema.getTableTableNumber().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SNUM")) {
                MSSBamSchemaNumberBuff[] subList = schema.getTableSchemaNumber().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("FLT")) {
                MSSBamFloatDefBuff[] subList = schema.getTableFloatDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TFLT")) {
                MSSBamTableFloatBuff[] subList = schema.getTableTableFloat().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SFLT")) {
                MSSBamSchemaFloatBuff[] subList = schema.getTableSchemaFloat().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("I16")) {
                MSSBamInt16DefBuff[] subList = schema.getTableInt16Def().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TI16")) {
                MSSBamTableInt16Buff[] subList = schema.getTableTableInt16().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SI16")) {
                MSSBamSchemaInt16Buff[] subList = schema.getTableSchemaInt16().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ENM")) {
                MSSBamEnumDefBuff[] subList = schema.getTableEnumDef().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TENM")) {
                MSSBamTableEnumBuff[] subList = schema.getTableTableEnum().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SENM")) {
                MSSBamSchemaEnumBuff[] subList = schema.getTableSchemaEnum().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("G16")) {
                MSSBamId16GenDefBuff[] subList = schema.getTableId16GenDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TG16")) {
                MSSBamTableId16GenBuff[] subList = schema.getTableTableId16Gen().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SG16")) {
                MSSBamSchemaId16GenBuff[] subList = schema.getTableSchemaId16Gen()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("U16")) {
                MSSBamUInt16DefBuff[] subList = schema.getTableUInt16Def().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TU16")) {
                MSSBamTableUInt16Buff[] subList = schema.getTableTableUInt16().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SU16")) {
                MSSBamSchemaUInt16Buff[] subList = schema.getTableSchemaUInt16().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("I32")) {
                MSSBamInt32DefBuff[] subList = schema.getTableInt32Def().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TI32")) {
                MSSBamTableInt32Buff[] subList = schema.getTableTableInt32().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SI32")) {
                MSSBamSchemaInt32Buff[] subList = schema.getTableSchemaInt32().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("G32")) {
                MSSBamId32GenDefBuff[] subList = schema.getTableId32GenDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TG32")) {
                MSSBamTableId32GenBuff[] subList = schema.getTableTableId32Gen().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SG32")) {
                MSSBamSchemaId32GenBuff[] subList = schema.getTableSchemaId32Gen()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("U32")) {
                MSSBamUInt32DefBuff[] subList = schema.getTableUInt32Def().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TU32")) {
                MSSBamTableUInt32Buff[] subList = schema.getTableTableUInt32().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SU32")) {
                MSSBamSchemaUInt32Buff[] subList = schema.getTableSchemaUInt32().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("I64")) {
                MSSBamInt64DefBuff[] subList = schema.getTableInt64Def().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TI64")) {
                MSSBamTableInt64Buff[] subList = schema.getTableTableInt64().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SI64")) {
                MSSBamSchemaInt64Buff[] subList = schema.getTableSchemaInt64().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("G64")) {
                MSSBamId64GenDefBuff[] subList = schema.getTableId64GenDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TG64")) {
                MSSBamTableId64GenBuff[] subList = schema.getTableTableId64Gen().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SG64")) {
                MSSBamSchemaId64GenBuff[] subList = schema.getTableSchemaId64Gen()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("U64")) {
                MSSBamUInt64DefBuff[] subList = schema.getTableUInt64Def().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TU64")) {
                MSSBamTableUInt64Buff[] subList = schema.getTableTableUInt64().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SU64")) {
                MSSBamSchemaUInt64Buff[] subList = schema.getTableSchemaUInt64().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("UUID")) {
                MSSBamUuidDefBuff[] subList = schema.getTableUuidDef().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TUUI")) {
                MSSBamTableUuidBuff[] subList = schema.getTableTableUuid().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SUUI")) {
                MSSBamSchemaUuidBuff[] subList = schema.getTableSchemaUuid().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("IDGU")) {
                MSSBamUuidGenDefBuff[] subList = schema.getTableUuidGenDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TGUU")) {
                MSSBamTableUuidGenBuff[] subList = schema.getTableTableUuidGen().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SGUU")) {
                MSSBamSchemaUuidGenBuff[] subList = schema.getTableSchemaUuidGen()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("NMT")) {
                MSSBamNmTokenDefBuff[] subList = schema.getTableNmTokenDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TNTK")) {
                MSSBamTableNmTokenBuff[] subList = schema.getTableTableNmToken().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SNTK")) {
                MSSBamSchemaNmTokenBuff[] subList = schema.getTableSchemaNmToken()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("NMS")) {
                MSSBamNmTokensDefBuff[] subList = schema.getTableNmTokensDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TNTS")) {
                MSSBamTableNmTokensBuff[] subList = schema.getTableTableNmTokens()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SNTS")) {
                MSSBamSchemaNmTokensBuff[] subList = schema.getTableSchemaNmTokens()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STR")) {
                MSSBamStringDefBuff[] subList = schema.getTableStringDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TSTR")) {
                MSSBamTableStringBuff[] subList = schema.getTableTableString().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SSTR")) {
                MSSBamSchemaStringBuff[] subList = schema.getTableSchemaString().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ZDY")) {
                MSSBamTZDateDefBuff[] subList = schema.getTableTZDateDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TZDY")) {
                MSSBamTableTZDateBuff[] subList = schema.getTableTableTZDate().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SZDY")) {
                MSSBamSchemaTZDateBuff[] subList = schema.getTableSchemaTZDate().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ZTM")) {
                MSSBamTZTimeDefBuff[] subList = schema.getTableTZTimeDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TZTM")) {
                MSSBamTableTZTimeBuff[] subList = schema.getTableTableTZTime().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SZTM")) {
                MSSBamSchemaTZTimeBuff[] subList = schema.getTableSchemaTZTime().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("ZSP")) {
                MSSBamTZTimestampDefBuff[] subList = schema.getTableTZTimestampDef()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TZST")) {
                MSSBamTableTZTimestampBuff[] subList = schema.getTableTableTZTimestamp()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("SZST")) {
                MSSBamSchemaTZTimestampBuff[] subList = schema.getTableSchemaTZTimestamp()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TXT")) {
                MSSBamTextDefBuff[] subList = schema.getTableTextDef().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTXT")) {
                MSSBamTableTextBuff[] subList = schema.getTableTableText().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STXT")) {
                MSSBamSchemaTextBuff[] subList = schema.getTableSchemaText().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TIM")) {
                MSSBamTimeDefBuff[] subList = schema.getTableTimeDef().readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTIM")) {
                MSSBamTableTimeBuff[] subList = schema.getTableTableTime().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STIM")) {
                MSSBamSchemaTimeBuff[] subList = schema.getTableSchemaTime().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TSP")) {
                MSSBamTimestampDefBuff[] subList = schema.getTableTimestampDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTSM")) {
                MSSBamTableTimestampBuff[] subList = schema.getTableTableTimestamp()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STSM")) {
                MSSBamSchemaTimestampBuff[] subList = schema.getTableSchemaTimestamp()
                        .readBuffByAuthorIdx(Authorization, AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TKN")) {
                MSSBamTokenDefBuff[] subList = schema.getTableTokenDef().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TTOK")) {
                MSSBamTableTokenBuff[] subList = schema.getTableTableToken().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("STOK")) {
                MSSBamSchemaTokenBuff[] subList = schema.getTableSchemaToken().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else if (classCode.equals("TBC")) {
                MSSBamTableColBuff[] subList = schema.getTableTableCol().readBuffByAuthorIdx(Authorization,
                        AuthorId);
                for (int subListIdx = 0; subListIdx < subList.length; subListIdx++) {
                    resultList.add(subList[subListIdx]);
                }
            } else {
                throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                        "Did not expect ClassCode \"" + classCode + "\"");
            }
        }
        return (resultList.toArray(new MSSBamScopeBuff[0]));

    }

    public MSSBamScopeBuff readDerivedByUNameIdx(MSSBamAuthorization Authorization, Long ScopeId, String Name) {
        final String S_ProcName = "MSSBamPg8ScopeTable.readDerivedByUNameIdx() ";
        MSSBamScopeBuff buff;
        if (!schema.isTransactionOpen()) {
            throw CFLib.getDefaultExceptionFactory().newUsageException(getClass(), S_ProcName,
                    "Transaction not open");
        }
        String classCode;
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeDistinctClassCode + "WHERE "
                    + ((ScopeId == null) ? "anyo.ScopeId is null " : "anyo.ScopeId = " + ScopeId.toString() + " ")
                    + "AND " + "anyo.Name = " + MSSBamPg8Schema.getQuotedString(Name) + " ";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            if (resultSet.next()) {
                classCode = resultSet.getString(1);
                if (resultSet.next()) {
                    resultSet.last();
                    throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                            "Did not expect multi-buff response, " + resultSet.getRow() + " rows selected");
                }
            } else {
                return (null);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
        if (classCode.equals("SCP")) {
            buff = readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("DICT")) {
            buff = schema.getTableDictionary().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("RMD")) {
            buff = schema.getTableMSSBam().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("BDM")) {
            buff = schema.getTableBaseDomain().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("DOM")) {
            buff = schema.getTableDomain().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("LENT")) {
            buff = schema.getTableLegalEntity().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("COM")) {
            buff = schema.getTableCompany().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("USR")) {
            buff = schema.getTableUser().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("PRJ")) {
            buff = schema.getTableProject().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("VER")) {
            buff = schema.getTableVersion().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("MJV")) {
            buff = schema.getTableMajorVersion().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("MNV")) {
            buff = schema.getTableMinorVersion().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TLD")) {
            buff = schema.getTableTLD().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("IDX")) {
            buff = schema.getTableIndex().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("REL")) {
            buff = schema.getTableRelation().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SCH")) {
            buff = schema.getTableSchemaDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TBL")) {
            buff = schema.getTableTable().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("VAL")) {
            buff = schema.getTableValue().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("ATM")) {
            buff = schema.getTableAtomDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("BLB")) {
            buff = schema.getTableBlobDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TBLB")) {
            buff = schema.getTableTableBlob().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SBLB")) {
            buff = schema.getTableSchemaBlob().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("BLN")) {
            buff = schema.getTableBoolDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TBLN")) {
            buff = schema.getTableTableBool().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SBLN")) {
            buff = schema.getTableSchemaBool().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("DAT")) {
            buff = schema.getTableDateDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TDAT")) {
            buff = schema.getTableTableDate().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SDAT")) {
            buff = schema.getTableSchemaDate().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("DBL")) {
            buff = schema.getTableDoubleDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TDBL")) {
            buff = schema.getTableTableDouble().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SDBL")) {
            buff = schema.getTableSchemaDouble().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("NUM")) {
            buff = schema.getTableNumberDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TNUM")) {
            buff = schema.getTableTableNumber().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SNUM")) {
            buff = schema.getTableSchemaNumber().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("FLT")) {
            buff = schema.getTableFloatDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TFLT")) {
            buff = schema.getTableTableFloat().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SFLT")) {
            buff = schema.getTableSchemaFloat().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("I16")) {
            buff = schema.getTableInt16Def().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TI16")) {
            buff = schema.getTableTableInt16().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SI16")) {
            buff = schema.getTableSchemaInt16().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("ENM")) {
            buff = schema.getTableEnumDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TENM")) {
            buff = schema.getTableTableEnum().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SENM")) {
            buff = schema.getTableSchemaEnum().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("G16")) {
            buff = schema.getTableId16GenDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TG16")) {
            buff = schema.getTableTableId16Gen().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SG16")) {
            buff = schema.getTableSchemaId16Gen().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("U16")) {
            buff = schema.getTableUInt16Def().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TU16")) {
            buff = schema.getTableTableUInt16().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SU16")) {
            buff = schema.getTableSchemaUInt16().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("I32")) {
            buff = schema.getTableInt32Def().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TI32")) {
            buff = schema.getTableTableInt32().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SI32")) {
            buff = schema.getTableSchemaInt32().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("G32")) {
            buff = schema.getTableId32GenDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TG32")) {
            buff = schema.getTableTableId32Gen().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SG32")) {
            buff = schema.getTableSchemaId32Gen().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("U32")) {
            buff = schema.getTableUInt32Def().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TU32")) {
            buff = schema.getTableTableUInt32().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SU32")) {
            buff = schema.getTableSchemaUInt32().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("I64")) {
            buff = schema.getTableInt64Def().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TI64")) {
            buff = schema.getTableTableInt64().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SI64")) {
            buff = schema.getTableSchemaInt64().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("G64")) {
            buff = schema.getTableId64GenDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TG64")) {
            buff = schema.getTableTableId64Gen().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SG64")) {
            buff = schema.getTableSchemaId64Gen().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("U64")) {
            buff = schema.getTableUInt64Def().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TU64")) {
            buff = schema.getTableTableUInt64().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SU64")) {
            buff = schema.getTableSchemaUInt64().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("UUID")) {
            buff = schema.getTableUuidDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TUUI")) {
            buff = schema.getTableTableUuid().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SUUI")) {
            buff = schema.getTableSchemaUuid().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("IDGU")) {
            buff = schema.getTableUuidGenDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TGUU")) {
            buff = schema.getTableTableUuidGen().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SGUU")) {
            buff = schema.getTableSchemaUuidGen().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("NMT")) {
            buff = schema.getTableNmTokenDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TNTK")) {
            buff = schema.getTableTableNmToken().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SNTK")) {
            buff = schema.getTableSchemaNmToken().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("NMS")) {
            buff = schema.getTableNmTokensDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TNTS")) {
            buff = schema.getTableTableNmTokens().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SNTS")) {
            buff = schema.getTableSchemaNmTokens().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("STR")) {
            buff = schema.getTableStringDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TSTR")) {
            buff = schema.getTableTableString().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SSTR")) {
            buff = schema.getTableSchemaString().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("ZDY")) {
            buff = schema.getTableTZDateDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TZDY")) {
            buff = schema.getTableTableTZDate().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SZDY")) {
            buff = schema.getTableSchemaTZDate().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("ZTM")) {
            buff = schema.getTableTZTimeDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TZTM")) {
            buff = schema.getTableTableTZTime().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SZTM")) {
            buff = schema.getTableSchemaTZTime().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("ZSP")) {
            buff = schema.getTableTZTimestampDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TZST")) {
            buff = schema.getTableTableTZTimestamp().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("SZST")) {
            buff = schema.getTableSchemaTZTimestamp().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TXT")) {
            buff = schema.getTableTextDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TTXT")) {
            buff = schema.getTableTableText().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("STXT")) {
            buff = schema.getTableSchemaText().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TIM")) {
            buff = schema.getTableTimeDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TTIM")) {
            buff = schema.getTableTableTime().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("STIM")) {
            buff = schema.getTableSchemaTime().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TSP")) {
            buff = schema.getTableTimestampDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TTSM")) {
            buff = schema.getTableTableTimestamp().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("STSM")) {
            buff = schema.getTableSchemaTimestamp().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TKN")) {
            buff = schema.getTableTokenDef().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TTOK")) {
            buff = schema.getTableTableToken().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("STOK")) {
            buff = schema.getTableSchemaToken().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else if (classCode.equals("TBC")) {
            buff = schema.getTableTableCol().readBuffByUNameIdx(Authorization, ScopeId, Name);
        } else {
            throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                    "Did not expect ClassCode \"" + classCode + "\"");
        }
        return (buff);
    }

    public MSSBamScopeBuff readBuff(MSSBamAuthorization Authorization, MSSBamAnyObjPKey PKey) {
        final String S_ProcName = "readBuff";
        if (!schema.isTransactionOpen()) {
            throw CFLib.getDefaultExceptionFactory().newUsageException(getClass(), S_ProcName,
                    "Transaction not open");
        }
        try {
            Connection cnx = schema.getCnx();
            long Id = PKey.getRequiredId();
            String sql = S_sqlSelectScopeBuff + "WHERE " + "anyo.Id = " + Long.toString(Id) + " ";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            if (resultSet.next()) {
                MSSBamScopeBuff buff = unpackScopeResultSetToBuff(resultSet);
                if (resultSet.next()) {
                    resultSet.last();
                    throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                            "Did not expect multi-buff response, " + resultSet.getRow() + " rows selected");
                }
                return (buff);
            } else {
                return (null);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public MSSBamScopeBuff[] readAllBuff(MSSBamAuthorization Authorization) {
        final String S_ProcName = "readAllBuff";
        if (!schema.isTransactionOpen()) {
            throw CFLib.getDefaultExceptionFactory().newUsageException(getClass(), S_ProcName,
                    "Transaction not open");
        }
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeBuff + "WHERE " + "anyo.ClassCode = 'SCP' " + "ORDER BY " + "anyo.Id ASC";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            List<MSSBamScopeBuff> buffList = new ArrayList<MSSBamScopeBuff>();
            while (resultSet.next()) {
                MSSBamScopeBuff buff = unpackScopeResultSetToBuff(resultSet);
                buffList.add(buff);
            }
            return (buffList.toArray(new MSSBamScopeBuff[0]));
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public MSSBamScopeBuff readBuffByIdIdx(MSSBamAuthorization Authorization, long Id) {
        final String S_ProcName = "readBuffByIdIdx";
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeBuff + "WHERE " + "anyo.Id = " + Long.toString(Id) + " ";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            if (resultSet.next()) {
                MSSBamScopeBuff buff = unpackScopeResultSetToBuff(resultSet);
                if (resultSet.next()) {
                    resultSet.last();
                    throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                            "Did not expect multi-buff response, " + resultSet.getRow() + " rows selected");
                }
                return (buff);
            } else {
                return (null);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public MSSBamScopeBuff[] readBuffByTenantIdx(MSSBamAuthorization Authorization, long TenantId) {
        final String S_ProcName = "readBuffByTenantIdx";
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeBuff + "WHERE " + "anyo.TenantId = " + Long.toString(TenantId) + " "
                    + "ORDER BY " + "anyo.Id ASC";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            List<MSSBamScopeBuff> buffList = new ArrayList<MSSBamScopeBuff>();
            while (resultSet.next()) {
                MSSBamScopeBuff buff = unpackScopeResultSetToBuff(resultSet);
                buffList.add(buff);
            }
            return (buffList.toArray(new MSSBamScopeBuff[0]));
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public MSSBamScopeBuff[] readBuffByScopeIdx(MSSBamAuthorization Authorization, Long ScopeId) {
        final String S_ProcName = "readBuffByScopeIdx";
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeBuff + "WHERE "
                    + ((ScopeId == null) ? "anyo.ScopeId is null " : "anyo.ScopeId = " + ScopeId.toString() + " ")
                    + "ORDER BY " + "anyo.Id ASC";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            List<MSSBamScopeBuff> buffList = new ArrayList<MSSBamScopeBuff>();
            while (resultSet.next()) {
                MSSBamScopeBuff buff = unpackScopeResultSetToBuff(resultSet);
                buffList.add(buff);
            }
            return (buffList.toArray(new MSSBamScopeBuff[0]));
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public MSSBamScopeBuff[] readBuffByAuthorIdx(MSSBamAuthorization Authorization, Long AuthorId) {
        final String S_ProcName = "readBuffByAuthorIdx";
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeBuff + "WHERE " + ((AuthorId == null) ? "anyo.AuthorId is null "
                    : "anyo.AuthorId = " + AuthorId.toString() + " ") + "ORDER BY " + "anyo.Id ASC";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            List<MSSBamScopeBuff> buffList = new ArrayList<MSSBamScopeBuff>();
            while (resultSet.next()) {
                MSSBamScopeBuff buff = unpackScopeResultSetToBuff(resultSet);
                buffList.add(buff);
            }
            return (buffList.toArray(new MSSBamScopeBuff[0]));
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public MSSBamScopeBuff readBuffByUNameIdx(MSSBamAuthorization Authorization, Long ScopeId, String Name) {
        final String S_ProcName = "readBuffByUNameIdx";
        try {
            Connection cnx = schema.getCnx();
            String sql = S_sqlSelectScopeBuff + "WHERE "
                    + ((ScopeId == null) ? "anyo.ScopeId is null " : "anyo.ScopeId = " + ScopeId.toString() + " ")
                    + "AND " + "anyo.Name = " + MSSBamPg8Schema.getQuotedString(Name) + " ";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            ResultSet resultSet = stmt.executeQuery(sql);
            if (resultSet.next()) {
                MSSBamScopeBuff buff = unpackScopeResultSetToBuff(resultSet);
                if (resultSet.next()) {
                    resultSet.last();
                    throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                            "Did not expect multi-buff response, " + resultSet.getRow() + " rows selected");
                }
                return (buff);
            } else {
                return (null);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public void updateScope(MSSBamAuthorization Authorization, MSSBamScopeBuff Buff) {
        final String S_ProcName = "updateScope";
        try {
            Connection cnx = schema.getCnx();
            long Id = Buff.getRequiredId();

            String sql = "UPDATE mssbam110.scope " + "SET " + "Id = " + MSSBamPg8Schema.getInt64String(Id) + " "
                    + "WHERE " + "Id = " + Long.toString(Id) + " ";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            int rowsAffected = stmt.executeUpdate(sql);
            if (rowsAffected != 1) {
                throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                        "Expected 1 row to be affected by update, not " + rowsAffected);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public void deleteScope(MSSBamAuthorization Authorization, MSSBamScopeBuff Buff) {
        final String S_ProcName = "deleteScope";
        try {
            Connection cnx = schema.getCnx();
            long Id = Buff.getRequiredId();

            String sql = "DELETE FROM mssbam110.scope " + "WHERE " + "Id = " + Long.toString(Id) + " ";
            Statement stmt = cnx.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY);
            int rowsAffected = stmt.executeUpdate(sql);
            if (rowsAffected != 1) {
                throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                        "Expected 1 row to be affected by delete, not " + rowsAffected);
            }
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public MSSBamCursor openScopeCursorAll(MSSBamAuthorization Authorization) {
        String sql = "SELECT " + "anyo.ClassCode, " + "scp.Id, " + "scp.Revision " + "FROM mssbam110.scope AS scp "
                + "INNER JOIN mssbam110.any_obj anyo ON "

                + "scp.Id = anyo.Id " + "ORDER BY " + "anyo.Id ASC";
        MSSBamCursor cursor = new MSSBamPg8Cursor(Authorization, schema, sql);
        return (cursor);
    }

    public void closeScopeCursor(MSSBamCursor Cursor) {
        try {
            Cursor.getResultSet().close();
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), "closeScopeCursor", e);
        }
    }

    public MSSBamScopeBuff nextScopeCursor(MSSBamCursor Cursor) {
        final String S_ProcName = "nextScopeCursor";
        try {
            ResultSet resultSet = Cursor.getResultSet();
            if (!resultSet.next()) {
                throw CFLib.getDefaultExceptionFactory().newRuntimeException(getClass(), S_ProcName,
                        "No more results available");
            }
            MSSBamScopeBuff buff = unpackScopeResultSetToBuff(resultSet);
            return (buff);
        } catch (SQLException e) {
            throw CFLib.getDefaultExceptionFactory().newDbException(getClass(), S_ProcName, e);
        }
    }

    public MSSBamScopeBuff prevScopeCursor(MSSBamCursor Cursor) {
        int targetRowIdx = (Cursor.getRowIdx() > 1) ? Cursor.getRowIdx() - 1 : 1;
        MSSBamScopeBuff buff = null;
        if (Cursor.getRowIdx() >= targetRowIdx) {
            Cursor.reset();
        }
        while (Cursor.getRowIdx() < targetRowIdx) {
            buff = nextScopeCursor(Cursor);
        }
        return (buff);
    }

    public MSSBamScopeBuff firstScopeCursor(MSSBamCursor Cursor) {
        int targetRowIdx = 1;
        MSSBamScopeBuff buff = null;
        Cursor.reset();
        while (Cursor.getRowIdx() < targetRowIdx) {
            buff = nextScopeCursor(Cursor);
        }
        return (buff);
    }

    public MSSBamScopeBuff lastScopeCursor(MSSBamCursor Cursor) {
        throw CFLib.getDefaultExceptionFactory().newNotImplementedYetException(getClass(), "lastScopeCursor");
    }

    public MSSBamScopeBuff nthScopeCursor(MSSBamCursor Cursor, int Idx) {
        int targetRowIdx = Idx;
        MSSBamScopeBuff buff = null;
        if (Cursor.getRowIdx() >= targetRowIdx) {
            Cursor.reset();
        }
        while (Cursor.getRowIdx() < targetRowIdx) {
            buff = nextScopeCursor(Cursor);
        }
        return (buff);
    }
}