ABAP Select data from SAP table /SDF/DB6_700_DBH_STG_DB into internal table

Get Example source ABAP code based on a different SAP table
  

Below is a number of ABAP code snippets to demonstrate how to select data from SAP /SDF/DB6_700_DBH_STG_DB table and store it within an internal table, including using the newer @DATA inline declaration methods. It also shows you various ways to process this data using ABAP work area, inline declaration or field symbols including executing all the relevant CONVERSION_EXIT routines specific to /SDF/DB6_700_DBH_STG_DB. See here for more generic Select statement tips.

Sometimes data within SAP is stored within the database table in a different format to what it is displayed to the user. These input/output conversation FM routines are what translates the data between the two formats.

There is also a full declaration of the /SDF/DB6_700_DBH_STG_DB table where each field has a char/string type for you to simply copy and paste. This allows you to use processing that is only available to these field types such as the CONCATENATE statement.

DATA: IT_/SDF/DB6_700_DBH_STG_DB TYPE STANDARD TABLE OF /SDF/DB6_700_DBH_STG_DB,
      WA_/SDF/DB6_700_DBH_STG_DB TYPE /SDF/DB6_700_DBH_STG_DB,
      GD_STR TYPE STRING.

DATA: lo_typedescr type REF TO cl_abap_typedescr.
DATA: lv_fieldname type fieldname.

FIELD-SYMBOLS: <FIELD> TYPE any.
FIELD-SYMBOLS: </SDF/DB6_700_DBH_STG_DB> TYPE /SDF/DB6_700_DBH_STG_DB.

*Process all fields in table header/work area as string values
  PERFORM process_as_string_field_values CHANGING wa_/SDF/DB6_700_DBH_STG_DB.

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM /SDF/DB6_700_DBH_STG_DB
  INTO TABLE IT_/SDF/DB6_700_DBH_STG_DB.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM /SDF/DB6_700_DBH_STG_DB
*  INTO TABLE @DATA(IT_/SDF/DB6_700_DBH_STG_DB2).
*--Further methods of using ABAP code to  select data from SAP database tables

*You can also declare the header/work area using the in-line DATA declaration method
READ TABLE IT_/SDF/DB6_700_DBH_STG_DB INDEX 1 INTO DATA(WA_/SDF/DB6_700_DBH_STG_DB2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_/SDF/DB6_700_DBH_STG_DB ASSIGNING </SDF/DB6_700_DBH_STG_DB>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
</SDF/DB6_700_DBH_STG_DB>-DBPARTITIONNUM = 1.
</SDF/DB6_700_DBH_STG_DB>-MEMBER = 1.
</SDF/DB6_700_DBH_STG_DB>-MEMBER_NAME = 1.
</SDF/DB6_700_DBH_STG_DB>-SNAPSHOT_TIMESTAMP = 1.
</SDF/DB6_700_DBH_STG_DB>-ACTIVE_HASH_JOINS = 1.
ENDLOOP.

LOOP AT IT_/SDF/DB6_700_DBH_STG_DB INTO WA_/SDF/DB6_700_DBH_STG_DB.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_/SDF/DB6_700_DBH_STG_DB-ACTIVE_SORTS, sy-vline,
WA_/SDF/DB6_700_DBH_STG_DB-AGENTS_TOP, sy-vline,
WA_/SDF/DB6_700_DBH_STG_DB-APPLS_CUR_CONS, sy-vline,
WA_/SDF/DB6_700_DBH_STG_DB-APPLS_IN_DB2, sy-vline,
WA_/SDF/DB6_700_DBH_STG_DB-ASYNC_RUNSTATS, sy-vline,
WA_/SDF/DB6_700_DBH_STG_DB-CAT_CACHE_INSERTS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/SDF/DB6_700_DBH_STG_DB you want to display... WRITE:/ sy-uline. * Aternatively use generic code to Write field values (and NAME) to screen report DO. ASSIGN COMPONENT sy-index OF STRUCTURE wa_/SDF/DB6_700_DBH_STG_DB TO <field>. IF sy-subrc <> 0. EXIT. ENDIF. WRITE:/ 'Field Value', <field>, sy-vline. gd_str = <field> . lo_typedescr ?= CL_ABAP_DATADESCR=>DESCRIBE_BY_DATA( <field> ). lv_fieldname = lo_typedescr->GET_RELATIVE_NAME( ). WRITE:/ 'Field Name', lv_fieldname. ENDDO. *Redo loop but convert all fields from internal to out value LOOP AT IT_/SDF/DB6_700_DBH_STG_DB INTO WA_/SDF/DB6_700_DBH_STG_DB. *Write horizonal line to screen report. WRITE:/ sy-uline. *Convert all fields to display/output versions using conversion routines PERFORM convert_all_field_values CHANGING wa_EKKO. ENDLOOP. *&---------------------------------------------------------------------* *& Form convert_all_field_values *&---------------------------------------------------------------------* FORM convert_all_field_values CHANGING p_EKKO LIKE wa_EKKO. DATA: ld_input(1000) TYPE c, ld_output(1000) TYPE C.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_/SDF/DB6_700_DBH_STG_DB_STR,
DBPARTITIONNUM TYPE STRING,
MEMBER TYPE STRING,
MEMBER_NAME TYPE STRING,
SNAPSHOT_TIMESTAMP TYPE STRING,
ACTIVE_HASH_JOINS TYPE STRING,
ACTIVE_SORTS TYPE STRING,
AGENTS_TOP TYPE STRING,
APPLS_CUR_CONS TYPE STRING,
APPLS_IN_DB2 TYPE STRING,
ASYNC_RUNSTATS TYPE STRING,
CAT_CACHE_INSERTS TYPE STRING,
CAT_CACHE_LOOKUPS TYPE STRING,
CAT_CACHE_OVERFLOWS TYPE STRING,
CAT_CACHE_SIZE_TOP TYPE STRING,
CAT_CACHE_SZ TYPE STRING,
CAT_CACHE_SZ_AUTOMATIC TYPE STRING,
CNT_ARCHIVED_LOGS TYPE STRING,
CNT_BACKUP TYPE STRING,
CNT_REBALANCE TYPE STRING,
CNT_REORG TYPE STRING,
COLLECT_MODE TYPE STRING,
COMMIT_SQL_STMTS TYPE STRING,
COORD_AGENTS_TOP TYPE STRING,
DDL_SQL_STMTS TYPE STRING,
DEADLOCKS TYPE STRING,
DYNAMIC_SQL_STMTS TYPE STRING,
ELAPSED_EXEC_TIME_MS TYPE STRING,
ELAPSED_EXEC_TIME_S TYPE STRING,
FAILED_SQL_STMTS TYPE STRING,
FS_FREE_SIZE_MB TYPE STRING,
HADR_HEARTBEAT TYPE STRING,
HADR_LOG_GAP TYPE STRING,
HADR_STATE TYPE STRING,
HADR_SYNCMODE TYPE STRING,
HASH_JOIN_OVERFLOWS TYPE STRING,
HASH_JOIN_SMALL_OVERFLOWS TYPE STRING,
LOCKLIST_SZ TYPE STRING,
LOCKLIST_SZ_AUTOMATIC TYPE STRING,
LOCKS_HELD TYPE STRING,
LOCKS_WAITING TYPE STRING,
LOCK_ESCALS TYPE STRING,
LOCK_LIST_IN_USE TYPE STRING,
LOCK_TIMEOUTS TYPE STRING,
LOCK_WAITS TYPE STRING,
LOCK_WAIT_TIME TYPE STRING,
LOG_HELD_BY_DIRTY_PAGES TYPE STRING,
LOG_READS TYPE STRING,
LOG_READ_TIME_NS TYPE STRING,
LOG_READ_TIME_S TYPE STRING,
LOG_TO_REDO_FOR_RECOVERY TYPE STRING,
LOG_WRITES TYPE STRING,
LOG_WRITE_TIME_NS TYPE STRING,
LOG_WRITE_TIME_S TYPE STRING,
NUM_ASSOC_AGENTS TYPE STRING,
NUM_IOCLEANERS TYPE STRING,
NUM_IOCLEANERS_AUTOMATIC TYPE STRING,
NUM_IOSERVERS TYPE STRING,
NUM_IOSERVERS_AUTOMATIC TYPE STRING,
NUM_LOG_BUFFER_FULL TYPE STRING,
NUM_LOG_DATA_FOUND_IN_BUFFER TYPE STRING,
NUM_LOG_PART_PAGE_IO TYPE STRING,
NUM_LOG_READ_IO TYPE STRING,
NUM_LOG_WRITE_IO TYPE STRING,
NUM_THRESHOLD_VIOLATIONS TYPE STRING,
PKG_CACHE_INSERTS TYPE STRING,
PKG_CACHE_LOOKUPS TYPE STRING,
PKG_CACHE_NUM_OVERFLOWS TYPE STRING,
PKG_CACHE_SIZE_TOP TYPE STRING,
PKG_CACHE_SZ TYPE STRING,
PKG_CACHE_SZ_AUTOMATIC TYPE STRING,
POOL_DRTY_PG_STEAL_CLNS TYPE STRING,
POOL_DRTY_PG_THRSH_CLNS TYPE STRING,
POOL_LSN_GAP_CLNS TYPE STRING,
POST_SHRTHRESHOLD_HASH_JOINS TYPE STRING,
POST_SHRTHRESHOLD_SORTS TYPE STRING,
PREFETCH_WAIT_TIME TYPE STRING,
REAL_HOST_NAME TYPE STRING,
ROLLBACK_SQL_STMTS TYPE STRING,
ROWS_DELETED TYPE STRING,
ROWS_INSERTED TYPE STRING,
ROWS_READ TYPE STRING,
ROWS_SELECTED TYPE STRING,
ROWS_UPDATED TYPE STRING,
SEC_LOGS_ALLOCATED TYPE STRING,
SEC_LOG_USED_TOP TYPE STRING,
SELECT_SQL_STMTS TYPE STRING,
SERVER_PLATFORM TYPE STRING,
SORT_HEAP_ALLOCATED_SIZE TYPE STRING,
SORT_OVERFLOWS TYPE STRING,
SORT_SHRHEAP_ALLOCATED TYPE STRING,
SORT_SHRHEAP_TOP TYPE STRING,
STATIC_SQL_STMTS TYPE STRING,
STATS_CACHE_SIZE TYPE STRING,
STATS_FABRICATE_TIME TYPE STRING,
STATS_FABRICATIONS TYPE STRING,
SYNC_RUNSTATS TYPE STRING,
SYNC_RUNSTATS_TIME TYPE STRING,
TIME_PERIOD TYPE STRING,
TOTAL_CONS TYPE STRING,
TOTAL_HASH_JOINS TYPE STRING,
TOTAL_HASH_LOOPS TYPE STRING,
TOTAL_LOG_AVAILABLE TYPE STRING,
TOTAL_LOG_USED TYPE STRING,
TOTAL_SEC_CONS TYPE STRING,
TOTAL_SORTS TYPE STRING,
TOTAL_SORT_TIME TYPE STRING,
TOT_LOG_USED_TOP TYPE STRING,
UID_SQL_STMTS TYPE STRING,
X_LOCK_ESCALS TYPE STRING,END OF T_EKKO_STR. DATA: WA_/SDF/DB6_700_DBH_STG_DB_STR type T_EKKO_STR. DATA: ld_text TYPE string. LOOP AT IT_EKKO INTO WA_EKKO. MOVE-CORRESPONDING wa_EKKO TO WA_EKKO_STR. CONCATENATE: sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-DBPARTITIONNUM sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-MEMBER sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-MEMBER_NAME sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SNAPSHOT_TIMESTAMP sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ACTIVE_HASH_JOINS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ACTIVE_SORTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-AGENTS_TOP sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-APPLS_CUR_CONS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-APPLS_IN_DB2 sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ASYNC_RUNSTATS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-CAT_CACHE_INSERTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-CAT_CACHE_LOOKUPS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-CAT_CACHE_OVERFLOWS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-CAT_CACHE_SIZE_TOP sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-CAT_CACHE_SZ sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-CAT_CACHE_SZ_AUTOMATIC sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-CNT_ARCHIVED_LOGS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-CNT_BACKUP sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-CNT_REBALANCE sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-CNT_REORG sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-COLLECT_MODE sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-COMMIT_SQL_STMTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-COORD_AGENTS_TOP sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-DDL_SQL_STMTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-DEADLOCKS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-DYNAMIC_SQL_STMTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ELAPSED_EXEC_TIME_MS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ELAPSED_EXEC_TIME_S sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-FAILED_SQL_STMTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-FS_FREE_SIZE_MB sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-HADR_HEARTBEAT sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-HADR_LOG_GAP sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-HADR_STATE sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-HADR_SYNCMODE sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-HASH_JOIN_OVERFLOWS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-HASH_JOIN_SMALL_OVERFLOWS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOCKLIST_SZ sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOCKLIST_SZ_AUTOMATIC sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOCKS_HELD sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOCKS_WAITING sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOCK_ESCALS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOCK_LIST_IN_USE sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOCK_TIMEOUTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOCK_WAITS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOCK_WAIT_TIME sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOG_HELD_BY_DIRTY_PAGES sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOG_READS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOG_READ_TIME_NS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOG_READ_TIME_S sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOG_TO_REDO_FOR_RECOVERY sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOG_WRITES sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOG_WRITE_TIME_NS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-LOG_WRITE_TIME_S sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_ASSOC_AGENTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_IOCLEANERS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_IOCLEANERS_AUTOMATIC sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_IOSERVERS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_IOSERVERS_AUTOMATIC sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_LOG_BUFFER_FULL sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_LOG_DATA_FOUND_IN_BUFFER sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_LOG_PART_PAGE_IO sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_LOG_READ_IO sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_LOG_WRITE_IO sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-NUM_THRESHOLD_VIOLATIONS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-PKG_CACHE_INSERTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-PKG_CACHE_LOOKUPS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-PKG_CACHE_NUM_OVERFLOWS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-PKG_CACHE_SIZE_TOP sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-PKG_CACHE_SZ sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-PKG_CACHE_SZ_AUTOMATIC sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-POOL_DRTY_PG_STEAL_CLNS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-POOL_DRTY_PG_THRSH_CLNS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-POOL_LSN_GAP_CLNS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-POST_SHRTHRESHOLD_HASH_JOINS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-POST_SHRTHRESHOLD_SORTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-PREFETCH_WAIT_TIME sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-REAL_HOST_NAME sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ROLLBACK_SQL_STMTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ROWS_DELETED sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ROWS_INSERTED sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ROWS_READ sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ROWS_SELECTED sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-ROWS_UPDATED sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SEC_LOGS_ALLOCATED sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SEC_LOG_USED_TOP sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SELECT_SQL_STMTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SERVER_PLATFORM sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SORT_HEAP_ALLOCATED_SIZE sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SORT_OVERFLOWS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SORT_SHRHEAP_ALLOCATED sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SORT_SHRHEAP_TOP sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-STATIC_SQL_STMTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-STATS_CACHE_SIZE sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-STATS_FABRICATE_TIME sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-STATS_FABRICATIONS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SYNC_RUNSTATS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-SYNC_RUNSTATS_TIME sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-TIME_PERIOD sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-TOTAL_CONS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-TOTAL_HASH_JOINS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-TOTAL_HASH_LOOPS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-TOTAL_LOG_AVAILABLE sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-TOTAL_LOG_USED sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-TOTAL_SEC_CONS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-TOTAL_SORTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-TOTAL_SORT_TIME sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-TOT_LOG_USED_TOP sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-UID_SQL_STMTS sy-vline
WA_/SDF/DB6_700_DBH_STG_DB_STR-X_LOCK_ESCALS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.