ABAP Select data from SAP table WRF_POTB_DATAX_AC_HEADPRC_STY 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 WRF_POTB_DATAX_AC_HEADPRC_STY 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 WRF_POTB_DATAX_AC_HEADPRC_STY. 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 WRF_POTB_DATAX_AC_HEADPRC_STY 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_WRF_POTB_DATAX_AC_HEADPRC_STY TYPE STANDARD TABLE OF WRF_POTB_DATAX_AC_HEADPRC_STY,
      WA_WRF_POTB_DATAX_AC_HEADPRC_STY TYPE WRF_POTB_DATAX_AC_HEADPRC_STY,
      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: <WRF_POTB_DATAX_AC_HEADPRC_STY> TYPE WRF_POTB_DATAX_AC_HEADPRC_STY.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM WRF_POTB_DATAX_AC_HEADPRC_STY
*  INTO TABLE @DATA(IT_WRF_POTB_DATAX_AC_HEADPRC_STY2).
*--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_WRF_POTB_DATAX_AC_HEADPRC_STY INDEX 1 INTO DATA(WA_WRF_POTB_DATAX_AC_HEADPRC_STY2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_WRF_POTB_DATAX_AC_HEADPRC_STY ASSIGNING <WRF_POTB_DATAX_AC_HEADPRC_STY>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<WRF_POTB_DATAX_AC_HEADPRC_STY>-MANDT = 1.
<WRF_POTB_DATAX_AC_HEADPRC_STY>-EBELN = 1.
<WRF_POTB_DATAX_AC_HEADPRC_STY>-EBELNX = 1.
<WRF_POTB_DATAX_AC_HEADPRC_STY>-BUKRS = 1.
<WRF_POTB_DATAX_AC_HEADPRC_STY>-BSTYP = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_WRF_POTB_DATAX_AC_HEADPRC_STY-BSART, sy-vline,
WA_WRF_POTB_DATAX_AC_HEADPRC_STY-BSAKZ, sy-vline,
WA_WRF_POTB_DATAX_AC_HEADPRC_STY-LOEKZ, sy-vline,
WA_WRF_POTB_DATAX_AC_HEADPRC_STY-STATU, sy-vline,
WA_WRF_POTB_DATAX_AC_HEADPRC_STY-AEDAT, sy-vline,
WA_WRF_POTB_DATAX_AC_HEADPRC_STY-ERNAM, sy-vline.
ENDLOOP. *Add any further fields from structure WA_WRF_POTB_DATAX_AC_HEADPRC_STY 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_WRF_POTB_DATAX_AC_HEADPRC_STY 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_WRF_POTB_DATAX_AC_HEADPRC_STY INTO WA_WRF_POTB_DATAX_AC_HEADPRC_STY. *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.

*Conversion exit ALPHA, internal->external for field EBELN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WRF_POTB_DATAX_AC_HEADPRC_STY-EBELN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WRF_POTB_DATAX_AC_HEADPRC_STY-EBELN.
WRITE:/ 'New Value:', ld_input.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_WRF_POTB_DATAX_AC_HEADPRC_STY_STR,
MANDT TYPE STRING,
EBELN TYPE STRING,
EBELNX TYPE STRING,
BUKRS TYPE STRING,
BSTYP TYPE STRING,
BSART TYPE STRING,
BSAKZ TYPE STRING,
LOEKZ TYPE STRING,
STATU TYPE STRING,
AEDAT TYPE STRING,
ERNAM TYPE STRING,
PINCR TYPE STRING,
LPONR TYPE STRING,
LIFNR TYPE STRING,
SPRAS TYPE STRING,
ZTERM TYPE STRING,
ZBD1T TYPE STRING,
ZBD2T TYPE STRING,
ZBD3T TYPE STRING,
ZBD1P TYPE STRING,
ZBD2P TYPE STRING,
EKORG TYPE STRING,
EKGRP TYPE STRING,
WAERS TYPE STRING,
WKURS TYPE STRING,
KUFIX TYPE STRING,
BEDAT TYPE STRING,
KDATB TYPE STRING,
KDATE TYPE STRING,
BWBDT TYPE STRING,
ANGDT TYPE STRING,
BNDDT TYPE STRING,
GWLDT TYPE STRING,
AUSNR TYPE STRING,
ANGNR TYPE STRING,
IHRAN TYPE STRING,
IHREZ TYPE STRING,
VERKF TYPE STRING,
TELF1 TYPE STRING,
LLIEF TYPE STRING,
KUNNR TYPE STRING,
KONNR TYPE STRING,
ABGRU TYPE STRING,
AUTLF TYPE STRING,
WEAKT TYPE STRING,
RESWK TYPE STRING,
LBLIF TYPE STRING,
INCO1 TYPE STRING,
INCO2 TYPE STRING,
KTWRT TYPE STRING,
SUBMI TYPE STRING,
KNUMV TYPE STRING,
KALSM TYPE STRING,
STAFO TYPE STRING,
LIFRE TYPE STRING,
EXNUM TYPE STRING,
UNSEZ TYPE STRING,
LOGSY TYPE STRING,
UPINC TYPE STRING,
STAKO TYPE STRING,
FRGGR TYPE STRING,
FRGSX TYPE STRING,
FRGKE TYPE STRING,
FRGZU TYPE STRING,
FRGRL TYPE STRING,
LANDS TYPE STRING,
LPHIS TYPE STRING,
ADRNR TYPE STRING,
STCEG_L TYPE STRING,
STCEG TYPE STRING,
ABSGR TYPE STRING,
ADDNR TYPE STRING,
KORNR TYPE STRING,
MEMORY TYPE STRING,
PROCSTAT TYPE STRING,
RLWRT TYPE STRING,
REVNO TYPE STRING,
POHF_TYPE TYPE STRING,
EQ_EINDT TYPE STRING,
EQ_WERKS TYPE STRING,
FIXPO TYPE STRING,
EKGRP_ALLOW TYPE STRING,
WERKS_ALLOW TYPE STRING,
CONTRACT_ALLOW TYPE STRING,
PSTYP_ALLOW TYPE STRING,
FIXPO_ALLOW TYPE STRING,
KEY_ID_ALLOW TYPE STRING,
AUREL_ALLOW TYPE STRING,
DELPER_ALLOW TYPE STRING,
EINDT_ALLOW TYPE STRING,
OTB_LEVEL TYPE STRING,
OTB_COND_TYPE TYPE STRING,
KEY_ID TYPE STRING,
OTB_VALUE TYPE STRING,
OTB_CURR TYPE STRING,
OTB_RES_VALUE TYPE STRING,
OTB_SPEC_VALUE TYPE STRING,
BUDG_TYPE TYPE STRING,
OTB_STATUS TYPE STRING,
OTB_REASON TYPE STRING,
VAL_AVAIL TYPE STRING,
VAL_SPENT TYPE STRING,
VAL_TOLERANCE TYPE STRING,
VAL_SPREL TYPE STRING,
OTB_MISS_VALUE TYPE STRING,
CHECK_TYPE TYPE STRING,
DATE_FROM TYPE STRING,
SPR_RSN_PROFILE TYPE STRING,
SUM_NETWR TYPE STRING,
UMSON TYPE STRING,
INCO2_L TYPE STRING,
INCO3_L TYPE STRING,END OF T_EKKO_STR. DATA: WA_WRF_POTB_DATAX_AC_HEADPRC_STY_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_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-MANDT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-EBELN sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-EBELNX sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-BUKRS sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-BSTYP sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-BSART sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-BSAKZ sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-LOEKZ sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-STATU sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-AEDAT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ERNAM sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-PINCR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-LPONR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-LIFNR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-SPRAS sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ZTERM sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ZBD1T sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ZBD2T sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ZBD3T sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ZBD1P sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ZBD2P sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-EKORG sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-EKGRP sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-WAERS sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-WKURS sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KUFIX sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-BEDAT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KDATB sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KDATE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-BWBDT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ANGDT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-BNDDT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-GWLDT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-AUSNR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ANGNR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-IHRAN sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-IHREZ sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-VERKF sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-TELF1 sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-LLIEF sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KUNNR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KONNR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ABGRU sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-AUTLF sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-WEAKT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-RESWK sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-LBLIF sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-INCO1 sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-INCO2 sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KTWRT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-SUBMI sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KNUMV sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KALSM sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-STAFO sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-LIFRE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-EXNUM sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-UNSEZ sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-LOGSY sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-UPINC sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-STAKO sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-FRGGR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-FRGSX sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-FRGKE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-FRGZU sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-FRGRL sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-LANDS sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-LPHIS sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ADRNR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-STCEG_L sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-STCEG sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ABSGR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-ADDNR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KORNR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-MEMORY sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-PROCSTAT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-RLWRT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-REVNO sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-POHF_TYPE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-EQ_EINDT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-EQ_WERKS sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-FIXPO sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-EKGRP_ALLOW sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-WERKS_ALLOW sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-CONTRACT_ALLOW sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-PSTYP_ALLOW sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-FIXPO_ALLOW sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KEY_ID_ALLOW sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-AUREL_ALLOW sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-DELPER_ALLOW sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-EINDT_ALLOW sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-OTB_LEVEL sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-OTB_COND_TYPE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-KEY_ID sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-OTB_VALUE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-OTB_CURR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-OTB_RES_VALUE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-OTB_SPEC_VALUE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-BUDG_TYPE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-OTB_STATUS sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-OTB_REASON sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-VAL_AVAIL sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-VAL_SPENT sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-VAL_TOLERANCE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-VAL_SPREL sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-OTB_MISS_VALUE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-CHECK_TYPE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-DATE_FROM sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-SPR_RSN_PROFILE sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-SUM_NETWR sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-UMSON sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-INCO2_L sy-vline
WA_WRF_POTB_DATAX_AC_HEADPRC_STY_STR-INCO3_L sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.