ABAP Select data from SAP table FIRO_S_VAT300_XML 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 FIRO_S_VAT300_XML 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 FIRO_S_VAT300_XML. 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 FIRO_S_VAT300_XML 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_FIRO_S_VAT300_XML TYPE STANDARD TABLE OF FIRO_S_VAT300_XML,
      WA_FIRO_S_VAT300_XML TYPE FIRO_S_VAT300_XML,
      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: <FIRO_S_VAT300_XML> TYPE FIRO_S_VAT300_XML.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM FIRO_S_VAT300_XML
*  INTO TABLE @DATA(IT_FIRO_S_VAT300_XML2).
*--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_FIRO_S_VAT300_XML INDEX 1 INTO DATA(WA_FIRO_S_VAT300_XML2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_FIRO_S_VAT300_XML ASSIGNING <FIRO_S_VAT300_XML>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<FIRO_S_VAT300_XML>-REP_PERIOD = 1.
<FIRO_S_VAT300_XML>-REP_YEAR = 1.
<FIRO_S_VAT300_XML>-BIFA_INTERNE = 1.
<FIRO_S_VAT300_XML>-TEMEI = 1.
<FIRO_S_VAT300_XML>-NUME_DECLAR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_FIRO_S_VAT300_XML-PRENUME_DECLAR, sy-vline,
WA_FIRO_S_VAT300_XML-FUNCTIE_DECLAR, sy-vline,
WA_FIRO_S_VAT300_XML-CUI, sy-vline,
WA_FIRO_S_VAT300_XML-DEN, sy-vline,
WA_FIRO_S_VAT300_XML-ADRESA, sy-vline,
WA_FIRO_S_VAT300_XML-TELEFON, sy-vline.
ENDLOOP. *Add any further fields from structure WA_FIRO_S_VAT300_XML 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_FIRO_S_VAT300_XML 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_FIRO_S_VAT300_XML INTO WA_FIRO_S_VAT300_XML. *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_FIRO_S_VAT300_XML_STR,
REP_PERIOD TYPE STRING,
REP_YEAR TYPE STRING,
BIFA_INTERNE TYPE STRING,
TEMEI TYPE STRING,
NUME_DECLAR TYPE STRING,
PRENUME_DECLAR TYPE STRING,
FUNCTIE_DECLAR TYPE STRING,
CUI TYPE STRING,
DEN TYPE STRING,
ADRESA TYPE STRING,
TELEFON TYPE STRING,
FAX TYPE STRING,
MAIL TYPE STRING,
BANCA TYPE STRING,
CONT TYPE STRING,
CAEN TYPE STRING,
TIP_DECONT TYPE STRING,
PRO_RATA TYPE STRING,
BIFA_CEREALE TYPE STRING,
BIFA_MOB TYPE STRING,
BIFA_DISP TYPE STRING,
BIFA_CONS TYPE STRING,
SOLICIT_RAMB TYPE STRING,
NR_EVID TYPE STRING,
TOTALPLATA_A TYPE STRING,
R1_1 TYPE STRING,
R2_1 TYPE STRING,
R3_1 TYPE STRING,
R3_1_1 TYPE STRING,
R4_1 TYPE STRING,
R5_1 TYPE STRING,
R5_2 TYPE STRING,
R5_1_1 TYPE STRING,
R5_1_2 TYPE STRING,
R6_1 TYPE STRING,
R6_2 TYPE STRING,
R7_1 TYPE STRING,
R7_2 TYPE STRING,
R7_1_1 TYPE STRING,
R7_1_2 TYPE STRING,
R8_1 TYPE STRING,
R8_2 TYPE STRING,
R9_1 TYPE STRING,
R9_2 TYPE STRING,
R10_1 TYPE STRING,
R10_2 TYPE STRING,
R11_1 TYPE STRING,
R11_2 TYPE STRING,
R12_1 TYPE STRING,
R12_2 TYPE STRING,
R12_1_1 TYPE STRING,
R12_1_2 TYPE STRING,
R12_2_1 TYPE STRING,
R12_2_2 TYPE STRING,
R12_3_1 TYPE STRING,
R12_3_2 TYPE STRING,
R13_1 TYPE STRING,
R14_1 TYPE STRING,
R15_1 TYPE STRING,
R16_1 TYPE STRING,
R16_2 TYPE STRING,
R17_1 TYPE STRING,
R17_2 TYPE STRING,
R18_1 TYPE STRING,
R18_2 TYPE STRING,
R18_1_1 TYPE STRING,
R18_1_2 TYPE STRING,
R19_1 TYPE STRING,
R19_2 TYPE STRING,
R20_1 TYPE STRING,
R20_2 TYPE STRING,
R20_1_1 TYPE STRING,
R20_1_2 TYPE STRING,
R21_1 TYPE STRING,
R21_2 TYPE STRING,
R22_1 TYPE STRING,
R22_2 TYPE STRING,
R23_1 TYPE STRING,
R23_2 TYPE STRING,
R24_1 TYPE STRING,
R24_2 TYPE STRING,
R25_1 TYPE STRING,
R25_2 TYPE STRING,
R25_1_1 TYPE STRING,
R25_1_2 TYPE STRING,
R25_2_1 TYPE STRING,
R25_2_2 TYPE STRING,
R25_3_1 TYPE STRING,
R25_3_2 TYPE STRING,
R26_1 TYPE STRING,
R26_1_1 TYPE STRING,
R27_1 TYPE STRING,
R27_2 TYPE STRING,
R28_2 TYPE STRING,
R29_2 TYPE STRING,
R30_1 TYPE STRING,
R30_2 TYPE STRING,
R31_2 TYPE STRING,
R32_2 TYPE STRING,
R33_2 TYPE STRING,
R34_2 TYPE STRING,
R35_2 TYPE STRING,
R36_2 TYPE STRING,
R37_2 TYPE STRING,
R38_2 TYPE STRING,
R39_2 TYPE STRING,
R40_2 TYPE STRING,
R41_2 TYPE STRING,
R42_2 TYPE STRING,
R43_2 TYPE STRING,
R44_2 TYPE STRING,
NR_FACTURI TYPE STRING,
BAZA TYPE STRING,
TVA TYPE STRING,
NR_FACTURI_PRIMITE TYPE STRING,
BAZA_PRIMITE TYPE STRING,
TVA_PRIMITE TYPE STRING,
VALOARE_A TYPE STRING,
VALOARE_A1 TYPE STRING,
TVA_A TYPE STRING,
TVA_A1 TYPE STRING,
VALOARE_B TYPE STRING,
VALOARE_B1 TYPE STRING,
TVA_B TYPE STRING,
TVA_B1 TYPE STRING,
NR_FACT_EMISE TYPE STRING,
TOTAL_BAZA TYPE STRING,
TOTAL_TVA TYPE STRING,
CUISUCCESOR TYPE STRING,
R64_1 TYPE STRING,
R64_2 TYPE STRING,
R65_1 TYPE STRING,
R65_2 TYPE STRING,
TOTAL_PRECEDENT TYPE STRING,
TOTAL_CURENT TYPE STRING,END OF T_EKKO_STR. DATA: WA_FIRO_S_VAT300_XML_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_FIRO_S_VAT300_XML_STR-REP_PERIOD sy-vline
WA_FIRO_S_VAT300_XML_STR-REP_YEAR sy-vline
WA_FIRO_S_VAT300_XML_STR-BIFA_INTERNE sy-vline
WA_FIRO_S_VAT300_XML_STR-TEMEI sy-vline
WA_FIRO_S_VAT300_XML_STR-NUME_DECLAR sy-vline
WA_FIRO_S_VAT300_XML_STR-PRENUME_DECLAR sy-vline
WA_FIRO_S_VAT300_XML_STR-FUNCTIE_DECLAR sy-vline
WA_FIRO_S_VAT300_XML_STR-CUI sy-vline
WA_FIRO_S_VAT300_XML_STR-DEN sy-vline
WA_FIRO_S_VAT300_XML_STR-ADRESA sy-vline
WA_FIRO_S_VAT300_XML_STR-TELEFON sy-vline
WA_FIRO_S_VAT300_XML_STR-FAX sy-vline
WA_FIRO_S_VAT300_XML_STR-MAIL sy-vline
WA_FIRO_S_VAT300_XML_STR-BANCA sy-vline
WA_FIRO_S_VAT300_XML_STR-CONT sy-vline
WA_FIRO_S_VAT300_XML_STR-CAEN sy-vline
WA_FIRO_S_VAT300_XML_STR-TIP_DECONT sy-vline
WA_FIRO_S_VAT300_XML_STR-PRO_RATA sy-vline
WA_FIRO_S_VAT300_XML_STR-BIFA_CEREALE sy-vline
WA_FIRO_S_VAT300_XML_STR-BIFA_MOB sy-vline
WA_FIRO_S_VAT300_XML_STR-BIFA_DISP sy-vline
WA_FIRO_S_VAT300_XML_STR-BIFA_CONS sy-vline
WA_FIRO_S_VAT300_XML_STR-SOLICIT_RAMB sy-vline
WA_FIRO_S_VAT300_XML_STR-NR_EVID sy-vline
WA_FIRO_S_VAT300_XML_STR-TOTALPLATA_A sy-vline
WA_FIRO_S_VAT300_XML_STR-R1_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R2_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R3_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R3_1_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R4_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R5_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R5_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R5_1_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R5_1_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R6_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R6_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R7_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R7_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R7_1_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R7_1_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R8_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R8_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R9_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R9_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R10_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R10_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R11_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R11_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R12_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R12_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R12_1_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R12_1_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R12_2_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R12_2_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R12_3_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R12_3_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R13_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R14_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R15_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R16_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R16_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R17_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R17_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R18_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R18_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R18_1_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R18_1_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R19_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R19_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R20_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R20_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R20_1_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R20_1_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R21_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R21_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R22_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R22_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R23_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R23_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R24_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R24_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R25_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R25_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R25_1_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R25_1_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R25_2_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R25_2_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R25_3_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R25_3_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R26_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R26_1_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R27_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R27_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R28_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R29_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R30_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R30_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R31_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R32_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R33_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R34_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R35_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R36_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R37_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R38_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R39_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R40_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R41_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R42_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R43_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R44_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-NR_FACTURI sy-vline
WA_FIRO_S_VAT300_XML_STR-BAZA sy-vline
WA_FIRO_S_VAT300_XML_STR-TVA sy-vline
WA_FIRO_S_VAT300_XML_STR-NR_FACTURI_PRIMITE sy-vline
WA_FIRO_S_VAT300_XML_STR-BAZA_PRIMITE sy-vline
WA_FIRO_S_VAT300_XML_STR-TVA_PRIMITE sy-vline
WA_FIRO_S_VAT300_XML_STR-VALOARE_A sy-vline
WA_FIRO_S_VAT300_XML_STR-VALOARE_A1 sy-vline
WA_FIRO_S_VAT300_XML_STR-TVA_A sy-vline
WA_FIRO_S_VAT300_XML_STR-TVA_A1 sy-vline
WA_FIRO_S_VAT300_XML_STR-VALOARE_B sy-vline
WA_FIRO_S_VAT300_XML_STR-VALOARE_B1 sy-vline
WA_FIRO_S_VAT300_XML_STR-TVA_B sy-vline
WA_FIRO_S_VAT300_XML_STR-TVA_B1 sy-vline
WA_FIRO_S_VAT300_XML_STR-NR_FACT_EMISE sy-vline
WA_FIRO_S_VAT300_XML_STR-TOTAL_BAZA sy-vline
WA_FIRO_S_VAT300_XML_STR-TOTAL_TVA sy-vline
WA_FIRO_S_VAT300_XML_STR-CUISUCCESOR sy-vline
WA_FIRO_S_VAT300_XML_STR-R64_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R64_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-R65_1 sy-vline
WA_FIRO_S_VAT300_XML_STR-R65_2 sy-vline
WA_FIRO_S_VAT300_XML_STR-TOTAL_PRECEDENT sy-vline
WA_FIRO_S_VAT300_XML_STR-TOTAL_CURENT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.