ABAP Select data from SAP table PIQ_UCAS_APPS_DETAILS 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 PIQ_UCAS_APPS_DETAILS 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 PIQ_UCAS_APPS_DETAILS. 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 PIQ_UCAS_APPS_DETAILS 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_PIQ_UCAS_APPS_DETAILS TYPE STANDARD TABLE OF PIQ_UCAS_APPS_DETAILS,
      WA_PIQ_UCAS_APPS_DETAILS TYPE PIQ_UCAS_APPS_DETAILS,
      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: <PIQ_UCAS_APPS_DETAILS> TYPE PIQ_UCAS_APPS_DETAILS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PIQ_UCAS_APPS_DETAILS
*  INTO TABLE @DATA(IT_PIQ_UCAS_APPS_DETAILS2).
*--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_PIQ_UCAS_APPS_DETAILS INDEX 1 INTO DATA(WA_PIQ_UCAS_APPS_DETAILS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PIQ_UCAS_APPS_DETAILS ASSIGNING <PIQ_UCAS_APPS_DETAILS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PIQ_UCAS_APPS_DETAILS>-INSTCODE = 1.
<PIQ_UCAS_APPS_DETAILS>-APPLICANT_NO = 1.
<PIQ_UCAS_APPS_DETAILS>-PERSONALID = 1.
<PIQ_UCAS_APPS_DETAILS>-APPL_SCHEME_CODE = 1.
<PIQ_UCAS_APPS_DETAILS>-ADMISSION_SYS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PIQ_UCAS_APPS_DETAILS-TITLE, sy-vline,
WA_PIQ_UCAS_APPS_DETAILS-LASTNAME, sy-vline,
WA_PIQ_UCAS_APPS_DETAILS-FIRSTNAME, sy-vline,
WA_PIQ_UCAS_APPS_DETAILS-ROUTE_B, sy-vline,
WA_PIQ_UCAS_APPS_DETAILS-GCE, sy-vline,
WA_PIQ_UCAS_APPS_DETAILS-VCE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PIQ_UCAS_APPS_DETAILS 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_PIQ_UCAS_APPS_DETAILS 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_PIQ_UCAS_APPS_DETAILS INTO WA_PIQ_UCAS_APPS_DETAILS. *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 PDATE, internal->external for field DATEOFBIRTH CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT' EXPORTING input = WA_PIQ_UCAS_APPS_DETAILS-DATEOFBIRTH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PIQ_UCAS_APPS_DETAILS-DATEOFBIRTH.
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_PIQ_UCAS_APPS_DETAILS_STR,
INSTCODE TYPE STRING,
APPLICANT_NO TYPE STRING,
PERSONALID TYPE STRING,
APPL_SCHEME_CODE TYPE STRING,
ADMISSION_SYS TYPE STRING,
TITLE TYPE STRING,
LASTNAME TYPE STRING,
FIRSTNAME TYPE STRING,
ROUTE_B TYPE STRING,
GCE TYPE STRING,
VCE TYPE STRING,
WINTERALEVELS TYPE STRING,
PREVSUMALEVELS TYPE STRING,
PREVSUMASLEVELS TYPE STRING,
BTEC TYPE STRING,
SQA TYPE STRING,
OEQ TYPE STRING,
REG_NUMBER TYPE STRING,
HOME_ADDRESS1 TYPE STRING,
HOME_ADDRESS2 TYPE STRING,
HOME_ADDRESS4 TYPE STRING,
HOME_ADDRESS3 TYPE STRING,
HOME_PHONENO TYPE STRING,
HOME_POSTCODE TYPE STRING,
HOME_COUNTRY TYPE STRING,
ETHNIC TYPE STRING,
ETHNICT TYPE STRING,
POC TYPE STRING,
POCT TYPE STRING,
GENDER TYPE STRING,
DATEOFBIRTH TYPE STRING,
EMAILADDRESS TYPE STRING,
DISABILITYCODE TYPE STRING,
DISABILITYDESC TYPE STRING,
MOBILEPHONENO TYPE STRING,
SPECIALNEEDS TYPE STRING,
CRIMINAL_CONV TYPE STRING,
KEY_SKILLS TYPE STRING,
VOC_EXAMS TYPE STRING,
IRISH_FLAG TYPE STRING,
AIC_FLAG TYPE STRING,
LATEAPP_FLAG TYPE STRING,
INT_BACC_FLAG TYPE STRING,
FEE_PAYER_CODE TYPE STRING,
FEE_PAYER_CODE_DES TYPE STRING,
NAT_INS_NUMBER TYPE STRING,
NATIO TYPE STRING,
NATIO_DESC TYPE STRING,
GBLND TYPE STRING,
GBLND_DESC TYPE STRING,
DATE_ENTERED_UK TYPE STRING,
RESID_STATUS TYPE STRING,
RESID_STATUS_DESC TYPE STRING,
APPLICANTSTATUS TYPE STRING,
ADDRESS1 TYPE STRING,
ADDRESS2 TYPE STRING,
ADDRESS3 TYPE STRING,
ADDRESS4 TYPE STRING,
POSTCODE TYPE STRING,
AEDTM_UCAS TYPE STRING,
UZEIT_UCAS TYPE STRING,
UCAS_COUNTY TYPE STRING,
COUNTRY TYPE STRING,
LASTEDUESTA TYPE STRING,
PREFERRED_FNAME TYPE STRING,
IELTS_NUMBER TYPE STRING,
ISA_NUMBER TYPE STRING,
TOEFL_NUMBER TYPE STRING,
PASSPORTIDATE TYPE STRING,
PASSPORTNUMBER TYPE STRING,
PASSPORTIPLACE TYPE STRING,
PASSPORTEDATE TYPE STRING,
SCHOOLNUMBER TYPE STRING,
HOMECTRYCODE TYPE STRING,
DUAL_NTNLYTCODE TYPE STRING,
AGE TYPE STRING,
CARE_CODE TYPE STRING,
DATE_APPLIED TYPE STRING,
HIGH_EXP_QUAL TYPE STRING,
INCARE_DURATION TYPE STRING,
PARENTAL_HECODE TYPE STRING,
PREVIOUS_SURNAME TYPE STRING,
POLAR2 TYPE STRING,
UNAVAIL_INTDATES TYPE STRING,
POLAR3 TYPE STRING,
SMDINDEX TYPE STRING,
WCF TYPE STRING,
POLAR4 TYPE STRING,
APPLICATIONSOURCE TYPE STRING,END OF T_EKKO_STR. DATA: WA_PIQ_UCAS_APPS_DETAILS_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_PIQ_UCAS_APPS_DETAILS_STR-INSTCODE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-APPLICANT_NO sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-PERSONALID sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-APPL_SCHEME_CODE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-ADMISSION_SYS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-TITLE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-LASTNAME sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-FIRSTNAME sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-ROUTE_B sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-GCE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-VCE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-WINTERALEVELS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-PREVSUMALEVELS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-PREVSUMASLEVELS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-BTEC sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-SQA sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-OEQ sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-REG_NUMBER sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-HOME_ADDRESS1 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-HOME_ADDRESS2 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-HOME_ADDRESS4 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-HOME_ADDRESS3 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-HOME_PHONENO sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-HOME_POSTCODE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-HOME_COUNTRY sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-ETHNIC sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-ETHNICT sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-POC sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-POCT sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-GENDER sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-DATEOFBIRTH sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-EMAILADDRESS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-DISABILITYCODE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-DISABILITYDESC sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-MOBILEPHONENO sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-SPECIALNEEDS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-CRIMINAL_CONV sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-KEY_SKILLS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-VOC_EXAMS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-IRISH_FLAG sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-AIC_FLAG sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-LATEAPP_FLAG sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-INT_BACC_FLAG sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-FEE_PAYER_CODE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-FEE_PAYER_CODE_DES sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-NAT_INS_NUMBER sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-NATIO sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-NATIO_DESC sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-GBLND sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-GBLND_DESC sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-DATE_ENTERED_UK sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-RESID_STATUS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-RESID_STATUS_DESC sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-APPLICANTSTATUS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-ADDRESS1 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-ADDRESS2 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-ADDRESS3 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-ADDRESS4 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-POSTCODE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-AEDTM_UCAS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-UZEIT_UCAS sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-UCAS_COUNTY sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-COUNTRY sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-LASTEDUESTA sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-PREFERRED_FNAME sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-IELTS_NUMBER sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-ISA_NUMBER sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-TOEFL_NUMBER sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-PASSPORTIDATE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-PASSPORTNUMBER sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-PASSPORTIPLACE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-PASSPORTEDATE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-SCHOOLNUMBER sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-HOMECTRYCODE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-DUAL_NTNLYTCODE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-AGE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-CARE_CODE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-DATE_APPLIED sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-HIGH_EXP_QUAL sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-INCARE_DURATION sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-PARENTAL_HECODE sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-PREVIOUS_SURNAME sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-POLAR2 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-UNAVAIL_INTDATES sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-POLAR3 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-SMDINDEX sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-WCF sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-POLAR4 sy-vline
WA_PIQ_UCAS_APPS_DETAILS_STR-APPLICATIONSOURCE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.