ABAP Select data from SAP table EWASBOL_SERVADDRCLOB_INFO 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 EWASBOL_SERVADDRCLOB_INFO 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 EWASBOL_SERVADDRCLOB_INFO. 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 EWASBOL_SERVADDRCLOB_INFO 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_EWASBOL_SERVADDRCLOB_INFO TYPE STANDARD TABLE OF EWASBOL_SERVADDRCLOB_INFO,
      WA_EWASBOL_SERVADDRCLOB_INFO TYPE EWASBOL_SERVADDRCLOB_INFO,
      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: <EWASBOL_SERVADDRCLOB_INFO> TYPE EWASBOL_SERVADDRCLOB_INFO.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM EWASBOL_SERVADDRCLOB_INFO
*  INTO TABLE @DATA(IT_EWASBOL_SERVADDRCLOB_INFO2).
*--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_EWASBOL_SERVADDRCLOB_INFO INDEX 1 INTO DATA(WA_EWASBOL_SERVADDRCLOB_INFO2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_EWASBOL_SERVADDRCLOB_INFO ASSIGNING <EWASBOL_SERVADDRCLOB_INFO>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<EWASBOL_SERVADDRCLOB_INFO>-SERVICEADDRESS = 1.
<EWASBOL_SERVADDRCLOB_INFO>-ROB = 1.
<EWASBOL_SERVADDRCLOB_INFO>-LFDNR = 1.
<EWASBOL_SERVADDRCLOB_INFO>-DATE_FROM = 1.
<EWASBOL_SERVADDRCLOB_INFO>-DATE_TO = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_EWASBOL_SERVADDRCLOB_INFO-BIS, sy-vline,
WA_EWASBOL_SERVADDRCLOB_INFO-AB, sy-vline,
WA_EWASBOL_SERVADDRCLOB_INFO-ROBTYP, sy-vline,
WA_EWASBOL_SERVADDRCLOB_INFO-ROBTXT, sy-vline,
WA_EWASBOL_SERVADDRCLOB_INFO-SUBKZ, sy-vline,
WA_EWASBOL_SERVADDRCLOB_INFO-SUPERROB, sy-vline.
ENDLOOP. *Add any further fields from structure WA_EWASBOL_SERVADDRCLOB_INFO 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_EWASBOL_SERVADDRCLOB_INFO 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_EWASBOL_SERVADDRCLOB_INFO INTO WA_EWASBOL_SERVADDRCLOB_INFO. *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 ALPHA, internal->external for field SERVICEADDRESS CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EWASBOL_SERVADDRCLOB_INFO-SERVICEADDRESS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EWASBOL_SERVADDRCLOB_INFO-SERVICEADDRESS.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

*Conversion exit ALPHA, internal->external for field OBJECTADDRESS CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_EWASBOL_SERVADDRCLOB_INFO-OBJECTADDRESS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_EWASBOL_SERVADDRCLOB_INFO-OBJECTADDRESS.
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_EWASBOL_SERVADDRCLOB_INFO_STR,
SERVICEADDRESS TYPE STRING,
ROB TYPE STRING,
LFDNR TYPE STRING,
DATE_FROM TYPE STRING,
DATE_TO TYPE STRING,
BIS TYPE STRING,
AB TYPE STRING,
ROBTYP TYPE STRING,
ROBTXT TYPE STRING,
SUBKZ TYPE STRING,
SUPERROB TYPE STRING,
WINTERLEVEL TYPE STRING,
CLEAN1 TYPE STRING,
CLEAN2 TYPE STRING,
CLEAN3 TYPE STRING,
CLEAN4 TYPE STRING,
CLEAN5 TYPE STRING,
REMENG TYPE STRING,
REUNIT TYPE STRING,
GESREMENG TYPE STRING,
HNRINTANF TYPE STRING,
HNRINTANFEX TYPE STRING,
HNRINTEND TYPE STRING,
HNRINTENDEX TYPE STRING,
HNSEQ TYPE STRING,
HNRHF TYPE STRING,
HNRINTANF_TXT TYPE STRING,
HNRINTEND_TXT TYPE STRING,
COORD_LATI TYPE STRING,
COORD_LONG TYPE STRING,
COORD_TEXT TYPE STRING,
ADDRNUM TYPE STRING,
STRT_CODE TYPE STRING,
STRT_SCTN_CODE TYPE STRING,
STREET_S15 TYPE STRING,
REGPOLIT TYPE STRING,
REGIOGROUP TYPE STRING,
ERDAT TYPE STRING,
ERNAM TYPE STRING,
AEDAT TYPE STRING,
AENAM TYPE STRING,
BEGRU TYPE STRING,
LOEVM TYPE STRING,
OBJECTADDRESS TYPE STRING,
ADDRESSLINE_OA TYPE STRING,
ADDRESSLINE_SA TYPE STRING,END OF T_EKKO_STR. DATA: WA_EWASBOL_SERVADDRCLOB_INFO_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_EWASBOL_SERVADDRCLOB_INFO_STR-SERVICEADDRESS sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-ROB sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-LFDNR sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-DATE_FROM sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-DATE_TO sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-BIS sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-AB sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-ROBTYP sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-ROBTXT sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-SUBKZ sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-SUPERROB sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-WINTERLEVEL sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-CLEAN1 sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-CLEAN2 sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-CLEAN3 sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-CLEAN4 sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-CLEAN5 sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-REMENG sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-REUNIT sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-GESREMENG sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-HNRINTANF sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-HNRINTANFEX sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-HNRINTEND sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-HNRINTENDEX sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-HNSEQ sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-HNRHF sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-HNRINTANF_TXT sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-HNRINTEND_TXT sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-COORD_LATI sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-COORD_LONG sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-COORD_TEXT sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-ADDRNUM sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-STRT_CODE sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-STRT_SCTN_CODE sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-STREET_S15 sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-REGPOLIT sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-REGIOGROUP sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-ERDAT sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-ERNAM sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-AEDAT sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-AENAM sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-BEGRU sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-LOEVM sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-OBJECTADDRESS sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-ADDRESSLINE_OA sy-vline
WA_EWASBOL_SERVADDRCLOB_INFO_STR-ADDRESSLINE_SA sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.