ABAP Select data from SAP table PIQCDS_ADMISSION 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 PIQCDS_ADMISSION 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 PIQCDS_ADMISSION. 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 PIQCDS_ADMISSION 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_PIQCDS_ADMISSION TYPE STANDARD TABLE OF PIQCDS_ADMISSION,
      WA_PIQCDS_ADMISSION TYPE PIQCDS_ADMISSION,
      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: <PIQCDS_ADMISSION> TYPE PIQCDS_ADMISSION.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PIQCDS_ADMISSION
*  INTO TABLE @DATA(IT_PIQCDS_ADMISSION2).
*--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_PIQCDS_ADMISSION INDEX 1 INTO DATA(WA_PIQCDS_ADMISSION2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PIQCDS_ADMISSION ASSIGNING <PIQCDS_ADMISSION>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PIQCDS_ADMISSION>-MANDT = 1.
<PIQCDS_ADMISSION>-ORGANIZATIONALUNIT = 1.
<PIQCDS_ADMISSION>-ORGANIZATIONALUNITSHORTNAME = 1.
<PIQCDS_ADMISSION>-ORGANIZATIONALUNITNAME = 1.
<PIQCDS_ADMISSION>-PROGRAMOFSTUDY = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PIQCDS_ADMISSION-PROGRAMOFSTUDYSHORTNAME, sy-vline,
WA_PIQCDS_ADMISSION-PROGRAMOFSTUDYNAME, sy-vline,
WA_PIQCDS_ADMISSION-PROGRAMOFSTUDYTYPE, sy-vline,
WA_PIQCDS_ADMISSION-PROGRAMOFSTUDYTYPENAME, sy-vline,
WA_PIQCDS_ADMISSION-ORGPROGPRIORITY, sy-vline,
WA_PIQCDS_ADMISSION-STUDYOBJECTID, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PIQCDS_ADMISSION 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_PIQCDS_ADMISSION 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_PIQCDS_ADMISSION INTO WA_PIQCDS_ADMISSION. *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 ADMISSIONNOTIFICATIONID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PIQCDS_ADMISSION-ADMISSIONNOTIFICATIONID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PIQCDS_ADMISSION-ADMISSIONNOTIFICATIONID.
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_PIQCDS_ADMISSION_STR,
MANDT TYPE STRING,
ORGANIZATIONALUNIT TYPE STRING,
ORGANIZATIONALUNITSHORTNAME TYPE STRING,
ORGANIZATIONALUNITNAME TYPE STRING,
PROGRAMOFSTUDY TYPE STRING,
PROGRAMOFSTUDYSHORTNAME TYPE STRING,
PROGRAMOFSTUDYNAME TYPE STRING,
PROGRAMOFSTUDYTYPE TYPE STRING,
PROGRAMOFSTUDYTYPENAME TYPE STRING,
ORGPROGPRIORITY TYPE STRING,
STUDYOBJECTID TYPE STRING,
STUDENTOBJECTID TYPE STRING,
STUDENTNUMBER TYPE STRING,
STUDENTNAME TYPE STRING,
STUDYSTUDENTPLANNINGSTATUS TYPE STRING,
ADM_ACLEVEL TYPE STRING,
PROGRAMCHOICE TYPE STRING,
PROGRAMCHOICENAME TYPE STRING,
ACADEMICYEAR TYPE STRING,
ACADEMICYEARNAME TYPE STRING,
ACADEMICSESSION TYPE STRING,
ACADEMICSESSIONNAME TYPE STRING,
ADM_PROGCLASS TYPE STRING,
ADM_PARTT TYPE STRING,
ADMISSIONCATEGORY TYPE STRING,
ADMISSIONCATEGORYNAME TYPE STRING,
REGISTRATIONTYPE TYPE STRING,
REGISTRATIONTYPENAME TYPE STRING,
ADMISSIONCODE TYPE STRING,
STUDYCOMPLETIONRATEINPERCENT TYPE STRING,
ADMISSIONNOTIFICATIONID TYPE STRING,
ADMISSIONSUPPLEMENTARYSTATUS TYPE STRING,
ADMISSIONDECISIONDATE TYPE STRING,
ADMISSIONAPPLICATIONDATE TYPE STRING,
ADMISSIONWITHDRAWALDATE TYPE STRING,
ADMISSIONUUID TYPE STRING,
ADMISSIONCORRESPONDENCEKEY TYPE STRING,END OF T_EKKO_STR. DATA: WA_PIQCDS_ADMISSION_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_PIQCDS_ADMISSION_STR-MANDT sy-vline
WA_PIQCDS_ADMISSION_STR-ORGANIZATIONALUNIT sy-vline
WA_PIQCDS_ADMISSION_STR-ORGANIZATIONALUNITSHORTNAME sy-vline
WA_PIQCDS_ADMISSION_STR-ORGANIZATIONALUNITNAME sy-vline
WA_PIQCDS_ADMISSION_STR-PROGRAMOFSTUDY sy-vline
WA_PIQCDS_ADMISSION_STR-PROGRAMOFSTUDYSHORTNAME sy-vline
WA_PIQCDS_ADMISSION_STR-PROGRAMOFSTUDYNAME sy-vline
WA_PIQCDS_ADMISSION_STR-PROGRAMOFSTUDYTYPE sy-vline
WA_PIQCDS_ADMISSION_STR-PROGRAMOFSTUDYTYPENAME sy-vline
WA_PIQCDS_ADMISSION_STR-ORGPROGPRIORITY sy-vline
WA_PIQCDS_ADMISSION_STR-STUDYOBJECTID sy-vline
WA_PIQCDS_ADMISSION_STR-STUDENTOBJECTID sy-vline
WA_PIQCDS_ADMISSION_STR-STUDENTNUMBER sy-vline
WA_PIQCDS_ADMISSION_STR-STUDENTNAME sy-vline
WA_PIQCDS_ADMISSION_STR-STUDYSTUDENTPLANNINGSTATUS sy-vline
WA_PIQCDS_ADMISSION_STR-ADM_ACLEVEL sy-vline
WA_PIQCDS_ADMISSION_STR-PROGRAMCHOICE sy-vline
WA_PIQCDS_ADMISSION_STR-PROGRAMCHOICENAME sy-vline
WA_PIQCDS_ADMISSION_STR-ACADEMICYEAR sy-vline
WA_PIQCDS_ADMISSION_STR-ACADEMICYEARNAME sy-vline
WA_PIQCDS_ADMISSION_STR-ACADEMICSESSION sy-vline
WA_PIQCDS_ADMISSION_STR-ACADEMICSESSIONNAME sy-vline
WA_PIQCDS_ADMISSION_STR-ADM_PROGCLASS sy-vline
WA_PIQCDS_ADMISSION_STR-ADM_PARTT sy-vline
WA_PIQCDS_ADMISSION_STR-ADMISSIONCATEGORY sy-vline
WA_PIQCDS_ADMISSION_STR-ADMISSIONCATEGORYNAME sy-vline
WA_PIQCDS_ADMISSION_STR-REGISTRATIONTYPE sy-vline
WA_PIQCDS_ADMISSION_STR-REGISTRATIONTYPENAME sy-vline
WA_PIQCDS_ADMISSION_STR-ADMISSIONCODE sy-vline
WA_PIQCDS_ADMISSION_STR-STUDYCOMPLETIONRATEINPERCENT sy-vline
WA_PIQCDS_ADMISSION_STR-ADMISSIONNOTIFICATIONID sy-vline
WA_PIQCDS_ADMISSION_STR-ADMISSIONSUPPLEMENTARYSTATUS sy-vline
WA_PIQCDS_ADMISSION_STR-ADMISSIONDECISIONDATE sy-vline
WA_PIQCDS_ADMISSION_STR-ADMISSIONAPPLICATIONDATE sy-vline
WA_PIQCDS_ADMISSION_STR-ADMISSIONWITHDRAWALDATE sy-vline
WA_PIQCDS_ADMISSION_STR-ADMISSIONUUID sy-vline
WA_PIQCDS_ADMISSION_STR-ADMISSIONCORRESPONDENCEKEY sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.