ABAP Select data from SAP table P0424 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 P0424 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 P0424. 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 P0424 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_P0424 TYPE STANDARD TABLE OF P0424,
      WA_P0424 TYPE P0424,
      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: <P0424> TYPE P0424.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM P0424
*  INTO TABLE @DATA(IT_P04242).
*--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_P0424 INDEX 1 INTO DATA(WA_P04242).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_P0424-ENDDA, sy-vline,
WA_P0424-BEGDA, sy-vline,
WA_P0424-SEQNR, sy-vline,
WA_P0424-AEDTM, sy-vline,
WA_P0424-UNAME, sy-vline,
WA_P0424-HISTO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_P0424 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_P0424 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_P0424 INTO WA_P0424. *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_P0424_STR,
PERNR TYPE STRING,
INFTY 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,
CASNO TYPE STRING,
IDATE TYPE STRING,
ITIME TYPE STRING,
RDATE TYPE STRING,
RTIME TYPE STRING,
DEB_ARRET TYPE STRING,
FIN_ARRET TYPE STRING,
TYPAR TYPE STRING,
TYP_MAIN TYPE STRING,
AFFLD TYPE STRING,
CERTIF TYPE STRING,
VICTIME TYPE STRING,
LIEU_ATT TYPE STRING,
CIRC_ATT TYPE STRING,
BLESSURE TYPE STRING,
NAT_BLES TYPE STRING,
HOPITAL TYPE STRING,
CON_ATT TYPE STRING,
DAT_INF TYPE STRING,
NUM_INF TYPE STRING,
CONS_ATT TYPE STRING,
PREN_TEM TYPE STRING,
NOM_TEM TYPE STRING,
CO_TEM TYPE STRING,
ADNUM_TEM TYPE STRING,
RUE_TEM TYPE STRING,
CP_TEM TYPE STRING,
VIL_TEM TYPE STRING,
RAPPORT TYPE STRING,
NOM_RAP TYPE STRING,
ASS_TIERS TYPE STRING,
NOM_TIERS TYPE STRING,
PNOM_TIERS TYPE STRING,
CO_TIERS TYPE STRING,
ADNUM_TIE TYPE STRING,
RUE_TIERS TYPE STRING,
CP_TIERS TYPE STRING,
VIL_TIERS TYPE STRING,
COSTU1 TYPE STRING,
COSTU2 TYPE STRING,
DEVISE TYPE STRING,
CASPA TYPE STRING,
PROLO TYPE STRING,
AWART TYPE STRING,
CARFO TYPE STRING,
COMP_TIERS TYPE STRING,
MDIST_TIERS TYPE STRING,
PAYS_TIERS TYPE STRING,
FLAG_PERS_TIERS TYPE STRING,
COMP_TEM TYPE STRING,
MDIST_TEM TYPE STRING,
PAYS_TEM TYPE STRING,
CO_LIEU TYPE STRING,
COMP_LIEU TYPE STRING,
ADNUM_LIEU TYPE STRING,
RUE_LIEU TYPE STRING,
MDIST_LIEU TYPE STRING,
CP_LIEU TYPE STRING,
VIL_LIEU TYPE STRING,
PAYS_LIEU TYPE STRING,
CO_TRAN TYPE STRING,
COMP_TRAN TYPE STRING,
ADNUM_TRAN TYPE STRING,
RUE_TRAN TYPE STRING,
MDIST_TRAN TYPE STRING,
CP_TRAN TYPE STRING,
VIL_TRAN TYPE STRING,
PAYS_TRAN TYPE STRING,
CO_ASSU TYPE STRING,
COMP_ASSU TYPE STRING,
ADNUM_ASSU TYPE STRING,
RUE_ASSU TYPE STRING,
MDIST_ASSU TYPE STRING,
CP_ASSU TYPE STRING,
VIL_ASSU TYPE STRING,
PAYS_ASSU TYPE STRING,
SIRET_LIEU TYPE STRING,
TYPE_TEM TYPE STRING,
DEVIC TYPE STRING,
CONRE TYPE STRING,
ARTWK TYPE STRING,
ILLVC TYPE STRING,
ACCTJ TYPE STRING,
PLANNED_END TYPE STRING,
PACAD TYPE STRING,
ADOPT TYPE STRING,
PROT_PER TYPE STRING,END OF T_EKKO_STR. DATA: WA_P0424_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_P0424_STR-PERNR sy-vline
WA_P0424_STR-INFTY sy-vline
WA_P0424_STR-SUBTY sy-vline
WA_P0424_STR-OBJPS sy-vline
WA_P0424_STR-SPRPS sy-vline
WA_P0424_STR-ENDDA sy-vline
WA_P0424_STR-BEGDA sy-vline
WA_P0424_STR-SEQNR sy-vline
WA_P0424_STR-AEDTM sy-vline
WA_P0424_STR-UNAME sy-vline
WA_P0424_STR-HISTO sy-vline
WA_P0424_STR-ITXEX sy-vline
WA_P0424_STR-REFEX sy-vline
WA_P0424_STR-ORDEX sy-vline
WA_P0424_STR-ITBLD sy-vline
WA_P0424_STR-PREAS sy-vline
WA_P0424_STR-FLAG1 sy-vline
WA_P0424_STR-FLAG2 sy-vline
WA_P0424_STR-FLAG3 sy-vline
WA_P0424_STR-FLAG4 sy-vline
WA_P0424_STR-RESE1 sy-vline
WA_P0424_STR-RESE2 sy-vline
WA_P0424_STR-GRPVL sy-vline
WA_P0424_STR-CASNO sy-vline
WA_P0424_STR-IDATE sy-vline
WA_P0424_STR-ITIME sy-vline
WA_P0424_STR-RDATE sy-vline
WA_P0424_STR-RTIME sy-vline
WA_P0424_STR-DEB_ARRET sy-vline
WA_P0424_STR-FIN_ARRET sy-vline
WA_P0424_STR-TYPAR sy-vline
WA_P0424_STR-TYP_MAIN sy-vline
WA_P0424_STR-AFFLD sy-vline
WA_P0424_STR-CERTIF sy-vline
WA_P0424_STR-VICTIME sy-vline
WA_P0424_STR-LIEU_ATT sy-vline
WA_P0424_STR-CIRC_ATT sy-vline
WA_P0424_STR-BLESSURE sy-vline
WA_P0424_STR-NAT_BLES sy-vline
WA_P0424_STR-HOPITAL sy-vline
WA_P0424_STR-CON_ATT sy-vline
WA_P0424_STR-DAT_INF sy-vline
WA_P0424_STR-NUM_INF sy-vline
WA_P0424_STR-CONS_ATT sy-vline
WA_P0424_STR-PREN_TEM sy-vline
WA_P0424_STR-NOM_TEM sy-vline
WA_P0424_STR-CO_TEM sy-vline
WA_P0424_STR-ADNUM_TEM sy-vline
WA_P0424_STR-RUE_TEM sy-vline
WA_P0424_STR-CP_TEM sy-vline
WA_P0424_STR-VIL_TEM sy-vline
WA_P0424_STR-RAPPORT sy-vline
WA_P0424_STR-NOM_RAP sy-vline
WA_P0424_STR-ASS_TIERS sy-vline
WA_P0424_STR-NOM_TIERS sy-vline
WA_P0424_STR-PNOM_TIERS sy-vline
WA_P0424_STR-CO_TIERS sy-vline
WA_P0424_STR-ADNUM_TIE sy-vline
WA_P0424_STR-RUE_TIERS sy-vline
WA_P0424_STR-CP_TIERS sy-vline
WA_P0424_STR-VIL_TIERS sy-vline
WA_P0424_STR-COSTU1 sy-vline
WA_P0424_STR-COSTU2 sy-vline
WA_P0424_STR-DEVISE sy-vline
WA_P0424_STR-CASPA sy-vline
WA_P0424_STR-PROLO sy-vline
WA_P0424_STR-AWART sy-vline
WA_P0424_STR-CARFO sy-vline
WA_P0424_STR-COMP_TIERS sy-vline
WA_P0424_STR-MDIST_TIERS sy-vline
WA_P0424_STR-PAYS_TIERS sy-vline
WA_P0424_STR-FLAG_PERS_TIERS sy-vline
WA_P0424_STR-COMP_TEM sy-vline
WA_P0424_STR-MDIST_TEM sy-vline
WA_P0424_STR-PAYS_TEM sy-vline
WA_P0424_STR-CO_LIEU sy-vline
WA_P0424_STR-COMP_LIEU sy-vline
WA_P0424_STR-ADNUM_LIEU sy-vline
WA_P0424_STR-RUE_LIEU sy-vline
WA_P0424_STR-MDIST_LIEU sy-vline
WA_P0424_STR-CP_LIEU sy-vline
WA_P0424_STR-VIL_LIEU sy-vline
WA_P0424_STR-PAYS_LIEU sy-vline
WA_P0424_STR-CO_TRAN sy-vline
WA_P0424_STR-COMP_TRAN sy-vline
WA_P0424_STR-ADNUM_TRAN sy-vline
WA_P0424_STR-RUE_TRAN sy-vline
WA_P0424_STR-MDIST_TRAN sy-vline
WA_P0424_STR-CP_TRAN sy-vline
WA_P0424_STR-VIL_TRAN sy-vline
WA_P0424_STR-PAYS_TRAN sy-vline
WA_P0424_STR-CO_ASSU sy-vline
WA_P0424_STR-COMP_ASSU sy-vline
WA_P0424_STR-ADNUM_ASSU sy-vline
WA_P0424_STR-RUE_ASSU sy-vline
WA_P0424_STR-MDIST_ASSU sy-vline
WA_P0424_STR-CP_ASSU sy-vline
WA_P0424_STR-VIL_ASSU sy-vline
WA_P0424_STR-PAYS_ASSU sy-vline
WA_P0424_STR-SIRET_LIEU sy-vline
WA_P0424_STR-TYPE_TEM sy-vline
WA_P0424_STR-DEVIC sy-vline
WA_P0424_STR-CONRE sy-vline
WA_P0424_STR-ARTWK sy-vline
WA_P0424_STR-ILLVC sy-vline
WA_P0424_STR-ACCTJ sy-vline
WA_P0424_STR-PLANNED_END sy-vline
WA_P0424_STR-PACAD sy-vline
WA_P0424_STR-ADOPT sy-vline
WA_P0424_STR-PROT_PER sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.