ABAP Select data from SAP table RJHAMOTX_INTERNAL 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 RJHAMOTX_INTERNAL 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 RJHAMOTX_INTERNAL. 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 RJHAMOTX_INTERNAL 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_RJHAMOTX_INTERNAL TYPE STANDARD TABLE OF RJHAMOTX_INTERNAL,
      WA_RJHAMOTX_INTERNAL TYPE RJHAMOTX_INTERNAL,
      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: <RJHAMOTX_INTERNAL> TYPE RJHAMOTX_INTERNAL.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RJHAMOTX_INTERNAL
*  INTO TABLE @DATA(IT_RJHAMOTX_INTERNAL2).
*--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_RJHAMOTX_INTERNAL INDEX 1 INTO DATA(WA_RJHAMOTX_INTERNAL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RJHAMOTX_INTERNAL ASSIGNING <RJHAMOTX_INTERNAL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RJHAMOTX_INTERNAL>-MANDT = 1.
<RJHAMOTX_INTERNAL>-AVM_NR = 1.
<RJHAMOTX_INTERNAL>-MOTIV = 1.
<RJHAMOTX_INTERNAL>-UPDATEFLAG = 1.
<RJHAMOTX_INTERNAL>-MOTIVID = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RJHAMOTX_INTERNAL-NOTIZ, sy-vline,
WA_RJHAMOTX_INTERNAL-VORL_AVMNR, sy-vline,
WA_RJHAMOTX_INTERNAL-VORL_MOTNR, sy-vline,
WA_RJHAMOTX_INTERNAL-VORL_TECID, sy-vline,
WA_RJHAMOTX_INTERNAL-DRVORL_NR, sy-vline,
WA_RJHAMOTX_INTERNAL-AZART_SOND, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RJHAMOTX_INTERNAL 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_RJHAMOTX_INTERNAL 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_RJHAMOTX_INTERNAL INTO WA_RJHAMOTX_INTERNAL. *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 AVM_NR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RJHAMOTX_INTERNAL-AVM_NR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RJHAMOTX_INTERNAL-AVM_NR.
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_RJHAMOTX_INTERNAL_STR,
MANDT TYPE STRING,
AVM_NR TYPE STRING,
MOTIV TYPE STRING,
UPDATEFLAG TYPE STRING,
MOTIVID TYPE STRING,
NOTIZ TYPE STRING,
VORL_AVMNR TYPE STRING,
VORL_MOTNR TYPE STRING,
VORL_TECID TYPE STRING,
DRVORL_NR TYPE STRING,
AZART_SOND TYPE STRING,
ASOND_KOMM TYPE STRING,
AZART_GEST TYPE STRING,
AZART_FORM TYPE STRING,
AZART_AREA TYPE STRING,
AREA_UEBER TYPE STRING,
AREA_BLATT TYPE STRING,
XMOTLINKS TYPE STRING,
XMOTRECHTS TYPE STRING,
HOEHE_I TYPE STRING,
HOEHE_I_EH TYPE STRING,
BREITE_I TYPE STRING,
BREITE_IEH TYPE STRING,
HOEHE_T TYPE STRING,
HOEHE_T_EH TYPE STRING,
BREITE_T TYPE STRING,
BREITE_TEH TYPE STRING,
HOEHE_S TYPE STRING,
HOEHE_S_EH TYPE STRING,
BREITE_S TYPE STRING,
BREITE_SEH TYPE STRING,
ZUS_BERECH TYPE STRING,
ZUS_MENGE TYPE STRING,
XHOEHE_ZWI TYPE STRING,
SEITE_FSP TYPE STRING,
AZART_FARB TYPE STRING,
AZFARB_IST TYPE STRING,
GRUNFARBEN TYPE STRING,
ZUSATZFA1 TYPE STRING,
ZUSATZFA2 TYPE STRING,
ZUSATZFA3 TYPE STRING,
XSCHMFAAUF TYPE STRING,
FARBKOMM TYPE STRING,
TYPO_NR TYPE STRING,
RAHMENTYP TYPE STRING,
RAHMENSTAE TYPE STRING,
RAHMENEINH TYPE STRING,
INVERSKNZ TYPE STRING,
RASTER TYPE STRING,
TMOT_KENNZ TYPE STRING,
TMOT_NR TYPE STRING,
TMOT_ANZ TYPE STRING,
TMOT_BEZUG TYPE STRING,
TMOT_LAGE TYPE STRING,
TMOT_KOMM TYPE STRING,
TMOT_UEBER TYPE STRING,
BREITETMOT TYPE STRING,
BREITETMEH TYPE STRING,
HOEHETMOT TYPE STRING,
HOEHETMEH TYPE STRING,
STICHW TYPE STRING,
PRODH TYPE STRING,
TEXTSPITZE TYPE STRING,
ABW_TELLND TYPE STRING,
ABW_TELVW TYPE STRING,
ABW_TEL TYPE STRING,
TELEF_ART TYPE STRING,
BILOZ_ANZ TYPE STRING,
BILOZ_KOMM TYPE STRING,
XANSCHNITT TYPE STRING,
XUEBERBUND TYPE STRING,
XCOUPON TYPE STRING,
COUPON_KNZ TYPE STRING,
COUPON_LGE TYPE STRING,
KENNZIFFER TYPE STRING,
SUJET_NR TYPE STRING,
SERVICENR TYPE STRING,
MOTEXTINF1 TYPE STRING,
MOTEXTINF2 TYPE STRING,
MOTEXTINF3 TYPE STRING,
MOTEXTINF4 TYPE STRING,
XPRNOTW TYPE STRING,
XPRINHNOTW TYPE STRING,
XKUNK_NOTW TYPE STRING,
XMOTPROD TYPE STRING,
XDIFF_SIZE TYPE STRING,
MERKMAL0 TYPE STRING,
MERKMAL1 TYPE STRING,
MERKMAL2 TYPE STRING,
MERKMAL3 TYPE STRING,
MERKMAL4 TYPE STRING,
MERKMAL5 TYPE STRING,
MERKMAL6 TYPE STRING,
MERKMAL7 TYPE STRING,
MERKMAL8 TYPE STRING,
MERKMAL9 TYPE STRING,
XSTORNIERT TYPE STRING,END OF T_EKKO_STR. DATA: WA_RJHAMOTX_INTERNAL_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_RJHAMOTX_INTERNAL_STR-MANDT sy-vline
WA_RJHAMOTX_INTERNAL_STR-AVM_NR sy-vline
WA_RJHAMOTX_INTERNAL_STR-MOTIV sy-vline
WA_RJHAMOTX_INTERNAL_STR-UPDATEFLAG sy-vline
WA_RJHAMOTX_INTERNAL_STR-MOTIVID sy-vline
WA_RJHAMOTX_INTERNAL_STR-NOTIZ sy-vline
WA_RJHAMOTX_INTERNAL_STR-VORL_AVMNR sy-vline
WA_RJHAMOTX_INTERNAL_STR-VORL_MOTNR sy-vline
WA_RJHAMOTX_INTERNAL_STR-VORL_TECID sy-vline
WA_RJHAMOTX_INTERNAL_STR-DRVORL_NR sy-vline
WA_RJHAMOTX_INTERNAL_STR-AZART_SOND sy-vline
WA_RJHAMOTX_INTERNAL_STR-ASOND_KOMM sy-vline
WA_RJHAMOTX_INTERNAL_STR-AZART_GEST sy-vline
WA_RJHAMOTX_INTERNAL_STR-AZART_FORM sy-vline
WA_RJHAMOTX_INTERNAL_STR-AZART_AREA sy-vline
WA_RJHAMOTX_INTERNAL_STR-AREA_UEBER sy-vline
WA_RJHAMOTX_INTERNAL_STR-AREA_BLATT sy-vline
WA_RJHAMOTX_INTERNAL_STR-XMOTLINKS sy-vline
WA_RJHAMOTX_INTERNAL_STR-XMOTRECHTS sy-vline
WA_RJHAMOTX_INTERNAL_STR-HOEHE_I sy-vline
WA_RJHAMOTX_INTERNAL_STR-HOEHE_I_EH sy-vline
WA_RJHAMOTX_INTERNAL_STR-BREITE_I sy-vline
WA_RJHAMOTX_INTERNAL_STR-BREITE_IEH sy-vline
WA_RJHAMOTX_INTERNAL_STR-HOEHE_T sy-vline
WA_RJHAMOTX_INTERNAL_STR-HOEHE_T_EH sy-vline
WA_RJHAMOTX_INTERNAL_STR-BREITE_T sy-vline
WA_RJHAMOTX_INTERNAL_STR-BREITE_TEH sy-vline
WA_RJHAMOTX_INTERNAL_STR-HOEHE_S sy-vline
WA_RJHAMOTX_INTERNAL_STR-HOEHE_S_EH sy-vline
WA_RJHAMOTX_INTERNAL_STR-BREITE_S sy-vline
WA_RJHAMOTX_INTERNAL_STR-BREITE_SEH sy-vline
WA_RJHAMOTX_INTERNAL_STR-ZUS_BERECH sy-vline
WA_RJHAMOTX_INTERNAL_STR-ZUS_MENGE sy-vline
WA_RJHAMOTX_INTERNAL_STR-XHOEHE_ZWI sy-vline
WA_RJHAMOTX_INTERNAL_STR-SEITE_FSP sy-vline
WA_RJHAMOTX_INTERNAL_STR-AZART_FARB sy-vline
WA_RJHAMOTX_INTERNAL_STR-AZFARB_IST sy-vline
WA_RJHAMOTX_INTERNAL_STR-GRUNFARBEN sy-vline
WA_RJHAMOTX_INTERNAL_STR-ZUSATZFA1 sy-vline
WA_RJHAMOTX_INTERNAL_STR-ZUSATZFA2 sy-vline
WA_RJHAMOTX_INTERNAL_STR-ZUSATZFA3 sy-vline
WA_RJHAMOTX_INTERNAL_STR-XSCHMFAAUF sy-vline
WA_RJHAMOTX_INTERNAL_STR-FARBKOMM sy-vline
WA_RJHAMOTX_INTERNAL_STR-TYPO_NR sy-vline
WA_RJHAMOTX_INTERNAL_STR-RAHMENTYP sy-vline
WA_RJHAMOTX_INTERNAL_STR-RAHMENSTAE sy-vline
WA_RJHAMOTX_INTERNAL_STR-RAHMENEINH sy-vline
WA_RJHAMOTX_INTERNAL_STR-INVERSKNZ sy-vline
WA_RJHAMOTX_INTERNAL_STR-RASTER sy-vline
WA_RJHAMOTX_INTERNAL_STR-TMOT_KENNZ sy-vline
WA_RJHAMOTX_INTERNAL_STR-TMOT_NR sy-vline
WA_RJHAMOTX_INTERNAL_STR-TMOT_ANZ sy-vline
WA_RJHAMOTX_INTERNAL_STR-TMOT_BEZUG sy-vline
WA_RJHAMOTX_INTERNAL_STR-TMOT_LAGE sy-vline
WA_RJHAMOTX_INTERNAL_STR-TMOT_KOMM sy-vline
WA_RJHAMOTX_INTERNAL_STR-TMOT_UEBER sy-vline
WA_RJHAMOTX_INTERNAL_STR-BREITETMOT sy-vline
WA_RJHAMOTX_INTERNAL_STR-BREITETMEH sy-vline
WA_RJHAMOTX_INTERNAL_STR-HOEHETMOT sy-vline
WA_RJHAMOTX_INTERNAL_STR-HOEHETMEH sy-vline
WA_RJHAMOTX_INTERNAL_STR-STICHW sy-vline
WA_RJHAMOTX_INTERNAL_STR-PRODH sy-vline
WA_RJHAMOTX_INTERNAL_STR-TEXTSPITZE sy-vline
WA_RJHAMOTX_INTERNAL_STR-ABW_TELLND sy-vline
WA_RJHAMOTX_INTERNAL_STR-ABW_TELVW sy-vline
WA_RJHAMOTX_INTERNAL_STR-ABW_TEL sy-vline
WA_RJHAMOTX_INTERNAL_STR-TELEF_ART sy-vline
WA_RJHAMOTX_INTERNAL_STR-BILOZ_ANZ sy-vline
WA_RJHAMOTX_INTERNAL_STR-BILOZ_KOMM sy-vline
WA_RJHAMOTX_INTERNAL_STR-XANSCHNITT sy-vline
WA_RJHAMOTX_INTERNAL_STR-XUEBERBUND sy-vline
WA_RJHAMOTX_INTERNAL_STR-XCOUPON sy-vline
WA_RJHAMOTX_INTERNAL_STR-COUPON_KNZ sy-vline
WA_RJHAMOTX_INTERNAL_STR-COUPON_LGE sy-vline
WA_RJHAMOTX_INTERNAL_STR-KENNZIFFER sy-vline
WA_RJHAMOTX_INTERNAL_STR-SUJET_NR sy-vline
WA_RJHAMOTX_INTERNAL_STR-SERVICENR sy-vline
WA_RJHAMOTX_INTERNAL_STR-MOTEXTINF1 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MOTEXTINF2 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MOTEXTINF3 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MOTEXTINF4 sy-vline
WA_RJHAMOTX_INTERNAL_STR-XPRNOTW sy-vline
WA_RJHAMOTX_INTERNAL_STR-XPRINHNOTW sy-vline
WA_RJHAMOTX_INTERNAL_STR-XKUNK_NOTW sy-vline
WA_RJHAMOTX_INTERNAL_STR-XMOTPROD sy-vline
WA_RJHAMOTX_INTERNAL_STR-XDIFF_SIZE sy-vline
WA_RJHAMOTX_INTERNAL_STR-MERKMAL0 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MERKMAL1 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MERKMAL2 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MERKMAL3 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MERKMAL4 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MERKMAL5 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MERKMAL6 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MERKMAL7 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MERKMAL8 sy-vline
WA_RJHAMOTX_INTERNAL_STR-MERKMAL9 sy-vline
WA_RJHAMOTX_INTERNAL_STR-XSTORNIERT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.