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

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

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

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


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_/SAPAPO/V_SNP05-INTPT, sy-vline,
WA_/SAPAPO/V_SNP05-ZDECO, sy-vline,
WA_/SAPAPO/V_SNP05-PDECO, sy-vline,
WA_/SAPAPO/V_SNP05-WINSI, sy-vline,
WA_/SAPAPO/V_SNP05-PARTI, sy-vline,
WA_/SAPAPO/V_SNP05-HPRIO, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/SAPAPO/V_SNP05 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/V_SNP05 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/V_SNP05 INTO WA_/SAPAPO/V_SNP05. *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/V_SNP05_STR,
MANDT TYPE STRING,
OPTPR TYPE STRING,
OPTTX TYPE STRING,
POBJE TYPE STRING,
METHO TYPE STRING,
INTPT TYPE STRING,
ZDECO TYPE STRING,
PDECO TYPE STRING,
WINSI TYPE STRING,
PARTI TYPE STRING,
HPRIO TYPE STRING,
SPRIO TYPE STRING,
PPRIO TYPE STRING,
RPRIO TYPE STRING,
RKPRIO TYPE STRING,
DPRIO TYPE STRING,
DISCM TYPE STRING,
DITER TYPE STRING,
DLAUF TYPE STRING,
DTRUN TYPE STRING,
DPRUN TYPE STRING,
PROHR TYPE STRING,
TRAHR TYPE STRING,
LOCMA TYPE STRING,
LOCAT TYPE STRING,
SUBLO TYPE STRING,
ARCFL TYPE STRING,
RESOU TYPE STRING,
ARCMA TYPE STRING,
PRODM TYPE STRING,
KAMPA TYPE STRING,
QUAKA 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,
DISC_ALL TYPE STRING,
PERIODE TYPE STRING,
QUAPE TYPE STRING,
RNDPR TYPE STRING,
RNDTR TYPE STRING,
AGGRE TYPE STRING,
DISTR TYPE STRING,
SSCON TYPE STRING,
SSABS TYPE STRING,
SSREL TYPE STRING,
PERLE TYPE STRING,
SLGLOB TYPE STRING,
SLCOST TYPE STRING,
SLSOFT TYPE STRING,
SLSTRONG TYPE STRING,
SLNO TYPE STRING,
PERDST TYPE STRING,
PEREST TYPE STRING,
HEUSTA TYPE STRING,
PCOST TYPE STRING,
PCLASS TYPE STRING,
PRSIM TYPE STRING,
DUSIM TYPE STRING,
LINME TYPE STRING,
DISME TYPE STRING,
COMIN TYPE STRING,
PRMAX TYPE STRING,
PROCBOUND TYPE STRING,
STOCKBOUND TYPE STRING,
PRODBOUND TYPE STRING,
TRANSBOUND TYPE STRING,
DELIVBOUND TYPE STRING,
CONSIST_CHECK TYPE STRING,
LOGFILE TYPE STRING,
MSG_PER_CHECK TYPE STRING,
PRODSPLIT TYPE STRING,
NO_FCONS TYPE STRING,
STOCKPPMIN TYPE STRING,
STOCKTPMIN TYPE STRING,
RDECO TYPE STRING,
SOFT_STB TYPE STRING,
ZERO_COSTS TYPE STRING,
NO_ORDERDELETE TYPE STRING,
FC_HORIZON TYPE STRING,
ADDLAUF TYPE STRING,
FAIL TYPE STRING,
PRIOPROF_ID TYPE STRING,
AUT_COST_GEN TYPE STRING,
CUS_PRIO TYPE STRING,
CFO_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,
SUBST_PRIO TYPE STRING,
INSEQLS TYPE STRING,
QUSEQLS TYPE STRING,
PARAL_PROC_MAX TYPE STRING,
USE_INVORD TYPE STRING,
AUTOALG TYPE STRING,END OF T_EKKO_STR. DATA: WA_/SAPAPO/V_SNP05_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/V_SNP05_STR-MANDT sy-vline
WA_/SAPAPO/V_SNP05_STR-OPTPR sy-vline
WA_/SAPAPO/V_SNP05_STR-OPTTX sy-vline
WA_/SAPAPO/V_SNP05_STR-POBJE sy-vline
WA_/SAPAPO/V_SNP05_STR-METHO sy-vline
WA_/SAPAPO/V_SNP05_STR-INTPT sy-vline
WA_/SAPAPO/V_SNP05_STR-ZDECO sy-vline
WA_/SAPAPO/V_SNP05_STR-PDECO sy-vline
WA_/SAPAPO/V_SNP05_STR-WINSI sy-vline
WA_/SAPAPO/V_SNP05_STR-PARTI sy-vline
WA_/SAPAPO/V_SNP05_STR-HPRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-SPRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-PPRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-RPRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-RKPRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-DPRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-DISCM sy-vline
WA_/SAPAPO/V_SNP05_STR-DITER sy-vline
WA_/SAPAPO/V_SNP05_STR-DLAUF sy-vline
WA_/SAPAPO/V_SNP05_STR-DTRUN sy-vline
WA_/SAPAPO/V_SNP05_STR-DPRUN sy-vline
WA_/SAPAPO/V_SNP05_STR-PROHR sy-vline
WA_/SAPAPO/V_SNP05_STR-TRAHR sy-vline
WA_/SAPAPO/V_SNP05_STR-LOCMA sy-vline
WA_/SAPAPO/V_SNP05_STR-LOCAT sy-vline
WA_/SAPAPO/V_SNP05_STR-SUBLO sy-vline
WA_/SAPAPO/V_SNP05_STR-ARCFL sy-vline
WA_/SAPAPO/V_SNP05_STR-RESOU sy-vline
WA_/SAPAPO/V_SNP05_STR-ARCMA sy-vline
WA_/SAPAPO/V_SNP05_STR-PRODM sy-vline
WA_/SAPAPO/V_SNP05_STR-KAMPA sy-vline
WA_/SAPAPO/V_SNP05_STR-QUAKA sy-vline
WA_/SAPAPO/V_SNP05_STR-INTRF sy-vline
WA_/SAPAPO/V_SNP05_STR-QUARF sy-vline
WA_/SAPAPO/V_SNP05_STR-INTRZ sy-vline
WA_/SAPAPO/V_SNP05_STR-QUARZ sy-vline
WA_/SAPAPO/V_SNP05_STR-INRES sy-vline
WA_/SAPAPO/V_SNP05_STR-QURES sy-vline
WA_/SAPAPO/V_SNP05_STR-INTPM sy-vline
WA_/SAPAPO/V_SNP05_STR-QUAPM sy-vline
WA_/SAPAPO/V_SNP05_STR-INTPR sy-vline
WA_/SAPAPO/V_SNP05_STR-QUAPR sy-vline
WA_/SAPAPO/V_SNP05_STR-INTTR sy-vline
WA_/SAPAPO/V_SNP05_STR-QUATR sy-vline
WA_/SAPAPO/V_SNP05_STR-INPPM sy-vline
WA_/SAPAPO/V_SNP05_STR-QUAPP sy-vline
WA_/SAPAPO/V_SNP05_STR-INTCO sy-vline
WA_/SAPAPO/V_SNP05_STR-QUATC sy-vline
WA_/SAPAPO/V_SNP05_STR-INPCO sy-vline
WA_/SAPAPO/V_SNP05_STR-QUAPC sy-vline
WA_/SAPAPO/V_SNP05_STR-INPCM sy-vline
WA_/SAPAPO/V_SNP05_STR-QUPCM sy-vline
WA_/SAPAPO/V_SNP05_STR-INFCO sy-vline
WA_/SAPAPO/V_SNP05_STR-QUAFC sy-vline
WA_/SAPAPO/V_SNP05_STR-INTLO sy-vline
WA_/SAPAPO/V_SNP05_STR-QUATL sy-vline
WA_/SAPAPO/V_SNP05_STR-DISC_ALL sy-vline
WA_/SAPAPO/V_SNP05_STR-PERIODE sy-vline
WA_/SAPAPO/V_SNP05_STR-QUAPE sy-vline
WA_/SAPAPO/V_SNP05_STR-RNDPR sy-vline
WA_/SAPAPO/V_SNP05_STR-RNDTR sy-vline
WA_/SAPAPO/V_SNP05_STR-AGGRE sy-vline
WA_/SAPAPO/V_SNP05_STR-DISTR sy-vline
WA_/SAPAPO/V_SNP05_STR-SSCON sy-vline
WA_/SAPAPO/V_SNP05_STR-SSABS sy-vline
WA_/SAPAPO/V_SNP05_STR-SSREL sy-vline
WA_/SAPAPO/V_SNP05_STR-PERLE sy-vline
WA_/SAPAPO/V_SNP05_STR-SLGLOB sy-vline
WA_/SAPAPO/V_SNP05_STR-SLCOST sy-vline
WA_/SAPAPO/V_SNP05_STR-SLSOFT sy-vline
WA_/SAPAPO/V_SNP05_STR-SLSTRONG sy-vline
WA_/SAPAPO/V_SNP05_STR-SLNO sy-vline
WA_/SAPAPO/V_SNP05_STR-PERDST sy-vline
WA_/SAPAPO/V_SNP05_STR-PEREST sy-vline
WA_/SAPAPO/V_SNP05_STR-HEUSTA sy-vline
WA_/SAPAPO/V_SNP05_STR-PCOST sy-vline
WA_/SAPAPO/V_SNP05_STR-PCLASS sy-vline
WA_/SAPAPO/V_SNP05_STR-PRSIM sy-vline
WA_/SAPAPO/V_SNP05_STR-DUSIM sy-vline
WA_/SAPAPO/V_SNP05_STR-LINME sy-vline
WA_/SAPAPO/V_SNP05_STR-DISME sy-vline
WA_/SAPAPO/V_SNP05_STR-COMIN sy-vline
WA_/SAPAPO/V_SNP05_STR-PRMAX sy-vline
WA_/SAPAPO/V_SNP05_STR-PROCBOUND sy-vline
WA_/SAPAPO/V_SNP05_STR-STOCKBOUND sy-vline
WA_/SAPAPO/V_SNP05_STR-PRODBOUND sy-vline
WA_/SAPAPO/V_SNP05_STR-TRANSBOUND sy-vline
WA_/SAPAPO/V_SNP05_STR-DELIVBOUND sy-vline
WA_/SAPAPO/V_SNP05_STR-CONSIST_CHECK sy-vline
WA_/SAPAPO/V_SNP05_STR-LOGFILE sy-vline
WA_/SAPAPO/V_SNP05_STR-MSG_PER_CHECK sy-vline
WA_/SAPAPO/V_SNP05_STR-PRODSPLIT sy-vline
WA_/SAPAPO/V_SNP05_STR-NO_FCONS sy-vline
WA_/SAPAPO/V_SNP05_STR-STOCKPPMIN sy-vline
WA_/SAPAPO/V_SNP05_STR-STOCKTPMIN sy-vline
WA_/SAPAPO/V_SNP05_STR-RDECO sy-vline
WA_/SAPAPO/V_SNP05_STR-SOFT_STB sy-vline
WA_/SAPAPO/V_SNP05_STR-ZERO_COSTS sy-vline
WA_/SAPAPO/V_SNP05_STR-NO_ORDERDELETE sy-vline
WA_/SAPAPO/V_SNP05_STR-FC_HORIZON sy-vline
WA_/SAPAPO/V_SNP05_STR-ADDLAUF sy-vline
WA_/SAPAPO/V_SNP05_STR-FAIL sy-vline
WA_/SAPAPO/V_SNP05_STR-PRIOPROF_ID sy-vline
WA_/SAPAPO/V_SNP05_STR-AUT_COST_GEN sy-vline
WA_/SAPAPO/V_SNP05_STR-CUS_PRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-CFO_PRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-FCS_PRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-SAF_PRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-LPR_PRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-LPR_PRIO_A sy-vline
WA_/SAPAPO/V_SNP05_STR-LPR_PRIO_B sy-vline
WA_/SAPAPO/V_SNP05_STR-LPR_PRIO_C sy-vline
WA_/SAPAPO/V_SNP05_STR-LPR_HPRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-PPM_PRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-TRP_PRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-RLP_PRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-NO_QTA sy-vline
WA_/SAPAPO/V_SNP05_STR-MUQTA sy-vline
WA_/SAPAPO/V_SNP05_STR-UNDEF_QTA sy-vline
WA_/SAPAPO/V_SNP05_STR-CHAIN_FLG sy-vline
WA_/SAPAPO/V_SNP05_STR-FFF_FLG sy-vline
WA_/SAPAPO/V_SNP05_STR-SUBST_PRIO sy-vline
WA_/SAPAPO/V_SNP05_STR-INSEQLS sy-vline
WA_/SAPAPO/V_SNP05_STR-QUSEQLS sy-vline
WA_/SAPAPO/V_SNP05_STR-PARAL_PROC_MAX sy-vline
WA_/SAPAPO/V_SNP05_STR-USE_INVORD sy-vline
WA_/SAPAPO/V_SNP05_STR-AUTOALG sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.