ABAP Select data from SAP table PPCSS 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 PPCSS 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 PPCSS. 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 PPCSS 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_PPCSS TYPE STANDARD TABLE OF PPCSS,
      WA_PPCSS TYPE PPCSS,
      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: <PPCSS> TYPE PPCSS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PPCSS
*  INTO TABLE @DATA(IT_PPCSS2).
*--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_PPCSS INDEX 1 INTO DATA(WA_PPCSS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PPCSS ASSIGNING <PPCSS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PPCSS>-MANDT = 1.
<PPCSS>-TITLE = 1.
<PPCSS>-PLVAR = 1.
<PPCSS>-OTYPE = 1.
<PPCSS>-SEARK = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PPCSS-VICON, sy-vline,
WA_PPCSS-OBJIDT, sy-vline,
WA_PPCSS-OBJIDL, sy-vline,
WA_PPCSS-OBJIDH, sy-vline,
WA_PPCSS-ISTAT, sy-vline,
WA_PPCSS-BEGDA, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PPCSS 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_PPCSS 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_PPCSS INTO WA_PPCSS. *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_PPCSS_STR,
MANDT TYPE STRING,
TITLE TYPE STRING,
PLVAR TYPE STRING,
OTYPE TYPE STRING,
SEARK TYPE STRING,
VICON TYPE STRING,
OBJIDT TYPE STRING,
OBJIDL TYPE STRING,
OBJIDH TYPE STRING,
ISTAT TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
TIMED TYPE STRING,
SVECT TYPE STRING,
ACTIV TYPE STRING,
DEPTH TYPE STRING,
VFLAG TYPE STRING,
PLNEW TYPE STRING,
VSTRT TYPE STRING,
PLADM TYPE STRING,
FRFLG TYPE STRING,
INFTY TYPE STRING,
SUBTY TYPE STRING,
ABART TYPE STRING,
CURCY TYPE STRING,
SHFLG TYPE STRING,
ALLPL TYPE STRING,
F_OTXT TYPE STRING,
F_PTXT TYPE STRING,
F_RTXT TYPE STRING,
PY_BEGDA TYPE STRING,
PY_ENDDA TYPE STRING,
TEST TYPE STRING,
ANTIT TYPE STRING,
AWTIT TYPE STRING,
MARK TYPE STRING,
PCVIEW TYPE STRING,
SCVIEW TYPE STRING,
LBVIEW TYPE STRING,
ELIST TYPE STRING,
GLIST TYPE STRING,
PWTIT TYPE STRING,
DIJOB TYPE STRING,
BGJOB TYPE STRING,
OUVIEW TYPE STRING,
KOVIEW TYPE STRING,
HEADCOUNT TYPE STRING,END OF T_EKKO_STR. DATA: WA_PPCSS_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_PPCSS_STR-MANDT sy-vline
WA_PPCSS_STR-TITLE sy-vline
WA_PPCSS_STR-PLVAR sy-vline
WA_PPCSS_STR-OTYPE sy-vline
WA_PPCSS_STR-SEARK sy-vline
WA_PPCSS_STR-VICON sy-vline
WA_PPCSS_STR-OBJIDT sy-vline
WA_PPCSS_STR-OBJIDL sy-vline
WA_PPCSS_STR-OBJIDH sy-vline
WA_PPCSS_STR-ISTAT sy-vline
WA_PPCSS_STR-BEGDA sy-vline
WA_PPCSS_STR-ENDDA sy-vline
WA_PPCSS_STR-TIMED sy-vline
WA_PPCSS_STR-SVECT sy-vline
WA_PPCSS_STR-ACTIV sy-vline
WA_PPCSS_STR-DEPTH sy-vline
WA_PPCSS_STR-VFLAG sy-vline
WA_PPCSS_STR-PLNEW sy-vline
WA_PPCSS_STR-VSTRT sy-vline
WA_PPCSS_STR-PLADM sy-vline
WA_PPCSS_STR-FRFLG sy-vline
WA_PPCSS_STR-INFTY sy-vline
WA_PPCSS_STR-SUBTY sy-vline
WA_PPCSS_STR-ABART sy-vline
WA_PPCSS_STR-CURCY sy-vline
WA_PPCSS_STR-SHFLG sy-vline
WA_PPCSS_STR-ALLPL sy-vline
WA_PPCSS_STR-F_OTXT sy-vline
WA_PPCSS_STR-F_PTXT sy-vline
WA_PPCSS_STR-F_RTXT sy-vline
WA_PPCSS_STR-PY_BEGDA sy-vline
WA_PPCSS_STR-PY_ENDDA sy-vline
WA_PPCSS_STR-TEST sy-vline
WA_PPCSS_STR-ANTIT sy-vline
WA_PPCSS_STR-AWTIT sy-vline
WA_PPCSS_STR-MARK sy-vline
WA_PPCSS_STR-PCVIEW sy-vline
WA_PPCSS_STR-SCVIEW sy-vline
WA_PPCSS_STR-LBVIEW sy-vline
WA_PPCSS_STR-ELIST sy-vline
WA_PPCSS_STR-GLIST sy-vline
WA_PPCSS_STR-PWTIT sy-vline
WA_PPCSS_STR-DIJOB sy-vline
WA_PPCSS_STR-BGJOB sy-vline
WA_PPCSS_STR-OUVIEW sy-vline
WA_PPCSS_STR-KOVIEW sy-vline
WA_PPCSS_STR-HEADCOUNT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.