ABAP Select data from SAP table FSH_ARN_CUST 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 FSH_ARN_CUST 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 FSH_ARN_CUST. 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 FSH_ARN_CUST 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_FSH_ARN_CUST TYPE STANDARD TABLE OF FSH_ARN_CUST,
      WA_FSH_ARN_CUST TYPE FSH_ARN_CUST,
      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: <FSH_ARN_CUST> TYPE FSH_ARN_CUST.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM FSH_ARN_CUST
*  INTO TABLE @DATA(IT_FSH_ARN_CUST2).
*--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_FSH_ARN_CUST INDEX 1 INTO DATA(WA_FSH_ARN_CUST2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_FSH_ARN_CUST ASSIGNING <FSH_ARN_CUST>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<FSH_ARN_CUST>-EXTN_RULE = 1.
<FSH_ARN_CUST>-MANDT = 1.
<FSH_ARN_CUST>-SEREG = 1.
<FSH_ARN_CUST>-COMPL_SO = 1.
<FSH_ARN_CUST>-COMPL_STO = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_FSH_ARN_CUST-REQ_SEL_RULE, sy-vline,
WA_FSH_ARN_CUST-MANDT, sy-vline,
WA_FSH_ARN_CUST-BDREG, sy-vline,
WA_FSH_ARN_CUST-EORDR, sy-vline,
WA_FSH_ARN_CUST-EPBDF, sy-vline,
WA_FSH_ARN_CUST-ELBDF, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FSH_ARN_CUST 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_FSH_ARN_CUST 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_FSH_ARN_CUST INTO WA_FSH_ARN_CUST. *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_FSH_ARN_CUST_STR,
EXTN_RULE TYPE STRING,
MANDT TYPE STRING,
SEREG TYPE STRING,
COMPL_SO TYPE STRING,
COMPL_STO TYPE STRING,
REQ_SEL_RULE TYPE STRING,
MANDT TYPE STRING,
BDREG TYPE STRING,
EORDR TYPE STRING,
EPBDF TYPE STRING,
ELBDF TYPE STRING,
REBLC TYPE STRING,
EXMTO TYPE STRING,
STO TYPE STRING,
STODATE TYPE STRING,
RETPO TYPE STRING,
SUBCPO TYPE STRING,
FCNAM TYPE STRING,
STK_SEL_RULE TYPE STRING,
MANDT TYPE STRING,
BSREG TYPE STRING,
EBEST TYPE STRING,
SMSLB TYPE STRING,
SMSKU TYPE STRING,
SMSKA TYPE STRING,
SMCHB TYPE STRING,
SHPNO TYPE STRING,
FSH_LGONR TYPE STRING,
FSH_FRDT TYPE STRING,
STLOC TYPE STRING,
VBUKZ TYPE STRING,
EAUFK TYPE STRING,
SMKOL TYPE STRING,
REQ_FILTER_RULE TYPE STRING,
MANDT TYPE STRING,
FIREG TYPE STRING,
KRDCK TYPE STRING,
CRCHK TYPE STRING,
CRCHK_U TYPE STRING,
CRCHK_G TYPE STRING,
OBLCK TYPE STRING,
EXPCK TYPE STRING,
CDTCK TYPE STRING,
CDDAY TYPE STRING,
SEACK TYPE STRING,
SEDAY TYPE STRING,
ANTLF TYPE STRING,
STO_SEACK TYPE STRING,
GROUPING_RULE TYPE STRING,
ALLOCATION_LOGIC TYPE STRING,
MANDT TYPE STRING,
LOREG TYPE STRING,
PAVOV TYPE STRING,
REQUA TYPE STRING,
FIFO TYPE STRING,
SPREAD TYPE STRING,
RELEASE_QTY TYPE STRING,
REMAINING_QTY TYPE STRING,
UPTO_PERCNT TYPE STRING,
ALLOCATION_RULE TYPE STRING,
MANDT TYPE STRING,
ARULE TYPE STRING,
BATCH_CHK TYPE STRING,
LGONR_CHK TYPE STRING,
RSCAT_CHK TYPE STRING,
RSCAT_SORT TYPE STRING,
CANCEL_CHK TYPE STRING,
RQDAT TYPE STRING,
RQDAT_STO TYPE STRING,
STDAT TYPE STRING,
DELIV_SCHED TYPE STRING,
STOCK_SORT TYPE STRING,
SOSTK TYPE STRING,
TWO_WAY_STRATEGY TYPE STRING,
SEASONS TYPE STRING,
SEG_CHK TYPE STRING,
VAS_CORRELATE TYPE STRING,
BOM_CORRELATE TYPE STRING,
DYNAMIC_SORT_RULE TYPE STRING,
RQ_SORT_RULES TYPE STRING,
FSH_SORT_DATA TYPE STRING,
FSH_SOVA_DATA TYPE STRING,
ST_SORT_RULES TYPE STRING,
FSH_SORT_DATA TYPE STRING,
FSH_SOVA_DATA TYPE STRING,
EXTERNAL_GROUPS TYPE STRING,
RELEASE_RULE TYPE STRING,
MANDT TYPE STRING,
REREG TYPE STRING,
RESERVE_G TYPE STRING,
ORFUL_G TYPE STRING,
PERCT_G TYPE STRING,
RESULT_G TYPE STRING,
RESERVE_SO TYPE STRING,
ORFUL_SO TYPE STRING,
PERCT_SO TYPE STRING,
RESULT_SO TYPE STRING,
RESERVE_DG TYPE STRING,
ORFUL_DG TYPE STRING,
PERCT_DG TYPE STRING,
BLANK_DG TYPE STRING,
RESULT_DG TYPE STRING,
RESERVE_GA TYPE STRING,
ORFUL_GA TYPE STRING,
PERCT_GA TYPE STRING,
RESULT_GA TYPE STRING,
RESERVE_I TYPE STRING,
ORFUL_I TYPE STRING,
PERCT_I TYPE STRING,
RESULT_I TYPE STRING,
RESERVE_SL TYPE STRING,
ORFUL_SL TYPE STRING,
PERCT_SL TYPE STRING,
RESULT_SL TYPE STRING,
MAXQU_SL TYPE STRING,
FSH_BOMCORR TYPE STRING,
RESERVE_BOM TYPE STRING,
ORFUL_BOM TYPE STRING,
PERCT_BOM TYPE STRING,
RESULT_BOM TYPE STRING,
FSH_VASCORR TYPE STRING,
RESERVE_VAS TYPE STRING,
ORFUL_VAS TYPE STRING,
PERCT_VAS TYPE STRING,
RESULT_VAS TYPE STRING,
RESERVE_SC TYPE STRING,
ORFUL_SC TYPE STRING,
PERCT_SC TYPE STRING,
BLANK_SC TYPE STRING,
RESULT_SC TYPE STRING,
SEASON_IND TYPE STRING,
RESERVE_OSL TYPE STRING,
ORFUL_OSL TYPE STRING,
PERCT_OSL TYPE STRING,
BLANK_OSL TYPE STRING,
RESULT_OSL TYPE STRING,
RESERVE_LD TYPE STRING,
ORFUL_LD TYPE STRING,
PERCT_LD TYPE STRING,
RESULT_LD TYPE STRING,
PERCT_COR TYPE STRING,
FR_IND TYPE STRING,
PERCT_CORELD TYPE STRING,
LOG_RULE TYPE STRING,
MANDT TYPE STRING,
DLREG TYPE STRING,
LFACT TYPE STRING,
LFACD TYPE STRING,
LFPST TYPE STRING,
STOCK_TYPE_RULE TYPE STRING,
MANDT TYPE STRING,
BSREG TYPE STRING,
SEGMT TYPE STRING,
BSTAR TYPE STRING,
ACTIV TYPE STRING,
ARUN_DESC TYPE STRING,
ARUN_MODE TYPE STRING,
REALLOC_RULE TYPE STRING,
MANDT TYPE STRING,
ASREG TYPE STRING,
FILL_F TYPE STRING,
FILL_H TYPE STRING,
FILL_R TYPE STRING,
FILL_D TYPE STRING,
DROP_F TYPE STRING,
DROP_H TYPE STRING,
DROP_R TYPE STRING,END OF T_EKKO_STR. DATA: WA_FSH_ARN_CUST_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_FSH_ARN_CUST_STR-EXTN_RULE sy-vline
WA_FSH_ARN_CUST_STR-MANDT sy-vline
WA_FSH_ARN_CUST_STR-SEREG sy-vline
WA_FSH_ARN_CUST_STR-COMPL_SO sy-vline
WA_FSH_ARN_CUST_STR-COMPL_STO sy-vline
WA_FSH_ARN_CUST_STR-REQ_SEL_RULE sy-vline
WA_FSH_ARN_CUST_STR-MANDT sy-vline
WA_FSH_ARN_CUST_STR-BDREG sy-vline
WA_FSH_ARN_CUST_STR-EORDR sy-vline
WA_FSH_ARN_CUST_STR-EPBDF sy-vline
WA_FSH_ARN_CUST_STR-ELBDF sy-vline
WA_FSH_ARN_CUST_STR-REBLC sy-vline
WA_FSH_ARN_CUST_STR-EXMTO sy-vline
WA_FSH_ARN_CUST_STR-STO sy-vline
WA_FSH_ARN_CUST_STR-STODATE sy-vline
WA_FSH_ARN_CUST_STR-RETPO sy-vline
WA_FSH_ARN_CUST_STR-SUBCPO sy-vline
WA_FSH_ARN_CUST_STR-FCNAM sy-vline
WA_FSH_ARN_CUST_STR-STK_SEL_RULE sy-vline
WA_FSH_ARN_CUST_STR-MANDT sy-vline
WA_FSH_ARN_CUST_STR-BSREG sy-vline
WA_FSH_ARN_CUST_STR-EBEST sy-vline
WA_FSH_ARN_CUST_STR-SMSLB sy-vline
WA_FSH_ARN_CUST_STR-SMSKU sy-vline
WA_FSH_ARN_CUST_STR-SMSKA sy-vline
WA_FSH_ARN_CUST_STR-SMCHB sy-vline
WA_FSH_ARN_CUST_STR-SHPNO sy-vline
WA_FSH_ARN_CUST_STR-FSH_LGONR sy-vline
WA_FSH_ARN_CUST_STR-FSH_FRDT sy-vline
WA_FSH_ARN_CUST_STR-STLOC sy-vline
WA_FSH_ARN_CUST_STR-VBUKZ sy-vline
WA_FSH_ARN_CUST_STR-EAUFK sy-vline
WA_FSH_ARN_CUST_STR-SMKOL sy-vline
WA_FSH_ARN_CUST_STR-REQ_FILTER_RULE sy-vline
WA_FSH_ARN_CUST_STR-MANDT sy-vline
WA_FSH_ARN_CUST_STR-FIREG sy-vline
WA_FSH_ARN_CUST_STR-KRDCK sy-vline
WA_FSH_ARN_CUST_STR-CRCHK sy-vline
WA_FSH_ARN_CUST_STR-CRCHK_U sy-vline
WA_FSH_ARN_CUST_STR-CRCHK_G sy-vline
WA_FSH_ARN_CUST_STR-OBLCK sy-vline
WA_FSH_ARN_CUST_STR-EXPCK sy-vline
WA_FSH_ARN_CUST_STR-CDTCK sy-vline
WA_FSH_ARN_CUST_STR-CDDAY sy-vline
WA_FSH_ARN_CUST_STR-SEACK sy-vline
WA_FSH_ARN_CUST_STR-SEDAY sy-vline
WA_FSH_ARN_CUST_STR-ANTLF sy-vline
WA_FSH_ARN_CUST_STR-STO_SEACK sy-vline
WA_FSH_ARN_CUST_STR-GROUPING_RULE sy-vline
WA_FSH_ARN_CUST_STR-ALLOCATION_LOGIC sy-vline
WA_FSH_ARN_CUST_STR-MANDT sy-vline
WA_FSH_ARN_CUST_STR-LOREG sy-vline
WA_FSH_ARN_CUST_STR-PAVOV sy-vline
WA_FSH_ARN_CUST_STR-REQUA sy-vline
WA_FSH_ARN_CUST_STR-FIFO sy-vline
WA_FSH_ARN_CUST_STR-SPREAD sy-vline
WA_FSH_ARN_CUST_STR-RELEASE_QTY sy-vline
WA_FSH_ARN_CUST_STR-REMAINING_QTY sy-vline
WA_FSH_ARN_CUST_STR-UPTO_PERCNT sy-vline
WA_FSH_ARN_CUST_STR-ALLOCATION_RULE sy-vline
WA_FSH_ARN_CUST_STR-MANDT sy-vline
WA_FSH_ARN_CUST_STR-ARULE sy-vline
WA_FSH_ARN_CUST_STR-BATCH_CHK sy-vline
WA_FSH_ARN_CUST_STR-LGONR_CHK sy-vline
WA_FSH_ARN_CUST_STR-RSCAT_CHK sy-vline
WA_FSH_ARN_CUST_STR-RSCAT_SORT sy-vline
WA_FSH_ARN_CUST_STR-CANCEL_CHK sy-vline
WA_FSH_ARN_CUST_STR-RQDAT sy-vline
WA_FSH_ARN_CUST_STR-RQDAT_STO sy-vline
WA_FSH_ARN_CUST_STR-STDAT sy-vline
WA_FSH_ARN_CUST_STR-DELIV_SCHED sy-vline
WA_FSH_ARN_CUST_STR-STOCK_SORT sy-vline
WA_FSH_ARN_CUST_STR-SOSTK sy-vline
WA_FSH_ARN_CUST_STR-TWO_WAY_STRATEGY sy-vline
WA_FSH_ARN_CUST_STR-SEASONS sy-vline
WA_FSH_ARN_CUST_STR-SEG_CHK sy-vline
WA_FSH_ARN_CUST_STR-VAS_CORRELATE sy-vline
WA_FSH_ARN_CUST_STR-BOM_CORRELATE sy-vline
WA_FSH_ARN_CUST_STR-DYNAMIC_SORT_RULE sy-vline
WA_FSH_ARN_CUST_STR-RQ_SORT_RULES sy-vline
WA_FSH_ARN_CUST_STR-FSH_SORT_DATA sy-vline
WA_FSH_ARN_CUST_STR-FSH_SOVA_DATA sy-vline
WA_FSH_ARN_CUST_STR-ST_SORT_RULES sy-vline
WA_FSH_ARN_CUST_STR-FSH_SORT_DATA sy-vline
WA_FSH_ARN_CUST_STR-FSH_SOVA_DATA sy-vline
WA_FSH_ARN_CUST_STR-EXTERNAL_GROUPS sy-vline
WA_FSH_ARN_CUST_STR-RELEASE_RULE sy-vline
WA_FSH_ARN_CUST_STR-MANDT sy-vline
WA_FSH_ARN_CUST_STR-REREG sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_G sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_G sy-vline
WA_FSH_ARN_CUST_STR-PERCT_G sy-vline
WA_FSH_ARN_CUST_STR-RESULT_G sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_SO sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_SO sy-vline
WA_FSH_ARN_CUST_STR-PERCT_SO sy-vline
WA_FSH_ARN_CUST_STR-RESULT_SO sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_DG sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_DG sy-vline
WA_FSH_ARN_CUST_STR-PERCT_DG sy-vline
WA_FSH_ARN_CUST_STR-BLANK_DG sy-vline
WA_FSH_ARN_CUST_STR-RESULT_DG sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_GA sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_GA sy-vline
WA_FSH_ARN_CUST_STR-PERCT_GA sy-vline
WA_FSH_ARN_CUST_STR-RESULT_GA sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_I sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_I sy-vline
WA_FSH_ARN_CUST_STR-PERCT_I sy-vline
WA_FSH_ARN_CUST_STR-RESULT_I sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_SL sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_SL sy-vline
WA_FSH_ARN_CUST_STR-PERCT_SL sy-vline
WA_FSH_ARN_CUST_STR-RESULT_SL sy-vline
WA_FSH_ARN_CUST_STR-MAXQU_SL sy-vline
WA_FSH_ARN_CUST_STR-FSH_BOMCORR sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_BOM sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_BOM sy-vline
WA_FSH_ARN_CUST_STR-PERCT_BOM sy-vline
WA_FSH_ARN_CUST_STR-RESULT_BOM sy-vline
WA_FSH_ARN_CUST_STR-FSH_VASCORR sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_VAS sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_VAS sy-vline
WA_FSH_ARN_CUST_STR-PERCT_VAS sy-vline
WA_FSH_ARN_CUST_STR-RESULT_VAS sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_SC sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_SC sy-vline
WA_FSH_ARN_CUST_STR-PERCT_SC sy-vline
WA_FSH_ARN_CUST_STR-BLANK_SC sy-vline
WA_FSH_ARN_CUST_STR-RESULT_SC sy-vline
WA_FSH_ARN_CUST_STR-SEASON_IND sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_OSL sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_OSL sy-vline
WA_FSH_ARN_CUST_STR-PERCT_OSL sy-vline
WA_FSH_ARN_CUST_STR-BLANK_OSL sy-vline
WA_FSH_ARN_CUST_STR-RESULT_OSL sy-vline
WA_FSH_ARN_CUST_STR-RESERVE_LD sy-vline
WA_FSH_ARN_CUST_STR-ORFUL_LD sy-vline
WA_FSH_ARN_CUST_STR-PERCT_LD sy-vline
WA_FSH_ARN_CUST_STR-RESULT_LD sy-vline
WA_FSH_ARN_CUST_STR-PERCT_COR sy-vline
WA_FSH_ARN_CUST_STR-FR_IND sy-vline
WA_FSH_ARN_CUST_STR-PERCT_CORELD sy-vline
WA_FSH_ARN_CUST_STR-LOG_RULE sy-vline
WA_FSH_ARN_CUST_STR-MANDT sy-vline
WA_FSH_ARN_CUST_STR-DLREG sy-vline
WA_FSH_ARN_CUST_STR-LFACT sy-vline
WA_FSH_ARN_CUST_STR-LFACD sy-vline
WA_FSH_ARN_CUST_STR-LFPST sy-vline
WA_FSH_ARN_CUST_STR-STOCK_TYPE_RULE sy-vline
WA_FSH_ARN_CUST_STR-MANDT sy-vline
WA_FSH_ARN_CUST_STR-BSREG sy-vline
WA_FSH_ARN_CUST_STR-SEGMT sy-vline
WA_FSH_ARN_CUST_STR-BSTAR sy-vline
WA_FSH_ARN_CUST_STR-ACTIV sy-vline
WA_FSH_ARN_CUST_STR-ARUN_DESC sy-vline
WA_FSH_ARN_CUST_STR-ARUN_MODE sy-vline
WA_FSH_ARN_CUST_STR-REALLOC_RULE sy-vline
WA_FSH_ARN_CUST_STR-MANDT sy-vline
WA_FSH_ARN_CUST_STR-ASREG sy-vline
WA_FSH_ARN_CUST_STR-FILL_F sy-vline
WA_FSH_ARN_CUST_STR-FILL_H sy-vline
WA_FSH_ARN_CUST_STR-FILL_R sy-vline
WA_FSH_ARN_CUST_STR-FILL_D sy-vline
WA_FSH_ARN_CUST_STR-DROP_F sy-vline
WA_FSH_ARN_CUST_STR-DROP_H sy-vline
WA_FSH_ARN_CUST_STR-DROP_R sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.