ABAP Select data from SAP table P02_FORM_RPLQS 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 P02_FORM_RPLQS 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 P02_FORM_RPLQS. 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 P02_FORM_RPLQS 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_P02_FORM_RPLQS TYPE STANDARD TABLE OF P02_FORM_RPLQS,
      WA_P02_FORM_RPLQS TYPE P02_FORM_RPLQS,
      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: <P02_FORM_RPLQS> TYPE P02_FORM_RPLQS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P02_FORM_RPLQS
*  INTO TABLE @DATA(IT_P02_FORM_RPLQS2).
*--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_P02_FORM_RPLQS INDEX 1 INTO DATA(WA_P02_FORM_RPLQS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_P02_FORM_RPLQS ASSIGNING <P02_FORM_RPLQS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<P02_FORM_RPLQS>-DET = 1.
<P02_FORM_RPLQS>-GEMND = 1.
<P02_FORM_RPLQS>-KANTO = 1.
<P02_FORM_RPLQS>-BEGDA = 1.
<P02_FORM_RPLQS>-ENDDA = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P02_FORM_RPLQS-ABRNR, sy-vline,
WA_P02_FORM_RPLQS-ADRA, sy-vline,
WA_P02_FORM_RPLQS-ADRB, sy-vline,
WA_P02_FORM_RPLQS-ADRC, sy-vline,
WA_P02_FORM_RPLQS-ADRD, sy-vline,
WA_P02_FORM_RPLQS-KONTA, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P02_FORM_RPLQS 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_P02_FORM_RPLQS 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_P02_FORM_RPLQS INTO WA_P02_FORM_RPLQS. *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 AHVNR, internal->external for field AHVNR CALL FUNCTION 'CONVERSION_EXIT_AHVNR_OUTPUT' EXPORTING input = WA_P02_FORM_RPLQS-AHVNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_P02_FORM_RPLQS-AHVNR.
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_P02_FORM_RPLQS_STR,
DET TYPE STRING,
GEMND TYPE STRING,
KANTO TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
ABRNR TYPE STRING,
ADRA TYPE STRING,
ADRB TYPE STRING,
ADRC TYPE STRING,
ADRD TYPE STRING,
KONTA TYPE STRING,
TELNR TYPE STRING,
KANTO_TXT TYPE STRING,
QSTPF_TXT TYPE STRING,
GEMND_TXT TYPE STRING,
GBETR TYPE STRING,
GBOP TYPE STRING,
GFPROV TYPE STRING,
GQSPRO TYPE STRING,
KKANTO_TXT TYPE STRING,
KBETR TYPE STRING,
KQSPRO TYPE STRING,
KPROV TYPE STRING,
KBOP TYPE STRING,
ABETR TYPE STRING,
APROV TYPE STRING,
ABOP TYPE STRING,
PROVI_1 TYPE STRING,
PROVI_2 TYPE STRING,
ANCUR TYPE STRING,
QSBVD TYPE STRING,
QSB TYPE STRING,
FBEGDA TYPE STRING,
FENDDA TYPE STRING,
FENDDA1 TYPE STRING,
AGKANTXT TYPE STRING,
QSPRO TYPE STRING,
SUMPFLOHN TYPE STRING,
SUMNPFLZU TYPE STRING,
SUMPFZULA TYPE STRING,
SUMABFI TYPE STRING,
SUMPFSUM TYPE STRING,
SUMBETRAG TYPE STRING,
SUMBETRFR TYPE STRING,
SUMBETRCT TYPE STRING,
SUMNOPAID TYPE STRING,
SUMPAIDAY TYPE STRING,
GBPAS TYPE STRING,
AHVNR TYPE STRING,
NACHN TYPE STRING,
VORNA TYPE STRING,
STRAS TYPE STRING,
PSTLZ TYPE STRING,
ORT01 TYPE STRING,
LAND1 TYPE STRING,
ARBOR TYPE STRING,
FTEXT TYPE STRING,
ABZKI TYPE STRING,
FANAM TYPE STRING,
FAVOR TYPE STRING,
KTEXT TYPE STRING,
ADRA TYPE STRING,
ADRB TYPE STRING,
ADRC TYPE STRING,
ADRD TYPE STRING,
KONTA TYPE STRING,
ABRNR TYPE STRING,
FUNCA TYPE STRING,
FUNCB TYPE STRING,
FUNCC TYPE STRING,
KTXTA TYPE STRING,
KTXTB TYPE STRING,
KTXTC TYPE STRING,
CHURCH TYPE STRING,
NOCHUR TYPE STRING,
QSTAB TYPE STRING,
KANTO TYPE STRING,
DBEGDA1 TYPE STRING,
2A TYPE STRING,
2B TYPE STRING,
2C TYPE STRING,
2D TYPE STRING,
2E TYPE STRING,
2F TYPE STRING,
2G TYPE STRING,
2H TYPE STRING,
P_PRIDAT TYPE STRING,
HTEXT TYPE STRING,
NPAGE TYPE STRING,END OF T_EKKO_STR. DATA: WA_P02_FORM_RPLQS_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_P02_FORM_RPLQS_STR-DET sy-vline
WA_P02_FORM_RPLQS_STR-GEMND sy-vline
WA_P02_FORM_RPLQS_STR-KANTO sy-vline
WA_P02_FORM_RPLQS_STR-BEGDA sy-vline
WA_P02_FORM_RPLQS_STR-ENDDA sy-vline
WA_P02_FORM_RPLQS_STR-ABRNR sy-vline
WA_P02_FORM_RPLQS_STR-ADRA sy-vline
WA_P02_FORM_RPLQS_STR-ADRB sy-vline
WA_P02_FORM_RPLQS_STR-ADRC sy-vline
WA_P02_FORM_RPLQS_STR-ADRD sy-vline
WA_P02_FORM_RPLQS_STR-KONTA sy-vline
WA_P02_FORM_RPLQS_STR-TELNR sy-vline
WA_P02_FORM_RPLQS_STR-KANTO_TXT sy-vline
WA_P02_FORM_RPLQS_STR-QSTPF_TXT sy-vline
WA_P02_FORM_RPLQS_STR-GEMND_TXT sy-vline
WA_P02_FORM_RPLQS_STR-GBETR sy-vline
WA_P02_FORM_RPLQS_STR-GBOP sy-vline
WA_P02_FORM_RPLQS_STR-GFPROV sy-vline
WA_P02_FORM_RPLQS_STR-GQSPRO sy-vline
WA_P02_FORM_RPLQS_STR-KKANTO_TXT sy-vline
WA_P02_FORM_RPLQS_STR-KBETR sy-vline
WA_P02_FORM_RPLQS_STR-KQSPRO sy-vline
WA_P02_FORM_RPLQS_STR-KPROV sy-vline
WA_P02_FORM_RPLQS_STR-KBOP sy-vline
WA_P02_FORM_RPLQS_STR-ABETR sy-vline
WA_P02_FORM_RPLQS_STR-APROV sy-vline
WA_P02_FORM_RPLQS_STR-ABOP sy-vline
WA_P02_FORM_RPLQS_STR-PROVI_1 sy-vline
WA_P02_FORM_RPLQS_STR-PROVI_2 sy-vline
WA_P02_FORM_RPLQS_STR-ANCUR sy-vline
WA_P02_FORM_RPLQS_STR-QSBVD sy-vline
WA_P02_FORM_RPLQS_STR-QSB sy-vline
WA_P02_FORM_RPLQS_STR-FBEGDA sy-vline
WA_P02_FORM_RPLQS_STR-FENDDA sy-vline
WA_P02_FORM_RPLQS_STR-FENDDA1 sy-vline
WA_P02_FORM_RPLQS_STR-AGKANTXT sy-vline
WA_P02_FORM_RPLQS_STR-QSPRO sy-vline
WA_P02_FORM_RPLQS_STR-SUMPFLOHN sy-vline
WA_P02_FORM_RPLQS_STR-SUMNPFLZU sy-vline
WA_P02_FORM_RPLQS_STR-SUMPFZULA sy-vline
WA_P02_FORM_RPLQS_STR-SUMABFI sy-vline
WA_P02_FORM_RPLQS_STR-SUMPFSUM sy-vline
WA_P02_FORM_RPLQS_STR-SUMBETRAG sy-vline
WA_P02_FORM_RPLQS_STR-SUMBETRFR sy-vline
WA_P02_FORM_RPLQS_STR-SUMBETRCT sy-vline
WA_P02_FORM_RPLQS_STR-SUMNOPAID sy-vline
WA_P02_FORM_RPLQS_STR-SUMPAIDAY sy-vline
WA_P02_FORM_RPLQS_STR-GBPAS sy-vline
WA_P02_FORM_RPLQS_STR-AHVNR sy-vline
WA_P02_FORM_RPLQS_STR-NACHN sy-vline
WA_P02_FORM_RPLQS_STR-VORNA sy-vline
WA_P02_FORM_RPLQS_STR-STRAS sy-vline
WA_P02_FORM_RPLQS_STR-PSTLZ sy-vline
WA_P02_FORM_RPLQS_STR-ORT01 sy-vline
WA_P02_FORM_RPLQS_STR-LAND1 sy-vline
WA_P02_FORM_RPLQS_STR-ARBOR sy-vline
WA_P02_FORM_RPLQS_STR-FTEXT sy-vline
WA_P02_FORM_RPLQS_STR-ABZKI sy-vline
WA_P02_FORM_RPLQS_STR-FANAM sy-vline
WA_P02_FORM_RPLQS_STR-FAVOR sy-vline
WA_P02_FORM_RPLQS_STR-KTEXT sy-vline
WA_P02_FORM_RPLQS_STR-ADRA sy-vline
WA_P02_FORM_RPLQS_STR-ADRB sy-vline
WA_P02_FORM_RPLQS_STR-ADRC sy-vline
WA_P02_FORM_RPLQS_STR-ADRD sy-vline
WA_P02_FORM_RPLQS_STR-KONTA sy-vline
WA_P02_FORM_RPLQS_STR-ABRNR sy-vline
WA_P02_FORM_RPLQS_STR-FUNCA sy-vline
WA_P02_FORM_RPLQS_STR-FUNCB sy-vline
WA_P02_FORM_RPLQS_STR-FUNCC sy-vline
WA_P02_FORM_RPLQS_STR-KTXTA sy-vline
WA_P02_FORM_RPLQS_STR-KTXTB sy-vline
WA_P02_FORM_RPLQS_STR-KTXTC sy-vline
WA_P02_FORM_RPLQS_STR-CHURCH sy-vline
WA_P02_FORM_RPLQS_STR-NOCHUR sy-vline
WA_P02_FORM_RPLQS_STR-QSTAB sy-vline
WA_P02_FORM_RPLQS_STR-KANTO sy-vline
WA_P02_FORM_RPLQS_STR-DBEGDA1 sy-vline
WA_P02_FORM_RPLQS_STR-2A sy-vline
WA_P02_FORM_RPLQS_STR-2B sy-vline
WA_P02_FORM_RPLQS_STR-2C sy-vline
WA_P02_FORM_RPLQS_STR-2D sy-vline
WA_P02_FORM_RPLQS_STR-2E sy-vline
WA_P02_FORM_RPLQS_STR-2F sy-vline
WA_P02_FORM_RPLQS_STR-2G sy-vline
WA_P02_FORM_RPLQS_STR-2H sy-vline
WA_P02_FORM_RPLQS_STR-P_PRIDAT sy-vline
WA_P02_FORM_RPLQS_STR-HTEXT sy-vline
WA_P02_FORM_RPLQS_STR-NPAGE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.