ABAP Select data from SAP table /SDF/NEWMONIGLOBAL 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/NEWMONIGLOBAL 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/NEWMONIGLOBAL. 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/NEWMONIGLOBAL 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/NEWMONIGLOBAL TYPE STANDARD TABLE OF /SDF/NEWMONIGLOBAL, WA_/SDF/NEWMONIGLOBAL TYPE /SDF/NEWMONIGLOBAL, 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/NEWMONIGLOBAL> TYPE /SDF/NEWMONIGLOBAL. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_/SDF/NEWMONIGLOBAL. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM /SDF/NEWMONIGLOBAL INTO TABLE IT_/SDF/NEWMONIGLOBAL. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM /SDF/NEWMONIGLOBAL * INTO TABLE @DATA(IT_/SDF/NEWMONIGLOBAL2). *--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/NEWMONIGLOBAL INDEX 1 INTO DATA(WA_/SDF/NEWMONIGLOBAL2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_/SDF/NEWMONIGLOBAL ASSIGNING </SDF/NEWMONIGLOBAL>.*To update a field value using a field symbol simply change the value via the field symbol pointer
</SDF/NEWMONIGLOBAL>-INST_ID = 1.
</SDF/NEWMONIGLOBAL>-INST_NAME = 1.
</SDF/NEWMONIGLOBAL>-RESETDAY = 1.
</SDF/NEWMONIGLOBAL>-RESETTIME = 1.
</SDF/NEWMONIGLOBAL>-STARTDAY = 1.
ENDLOOP. LOOP AT IT_/SDF/NEWMONIGLOBAL INTO WA_/SDF/NEWMONIGLOBAL. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_/SDF/NEWMONIGLOBAL-STARTTIME, sy-vline,
WA_/SDF/NEWMONIGLOBAL-TIMSTRTUP, sy-vline,
WA_/SDF/NEWMONIGLOBAL-ACTUALDAY, sy-vline,
WA_/SDF/NEWMONIGLOBAL-ACTUALTIME, sy-vline,
WA_/SDF/NEWMONIGLOBAL-BUFF_READS_SQL, sy-vline,
WA_/SDF/NEWMONIGLOBAL-DISK_READS_SQL, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/SDF/NEWMONIGLOBAL 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/NEWMONIGLOBAL 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/NEWMONIGLOBAL INTO WA_/SDF/NEWMONIGLOBAL. *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/NEWMONIGLOBAL_STR,
INST_ID TYPE STRING,
INST_NAME TYPE STRING,
RESETDAY TYPE STRING,
RESETTIME TYPE STRING,
STARTDAY TYPE STRING,
STARTTIME TYPE STRING,
TIMSTRTUP TYPE STRING,
ACTUALDAY TYPE STRING,
ACTUALTIME TYPE STRING,
BUFF_READS_SQL TYPE STRING,
DISK_READS_SQL TYPE STRING,
CPU_TIME_SQL TYPE STRING,
ELAP_TIME_SQL TYPE STRING,
WAIT_TIME TYPE STRING,
APPL_W_TIME_SQL TYPE STRING,
APPL_W_TIME_SYS TYPE STRING,
CONC_W_TIME_SQL TYPE STRING,
CONC_W_TIME_SYS TYPE STRING,
CLUST_W_TIME_SQL TYPE STRING,
CLUST_W_TIME_SYS TYPE STRING,
USRIO_W_TIME_SQL TYPE STRING,
USRIO_W_TIME_SYS TYPE STRING,
PLSQLEXC_TIM_SQL TYPE STRING,
BUFF_GETS_SYS TYPE STRING,
PHYS_READS_SYS TYPE STRING,
USER_COMMITS_SYS TYPE STRING,
USER_ROLLB_SYS TYPE STRING,
USER_CALLS_SYS TYPE STRING,
READ_PER_USRCALL TYPE STRING,
RECURS_CALLS_SYS TYPE STRING,
RECURS_CPU_SYS TYPE STRING,
SES_UGA_MEM_MAX TYPE STRING,
SES_PGA_MEM_MAX TYPE STRING,
ENQ_TIMEOUTS TYPE STRING,
ENQ_WAITS TYPE STRING,
ENQ_DEADLOCKS TYPE STRING,
ENQ_REQUEST TYPE STRING,
ENQUEUE_CONV TYPE STRING,
ENQ_RELEASES TYPE STRING,
CONS_GETS TYPE STRING,
CONS_GETS_CACHE TYPE STRING,
CONS_GETS_EXAM TYPE STRING,
CONS_GETS_DIRECT TYPE STRING,
BLOCK_GETS TYPE STRING,
BLOCK_GETS_CACHE TYPE STRING,
BLOCK_GETS_DIR TYPE STRING,
PHYSR_RET_CORUPT TYPE STRING,
PHYSR_DIR_LOB TYPE STRING,
PHYSR_DIR_TEMP TYPE STRING,
PHYSW_DIR_LOB TYPE STRING,
PHYSW_DIR_TEMP TYPE STRING,
REDO_WRITE_TIME TYPE STRING,
REDOW_LATCH_TIME TYPE STRING,
REDO_WRITES TYPE STRING,
WORKA_EXEC_MPASS TYPE STRING,
WORKA_EXEC_OPASS TYPE STRING,
WORKA_EXEC_OPTI TYPE STRING,
WORKA_MEM_ALLOC TYPE STRING,
PARSE_COUNT_FAIL TYPE STRING,
PARSE_COUNT_HARD TYPE STRING,
PARSE_COUNT_TOT TYPE STRING,
PARSE_TIME_CPU TYPE STRING,
PARSE_TIME_ELA TYPE STRING,
RECS_PROCE TYPE STRING,
RECPRO_EXC TYPE STRING,
NUM_EXEC_SQL TYPE STRING,
DL_SOURCE TYPE STRING,
DBA_HIST_B_TS TYPE STRING,
DBA_HIST_E_TS TYPE STRING,
AVG_HARD_PARSE_SQL TYPE STRING,
IO_CELOFL_ELIG_SQL TYPE STRING,
IO_INTCON_BYT_SQL TYPE STRING,
PHYS_READ_REQ TYPE STRING,
PHYS_READ_BYT TYPE STRING,
PHYS_WRITE_REQ TYPE STRING,
PHYS_WRITE_BYT TYPE STRING,
IO_CEL_UNCOMP_BYT TYPE STRING,
IO_CEL_OFL_RET_BYT TYPE STRING,
OPT_PHYS_READS TYPE STRING,
HOST_NAME TYPE STRING,
STATUS TYPE STRING,
ARCHIVER TYPE STRING,
LOG_SW_WAIT TYPE STRING,
SHUTD_PEND TYPE STRING,
DB_STAT TYPE STRING,END OF T_EKKO_STR. DATA: WA_/SDF/NEWMONIGLOBAL_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/NEWMONIGLOBAL_STR-INST_ID sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-INST_NAME sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-RESETDAY sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-RESETTIME sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-STARTDAY sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-STARTTIME sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-TIMSTRTUP sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-ACTUALDAY sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-ACTUALTIME sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-BUFF_READS_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-DISK_READS_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-CPU_TIME_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-ELAP_TIME_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-WAIT_TIME sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-APPL_W_TIME_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-APPL_W_TIME_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-CONC_W_TIME_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-CONC_W_TIME_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-CLUST_W_TIME_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-CLUST_W_TIME_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-USRIO_W_TIME_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-USRIO_W_TIME_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PLSQLEXC_TIM_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-BUFF_GETS_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PHYS_READS_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-USER_COMMITS_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-USER_ROLLB_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-USER_CALLS_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-READ_PER_USRCALL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-RECURS_CALLS_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-RECURS_CPU_SYS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-SES_UGA_MEM_MAX sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-SES_PGA_MEM_MAX sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-ENQ_TIMEOUTS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-ENQ_WAITS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-ENQ_DEADLOCKS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-ENQ_REQUEST sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-ENQUEUE_CONV sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-ENQ_RELEASES sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-CONS_GETS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-CONS_GETS_CACHE sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-CONS_GETS_EXAM sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-CONS_GETS_DIRECT sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-BLOCK_GETS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-BLOCK_GETS_CACHE sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-BLOCK_GETS_DIR sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PHYSR_RET_CORUPT sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PHYSR_DIR_LOB sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PHYSR_DIR_TEMP sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PHYSW_DIR_LOB sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PHYSW_DIR_TEMP sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-REDO_WRITE_TIME sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-REDOW_LATCH_TIME sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-REDO_WRITES sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-WORKA_EXEC_MPASS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-WORKA_EXEC_OPASS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-WORKA_EXEC_OPTI sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-WORKA_MEM_ALLOC sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PARSE_COUNT_FAIL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PARSE_COUNT_HARD sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PARSE_COUNT_TOT sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PARSE_TIME_CPU sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PARSE_TIME_ELA sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-RECS_PROCE sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-RECPRO_EXC sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-NUM_EXEC_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-DL_SOURCE sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-DBA_HIST_B_TS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-DBA_HIST_E_TS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-AVG_HARD_PARSE_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-IO_CELOFL_ELIG_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-IO_INTCON_BYT_SQL sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PHYS_READ_REQ sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PHYS_READ_BYT sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PHYS_WRITE_REQ sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-PHYS_WRITE_BYT sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-IO_CEL_UNCOMP_BYT sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-IO_CEL_OFL_RET_BYT sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-OPT_PHYS_READS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-HOST_NAME sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-STATUS sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-ARCHIVER sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-LOG_SW_WAIT sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-SHUTD_PEND sy-vline
WA_/SDF/NEWMONIGLOBAL_STR-DB_STAT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.