ABAP Select data from SAP table RELUBILIST1OBJ 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 RELUBILIST1OBJ 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 RELUBILIST1OBJ. 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 RELUBILIST1OBJ 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_RELUBILIST1OBJ TYPE STANDARD TABLE OF RELUBILIST1OBJ,
      WA_RELUBILIST1OBJ TYPE RELUBILIST1OBJ,
      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: <RELUBILIST1OBJ> TYPE RELUBILIST1OBJ.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RELUBILIST1OBJ
*  INTO TABLE @DATA(IT_RELUBILIST1OBJ2).
*--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_RELUBILIST1OBJ INDEX 1 INTO DATA(WA_RELUBILIST1OBJ2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RELUBILIST1OBJ ASSIGNING <RELUBILIST1OBJ>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RELUBILIST1OBJ>-XOBART = 1.
<RELUBILIST1OBJ>-BIAOSORT = 1.
<RELUBILIST1OBJ>-BIAREADESCR = 1.
<RELUBILIST1OBJ>-ADDRESS = 1.
<RELUBILIST1OBJ>-FLADR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RELUBILIST1OBJ-BIAREA, sy-vline,
WA_RELUBILIST1OBJ-FEINS, sy-vline,
WA_RELUBILIST1OBJ-BIUSAGEAREA, sy-vline,
WA_RELUBILIST1OBJ-BIUSAGEFEINS, sy-vline,
WA_RELUBILIST1OBJ-INTRENOAO, sy-vline,
WA_RELUBILIST1OBJ-BUKRS, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RELUBILIST1OBJ 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_RELUBILIST1OBJ 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_RELUBILIST1OBJ INTO WA_RELUBILIST1OBJ. *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 CUNIT, internal->external for field FEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RELUBILIST1OBJ-FEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RELUBILIST1OBJ-FEINS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CUNIT, internal->external for field BIUSAGEFEINS CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RELUBILIST1OBJ-BIUSAGEFEINS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RELUBILIST1OBJ-BIUSAGEFEINS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field RECNNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RELUBILIST1OBJ-RECNNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RELUBILIST1OBJ-RECNNR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PARTNR_OWNER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RELUBILIST1OBJ-PARTNR_OWNER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RELUBILIST1OBJ-PARTNR_OWNER.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field VBUND_OWNER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RELUBILIST1OBJ-VBUND_OWNER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RELUBILIST1OBJ-VBUND_OWNER.
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_RELUBILIST1OBJ_STR,
XOBART TYPE STRING,
BIAOSORT TYPE STRING,
BIAREADESCR TYPE STRING,
ADDRESS TYPE STRING,
FLADR TYPE STRING,
BIAREA TYPE STRING,
FEINS TYPE STRING,
BIUSAGEAREA TYPE STRING,
BIUSAGEFEINS TYPE STRING,
INTRENOAO TYPE STRING,
BUKRS TYPE STRING,
RECNNR TYPE STRING,
RECNTYPE TYPE STRING,
BIRELEASE TYPE STRING,
PARTNR_OWNER TYPE STRING,
PARTNR_OWNER_EXT TYPE STRING,
VBUND_OWNER TYPE STRING,
NAME_OWNER TYPE STRING,
BIVALIDFROM TYPE STRING,
BIVALIDTO TYPE STRING,
BIREPRTO TYPE STRING,
BIREPRTOTIME TYPE STRING,
XMBIRECAT TYPE STRING,
XMPUBLICTYPE TYPE STRING,
FILENO TYPE STRING,
XMBIPURPOSE TYPE STRING,
XMBIPRICING TYPE STRING,
BIPRICE TYPE STRING,
BIWAERS TYPE STRING,
BIEXISTLRDEP2 TYPE STRING,
BIEXISTLRDEP3 TYPE STRING,
BIEXISTEASEMENT TYPE STRING,
BIEXISTCONTAM TYPE STRING,
BIEXISTNOTCLEAN TYPE STRING,
BIEXISTPROTSITE TYPE STRING,
BIEXISTLBCODE TYPE STRING,
XMCLASS TYPE STRING,END OF T_EKKO_STR. DATA: WA_RELUBILIST1OBJ_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_RELUBILIST1OBJ_STR-XOBART sy-vline
WA_RELUBILIST1OBJ_STR-BIAOSORT sy-vline
WA_RELUBILIST1OBJ_STR-BIAREADESCR sy-vline
WA_RELUBILIST1OBJ_STR-ADDRESS sy-vline
WA_RELUBILIST1OBJ_STR-FLADR sy-vline
WA_RELUBILIST1OBJ_STR-BIAREA sy-vline
WA_RELUBILIST1OBJ_STR-FEINS sy-vline
WA_RELUBILIST1OBJ_STR-BIUSAGEAREA sy-vline
WA_RELUBILIST1OBJ_STR-BIUSAGEFEINS sy-vline
WA_RELUBILIST1OBJ_STR-INTRENOAO sy-vline
WA_RELUBILIST1OBJ_STR-BUKRS sy-vline
WA_RELUBILIST1OBJ_STR-RECNNR sy-vline
WA_RELUBILIST1OBJ_STR-RECNTYPE sy-vline
WA_RELUBILIST1OBJ_STR-BIRELEASE sy-vline
WA_RELUBILIST1OBJ_STR-PARTNR_OWNER sy-vline
WA_RELUBILIST1OBJ_STR-PARTNR_OWNER_EXT sy-vline
WA_RELUBILIST1OBJ_STR-VBUND_OWNER sy-vline
WA_RELUBILIST1OBJ_STR-NAME_OWNER sy-vline
WA_RELUBILIST1OBJ_STR-BIVALIDFROM sy-vline
WA_RELUBILIST1OBJ_STR-BIVALIDTO sy-vline
WA_RELUBILIST1OBJ_STR-BIREPRTO sy-vline
WA_RELUBILIST1OBJ_STR-BIREPRTOTIME sy-vline
WA_RELUBILIST1OBJ_STR-XMBIRECAT sy-vline
WA_RELUBILIST1OBJ_STR-XMPUBLICTYPE sy-vline
WA_RELUBILIST1OBJ_STR-FILENO sy-vline
WA_RELUBILIST1OBJ_STR-XMBIPURPOSE sy-vline
WA_RELUBILIST1OBJ_STR-XMBIPRICING sy-vline
WA_RELUBILIST1OBJ_STR-BIPRICE sy-vline
WA_RELUBILIST1OBJ_STR-BIWAERS sy-vline
WA_RELUBILIST1OBJ_STR-BIEXISTLRDEP2 sy-vline
WA_RELUBILIST1OBJ_STR-BIEXISTLRDEP3 sy-vline
WA_RELUBILIST1OBJ_STR-BIEXISTEASEMENT sy-vline
WA_RELUBILIST1OBJ_STR-BIEXISTCONTAM sy-vline
WA_RELUBILIST1OBJ_STR-BIEXISTNOTCLEAN sy-vline
WA_RELUBILIST1OBJ_STR-BIEXISTPROTSITE sy-vline
WA_RELUBILIST1OBJ_STR-BIEXISTLBCODE sy-vline
WA_RELUBILIST1OBJ_STR-XMCLASS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.