ABAP Select data from SAP table /MRSS/T_BW_EXTR_ROLE 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 /MRSS/T_BW_EXTR_ROLE 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 /MRSS/T_BW_EXTR_ROLE. 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 /MRSS/T_BW_EXTR_ROLE 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_/MRSS/T_BW_EXTR_ROLE TYPE STANDARD TABLE OF /MRSS/T_BW_EXTR_ROLE,
      WA_/MRSS/T_BW_EXTR_ROLE TYPE /MRSS/T_BW_EXTR_ROLE,
      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: </MRSS/T_BW_EXTR_ROLE> TYPE /MRSS/T_BW_EXTR_ROLE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM /MRSS/T_BW_EXTR_ROLE
*  INTO TABLE @DATA(IT_/MRSS/T_BW_EXTR_ROLE2).
*--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_/MRSS/T_BW_EXTR_ROLE INDEX 1 INTO DATA(WA_/MRSS/T_BW_EXTR_ROLE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_/MRSS/T_BW_EXTR_ROLE ASSIGNING </MRSS/T_BW_EXTR_ROLE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
</MRSS/T_BW_EXTR_ROLE>-GUID = 1.
</MRSS/T_BW_EXTR_ROLE>-AUFNR = 1.
</MRSS/T_BW_EXTR_ROLE>-AUFPL = 1.
</MRSS/T_BW_EXTR_ROLE>-APLZL = 1.
</MRSS/T_BW_EXTR_ROLE>-VORNR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_/MRSS/T_BW_EXTR_ROLE-ANZZL, sy-vline,
WA_/MRSS/T_BW_EXTR_ROLE-NPRIO, sy-vline,
WA_/MRSS/T_BW_EXTR_ROLE-USR10, sy-vline,
WA_/MRSS/T_BW_EXTR_ROLE-USR11, sy-vline,
WA_/MRSS/T_BW_EXTR_ROLE-DAUNO, sy-vline,
WA_/MRSS/T_BW_EXTR_ROLE-DAUNE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/MRSS/T_BW_EXTR_ROLE 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_/MRSS/T_BW_EXTR_ROLE 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_/MRSS/T_BW_EXTR_ROLE INTO WA_/MRSS/T_BW_EXTR_ROLE. *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.

*Conversion exit ALPHA, internal->external for field AUFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_/MRSS/T_BW_EXTR_ROLE-AUFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/MRSS/T_BW_EXTR_ROLE-AUFNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit NUMCV, internal->external for field VORNR CALL FUNCTION 'CONVERSION_EXIT_NUMCV_OUTPUT' EXPORTING input = WA_/MRSS/T_BW_EXTR_ROLE-VORNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/MRSS/T_BW_EXTR_ROLE-VORNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field DAUNE CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/MRSS/T_BW_EXTR_ROLE-DAUNE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/MRSS/T_BW_EXTR_ROLE-DAUNE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field ARBEH CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_/MRSS/T_BW_EXTR_ROLE-ARBEH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/MRSS/T_BW_EXTR_ROLE-ARBEH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field /MRSS/STF_VENDOR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_/MRSS/T_BW_EXTR_ROLE-/MRSS/STF_VENDOR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/MRSS/T_BW_EXTR_ROLE-/MRSS/STF_VENDOR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field USR00 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_/MRSS/T_BW_EXTR_ROLE-USR00 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/MRSS/T_BW_EXTR_ROLE-USR00.
WRITE:/ 'New Value:', ld_input.

*Conversion exit PFKEY, internal->external for field REQ_PROFILE_ID CALL FUNCTION 'CONVERSION_EXIT_PFKEY_OUTPUT' EXPORTING input = WA_/MRSS/T_BW_EXTR_ROLE-REQ_PROFILE_ID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/MRSS/T_BW_EXTR_ROLE-REQ_PROFILE_ID.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_/MRSS/T_BW_EXTR_ROLE_STR,
GUID TYPE STRING,
AUFNR TYPE STRING,
AUFPL TYPE STRING,
APLZL TYPE STRING,
VORNR TYPE STRING,
ANZZL TYPE STRING,
NPRIO TYPE STRING,
USR10 TYPE STRING,
USR11 TYPE STRING,
DAUNO TYPE STRING,
DAUNE TYPE STRING,
FSAVD TYPE STRING,
FSEDD TYPE STRING,
ARBEI TYPE STRING,
ARBEH TYPE STRING,
/MRSS/NUMBER_DAY TYPE STRING,
/MRSS/RSN_CLOSE TYPE STRING,
/MRSS/STF_VENDOR TYPE STRING,
/MRSS/STF_LOB TYPE STRING,
/MRSS/PART_TIME TYPE STRING,
/MRSS/SAPCONTACT TYPE STRING,
/MRSS/IMMEDIATE TYPE STRING,
USR08 TYPE STRING,
/MRSS/LOCATION TYPE STRING,
/MRSS/STATE TYPE STRING,
/MRSS/PROJ_CTRY TYPE STRING,
/MRSS/REMOTE TYPE STRING,
/MRSS/ROLE_TYPE TYPE STRING,
/MRSS/PRESALES TYPE STRING,
/MRSS/PROJ_PHASE TYPE STRING,
/MRSS/LANGUAGE TYPE STRING,
USR06 TYPE STRING,
USE06 TYPE STRING,
/MRSS/ESCALATION TYPE STRING,
/MRSS/CONTR_SIGN TYPE STRING,
USR00 TYPE STRING,
/MRSS/BILL_O_TYP TYPE STRING,
/MRSS/THIRD_PTY TYPE STRING,
USR01 TYPE STRING,
/MRSS/REQ_OWNER TYPE STRING,
/MRSS/HARD_FILL TYPE STRING,
/MRSS/SYS_INFO TYPE STRING,
RM_SYSTEM TYPE STRING,
/MRSS/SLA_EXC TYPE STRING,
/MRSS/PLTM_REQ TYPE STRING,
USR07 TYPE STRING,
USE07 TYPE STRING,
/MRSS/BILL_UNIT TYPE STRING,
/MRSS/CAND_SUMRY TYPE STRING,
/MRSS/KRATE TYPE STRING,
/MRSS/RM_ORD_PRB TYPE STRING,
/MRSS/PUBLISH_EX TYPE STRING,
/MRSS/ASSIGN_TYP TYPE STRING,
/MRSS/PROJ_ACTIV TYPE STRING,
REQ_PROFILE_GUID TYPE STRING,
REQ_PROFILE_ID TYPE STRING,
JOB_TEXT_ID TYPE STRING,
PLATINUM_CONS TYPE STRING,
POSSIBLE_LANG TYPE STRING,
ROLVALIDDAT TYPE STRING,
ROLSTATUS TYPE STRING,
ROLSTADAT TYPE STRING,
ROL1STPRO TYPE STRING,
ROLCLODAT TYPE STRING,
VENCOUNTR TYPE STRING,
VENREGION TYPE STRING,
VENCITY TYPE STRING,
VENPURORG TYPE STRING,
ROLCREDAT TYPE STRING,
/MRSS/CREATED_BY TYPE STRING,
SEARCH_PARTY_ID TYPE STRING,
/MRSS/ROLE_ROGRP TYPE STRING,
SOURCE_ORG TYPE STRING,
OBJNR TYPE STRING,END OF T_EKKO_STR. DATA: WA_/MRSS/T_BW_EXTR_ROLE_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_/MRSS/T_BW_EXTR_ROLE_STR-GUID sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-AUFNR sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-AUFPL sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-APLZL sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-VORNR sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-ANZZL sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-NPRIO sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-USR10 sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-USR11 sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-DAUNO sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-DAUNE sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-FSAVD sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-FSEDD sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-ARBEI sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-ARBEH sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/NUMBER_DAY sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/RSN_CLOSE sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/STF_VENDOR sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/STF_LOB sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/PART_TIME sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/SAPCONTACT sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/IMMEDIATE sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-USR08 sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/LOCATION sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/STATE sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/PROJ_CTRY sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/REMOTE sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/ROLE_TYPE sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/PRESALES sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/PROJ_PHASE sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/LANGUAGE sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-USR06 sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-USE06 sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/ESCALATION sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/CONTR_SIGN sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-USR00 sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/BILL_O_TYP sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/THIRD_PTY sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-USR01 sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/REQ_OWNER sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/HARD_FILL sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/SYS_INFO sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-RM_SYSTEM sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/SLA_EXC sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/PLTM_REQ sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-USR07 sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-USE07 sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/BILL_UNIT sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/CAND_SUMRY sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/KRATE sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/RM_ORD_PRB sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/PUBLISH_EX sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/ASSIGN_TYP sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/PROJ_ACTIV sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-REQ_PROFILE_GUID sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-REQ_PROFILE_ID sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-JOB_TEXT_ID sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-PLATINUM_CONS sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-POSSIBLE_LANG sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-ROLVALIDDAT sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-ROLSTATUS sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-ROLSTADAT sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-ROL1STPRO sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-ROLCLODAT sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-VENCOUNTR sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-VENREGION sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-VENCITY sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-VENPURORG sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-ROLCREDAT sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/CREATED_BY sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-SEARCH_PARTY_ID sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-/MRSS/ROLE_ROGRP sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-SOURCE_ORG sy-vline
WA_/MRSS/T_BW_EXTR_ROLE_STR-OBJNR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.