ABAP Select data from SAP table WFABIWZS_DSV 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 WFABIWZS_DSV 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 WFABIWZS_DSV. 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 WFABIWZS_DSV 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_WFABIWZS_DSV TYPE STANDARD TABLE OF WFABIWZS_DSV,
      WA_WFABIWZS_DSV TYPE WFABIWZS_DSV,
      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: <WFABIWZS_DSV> TYPE WFABIWZS_DSV.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM WFABIWZS_DSV
*  INTO TABLE @DATA(IT_WFABIWZS_DSV2).
*--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_WFABIWZS_DSV INDEX 1 INTO DATA(WA_WFABIWZS_DSV2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_WFABIWZS_DSV ASSIGNING <WFABIWZS_DSV>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<WFABIWZS_DSV>-SDATE = 1.
<WFABIWZS_DSV>-DDATE = 1.
<WFABIWZS_DSV>-BP_NAME = 1.
<WFABIWZS_DSV>-OVERALL = 1.
<WFABIWZS_DSV>-DEPT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_WFABIWZS_DSV-WORKAREA, sy-vline,
WA_WFABIWZS_DSV-BPID, sy-vline,
WA_WFABIWZS_DSV-WAID, sy-vline,
WA_WFABIWZS_DSV-Q01, sy-vline,
WA_WFABIWZS_DSV-Q02, sy-vline,
WA_WFABIWZS_DSV-Q03, sy-vline.
ENDLOOP. *Add any further fields from structure WA_WFABIWZS_DSV 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_WFABIWZS_DSV 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_WFABIWZS_DSV INTO WA_WFABIWZS_DSV. *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 BPID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WFABIWZS_DSV-BPID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WFABIWZS_DSV-BPID.
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_WFABIWZS_DSV_STR,
SDATE TYPE STRING,
DDATE TYPE STRING,
BP_NAME TYPE STRING,
OVERALL TYPE STRING,
DEPT TYPE STRING,
WORKAREA TYPE STRING,
BPID TYPE STRING,
WAID TYPE STRING,
Q01 TYPE STRING,
Q02 TYPE STRING,
Q03 TYPE STRING,
Q04 TYPE STRING,
Q05 TYPE STRING,
Q06 TYPE STRING,
Q07 TYPE STRING,
Q08 TYPE STRING,
Q09 TYPE STRING,
Q10 TYPE STRING,
Q11 TYPE STRING,
Q12 TYPE STRING,
Q13 TYPE STRING,
Q14 TYPE STRING,
Q15 TYPE STRING,
Q16 TYPE STRING,
Q17 TYPE STRING,
Q18 TYPE STRING,
Q19 TYPE STRING,
Q20 TYPE STRING,
Q21 TYPE STRING,
Q22 TYPE STRING,
Q23 TYPE STRING,
Q24 TYPE STRING,
Q25 TYPE STRING,
Q26 TYPE STRING,
Q27 TYPE STRING,
Q28 TYPE STRING,
Q29 TYPE STRING,
Q30 TYPE STRING,
Q31 TYPE STRING,
Q32 TYPE STRING,
Q33 TYPE STRING,
Q34 TYPE STRING,
Q35 TYPE STRING,
Q36 TYPE STRING,
Q37 TYPE STRING,
Q38 TYPE STRING,
Q39 TYPE STRING,
Q40 TYPE STRING,
Q41 TYPE STRING,
Q42 TYPE STRING,
Q43 TYPE STRING,
Q44 TYPE STRING,
Q45 TYPE STRING,
Q46 TYPE STRING,
Q47 TYPE STRING,
Q48 TYPE STRING,
Q49 TYPE STRING,
Q50 TYPE STRING,
Q51 TYPE STRING,
Q52 TYPE STRING,
Q53 TYPE STRING,
Q54 TYPE STRING,
Q55 TYPE STRING,
Q56 TYPE STRING,
Q57 TYPE STRING,
Q58 TYPE STRING,
Q59 TYPE STRING,
Q60 TYPE STRING,
Q61 TYPE STRING,
Q62 TYPE STRING,
Q63 TYPE STRING,
Q64 TYPE STRING,
Q65 TYPE STRING,
Q66 TYPE STRING,
Q67 TYPE STRING,
Q68 TYPE STRING,
Q69 TYPE STRING,
Q70 TYPE STRING,
Q71 TYPE STRING,
Q72 TYPE STRING,
Q73 TYPE STRING,
Q74 TYPE STRING,
Q75 TYPE STRING,
Q76 TYPE STRING,
Q77 TYPE STRING,
Q78 TYPE STRING,
Q79 TYPE STRING,
Q80 TYPE STRING,
Q81 TYPE STRING,
Q82 TYPE STRING,
Q83 TYPE STRING,
Q84 TYPE STRING,
Q85 TYPE STRING,
Q86 TYPE STRING,
Q87 TYPE STRING,
Q88 TYPE STRING,
Q89 TYPE STRING,
Q90 TYPE STRING,
Q91 TYPE STRING,
Q92 TYPE STRING,
Q93 TYPE STRING,
Q94 TYPE STRING,
Q95 TYPE STRING,
Q96 TYPE STRING,END OF T_EKKO_STR. DATA: WA_WFABIWZS_DSV_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_WFABIWZS_DSV_STR-SDATE sy-vline
WA_WFABIWZS_DSV_STR-DDATE sy-vline
WA_WFABIWZS_DSV_STR-BP_NAME sy-vline
WA_WFABIWZS_DSV_STR-OVERALL sy-vline
WA_WFABIWZS_DSV_STR-DEPT sy-vline
WA_WFABIWZS_DSV_STR-WORKAREA sy-vline
WA_WFABIWZS_DSV_STR-BPID sy-vline
WA_WFABIWZS_DSV_STR-WAID sy-vline
WA_WFABIWZS_DSV_STR-Q01 sy-vline
WA_WFABIWZS_DSV_STR-Q02 sy-vline
WA_WFABIWZS_DSV_STR-Q03 sy-vline
WA_WFABIWZS_DSV_STR-Q04 sy-vline
WA_WFABIWZS_DSV_STR-Q05 sy-vline
WA_WFABIWZS_DSV_STR-Q06 sy-vline
WA_WFABIWZS_DSV_STR-Q07 sy-vline
WA_WFABIWZS_DSV_STR-Q08 sy-vline
WA_WFABIWZS_DSV_STR-Q09 sy-vline
WA_WFABIWZS_DSV_STR-Q10 sy-vline
WA_WFABIWZS_DSV_STR-Q11 sy-vline
WA_WFABIWZS_DSV_STR-Q12 sy-vline
WA_WFABIWZS_DSV_STR-Q13 sy-vline
WA_WFABIWZS_DSV_STR-Q14 sy-vline
WA_WFABIWZS_DSV_STR-Q15 sy-vline
WA_WFABIWZS_DSV_STR-Q16 sy-vline
WA_WFABIWZS_DSV_STR-Q17 sy-vline
WA_WFABIWZS_DSV_STR-Q18 sy-vline
WA_WFABIWZS_DSV_STR-Q19 sy-vline
WA_WFABIWZS_DSV_STR-Q20 sy-vline
WA_WFABIWZS_DSV_STR-Q21 sy-vline
WA_WFABIWZS_DSV_STR-Q22 sy-vline
WA_WFABIWZS_DSV_STR-Q23 sy-vline
WA_WFABIWZS_DSV_STR-Q24 sy-vline
WA_WFABIWZS_DSV_STR-Q25 sy-vline
WA_WFABIWZS_DSV_STR-Q26 sy-vline
WA_WFABIWZS_DSV_STR-Q27 sy-vline
WA_WFABIWZS_DSV_STR-Q28 sy-vline
WA_WFABIWZS_DSV_STR-Q29 sy-vline
WA_WFABIWZS_DSV_STR-Q30 sy-vline
WA_WFABIWZS_DSV_STR-Q31 sy-vline
WA_WFABIWZS_DSV_STR-Q32 sy-vline
WA_WFABIWZS_DSV_STR-Q33 sy-vline
WA_WFABIWZS_DSV_STR-Q34 sy-vline
WA_WFABIWZS_DSV_STR-Q35 sy-vline
WA_WFABIWZS_DSV_STR-Q36 sy-vline
WA_WFABIWZS_DSV_STR-Q37 sy-vline
WA_WFABIWZS_DSV_STR-Q38 sy-vline
WA_WFABIWZS_DSV_STR-Q39 sy-vline
WA_WFABIWZS_DSV_STR-Q40 sy-vline
WA_WFABIWZS_DSV_STR-Q41 sy-vline
WA_WFABIWZS_DSV_STR-Q42 sy-vline
WA_WFABIWZS_DSV_STR-Q43 sy-vline
WA_WFABIWZS_DSV_STR-Q44 sy-vline
WA_WFABIWZS_DSV_STR-Q45 sy-vline
WA_WFABIWZS_DSV_STR-Q46 sy-vline
WA_WFABIWZS_DSV_STR-Q47 sy-vline
WA_WFABIWZS_DSV_STR-Q48 sy-vline
WA_WFABIWZS_DSV_STR-Q49 sy-vline
WA_WFABIWZS_DSV_STR-Q50 sy-vline
WA_WFABIWZS_DSV_STR-Q51 sy-vline
WA_WFABIWZS_DSV_STR-Q52 sy-vline
WA_WFABIWZS_DSV_STR-Q53 sy-vline
WA_WFABIWZS_DSV_STR-Q54 sy-vline
WA_WFABIWZS_DSV_STR-Q55 sy-vline
WA_WFABIWZS_DSV_STR-Q56 sy-vline
WA_WFABIWZS_DSV_STR-Q57 sy-vline
WA_WFABIWZS_DSV_STR-Q58 sy-vline
WA_WFABIWZS_DSV_STR-Q59 sy-vline
WA_WFABIWZS_DSV_STR-Q60 sy-vline
WA_WFABIWZS_DSV_STR-Q61 sy-vline
WA_WFABIWZS_DSV_STR-Q62 sy-vline
WA_WFABIWZS_DSV_STR-Q63 sy-vline
WA_WFABIWZS_DSV_STR-Q64 sy-vline
WA_WFABIWZS_DSV_STR-Q65 sy-vline
WA_WFABIWZS_DSV_STR-Q66 sy-vline
WA_WFABIWZS_DSV_STR-Q67 sy-vline
WA_WFABIWZS_DSV_STR-Q68 sy-vline
WA_WFABIWZS_DSV_STR-Q69 sy-vline
WA_WFABIWZS_DSV_STR-Q70 sy-vline
WA_WFABIWZS_DSV_STR-Q71 sy-vline
WA_WFABIWZS_DSV_STR-Q72 sy-vline
WA_WFABIWZS_DSV_STR-Q73 sy-vline
WA_WFABIWZS_DSV_STR-Q74 sy-vline
WA_WFABIWZS_DSV_STR-Q75 sy-vline
WA_WFABIWZS_DSV_STR-Q76 sy-vline
WA_WFABIWZS_DSV_STR-Q77 sy-vline
WA_WFABIWZS_DSV_STR-Q78 sy-vline
WA_WFABIWZS_DSV_STR-Q79 sy-vline
WA_WFABIWZS_DSV_STR-Q80 sy-vline
WA_WFABIWZS_DSV_STR-Q81 sy-vline
WA_WFABIWZS_DSV_STR-Q82 sy-vline
WA_WFABIWZS_DSV_STR-Q83 sy-vline
WA_WFABIWZS_DSV_STR-Q84 sy-vline
WA_WFABIWZS_DSV_STR-Q85 sy-vline
WA_WFABIWZS_DSV_STR-Q86 sy-vline
WA_WFABIWZS_DSV_STR-Q87 sy-vline
WA_WFABIWZS_DSV_STR-Q88 sy-vline
WA_WFABIWZS_DSV_STR-Q89 sy-vline
WA_WFABIWZS_DSV_STR-Q90 sy-vline
WA_WFABIWZS_DSV_STR-Q91 sy-vline
WA_WFABIWZS_DSV_STR-Q92 sy-vline
WA_WFABIWZS_DSV_STR-Q93 sy-vline
WA_WFABIWZS_DSV_STR-Q94 sy-vline
WA_WFABIWZS_DSV_STR-Q95 sy-vline
WA_WFABIWZS_DSV_STR-Q96 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.