ABAP Select data from SAP table /SAPAPO/PPO_PRFV 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 /SAPAPO/PPO_PRFV 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 /SAPAPO/PPO_PRFV. 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 /SAPAPO/PPO_PRFV 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_/SAPAPO/PPO_PRFV TYPE STANDARD TABLE OF /SAPAPO/PPO_PRFV,
      WA_/SAPAPO/PPO_PRFV TYPE /SAPAPO/PPO_PRFV,
      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: </SAPAPO/PPO_PRFV> TYPE /SAPAPO/PPO_PRFV.

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

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM /SAPAPO/PPO_PRFV
  INTO TABLE IT_/SAPAPO/PPO_PRFV.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM /SAPAPO/PPO_PRFV
*  INTO TABLE @DATA(IT_/SAPAPO/PPO_PRFV2).
*--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_/SAPAPO/PPO_PRFV INDEX 1 INTO DATA(WA_/SAPAPO/PPO_PRFV2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_/SAPAPO/PPO_PRFV ASSIGNING </SAPAPO/PPO_PRFV>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
</SAPAPO/PPO_PRFV>-MANDT = 1.
</SAPAPO/PPO_PRFV>-OPTPR = 1.
</SAPAPO/PPO_PRFV>-POBJE = 1.
</SAPAPO/PPO_PRFV>-COMIN = 1.
</SAPAPO/PPO_PRFV>-PRMAX = 1.
ENDLOOP.

LOOP AT IT_/SAPAPO/PPO_PRFV INTO WA_/SAPAPO/PPO_PRFV.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_/SAPAPO/PPO_PRFV-METHO, sy-vline,
WA_/SAPAPO/PPO_PRFV-AUTOALG, sy-vline,
WA_/SAPAPO/PPO_PRFV-PRSIM, sy-vline,
WA_/SAPAPO/PPO_PRFV-DUSIM, sy-vline,
WA_/SAPAPO/PPO_PRFV-INTPT, sy-vline,
WA_/SAPAPO/PPO_PRFV-ZDECO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/SAPAPO/PPO_PRFV 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_/SAPAPO/PPO_PRFV 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_/SAPAPO/PPO_PRFV INTO WA_/SAPAPO/PPO_PRFV. *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_/SAPAPO/PPO_PRFV_STR,
MANDT TYPE STRING,
OPTPR TYPE STRING,
POBJE TYPE STRING,
COMIN TYPE STRING,
PRMAX TYPE STRING,
METHO TYPE STRING,
AUTOALG TYPE STRING,
PRSIM TYPE STRING,
DUSIM TYPE STRING,
INTPT TYPE STRING,
ZDECO TYPE STRING,
PDECO TYPE STRING,
WINSI TYPE STRING,
PARTI TYPE STRING,
HPRIO TYPE STRING,
PCOST TYPE STRING,
PCLASS TYPE STRING,
SPRIO TYPE STRING,
PPRIO TYPE STRING,
DPRIO TYPE STRING,
DISCM TYPE STRING,
LINME TYPE STRING,
DISME TYPE STRING,
DITER TYPE STRING,
DLAUF TYPE STRING,
PROHR TYPE STRING,
PROCHR TYPE STRING,
LOCMA TYPE STRING,
RESOU TYPE STRING,
ARCMA TYPE STRING,
PRODM TYPE STRING,
INTRF TYPE STRING,
QUARF TYPE STRING,
INTRZ TYPE STRING,
QUARZ TYPE STRING,
INRES TYPE STRING,
QURES TYPE STRING,
INTPM TYPE STRING,
QUAPM TYPE STRING,
INTPR TYPE STRING,
QUAPR TYPE STRING,
INTTR TYPE STRING,
QUATR TYPE STRING,
INPPM TYPE STRING,
QUAPP TYPE STRING,
INTCO TYPE STRING,
QUATC TYPE STRING,
INPCO TYPE STRING,
QUAPC TYPE STRING,
INPCM TYPE STRING,
QUPCM TYPE STRING,
INFCO TYPE STRING,
QUAFC TYPE STRING,
INTLO TYPE STRING,
QUATL TYPE STRING,
RNDPR TYPE STRING,
RNDTR TYPE STRING,
SSCON TYPE STRING,
SSTDEP TYPE STRING,
PERLE TYPE STRING,
SLGLOB TYPE STRING,
SLCOST TYPE STRING,
SLNO TYPE STRING,
PERDST TYPE STRING,
HEUSTA TYPE STRING,
PROCBOUND TYPE STRING,
STOCKBOUND TYPE STRING,
PRODBOUND TYPE STRING,
TRANSBOUND TYPE STRING,
DELIVBOUND TYPE STRING,
CONSIST_CHECK TYPE STRING,
LOGFILE TYPE STRING,
ADDLAUF TYPE STRING,
FAIL TYPE STRING,
MSG_PER_CHECK TYPE STRING,
STOCKPPMIN TYPE STRING,
STOCKTPMIN TYPE STRING,
SOFT_STB TYPE STRING,
AUT_COST_GEN TYPE STRING,
CUS_PRIO TYPE STRING,
FCS_PRIO TYPE STRING,
SAF_PRIO TYPE STRING,
LPR_PRIO TYPE STRING,
LPR_PRIO_A TYPE STRING,
LPR_PRIO_B TYPE STRING,
LPR_PRIO_C TYPE STRING,
LPR_HPRIO TYPE STRING,
PPM_PRIO TYPE STRING,
TRP_PRIO TYPE STRING,
RLP_PRIO TYPE STRING,
NO_QTA TYPE STRING,
MUQTA TYPE STRING,
UNDEF_QTA TYPE STRING,
CHAIN_FLG TYPE STRING,
FFF_FLG TYPE STRING,
INSEQLS TYPE STRING,
QUSEQLS TYPE STRING,
PARAL_PROC_MAX TYPE STRING,
RNDOPT TYPE STRING,
LOTOPT TYPE STRING,
PRODUP TYPE STRING,
PROCUP TYPE STRING,
INRESP TYPE STRING,
TRANSP TYPE STRING,
INTRAP TYPE STRING,
STORAP TYPE STRING,
INSTOP TYPE STRING,
SSPENP TYPE STRING,
INHANP TYPE STRING,
LAPENP TYPE STRING,
NDPENP TYPE STRING,
RECBNP TYPE STRING,
QUOTAP TYPE STRING,
SETUPP TYPE STRING,
INTCHP TYPE STRING,
OPTTX TYPE STRING,
FINITY_LEVEL_PR TYPE STRING,
NOBREAKS TYPE STRING,
LOW_MODE_PRIO TYPE STRING,
ORDER_DELETION TYPE STRING,
TIMEDEPMAXDS TYPE STRING,
SUBST_PRIO TYPE STRING,END OF T_EKKO_STR. DATA: WA_/SAPAPO/PPO_PRFV_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_/SAPAPO/PPO_PRFV_STR-MANDT sy-vline
WA_/SAPAPO/PPO_PRFV_STR-OPTPR sy-vline
WA_/SAPAPO/PPO_PRFV_STR-POBJE sy-vline
WA_/SAPAPO/PPO_PRFV_STR-COMIN sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PRMAX sy-vline
WA_/SAPAPO/PPO_PRFV_STR-METHO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-AUTOALG sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PRSIM sy-vline
WA_/SAPAPO/PPO_PRFV_STR-DUSIM sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INTPT sy-vline
WA_/SAPAPO/PPO_PRFV_STR-ZDECO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PDECO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-WINSI sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PARTI sy-vline
WA_/SAPAPO/PPO_PRFV_STR-HPRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PCOST sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PCLASS sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SPRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PPRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-DPRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-DISCM sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LINME sy-vline
WA_/SAPAPO/PPO_PRFV_STR-DISME sy-vline
WA_/SAPAPO/PPO_PRFV_STR-DITER sy-vline
WA_/SAPAPO/PPO_PRFV_STR-DLAUF sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PROHR sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PROCHR sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LOCMA sy-vline
WA_/SAPAPO/PPO_PRFV_STR-RESOU sy-vline
WA_/SAPAPO/PPO_PRFV_STR-ARCMA sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PRODM sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INTRF sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUARF sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INTRZ sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUARZ sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INRES sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QURES sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INTPM sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUAPM sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INTPR sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUAPR sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INTTR sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUATR sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INPPM sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUAPP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INTCO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUATC sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INPCO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUAPC sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INPCM sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUPCM sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INFCO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUAFC sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INTLO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUATL sy-vline
WA_/SAPAPO/PPO_PRFV_STR-RNDPR sy-vline
WA_/SAPAPO/PPO_PRFV_STR-RNDTR sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SSCON sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SSTDEP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PERLE sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SLGLOB sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SLCOST sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SLNO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PERDST sy-vline
WA_/SAPAPO/PPO_PRFV_STR-HEUSTA sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PROCBOUND sy-vline
WA_/SAPAPO/PPO_PRFV_STR-STOCKBOUND sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PRODBOUND sy-vline
WA_/SAPAPO/PPO_PRFV_STR-TRANSBOUND sy-vline
WA_/SAPAPO/PPO_PRFV_STR-DELIVBOUND sy-vline
WA_/SAPAPO/PPO_PRFV_STR-CONSIST_CHECK sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LOGFILE sy-vline
WA_/SAPAPO/PPO_PRFV_STR-ADDLAUF sy-vline
WA_/SAPAPO/PPO_PRFV_STR-FAIL sy-vline
WA_/SAPAPO/PPO_PRFV_STR-MSG_PER_CHECK sy-vline
WA_/SAPAPO/PPO_PRFV_STR-STOCKPPMIN sy-vline
WA_/SAPAPO/PPO_PRFV_STR-STOCKTPMIN sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SOFT_STB sy-vline
WA_/SAPAPO/PPO_PRFV_STR-AUT_COST_GEN sy-vline
WA_/SAPAPO/PPO_PRFV_STR-CUS_PRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-FCS_PRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SAF_PRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LPR_PRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LPR_PRIO_A sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LPR_PRIO_B sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LPR_PRIO_C sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LPR_HPRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PPM_PRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-TRP_PRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-RLP_PRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-NO_QTA sy-vline
WA_/SAPAPO/PPO_PRFV_STR-MUQTA sy-vline
WA_/SAPAPO/PPO_PRFV_STR-UNDEF_QTA sy-vline
WA_/SAPAPO/PPO_PRFV_STR-CHAIN_FLG sy-vline
WA_/SAPAPO/PPO_PRFV_STR-FFF_FLG sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INSEQLS sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUSEQLS sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PARAL_PROC_MAX sy-vline
WA_/SAPAPO/PPO_PRFV_STR-RNDOPT sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LOTOPT sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PRODUP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-PROCUP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INRESP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-TRANSP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INTRAP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-STORAP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INSTOP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SSPENP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INHANP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LAPENP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-NDPENP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-RECBNP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-QUOTAP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SETUPP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-INTCHP sy-vline
WA_/SAPAPO/PPO_PRFV_STR-OPTTX sy-vline
WA_/SAPAPO/PPO_PRFV_STR-FINITY_LEVEL_PR sy-vline
WA_/SAPAPO/PPO_PRFV_STR-NOBREAKS sy-vline
WA_/SAPAPO/PPO_PRFV_STR-LOW_MODE_PRIO sy-vline
WA_/SAPAPO/PPO_PRFV_STR-ORDER_DELETION sy-vline
WA_/SAPAPO/PPO_PRFV_STR-TIMEDEPMAXDS sy-vline
WA_/SAPAPO/PPO_PRFV_STR-SUBST_PRIO sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.