ABAP Select data from SAP table PIQCDSMODBKGDATA 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 PIQCDSMODBKGDATA 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 PIQCDSMODBKGDATA. 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 PIQCDSMODBKGDATA 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_PIQCDSMODBKGDATA TYPE STANDARD TABLE OF PIQCDSMODBKGDATA,
      WA_PIQCDSMODBKGDATA TYPE PIQCDSMODBKGDATA,
      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: <PIQCDSMODBKGDATA> TYPE PIQCDSMODBKGDATA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PIQCDSMODBKGDATA
*  INTO TABLE @DATA(IT_PIQCDSMODBKGDATA2).
*--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_PIQCDSMODBKGDATA INDEX 1 INTO DATA(WA_PIQCDSMODBKGDATA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PIQCDSMODBKGDATA ASSIGNING <PIQCDSMODBKGDATA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PIQCDSMODBKGDATA>-MANDT = 1.
<PIQCDSMODBKGDATA>-MODULEBEGINDATE = 1.
<PIQCDSMODBKGDATA>-MODULEENDDATE = 1.
<PIQCDSMODBKGDATA>-USERBOOKED = 1.
<PIQCDSMODBKGDATA>-STUDYMODULEBKGWAITLISTPRIORITY = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PIQCDSMODBKGDATA-STUDYMODULEOBJECT, sy-vline,
WA_PIQCDSMODBKGDATA-STUDYMODULESHORTNAME, sy-vline,
WA_PIQCDSMODBKGDATA-STUDYMODULENAME, sy-vline,
WA_PIQCDSMODBKGDATA-STUDENTOBJECTID, sy-vline,
WA_PIQCDSMODBKGDATA-STUDENTNUMBER, sy-vline,
WA_PIQCDSMODBKGDATA-STUDENTNAME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PIQCDSMODBKGDATA 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_PIQCDSMODBKGDATA 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_PIQCDSMODBKGDATA INTO WA_PIQCDSMODBKGDATA. *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 STUDYMODULECREDITSINUNIT CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_PIQCDSMODBKGDATA-STUDYMODULECREDITSINUNIT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PIQCDSMODBKGDATA-STUDYMODULECREDITSINUNIT.
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_PIQCDSMODBKGDATA_STR,
MANDT TYPE STRING,
MODULEBEGINDATE TYPE STRING,
MODULEENDDATE TYPE STRING,
USERBOOKED TYPE STRING,
STUDYMODULEBKGWAITLISTPRIORITY TYPE STRING,
STUDYMODULEOBJECT TYPE STRING,
STUDYMODULESHORTNAME TYPE STRING,
STUDYMODULENAME TYPE STRING,
STUDENTOBJECTID TYPE STRING,
STUDENTNUMBER TYPE STRING,
STUDENTNAME TYPE STRING,
STUDYMODULEBKGSTATUS TYPE STRING,
MODULECANCELLATIONREASON TYPE STRING,
STUDYMODULEBKGCANCLNDATE TYPE STRING,
STUDYMODULEATTEMPTEDCREDITS TYPE STRING,
STUDYMODULEEARNEDCREDITS TYPE STRING,
STUDYMODULECREDITSINUNIT TYPE STRING,
SCALESTANDARDVALUE TYPE STRING,
STUDYMODULEBOOKINGDATE TYPE STRING,
STUDYMODULEBOOKINGTIME TYPE STRING,
STUDYMODULEALTVASSMTMETHOD TYPE STRING,
STUDYMODULEISFREEOFCHARGE TYPE STRING,
STUDYMODULEISTRANSFERRED TYPE STRING,
ACADEMICEVENTPACKAGE TYPE STRING,
SESSIONVARIANT TYPE STRING,
ACADEMICSESSION TYPE STRING,
ACADEMICYEAR TYPE STRING,
ACADEMICSCALE TYPE STRING,
ALTERNATEACADEMICSCALE TYPE STRING,
MODULEBOOKINGID TYPE STRING,
STUDYMODULEBOOKINGREASON TYPE STRING,
STUDYMODULEBOOKINGEXCLUSIONTYP TYPE STRING,
STUDYMODULECHANGEISLOCKED TYPE STRING,
STUDYMODULEBKGISCONDITIONAL TYPE STRING,
STUDYMODULEBOOKINGREASONNAME TYPE STRING,
ACADEMICYEARNAME TYPE STRING,
ACADEMICSESSIONNAME TYPE STRING,
ACADEMICSCALENAME TYPE STRING,
STUDYMODULEALTVASSMTMETHODNAME TYPE STRING,
STUDYMODULEBKGCANCLNREASONTEXT TYPE STRING,
ACADEMICSESSIONVARIANTNAME TYPE STRING,
MODULEBOOKINGSTATUSNAME TYPE STRING,END OF T_EKKO_STR. DATA: WA_PIQCDSMODBKGDATA_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_PIQCDSMODBKGDATA_STR-MANDT sy-vline
WA_PIQCDSMODBKGDATA_STR-MODULEBEGINDATE sy-vline
WA_PIQCDSMODBKGDATA_STR-MODULEENDDATE sy-vline
WA_PIQCDSMODBKGDATA_STR-USERBOOKED sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEBKGWAITLISTPRIORITY sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEOBJECT sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULESHORTNAME sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULENAME sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDENTOBJECTID sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDENTNUMBER sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDENTNAME sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEBKGSTATUS sy-vline
WA_PIQCDSMODBKGDATA_STR-MODULECANCELLATIONREASON sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEBKGCANCLNDATE sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEATTEMPTEDCREDITS sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEEARNEDCREDITS sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULECREDITSINUNIT sy-vline
WA_PIQCDSMODBKGDATA_STR-SCALESTANDARDVALUE sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEBOOKINGDATE sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEBOOKINGTIME sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEALTVASSMTMETHOD sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEISFREEOFCHARGE sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEISTRANSFERRED sy-vline
WA_PIQCDSMODBKGDATA_STR-ACADEMICEVENTPACKAGE sy-vline
WA_PIQCDSMODBKGDATA_STR-SESSIONVARIANT sy-vline
WA_PIQCDSMODBKGDATA_STR-ACADEMICSESSION sy-vline
WA_PIQCDSMODBKGDATA_STR-ACADEMICYEAR sy-vline
WA_PIQCDSMODBKGDATA_STR-ACADEMICSCALE sy-vline
WA_PIQCDSMODBKGDATA_STR-ALTERNATEACADEMICSCALE sy-vline
WA_PIQCDSMODBKGDATA_STR-MODULEBOOKINGID sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEBOOKINGREASON sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEBOOKINGEXCLUSIONTYP sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULECHANGEISLOCKED sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEBKGISCONDITIONAL sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEBOOKINGREASONNAME sy-vline
WA_PIQCDSMODBKGDATA_STR-ACADEMICYEARNAME sy-vline
WA_PIQCDSMODBKGDATA_STR-ACADEMICSESSIONNAME sy-vline
WA_PIQCDSMODBKGDATA_STR-ACADEMICSCALENAME sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEALTVASSMTMETHODNAME sy-vline
WA_PIQCDSMODBKGDATA_STR-STUDYMODULEBKGCANCLNREASONTEXT sy-vline
WA_PIQCDSMODBKGDATA_STR-ACADEMICSESSIONVARIANTNAME sy-vline
WA_PIQCDSMODBKGDATA_STR-MODULEBOOKINGSTATUSNAME sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.