ABAP Select data from SAP table T7ROG7 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 T7ROG7 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 T7ROG7. 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 T7ROG7 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_T7ROG7 TYPE STANDARD TABLE OF T7ROG7, WA_T7ROG7 TYPE T7ROG7, 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: <T7ROG7> TYPE T7ROG7. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_T7ROG7. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM T7ROG7 INTO TABLE IT_T7ROG7. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM T7ROG7 * INTO TABLE @DATA(IT_T7ROG72). *--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_T7ROG7 INDEX 1 INTO DATA(WA_T7ROG72). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_T7ROG7 ASSIGNING <T7ROG7>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<T7ROG7>-MANDT = 1.
<T7ROG7>-LAUFD = 1.
<T7ROG7>-LAUFI = 1.
<T7ROG7>-PERNR = 1.
<T7ROG7>-PERSON = 1.
ENDLOOP. LOOP AT IT_T7ROG7 INTO WA_T7ROG7. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_T7ROG7-BEGDA, sy-vline,
WA_T7ROG7-ENDDA, sy-vline,
WA_T7ROG7-VARGU, sy-vline,
WA_T7ROG7-ID, sy-vline,
WA_T7ROG7-EEID, sy-vline,
WA_T7ROG7-CORID, sy-vline.
ENDLOOP. *Add any further fields from structure WA_T7ROG7 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_T7ROG7 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_T7ROG7 INTO WA_T7ROG7. *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_T7ROG7_STR,
MANDT TYPE STRING,
LAUFD TYPE STRING,
LAUFI TYPE STRING,
PERNR TYPE STRING,
PERSON TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
VARGU TYPE STRING,
ID TYPE STRING,
EEID TYPE STRING,
CORID TYPE STRING,
REVIS TYPE STRING,
DURID TYPE STRING,
UTIL TYPE STRING,
TIPID TYPE STRING,
CNUMBER TYPE STRING,
CNUMBEROLD TYPE STRING,
ITMNUMBER TYPE STRING,
CSIGD TYPE STRING,
CSIGDOLD TYPE STRING,
CBEGDA TYPE STRING,
CENDDA TYPE STRING,
LREASON TYPE STRING,
LDATE TYPE STRING,
LTEXT TYPE STRING,
ETEXT TYPE STRING,
LCODE TYPE STRING,
MODIFM TYPE STRING,
STAT2 TYPE STRING,
MODIFM_TEXT TYPE STRING,
BPAY TYPE STRING,
NORMA TYPE STRING,
WKDIV TYPE STRING,
WKINT TYPE STRING,
PARTTI TYPE STRING,
STAT TYPE STRING,
REACTD TYPE STRING,
TRBEGD TYPE STRING,
TRPEND TYPE STRING,
TRENDD TYPE STRING,
TRNAME TYPE STRING,
TRECUI TYPE STRING,
TRLAND TYPE STRING,
PRESTAT TYPE STRING,
PREECUI TYPE STRING,
PRENAME TYPE STRING,
PREBEGD TYPE STRING,
PREENDD TYPE STRING,
PREPEND TYPE STRING,
PRELAND TYPE STRING,
SUSBEG TYPE STRING,
SUSEND TYPE STRING,
PRELTEXT TYPE STRING,
DURATA TYPE STRING,
INABEG TYPE STRING,
INAEND TYPE STRING,
REORCUI TYPE STRING,
REORNAME TYPE STRING,
REORDATE TYPE STRING,
REORTYPE TYPE STRING,
DELETED TYPE STRING,
OPER TYPE STRING,END OF T_EKKO_STR. DATA: WA_T7ROG7_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_T7ROG7_STR-MANDT sy-vline
WA_T7ROG7_STR-LAUFD sy-vline
WA_T7ROG7_STR-LAUFI sy-vline
WA_T7ROG7_STR-PERNR sy-vline
WA_T7ROG7_STR-PERSON sy-vline
WA_T7ROG7_STR-BEGDA sy-vline
WA_T7ROG7_STR-ENDDA sy-vline
WA_T7ROG7_STR-VARGU sy-vline
WA_T7ROG7_STR-ID sy-vline
WA_T7ROG7_STR-EEID sy-vline
WA_T7ROG7_STR-CORID sy-vline
WA_T7ROG7_STR-REVIS sy-vline
WA_T7ROG7_STR-DURID sy-vline
WA_T7ROG7_STR-UTIL sy-vline
WA_T7ROG7_STR-TIPID sy-vline
WA_T7ROG7_STR-CNUMBER sy-vline
WA_T7ROG7_STR-CNUMBEROLD sy-vline
WA_T7ROG7_STR-ITMNUMBER sy-vline
WA_T7ROG7_STR-CSIGD sy-vline
WA_T7ROG7_STR-CSIGDOLD sy-vline
WA_T7ROG7_STR-CBEGDA sy-vline
WA_T7ROG7_STR-CENDDA sy-vline
WA_T7ROG7_STR-LREASON sy-vline
WA_T7ROG7_STR-LDATE sy-vline
WA_T7ROG7_STR-LTEXT sy-vline
WA_T7ROG7_STR-ETEXT sy-vline
WA_T7ROG7_STR-LCODE sy-vline
WA_T7ROG7_STR-MODIFM sy-vline
WA_T7ROG7_STR-STAT2 sy-vline
WA_T7ROG7_STR-MODIFM_TEXT sy-vline
WA_T7ROG7_STR-BPAY sy-vline
WA_T7ROG7_STR-NORMA sy-vline
WA_T7ROG7_STR-WKDIV sy-vline
WA_T7ROG7_STR-WKINT sy-vline
WA_T7ROG7_STR-PARTTI sy-vline
WA_T7ROG7_STR-STAT sy-vline
WA_T7ROG7_STR-REACTD sy-vline
WA_T7ROG7_STR-TRBEGD sy-vline
WA_T7ROG7_STR-TRPEND sy-vline
WA_T7ROG7_STR-TRENDD sy-vline
WA_T7ROG7_STR-TRNAME sy-vline
WA_T7ROG7_STR-TRECUI sy-vline
WA_T7ROG7_STR-TRLAND sy-vline
WA_T7ROG7_STR-PRESTAT sy-vline
WA_T7ROG7_STR-PREECUI sy-vline
WA_T7ROG7_STR-PRENAME sy-vline
WA_T7ROG7_STR-PREBEGD sy-vline
WA_T7ROG7_STR-PREENDD sy-vline
WA_T7ROG7_STR-PREPEND sy-vline
WA_T7ROG7_STR-PRELAND sy-vline
WA_T7ROG7_STR-SUSBEG sy-vline
WA_T7ROG7_STR-SUSEND sy-vline
WA_T7ROG7_STR-PRELTEXT sy-vline
WA_T7ROG7_STR-DURATA sy-vline
WA_T7ROG7_STR-INABEG sy-vline
WA_T7ROG7_STR-INAEND sy-vline
WA_T7ROG7_STR-REORCUI sy-vline
WA_T7ROG7_STR-REORNAME sy-vline
WA_T7ROG7_STR-REORDATE sy-vline
WA_T7ROG7_STR-REORTYPE sy-vline
WA_T7ROG7_STR-DELETED sy-vline
WA_T7ROG7_STR-OPER sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.