ABAP Select data from SAP table COMT_BSP_BP_SEAREQ_PERSON 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 COMT_BSP_BP_SEAREQ_PERSON 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 COMT_BSP_BP_SEAREQ_PERSON. 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 COMT_BSP_BP_SEAREQ_PERSON 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_COMT_BSP_BP_SEAREQ_PERSON TYPE STANDARD TABLE OF COMT_BSP_BP_SEAREQ_PERSON,
      WA_COMT_BSP_BP_SEAREQ_PERSON TYPE COMT_BSP_BP_SEAREQ_PERSON,
      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: <COMT_BSP_BP_SEAREQ_PERSON> TYPE COMT_BSP_BP_SEAREQ_PERSON.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM COMT_BSP_BP_SEAREQ_PERSON
*  INTO TABLE @DATA(IT_COMT_BSP_BP_SEAREQ_PERSON2).
*--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_COMT_BSP_BP_SEAREQ_PERSON INDEX 1 INTO DATA(WA_COMT_BSP_BP_SEAREQ_PERSON2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_COMT_BSP_BP_SEAREQ_PERSON ASSIGNING <COMT_BSP_BP_SEAREQ_PERSON>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<COMT_BSP_BP_SEAREQ_PERSON>-PARTNER1 = 1.
<COMT_BSP_BP_SEAREQ_PERSON>-FIRSTNAME = 1.
<COMT_BSP_BP_SEAREQ_PERSON>-LASTNAME = 1.
<COMT_BSP_BP_SEAREQ_PERSON>-BIRTHNAME = 1.
<COMT_BSP_BP_SEAREQ_PERSON>-MIDDLENAME = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_COMT_BSP_BP_SEAREQ_PERSON-SECONDNAME, sy-vline,
WA_COMT_BSP_BP_SEAREQ_PERSON-TITLE_ACA1, sy-vline,
WA_COMT_BSP_BP_SEAREQ_PERSON-TITLE_ACA2, sy-vline,
WA_COMT_BSP_BP_SEAREQ_PERSON-TITLE_SPPL, sy-vline,
WA_COMT_BSP_BP_SEAREQ_PERSON-PREFIX1, sy-vline,
WA_COMT_BSP_BP_SEAREQ_PERSON-PREFIX2, sy-vline.
ENDLOOP. *Add any further fields from structure WA_COMT_BSP_BP_SEAREQ_PERSON 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_COMT_BSP_BP_SEAREQ_PERSON 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_COMT_BSP_BP_SEAREQ_PERSON INTO WA_COMT_BSP_BP_SEAREQ_PERSON. *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 PARTNER1 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_COMT_BSP_BP_SEAREQ_PERSON-PARTNER1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COMT_BSP_BP_SEAREQ_PERSON-PARTNER1.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ISOLA, internal->external for field CORRESPONDLANGUAGE CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_COMT_BSP_BP_SEAREQ_PERSON-CORRESPONDLANGUAGE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COMT_BSP_BP_SEAREQ_PERSON-CORRESPONDLANGUAGE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ISOLA, internal->external for field LANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_COMT_BSP_BP_SEAREQ_PERSON-LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COMT_BSP_BP_SEAREQ_PERSON-LANGU.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SXIDN, internal->external for field EMAIL CALL FUNCTION 'CONVERSION_EXIT_SXIDN_OUTPUT' EXPORTING input = WA_COMT_BSP_BP_SEAREQ_PERSON-EMAIL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COMT_BSP_BP_SEAREQ_PERSON-EMAIL.
WRITE:/ 'New Value:', ld_input.

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

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

*Conversion exit ALPHA, internal->external for field RS_PARTNER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_COMT_BSP_BP_SEAREQ_PERSON-RS_PARTNER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_COMT_BSP_BP_SEAREQ_PERSON-RS_PARTNER.
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_COMT_BSP_BP_SEAREQ_PERSON_STR,
PARTNER1 TYPE STRING,
FIRSTNAME TYPE STRING,
LASTNAME TYPE STRING,
BIRTHNAME TYPE STRING,
MIDDLENAME TYPE STRING,
SECONDNAME TYPE STRING,
TITLE_ACA1 TYPE STRING,
TITLE_ACA2 TYPE STRING,
TITLE_SPPL TYPE STRING,
PREFIX1 TYPE STRING,
PREFIX2 TYPE STRING,
NICKNAME TYPE STRING,
INITIALS TYPE STRING,
NAMEFORMAT TYPE STRING,
NAMCOUNTRY TYPE STRING,
NAMCOUNTRYISO TYPE STRING,
SEX TYPE STRING,
BIRTHPLACE TYPE STRING,
BIRTHDATE TYPE STRING,
DEATHDATE TYPE STRING,
MARITALSTATUS TYPE STRING,
CORRESPONDLANGUAGE TYPE STRING,
CORRESPONDLANGUAGEISO TYPE STRING,
FULLNAME TYPE STRING,
EMPLOYER TYPE STRING,
OCCUPATION TYPE STRING,
NATIONALITY TYPE STRING,
NATIONALITYISO TYPE STRING,
COUNTRYORIGIN TYPE STRING,
BIRTHDT_STATUS TYPE STRING,
GENDER TYPE STRING,
BP_NAME1 TYPE STRING,
BP_NAME2 TYPE STRING,
CITY1 TYPE STRING,
CITY2 TYPE STRING,
POST_CODE1 TYPE STRING,
POST_CODE2 TYPE STRING,
PO_BOX_LOC TYPE STRING,
STREET TYPE STRING,
HOUSE_NUM1 TYPE STRING,
HOUSE_NUM2 TYPE STRING,
COUNTRY TYPE STRING,
REGION TYPE STRING,
SORT1 TYPE STRING,
SORT2 TYPE STRING,
LANGU TYPE STRING,
CONSNO_TEL TYPE STRING,
TEL1_NUMBR TYPE STRING,
TEL1_EXT TYPE STRING,
TELEPHONE TYPE STRING,
CONSNO_FAX TYPE STRING,
FAX TYPE STRING,
FAX_EXT TYPE STRING,
FAX_NO TYPE STRING,
CONSNO_EMAIL TYPE STRING,
EMAIL TYPE STRING,
CONSNO_URL TYPE STRING,
URL TYPE STRING,
PARTNER_ROLE TYPE STRING,
PARTNER_TYPE TYPE STRING,
CON_NAME_FIRST TYPE STRING,
CON_NAME_LAST TYPE STRING,
EMP_NAME_FIRST TYPE STRING,
EMP_NAME_LAST TYPE STRING,
MY_ACCOUNTS TYPE STRING,
HITS TYPE STRING,
VALID_DATE TYPE STRING,
IDTYPE TYPE STRING,
IDTYPE_DESCRIPTION TYPE STRING,
IDNUMBER TYPE STRING,
REL_PARTNER1 TYPE STRING,
REL_PARTNER2 TYPE STRING,
RELTYP TYPE STRING,
XRF TYPE STRING,
RS_INDEX TYPE STRING,
XDIRECTION TYPE STRING,
RS_REL_TYP TYPE STRING,
RS_PARTNER TYPE STRING,
RS_NAME1 TYPE STRING,
RS_NAME2 TYPE STRING,
BP_EEW_DUMMY TYPE STRING,END OF T_EKKO_STR. DATA: WA_COMT_BSP_BP_SEAREQ_PERSON_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_COMT_BSP_BP_SEAREQ_PERSON_STR-PARTNER1 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-FIRSTNAME sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-LASTNAME sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-BIRTHNAME sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-MIDDLENAME sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-SECONDNAME sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-TITLE_ACA1 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-TITLE_ACA2 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-TITLE_SPPL sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-PREFIX1 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-PREFIX2 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-NICKNAME sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-INITIALS sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-NAMEFORMAT sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-NAMCOUNTRY sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-NAMCOUNTRYISO sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-SEX sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-BIRTHPLACE sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-BIRTHDATE sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-DEATHDATE sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-MARITALSTATUS sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-CORRESPONDLANGUAGE sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-CORRESPONDLANGUAGEISO sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-FULLNAME sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-EMPLOYER sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-OCCUPATION sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-NATIONALITY sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-NATIONALITYISO sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-COUNTRYORIGIN sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-BIRTHDT_STATUS sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-GENDER sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-BP_NAME1 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-BP_NAME2 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-CITY1 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-CITY2 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-POST_CODE1 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-POST_CODE2 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-PO_BOX_LOC sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-STREET sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-HOUSE_NUM1 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-HOUSE_NUM2 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-COUNTRY sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-REGION sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-SORT1 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-SORT2 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-LANGU sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-CONSNO_TEL sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-TEL1_NUMBR sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-TEL1_EXT sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-TELEPHONE sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-CONSNO_FAX sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-FAX sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-FAX_EXT sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-FAX_NO sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-CONSNO_EMAIL sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-EMAIL sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-CONSNO_URL sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-URL sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-PARTNER_ROLE sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-PARTNER_TYPE sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-CON_NAME_FIRST sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-CON_NAME_LAST sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-EMP_NAME_FIRST sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-EMP_NAME_LAST sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-MY_ACCOUNTS sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-HITS sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-VALID_DATE sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-IDTYPE sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-IDTYPE_DESCRIPTION sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-IDNUMBER sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-REL_PARTNER1 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-REL_PARTNER2 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-RELTYP sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-XRF sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-RS_INDEX sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-XDIRECTION sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-RS_REL_TYP sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-RS_PARTNER sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-RS_NAME1 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-RS_NAME2 sy-vline
WA_COMT_BSP_BP_SEAREQ_PERSON_STR-BP_EEW_DUMMY sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.