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 | 20100622 |
Properties
| Class | CL_RSDRS_HDB_SQL_STMT | |
| Short Description | Generate a MaxDB SQL Statement | |
| Super Class | ||
| Instantiability of a Class | 2 | Public |
| Final |
General Data
| Message Class | ||
| Program status | ||
| Category | 0 | |
| Package | RSHDB | BW Porting HDB |
| Created | 20100622 | 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) | |
| 3 | 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 | 20100622 |
Friends
| # | Friend | Modeled only | Created on | Description |
|---|---|---|---|---|
| 1 | CL_RSDRS_HDB_EXITS | 20100622 | Database dependent exits for MaxDB |
Attributes
| # | Attribute | Level | Visibility | Read only | Typing | Associated Type | Initial Value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Instance attribute | Private | Type reference (TYPE) | I | number of accesses | 20110511 | |||
| 2 | Instance attribute | Private | Type reference (TYPE) | SYSUUID_25 | UUID in Compressed Form | 20110511 | |||
| 3 | Instance attribute | Private | Type reference (TYPE) | RSD_TABLNM | View of union all Table | 20100622 | |||
| 4 | Instance attribute | Private | Type reference (TYPE) | STRING | correction factor for unambiguous hierarchies | 20100622 | |||
| 5 | Instance attribute | Private | Type reference (TYPE) | RS_BOOL | RS_C_TRUE | Group by in inner SQL statement (if factview used) | 20100622 | ||
| 6 | Instance attribute | Private | Type reference (TYPE) | I | 0 | Paketgröße für Delete | 20110726 | ||
| 7 | Instance attribute | Private | Object reference (TYPE REF TO) | CL_RSDRS_HDB_EXITS | Reference to Database specific exits | 20100622 | |||
| 8 | Instance attribute | Private | Object reference (TYPE REF TO) | CL_RSDRS_STMT_SRVS | Service Object for Statement Creation | 20100622 | |||
| 9 | Instance attribute | Private | Type reference (TYPE) | RSDRS_SX_QUERY | query definition | 20100622 | |||
| 10 | Instance attribute | Private | Type reference (TYPE) | RSDRS_TH_COB_PRO | COB PRO information of sx_query | 20100622 | |||
| 11 | Instance attribute | Private | Type reference (TYPE) | RSDRS_T_ABAPSOURCE | Generated Code | 20100622 |
Methods
| # | Method | Level | Visibility | Method type | Description | Created on |
|---|---|---|---|---|---|---|
| 1 | Instance method | Private | Method | Build an entry of char. and nav. attr. part of select list | 20100622 | |
| 2 | Instance method | Private | Method | For db_delete build delete header | 20100622 | |
| 3 | Instance method | Private | Method | Build starting select list for factview | 20100622 | |
| 4 | Instance method | Private | Method | Build the final orderby clause for the factview | 20100622 | |
| 5 | Instance method | Private | Method | Build starting select list for factview | 20100622 | |
| 6 | Instance method | Private | Method | Build Select List Entry for a Key Figure | 20100622 | |
| 7 | Instance method | Private | Method | Build the from list with join conditions (ANSI Notation) | 20100622 | |
| 8 | Instance method | Private | Method | Build group by part of statement | 20100622 | |
| 9 | Instance method | Private | Method | Build the have list (not used currently) | 20100622 | |
| 10 | Instance method | Protected | Method | build hint for SQL stmt | 20100622 | |
| 11 | Instance method | Private | Method | For db_insert or db_create build insert list, drop indexes | 20100622 | |
| 12 | Instance method | Private | Method | Build Select List Entry for a Key Figure | 20100622 | |
| 13 | Instance method | Private | Method | build order by list | 20100622 | |
| 14 | Instance method | Private | Method | build a single outer join condition | 20100622 | |
| 15 | Instance method | Private | Method | build a subquery. Subqueries may occur within where cond. | 20100622 | |
| 16 | Instance method | Private | Method | subquery for delete | 20100622 | |
| 17 | Instance method | Private | Method | Erzeuge Select Liste für Top N Query | 20100622 | |
| 18 | Instance method | Private | Method | Erzeuge WHERE Clause fuer Top N Query | 20100622 | |
| 19 | Instance method | Private | Method | Build the where list (without the join part) | 20100622 | |
| 20 | Instance method | Private | Method | Is there an 'always-true' condition, because of excl.-only | 20121004 | |
| 21 | Instance method | Public | Constructor | Class constructor | 20100622 | |
| 22 | Instance method | Private | Method | Determine the correction factor for unambiguous hierarchies | 20100622 | |
| 23 | Instance method | Private | Method | Changes the factview into two union all connected star joins | 20100622 | |
| 24 | Instance method | Private | Method | Get starting table for join conditions | 20100622 | |
| 25 | Instance method | Private | Method | Changes the factview into two union all connected star joins | 20100622 | |
| 26 | Instance method | Private | Method | Processes Top/Bottom Query | 20100622 | |
| 27 | Instance method | Private | Method | ABAP Prozessierung der Top n Query | 20100622 | |
| 28 | Instance method | Private | Method | DB Prozessierung der Top n Query | 20100622 | |
| 29 | Instance method | Private | Method | Splits statement into header and select stmt | 20100622 | |
| 30 | Instance method | Private | Method | recurse over from list and join tables together | 20100622 | |
| 31 | Instance method | Private | Method | write a table entry of the from list | 20100622 |
Events
Class CL_RSDRS_HDB_SQL_STMT has no event.
Types
| # | Type | Visibility | Typing | Associated Type | Description | Created on | Type Source |
|---|---|---|---|---|---|---|---|
| 1 | RSADA_T_DDFIELD | Private | See coding | 20100622 | RSADA_T_DDFIELD TYPE TABLE OF ddfield
|
Method Signatures
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 | 20100622 | |||
| 2 | I_S_CHA | Call by reference | Type reference (TYPE) | RSDRS_S_CHA | actual characteristic to build entry for | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
Method BUILD_DELETE_HEADER Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | I_TRANS_DEL | Call by reference | Type reference (TYPE) | RS_BOOL | RS_C_TRUE | Boolean | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
Method BUILD_FACTVIEW_HAVING Signature
Method BUILD_FACTVIEW_HAVING on class CL_RSDRS_HDB_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
Method BUILD_FACTVIEW_ORDERBY Signature
Method BUILD_FACTVIEW_ORDERBY on class CL_RSDRS_HDB_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
Method BUILD_FACTVIEW_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 | Boolean | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
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 | 20100622 | |||
| 2 | I_T_FORM_FLD | Call by reference | Type reference (TYPE) | RSDRS_T_FORM_FLD | Factor for Unambiguous Hierarchies | 20100622 | |||
| 3 | R_FORMULA | Value transfer | Type reference (TYPE) | STRING | Resolved Formula | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
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 | 20100622 | |||
| 2 | I_TH_TABLE | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | Table List | 20100622 | |||
| 3 | I_TX_LEFTOUTER | Call by reference | Type reference (TYPE) | RSDRS_TX_LEFTOUTER | list of left outer joins | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
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 | Group by | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
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 | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
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 ... | 20100622 | |||
| 2 | I_INFOPROV | Call by reference | Type reference (TYPE) | RSINFOPROV | InfoProvider | 20120625 | |||
| 3 | I_OPEN_SQL | Call by reference | Type reference (TYPE) | RS_BOOL | Boolean | 20100622 | |||
| 4 | I_T_HINT | Call by reference | Type reference (TYPE) | RSDRS_T_ABAPSOURCE | Hints from Statement (if set ...) | 20100622 |
Method BUILD_HINT on class CL_RSDRS_HDB_SQL_STMT has no exception.
Method BUILD_INSERT_HEADER Signature
Method BUILD_INSERT_HEADER on class CL_RSDRS_HDB_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
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 Unambiguous Hierarchies | 20100622 | |||
| 2 | I_SEPARATOR | Call by reference | Type reference (TYPE) | RSDRS_SEP | Separator for select list | 20100622 | |||
| 3 | I_S_KYF | Call by reference | Type reference (TYPE) | RSDRS_S_KYF | key figure description | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
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 | order by list | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
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 | 20100622 | |||
| 2 | I_SX_LEFTOUTER | Call by reference | Type reference (TYPE) | RSDRS_SX_LEFTOUTER | left outer condition to build | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
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 | 20100622 | |||
| 2 | I_SX_SUBQUERY | Call by reference | Type reference (TYPE) | RSDRS_SX_SUBQUERY | Subquery description | 20100622 | |||
| 3 | I_S_WHERE | Call by reference | Type reference (TYPE) | RSDRS_S_WHERE | Surrounding where statement | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
Method BUILD_SUBQUERY_FOR_DELETE Signature
Method BUILD_SUBQUERY_FOR_DELETE on class CL_RSDRS_HDB_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
Method BUILD_TOP_SELECT Signature
Method BUILD_TOP_SELECT on class CL_RSDRS_HDB_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
Method BUILD_TOP_WHERE Signature
Method BUILD_TOP_WHERE on class CL_RSDRS_HDB_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
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 | 20100622 | |||
| 2 | I_TRANS_DEL | Call by reference | Type reference (TYPE) | RS_BOOL | RS_C_TRUE | Boolean | 20100622 | ||
| 3 | I_T_WHERE | Call by reference | Type reference (TYPE) | RSDRS_T_WHERE | Where List | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
Method CHECK_EXCLUSIVE_ONLY_CONDITION Signature
| # | Type | Parameter | Pass Value | Optional | Typing Method | Associated Type | Default value | Description | Created on |
|---|---|---|---|---|---|---|---|---|---|
| 1 | C_T_WHERE | Call by reference | Type reference (TYPE) | RSDRS_T_WHERE | 20121004 | ||||
| 2 | E_EXCLUDING_ONLY_FOUND | Call by reference | Type reference (TYPE) | RS_BOOL | Boolean | 20121004 | |||
| 3 | E_NOT_LEVEL | Call by reference | Type reference (TYPE) | RSDRS_S_WHERE-LEVEL | 20121005 | ||||
| 4 | I_S_WHERE | Call by reference | Type reference (TYPE) | RSDRS_S_WHERE | 20121004 | ||||
| 5 | I_TABIX | Value transfer | Type reference (TYPE) | SY-TABIX | Index of Internal Tables | 20121004 |
Method CHECK_EXCLUSIVE_ONLY_CONDITION on class CL_RSDRS_HDB_SQL_STMT has no exception.
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 | Query description | 20100622 |
Method CONSTRUCTOR on class CL_RSDRS_HDB_SQL_STMT has no exception.
Method DET_HIER_FACTOR Signature
Method DET_HIER_FACTOR on class CL_RSDRS_HDB_SQL_STMT has no parameter.
Method DET_HIER_FACTOR on class CL_RSDRS_HDB_SQL_STMT has no exception.
Method FIND_FACTVIEW Signature
Method FIND_FACTVIEW on class CL_RSDRS_HDB_SQL_STMT has no parameter.
Method FIND_FACTVIEW on class CL_RSDRS_HDB_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 | 20100622 | |||
| 2 | I_TH_TABLE | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | Table list to find starttab in | 20100622 |
Method GET_STARTTAB on class CL_RSDRS_HDB_SQL_STMT has no exception.
Method PROCESS_FACTVIEW Signature
Method PROCESS_FACTVIEW on class CL_RSDRS_HDB_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
Method PROCESS_TOPQUERY Signature
Method PROCESS_TOPQUERY on class CL_RSDRS_HDB_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
Method PROCESS_TOPQUERY_ABAP Signature
Method PROCESS_TOPQUERY_ABAP on class CL_RSDRS_HDB_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
Method PROCESS_TOPQUERY_DB Signature
Method PROCESS_TOPQUERY_DB on class CL_RSDRS_HDB_SQL_STMT has no parameter.
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | Generated Stmt is too long ... | 20100622 |
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 | 20100622 | ||||
| 2 | E_T_HEADER | Call by reference | Type reference (TYPE) | RSDRS_T_ABAPSOURCE | 20100622 |
Method SPLIT_HEADER on class CL_RSDRS_HDB_SQL_STMT has no exception.
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 | 20100622 | |||
| 2 | C_TS_JOIN | Call by reference | Type reference (TYPE) | RSDRS_TS_JOIN | Join list to work on | 20100622 | |||
| 3 | I_STARTTAB | Call by reference | Type reference (TYPE) | RSDRS_ALIAS | Table to start with | 20100622 | |||
| 4 | I_TH_TABLE | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | List of Tables | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
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 | 20100622 | |||
| 2 | I_TABALIAS | Call by reference | Type reference (TYPE) | RSDRS_ALIAS | alias of table to write | 20100622 | |||
| 3 | I_TH_TABLE | Call by reference | Type reference (TYPE) | RSDRS_TH_TABLE | list of tables | 20100622 |
| # | Exception | Resumable | Description | Created on |
|---|---|---|---|---|
| 1 | SQL Statement Is Too Large | 20100622 |
History
| Last changed by/on | SAP | 20130531 |
| SAP Release Created in | 730 |