ABAP Select data from SAP table BBPS_MESSAGE_PARAMETERS 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 BBPS_MESSAGE_PARAMETERS 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 BBPS_MESSAGE_PARAMETERS. 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 BBPS_MESSAGE_PARAMETERS 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_BBPS_MESSAGE_PARAMETERS TYPE STANDARD TABLE OF BBPS_MESSAGE_PARAMETERS,
      WA_BBPS_MESSAGE_PARAMETERS TYPE BBPS_MESSAGE_PARAMETERS,
      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: <BBPS_MESSAGE_PARAMETERS> TYPE BBPS_MESSAGE_PARAMETERS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM BBPS_MESSAGE_PARAMETERS
*  INTO TABLE @DATA(IT_BBPS_MESSAGE_PARAMETERS2).
*--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_BBPS_MESSAGE_PARAMETERS INDEX 1 INTO DATA(WA_BBPS_MESSAGE_PARAMETERS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_BBPS_MESSAGE_PARAMETERS ASSIGNING <BBPS_MESSAGE_PARAMETERS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<BBPS_MESSAGE_PARAMETERS>-MAIL_FORMAT = 1.
<BBPS_MESSAGE_PARAMETERS>-LANGU = 1.
<BBPS_MESSAGE_PARAMETERS>-URL_IND = 1.
<BBPS_MESSAGE_PARAMETERS>-ATTACH_IND = 1.
<BBPS_MESSAGE_PARAMETERS>-SNAPSHOT_IND = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_BBPS_MESSAGE_PARAMETERS-DEC_BUTTON_IND, sy-vline,
WA_BBPS_MESSAGE_PARAMETERS-FUNCTION, sy-vline,
WA_BBPS_MESSAGE_PARAMETERS-MANDANT, sy-vline,
WA_BBPS_MESSAGE_PARAMETERS-DEL_DATE, sy-vline,
WA_BBPS_MESSAGE_PARAMETERS-SAP_OBJECT, sy-vline,
WA_BBPS_MESSAGE_PARAMETERS-AR_OBJECT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_BBPS_MESSAGE_PARAMETERS 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_BBPS_MESSAGE_PARAMETERS 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_BBPS_MESSAGE_PARAMETERS INTO WA_BBPS_MESSAGE_PARAMETERS. *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 ISOLA, internal->external for field LANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_BBPS_MESSAGE_PARAMETERS-LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BBPS_MESSAGE_PARAMETERS-LANGU.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

*Conversion exit SPDEV, internal->external for field TDDEST CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_BBPS_MESSAGE_PARAMETERS-TDDEST IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BBPS_MESSAGE_PARAMETERS-TDDEST.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field XSFOUTDEV CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_BBPS_MESSAGE_PARAMETERS-XSFOUTDEV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BBPS_MESSAGE_PARAMETERS-XSFOUTDEV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field XDFOUTDEV CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_BBPS_MESSAGE_PARAMETERS-XDFOUTDEV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BBPS_MESSAGE_PARAMETERS-XDFOUTDEV.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field XDF2OUTDEV CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_BBPS_MESSAGE_PARAMETERS-XDF2OUTDEV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BBPS_MESSAGE_PARAMETERS-XDF2OUTDEV.
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_BBPS_MESSAGE_PARAMETERS_STR,
MAIL_FORMAT TYPE STRING,
LANGU TYPE STRING,
URL_IND TYPE STRING,
ATTACH_IND TYPE STRING,
SNAPSHOT_IND TYPE STRING,
DEC_BUTTON_IND TYPE STRING,
FUNCTION TYPE STRING,
MANDANT TYPE STRING,
DEL_DATE TYPE STRING,
SAP_OBJECT TYPE STRING,
AR_OBJECT TYPE STRING,
OBJECT_ID TYPE STRING,
FORM_ID TYPE STRING,
FORMARCHIV TYPE STRING,
RESERVE TYPE STRING,
NOTIZ TYPE STRING,
ARC_FORMAT TYPE STRING,
ARCHIVE_COPIES TYPE STRING,
ARMOD TYPE STRING,
FORM1_ARC_IND TYPE STRING,
FORM2_ARC_IND TYPE STRING,
COMMIT TYPE STRING,
CONTROL_PARAMS TYPE STRING,
NO_OPEN TYPE STRING,
NO_CLOSE TYPE STRING,
DEVICE TYPE STRING,
NO_DIALOG TYPE STRING,
PREVIEW TYPE STRING,
GETOTF TYPE STRING,
LANGU TYPE STRING,
REPLANGU1 TYPE STRING,
REPLANGU2 TYPE STRING,
REPLANGU3 TYPE STRING,
STARTPAGE TYPE STRING,
OUTPUT_OPTIONS TYPE STRING,
TDTELELAND TYPE STRING,
TDTELENUM TYPE STRING,
TDTELENUME TYPE STRING,
TDFAXUSER TYPE STRING,
FAXFORMAT TYPE STRING,
TDSCHEDULE TYPE STRING,
TDSENDDATE TYPE STRING,
TDSENDTIME TYPE STRING,
BCS_REQST TYPE STRING,
BCS_STATUS TYPE STRING,
BCS_COMMIT TYPE STRING,
BCS_LANGU TYPE STRING,
TDARMOD TYPE STRING,
TDNOARMCH TYPE STRING,
TDARCCOP TYPE STRING,
TDTITLE TYPE STRING,
TDNOPREV TYPE STRING,
TDNOPRINT TYPE STRING,
TDNOARCH TYPE STRING,
TDIEXIT TYPE STRING,
TDDATASET TYPE STRING,
TDSUFFIX1 TYPE STRING,
TDSUFFIX2 TYPE STRING,
TDCOVTITLE TYPE STRING,
TDDEST TYPE STRING,
TDPRINTER TYPE STRING,
RQPOSNAME TYPE STRING,
TDNEWID TYPE STRING,
TDIMMED TYPE STRING,
TDDELETE TYPE STRING,
TDLIFETIME TYPE STRING,
TDAUTORITY TYPE STRING,
TDFINAL TYPE STRING,
SPONUMIV TYPE STRING,
PRINTTICKET TYPE STRING,
TDCOVER TYPE STRING,
TDRECEIVER TYPE STRING,
TDDIVISION TYPE STRING,
TDCOPIES TYPE STRING,
TDGROUP TYPE STRING,
TDPAGESLCT TYPE STRING,
URLCALL TYPE STRING,
XSFCMODE TYPE STRING,
XSF TYPE STRING,
XSFOUTMODE TYPE STRING,
XSFOUTDEV TYPE STRING,
XSFFORMAT TYPE STRING,
XSFACTION TYPE STRING,
XSFPARS TYPE STRING,
XDFCMODE TYPE STRING,
XDF TYPE STRING,
XDFOUTMODE TYPE STRING,
XDFOUTDEV TYPE STRING,
XDF2CMODE TYPE STRING,
XDF2 TYPE STRING,
XDF2OUTMODE TYPE STRING,
XDF2OUTDEV TYPE STRING,
FORM1_RENDER_IND TYPE STRING,
FORM2_RENDER_IND TYPE STRING,END OF T_EKKO_STR. DATA: WA_BBPS_MESSAGE_PARAMETERS_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_BBPS_MESSAGE_PARAMETERS_STR-MAIL_FORMAT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-LANGU sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-URL_IND sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-ATTACH_IND sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-SNAPSHOT_IND sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-DEC_BUTTON_IND sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-FUNCTION sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-MANDANT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-DEL_DATE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-SAP_OBJECT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-AR_OBJECT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-OBJECT_ID sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-FORM_ID sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-FORMARCHIV sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-RESERVE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-NOTIZ sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-ARC_FORMAT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-ARCHIVE_COPIES sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-ARMOD sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-FORM1_ARC_IND sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-FORM2_ARC_IND sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-COMMIT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-CONTROL_PARAMS sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-NO_OPEN sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-NO_CLOSE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-DEVICE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-NO_DIALOG sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-PREVIEW sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-GETOTF sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-LANGU sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-REPLANGU1 sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-REPLANGU2 sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-REPLANGU3 sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-STARTPAGE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-OUTPUT_OPTIONS sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDTELELAND sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDTELENUM sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDTELENUME sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDFAXUSER sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-FAXFORMAT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDSCHEDULE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDSENDDATE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDSENDTIME sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-BCS_REQST sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-BCS_STATUS sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-BCS_COMMIT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-BCS_LANGU sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDARMOD sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDNOARMCH sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDARCCOP sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDTITLE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDNOPREV sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDNOPRINT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDNOARCH sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDIEXIT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDDATASET sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDSUFFIX1 sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDSUFFIX2 sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDCOVTITLE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDDEST sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDPRINTER sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-RQPOSNAME sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDNEWID sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDIMMED sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDDELETE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDLIFETIME sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDAUTORITY sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDFINAL sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-SPONUMIV sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-PRINTTICKET sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDCOVER sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDRECEIVER sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDDIVISION sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDCOPIES sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDGROUP sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-TDPAGESLCT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-URLCALL sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XSFCMODE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XSF sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XSFOUTMODE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XSFOUTDEV sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XSFFORMAT sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XSFACTION sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XSFPARS sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XDFCMODE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XDF sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XDFOUTMODE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XDFOUTDEV sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XDF2CMODE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XDF2 sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XDF2OUTMODE sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-XDF2OUTDEV sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-FORM1_RENDER_IND sy-vline
WA_BBPS_MESSAGE_PARAMETERS_STR-FORM2_RENDER_IND sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.