ABAP Select data from SAP table V_T5CS1 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 V_T5CS1 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 V_T5CS1. 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 V_T5CS1 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_V_T5CS1 TYPE STANDARD TABLE OF V_T5CS1,
      WA_V_T5CS1 TYPE V_T5CS1,
      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: <V_T5CS1> TYPE V_T5CS1.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM V_T5CS1
*  INTO TABLE @DATA(IT_V_T5CS12).
*--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_V_T5CS1 INDEX 1 INTO DATA(WA_V_T5CS12).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_V_T5CS1 ASSIGNING <V_T5CS1>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<V_T5CS1>-MANDT = 1.
<V_T5CS1>-ANWSCHLCH = 1.
<V_T5CS1>-ANWSCHL = 1.
<V_T5CS1>-MOSV = 1.
<V_T5CS1>-ENDDA = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_V_T5CS1-BEGDA, sy-vline,
WA_V_T5CS1-ROUT1, sy-vline,
WA_V_T5CS1-ROUT2, sy-vline,
WA_V_T5CS1-ROUT3, sy-vline,
WA_V_T5CS1-PGMNA, sy-vline,
WA_V_T5CS1-BASIS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_V_T5CS1 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_V_T5CS1 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_V_T5CS1 INTO WA_V_T5CS1. *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_V_T5CS1_STR,
MANDT TYPE STRING,
ANWSCHLCH TYPE STRING,
ANWSCHL TYPE STRING,
MOSV TYPE STRING,
ENDDA TYPE STRING,
BEGDA TYPE STRING,
ROUT1 TYPE STRING,
ROUT2 TYPE STRING,
ROUT3 TYPE STRING,
PGMNA TYPE STRING,
BASIS TYPE STRING,
GES_JAHR TYPE STRING,
GES_CRT TYPE STRING,
PFL_PER TYPE STRING,
PFL_JAHR TYPE STRING,
BAS_JAHR TYPE STRING,
FREI_PER TYPE STRING,
HLOHN_JAHR TYPE STRING,
HLOHN_PER TYPE STRING,
HLOHN_U_JH TYPE STRING,
HLOHN_U_PE TYPE STRING,
PR_AN TYPE STRING,
PR_AG TYPE STRING,
FR_AHV_NE TYPE STRING,
HLOHN_LUFT TYPE STRING,
BEITR_AN TYPE STRING,
BEITR_AG TYPE STRING,
PR_AN_KUM TYPE STRING,
PR_AG_KUM TYPE STRING,
ZUAB_BAS TYPE STRING,
ZUAB_ZU TYPE STRING,
ZUAB_AB TYPE STRING,
AUFR_KUM TYPE STRING,
ANWTEXTCH TYPE STRING,
ANWTEXT TYPE STRING,
BEREICH TYPE STRING,
NETTO_RESET TYPE STRING,
GES_JAHR2 TYPE STRING,
PFL_PER2 TYPE STRING,
PFL_JAHR2 TYPE STRING,
BAS_JAHR2 TYPE STRING,
HLOHN_JAHR2 TYPE STRING,
HLOHN_LUFT2 TYPE STRING,
PR_AN2 TYPE STRING,
PR_AG2 TYPE STRING,END OF T_EKKO_STR. DATA: WA_V_T5CS1_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_V_T5CS1_STR-MANDT sy-vline
WA_V_T5CS1_STR-ANWSCHLCH sy-vline
WA_V_T5CS1_STR-ANWSCHL sy-vline
WA_V_T5CS1_STR-MOSV sy-vline
WA_V_T5CS1_STR-ENDDA sy-vline
WA_V_T5CS1_STR-BEGDA sy-vline
WA_V_T5CS1_STR-ROUT1 sy-vline
WA_V_T5CS1_STR-ROUT2 sy-vline
WA_V_T5CS1_STR-ROUT3 sy-vline
WA_V_T5CS1_STR-PGMNA sy-vline
WA_V_T5CS1_STR-BASIS sy-vline
WA_V_T5CS1_STR-GES_JAHR sy-vline
WA_V_T5CS1_STR-GES_CRT sy-vline
WA_V_T5CS1_STR-PFL_PER sy-vline
WA_V_T5CS1_STR-PFL_JAHR sy-vline
WA_V_T5CS1_STR-BAS_JAHR sy-vline
WA_V_T5CS1_STR-FREI_PER sy-vline
WA_V_T5CS1_STR-HLOHN_JAHR sy-vline
WA_V_T5CS1_STR-HLOHN_PER sy-vline
WA_V_T5CS1_STR-HLOHN_U_JH sy-vline
WA_V_T5CS1_STR-HLOHN_U_PE sy-vline
WA_V_T5CS1_STR-PR_AN sy-vline
WA_V_T5CS1_STR-PR_AG sy-vline
WA_V_T5CS1_STR-FR_AHV_NE sy-vline
WA_V_T5CS1_STR-HLOHN_LUFT sy-vline
WA_V_T5CS1_STR-BEITR_AN sy-vline
WA_V_T5CS1_STR-BEITR_AG sy-vline
WA_V_T5CS1_STR-PR_AN_KUM sy-vline
WA_V_T5CS1_STR-PR_AG_KUM sy-vline
WA_V_T5CS1_STR-ZUAB_BAS sy-vline
WA_V_T5CS1_STR-ZUAB_ZU sy-vline
WA_V_T5CS1_STR-ZUAB_AB sy-vline
WA_V_T5CS1_STR-AUFR_KUM sy-vline
WA_V_T5CS1_STR-ANWTEXTCH sy-vline
WA_V_T5CS1_STR-ANWTEXT sy-vline
WA_V_T5CS1_STR-BEREICH sy-vline
WA_V_T5CS1_STR-NETTO_RESET sy-vline
WA_V_T5CS1_STR-GES_JAHR2 sy-vline
WA_V_T5CS1_STR-PFL_PER2 sy-vline
WA_V_T5CS1_STR-PFL_JAHR2 sy-vline
WA_V_T5CS1_STR-BAS_JAHR2 sy-vline
WA_V_T5CS1_STR-HLOHN_JAHR2 sy-vline
WA_V_T5CS1_STR-HLOHN_LUFT2 sy-vline
WA_V_T5CS1_STR-PR_AN2 sy-vline
WA_V_T5CS1_STR-PR_AG2 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.