ABAP Select data from SAP table P10_VETS 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 P10_VETS 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 P10_VETS. 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 P10_VETS 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_P10_VETS TYPE STANDARD TABLE OF P10_VETS,
      WA_P10_VETS TYPE P10_VETS,
      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: <P10_VETS> TYPE P10_VETS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P10_VETS
*  INTO TABLE @DATA(IT_P10_VETS2).
*--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_P10_VETS INDEX 1 INTO DATA(WA_P10_VETS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P10_VETS ASSIGNING <P10_VETS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P10_VETS>-TITLE = 1.
<P10_VETS>-TYPER = 1.
<P10_VETS>-MSCNUMBER = 1.
<P10_VETS>-BEGDA = 1.
<P10_VETS>-ENDDA = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P10_VETS-ENDDA1, sy-vline,
WA_P10_VETS-ENDDA2, sy-vline,
WA_P10_VETS-ENDDA3, sy-vline,
WA_P10_VETS-ENDDA4, sy-vline,
WA_P10_VETS-ENDDA5, sy-vline,
WA_P10_VETS-ENDDA6, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P10_VETS 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_P10_VETS 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_P10_VETS INTO WA_P10_VETS. *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_P10_VETS_STR,
TITLE TYPE STRING,
TYPER TYPE STRING,
MSCNUMBER TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
ENDDA1 TYPE STRING,
ENDDA2 TYPE STRING,
ENDDA3 TYPE STRING,
ENDDA4 TYPE STRING,
ENDDA5 TYPE STRING,
ENDDA6 TYPE STRING,
ENDDA7 TYPE STRING,
ENDDA8 TYPE STRING,
COL01 TYPE STRING,
COL02 TYPE STRING,
COL03 TYPE STRING,
COL05 TYPE STRING,
COL04 TYPE STRING,
COLWK TYPE STRING,
COLBT TYPE STRING,
RUN01 TYPE STRING,
RUN02 TYPE STRING,
RUN03 TYPE STRING,
RUN05 TYPE STRING,
RUN04 TYPE STRING,
NAME TYPE STRING,
TELNO TYPE STRING,
EMAIL TYPE STRING,
RUNWK TYPE STRING,
RUNBT TYPE STRING,
VCIND TYPE STRING,
VETUN TYPE STRING,
NAICS TYPE STRING,
NAICS1 TYPE STRING,
NAICS2 TYPE STRING,
NAICS3 TYPE STRING,
NAICS4 TYPE STRING,
NAICS5 TYPE STRING,
NAICS6 TYPE STRING,
NAICS_N TYPE STRING,
DANDB TYPE STRING,
DANDB1 TYPE STRING,
DANDB2 TYPE STRING,
DANDB3 TYPE STRING,
DANDB4 TYPE STRING,
DANDB5 TYPE STRING,
DANDB6 TYPE STRING,
DANDB7 TYPE STRING,
DANDB8 TYPE STRING,
DANDB9 TYPE STRING,
DANDB10 TYPE STRING,
DANDB11 TYPE STRING,
EINUM TYPE STRING,
EINUM1 TYPE STRING,
EINUM2 TYPE STRING,
EINUM3 TYPE STRING,
EINUM4 TYPE STRING,
EINUM5 TYPE STRING,
EINUM6 TYPE STRING,
EINUM7 TYPE STRING,
EINUM8 TYPE STRING,
EINUM9 TYPE STRING,
EINUM10 TYPE STRING,
XX00L TYPE STRING,
XX00M TYPE STRING,
XX00N TYPE STRING,
XX00O TYPE STRING,
XX00P TYPE STRING,
XX00Q TYPE STRING,
XX00R TYPE STRING,
XX00S TYPE STRING,
XX00T TYPE STRING,
XX00U TYPE STRING,
XX01L TYPE STRING,
XX01M TYPE STRING,
XX01N TYPE STRING,
XX01O TYPE STRING,
XX01P TYPE STRING,
XX01Q TYPE STRING,
XX01R TYPE STRING,
XX01S TYPE STRING,
XX01T TYPE STRING,
XX01U TYPE STRING,
XX02L TYPE STRING,
XX02M TYPE STRING,
XX02N TYPE STRING,
XX02O TYPE STRING,
XX02P TYPE STRING,
XX02Q TYPE STRING,
XX02R TYPE STRING,
XX02S TYPE STRING,
XX02T TYPE STRING,
XX02U TYPE STRING,
XX03L TYPE STRING,
XX03M TYPE STRING,
XX03N TYPE STRING,
XX03O TYPE STRING,
XX03P TYPE STRING,
XX03Q TYPE STRING,
XX03R TYPE STRING,
XX03S TYPE STRING,
XX03T TYPE STRING,
XX03U TYPE STRING,
XX04L TYPE STRING,
XX04M TYPE STRING,
XX04N TYPE STRING,
XX04O TYPE STRING,
XX04P TYPE STRING,
XX04Q TYPE STRING,
XX04R TYPE STRING,
XX04S TYPE STRING,
XX04T TYPE STRING,
XX04U TYPE STRING,
XX05L TYPE STRING,
XX05M TYPE STRING,
XX05N TYPE STRING,
XX05O TYPE STRING,
XX05P TYPE STRING,
XX05Q TYPE STRING,
XX05R TYPE STRING,
XX05S TYPE STRING,
XX05T TYPE STRING,
XX05U TYPE STRING,
XX06L TYPE STRING,
XX06M TYPE STRING,
XX06N TYPE STRING,
XX06O TYPE STRING,
XX06P TYPE STRING,
XX06Q TYPE STRING,
XX06R TYPE STRING,
XX06S TYPE STRING,
XX06T TYPE STRING,
XX06U TYPE STRING,
XX07L TYPE STRING,
XX07M TYPE STRING,
XX07N TYPE STRING,
XX07O TYPE STRING,
XX07P TYPE STRING,
XX07Q TYPE STRING,
XX07R TYPE STRING,
XX07S TYPE STRING,
XX07T TYPE STRING,
XX07U TYPE STRING,
XX08L TYPE STRING,
XX08M TYPE STRING,
XX08N TYPE STRING,
XX08O TYPE STRING,
XX08P TYPE STRING,
XX08Q TYPE STRING,
XX08R TYPE STRING,
XX08S TYPE STRING,
XX08T TYPE STRING,
XX08U TYPE STRING,
XX09L TYPE STRING,
XX09M TYPE STRING,
XX09N TYPE STRING,
XX09O TYPE STRING,
XX09P TYPE STRING,
XX09Q TYPE STRING,
XX09R TYPE STRING,
XX09S TYPE STRING,
XX09T TYPE STRING,
XX09U TYPE STRING,
COLML TYPE STRING,
COLMM TYPE STRING,
COLMN TYPE STRING,
COLMO TYPE STRING,
COLMP TYPE STRING,
COLMQ TYPE STRING,
COLMR TYPE STRING,
COLMS TYPE STRING,
COLMT TYPE STRING,
COLMU TYPE STRING,
EEMAX TYPE STRING,
EEMIN TYPE STRING,
COL06 TYPE STRING,
RUN06 TYPE STRING,END OF T_EKKO_STR. DATA: WA_P10_VETS_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_P10_VETS_STR-TITLE sy-vline
WA_P10_VETS_STR-TYPER sy-vline
WA_P10_VETS_STR-MSCNUMBER sy-vline
WA_P10_VETS_STR-BEGDA sy-vline
WA_P10_VETS_STR-ENDDA sy-vline
WA_P10_VETS_STR-ENDDA1 sy-vline
WA_P10_VETS_STR-ENDDA2 sy-vline
WA_P10_VETS_STR-ENDDA3 sy-vline
WA_P10_VETS_STR-ENDDA4 sy-vline
WA_P10_VETS_STR-ENDDA5 sy-vline
WA_P10_VETS_STR-ENDDA6 sy-vline
WA_P10_VETS_STR-ENDDA7 sy-vline
WA_P10_VETS_STR-ENDDA8 sy-vline
WA_P10_VETS_STR-COL01 sy-vline
WA_P10_VETS_STR-COL02 sy-vline
WA_P10_VETS_STR-COL03 sy-vline
WA_P10_VETS_STR-COL05 sy-vline
WA_P10_VETS_STR-COL04 sy-vline
WA_P10_VETS_STR-COLWK sy-vline
WA_P10_VETS_STR-COLBT sy-vline
WA_P10_VETS_STR-RUN01 sy-vline
WA_P10_VETS_STR-RUN02 sy-vline
WA_P10_VETS_STR-RUN03 sy-vline
WA_P10_VETS_STR-RUN05 sy-vline
WA_P10_VETS_STR-RUN04 sy-vline
WA_P10_VETS_STR-NAME sy-vline
WA_P10_VETS_STR-TELNO sy-vline
WA_P10_VETS_STR-EMAIL sy-vline
WA_P10_VETS_STR-RUNWK sy-vline
WA_P10_VETS_STR-RUNBT sy-vline
WA_P10_VETS_STR-VCIND sy-vline
WA_P10_VETS_STR-VETUN sy-vline
WA_P10_VETS_STR-NAICS sy-vline
WA_P10_VETS_STR-NAICS1 sy-vline
WA_P10_VETS_STR-NAICS2 sy-vline
WA_P10_VETS_STR-NAICS3 sy-vline
WA_P10_VETS_STR-NAICS4 sy-vline
WA_P10_VETS_STR-NAICS5 sy-vline
WA_P10_VETS_STR-NAICS6 sy-vline
WA_P10_VETS_STR-NAICS_N sy-vline
WA_P10_VETS_STR-DANDB sy-vline
WA_P10_VETS_STR-DANDB1 sy-vline
WA_P10_VETS_STR-DANDB2 sy-vline
WA_P10_VETS_STR-DANDB3 sy-vline
WA_P10_VETS_STR-DANDB4 sy-vline
WA_P10_VETS_STR-DANDB5 sy-vline
WA_P10_VETS_STR-DANDB6 sy-vline
WA_P10_VETS_STR-DANDB7 sy-vline
WA_P10_VETS_STR-DANDB8 sy-vline
WA_P10_VETS_STR-DANDB9 sy-vline
WA_P10_VETS_STR-DANDB10 sy-vline
WA_P10_VETS_STR-DANDB11 sy-vline
WA_P10_VETS_STR-EINUM sy-vline
WA_P10_VETS_STR-EINUM1 sy-vline
WA_P10_VETS_STR-EINUM2 sy-vline
WA_P10_VETS_STR-EINUM3 sy-vline
WA_P10_VETS_STR-EINUM4 sy-vline
WA_P10_VETS_STR-EINUM5 sy-vline
WA_P10_VETS_STR-EINUM6 sy-vline
WA_P10_VETS_STR-EINUM7 sy-vline
WA_P10_VETS_STR-EINUM8 sy-vline
WA_P10_VETS_STR-EINUM9 sy-vline
WA_P10_VETS_STR-EINUM10 sy-vline
WA_P10_VETS_STR-XX00L sy-vline
WA_P10_VETS_STR-XX00M sy-vline
WA_P10_VETS_STR-XX00N sy-vline
WA_P10_VETS_STR-XX00O sy-vline
WA_P10_VETS_STR-XX00P sy-vline
WA_P10_VETS_STR-XX00Q sy-vline
WA_P10_VETS_STR-XX00R sy-vline
WA_P10_VETS_STR-XX00S sy-vline
WA_P10_VETS_STR-XX00T sy-vline
WA_P10_VETS_STR-XX00U sy-vline
WA_P10_VETS_STR-XX01L sy-vline
WA_P10_VETS_STR-XX01M sy-vline
WA_P10_VETS_STR-XX01N sy-vline
WA_P10_VETS_STR-XX01O sy-vline
WA_P10_VETS_STR-XX01P sy-vline
WA_P10_VETS_STR-XX01Q sy-vline
WA_P10_VETS_STR-XX01R sy-vline
WA_P10_VETS_STR-XX01S sy-vline
WA_P10_VETS_STR-XX01T sy-vline
WA_P10_VETS_STR-XX01U sy-vline
WA_P10_VETS_STR-XX02L sy-vline
WA_P10_VETS_STR-XX02M sy-vline
WA_P10_VETS_STR-XX02N sy-vline
WA_P10_VETS_STR-XX02O sy-vline
WA_P10_VETS_STR-XX02P sy-vline
WA_P10_VETS_STR-XX02Q sy-vline
WA_P10_VETS_STR-XX02R sy-vline
WA_P10_VETS_STR-XX02S sy-vline
WA_P10_VETS_STR-XX02T sy-vline
WA_P10_VETS_STR-XX02U sy-vline
WA_P10_VETS_STR-XX03L sy-vline
WA_P10_VETS_STR-XX03M sy-vline
WA_P10_VETS_STR-XX03N sy-vline
WA_P10_VETS_STR-XX03O sy-vline
WA_P10_VETS_STR-XX03P sy-vline
WA_P10_VETS_STR-XX03Q sy-vline
WA_P10_VETS_STR-XX03R sy-vline
WA_P10_VETS_STR-XX03S sy-vline
WA_P10_VETS_STR-XX03T sy-vline
WA_P10_VETS_STR-XX03U sy-vline
WA_P10_VETS_STR-XX04L sy-vline
WA_P10_VETS_STR-XX04M sy-vline
WA_P10_VETS_STR-XX04N sy-vline
WA_P10_VETS_STR-XX04O sy-vline
WA_P10_VETS_STR-XX04P sy-vline
WA_P10_VETS_STR-XX04Q sy-vline
WA_P10_VETS_STR-XX04R sy-vline
WA_P10_VETS_STR-XX04S sy-vline
WA_P10_VETS_STR-XX04T sy-vline
WA_P10_VETS_STR-XX04U sy-vline
WA_P10_VETS_STR-XX05L sy-vline
WA_P10_VETS_STR-XX05M sy-vline
WA_P10_VETS_STR-XX05N sy-vline
WA_P10_VETS_STR-XX05O sy-vline
WA_P10_VETS_STR-XX05P sy-vline
WA_P10_VETS_STR-XX05Q sy-vline
WA_P10_VETS_STR-XX05R sy-vline
WA_P10_VETS_STR-XX05S sy-vline
WA_P10_VETS_STR-XX05T sy-vline
WA_P10_VETS_STR-XX05U sy-vline
WA_P10_VETS_STR-XX06L sy-vline
WA_P10_VETS_STR-XX06M sy-vline
WA_P10_VETS_STR-XX06N sy-vline
WA_P10_VETS_STR-XX06O sy-vline
WA_P10_VETS_STR-XX06P sy-vline
WA_P10_VETS_STR-XX06Q sy-vline
WA_P10_VETS_STR-XX06R sy-vline
WA_P10_VETS_STR-XX06S sy-vline
WA_P10_VETS_STR-XX06T sy-vline
WA_P10_VETS_STR-XX06U sy-vline
WA_P10_VETS_STR-XX07L sy-vline
WA_P10_VETS_STR-XX07M sy-vline
WA_P10_VETS_STR-XX07N sy-vline
WA_P10_VETS_STR-XX07O sy-vline
WA_P10_VETS_STR-XX07P sy-vline
WA_P10_VETS_STR-XX07Q sy-vline
WA_P10_VETS_STR-XX07R sy-vline
WA_P10_VETS_STR-XX07S sy-vline
WA_P10_VETS_STR-XX07T sy-vline
WA_P10_VETS_STR-XX07U sy-vline
WA_P10_VETS_STR-XX08L sy-vline
WA_P10_VETS_STR-XX08M sy-vline
WA_P10_VETS_STR-XX08N sy-vline
WA_P10_VETS_STR-XX08O sy-vline
WA_P10_VETS_STR-XX08P sy-vline
WA_P10_VETS_STR-XX08Q sy-vline
WA_P10_VETS_STR-XX08R sy-vline
WA_P10_VETS_STR-XX08S sy-vline
WA_P10_VETS_STR-XX08T sy-vline
WA_P10_VETS_STR-XX08U sy-vline
WA_P10_VETS_STR-XX09L sy-vline
WA_P10_VETS_STR-XX09M sy-vline
WA_P10_VETS_STR-XX09N sy-vline
WA_P10_VETS_STR-XX09O sy-vline
WA_P10_VETS_STR-XX09P sy-vline
WA_P10_VETS_STR-XX09Q sy-vline
WA_P10_VETS_STR-XX09R sy-vline
WA_P10_VETS_STR-XX09S sy-vline
WA_P10_VETS_STR-XX09T sy-vline
WA_P10_VETS_STR-XX09U sy-vline
WA_P10_VETS_STR-COLML sy-vline
WA_P10_VETS_STR-COLMM sy-vline
WA_P10_VETS_STR-COLMN sy-vline
WA_P10_VETS_STR-COLMO sy-vline
WA_P10_VETS_STR-COLMP sy-vline
WA_P10_VETS_STR-COLMQ sy-vline
WA_P10_VETS_STR-COLMR sy-vline
WA_P10_VETS_STR-COLMS sy-vline
WA_P10_VETS_STR-COLMT sy-vline
WA_P10_VETS_STR-COLMU sy-vline
WA_P10_VETS_STR-EEMAX sy-vline
WA_P10_VETS_STR-EEMIN sy-vline
WA_P10_VETS_STR-COL06 sy-vline
WA_P10_VETS_STR-RUN06 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.