ABAP Select data from SAP table AVIAJATOBJ 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 AVIAJATOBJ 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 AVIAJATOBJ. 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 AVIAJATOBJ 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_AVIAJATOBJ TYPE STANDARD TABLE OF AVIAJATOBJ,
      WA_AVIAJATOBJ TYPE AVIAJATOBJ,
      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: <AVIAJATOBJ> TYPE AVIAJATOBJ.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM AVIAJATOBJ
*  INTO TABLE @DATA(IT_AVIAJATOBJ2).
*--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_AVIAJATOBJ INDEX 1 INTO DATA(WA_AVIAJATOBJ2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_AVIAJATOBJ ASSIGNING <AVIAJATOBJ>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<AVIAJATOBJ>-MANDT = 1.
<AVIAJATOBJ>-INTRENO = 1.
<AVIAJATOBJ>-OBJNRADJM = 1.
<AVIAJATOBJ>-COSTSPOS = 1.
<AVIAJATOBJ>-XCOSTSPOS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_AVIAJATOBJ-CALCINCP, sy-vline,
WA_AVIAJATOBJ-CALCINCA, sy-vline,
WA_AVIAJATOBJ-CALCABSP, sy-vline,
WA_AVIAJATOBJ-CALCABSA, sy-vline,
WA_AVIAJATOBJ-CALCINCMEASP, sy-vline,
WA_AVIAJATOBJ-CALCINCMEASA, sy-vline.
ENDLOOP. *Add any further fields from structure WA_AVIAJATOBJ 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_AVIAJATOBJ 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_AVIAJATOBJ INTO WA_AVIAJATOBJ. *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 RECUP, internal->external for field CALCINCP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-CALCINCP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-CALCINCP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field CALCINCA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-CALCINCA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-CALCINCA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field CALCABSP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-CALCABSP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-CALCABSP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field CALCABSA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-CALCABSA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-CALCABSA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field CALCINCMEASP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-CALCINCMEASP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-CALCINCMEASP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field CALCINCMEASA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-CALCINCMEASA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-CALCINCMEASA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field CALCABSMEASP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-CALCABSMEASP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-CALCABSMEASP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field CALCABSMEASA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-CALCABSMEASA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-CALCABSMEASA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MODINCP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MODINCP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MODINCP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MODINCA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MODINCA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MODINCA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MODABSP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MODABSP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MODABSP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MODABSA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MODABSA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MODABSA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MODINCMEASP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MODINCMEASP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MODINCMEASP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MODINCMEASA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MODINCMEASA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MODINCMEASA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MODABSMEASP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MODABSMEASP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MODABSMEASP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MODABSMEASA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MODABSMEASA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MODABSMEASA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field DECP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-DECP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-DECP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field DECA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-DECA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-DECA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field DECMEASP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-DECMEASP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-DECMEASP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field DECMEASA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-DECMEASA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-DECMEASA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field BFCAPINCP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-BFCAPINCP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-BFCAPINCP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field BFCAPINCA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-BFCAPINCA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-BFCAPINCA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field BFCAPABSP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-BFCAPABSP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-BFCAPABSP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field BFCAPABSA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-BFCAPABSA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-BFCAPABSA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field BFCAPINCMEASP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-BFCAPINCMEASP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-BFCAPINCMEASP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field BFCAPINCMEASA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-BFCAPINCMEASA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-BFCAPINCMEASA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field BFCAPABSMEASP CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-BFCAPABSMEASP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-BFCAPABSMEASP.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field BFCAPABSMEASA CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-BFCAPABSMEASA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-BFCAPABSMEASA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MAXINC CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MAXINC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MAXINC.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MAXABS CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MAXABS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MAXABS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MAXINCMEAS CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MAXINCMEAS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MAXINCMEAS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MAXABSMEAS CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MAXABSMEAS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MAXABSMEAS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MAXEPMEAS CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MAXEPMEAS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MAXEPMEAS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MAXEPMEASCN CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MAXEPMEASCN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MAXEPMEASCN.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MAXEPABS CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MAXEPABS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MAXEPABS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit RECUP, internal->external for field MAXEPABSCN CALL FUNCTION 'CONVERSION_EXIT_RECUP_OUTPUT' EXPORTING input = WA_AVIAJATOBJ-MAXEPABSCN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVIAJATOBJ-MAXEPABSCN.
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_AVIAJATOBJ_STR,
MANDT TYPE STRING,
INTRENO TYPE STRING,
OBJNRADJM TYPE STRING,
COSTSPOS TYPE STRING,
XCOSTSPOS TYPE STRING,
CALCINCP TYPE STRING,
CALCINCA TYPE STRING,
CALCABSP TYPE STRING,
CALCABSA TYPE STRING,
CALCINCMEASP TYPE STRING,
CALCINCMEASA TYPE STRING,
CALCABSMEASP TYPE STRING,
CALCABSMEASA TYPE STRING,
MODINCP TYPE STRING,
MODINCA TYPE STRING,
MODABSP TYPE STRING,
MODABSA TYPE STRING,
MODINCMEASP TYPE STRING,
MODINCMEASA TYPE STRING,
MODABSMEASP TYPE STRING,
MODABSMEASA TYPE STRING,
DECP TYPE STRING,
DECA TYPE STRING,
DECMEASP TYPE STRING,
DECMEASA TYPE STRING,
BFCAPINCP TYPE STRING,
BFCAPINCA TYPE STRING,
BFCAPABSP TYPE STRING,
BFCAPABSA TYPE STRING,
BFCAPINCMEASP TYPE STRING,
BFCAPINCMEASA TYPE STRING,
BFCAPABSMEASP TYPE STRING,
BFCAPABSMEASA TYPE STRING,
MAXINC TYPE STRING,
MAXABS TYPE STRING,
MAXINCMEAS TYPE STRING,
MAXABSMEAS TYPE STRING,
MAXEPMEAS TYPE STRING,
MAXEPMEASCN TYPE STRING,
MAXEPABS TYPE STRING,
MAXEPABSCN TYPE STRING,
FULLWAIVER TYPE STRING,
FULLWAIVERCN TYPE STRING,
NOCOSTSOBJP TYPE STRING,
NOCOSTSOBJA TYPE STRING,
KZ TYPE STRING,END OF T_EKKO_STR. DATA: WA_AVIAJATOBJ_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_AVIAJATOBJ_STR-MANDT sy-vline
WA_AVIAJATOBJ_STR-INTRENO sy-vline
WA_AVIAJATOBJ_STR-OBJNRADJM sy-vline
WA_AVIAJATOBJ_STR-COSTSPOS sy-vline
WA_AVIAJATOBJ_STR-XCOSTSPOS sy-vline
WA_AVIAJATOBJ_STR-CALCINCP sy-vline
WA_AVIAJATOBJ_STR-CALCINCA sy-vline
WA_AVIAJATOBJ_STR-CALCABSP sy-vline
WA_AVIAJATOBJ_STR-CALCABSA sy-vline
WA_AVIAJATOBJ_STR-CALCINCMEASP sy-vline
WA_AVIAJATOBJ_STR-CALCINCMEASA sy-vline
WA_AVIAJATOBJ_STR-CALCABSMEASP sy-vline
WA_AVIAJATOBJ_STR-CALCABSMEASA sy-vline
WA_AVIAJATOBJ_STR-MODINCP sy-vline
WA_AVIAJATOBJ_STR-MODINCA sy-vline
WA_AVIAJATOBJ_STR-MODABSP sy-vline
WA_AVIAJATOBJ_STR-MODABSA sy-vline
WA_AVIAJATOBJ_STR-MODINCMEASP sy-vline
WA_AVIAJATOBJ_STR-MODINCMEASA sy-vline
WA_AVIAJATOBJ_STR-MODABSMEASP sy-vline
WA_AVIAJATOBJ_STR-MODABSMEASA sy-vline
WA_AVIAJATOBJ_STR-DECP sy-vline
WA_AVIAJATOBJ_STR-DECA sy-vline
WA_AVIAJATOBJ_STR-DECMEASP sy-vline
WA_AVIAJATOBJ_STR-DECMEASA sy-vline
WA_AVIAJATOBJ_STR-BFCAPINCP sy-vline
WA_AVIAJATOBJ_STR-BFCAPINCA sy-vline
WA_AVIAJATOBJ_STR-BFCAPABSP sy-vline
WA_AVIAJATOBJ_STR-BFCAPABSA sy-vline
WA_AVIAJATOBJ_STR-BFCAPINCMEASP sy-vline
WA_AVIAJATOBJ_STR-BFCAPINCMEASA sy-vline
WA_AVIAJATOBJ_STR-BFCAPABSMEASP sy-vline
WA_AVIAJATOBJ_STR-BFCAPABSMEASA sy-vline
WA_AVIAJATOBJ_STR-MAXINC sy-vline
WA_AVIAJATOBJ_STR-MAXABS sy-vline
WA_AVIAJATOBJ_STR-MAXINCMEAS sy-vline
WA_AVIAJATOBJ_STR-MAXABSMEAS sy-vline
WA_AVIAJATOBJ_STR-MAXEPMEAS sy-vline
WA_AVIAJATOBJ_STR-MAXEPMEASCN sy-vline
WA_AVIAJATOBJ_STR-MAXEPABS sy-vline
WA_AVIAJATOBJ_STR-MAXEPABSCN sy-vline
WA_AVIAJATOBJ_STR-FULLWAIVER sy-vline
WA_AVIAJATOBJ_STR-FULLWAIVERCN sy-vline
WA_AVIAJATOBJ_STR-NOCOSTSOBJP sy-vline
WA_AVIAJATOBJ_STR-NOCOSTSOBJA sy-vline
WA_AVIAJATOBJ_STR-KZ sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.