ABAP Select data from SAP table WRF_ATTRIBUTE_INTERFACE_STY 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 WRF_ATTRIBUTE_INTERFACE_STY 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 WRF_ATTRIBUTE_INTERFACE_STY. 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 WRF_ATTRIBUTE_INTERFACE_STY 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_WRF_ATTRIBUTE_INTERFACE_STY TYPE STANDARD TABLE OF WRF_ATTRIBUTE_INTERFACE_STY,
      WA_WRF_ATTRIBUTE_INTERFACE_STY TYPE WRF_ATTRIBUTE_INTERFACE_STY,
      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: <WRF_ATTRIBUTE_INTERFACE_STY> TYPE WRF_ATTRIBUTE_INTERFACE_STY.

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

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM WRF_ATTRIBUTE_INTERFACE_STY
  INTO TABLE IT_WRF_ATTRIBUTE_INTERFACE_STY.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM WRF_ATTRIBUTE_INTERFACE_STY
*  INTO TABLE @DATA(IT_WRF_ATTRIBUTE_INTERFACE_STY2).
*--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_WRF_ATTRIBUTE_INTERFACE_STY INDEX 1 INTO DATA(WA_WRF_ATTRIBUTE_INTERFACE_STY2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_WRF_ATTRIBUTE_INTERFACE_STY ASSIGNING <WRF_ATTRIBUTE_INTERFACE_STY>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<WRF_ATTRIBUTE_INTERFACE_STY>-CONTROL = 1.
<WRF_ATTRIBUTE_INTERFACE_STY>-SCREEN = 1.
<WRF_ATTRIBUTE_INTERFACE_STY>-LINES_OF_WINDOW = 1.
<WRF_ATTRIBUTE_INTERFACE_STY>-STEPL = 1.
<WRF_ATTRIBUTE_INTERFACE_STY>-OK_CODE = 1.
ENDLOOP.

LOOP AT IT_WRF_ATTRIBUTE_INTERFACE_STY INTO WA_WRF_ATTRIBUTE_INTERFACE_STY.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_WRF_ATTRIBUTE_INTERFACE_STY-CONFIRM_ANSWER, sy-vline,
WA_WRF_ATTRIBUTE_INTERFACE_STY-REF_MODULE_ITEM, sy-vline,
WA_WRF_ATTRIBUTE_INTERFACE_STY-CURSOR_FIELD, sy-vline,
WA_WRF_ATTRIBUTE_INTERFACE_STY-CURSOR_LINE, sy-vline,
WA_WRF_ATTRIBUTE_INTERFACE_STY-WERKS, sy-vline,
WA_WRF_ATTRIBUTE_INTERFACE_STY-PAI_TC_CALL_NUMBER, sy-vline.
ENDLOOP. *Add any further fields from structure WA_WRF_ATTRIBUTE_INTERFACE_STY 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_WRF_ATTRIBUTE_INTERFACE_STY 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_WRF_ATTRIBUTE_INTERFACE_STY INTO WA_WRF_ATTRIBUTE_INTERFACE_STY. *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 MATN1, internal->external for field MATNR CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_WRF_ATTRIBUTE_INTERFACE_STY-MATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WRF_ATTRIBUTE_INTERFACE_STY-MATNR.
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_WRF_ATTRIBUTE_INTERFACE_STY_STR,
CONTROL TYPE STRING,
SCREEN TYPE STRING,
LINES_OF_WINDOW TYPE STRING,
STEPL TYPE STRING,
OK_CODE TYPE STRING,
CONFIRM_ANSWER TYPE STRING,
REF_MODULE_ITEM TYPE STRING,
CURSOR_FIELD TYPE STRING,
CURSOR_LINE TYPE STRING,
WERKS TYPE STRING,
PAI_TC_CALL_NUMBER TYPE STRING,
PAI_FIELD_CALL_NUMBER TYPE STRING,
F4_FIELDVAL TYPE STRING,
POINT_OF_TIME TYPE STRING,
UCOMM_AT_PAI_START TYPE STRING,
UCOMM TYPE STRING,
ATTRIBUTE_ITEM TYPE STRING,
MAINTAIN_ATTRIBUTES TYPE STRING,
HEAD_RFS_PRG TYPE STRING,
REF_SCHEMA TYPE STRING,
TEXT TYPE STRING,
ITEM_ATTR_PRG TYPE STRING,
MANDT TYPE STRING,
REF_SCHEMA TYPE STRING,
ATTRIBUTE_ITEM TYPE STRING,
ATTRIBUTE_TYPE TYPE STRING,
FIELDNAME TYPE STRING,
WEIGHTING_FACTOR TYPE STRING,
DESCRIPTION TYPE STRING,
RANGE TYPE STRING,
TRESHOLD TYPE STRING,
SELECTED TYPE STRING,
RFS_PRG TYPE STRING,
MANDT TYPE STRING,
REF_SCHEMA TYPE STRING,
REF_FIND_TYPE TYPE STRING,
TREE_LEVEL TYPE STRING,
FACTOR TYPE STRING,
VALIDITY_RANGE TYPE STRING,
HIST_BASE_FILTER TYPE STRING,
EXCLUSION_RANGE TYPE STRING,
INACTIVITY_RANGE TYPE STRING,
NEW_COMP_RANGE TYPE STRING,
CHECK_RELEVANCE TYPE STRING,
RANGE TYPE STRING,
THRESHOLD TYPE STRING,
REF_FIND_TYPE_TEXT TYPE STRING,
STATUS TYPE STRING,
SCREEN TYPE STRING,
SUBSCREEN TYPE STRING,
ACTION TYPE STRING,
AUTH01 TYPE STRING,
AUTH02 TYPE STRING,
AUTH03 TYPE STRING,
AUTH06 TYPE STRING,
LOG_FILLED TYPE STRING,
BADI_ACT_IMPL_EXISTING TYPE STRING,
NEXT_STEP TYPE STRING,
FCODE_COMPLETED TYPE STRING,
CALL_POPUP TYPE STRING,
LEAVE_SCREEN TYPE STRING,
CALL_CONFIRM_POPUP TYPE STRING,
DIAGNOSE_OBJECT TYPE STRING,
DISPLAY_CANCEL_BUTTON TYPE STRING,
CURSOR_FIELD TYPE STRING,
NEXT_FCODE TYPE STRING,
CALL_F4_HELP TYPE STRING,
F4_TABNAME TYPE STRING,
F4_FIELDNAME TYPE STRING,
CALL_SCREEN TYPE STRING,
TITLE_NUMBER TYPE STRING,
QUESTION_NUMBER TYPE STRING,
CURSOR_LINE TYPE STRING,
T_SPAR TYPE STRING,
TC_210 TYPE STRING,
LINES TYPE STRING,
LINES_OF_WINDOW TYPE STRING,
TOP_LINE TYPE STRING,
CURRENT_LINE TYPE STRING,
FIELD_NAME TYPE STRING,
MESSAGE TYPE STRING,
MSGTY TYPE STRING,
MSGID TYPE STRING,
MSGNO TYPE STRING,
MSGV1 TYPE STRING,
MSGV2 TYPE STRING,
MSGV3 TYPE STRING,
MSGV4 TYPE STRING,
MSGV1_SRC TYPE STRING,
MSGV2_SRC TYPE STRING,
MSGV3_SRC TYPE STRING,
MSGV4_SRC TYPE STRING,
DETLEVEL TYPE STRING,
PROBCLASS TYPE STRING,
ALSORT TYPE STRING,
TIME_STMP TYPE STRING,
MSG_COUNT TYPE STRING,
CONTEXT TYPE STRING,
TABNAME TYPE STRING,
VALUE TYPE STRING,
PARAMS TYPE STRING,
T_PAR TYPE STRING,
CALLBACK TYPE STRING,
USEREXITP TYPE STRING,
USEREXITF TYPE STRING,
USEREXITT TYPE STRING,
ALTEXT TYPE STRING,
CALLER_EXIT TYPE STRING,
DISPLAY_LIKE_MSGTY TYPE STRING,
TASKNUM TYPE STRING,
WERKS TYPE STRING,
MATNR TYPE STRING,
COMMIT_DONE TYPE STRING,
T_LOG TYPE STRING,
ERROR TYPE STRING,END OF T_EKKO_STR. DATA: WA_WRF_ATTRIBUTE_INTERFACE_STY_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_WRF_ATTRIBUTE_INTERFACE_STY_STR-CONTROL sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-SCREEN sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-LINES_OF_WINDOW sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-STEPL sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-OK_CODE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CONFIRM_ANSWER sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-REF_MODULE_ITEM sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CURSOR_FIELD sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CURSOR_LINE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-WERKS sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-PAI_TC_CALL_NUMBER sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-PAI_FIELD_CALL_NUMBER sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-F4_FIELDVAL sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-POINT_OF_TIME sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-UCOMM_AT_PAI_START sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-UCOMM sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-ATTRIBUTE_ITEM sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MAINTAIN_ATTRIBUTES sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-HEAD_RFS_PRG sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-REF_SCHEMA sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-TEXT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-ITEM_ATTR_PRG sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MANDT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-REF_SCHEMA sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-ATTRIBUTE_ITEM sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-ATTRIBUTE_TYPE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-FIELDNAME sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-WEIGHTING_FACTOR sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-DESCRIPTION sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-RANGE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-TRESHOLD sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-SELECTED sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-RFS_PRG sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MANDT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-REF_SCHEMA sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-REF_FIND_TYPE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-TREE_LEVEL sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-FACTOR sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-VALIDITY_RANGE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-HIST_BASE_FILTER sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-EXCLUSION_RANGE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-INACTIVITY_RANGE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-NEW_COMP_RANGE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CHECK_RELEVANCE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-RANGE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-THRESHOLD sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-REF_FIND_TYPE_TEXT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-STATUS sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-SCREEN sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-SUBSCREEN sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-ACTION sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-AUTH01 sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-AUTH02 sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-AUTH03 sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-AUTH06 sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-LOG_FILLED sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-BADI_ACT_IMPL_EXISTING sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-NEXT_STEP sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-FCODE_COMPLETED sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CALL_POPUP sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-LEAVE_SCREEN sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CALL_CONFIRM_POPUP sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-DIAGNOSE_OBJECT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-DISPLAY_CANCEL_BUTTON sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CURSOR_FIELD sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-NEXT_FCODE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CALL_F4_HELP sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-F4_TABNAME sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-F4_FIELDNAME sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CALL_SCREEN sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-TITLE_NUMBER sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-QUESTION_NUMBER sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CURSOR_LINE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-T_SPAR sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-TC_210 sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-LINES sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-LINES_OF_WINDOW sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-TOP_LINE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CURRENT_LINE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-FIELD_NAME sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MESSAGE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGTY sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGID sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGNO sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGV1 sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGV2 sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGV3 sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGV4 sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGV1_SRC sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGV2_SRC sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGV3_SRC sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSGV4_SRC sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-DETLEVEL sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-PROBCLASS sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-ALSORT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-TIME_STMP sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MSG_COUNT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CONTEXT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-TABNAME sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-VALUE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-PARAMS sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-T_PAR sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CALLBACK sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-USEREXITP sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-USEREXITF sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-USEREXITT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-ALTEXT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-CALLER_EXIT sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-DISPLAY_LIKE_MSGTY sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-TASKNUM sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-WERKS sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-MATNR sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-COMMIT_DONE sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-T_LOG sy-vline
WA_WRF_ATTRIBUTE_INTERFACE_STY_STR-ERROR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.