ABAP Select data from SAP table HRPADRU_S_SICK_CERTIFICATE 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 HRPADRU_S_SICK_CERTIFICATE 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 HRPADRU_S_SICK_CERTIFICATE. 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 HRPADRU_S_SICK_CERTIFICATE 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_HRPADRU_S_SICK_CERTIFICATE TYPE STANDARD TABLE OF HRPADRU_S_SICK_CERTIFICATE,
      WA_HRPADRU_S_SICK_CERTIFICATE TYPE HRPADRU_S_SICK_CERTIFICATE,
      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: <HRPADRU_S_SICK_CERTIFICATE> TYPE HRPADRU_S_SICK_CERTIFICATE.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM HRPADRU_S_SICK_CERTIFICATE
*  INTO TABLE @DATA(IT_HRPADRU_S_SICK_CERTIFICATE2).
*--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_HRPADRU_S_SICK_CERTIFICATE INDEX 1 INTO DATA(WA_HRPADRU_S_SICK_CERTIFICATE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_HRPADRU_S_SICK_CERTIFICATE ASSIGNING <HRPADRU_S_SICK_CERTIFICATE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<HRPADRU_S_SICK_CERTIFICATE>-SUBRE = 1.
<HRPADRU_S_SICK_CERTIFICATE>-LNCOD = 1.
<HRPADRU_S_SICK_CERTIFICATE>-PLNCD = 1.
<HRPADRU_S_SICK_CERTIFICATE>-DPFLG = 1.
<HRPADRU_S_SICK_CERTIFICATE>-LNDAT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_HRPADRU_S_SICK_CERTIFICATE-LOGRN, sy-vline,
WA_HRPADRU_S_SICK_CERTIFICATE-REAS1, sy-vline,
WA_HRPADRU_S_SICK_CERTIFICATE-REAS2, sy-vline,
WA_HRPADRU_S_SICK_CERTIFICATE-REAS3, sy-vline,
WA_HRPADRU_S_SICK_CERTIFICATE-PARCD, sy-vline,
WA_HRPADRU_S_SICK_CERTIFICATE-DATE1, sy-vline.
ENDLOOP. *Add any further fields from structure WA_HRPADRU_S_SICK_CERTIFICATE 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_HRPADRU_S_SICK_CERTIFICATE 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_HRPADRU_S_SICK_CERTIFICATE INTO WA_HRPADRU_S_SICK_CERTIFICATE. *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 GBDAT CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT' EXPORTING input = WA_HRPADRU_S_SICK_CERTIFICATE-GBDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_HRPADRU_S_SICK_CERTIFICATE-GBDAT.
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_HRPADRU_S_SICK_CERTIFICATE_STR,
SUBRE TYPE STRING,
LNCOD TYPE STRING,
PLNCD TYPE STRING,
DPFLG TYPE STRING,
LNDAT TYPE STRING,
LOGRN TYPE STRING,
REAS1 TYPE STRING,
REAS2 TYPE STRING,
REAS3 TYPE STRING,
PARCD TYPE STRING,
DATE1 TYPE STRING,
DATE2 TYPE STRING,
VONUM TYPE STRING,
VOGRN TYPE STRING,
SRVS1 TYPE STRING,
SRVO1 TYPE STRING,
SRVD1 TYPE STRING,
SRVN1 TYPE STRING,
SRVS2 TYPE STRING,
SRVO2 TYPE STRING,
SRVD2 TYPE STRING,
SRVN2 TYPE STRING,
ERFLG TYPE STRING,
HSDT1 TYPE STRING,
HSDT2 TYPE STRING,
HSBRC TYPE STRING,
HSBRD TYPE STRING,
MSED1 TYPE STRING,
MSED2 TYPE STRING,
MSED3 TYPE STRING,
MSEIG TYPE STRING,
MSERS TYPE STRING,
T1DT1 TYPE STRING,
T1DT2 TYPE STRING,
T1DPN TYPE STRING,
T1DNM TYPE STRING,
T1DID TYPE STRING,
T1D2P TYPE STRING,
T1CNM TYPE STRING,
T1D2I TYPE STRING,
T2DT1 TYPE STRING,
T2DT2 TYPE STRING,
T2DPN TYPE STRING,
T2DNM TYPE STRING,
T2DID TYPE STRING,
T2D2P TYPE STRING,
T2CNM TYPE STRING,
T2D2I TYPE STRING,
T3DT1 TYPE STRING,
T3DT2 TYPE STRING,
T3DPN TYPE STRING,
T3DNM TYPE STRING,
T3DID TYPE STRING,
T3D2P TYPE STRING,
T3CNM TYPE STRING,
T3D2I TYPE STRING,
OSTDT TYPE STRING,
RETDT TYPE STRING,
NXTCD TYPE STRING,
N1DAT TYPE STRING,
KTEXT_SEQNR_L TYPE STRING,
KTEXT_SEQNR_V TYPE STRING,
ELNTY TYPE STRING,
CNGLN TYPE STRING,
SNILS TYPE STRING,
NACHN TYPE STRING,
VORNA TYPE STRING,
MIDNM TYPE STRING,
GBDAT TYPE STRING,
GESCH TYPE STRING,
DIAGNOS TYPE STRING,
INN TYPE STRING,
BASE_AVG_SAL TYPE STRING,
BASE_AVG_DAILY_SAL TYPE STRING,
INSUR_YY TYPE STRING,
INSUR_MM TYPE STRING,
NOT_INSUR_YY TYPE STRING,
NOT_INSUR_MM TYPE STRING,
CALC_CONDITION1 TYPE STRING,
CALC_CONDITION2 TYPE STRING,
CALC_CONDITION3 TYPE STRING,
CALC_CONDITION4 TYPE STRING,
DT1 TYPE STRING,
DT2 TYPE STRING,
DT1_LN TYPE STRING,
DT2_LN TYPE STRING,
EMPL_PAYMENT TYPE STRING,
FSS_PAYMENT TYPE STRING,
PAYMENT TYPE STRING,
CORRECTION_FLAG TYPE STRING,
BOZ_FLAG TYPE STRING,
PRIMARY_FLAG TYPE STRING,
SERV1_AGE TYPE STRING,
SERV1_MM TYPE STRING,
SERV1_RELATION_CODE TYPE STRING,
SERV1_FIO TYPE STRING,
SERV1_DT1 TYPE STRING,
SERV1_DT2 TYPE STRING,
SERV2_AGE TYPE STRING,
SERV2_MM TYPE STRING,
SERV2_RELATION_CODE TYPE STRING,
SERV2_FIO TYPE STRING,
SERV2_DT1 TYPE STRING,
SERV2_DT2 TYPE STRING,
LPU_NAME TYPE STRING,
LPU_ADDRESS TYPE STRING,
T1_CHAIRMAN_ROLE TYPE STRING,
T1_DOCTOR_ROLE TYPE STRING,
T2_CHAIRMAN_ROLE TYPE STRING,
T2_DOCTOR_ROLE TYPE STRING,
T3_CHAIRMAN_ROLE TYPE STRING,
T3_DOCTOR_ROLE TYPE STRING,
CORRECTION_REASON TYPE STRING,
INTMT TYPE STRING,
IDMO TYPE STRING,
VOLUNTARILY_INSURED TYPE STRING,
WRITTEN_AGREEMENT TYPE STRING,
RELATIVES TYPE STRING,
EMPLOYER TYPE STRING,
LPU_EMPLOYER TYPE STRING,
LPU_EMPL_FLAG TYPE STRING,
EMPL_FLAG TYPE STRING,
EMPL_REG_NO TYPE STRING,
EMPL_PARENT_NO TYPE STRING,
EMPL_REG_NO2 TYPE STRING,
APPROVE1 TYPE STRING,
APPROVE2 TYPE STRING,
LN_STATE TYPE STRING,
LN_HASH TYPE STRING,END OF T_EKKO_STR. DATA: WA_HRPADRU_S_SICK_CERTIFICATE_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_HRPADRU_S_SICK_CERTIFICATE_STR-SUBRE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-LNCOD sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-PLNCD sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-DPFLG sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-LNDAT sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-LOGRN sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-REAS1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-REAS2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-REAS3 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-PARCD sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-DATE1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-DATE2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-VONUM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-VOGRN sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SRVS1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SRVO1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SRVD1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SRVN1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SRVS2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SRVO2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SRVD2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SRVN2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-ERFLG sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-HSDT1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-HSDT2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-HSBRC sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-HSBRD sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-MSED1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-MSED2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-MSED3 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-MSEIG sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-MSERS sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T1DT1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T1DT2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T1DPN sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T1DNM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T1DID sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T1D2P sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T1CNM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T1D2I sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T2DT1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T2DT2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T2DPN sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T2DNM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T2DID sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T2D2P sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T2CNM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T2D2I sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T3DT1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T3DT2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T3DPN sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T3DNM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T3DID sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T3D2P sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T3CNM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T3D2I sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-OSTDT sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-RETDT sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-NXTCD sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-N1DAT sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-KTEXT_SEQNR_L sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-KTEXT_SEQNR_V sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-ELNTY sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-CNGLN sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SNILS sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-NACHN sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-VORNA sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-MIDNM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-GBDAT sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-GESCH sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-DIAGNOS sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-INN sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-BASE_AVG_SAL sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-BASE_AVG_DAILY_SAL sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-INSUR_YY sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-INSUR_MM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-NOT_INSUR_YY sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-NOT_INSUR_MM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-CALC_CONDITION1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-CALC_CONDITION2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-CALC_CONDITION3 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-CALC_CONDITION4 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-DT1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-DT2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-DT1_LN sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-DT2_LN sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-EMPL_PAYMENT sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-FSS_PAYMENT sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-PAYMENT sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-CORRECTION_FLAG sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-BOZ_FLAG sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-PRIMARY_FLAG sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV1_AGE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV1_MM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV1_RELATION_CODE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV1_FIO sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV1_DT1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV1_DT2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV2_AGE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV2_MM sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV2_RELATION_CODE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV2_FIO sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV2_DT1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-SERV2_DT2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-LPU_NAME sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-LPU_ADDRESS sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T1_CHAIRMAN_ROLE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T1_DOCTOR_ROLE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T2_CHAIRMAN_ROLE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T2_DOCTOR_ROLE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T3_CHAIRMAN_ROLE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-T3_DOCTOR_ROLE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-CORRECTION_REASON sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-INTMT sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-IDMO sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-VOLUNTARILY_INSURED sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-WRITTEN_AGREEMENT sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-RELATIVES sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-EMPLOYER sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-LPU_EMPLOYER sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-LPU_EMPL_FLAG sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-EMPL_FLAG sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-EMPL_REG_NO sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-EMPL_PARENT_NO sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-EMPL_REG_NO2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-APPROVE1 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-APPROVE2 sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-LN_STATE sy-vline
WA_HRPADRU_S_SICK_CERTIFICATE_STR-LN_HASH sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.