ABAP Select data from SAP table PCN_FORM_TERMINATION 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 PCN_FORM_TERMINATION 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 PCN_FORM_TERMINATION. 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 PCN_FORM_TERMINATION 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_PCN_FORM_TERMINATION TYPE STANDARD TABLE OF PCN_FORM_TERMINATION,
      WA_PCN_FORM_TERMINATION TYPE PCN_FORM_TERMINATION,
      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: <PCN_FORM_TERMINATION> TYPE PCN_FORM_TERMINATION.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PCN_FORM_TERMINATION
*  INTO TABLE @DATA(IT_PCN_FORM_TERMINATION2).
*--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_PCN_FORM_TERMINATION INDEX 1 INTO DATA(WA_PCN_FORM_TERMINATION2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PCN_FORM_TERMINATION ASSIGNING <PCN_FORM_TERMINATION>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PCN_FORM_TERMINATION>-PERNR = 1.
<PCN_FORM_TERMINATION>-ENAME = 1.
<PCN_FORM_TERMINATION>-GESCH = 1.
<PCN_FORM_TERMINATION>-GENDER = 1.
<PCN_FORM_TERMINATION>-BIRTHDATE = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PCN_FORM_TERMINATION-BUKRS, sy-vline,
WA_PCN_FORM_TERMINATION-BUKRST, sy-vline,
WA_PCN_FORM_TERMINATION-WERKS, sy-vline,
WA_PCN_FORM_TERMINATION-WERKST, sy-vline,
WA_PCN_FORM_TERMINATION-BTRTL, sy-vline,
WA_PCN_FORM_TERMINATION-BTRTLT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PCN_FORM_TERMINATION 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_PCN_FORM_TERMINATION 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_PCN_FORM_TERMINATION INTO WA_PCN_FORM_TERMINATION. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_PCN_FORM_TERMINATION_STR,
PERNR TYPE STRING,
ENAME TYPE STRING,
GESCH TYPE STRING,
GENDER TYPE STRING,
BIRTHDATE TYPE STRING,
BUKRS TYPE STRING,
BUKRST TYPE STRING,
WERKS TYPE STRING,
WERKST TYPE STRING,
BTRTL TYPE STRING,
BTRTLT TYPE STRING,
ORGEH TYPE STRING,
ORGEHT TYPE STRING,
PLANS TYPE STRING,
PLANST TYPE STRING,
STELL TYPE STRING,
STELLT TYPE STRING,
HIREDATE TYPE STRING,
TERMINATIONDATE TYPE STRING,
CTTYP TYPE STRING,
CTTYPT TYPE STRING,
LASTCONTRACTBEGDA TYPE STRING,
TMNGRP TYPE STRING,
TMNGRPT TYPE STRING,
TMNRSN TYPE STRING,
TMNRSNT TYPE STRING,
ISSUES TYPE STRING,
ACTIONS TYPE STRING,
DECTYP TYPE STRING,
DECTYPT TYPE STRING,
DECMKDT TYPE STRING,
OUTCM TYPE STRING,
OUTCMT TYPE STRING,
ERNPN TYPE STRING,
ERNPU TYPE STRING,
ERNPUT TYPE STRING,
EENPN TYPE STRING,
EENPU TYPE STRING,
EENPUT TYPE STRING,
NPDAT TYPE STRING,
NPDIR TYPE STRING,
NOTICEPAYMENT TYPE STRING,
NPNOP TYPE STRING,
NOPAYMENT TYPE STRING,
BASSA TYPE STRING,
BASSAT TYPE STRING,
BASSARTE TYPE STRING,
BASSARTEC TYPE STRING,
SPRAT TYPE STRING,
ADDMO TYPE STRING,
FIXAM TYPE STRING,
FIXAC TYPE STRING,
SERVYEAR TYPE STRING,
NOTICEPAYMENTAMT TYPE STRING,
NOTICEPAYMENTAMTC TYPE STRING,
SERVPAYMENTAMT TYPE STRING,
SERVPAYMENTAMTC TYPE STRING,
LGART1 TYPE STRING,
LGTXT1 TYPE STRING,
RTE1 TYPE STRING,
NUM1 TYPE STRING,
AMT1 TYPE STRING,
WAERS1 TYPE STRING,
LGART2 TYPE STRING,
LGTXT2 TYPE STRING,
RTE2 TYPE STRING,
NUM2 TYPE STRING,
AMT2 TYPE STRING,
WAERS2 TYPE STRING,
LGART3 TYPE STRING,
LGTXT3 TYPE STRING,
RTE3 TYPE STRING,
NUM3 TYPE STRING,
AMT3 TYPE STRING,
WAERS3 TYPE STRING,
LGART4 TYPE STRING,
LGTXT4 TYPE STRING,
RTE4 TYPE STRING,
NUM4 TYPE STRING,
AMT4 TYPE STRING,
WAERS4 TYPE STRING,
LGART5 TYPE STRING,
LGTXT5 TYPE STRING,
RTE5 TYPE STRING,
NUM5 TYPE STRING,
AMT5 TYPE STRING,
WAERS5 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PCN_FORM_TERMINATION_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_PCN_FORM_TERMINATION_STR-PERNR sy-vline
WA_PCN_FORM_TERMINATION_STR-ENAME sy-vline
WA_PCN_FORM_TERMINATION_STR-GESCH sy-vline
WA_PCN_FORM_TERMINATION_STR-GENDER sy-vline
WA_PCN_FORM_TERMINATION_STR-BIRTHDATE sy-vline
WA_PCN_FORM_TERMINATION_STR-BUKRS sy-vline
WA_PCN_FORM_TERMINATION_STR-BUKRST sy-vline
WA_PCN_FORM_TERMINATION_STR-WERKS sy-vline
WA_PCN_FORM_TERMINATION_STR-WERKST sy-vline
WA_PCN_FORM_TERMINATION_STR-BTRTL sy-vline
WA_PCN_FORM_TERMINATION_STR-BTRTLT sy-vline
WA_PCN_FORM_TERMINATION_STR-ORGEH sy-vline
WA_PCN_FORM_TERMINATION_STR-ORGEHT sy-vline
WA_PCN_FORM_TERMINATION_STR-PLANS sy-vline
WA_PCN_FORM_TERMINATION_STR-PLANST sy-vline
WA_PCN_FORM_TERMINATION_STR-STELL sy-vline
WA_PCN_FORM_TERMINATION_STR-STELLT sy-vline
WA_PCN_FORM_TERMINATION_STR-HIREDATE sy-vline
WA_PCN_FORM_TERMINATION_STR-TERMINATIONDATE sy-vline
WA_PCN_FORM_TERMINATION_STR-CTTYP sy-vline
WA_PCN_FORM_TERMINATION_STR-CTTYPT sy-vline
WA_PCN_FORM_TERMINATION_STR-LASTCONTRACTBEGDA sy-vline
WA_PCN_FORM_TERMINATION_STR-TMNGRP sy-vline
WA_PCN_FORM_TERMINATION_STR-TMNGRPT sy-vline
WA_PCN_FORM_TERMINATION_STR-TMNRSN sy-vline
WA_PCN_FORM_TERMINATION_STR-TMNRSNT sy-vline
WA_PCN_FORM_TERMINATION_STR-ISSUES sy-vline
WA_PCN_FORM_TERMINATION_STR-ACTIONS sy-vline
WA_PCN_FORM_TERMINATION_STR-DECTYP sy-vline
WA_PCN_FORM_TERMINATION_STR-DECTYPT sy-vline
WA_PCN_FORM_TERMINATION_STR-DECMKDT sy-vline
WA_PCN_FORM_TERMINATION_STR-OUTCM sy-vline
WA_PCN_FORM_TERMINATION_STR-OUTCMT sy-vline
WA_PCN_FORM_TERMINATION_STR-ERNPN sy-vline
WA_PCN_FORM_TERMINATION_STR-ERNPU sy-vline
WA_PCN_FORM_TERMINATION_STR-ERNPUT sy-vline
WA_PCN_FORM_TERMINATION_STR-EENPN sy-vline
WA_PCN_FORM_TERMINATION_STR-EENPU sy-vline
WA_PCN_FORM_TERMINATION_STR-EENPUT sy-vline
WA_PCN_FORM_TERMINATION_STR-NPDAT sy-vline
WA_PCN_FORM_TERMINATION_STR-NPDIR sy-vline
WA_PCN_FORM_TERMINATION_STR-NOTICEPAYMENT sy-vline
WA_PCN_FORM_TERMINATION_STR-NPNOP sy-vline
WA_PCN_FORM_TERMINATION_STR-NOPAYMENT sy-vline
WA_PCN_FORM_TERMINATION_STR-BASSA sy-vline
WA_PCN_FORM_TERMINATION_STR-BASSAT sy-vline
WA_PCN_FORM_TERMINATION_STR-BASSARTE sy-vline
WA_PCN_FORM_TERMINATION_STR-BASSARTEC sy-vline
WA_PCN_FORM_TERMINATION_STR-SPRAT sy-vline
WA_PCN_FORM_TERMINATION_STR-ADDMO sy-vline
WA_PCN_FORM_TERMINATION_STR-FIXAM sy-vline
WA_PCN_FORM_TERMINATION_STR-FIXAC sy-vline
WA_PCN_FORM_TERMINATION_STR-SERVYEAR sy-vline
WA_PCN_FORM_TERMINATION_STR-NOTICEPAYMENTAMT sy-vline
WA_PCN_FORM_TERMINATION_STR-NOTICEPAYMENTAMTC sy-vline
WA_PCN_FORM_TERMINATION_STR-SERVPAYMENTAMT sy-vline
WA_PCN_FORM_TERMINATION_STR-SERVPAYMENTAMTC sy-vline
WA_PCN_FORM_TERMINATION_STR-LGART1 sy-vline
WA_PCN_FORM_TERMINATION_STR-LGTXT1 sy-vline
WA_PCN_FORM_TERMINATION_STR-RTE1 sy-vline
WA_PCN_FORM_TERMINATION_STR-NUM1 sy-vline
WA_PCN_FORM_TERMINATION_STR-AMT1 sy-vline
WA_PCN_FORM_TERMINATION_STR-WAERS1 sy-vline
WA_PCN_FORM_TERMINATION_STR-LGART2 sy-vline
WA_PCN_FORM_TERMINATION_STR-LGTXT2 sy-vline
WA_PCN_FORM_TERMINATION_STR-RTE2 sy-vline
WA_PCN_FORM_TERMINATION_STR-NUM2 sy-vline
WA_PCN_FORM_TERMINATION_STR-AMT2 sy-vline
WA_PCN_FORM_TERMINATION_STR-WAERS2 sy-vline
WA_PCN_FORM_TERMINATION_STR-LGART3 sy-vline
WA_PCN_FORM_TERMINATION_STR-LGTXT3 sy-vline
WA_PCN_FORM_TERMINATION_STR-RTE3 sy-vline
WA_PCN_FORM_TERMINATION_STR-NUM3 sy-vline
WA_PCN_FORM_TERMINATION_STR-AMT3 sy-vline
WA_PCN_FORM_TERMINATION_STR-WAERS3 sy-vline
WA_PCN_FORM_TERMINATION_STR-LGART4 sy-vline
WA_PCN_FORM_TERMINATION_STR-LGTXT4 sy-vline
WA_PCN_FORM_TERMINATION_STR-RTE4 sy-vline
WA_PCN_FORM_TERMINATION_STR-NUM4 sy-vline
WA_PCN_FORM_TERMINATION_STR-AMT4 sy-vline
WA_PCN_FORM_TERMINATION_STR-WAERS4 sy-vline
WA_PCN_FORM_TERMINATION_STR-LGART5 sy-vline
WA_PCN_FORM_TERMINATION_STR-LGTXT5 sy-vline
WA_PCN_FORM_TERMINATION_STR-RTE5 sy-vline
WA_PCN_FORM_TERMINATION_STR-NUM5 sy-vline
WA_PCN_FORM_TERMINATION_STR-AMT5 sy-vline
WA_PCN_FORM_TERMINATION_STR-WAERS5 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.