ABAP Select data from SAP table REXCSKTAXRET_P 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 REXCSKTAXRET_P 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 REXCSKTAXRET_P. 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 REXCSKTAXRET_P 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_REXCSKTAXRET_P TYPE STANDARD TABLE OF REXCSKTAXRET_P,
      WA_REXCSKTAXRET_P TYPE REXCSKTAXRET_P,
      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: <REXCSKTAXRET_P> TYPE REXCSKTAXRET_P.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM REXCSKTAXRET_P
*  INTO TABLE @DATA(IT_REXCSKTAXRET_P2).
*--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_REXCSKTAXRET_P INDEX 1 INTO DATA(WA_REXCSKTAXRET_P2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_REXCSKTAXRET_P ASSIGNING <REXCSKTAXRET_P>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<REXCSKTAXRET_P>-TYPNEM = 1.
<REXCSKTAXRET_P>-ODDIL = 1.
<REXCSKTAXRET_P>-SHEET = 1.
<REXCSKTAXRET_P>-XAGR = 1.
<REXCSKTAXRET_P>-H_ICO = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_REXCSKTAXRET_P-H_DIC, sy-vline,
WA_REXCSKTAXRET_P-HX_KODOBCE, sy-vline,
WA_REXCSKTAXRET_P-HX_KODCOBCE, sy-vline,
WA_REXCSKTAXRET_P-HX_KODKU, sy-vline,
WA_REXCSKTAXRET_P-H_NAZOBCE, sy-vline,
WA_REXCSKTAXRET_P-H_NAZKU, sy-vline.
ENDLOOP. *Add any further fields from structure WA_REXCSKTAXRET_P 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_REXCSKTAXRET_P 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_REXCSKTAXRET_P INTO WA_REXCSKTAXRET_P. *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 GJAHR, internal->external for field HX_OSVOD CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_REXCSKTAXRET_P-HX_OSVOD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REXCSKTAXRET_P-HX_OSVOD.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field HX_OSVDO CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_REXCSKTAXRET_P-HX_OSVDO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REXCSKTAXRET_P-HX_OSVDO.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field HX_REDOD CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_REXCSKTAXRET_P-HX_REDOD IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REXCSKTAXRET_P-HX_REDOD.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field HX_REDDO CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_REXCSKTAXRET_P-HX_REDDO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_REXCSKTAXRET_P-HX_REDDO.
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_REXCSKTAXRET_P_STR,
TYPNEM TYPE STRING,
ODDIL TYPE STRING,
SHEET TYPE STRING,
XAGR TYPE STRING,
H_ICO TYPE STRING,
H_DIC TYPE STRING,
HX_KODOBCE TYPE STRING,
HX_KODCOBCE TYPE STRING,
HX_KODKU TYPE STRING,
H_NAZOBCE TYPE STRING,
H_NAZKU TYPE STRING,
H_PARCELA TYPE STRING,
H_DRNEM TYPE STRING,
H_POPIS TYPE STRING,
H_PRAVZTAH TYPE STRING,
H_SPOLVLAST TYPE STRING,
H_POCSPOL TYPE STRING,
H_SPOLDOH TYPE STRING,
H_USAGE TYPE STRING,
HX_KOSVOB TYPE STRING,
HX_OSVOD TYPE STRING,
HX_OSVDO TYPE STRING,
HX_KODREDU TYPE STRING,
HX_REDOD TYPE STRING,
HX_REDDO TYPE STRING,
H_DUVOSVOB TYPE STRING,
H_ULICE TYPE STRING,
H_CISLOP TYPE STRING,
H_CIZIPOZ TYPE STRING,
H_CISBYT TYPE STRING,
H_CISNBYT TYPE STRING,
H_NBYT TYPE STRING,
HX_DATVYDRAZ TYPE STRING,
HX_AUCTION TYPE STRING,
P_VYMERA TYPE STRING,
P_VYMERAOSV TYPE STRING,
P_VYMERADAN TYPE STRING,
P_TRANSFSTAT TYPE STRING,
P_PRICEBYEXP TYPE STRING,
P_HODNPUDY TYPE STRING,
P_ZAKLAD TYPE STRING,
P_ZAKLAD_Z TYPE STRING,
P_ROCSAZ TYPE STRING,
BA_VYMERAZAS TYPE STRING,
BA_VYMERAPODL TYPE STRING,
BA_VYMERAOSV TYPE STRING,
BA_KOEFOSL TYPE STRING,
BA_ZAKLADM2 TYPE STRING,
BA_ROCSAZ TYPE STRING,
BA_POCPATER TYPE STRING,
BA_PRIPLPOD TYPE STRING,
BB_VYMERAZAS TYPE STRING,
BB_VYMERAPODL TYPE STRING,
BB_VYMERAOSV TYPE STRING,
BB_VYMERAPODL_A TYPE STRING,
BB_VYMERAPODL_B TYPE STRING,
BB_VYMERAPODL_C TYPE STRING,
BB_VYMERAPODL_D TYPE STRING,
BB_VYMERAPODL_E TYPE STRING,
BB_VYMERAPODL_F TYPE STRING,
BB_VYMERAPODL_G TYPE STRING,
BB_VYMERAPODL_H TYPE STRING,
BB_VYMERAPODL_I TYPE STRING,
BB_POCPATER TYPE STRING,
BB_KOEFOSL TYPE STRING,
BB_ZAKLADM2 TYPE STRING,
BB_POMCAST_A TYPE STRING,
BB_POMCAST_B TYPE STRING,
BB_POMCAST_C TYPE STRING,
BB_POMCAST_D TYPE STRING,
BB_POMCAST_E TYPE STRING,
BB_POMCAST_F TYPE STRING,
BB_POMCAST_G TYPE STRING,
BB_POMCAST_H TYPE STRING,
BB_POMCAST_I TYPE STRING,
BB_ROCSAZ_A TYPE STRING,
BB_ROCSAZ_B TYPE STRING,
BB_ROCSAZ_C TYPE STRING,
BB_ROCSAZ_D TYPE STRING,
BB_ROCSAZ_E TYPE STRING,
BB_ROCSAZ_F TYPE STRING,
BB_ROCSAZ_G TYPE STRING,
BB_ROCSAZ_H TYPE STRING,
BB_ROCSAZ_I TYPE STRING,
BB_PRIPLPOD_A TYPE STRING,
BB_PRIPLPOD_B TYPE STRING,
BB_PRIPLPOD_C TYPE STRING,
BB_PRIPLPOD_D TYPE STRING,
BB_PRIPLPOD_E TYPE STRING,
BB_PRIPLPOD_F TYPE STRING,
BB_PRIPLPOD_G TYPE STRING,
BB_PRIPLPOD_H TYPE STRING,
BB_PRIPLPOD_I TYPE STRING,
BB_DANPOM_A TYPE STRING,
BB_DANPOM_B TYPE STRING,
BB_DANPOM_C TYPE STRING,
BB_DANPOM_D TYPE STRING,
BB_DANPOM_E TYPE STRING,
BB_DANPOM_F TYPE STRING,
BB_DANPOM_G TYPE STRING,
BB_DANPOM_H TYPE STRING,
BB_DANPOM_I TYPE STRING,
F_VYMERAPODL_B TYPE STRING,
F_VYMERAPODL_NB TYPE STRING,
F_VYMERAOSV_B TYPE STRING,
F_VYMERAOSV_NB TYPE STRING,
F_PODPLBNONLIV TYPE STRING,
F_VYMERADAN_B TYPE STRING,
F_VYMERADAN_NB TYPE STRING,
F_ZAKLADM2_B TYPE STRING,
F_ZAKLADM2_NB TYPE STRING,
F_ROCSAZ_B TYPE STRING,
F_ROCSAZ_NB TYPE STRING,
F_DAN_B TYPE STRING,
F_DAN_NB TYPE STRING,
F_DANPOMV_B TYPE STRING,
F_DANPOMV_NB TYPE STRING,
F_DANSNIZ_B TYPE STRING,
F_DANSNIZ_NB TYPE STRING,
POZNAMKA TYPE STRING,
DAN TYPE STRING,
DANPOMV TYPE STRING,
DANSNIZ TYPE STRING,
DANUHR TYPE STRING,
DANROZ TYPE STRING,
TAXTOTAL TYPE STRING,
WAERS TYPE STRING,
DATVYPOCTU TYPE STRING,
CASVYPOCTU TYPE STRING,
STAVYPOCTU TYPE STRING,
USERVYPOCTU TYPE STRING,
LOG_HNDL TYPE STRING,END OF T_EKKO_STR. DATA: WA_REXCSKTAXRET_P_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_REXCSKTAXRET_P_STR-TYPNEM sy-vline
WA_REXCSKTAXRET_P_STR-ODDIL sy-vline
WA_REXCSKTAXRET_P_STR-SHEET sy-vline
WA_REXCSKTAXRET_P_STR-XAGR sy-vline
WA_REXCSKTAXRET_P_STR-H_ICO sy-vline
WA_REXCSKTAXRET_P_STR-H_DIC sy-vline
WA_REXCSKTAXRET_P_STR-HX_KODOBCE sy-vline
WA_REXCSKTAXRET_P_STR-HX_KODCOBCE sy-vline
WA_REXCSKTAXRET_P_STR-HX_KODKU sy-vline
WA_REXCSKTAXRET_P_STR-H_NAZOBCE sy-vline
WA_REXCSKTAXRET_P_STR-H_NAZKU sy-vline
WA_REXCSKTAXRET_P_STR-H_PARCELA sy-vline
WA_REXCSKTAXRET_P_STR-H_DRNEM sy-vline
WA_REXCSKTAXRET_P_STR-H_POPIS sy-vline
WA_REXCSKTAXRET_P_STR-H_PRAVZTAH sy-vline
WA_REXCSKTAXRET_P_STR-H_SPOLVLAST sy-vline
WA_REXCSKTAXRET_P_STR-H_POCSPOL sy-vline
WA_REXCSKTAXRET_P_STR-H_SPOLDOH sy-vline
WA_REXCSKTAXRET_P_STR-H_USAGE sy-vline
WA_REXCSKTAXRET_P_STR-HX_KOSVOB sy-vline
WA_REXCSKTAXRET_P_STR-HX_OSVOD sy-vline
WA_REXCSKTAXRET_P_STR-HX_OSVDO sy-vline
WA_REXCSKTAXRET_P_STR-HX_KODREDU sy-vline
WA_REXCSKTAXRET_P_STR-HX_REDOD sy-vline
WA_REXCSKTAXRET_P_STR-HX_REDDO sy-vline
WA_REXCSKTAXRET_P_STR-H_DUVOSVOB sy-vline
WA_REXCSKTAXRET_P_STR-H_ULICE sy-vline
WA_REXCSKTAXRET_P_STR-H_CISLOP sy-vline
WA_REXCSKTAXRET_P_STR-H_CIZIPOZ sy-vline
WA_REXCSKTAXRET_P_STR-H_CISBYT sy-vline
WA_REXCSKTAXRET_P_STR-H_CISNBYT sy-vline
WA_REXCSKTAXRET_P_STR-H_NBYT sy-vline
WA_REXCSKTAXRET_P_STR-HX_DATVYDRAZ sy-vline
WA_REXCSKTAXRET_P_STR-HX_AUCTION sy-vline
WA_REXCSKTAXRET_P_STR-P_VYMERA sy-vline
WA_REXCSKTAXRET_P_STR-P_VYMERAOSV sy-vline
WA_REXCSKTAXRET_P_STR-P_VYMERADAN sy-vline
WA_REXCSKTAXRET_P_STR-P_TRANSFSTAT sy-vline
WA_REXCSKTAXRET_P_STR-P_PRICEBYEXP sy-vline
WA_REXCSKTAXRET_P_STR-P_HODNPUDY sy-vline
WA_REXCSKTAXRET_P_STR-P_ZAKLAD sy-vline
WA_REXCSKTAXRET_P_STR-P_ZAKLAD_Z sy-vline
WA_REXCSKTAXRET_P_STR-P_ROCSAZ sy-vline
WA_REXCSKTAXRET_P_STR-BA_VYMERAZAS sy-vline
WA_REXCSKTAXRET_P_STR-BA_VYMERAPODL sy-vline
WA_REXCSKTAXRET_P_STR-BA_VYMERAOSV sy-vline
WA_REXCSKTAXRET_P_STR-BA_KOEFOSL sy-vline
WA_REXCSKTAXRET_P_STR-BA_ZAKLADM2 sy-vline
WA_REXCSKTAXRET_P_STR-BA_ROCSAZ sy-vline
WA_REXCSKTAXRET_P_STR-BA_POCPATER sy-vline
WA_REXCSKTAXRET_P_STR-BA_PRIPLPOD sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAZAS sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAPODL sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAOSV sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAPODL_A sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAPODL_B sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAPODL_C sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAPODL_D sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAPODL_E sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAPODL_F sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAPODL_G sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAPODL_H sy-vline
WA_REXCSKTAXRET_P_STR-BB_VYMERAPODL_I sy-vline
WA_REXCSKTAXRET_P_STR-BB_POCPATER sy-vline
WA_REXCSKTAXRET_P_STR-BB_KOEFOSL sy-vline
WA_REXCSKTAXRET_P_STR-BB_ZAKLADM2 sy-vline
WA_REXCSKTAXRET_P_STR-BB_POMCAST_A sy-vline
WA_REXCSKTAXRET_P_STR-BB_POMCAST_B sy-vline
WA_REXCSKTAXRET_P_STR-BB_POMCAST_C sy-vline
WA_REXCSKTAXRET_P_STR-BB_POMCAST_D sy-vline
WA_REXCSKTAXRET_P_STR-BB_POMCAST_E sy-vline
WA_REXCSKTAXRET_P_STR-BB_POMCAST_F sy-vline
WA_REXCSKTAXRET_P_STR-BB_POMCAST_G sy-vline
WA_REXCSKTAXRET_P_STR-BB_POMCAST_H sy-vline
WA_REXCSKTAXRET_P_STR-BB_POMCAST_I sy-vline
WA_REXCSKTAXRET_P_STR-BB_ROCSAZ_A sy-vline
WA_REXCSKTAXRET_P_STR-BB_ROCSAZ_B sy-vline
WA_REXCSKTAXRET_P_STR-BB_ROCSAZ_C sy-vline
WA_REXCSKTAXRET_P_STR-BB_ROCSAZ_D sy-vline
WA_REXCSKTAXRET_P_STR-BB_ROCSAZ_E sy-vline
WA_REXCSKTAXRET_P_STR-BB_ROCSAZ_F sy-vline
WA_REXCSKTAXRET_P_STR-BB_ROCSAZ_G sy-vline
WA_REXCSKTAXRET_P_STR-BB_ROCSAZ_H sy-vline
WA_REXCSKTAXRET_P_STR-BB_ROCSAZ_I sy-vline
WA_REXCSKTAXRET_P_STR-BB_PRIPLPOD_A sy-vline
WA_REXCSKTAXRET_P_STR-BB_PRIPLPOD_B sy-vline
WA_REXCSKTAXRET_P_STR-BB_PRIPLPOD_C sy-vline
WA_REXCSKTAXRET_P_STR-BB_PRIPLPOD_D sy-vline
WA_REXCSKTAXRET_P_STR-BB_PRIPLPOD_E sy-vline
WA_REXCSKTAXRET_P_STR-BB_PRIPLPOD_F sy-vline
WA_REXCSKTAXRET_P_STR-BB_PRIPLPOD_G sy-vline
WA_REXCSKTAXRET_P_STR-BB_PRIPLPOD_H sy-vline
WA_REXCSKTAXRET_P_STR-BB_PRIPLPOD_I sy-vline
WA_REXCSKTAXRET_P_STR-BB_DANPOM_A sy-vline
WA_REXCSKTAXRET_P_STR-BB_DANPOM_B sy-vline
WA_REXCSKTAXRET_P_STR-BB_DANPOM_C sy-vline
WA_REXCSKTAXRET_P_STR-BB_DANPOM_D sy-vline
WA_REXCSKTAXRET_P_STR-BB_DANPOM_E sy-vline
WA_REXCSKTAXRET_P_STR-BB_DANPOM_F sy-vline
WA_REXCSKTAXRET_P_STR-BB_DANPOM_G sy-vline
WA_REXCSKTAXRET_P_STR-BB_DANPOM_H sy-vline
WA_REXCSKTAXRET_P_STR-BB_DANPOM_I sy-vline
WA_REXCSKTAXRET_P_STR-F_VYMERAPODL_B sy-vline
WA_REXCSKTAXRET_P_STR-F_VYMERAPODL_NB sy-vline
WA_REXCSKTAXRET_P_STR-F_VYMERAOSV_B sy-vline
WA_REXCSKTAXRET_P_STR-F_VYMERAOSV_NB sy-vline
WA_REXCSKTAXRET_P_STR-F_PODPLBNONLIV sy-vline
WA_REXCSKTAXRET_P_STR-F_VYMERADAN_B sy-vline
WA_REXCSKTAXRET_P_STR-F_VYMERADAN_NB sy-vline
WA_REXCSKTAXRET_P_STR-F_ZAKLADM2_B sy-vline
WA_REXCSKTAXRET_P_STR-F_ZAKLADM2_NB sy-vline
WA_REXCSKTAXRET_P_STR-F_ROCSAZ_B sy-vline
WA_REXCSKTAXRET_P_STR-F_ROCSAZ_NB sy-vline
WA_REXCSKTAXRET_P_STR-F_DAN_B sy-vline
WA_REXCSKTAXRET_P_STR-F_DAN_NB sy-vline
WA_REXCSKTAXRET_P_STR-F_DANPOMV_B sy-vline
WA_REXCSKTAXRET_P_STR-F_DANPOMV_NB sy-vline
WA_REXCSKTAXRET_P_STR-F_DANSNIZ_B sy-vline
WA_REXCSKTAXRET_P_STR-F_DANSNIZ_NB sy-vline
WA_REXCSKTAXRET_P_STR-POZNAMKA sy-vline
WA_REXCSKTAXRET_P_STR-DAN sy-vline
WA_REXCSKTAXRET_P_STR-DANPOMV sy-vline
WA_REXCSKTAXRET_P_STR-DANSNIZ sy-vline
WA_REXCSKTAXRET_P_STR-DANUHR sy-vline
WA_REXCSKTAXRET_P_STR-DANROZ sy-vline
WA_REXCSKTAXRET_P_STR-TAXTOTAL sy-vline
WA_REXCSKTAXRET_P_STR-WAERS sy-vline
WA_REXCSKTAXRET_P_STR-DATVYPOCTU sy-vline
WA_REXCSKTAXRET_P_STR-CASVYPOCTU sy-vline
WA_REXCSKTAXRET_P_STR-STAVYPOCTU sy-vline
WA_REXCSKTAXRET_P_STR-USERVYPOCTU sy-vline
WA_REXCSKTAXRET_P_STR-LOG_HNDL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.