ABAP Select data from SAP table J_1ITAXCOND_DEF 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 J_1ITAXCOND_DEF 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 J_1ITAXCOND_DEF. 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 J_1ITAXCOND_DEF 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_J_1ITAXCOND_DEF TYPE STANDARD TABLE OF J_1ITAXCOND_DEF,
      WA_J_1ITAXCOND_DEF TYPE J_1ITAXCOND_DEF,
      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: <J_1ITAXCOND_DEF> TYPE J_1ITAXCOND_DEF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM J_1ITAXCOND_DEF
*  INTO TABLE @DATA(IT_J_1ITAXCOND_DEF2).
*--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_J_1ITAXCOND_DEF INDEX 1 INTO DATA(WA_J_1ITAXCOND_DEF2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_J_1ITAXCOND_DEF ASSIGNING <J_1ITAXCOND_DEF>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<J_1ITAXCOND_DEF>-BEDSP = 1.
<J_1ITAXCOND_DEF>-AEDSP = 1.
<J_1ITAXCOND_DEF>-SEDSP = 1.
<J_1ITAXCOND_DEF>-BEDSQ = 1.
<J_1ITAXCOND_DEF>-AEDSQ = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_J_1ITAXCOND_DEF-SEDSQ, sy-vline,
WA_J_1ITAXCOND_DEF-BEDIP, sy-vline,
WA_J_1ITAXCOND_DEF-AEDIP, sy-vline,
WA_J_1ITAXCOND_DEF-SEDIP, sy-vline,
WA_J_1ITAXCOND_DEF-BEDIQ, sy-vline,
WA_J_1ITAXCOND_DEF-AEDIQ, sy-vline.
ENDLOOP. *Add any further fields from structure WA_J_1ITAXCOND_DEF 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_J_1ITAXCOND_DEF 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_J_1ITAXCOND_DEF INTO WA_J_1ITAXCOND_DEF. *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_J_1ITAXCOND_DEF_STR,
BEDSP TYPE STRING,
AEDSP TYPE STRING,
SEDSP TYPE STRING,
BEDSQ TYPE STRING,
AEDSQ TYPE STRING,
SEDSQ TYPE STRING,
BEDIP TYPE STRING,
AEDIP TYPE STRING,
SEDIP TYPE STRING,
BEDIQ TYPE STRING,
AEDIQ TYPE STRING,
SEDIQ TYPE STRING,
BEDST TYPE STRING,
AEDST TYPE STRING,
SEDST TYPE STRING,
BEDIT TYPE STRING,
AEDIT TYPE STRING,
SEDIT TYPE STRING,
CST TYPE STRING,
LST TYPE STRING,
SURCHARGE TYPE STRING,
STSETOFF TYPE STRING,
NCCDSP TYPE STRING,
NCCDSQ TYPE STRING,
NCCDIP TYPE STRING,
NCCDIQ TYPE STRING,
NCCDST TYPE STRING,
NCCDIT TYPE STRING,
ECSSP TYPE STRING,
ECSSQ TYPE STRING,
ECSIP TYPE STRING,
ECSIQ TYPE STRING,
ECSST TYPE STRING,
ECSIT TYPE STRING,
CSTND TYPE STRING,
RMDVAT TYPE STRING,
RMNDVAT TYPE STRING,
CGDVAT TYPE STRING,
CGNDVAT TYPE STRING,
PVAT TYPE STRING,
CSTVAT TYPE STRING,
AT1SP TYPE STRING,
AT1SQ TYPE STRING,
AT1IP TYPE STRING,
AT1IQ TYPE STRING,
AT1ST TYPE STRING,
AT1IT TYPE STRING,
AT2SP TYPE STRING,
AT2SQ TYPE STRING,
AT2IP TYPE STRING,
AT2IQ TYPE STRING,
AT2ST TYPE STRING,
AT2IT TYPE STRING,
AT3SP TYPE STRING,
AT3SQ TYPE STRING,
AT3IP TYPE STRING,
AT3IQ TYPE STRING,
AT3ST TYPE STRING,
AT3IT TYPE STRING,
SEROFFT TYPE STRING,
SERECSOFFT TYPE STRING,
SERAT1OFFT TYPE STRING,END OF T_EKKO_STR. DATA: WA_J_1ITAXCOND_DEF_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_J_1ITAXCOND_DEF_STR-BEDSP sy-vline
WA_J_1ITAXCOND_DEF_STR-AEDSP sy-vline
WA_J_1ITAXCOND_DEF_STR-SEDSP sy-vline
WA_J_1ITAXCOND_DEF_STR-BEDSQ sy-vline
WA_J_1ITAXCOND_DEF_STR-AEDSQ sy-vline
WA_J_1ITAXCOND_DEF_STR-SEDSQ sy-vline
WA_J_1ITAXCOND_DEF_STR-BEDIP sy-vline
WA_J_1ITAXCOND_DEF_STR-AEDIP sy-vline
WA_J_1ITAXCOND_DEF_STR-SEDIP sy-vline
WA_J_1ITAXCOND_DEF_STR-BEDIQ sy-vline
WA_J_1ITAXCOND_DEF_STR-AEDIQ sy-vline
WA_J_1ITAXCOND_DEF_STR-SEDIQ sy-vline
WA_J_1ITAXCOND_DEF_STR-BEDST sy-vline
WA_J_1ITAXCOND_DEF_STR-AEDST sy-vline
WA_J_1ITAXCOND_DEF_STR-SEDST sy-vline
WA_J_1ITAXCOND_DEF_STR-BEDIT sy-vline
WA_J_1ITAXCOND_DEF_STR-AEDIT sy-vline
WA_J_1ITAXCOND_DEF_STR-SEDIT sy-vline
WA_J_1ITAXCOND_DEF_STR-CST sy-vline
WA_J_1ITAXCOND_DEF_STR-LST sy-vline
WA_J_1ITAXCOND_DEF_STR-SURCHARGE sy-vline
WA_J_1ITAXCOND_DEF_STR-STSETOFF sy-vline
WA_J_1ITAXCOND_DEF_STR-NCCDSP sy-vline
WA_J_1ITAXCOND_DEF_STR-NCCDSQ sy-vline
WA_J_1ITAXCOND_DEF_STR-NCCDIP sy-vline
WA_J_1ITAXCOND_DEF_STR-NCCDIQ sy-vline
WA_J_1ITAXCOND_DEF_STR-NCCDST sy-vline
WA_J_1ITAXCOND_DEF_STR-NCCDIT sy-vline
WA_J_1ITAXCOND_DEF_STR-ECSSP sy-vline
WA_J_1ITAXCOND_DEF_STR-ECSSQ sy-vline
WA_J_1ITAXCOND_DEF_STR-ECSIP sy-vline
WA_J_1ITAXCOND_DEF_STR-ECSIQ sy-vline
WA_J_1ITAXCOND_DEF_STR-ECSST sy-vline
WA_J_1ITAXCOND_DEF_STR-ECSIT sy-vline
WA_J_1ITAXCOND_DEF_STR-CSTND sy-vline
WA_J_1ITAXCOND_DEF_STR-RMDVAT sy-vline
WA_J_1ITAXCOND_DEF_STR-RMNDVAT sy-vline
WA_J_1ITAXCOND_DEF_STR-CGDVAT sy-vline
WA_J_1ITAXCOND_DEF_STR-CGNDVAT sy-vline
WA_J_1ITAXCOND_DEF_STR-PVAT sy-vline
WA_J_1ITAXCOND_DEF_STR-CSTVAT sy-vline
WA_J_1ITAXCOND_DEF_STR-AT1SP sy-vline
WA_J_1ITAXCOND_DEF_STR-AT1SQ sy-vline
WA_J_1ITAXCOND_DEF_STR-AT1IP sy-vline
WA_J_1ITAXCOND_DEF_STR-AT1IQ sy-vline
WA_J_1ITAXCOND_DEF_STR-AT1ST sy-vline
WA_J_1ITAXCOND_DEF_STR-AT1IT sy-vline
WA_J_1ITAXCOND_DEF_STR-AT2SP sy-vline
WA_J_1ITAXCOND_DEF_STR-AT2SQ sy-vline
WA_J_1ITAXCOND_DEF_STR-AT2IP sy-vline
WA_J_1ITAXCOND_DEF_STR-AT2IQ sy-vline
WA_J_1ITAXCOND_DEF_STR-AT2ST sy-vline
WA_J_1ITAXCOND_DEF_STR-AT2IT sy-vline
WA_J_1ITAXCOND_DEF_STR-AT3SP sy-vline
WA_J_1ITAXCOND_DEF_STR-AT3SQ sy-vline
WA_J_1ITAXCOND_DEF_STR-AT3IP sy-vline
WA_J_1ITAXCOND_DEF_STR-AT3IQ sy-vline
WA_J_1ITAXCOND_DEF_STR-AT3ST sy-vline
WA_J_1ITAXCOND_DEF_STR-AT3IT sy-vline
WA_J_1ITAXCOND_DEF_STR-SEROFFT sy-vline
WA_J_1ITAXCOND_DEF_STR-SERECSOFFT sy-vline
WA_J_1ITAXCOND_DEF_STR-SERAT1OFFT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.