Hierarchy
⤷
⤷
Meta Relationship - Using
| # | Relationship type | Using | Short Description | Created on |
|---|---|---|---|---|
| 1 | Interface implementation (CLASS c. INTERFACES i_ref) | IF_RSDRS_SQL_STMT | Data Manager SQL Statement | 20040211 |
Properties
| Class | CL_RSDRS_MSSQL_SQL_STMT | |
| Short Description | Generate an MS SQLServer SQL Statement | |
| Super Class | ||
| Instantiability of a Class | 2 | Public |
| Final |
General Data
| Message Class | ||
| Program status | ||
| Category | 0 | |
| Package | RSMSS | Microsoft SQL Server Porting |
| Created | 20040211 | SAP |
| Last change | 20130531 | SAP |
| Shared Memory-enabled | ||
| Fixed point arithmetic | ||
| Unicode checks active |
Forward declarations
| # | Type group / Object type | Type | Type Description |
|---|---|---|---|
| 1 | Type group use (TYPE-POOLS tp) | Type group use (TYPE-POOLS tp) | |
| 2 | Type group use (TYPE-POOLS tp) | Type group use (TYPE-POOLS tp) |
Interfaces
| # | Interface | Abstract | Final | Description | Created on |
|---|---|---|---|---|---|
| 1 | IF_RSDRS_SQL_STMT | Data Manager SQL Statement | 20040211 |
Friends
| # | Friend | Modeled only | Created on | Description |
|---|---|---|---|---|
| 1 | CL_RSDRS_MSSQL_EXITS | 20040211 | Database dependent exits for MS SQLServer |
Attributes
| # | Attribute | Level | Visibility | Read only | Typing | Associated Type | Initial Value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Instance attribute | Private | Type reference (TYPE) | MSSDB | Database Name | 20061127 | |||
| 2 | Instance attribute | Private | Type reference (TYPE) | RSDRS_ALIAS | 20060607 | ||||
| 3 | Instance attribute | Private | Type reference (TYPE) | STRING | correction factor for unambiguous hierarchies | 20040211 | |||
| 4 | Instance attribute | Private | Type reference (TYPE) | RS_BOOL | MSS Rel >=10.0 | 20080229 | |||
| 5 | Instance attribute | Private | Type reference (TYPE) | RS_BOOL | MSS Rel >=9.0 | 20050726 | |||
| 6 | Instance attribute | Private | Type reference (TYPE) | I | 0 | Package Size when Deleted | 20050726 | ||
| 7 | Instance attribute | Private | Object reference (TYPE REF TO) | CL_RSDRS_MSSQL_EXITS | Reference to Database specific exits | 20040211 | |||
| 8 | Instance attribute | Private | Type reference (TYPE) | MSSSCHEMA | Structure name | 20061127 | |||
| 9 | Instance attribute | Private | Object reference (TYPE REF TO) | CL_RSDRS_STMT_SRVS | Service Object for Statement Creation | 20040211 | |||
| 10 | Instance attribute | Private | Type reference (TYPE) | RSDRS_SX_QUERY | query definition | 20040211 | |||
| 11 | Instance attribute | Private | Type reference (TYPE) | RSDRS_TH_COB_PRO | COB PRO information of sx_query | 20040211 | |||
| 12 | Instance attribute | Private | Type reference (TYPE) | TP_TH_PARTQUERY | Part query description for F4 subselects | 20070827 | |||
| 13 | Instance attribute | Private | Type reference (TYPE) | RSDRS_T_ABAPSOURCE | Generated Code | 20040211 | |||
| 14 | Instance attribute | Private | Type reference (TYPE) | PT_T_PKFIELDS | Columns for Delete Join | 20050726 |
Methods
| # | Method | Level | Visibility | Method type | Description | Created on |
|---|---|---|---|---|---|---|
| 1 | Instance method | Private | Method | Add partitioning condition for recordtp restriction | 20060607 | |
| 2 | Instance method | Private | Method | build an entry of char. and nav. attr. part of select list | 20040211 | |
| 3 | Instance method | Private | Method | For db_delete build delete header | 20050513 | |
| 4 | Instance method | Private | Method | Build join condition for packet delete | 20050726 | |
| 5 | Instance method | Private | Method | Build starting select list for factview | 20070827 | |
| 6 | Instance method | Private | Method | Changes or-ed subselects with in into union selects | 20070827 | |
| 7 | Instance method | Private | Method | Changes or-ed subselects with in into union selects | 20070827 | |
| 8 | Instance method | Private | Method | Build Select List Entry for a Key Figure | 20080114 | |
| 9 | Instance method | Private | Method | Build the from list with join conditions (ANSI Notation) | 20040211 | |
| 10 | Instance method | Private | Method | Build group by part of statement | 20040211 | |
| 11 | Instance method | Private | Method | Build the have list (not used currently) | 20040211 | |
| 12 | Instance method | Protected | Method | build hint for SQL stmt | 20040211 | |
| 13 | Instance method | Private | Method | For db_insert or db_create build insert list, drop indexes | 20040211 | |
| 14 | Instance method | Private | Method | Build Select List Entry for a Key Figure | 20040211 | |
| 15 | Instance method | Private | Method | MSS specific add hash grouping | 20080229 | |
| 16 | Instance method | Private | Method | build order by list | 20040211 | |
| 17 | Instance method | Private | Method | build a single outer join condition | 20040211 | |
| 18 | Instance method | Private | Method | build a subquery. Subqueries may occur within where cond. | 20040211 | |
| 19 | Instance method | Private | Method | Processes the Top/Bottom N/SUM/PERCENT Query (>=Yukon) | 20060208 | |
| 20 | Instance method | Private | Method | Build Starting Select List for Top Queries | 20060208 | |
| 21 | Instance method | Private | Method | Build Filter Condition for Top Queries | 20060208 | |
| 22 | Instance method | Private | Method | Build the where list (without the join part) | 20040211 | |
| 23 | Instance method | Private | Method | Changes the factview into two union all connected star joins | 20070827 | |
| 24 | Instance method | Public | Constructor | Class constructor | 20040211 | |
| 25 | Instance method | Private | Method | Determine packet size for selective delete | 20050726 | |
| 26 | Instance method | Private | Method | Determine the correction factor for unambiguous hierarchies | 20040211 | |
| 27 | Instance method | Private | Method | Determine the list of fields for delete join | 20050726 | |
| 28 | Instance method | Private | Method | Get starting table for join conditions | 20040211 | |
| 29 | Instance method | Private | Method | Splits statement into header and select stmt | 20060208 | |
| 30 | Instance method | Private | Method | recurse over from list and join tables together | 20040211 | |
| 31 | Instance method | Private | Method | write a table entry of the from list | 20040211 |
Events
Class CL_RSDRS_MSSQL_SQL_STMT has no event.
Types
| # | Type | Visibility | Typing | Associated Type | Description | Created on | Type Source |
|---|---|---|---|---|---|---|---|
| 1 | TP_S_PARTQUERY | Private | See coding | 20070827 | BEGIN OF tp_s_partquery,
id TYPE rsdrs_subquery_id,
num TYPE i,
END OF tp_s_partquery
|
||
| 2 | TP_TH_PARTQUERY | Private | See coding | 20070827 | tp_th_partquery TYPE HASHED TABLE OF
tp_s_partquery WITH UNIQUE KEY id
|
Method Signatures
Method ADD_PARTTIM_RESTRICTION Signature
Method ADD_PARTTIM_RESTRICTION on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
Method ADD_PARTTIM_RESTRICTION on class CL_RSDRS_MSSQL_SQL_STMT has no exception.
Method BUILD_CHA_SELECT Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_SEPARATOR | Call by reference | Type reference (TYPE) | RSDRS_SEP | Separator between list elements | 20040211 | |||
| 2 | I_S_CHA | Call by reference | Type reference (TYPE) | RSDRS_S_CHA | actual characteristic to build entry for | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method BUILD_DELETE_HEADER Signature
Method BUILD_DELETE_HEADER on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20050513 |
Method BUILD_DELETE_JOIN Signature
Method BUILD_DELETE_JOIN on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20050726 |
Method BUILD_F4_SELECT Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | R_GROUPBY | Value transfer | Type reference (TYPE) | RS_BOOL | Groupby Needed ? | 20070827 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20070827 |
Method BUILD_F4_UNIONS Signature
Method BUILD_F4_UNIONS on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20070827 |
Method BUILD_F4_WHERE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_T_SEL_CODE | Call by reference | Type reference (TYPE) | RSDRS_T_ABAPSOURCE | Common part of f4 innser selects | 20070827 | |||
| 2 | R_T_CODE | Value transfer | Type reference (TYPE) | RSDRS_T_ABAPSOURCE | complete f4 inner statement | 20070827 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20070827 |
Method BUILD_FORMULA Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_FORMULA | Call by reference | Type reference (TYPE) | RSDRS_S_KYF-FORMULA | formula | 20080114 | |||
| 2 | I_T_FORM_FLD | Call by reference | Type reference (TYPE) | RSDRS_T_FORM_FLD | factor for unambigous hierarchies | 20080114 | |||
| 3 | R_FORMULA | Value transfer | Type reference (TYPE) | STRING | Resolved Formula | 20080114 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20080114 |
Method BUILD_FROM_JOINS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_TH_JOIN | Call by reference | Type reference (TYPE) | RSDRS_TH_JOIN | List of inner join conditions | 20040211 | |||
| 2 | I_TH_TABLE | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | Table List | 20040211 | |||
| 3 | I_TX_LEFTOUTER | Call by reference | Type reference (TYPE) | RSDRS_TX_LEFTOUTER | list of left outer joins | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method BUILD_GROUPBY_LIST Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_T_GROUPBY | Call by reference | Type reference (TYPE) | RSDRS_T_GROUPBY | Groupby | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method BUILD_HAVING_LIST Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_T_HAVING | Call by reference | Type reference (TYPE) | RSDRS_T_HAVING | Having list | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method BUILD_HINT Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | E_HINT | Call by reference | Type reference (TYPE) | RS_CHAR255 | Final hints ... | 20040211 | |||
| 2 | I_OPEN_SQL | Call by reference | Type reference (TYPE) | RS_BOOL | Boolean | 20040211 | |||
| 3 | I_T_HINT | Call by reference | Type reference (TYPE) | RSDRS_T_ABAPSOURCE | Hints from Statement (if set ...) | 20040211 |
Method BUILD_HINT on class CL_RSDRS_MSSQL_SQL_STMT has no exception.
Method BUILD_INSERT_HEADER Signature
Method BUILD_INSERT_HEADER on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method BUILD_KYF_SELECT Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_HIER_FACTOR | Call by reference | Type reference (TYPE) | STRING | factor for unambigous hierarchies | 20040211 | |||
| 2 | I_SEPARATOR | Call by reference | Type reference (TYPE) | RSDRS_SEP | Separator for select list | 20040211 | |||
| 3 | I_S_KYF | Call by reference | Type reference (TYPE) | RSDRS_S_KYF | key figure description | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method BUILD_OPTION Signature
Method BUILD_OPTION on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20080229 |
Method BUILD_ORDERBY Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_T_ORDERBY | Call by reference | Type reference (TYPE) | RSDRS_T_ORDERBY | orderby list | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method BUILD_OUTER Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | C_TH_TBLS_JOINED | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | Tables already joined | 20040211 | |||
| 2 | I_SX_LEFTOUTER | Call by reference | Type reference (TYPE) | RSDRS_SX_LEFTOUTER | left outer condition to build | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method BUILD_SUBQUERY Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_SUBQUERY_ID | Call by reference | Type reference (TYPE) | RSDRS_SUBQUERY_ID | Subquery ID of actual subquery | 20040211 | |||
| 2 | I_SX_SUBQUERY | Call by reference | Type reference (TYPE) | RSDRS_SX_SUBQUERY | Subquery description | 20040211 | |||
| 3 | I_S_WHERE | Call by reference | Type reference (TYPE) | RSDRS_S_WHERE | Surrounding where statement | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method BUILD_TOPQUERY Signature
Method BUILD_TOPQUERY on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20060208 |
Method BUILD_TOP_SELECT Signature
Method BUILD_TOP_SELECT on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20060208 |
Method BUILD_TOP_WHERE Signature
Method BUILD_TOP_WHERE on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20060208 |
Method BUILD_WHERE_LIST Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_SUBQUERY_ID | Call by reference | Type reference (TYPE) | RSDRS_SUBQUERY_ID | ID of actual subquery | 20040211 | |||
| 2 | I_T_WHERE | Call by reference | Type reference (TYPE) | RSDRS_T_WHERE | Where List | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method CHECK_F4_SUBSELECTS Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | R_F4_SUBQUERY | Value transfer | Type reference (TYPE) | RS_BOOL | Boolean | 20070827 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20070827 |
Method CONSTRUCTOR Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_SX_QUERY | Call by reference | Type reference (TYPE) | RSDRS_SX_QUERY | Quey description | 20040211 |
Method CONSTRUCTOR on class CL_RSDRS_MSSQL_SQL_STMT has no exception.
Method DET_DEL_PACKSIZE Signature
Method DET_DEL_PACKSIZE on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
Method DET_DEL_PACKSIZE on class CL_RSDRS_MSSQL_SQL_STMT has no exception.
Method DET_HIER_FACTOR Signature
Method DET_HIER_FACTOR on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
Method DET_HIER_FACTOR on class CL_RSDRS_MSSQL_SQL_STMT has no exception.
Method DET_JOIN_FIELDS Signature
Method DET_JOIN_FIELDS on class CL_RSDRS_MSSQL_SQL_STMT has no parameter.
Method DET_JOIN_FIELDS on class CL_RSDRS_MSSQL_SQL_STMT has no exception.
Method GET_STARTTAB Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | E_STARTTAB | Value transfer | Type reference (TYPE) | RSDRS_ALIAS | Starting table | 20040211 | |||
| 2 | I_TH_TABLE | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | Table list to find starttab in | 20040211 |
Method GET_STARTTAB on class CL_RSDRS_MSSQL_SQL_STMT has no exception.
Method SPLIT_HEADER Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | C_T_CODE | Call by reference | Type reference (TYPE) | RSDRS_T_ABAPSOURCE | Statement without header | 20060208 | |||
| 2 | E_T_HEADER | Call by reference | Type reference (TYPE) | RSDRS_T_ABAPSOURCE | Header | 20060208 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20060208 |
Method WRITE_JOIN Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | C_TH_TBLS_JOINED | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | Tables that have already been joined | 20040211 | |||
| 2 | C_TS_JOIN | Call by reference | Type reference (TYPE) | RSDRS_TS_JOIN | Join list to work on | 20040211 | |||
| 3 | I_STARTTAB | Call by reference | Type reference (TYPE) | RSDRS_ALIAS | Table to start with | 20040211 | |||
| 4 | I_TH_TABLE | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | List of Tables | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
Method WRITE_TABLE Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | C_TH_TBLS_JOINED | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | tables already joined | 20040211 | |||
| 2 | I_TABALIAS | Call by reference | Type reference (TYPE) | RSDRS_ALIAS | alias of table to write | 20040211 | |||
| 3 | I_TH_TABLE | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | list of tables | 20040211 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL-Statement ist zu groß | 20040211 |
History
| Last changed by/on | SAP | 20130531 |
| SAP Release Created in | 400 |