ABAP Select data from SAP table PRU_4FSS_PRT3 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 PRU_4FSS_PRT3 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 PRU_4FSS_PRT3. 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 PRU_4FSS_PRT3 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_PRU_4FSS_PRT3 TYPE STANDARD TABLE OF PRU_4FSS_PRT3,
      WA_PRU_4FSS_PRT3 TYPE PRU_4FSS_PRT3,
      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: <PRU_4FSS_PRT3> TYPE PRU_4FSS_PRT3.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PRU_4FSS_PRT3
*  INTO TABLE @DATA(IT_PRU_4FSS_PRT32).
*--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_PRU_4FSS_PRT3 INDEX 1 INTO DATA(WA_PRU_4FSS_PRT32).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PRU_4FSS_PRT3 ASSIGNING <PRU_4FSS_PRT3>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PRU_4FSS_PRT3>-PRZNT = 1.
<PRU_4FSS_PRT3>-T9AV = 1.
<PRU_4FSS_PRT3>-T901 = 1.
<PRU_4FSS_PRT3>-T902 = 1.
<PRU_4FSS_PRT3>-T9IT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PRU_4FSS_PRT3-T906, sy-vline,
WA_PRU_4FSS_PRT3-T907, sy-vline,
WA_PRU_4FSS_PRT3-T908, sy-vline,
WA_PRU_4FSS_PRT3-T909, sy-vline,
WA_PRU_4FSS_PRT3-T910, sy-vline,
WA_PRU_4FSS_PRT3-T9WT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PRU_4FSS_PRT3 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_PRU_4FSS_PRT3 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_PRU_4FSS_PRT3 INTO WA_PRU_4FSS_PRT3. *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_PRU_4FSS_PRT3_STR,
PRZNT TYPE STRING,
T9AV TYPE STRING,
T901 TYPE STRING,
T902 TYPE STRING,
T9IT TYPE STRING,
T906 TYPE STRING,
T907 TYPE STRING,
T908 TYPE STRING,
T909 TYPE STRING,
T910 TYPE STRING,
T9WT TYPE STRING,
T9031 TYPE STRING,
T9041 TYPE STRING,
T9042 TYPE STRING,
T905 TYPE STRING,
T9WI TYPE STRING,
T10I TYPE STRING,
TA01 TYPE STRING,
TA02A TYPE STRING,
TA02P TYPE STRING,
TA02S TYPE STRING,
TA03 TYPE STRING,
TA04 TYPE STRING,
TA05 TYPE STRING,
TA06 TYPE STRING,
TA07 TYPE STRING,
TA08 TYPE STRING,
TA09 TYPE STRING,
TA10A TYPE STRING,
TA10P TYPE STRING,
TA10S TYPE STRING,
TA11A TYPE STRING,
TA11P TYPE STRING,
TA11S TYPE STRING,
TA12 TYPE STRING,
TA13 TYPE STRING,
TA14 TYPE STRING,
TA15 TYPE STRING,
TA02 TYPE STRING,
TA10 TYPE STRING,
TA11 TYPE STRING,
T11 TYPE STRING,
TB13 TYPE STRING,
TB14 TYPE STRING,
TB23 TYPE STRING,
TB24 TYPE STRING,
TB33 TYPE STRING,
TB34 TYPE STRING,
TB43 TYPE STRING,
TB44 TYPE STRING,
TB53 TYPE STRING,
TB54 TYPE STRING,
TB63 TYPE STRING,
TB64 TYPE STRING,
TB7 TYPE STRING,
TB73 TYPE STRING,
TB74 TYPE STRING,
TB83 TYPE STRING,
TB84 TYPE STRING,
TB9 TYPE STRING,
TBA4 TYPE STRING,
TBB4 TYPE STRING,
T12 TYPE STRING,
TC1 TYPE STRING,
TC2 TYPE STRING,
TC3 TYPE STRING,
TC4 TYPE STRING,
TC5 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PRU_4FSS_PRT3_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_PRU_4FSS_PRT3_STR-PRZNT sy-vline
WA_PRU_4FSS_PRT3_STR-T9AV sy-vline
WA_PRU_4FSS_PRT3_STR-T901 sy-vline
WA_PRU_4FSS_PRT3_STR-T902 sy-vline
WA_PRU_4FSS_PRT3_STR-T9IT sy-vline
WA_PRU_4FSS_PRT3_STR-T906 sy-vline
WA_PRU_4FSS_PRT3_STR-T907 sy-vline
WA_PRU_4FSS_PRT3_STR-T908 sy-vline
WA_PRU_4FSS_PRT3_STR-T909 sy-vline
WA_PRU_4FSS_PRT3_STR-T910 sy-vline
WA_PRU_4FSS_PRT3_STR-T9WT sy-vline
WA_PRU_4FSS_PRT3_STR-T9031 sy-vline
WA_PRU_4FSS_PRT3_STR-T9041 sy-vline
WA_PRU_4FSS_PRT3_STR-T9042 sy-vline
WA_PRU_4FSS_PRT3_STR-T905 sy-vline
WA_PRU_4FSS_PRT3_STR-T9WI sy-vline
WA_PRU_4FSS_PRT3_STR-T10I sy-vline
WA_PRU_4FSS_PRT3_STR-TA01 sy-vline
WA_PRU_4FSS_PRT3_STR-TA02A sy-vline
WA_PRU_4FSS_PRT3_STR-TA02P sy-vline
WA_PRU_4FSS_PRT3_STR-TA02S sy-vline
WA_PRU_4FSS_PRT3_STR-TA03 sy-vline
WA_PRU_4FSS_PRT3_STR-TA04 sy-vline
WA_PRU_4FSS_PRT3_STR-TA05 sy-vline
WA_PRU_4FSS_PRT3_STR-TA06 sy-vline
WA_PRU_4FSS_PRT3_STR-TA07 sy-vline
WA_PRU_4FSS_PRT3_STR-TA08 sy-vline
WA_PRU_4FSS_PRT3_STR-TA09 sy-vline
WA_PRU_4FSS_PRT3_STR-TA10A sy-vline
WA_PRU_4FSS_PRT3_STR-TA10P sy-vline
WA_PRU_4FSS_PRT3_STR-TA10S sy-vline
WA_PRU_4FSS_PRT3_STR-TA11A sy-vline
WA_PRU_4FSS_PRT3_STR-TA11P sy-vline
WA_PRU_4FSS_PRT3_STR-TA11S sy-vline
WA_PRU_4FSS_PRT3_STR-TA12 sy-vline
WA_PRU_4FSS_PRT3_STR-TA13 sy-vline
WA_PRU_4FSS_PRT3_STR-TA14 sy-vline
WA_PRU_4FSS_PRT3_STR-TA15 sy-vline
WA_PRU_4FSS_PRT3_STR-TA02 sy-vline
WA_PRU_4FSS_PRT3_STR-TA10 sy-vline
WA_PRU_4FSS_PRT3_STR-TA11 sy-vline
WA_PRU_4FSS_PRT3_STR-T11 sy-vline
WA_PRU_4FSS_PRT3_STR-TB13 sy-vline
WA_PRU_4FSS_PRT3_STR-TB14 sy-vline
WA_PRU_4FSS_PRT3_STR-TB23 sy-vline
WA_PRU_4FSS_PRT3_STR-TB24 sy-vline
WA_PRU_4FSS_PRT3_STR-TB33 sy-vline
WA_PRU_4FSS_PRT3_STR-TB34 sy-vline
WA_PRU_4FSS_PRT3_STR-TB43 sy-vline
WA_PRU_4FSS_PRT3_STR-TB44 sy-vline
WA_PRU_4FSS_PRT3_STR-TB53 sy-vline
WA_PRU_4FSS_PRT3_STR-TB54 sy-vline
WA_PRU_4FSS_PRT3_STR-TB63 sy-vline
WA_PRU_4FSS_PRT3_STR-TB64 sy-vline
WA_PRU_4FSS_PRT3_STR-TB7 sy-vline
WA_PRU_4FSS_PRT3_STR-TB73 sy-vline
WA_PRU_4FSS_PRT3_STR-TB74 sy-vline
WA_PRU_4FSS_PRT3_STR-TB83 sy-vline
WA_PRU_4FSS_PRT3_STR-TB84 sy-vline
WA_PRU_4FSS_PRT3_STR-TB9 sy-vline
WA_PRU_4FSS_PRT3_STR-TBA4 sy-vline
WA_PRU_4FSS_PRT3_STR-TBB4 sy-vline
WA_PRU_4FSS_PRT3_STR-T12 sy-vline
WA_PRU_4FSS_PRT3_STR-TC1 sy-vline
WA_PRU_4FSS_PRT3_STR-TC2 sy-vline
WA_PRU_4FSS_PRT3_STR-TC3 sy-vline
WA_PRU_4FSS_PRT3_STR-TC4 sy-vline
WA_PRU_4FSS_PRT3_STR-TC5 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.