ABAP Select data from SAP table V_T549X 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_T549X 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_T549X. 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_T549X 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_T549X TYPE STANDARD TABLE OF V_T549X,
      WA_V_T549X TYPE V_T549X,
      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_T549X> TYPE V_T549X.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM V_T549X
*  INTO TABLE @DATA(IT_V_T549X2).
*--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_T549X INDEX 1 INTO DATA(WA_V_T549X2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_V_T549X ASSIGNING <V_T549X>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<V_T549X>-MANDT = 1.
<V_T549X>-MODEL = 1.
<V_T549X>-PABRJ = 1.
<V_T549X>-DATMO = 1.
<V_T549X>-LTEXT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_V_T549X-PERMO, sy-vline,
WA_V_T549X-ATEXT, sy-vline,
WA_V_T549X-PPERM, sy-vline,
WA_V_T549X-LTEX1, sy-vline,
WA_V_T549X-ENDRJ, sy-vline,
WA_V_T549X-PER01, sy-vline.
ENDLOOP. *Add any further fields from structure WA_V_T549X 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_T549X 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_T549X INTO WA_V_T549X. *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 GJAHR, internal->external for field PABRJ CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_V_T549X-PABRJ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_T549X-PABRJ.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field ENDRJ CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_V_T549X-ENDRJ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_V_T549X-ENDRJ.
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_V_T549X_STR,
MANDT TYPE STRING,
MODEL TYPE STRING,
PABRJ TYPE STRING,
DATMO TYPE STRING,
LTEXT TYPE STRING,
PERMO TYPE STRING,
ATEXT TYPE STRING,
PPERM TYPE STRING,
LTEX1 TYPE STRING,
ENDRJ TYPE STRING,
PER01 TYPE STRING,
PER02 TYPE STRING,
PER03 TYPE STRING,
PER04 TYPE STRING,
PER05 TYPE STRING,
PER06 TYPE STRING,
PER07 TYPE STRING,
PER08 TYPE STRING,
PER09 TYPE STRING,
PER10 TYPE STRING,
PER11 TYPE STRING,
PER12 TYPE STRING,
PER13 TYPE STRING,
PER14 TYPE STRING,
PER15 TYPE STRING,
PER16 TYPE STRING,
PER17 TYPE STRING,
PER18 TYPE STRING,
PER19 TYPE STRING,
PER20 TYPE STRING,
PER21 TYPE STRING,
PER22 TYPE STRING,
PER23 TYPE STRING,
PER24 TYPE STRING,
PER25 TYPE STRING,
PER26 TYPE STRING,
PER27 TYPE STRING,
PER28 TYPE STRING,
PER29 TYPE STRING,
PER30 TYPE STRING,
PER31 TYPE STRING,
PER32 TYPE STRING,
PER33 TYPE STRING,
PER34 TYPE STRING,
PER35 TYPE STRING,
PER36 TYPE STRING,
PER37 TYPE STRING,
PER38 TYPE STRING,
PER39 TYPE STRING,
PER40 TYPE STRING,
PER41 TYPE STRING,
PER42 TYPE STRING,
PER43 TYPE STRING,
PER44 TYPE STRING,
PER45 TYPE STRING,
PER46 TYPE STRING,
PER47 TYPE STRING,
PER48 TYPE STRING,
PER49 TYPE STRING,
PER50 TYPE STRING,
PER51 TYPE STRING,
PER52 TYPE STRING,
PER53 TYPE STRING,END OF T_EKKO_STR. DATA: WA_V_T549X_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_T549X_STR-MANDT sy-vline
WA_V_T549X_STR-MODEL sy-vline
WA_V_T549X_STR-PABRJ sy-vline
WA_V_T549X_STR-DATMO sy-vline
WA_V_T549X_STR-LTEXT sy-vline
WA_V_T549X_STR-PERMO sy-vline
WA_V_T549X_STR-ATEXT sy-vline
WA_V_T549X_STR-PPERM sy-vline
WA_V_T549X_STR-LTEX1 sy-vline
WA_V_T549X_STR-ENDRJ sy-vline
WA_V_T549X_STR-PER01 sy-vline
WA_V_T549X_STR-PER02 sy-vline
WA_V_T549X_STR-PER03 sy-vline
WA_V_T549X_STR-PER04 sy-vline
WA_V_T549X_STR-PER05 sy-vline
WA_V_T549X_STR-PER06 sy-vline
WA_V_T549X_STR-PER07 sy-vline
WA_V_T549X_STR-PER08 sy-vline
WA_V_T549X_STR-PER09 sy-vline
WA_V_T549X_STR-PER10 sy-vline
WA_V_T549X_STR-PER11 sy-vline
WA_V_T549X_STR-PER12 sy-vline
WA_V_T549X_STR-PER13 sy-vline
WA_V_T549X_STR-PER14 sy-vline
WA_V_T549X_STR-PER15 sy-vline
WA_V_T549X_STR-PER16 sy-vline
WA_V_T549X_STR-PER17 sy-vline
WA_V_T549X_STR-PER18 sy-vline
WA_V_T549X_STR-PER19 sy-vline
WA_V_T549X_STR-PER20 sy-vline
WA_V_T549X_STR-PER21 sy-vline
WA_V_T549X_STR-PER22 sy-vline
WA_V_T549X_STR-PER23 sy-vline
WA_V_T549X_STR-PER24 sy-vline
WA_V_T549X_STR-PER25 sy-vline
WA_V_T549X_STR-PER26 sy-vline
WA_V_T549X_STR-PER27 sy-vline
WA_V_T549X_STR-PER28 sy-vline
WA_V_T549X_STR-PER29 sy-vline
WA_V_T549X_STR-PER30 sy-vline
WA_V_T549X_STR-PER31 sy-vline
WA_V_T549X_STR-PER32 sy-vline
WA_V_T549X_STR-PER33 sy-vline
WA_V_T549X_STR-PER34 sy-vline
WA_V_T549X_STR-PER35 sy-vline
WA_V_T549X_STR-PER36 sy-vline
WA_V_T549X_STR-PER37 sy-vline
WA_V_T549X_STR-PER38 sy-vline
WA_V_T549X_STR-PER39 sy-vline
WA_V_T549X_STR-PER40 sy-vline
WA_V_T549X_STR-PER41 sy-vline
WA_V_T549X_STR-PER42 sy-vline
WA_V_T549X_STR-PER43 sy-vline
WA_V_T549X_STR-PER44 sy-vline
WA_V_T549X_STR-PER45 sy-vline
WA_V_T549X_STR-PER46 sy-vline
WA_V_T549X_STR-PER47 sy-vline
WA_V_T549X_STR-PER48 sy-vline
WA_V_T549X_STR-PER49 sy-vline
WA_V_T549X_STR-PER50 sy-vline
WA_V_T549X_STR-PER51 sy-vline
WA_V_T549X_STR-PER52 sy-vline
WA_V_T549X_STR-PER53 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.