ABAP Select data from SAP table PA3297 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 PA3297 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 PA3297. 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 PA3297 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_PA3297 TYPE STANDARD TABLE OF PA3297,
      WA_PA3297 TYPE PA3297,
      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: <PA3297> TYPE PA3297.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PA3297
*  INTO TABLE @DATA(IT_PA32972).
*--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_PA3297 INDEX 1 INTO DATA(WA_PA32972).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PA3297 ASSIGNING <PA3297>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PA3297>-MANDT = 1.
<PA3297>-PERNR = 1.
<PA3297>-SUBTY = 1.
<PA3297>-OBJPS = 1.
<PA3297>-SPRPS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PA3297-ENDDA, sy-vline,
WA_PA3297-BEGDA, sy-vline,
WA_PA3297-SEQNR, sy-vline,
WA_PA3297-AEDTM, sy-vline,
WA_PA3297-UNAME, sy-vline,
WA_PA3297-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PA3297 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_PA3297 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_PA3297 INTO WA_PA3297. *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_PA3297_STR,
MANDT TYPE STRING,
PERNR TYPE STRING,
SUBTY TYPE STRING,
OBJPS TYPE STRING,
SPRPS TYPE STRING,
ENDDA TYPE STRING,
BEGDA TYPE STRING,
SEQNR TYPE STRING,
AEDTM TYPE STRING,
UNAME TYPE STRING,
HISTO TYPE STRING,
ITXEX TYPE STRING,
REFEX TYPE STRING,
ORDEX TYPE STRING,
ITBLD TYPE STRING,
PREAS TYPE STRING,
FLAG1 TYPE STRING,
FLAG2 TYPE STRING,
FLAG3 TYPE STRING,
FLAG4 TYPE STRING,
RESE1 TYPE STRING,
RESE2 TYPE STRING,
GRPVL TYPE STRING,
NOTUK TYPE STRING,
NOTWK TYPE STRING,
STGDT TYPE STRING,
STAGE TYPE STRING,
STQER TYPE STRING,
STWRC TYPE STRING,
STATY TYPE STRING,
STQPS TYPE STRING,
STDEN TYPE STRING,
PTNTY TYPE STRING,
PTAGE TYPE STRING,
PTQER TYPE STRING,
PTWRC TYPE STRING,
PTATY TYPE STRING,
PTQPS TYPE STRING,
PTDEN TYPE STRING,
PTDDT TYPE STRING,
PTDDN TYPE STRING,
AEGDT TYPE STRING,
AEAGE TYPE STRING,
AEQER TYPE STRING,
AEWRC TYPE STRING,
AEATY TYPE STRING,
AEQPS TYPE STRING,
AEDEN TYPE STRING,
APTTY TYPE STRING,
APAGE TYPE STRING,
APQER TYPE STRING,
APWRC TYPE STRING,
APATY TYPE STRING,
APQPS TYPE STRING,
APDEN TYPE STRING,
APDDT TYPE STRING,
APDDN TYPE STRING,
OIFDT TYPE STRING,
OIVFM TYPE STRING,
OIAGE TYPE STRING,
OIQER TYPE STRING,
OIWRC TYPE STRING,
OIATY TYPE STRING,
OIQPS TYPE STRING,
OIDEN TYPE STRING,
OOFDT TYPE STRING,
OOWFM TYPE STRING,
OOAGE TYPE STRING,
OOQER TYPE STRING,
OOWRC TYPE STRING,
OOVFM TYPE STRING,
OOVTO TYPE STRING,
OOATY TYPE STRING,
OOQPS TYPE STRING,
OODEN TYPE STRING,
OOPDT TYPE STRING,
TPEMC TYPE STRING,
OISCH TYPE STRING,
OOSCH TYPE STRING,
AESCH TYPE STRING,
OONRN TYPE STRING,
DTO_ATEJH TYPE STRING,
DTO_PDATE TYPE STRING,
DTO_PTYPE TYPE STRING,
IARTY TYPE STRING,
EXCNP TYPE STRING,
EXCTX TYPE STRING,
EXCWU TYPE STRING,
EXCNW TYPE STRING,
EXCCD TYPE STRING,
EXCLLP TYPE STRING,
LATE TYPE STRING,
DTO_OODEN TYPE STRING,END OF T_EKKO_STR. DATA: WA_PA3297_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_PA3297_STR-MANDT sy-vline
WA_PA3297_STR-PERNR sy-vline
WA_PA3297_STR-SUBTY sy-vline
WA_PA3297_STR-OBJPS sy-vline
WA_PA3297_STR-SPRPS sy-vline
WA_PA3297_STR-ENDDA sy-vline
WA_PA3297_STR-BEGDA sy-vline
WA_PA3297_STR-SEQNR sy-vline
WA_PA3297_STR-AEDTM sy-vline
WA_PA3297_STR-UNAME sy-vline
WA_PA3297_STR-HISTO sy-vline
WA_PA3297_STR-ITXEX sy-vline
WA_PA3297_STR-REFEX sy-vline
WA_PA3297_STR-ORDEX sy-vline
WA_PA3297_STR-ITBLD sy-vline
WA_PA3297_STR-PREAS sy-vline
WA_PA3297_STR-FLAG1 sy-vline
WA_PA3297_STR-FLAG2 sy-vline
WA_PA3297_STR-FLAG3 sy-vline
WA_PA3297_STR-FLAG4 sy-vline
WA_PA3297_STR-RESE1 sy-vline
WA_PA3297_STR-RESE2 sy-vline
WA_PA3297_STR-GRPVL sy-vline
WA_PA3297_STR-NOTUK sy-vline
WA_PA3297_STR-NOTWK sy-vline
WA_PA3297_STR-STGDT sy-vline
WA_PA3297_STR-STAGE sy-vline
WA_PA3297_STR-STQER sy-vline
WA_PA3297_STR-STWRC sy-vline
WA_PA3297_STR-STATY sy-vline
WA_PA3297_STR-STQPS sy-vline
WA_PA3297_STR-STDEN sy-vline
WA_PA3297_STR-PTNTY sy-vline
WA_PA3297_STR-PTAGE sy-vline
WA_PA3297_STR-PTQER sy-vline
WA_PA3297_STR-PTWRC sy-vline
WA_PA3297_STR-PTATY sy-vline
WA_PA3297_STR-PTQPS sy-vline
WA_PA3297_STR-PTDEN sy-vline
WA_PA3297_STR-PTDDT sy-vline
WA_PA3297_STR-PTDDN sy-vline
WA_PA3297_STR-AEGDT sy-vline
WA_PA3297_STR-AEAGE sy-vline
WA_PA3297_STR-AEQER sy-vline
WA_PA3297_STR-AEWRC sy-vline
WA_PA3297_STR-AEATY sy-vline
WA_PA3297_STR-AEQPS sy-vline
WA_PA3297_STR-AEDEN sy-vline
WA_PA3297_STR-APTTY sy-vline
WA_PA3297_STR-APAGE sy-vline
WA_PA3297_STR-APQER sy-vline
WA_PA3297_STR-APWRC sy-vline
WA_PA3297_STR-APATY sy-vline
WA_PA3297_STR-APQPS sy-vline
WA_PA3297_STR-APDEN sy-vline
WA_PA3297_STR-APDDT sy-vline
WA_PA3297_STR-APDDN sy-vline
WA_PA3297_STR-OIFDT sy-vline
WA_PA3297_STR-OIVFM sy-vline
WA_PA3297_STR-OIAGE sy-vline
WA_PA3297_STR-OIQER sy-vline
WA_PA3297_STR-OIWRC sy-vline
WA_PA3297_STR-OIATY sy-vline
WA_PA3297_STR-OIQPS sy-vline
WA_PA3297_STR-OIDEN sy-vline
WA_PA3297_STR-OOFDT sy-vline
WA_PA3297_STR-OOWFM sy-vline
WA_PA3297_STR-OOAGE sy-vline
WA_PA3297_STR-OOQER sy-vline
WA_PA3297_STR-OOWRC sy-vline
WA_PA3297_STR-OOVFM sy-vline
WA_PA3297_STR-OOVTO sy-vline
WA_PA3297_STR-OOATY sy-vline
WA_PA3297_STR-OOQPS sy-vline
WA_PA3297_STR-OODEN sy-vline
WA_PA3297_STR-OOPDT sy-vline
WA_PA3297_STR-TPEMC sy-vline
WA_PA3297_STR-OISCH sy-vline
WA_PA3297_STR-OOSCH sy-vline
WA_PA3297_STR-AESCH sy-vline
WA_PA3297_STR-OONRN sy-vline
WA_PA3297_STR-DTO_ATEJH sy-vline
WA_PA3297_STR-DTO_PDATE sy-vline
WA_PA3297_STR-DTO_PTYPE sy-vline
WA_PA3297_STR-IARTY sy-vline
WA_PA3297_STR-EXCNP sy-vline
WA_PA3297_STR-EXCTX sy-vline
WA_PA3297_STR-EXCWU sy-vline
WA_PA3297_STR-EXCNW sy-vline
WA_PA3297_STR-EXCCD sy-vline
WA_PA3297_STR-EXCLLP sy-vline
WA_PA3297_STR-LATE sy-vline
WA_PA3297_STR-DTO_OODEN sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.