ABAP Select data from SAP table PKR_FORM_YEA 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 PKR_FORM_YEA 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 PKR_FORM_YEA. 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 PKR_FORM_YEA 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_PKR_FORM_YEA TYPE STANDARD TABLE OF PKR_FORM_YEA,
      WA_PKR_FORM_YEA TYPE PKR_FORM_YEA,
      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: <PKR_FORM_YEA> TYPE PKR_FORM_YEA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PKR_FORM_YEA
*  INTO TABLE @DATA(IT_PKR_FORM_YEA2).
*--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_PKR_FORM_YEA INDEX 1 INTO DATA(WA_PKR_FORM_YEA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PKR_FORM_YEA ASSIGNING <PKR_FORM_YEA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PKR_FORM_YEA>-ENAME = 1.
<PKR_FORM_YEA>-REGNO0_7 = 1.
<PKR_FORM_YEA>-TRFGR = 1.
<PKR_FORM_YEA>-TRFST = 1.
<PKR_FORM_YEA>-ADDRE0_8 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PKR_FORM_YEA-RTNYR, sy-vline,
WA_PKR_FORM_YEA-COMNM, sy-vline,
WA_PKR_FORM_YEA-STCD20_3, sy-vline,
WA_PKR_FORM_YEA-SMTDA, sy-vline,
WA_PKR_FORM_YEA-WTHHL, sy-vline,
WA_PKR_FORM_YEA-DPNTS_H, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PKR_FORM_YEA 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_PKR_FORM_YEA 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_PKR_FORM_YEA INTO WA_PKR_FORM_YEA. *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 GJAHR, internal->external for field RTNYR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PKR_FORM_YEA-RTNYR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PKR_FORM_YEA-RTNYR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit REGNO, internal->external for field REGNO CALL FUNCTION 'CONVERSION_EXIT_REGNO_OUTPUT' EXPORTING input = WA_PKR_FORM_YEA-REGNO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PKR_FORM_YEA-REGNO.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field TAXYR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PKR_FORM_YEA-TAXYR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PKR_FORM_YEA-TAXYR.
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_PKR_FORM_YEA_STR,
ENAME TYPE STRING,
REGNO0_7 TYPE STRING,
TRFGR TYPE STRING,
TRFST TYPE STRING,
ADDRE0_8 TYPE STRING,
RTNYR TYPE STRING,
COMNM TYPE STRING,
STCD20_3 TYPE STRING,
SMTDA TYPE STRING,
WTHHL TYPE STRING,
DPNTS_H TYPE STRING,
REGNO7_7 TYPE STRING,
ADDRE8_8 TYPE STRING,
ADDRE0_10 TYPE STRING,
ADDRE10_10 TYPE STRING,
ADDRE20_10 TYPE STRING,
ADDRE30_10 TYPE STRING,
ADDRE40_10 TYPE STRING,
ADDRE50_10 TYPE STRING,
STCD23_2 TYPE STRING,
STCD25_5 TYPE STRING,
REGNO TYPE STRING,
EPADD TYPE STRING,
HRDT TYPE STRING,
LVDT TYPE STRING,
CITZN TYPE STRING,
FORNR TYPE STRING,
NATIO TYPE STRING,
NATCD TYPE STRING,
DPYNG_H TYPE STRING,
EXYES TYPE STRING,
EXNO TYPE STRING,
EXTYP TYPE STRING,
EXBEG TYPE STRING,
EXEND TYPE STRING,
TAXYR TYPE STRING,
COM_SEAL TYPE STRING,
COM_SEAL_S TYPE STRING,
PERNRC TYPE STRING,
ORGTXC TYPE STRING,
TOTAC_TABLE TYPE STRING,
PERNR TYPE STRING,
SYES TYPE STRING,
SNO TYPE STRING,
DPYNG TYPE STRING,
DPOLD TYPE STRING,
OLDEE TYPE STRING,
HNDEE TYPE STRING,
DPNTS TYPE STRING,
WYES TYPE STRING,
WNO TYPE STRING,
CHDID TYPE STRING,
SAVNM TYPE STRING,
ACQDT TYPE STRING,
APPDT TYPE STRING,
GETDT TYPE STRING,
PUTDT TYPE STRING,
RECFR TYPE STRING,
SUBFR TYPE STRING,
TECH_CNTR TYPE STRING,
EXEMP_LAW TYPE STRING,
WTM_GROSS TYPE STRING,
WTS_GROSS TYPE STRING,
WTI_GROSS TYPE STRING,
GROSS_TOT TYPE STRING,
NTX_OVS TYPE STRING,
NTX_OVT TYPE STRING,
NTX_OTH TYPE STRING,
NTX_TOT TYPE STRING,
MON_GROSS TYPE STRING,
TAX_GROSS TYPE STRING,
DED_EARND TYPE STRING,
EARND_AMT TYPE STRING,
BASE_EE TYPE STRING,
BASE_SPOS TYPE STRING,
BASE_DP TYPE STRING,
ADD_OLD TYPE STRING,
ADD_HAND TYPE STRING,
ADD_WOMAN TYPE STRING,
ADD_CHILD TYPE STRING,
FEW_EE_DD TYPE STRING,
DED_SI TYPE STRING,
DED_OTH_INS TYPE STRING,
MI_PREMIUM TYPE STRING,
NP_PREMIUM TYPE STRING,
HND_PREM TYPE STRING,
EI_PREMIUM TYPE STRING,
DED_M_OLD TYPE STRING,
DED_M_EE TYPE STRING,
DED_M_HND TYPE STRING,
DED_M_LIMIT TYPE STRING,
DED_MEDI TYPE STRING,
DED_EDU TYPE STRING,
DED_EDU_EE TYPE STRING,
DED_EDU_DP TYPE STRING,
DED_EDU_SP TYPE STRING,
DED_EDU_HAND TYPE STRING,
DED_HOUS TYPE STRING,
DED_H_SAVE TYPE STRING,
DED_H_BACK TYPE STRING,
LTINT TYPE STRING,
DED_H_LIMIT TYPE STRING,
DED_DONA TYPE STRING,
DED_TOTAL TYPE STRING,
CALC_DES TYPE STRING,
LEGAL_DO TYPE STRING,
DESIG_DO TYPE STRING,
SPECL_DO TYPE STRING,
PRVSC_DO TYPE STRING,
LIMIT_DO TYPE STRING,
DED_CARD TYPE STRING,
DED_STOK TYPE STRING,
DED_SPEC TYPE STRING,
DED_NP TYPE STRING,
AFTER_SPEC TYPE STRING,
DED_INDIV TYPE STRING,
DED_PENSV TYPE STRING,
FLD_ENG TYPE STRING,
DD_INVEST TYPE STRING,
TAX_BASE TYPE STRING,
CALC_TAX TYPE STRING,
EARN_CRET TYPE STRING,
CRET_HOUS TYPE STRING,
ABROD_INC TYPE STRING,
TAX_ASSOC TYPE STRING,
ABROD_PAID TYPE STRING,
CRET_STOK TYPE STRING,
CRET_STOK_LT TYPE STRING,
CRET_TOT TYPE STRING,
FOR_ITAX TYPE STRING,
FOR_ETAX TYPE STRING,
FOR_TOT TYPE STRING,
DTR_ITAX TYPE STRING,
DTR_RTAX TYPE STRING,
DTR_STAX TYPE STRING,
PRV_ITAX TYPE STRING,
PRV_RTAX TYPE STRING,
PRV_STAX TYPE STRING,
DIF_ITAX TYPE STRING,
DIF_RTAX TYPE STRING,
DIF_STAX TYPE STRING,
INC_TAX TYPE STRING,
RES_TAX TYPE STRING,
SPE_TAX TYPE STRING,
COL_ITAX TYPE STRING,
COL_RTAX TYPE STRING,
COL_STAX TYPE STRING,
REM_ITAX TYPE STRING,
REM_RTAX TYPE STRING,
REM_STAX TYPE STRING,
LISC_TABLE TYPE STRING,
LISP_TABLE TYPE STRING,
LISC_TABLE10 TYPE STRING,
TOTAC_TABLE10 TYPE STRING,
PAGNR TYPE STRING,END OF T_EKKO_STR. DATA: WA_PKR_FORM_YEA_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_PKR_FORM_YEA_STR-ENAME sy-vline
WA_PKR_FORM_YEA_STR-REGNO0_7 sy-vline
WA_PKR_FORM_YEA_STR-TRFGR sy-vline
WA_PKR_FORM_YEA_STR-TRFST sy-vline
WA_PKR_FORM_YEA_STR-ADDRE0_8 sy-vline
WA_PKR_FORM_YEA_STR-RTNYR sy-vline
WA_PKR_FORM_YEA_STR-COMNM sy-vline
WA_PKR_FORM_YEA_STR-STCD20_3 sy-vline
WA_PKR_FORM_YEA_STR-SMTDA sy-vline
WA_PKR_FORM_YEA_STR-WTHHL sy-vline
WA_PKR_FORM_YEA_STR-DPNTS_H sy-vline
WA_PKR_FORM_YEA_STR-REGNO7_7 sy-vline
WA_PKR_FORM_YEA_STR-ADDRE8_8 sy-vline
WA_PKR_FORM_YEA_STR-ADDRE0_10 sy-vline
WA_PKR_FORM_YEA_STR-ADDRE10_10 sy-vline
WA_PKR_FORM_YEA_STR-ADDRE20_10 sy-vline
WA_PKR_FORM_YEA_STR-ADDRE30_10 sy-vline
WA_PKR_FORM_YEA_STR-ADDRE40_10 sy-vline
WA_PKR_FORM_YEA_STR-ADDRE50_10 sy-vline
WA_PKR_FORM_YEA_STR-STCD23_2 sy-vline
WA_PKR_FORM_YEA_STR-STCD25_5 sy-vline
WA_PKR_FORM_YEA_STR-REGNO sy-vline
WA_PKR_FORM_YEA_STR-EPADD sy-vline
WA_PKR_FORM_YEA_STR-HRDT sy-vline
WA_PKR_FORM_YEA_STR-LVDT sy-vline
WA_PKR_FORM_YEA_STR-CITZN sy-vline
WA_PKR_FORM_YEA_STR-FORNR sy-vline
WA_PKR_FORM_YEA_STR-NATIO sy-vline
WA_PKR_FORM_YEA_STR-NATCD sy-vline
WA_PKR_FORM_YEA_STR-DPYNG_H sy-vline
WA_PKR_FORM_YEA_STR-EXYES sy-vline
WA_PKR_FORM_YEA_STR-EXNO sy-vline
WA_PKR_FORM_YEA_STR-EXTYP sy-vline
WA_PKR_FORM_YEA_STR-EXBEG sy-vline
WA_PKR_FORM_YEA_STR-EXEND sy-vline
WA_PKR_FORM_YEA_STR-TAXYR sy-vline
WA_PKR_FORM_YEA_STR-COM_SEAL sy-vline
WA_PKR_FORM_YEA_STR-COM_SEAL_S sy-vline
WA_PKR_FORM_YEA_STR-PERNRC sy-vline
WA_PKR_FORM_YEA_STR-ORGTXC sy-vline
WA_PKR_FORM_YEA_STR-TOTAC_TABLE sy-vline
WA_PKR_FORM_YEA_STR-PERNR sy-vline
WA_PKR_FORM_YEA_STR-SYES sy-vline
WA_PKR_FORM_YEA_STR-SNO sy-vline
WA_PKR_FORM_YEA_STR-DPYNG sy-vline
WA_PKR_FORM_YEA_STR-DPOLD sy-vline
WA_PKR_FORM_YEA_STR-OLDEE sy-vline
WA_PKR_FORM_YEA_STR-HNDEE sy-vline
WA_PKR_FORM_YEA_STR-DPNTS sy-vline
WA_PKR_FORM_YEA_STR-WYES sy-vline
WA_PKR_FORM_YEA_STR-WNO sy-vline
WA_PKR_FORM_YEA_STR-CHDID sy-vline
WA_PKR_FORM_YEA_STR-SAVNM sy-vline
WA_PKR_FORM_YEA_STR-ACQDT sy-vline
WA_PKR_FORM_YEA_STR-APPDT sy-vline
WA_PKR_FORM_YEA_STR-GETDT sy-vline
WA_PKR_FORM_YEA_STR-PUTDT sy-vline
WA_PKR_FORM_YEA_STR-RECFR sy-vline
WA_PKR_FORM_YEA_STR-SUBFR sy-vline
WA_PKR_FORM_YEA_STR-TECH_CNTR sy-vline
WA_PKR_FORM_YEA_STR-EXEMP_LAW sy-vline
WA_PKR_FORM_YEA_STR-WTM_GROSS sy-vline
WA_PKR_FORM_YEA_STR-WTS_GROSS sy-vline
WA_PKR_FORM_YEA_STR-WTI_GROSS sy-vline
WA_PKR_FORM_YEA_STR-GROSS_TOT sy-vline
WA_PKR_FORM_YEA_STR-NTX_OVS sy-vline
WA_PKR_FORM_YEA_STR-NTX_OVT sy-vline
WA_PKR_FORM_YEA_STR-NTX_OTH sy-vline
WA_PKR_FORM_YEA_STR-NTX_TOT sy-vline
WA_PKR_FORM_YEA_STR-MON_GROSS sy-vline
WA_PKR_FORM_YEA_STR-TAX_GROSS sy-vline
WA_PKR_FORM_YEA_STR-DED_EARND sy-vline
WA_PKR_FORM_YEA_STR-EARND_AMT sy-vline
WA_PKR_FORM_YEA_STR-BASE_EE sy-vline
WA_PKR_FORM_YEA_STR-BASE_SPOS sy-vline
WA_PKR_FORM_YEA_STR-BASE_DP sy-vline
WA_PKR_FORM_YEA_STR-ADD_OLD sy-vline
WA_PKR_FORM_YEA_STR-ADD_HAND sy-vline
WA_PKR_FORM_YEA_STR-ADD_WOMAN sy-vline
WA_PKR_FORM_YEA_STR-ADD_CHILD sy-vline
WA_PKR_FORM_YEA_STR-FEW_EE_DD sy-vline
WA_PKR_FORM_YEA_STR-DED_SI sy-vline
WA_PKR_FORM_YEA_STR-DED_OTH_INS sy-vline
WA_PKR_FORM_YEA_STR-MI_PREMIUM sy-vline
WA_PKR_FORM_YEA_STR-NP_PREMIUM sy-vline
WA_PKR_FORM_YEA_STR-HND_PREM sy-vline
WA_PKR_FORM_YEA_STR-EI_PREMIUM sy-vline
WA_PKR_FORM_YEA_STR-DED_M_OLD sy-vline
WA_PKR_FORM_YEA_STR-DED_M_EE sy-vline
WA_PKR_FORM_YEA_STR-DED_M_HND sy-vline
WA_PKR_FORM_YEA_STR-DED_M_LIMIT sy-vline
WA_PKR_FORM_YEA_STR-DED_MEDI sy-vline
WA_PKR_FORM_YEA_STR-DED_EDU sy-vline
WA_PKR_FORM_YEA_STR-DED_EDU_EE sy-vline
WA_PKR_FORM_YEA_STR-DED_EDU_DP sy-vline
WA_PKR_FORM_YEA_STR-DED_EDU_SP sy-vline
WA_PKR_FORM_YEA_STR-DED_EDU_HAND sy-vline
WA_PKR_FORM_YEA_STR-DED_HOUS sy-vline
WA_PKR_FORM_YEA_STR-DED_H_SAVE sy-vline
WA_PKR_FORM_YEA_STR-DED_H_BACK sy-vline
WA_PKR_FORM_YEA_STR-LTINT sy-vline
WA_PKR_FORM_YEA_STR-DED_H_LIMIT sy-vline
WA_PKR_FORM_YEA_STR-DED_DONA sy-vline
WA_PKR_FORM_YEA_STR-DED_TOTAL sy-vline
WA_PKR_FORM_YEA_STR-CALC_DES sy-vline
WA_PKR_FORM_YEA_STR-LEGAL_DO sy-vline
WA_PKR_FORM_YEA_STR-DESIG_DO sy-vline
WA_PKR_FORM_YEA_STR-SPECL_DO sy-vline
WA_PKR_FORM_YEA_STR-PRVSC_DO sy-vline
WA_PKR_FORM_YEA_STR-LIMIT_DO sy-vline
WA_PKR_FORM_YEA_STR-DED_CARD sy-vline
WA_PKR_FORM_YEA_STR-DED_STOK sy-vline
WA_PKR_FORM_YEA_STR-DED_SPEC sy-vline
WA_PKR_FORM_YEA_STR-DED_NP sy-vline
WA_PKR_FORM_YEA_STR-AFTER_SPEC sy-vline
WA_PKR_FORM_YEA_STR-DED_INDIV sy-vline
WA_PKR_FORM_YEA_STR-DED_PENSV sy-vline
WA_PKR_FORM_YEA_STR-FLD_ENG sy-vline
WA_PKR_FORM_YEA_STR-DD_INVEST sy-vline
WA_PKR_FORM_YEA_STR-TAX_BASE sy-vline
WA_PKR_FORM_YEA_STR-CALC_TAX sy-vline
WA_PKR_FORM_YEA_STR-EARN_CRET sy-vline
WA_PKR_FORM_YEA_STR-CRET_HOUS sy-vline
WA_PKR_FORM_YEA_STR-ABROD_INC sy-vline
WA_PKR_FORM_YEA_STR-TAX_ASSOC sy-vline
WA_PKR_FORM_YEA_STR-ABROD_PAID sy-vline
WA_PKR_FORM_YEA_STR-CRET_STOK sy-vline
WA_PKR_FORM_YEA_STR-CRET_STOK_LT sy-vline
WA_PKR_FORM_YEA_STR-CRET_TOT sy-vline
WA_PKR_FORM_YEA_STR-FOR_ITAX sy-vline
WA_PKR_FORM_YEA_STR-FOR_ETAX sy-vline
WA_PKR_FORM_YEA_STR-FOR_TOT sy-vline
WA_PKR_FORM_YEA_STR-DTR_ITAX sy-vline
WA_PKR_FORM_YEA_STR-DTR_RTAX sy-vline
WA_PKR_FORM_YEA_STR-DTR_STAX sy-vline
WA_PKR_FORM_YEA_STR-PRV_ITAX sy-vline
WA_PKR_FORM_YEA_STR-PRV_RTAX sy-vline
WA_PKR_FORM_YEA_STR-PRV_STAX sy-vline
WA_PKR_FORM_YEA_STR-DIF_ITAX sy-vline
WA_PKR_FORM_YEA_STR-DIF_RTAX sy-vline
WA_PKR_FORM_YEA_STR-DIF_STAX sy-vline
WA_PKR_FORM_YEA_STR-INC_TAX sy-vline
WA_PKR_FORM_YEA_STR-RES_TAX sy-vline
WA_PKR_FORM_YEA_STR-SPE_TAX sy-vline
WA_PKR_FORM_YEA_STR-COL_ITAX sy-vline
WA_PKR_FORM_YEA_STR-COL_RTAX sy-vline
WA_PKR_FORM_YEA_STR-COL_STAX sy-vline
WA_PKR_FORM_YEA_STR-REM_ITAX sy-vline
WA_PKR_FORM_YEA_STR-REM_RTAX sy-vline
WA_PKR_FORM_YEA_STR-REM_STAX sy-vline
WA_PKR_FORM_YEA_STR-LISC_TABLE sy-vline
WA_PKR_FORM_YEA_STR-LISP_TABLE sy-vline
WA_PKR_FORM_YEA_STR-LISC_TABLE10 sy-vline
WA_PKR_FORM_YEA_STR-TOTAC_TABLE10 sy-vline
WA_PKR_FORM_YEA_STR-PAGNR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.