ABAP Select data from SAP table RN1PLANTREE_FORMAT 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 RN1PLANTREE_FORMAT 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 RN1PLANTREE_FORMAT. 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 RN1PLANTREE_FORMAT 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_RN1PLANTREE_FORMAT TYPE STANDARD TABLE OF RN1PLANTREE_FORMAT,
      WA_RN1PLANTREE_FORMAT TYPE RN1PLANTREE_FORMAT,
      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: <RN1PLANTREE_FORMAT> TYPE RN1PLANTREE_FORMAT.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RN1PLANTREE_FORMAT
*  INTO TABLE @DATA(IT_RN1PLANTREE_FORMAT2).
*--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_RN1PLANTREE_FORMAT INDEX 1 INTO DATA(WA_RN1PLANTREE_FORMAT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RN1PLANTREE_FORMAT ASSIGNING <RN1PLANTREE_FORMAT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RN1PLANTREE_FORMAT>-EINRI = 1.
<RN1PLANTREE_FORMAT>-ORGID = 1.
<RN1PLANTREE_FORMAT>-ORGID_NAME = 1.
<RN1PLANTREE_FORMAT>-ANFID = 1.
<RN1PLANTREE_FORMAT>-VKGID = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RN1PLANTREE_FORMAT-CORDERID, sy-vline,
WA_RN1PLANTREE_FORMAT-APCNID, sy-vline,
WA_RN1PLANTREE_FORMAT-TMNID, sy-vline,
WA_RN1PLANTREE_FORMAT-LNRLS, sy-vline,
WA_RN1PLANTREE_FORMAT-PATNR, sy-vline,
WA_RN1PLANTREE_FORMAT-PNAMEC, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RN1PLANTREE_FORMAT 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_RN1PLANTREE_FORMAT 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_RN1PLANTREE_FORMAT INTO WA_RN1PLANTREE_FORMAT. *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 EINRI CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-EINRI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-EINRI.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ORGID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-ORGID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-ORGID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TMNID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-TMNID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-TMNID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field LNRLS CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-LNRLS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-LNRLS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PATNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-PATNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-PATNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field FALNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-FALNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-FALNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PAPID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-PAPID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-PAPID.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ORGPF CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-ORGPF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-ORGPF.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ORGFA CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-ORGFA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-ORGFA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ROOM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-ROOM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-ROOM.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ORGPF_AKT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-ORGPF_AKT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-ORGPF_AKT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ANPOE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-ANPOE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-ANPOE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PERNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-PERNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-PERNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ZID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RN1PLANTREE_FORMAT-ZID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RN1PLANTREE_FORMAT-ZID.
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_RN1PLANTREE_FORMAT_STR,
EINRI TYPE STRING,
ORGID TYPE STRING,
ORGID_NAME TYPE STRING,
ANFID TYPE STRING,
VKGID TYPE STRING,
CORDERID TYPE STRING,
APCNID TYPE STRING,
TMNID TYPE STRING,
LNRLS TYPE STRING,
PATNR TYPE STRING,
PNAMEC TYPE STRING,
FALNR TYPE STRING,
PAPID TYPE STRING,
N1CDATE TYPE STRING,
N1DATE TYPE STRING,
N1CTIME TYPE STRING,
N1TIME TYPE STRING,
GBDAT TYPE STRING,
MENGE TYPE STRING,
AGEPAT TYPE STRING,
SRU_BEZ TYPE STRING,
EXPAND TYPE STRING,
BUTTON TYPE STRING,
KZ TYPE STRING,
NODEKEY TYPE STRING,
AFNDT TYPE STRING,
AFNZT TYPE STRING,
AFNCDT TYPE STRING,
AFNCZT TYPE STRING,
FALAR TYPE STRING,
FALAR_DESC TYPE STRING,
DITXT TYPE STRING,
ORGPF TYPE STRING,
ORGPF_NAME TYPE STRING,
ORGFA TYPE STRING,
ORGFA_NAME TYPE STRING,
N1PTINP TYPE STRING,
N1PTINT TYPE STRING,
GSCHLE TYPE STRING,
GSCHLTXT TYPE STRING,
TPAE TYPE STRING,
TPATXT TYPE STRING,
TRDRN TYPE STRING,
ROOM TYPE STRING,
ROOM_KB TYPE STRING,
PZMAN TYPE STRING,
N1CORDBMKG TYPE STRING,
PRIO TYPE STRING,
APRIE TYPE STRING,
APRITXT TYPE STRING,
PRIVP TYPE STRING,
PRIVP_ICON TYPE STRING,
RISIKO TYPE STRING,
RISIKO_ICON TYPE STRING,
ORGPF_AKT TYPE STRING,
ROOM_AKT TYPE STRING,
ANERF_ICON TYPE STRING,
PMEDFG_ICON TYPE STRING,
PMEDVS_ICON TYPE STRING,
IFGR TYPE STRING,
IFGR_TXT TYPE STRING,
IFGR_ICON TYPE STRING,
ANPOE TYPE STRING,
ANPOE_NAME TYPE STRING,
CUST_SPEC TYPE STRING,
ANAES TYPE STRING,
SURGEON TYPE STRING,
ASSIST TYPE STRING,
PERNR TYPE STRING,
PERNR_NAME TYPE STRING,
ZID TYPE STRING,
MANU_ICON TYPE STRING,
NO_TC_ICON TYPE STRING,
KEY_INT TYPE STRING,
KEY_RELAT TYPE STRING,
NODE_LAYOUT TYPE STRING,
HIDDEN TYPE STRING,
DISABLED TYPE STRING,
ISFOLDER TYPE STRING,
N_IMAGE TYPE STRING,
EXP_IMAGE TYPE STRING,
STYLE TYPE STRING,
LAST_HITEM TYPE STRING,
NO_BRANCH TYPE STRING,
EXPANDER TYPE STRING,
DRAGDROPID TYPE STRING,
ITEM_LAYOUT TYPE STRING,
NODE_TEXT TYPE STRING,
HIDDEN TYPE STRING,END OF T_EKKO_STR. DATA: WA_RN1PLANTREE_FORMAT_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_RN1PLANTREE_FORMAT_STR-EINRI sy-vline
WA_RN1PLANTREE_FORMAT_STR-ORGID sy-vline
WA_RN1PLANTREE_FORMAT_STR-ORGID_NAME sy-vline
WA_RN1PLANTREE_FORMAT_STR-ANFID sy-vline
WA_RN1PLANTREE_FORMAT_STR-VKGID sy-vline
WA_RN1PLANTREE_FORMAT_STR-CORDERID sy-vline
WA_RN1PLANTREE_FORMAT_STR-APCNID sy-vline
WA_RN1PLANTREE_FORMAT_STR-TMNID sy-vline
WA_RN1PLANTREE_FORMAT_STR-LNRLS sy-vline
WA_RN1PLANTREE_FORMAT_STR-PATNR sy-vline
WA_RN1PLANTREE_FORMAT_STR-PNAMEC sy-vline
WA_RN1PLANTREE_FORMAT_STR-FALNR sy-vline
WA_RN1PLANTREE_FORMAT_STR-PAPID sy-vline
WA_RN1PLANTREE_FORMAT_STR-N1CDATE sy-vline
WA_RN1PLANTREE_FORMAT_STR-N1DATE sy-vline
WA_RN1PLANTREE_FORMAT_STR-N1CTIME sy-vline
WA_RN1PLANTREE_FORMAT_STR-N1TIME sy-vline
WA_RN1PLANTREE_FORMAT_STR-GBDAT sy-vline
WA_RN1PLANTREE_FORMAT_STR-MENGE sy-vline
WA_RN1PLANTREE_FORMAT_STR-AGEPAT sy-vline
WA_RN1PLANTREE_FORMAT_STR-SRU_BEZ sy-vline
WA_RN1PLANTREE_FORMAT_STR-EXPAND sy-vline
WA_RN1PLANTREE_FORMAT_STR-BUTTON sy-vline
WA_RN1PLANTREE_FORMAT_STR-KZ sy-vline
WA_RN1PLANTREE_FORMAT_STR-NODEKEY sy-vline
WA_RN1PLANTREE_FORMAT_STR-AFNDT sy-vline
WA_RN1PLANTREE_FORMAT_STR-AFNZT sy-vline
WA_RN1PLANTREE_FORMAT_STR-AFNCDT sy-vline
WA_RN1PLANTREE_FORMAT_STR-AFNCZT sy-vline
WA_RN1PLANTREE_FORMAT_STR-FALAR sy-vline
WA_RN1PLANTREE_FORMAT_STR-FALAR_DESC sy-vline
WA_RN1PLANTREE_FORMAT_STR-DITXT sy-vline
WA_RN1PLANTREE_FORMAT_STR-ORGPF sy-vline
WA_RN1PLANTREE_FORMAT_STR-ORGPF_NAME sy-vline
WA_RN1PLANTREE_FORMAT_STR-ORGFA sy-vline
WA_RN1PLANTREE_FORMAT_STR-ORGFA_NAME sy-vline
WA_RN1PLANTREE_FORMAT_STR-N1PTINP sy-vline
WA_RN1PLANTREE_FORMAT_STR-N1PTINT sy-vline
WA_RN1PLANTREE_FORMAT_STR-GSCHLE sy-vline
WA_RN1PLANTREE_FORMAT_STR-GSCHLTXT sy-vline
WA_RN1PLANTREE_FORMAT_STR-TPAE sy-vline
WA_RN1PLANTREE_FORMAT_STR-TPATXT sy-vline
WA_RN1PLANTREE_FORMAT_STR-TRDRN sy-vline
WA_RN1PLANTREE_FORMAT_STR-ROOM sy-vline
WA_RN1PLANTREE_FORMAT_STR-ROOM_KB sy-vline
WA_RN1PLANTREE_FORMAT_STR-PZMAN sy-vline
WA_RN1PLANTREE_FORMAT_STR-N1CORDBMKG sy-vline
WA_RN1PLANTREE_FORMAT_STR-PRIO sy-vline
WA_RN1PLANTREE_FORMAT_STR-APRIE sy-vline
WA_RN1PLANTREE_FORMAT_STR-APRITXT sy-vline
WA_RN1PLANTREE_FORMAT_STR-PRIVP sy-vline
WA_RN1PLANTREE_FORMAT_STR-PRIVP_ICON sy-vline
WA_RN1PLANTREE_FORMAT_STR-RISIKO sy-vline
WA_RN1PLANTREE_FORMAT_STR-RISIKO_ICON sy-vline
WA_RN1PLANTREE_FORMAT_STR-ORGPF_AKT sy-vline
WA_RN1PLANTREE_FORMAT_STR-ROOM_AKT sy-vline
WA_RN1PLANTREE_FORMAT_STR-ANERF_ICON sy-vline
WA_RN1PLANTREE_FORMAT_STR-PMEDFG_ICON sy-vline
WA_RN1PLANTREE_FORMAT_STR-PMEDVS_ICON sy-vline
WA_RN1PLANTREE_FORMAT_STR-IFGR sy-vline
WA_RN1PLANTREE_FORMAT_STR-IFGR_TXT sy-vline
WA_RN1PLANTREE_FORMAT_STR-IFGR_ICON sy-vline
WA_RN1PLANTREE_FORMAT_STR-ANPOE sy-vline
WA_RN1PLANTREE_FORMAT_STR-ANPOE_NAME sy-vline
WA_RN1PLANTREE_FORMAT_STR-CUST_SPEC sy-vline
WA_RN1PLANTREE_FORMAT_STR-ANAES sy-vline
WA_RN1PLANTREE_FORMAT_STR-SURGEON sy-vline
WA_RN1PLANTREE_FORMAT_STR-ASSIST sy-vline
WA_RN1PLANTREE_FORMAT_STR-PERNR sy-vline
WA_RN1PLANTREE_FORMAT_STR-PERNR_NAME sy-vline
WA_RN1PLANTREE_FORMAT_STR-ZID sy-vline
WA_RN1PLANTREE_FORMAT_STR-MANU_ICON sy-vline
WA_RN1PLANTREE_FORMAT_STR-NO_TC_ICON sy-vline
WA_RN1PLANTREE_FORMAT_STR-KEY_INT sy-vline
WA_RN1PLANTREE_FORMAT_STR-KEY_RELAT sy-vline
WA_RN1PLANTREE_FORMAT_STR-NODE_LAYOUT sy-vline
WA_RN1PLANTREE_FORMAT_STR-HIDDEN sy-vline
WA_RN1PLANTREE_FORMAT_STR-DISABLED sy-vline
WA_RN1PLANTREE_FORMAT_STR-ISFOLDER sy-vline
WA_RN1PLANTREE_FORMAT_STR-N_IMAGE sy-vline
WA_RN1PLANTREE_FORMAT_STR-EXP_IMAGE sy-vline
WA_RN1PLANTREE_FORMAT_STR-STYLE sy-vline
WA_RN1PLANTREE_FORMAT_STR-LAST_HITEM sy-vline
WA_RN1PLANTREE_FORMAT_STR-NO_BRANCH sy-vline
WA_RN1PLANTREE_FORMAT_STR-EXPANDER sy-vline
WA_RN1PLANTREE_FORMAT_STR-DRAGDROPID sy-vline
WA_RN1PLANTREE_FORMAT_STR-ITEM_LAYOUT sy-vline
WA_RN1PLANTREE_FORMAT_STR-NODE_TEXT sy-vline
WA_RN1PLANTREE_FORMAT_STR-HIDDEN sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.