ABAP Select data from SAP table BBPS_SC_APP_DOCUMENT 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_SC_APP_DOCUMENT 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_SC_APP_DOCUMENT. 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_SC_APP_DOCUMENT 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_SC_APP_DOCUMENT TYPE STANDARD TABLE OF BBPS_SC_APP_DOCUMENT,
      WA_BBPS_SC_APP_DOCUMENT TYPE BBPS_SC_APP_DOCUMENT,
      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_SC_APP_DOCUMENT> TYPE BBPS_SC_APP_DOCUMENT.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM BBPS_SC_APP_DOCUMENT
*  INTO TABLE @DATA(IT_BBPS_SC_APP_DOCUMENT2).
*--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_SC_APP_DOCUMENT INDEX 1 INTO DATA(WA_BBPS_SC_APP_DOCUMENT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_BBPS_SC_APP_DOCUMENT ASSIGNING <BBPS_SC_APP_DOCUMENT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<BBPS_SC_APP_DOCUMENT>-HEADER = 1.
<BBPS_SC_APP_DOCUMENT>-GUID = 1.
<BBPS_SC_APP_DOCUMENT>-DESCRIPTION = 1.
<BBPS_SC_APP_DOCUMENT>-CURRENCY = 1.
<BBPS_SC_APP_DOCUMENT>-SUBTYPE = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_BBPS_SC_APP_DOCUMENT-SK_COUNTRY, sy-vline,
WA_BBPS_SC_APP_DOCUMENT-SK_SCENARIO1, sy-vline,
WA_BBPS_SC_APP_DOCUMENT-SK_SCENARIO2, sy-vline,
WA_BBPS_SC_APP_DOCUMENT-SK_SCENARIO3, sy-vline,
WA_BBPS_SC_APP_DOCUMENT-SK_SCENARIO4, sy-vline,
WA_BBPS_SC_APP_DOCUMENT-SK_SCENARIO5, sy-vline.
ENDLOOP. *Add any further fields from structure WA_BBPS_SC_APP_DOCUMENT 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_SC_APP_DOCUMENT 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_SC_APP_DOCUMENT INTO WA_BBPS_SC_APP_DOCUMENT. *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 BE_LOG_SYSTEM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_BBPS_SC_APP_DOCUMENT-BE_LOG_SYSTEM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BBPS_SC_APP_DOCUMENT-BE_LOG_SYSTEM.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit TSTPS, internal->external for field CREATED_AT CALL FUNCTION 'CONVERSION_EXIT_TSTPS_OUTPUT' EXPORTING input = WA_BBPS_SC_APP_DOCUMENT-CREATED_AT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BBPS_SC_APP_DOCUMENT-CREATED_AT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit TSTPS, internal->external for field CHANGED_AT CALL FUNCTION 'CONVERSION_EXIT_TSTPS_OUTPUT' EXPORTING input = WA_BBPS_SC_APP_DOCUMENT-CHANGED_AT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BBPS_SC_APP_DOCUMENT-CHANGED_AT.
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_SC_APP_DOCUMENT_STR,
HEADER TYPE STRING,
GUID TYPE STRING,
DESCRIPTION TYPE STRING,
CURRENCY TYPE STRING,
SUBTYPE TYPE STRING,
SK_COUNTRY TYPE STRING,
SK_SCENARIO1 TYPE STRING,
SK_SCENARIO2 TYPE STRING,
SK_SCENARIO3 TYPE STRING,
SK_SCENARIO4 TYPE STRING,
SK_SCENARIO5 TYPE STRING,
DUMMY_EEW_PDHSS_SC TYPE STRING,
PS_HIER_TEMPL TYPE STRING,
PS_NUMVRS TYPE STRING,
PS_COMPLEX_IND TYPE STRING,
PS_REQUEST_DATE TYPE STRING,
PS_IDC_DOC TYPE STRING,
PS_INFU_ACTIVE TYPE STRING,
OPT_CPLX_DOC TYPE STRING,
PS_PARK_IND TYPE STRING,
PS_PA_ID_HDR TYPE STRING,
PS_PA_CLNG_HDR TYPE STRING,
PS_PA_CLNG_IND TYPE STRING,
PS_USER_STATUS TYPE STRING,
PS_DESCRIPTION TYPE STRING,
PS_DATE TYPE STRING,
PS_US01 TYPE STRING,
PS_US02 TYPE STRING,
PS_US03 TYPE STRING,
PS_US04 TYPE STRING,
PS_US05 TYPE STRING,
PS_US06 TYPE STRING,
PS_US07 TYPE STRING,
PS_US08 TYPE STRING,
PS_US09 TYPE STRING,
PS_US10 TYPE STRING,
PS_US01_DATE TYPE STRING,
PS_US02_DATE TYPE STRING,
PS_US03_DATE TYPE STRING,
PS_US04_DATE TYPE STRING,
PS_US05_DATE TYPE STRING,
PS_US06_DATE TYPE STRING,
PS_US07_DATE TYPE STRING,
PS_US08_DATE TYPE STRING,
PS_US09_DATE TYPE STRING,
PS_US10_DATE TYPE STRING,
LAM_SOL_KEY TYPE STRING,
LAM_HDR_GAID TYPE STRING,
LAM_HDR_TEXT TYPE STRING,
DUMMY_EEW_PDHSC_SC TYPE STRING,
PURCHTEAM TYPE STRING,
TAKEOVER TYPE STRING,
COPY_OF_GUID TYPE STRING,
CO_CODE TYPE STRING,
BE_LOG_SYSTEM TYPE STRING,
BBP_REVAL TYPE STRING,
BBP_WF_COUNT TYPE STRING,
PROCESS_TYPE TYPE STRING,
OBJECT_ID TYPE STRING,
POSTING_DATE TYPE STRING,
DUMMY_EEW_PD_HD_SWD_SC TYPE STRING,
DUMMY_EEW_PD_HD_CSD_SC TYPE STRING,
CREATED_BY TYPE STRING,
CREATED_AT TYPE STRING,
CHANGED_BY TYPE STRING,
CHANGED_AT TYPE STRING,
TZONE TYPE STRING,
TOTAL_VALUE TYPE STRING,
TOTAL_TAX TYPE STRING,
TOTAL_VALUE_APPR TYPE STRING,
USR_BUDGET_VALUE TYPE STRING,
WFL_TOTAL_VALUE TYPE STRING,
WFL_TOTAL_VALUE_WITH_TAX TYPE STRING,
WFL_TOTAL_TAX TYPE STRING,
ITEM TYPE STRING,
ACCOUNT TYPE STRING,
PARTNER TYPE STRING,
ORG TYPE STRING,
TAX TYPE STRING,
TEXT TYPE STRING,
LIMIT TYPE STRING,
PRIDOC TYPE STRING,
CONFIRM TYPE STRING,
ITMREL TYPE STRING,
STATUS TYPE STRING,
ATTACH TYPE STRING,
MESSAGES TYPE STRING,
HCF_TABLE TYPE STRING,
ICF_TABLE TYPE STRING,END OF T_EKKO_STR. DATA: WA_BBPS_SC_APP_DOCUMENT_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_SC_APP_DOCUMENT_STR-HEADER sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-GUID sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-DESCRIPTION sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-CURRENCY sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-SUBTYPE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-SK_COUNTRY sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-SK_SCENARIO1 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-SK_SCENARIO2 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-SK_SCENARIO3 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-SK_SCENARIO4 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-SK_SCENARIO5 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-DUMMY_EEW_PDHSS_SC sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_HIER_TEMPL sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_NUMVRS sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_COMPLEX_IND sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_REQUEST_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_IDC_DOC sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_INFU_ACTIVE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-OPT_CPLX_DOC sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_PARK_IND sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_PA_ID_HDR sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_PA_CLNG_HDR sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_PA_CLNG_IND sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_USER_STATUS sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_DESCRIPTION sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US01 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US02 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US03 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US04 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US05 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US06 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US07 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US08 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US09 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US10 sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US01_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US02_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US03_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US04_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US05_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US06_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US07_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US08_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US09_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PS_US10_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-LAM_SOL_KEY sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-LAM_HDR_GAID sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-LAM_HDR_TEXT sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-DUMMY_EEW_PDHSC_SC sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PURCHTEAM sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-TAKEOVER sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-COPY_OF_GUID sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-CO_CODE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-BE_LOG_SYSTEM sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-BBP_REVAL sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-BBP_WF_COUNT sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PROCESS_TYPE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-OBJECT_ID sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-POSTING_DATE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-DUMMY_EEW_PD_HD_SWD_SC sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-DUMMY_EEW_PD_HD_CSD_SC sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-CREATED_BY sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-CREATED_AT sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-CHANGED_BY sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-CHANGED_AT sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-TZONE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-TOTAL_VALUE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-TOTAL_TAX sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-TOTAL_VALUE_APPR sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-USR_BUDGET_VALUE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-WFL_TOTAL_VALUE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-WFL_TOTAL_VALUE_WITH_TAX sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-WFL_TOTAL_TAX sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-ITEM sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-ACCOUNT sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PARTNER sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-ORG sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-TAX sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-TEXT sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-LIMIT sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-PRIDOC sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-CONFIRM sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-ITMREL sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-STATUS sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-ATTACH sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-MESSAGES sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-HCF_TABLE sy-vline
WA_BBPS_SC_APP_DOCUMENT_STR-ICF_TABLE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.