ABAP Select data from SAP table T5TZAPL1SF 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 T5TZAPL1SF 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 T5TZAPL1SF. 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 T5TZAPL1SF 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_T5TZAPL1SF TYPE STANDARD TABLE OF T5TZAPL1SF, WA_T5TZAPL1SF TYPE T5TZAPL1SF, 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: <T5TZAPL1SF> TYPE T5TZAPL1SF. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_T5TZAPL1SF. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM T5TZAPL1SF INTO TABLE IT_T5TZAPL1SF. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM T5TZAPL1SF * INTO TABLE @DATA(IT_T5TZAPL1SF2). *--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_T5TZAPL1SF INDEX 1 INTO DATA(WA_T5TZAPL1SF2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_T5TZAPL1SF ASSIGNING <T5TZAPL1SF>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<T5TZAPL1SF>-PERNR = 1.
<T5TZAPL1SF>-NAMEN = 1.
<T5TZAPL1SF>-VORNA = 1.
<T5TZAPL1SF>-NACHN = 1.
<T5TZAPL1SF>-TITEL = 1.
ENDLOOP. LOOP AT IT_T5TZAPL1SF INTO WA_T5TZAPL1SF. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_T5TZAPL1SF-GBDAT, sy-vline,
WA_T5TZAPL1SF-PERID, sy-vline,
WA_T5TZAPL1SF-NAME2, sy-vline,
WA_T5TZAPL1SF-STRAS_ALL, sy-vline,
WA_T5TZAPL1SF-STRAS, sy-vline,
WA_T5TZAPL1SF-ORT01, sy-vline.
ENDLOOP. *Add any further fields from structure WA_T5TZAPL1SF 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_T5TZAPL1SF 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_T5TZAPL1SF INTO WA_T5TZAPL1SF. *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_T5TZAPL1SF-GBDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T5TZAPL1SF-GBDAT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit SXIDN, internal->external for field CEMAIL CALL FUNCTION 'CONVERSION_EXIT_SXIDN_OUTPUT' EXPORTING input = WA_T5TZAPL1SF-CEMAIL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T5TZAPL1SF-CEMAIL.
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_T5TZAPL1SF_STR,
PERNR TYPE STRING,
NAMEN TYPE STRING,
VORNA TYPE STRING,
NACHN TYPE STRING,
TITEL TYPE STRING,
GBDAT TYPE STRING,
PERID TYPE STRING,
NAME2 TYPE STRING,
STRAS_ALL TYPE STRING,
STRAS TYPE STRING,
ORT01 TYPE STRING,
ORT02 TYPE STRING,
HSNMR TYPE STRING,
POSTA TYPE STRING,
PSTLZ TYPE STRING,
LAND1 TYPE STRING,
ADDRESS TYPE STRING,
PERSTE TYPE STRING,
DATUM TYPE STRING,
CTTXT TYPE STRING,
STLTX TYPE STRING,
KVALIF TYPE STRING,
ODPRO TYPE STRING,
ODPDN TYPE STRING,
ODPTXT TYPE STRING,
DOVNAR TYPE STRING,
DOVZUC TYPE STRING,
DOVZUS TYPE STRING,
KVSCH TYPE STRING,
TXT01 TYPE STRING,
DATEPP TYPE STRING,
MASSG TYPE STRING,
SLTXT TYPE STRING,
HANDICAP TYPE STRING,
RENT TYPE STRING,
ODSTUPNE TYPE STRING,
NET_AVG3 TYPE STRING,
NET_AVG4 TYPE STRING,
NETTXT TYPE STRING,
ROKY TYPE STRING,
END_DATE TYPE STRING,
DAT_VYST TYPE STRING,
VZDEL TYPE STRING,
SKOLA TYPE STRING,
ADR01 TYPE STRING,
ADR02 TYPE STRING,
ADR03 TYPE STRING,
ADR04 TYPE STRING,
ADR05 TYPE STRING,
ADR06 TYPE STRING,
PAR313S1D TYPE STRING,
PIP1_BEGDA TYPE STRING,
PIP1_ENDDA TYPE STRING,
PIP2_BEGDA TYPE STRING,
PIP2_ENDDA TYPE STRING,
PIP3_BEGDA TYPE STRING,
PIP3_ENDDA TYPE STRING,
PIP4_BEGDA TYPE STRING,
PIP4_ENDDA TYPE STRING,
NO_ILL TYPE STRING,
PIP5_BEGDA TYPE STRING,
PIP5_ENDDA TYPE STRING,
PIP6_BEGDA TYPE STRING,
PIP6_ENDDA TYPE STRING,
PIP7_BEGDA TYPE STRING,
PIP7_ENDDA TYPE STRING,
CFNAME TYPE STRING,
CTELNU TYPE STRING,
CEMAIL TYPE STRING,END OF T_EKKO_STR. DATA: WA_T5TZAPL1SF_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_T5TZAPL1SF_STR-PERNR sy-vline
WA_T5TZAPL1SF_STR-NAMEN sy-vline
WA_T5TZAPL1SF_STR-VORNA sy-vline
WA_T5TZAPL1SF_STR-NACHN sy-vline
WA_T5TZAPL1SF_STR-TITEL sy-vline
WA_T5TZAPL1SF_STR-GBDAT sy-vline
WA_T5TZAPL1SF_STR-PERID sy-vline
WA_T5TZAPL1SF_STR-NAME2 sy-vline
WA_T5TZAPL1SF_STR-STRAS_ALL sy-vline
WA_T5TZAPL1SF_STR-STRAS sy-vline
WA_T5TZAPL1SF_STR-ORT01 sy-vline
WA_T5TZAPL1SF_STR-ORT02 sy-vline
WA_T5TZAPL1SF_STR-HSNMR sy-vline
WA_T5TZAPL1SF_STR-POSTA sy-vline
WA_T5TZAPL1SF_STR-PSTLZ sy-vline
WA_T5TZAPL1SF_STR-LAND1 sy-vline
WA_T5TZAPL1SF_STR-ADDRESS sy-vline
WA_T5TZAPL1SF_STR-PERSTE sy-vline
WA_T5TZAPL1SF_STR-DATUM sy-vline
WA_T5TZAPL1SF_STR-CTTXT sy-vline
WA_T5TZAPL1SF_STR-STLTX sy-vline
WA_T5TZAPL1SF_STR-KVALIF sy-vline
WA_T5TZAPL1SF_STR-ODPRO sy-vline
WA_T5TZAPL1SF_STR-ODPDN sy-vline
WA_T5TZAPL1SF_STR-ODPTXT sy-vline
WA_T5TZAPL1SF_STR-DOVNAR sy-vline
WA_T5TZAPL1SF_STR-DOVZUC sy-vline
WA_T5TZAPL1SF_STR-DOVZUS sy-vline
WA_T5TZAPL1SF_STR-KVSCH sy-vline
WA_T5TZAPL1SF_STR-TXT01 sy-vline
WA_T5TZAPL1SF_STR-DATEPP sy-vline
WA_T5TZAPL1SF_STR-MASSG sy-vline
WA_T5TZAPL1SF_STR-SLTXT sy-vline
WA_T5TZAPL1SF_STR-HANDICAP sy-vline
WA_T5TZAPL1SF_STR-RENT sy-vline
WA_T5TZAPL1SF_STR-ODSTUPNE sy-vline
WA_T5TZAPL1SF_STR-NET_AVG3 sy-vline
WA_T5TZAPL1SF_STR-NET_AVG4 sy-vline
WA_T5TZAPL1SF_STR-NETTXT sy-vline
WA_T5TZAPL1SF_STR-ROKY sy-vline
WA_T5TZAPL1SF_STR-END_DATE sy-vline
WA_T5TZAPL1SF_STR-DAT_VYST sy-vline
WA_T5TZAPL1SF_STR-VZDEL sy-vline
WA_T5TZAPL1SF_STR-SKOLA sy-vline
WA_T5TZAPL1SF_STR-ADR01 sy-vline
WA_T5TZAPL1SF_STR-ADR02 sy-vline
WA_T5TZAPL1SF_STR-ADR03 sy-vline
WA_T5TZAPL1SF_STR-ADR04 sy-vline
WA_T5TZAPL1SF_STR-ADR05 sy-vline
WA_T5TZAPL1SF_STR-ADR06 sy-vline
WA_T5TZAPL1SF_STR-PAR313S1D sy-vline
WA_T5TZAPL1SF_STR-PIP1_BEGDA sy-vline
WA_T5TZAPL1SF_STR-PIP1_ENDDA sy-vline
WA_T5TZAPL1SF_STR-PIP2_BEGDA sy-vline
WA_T5TZAPL1SF_STR-PIP2_ENDDA sy-vline
WA_T5TZAPL1SF_STR-PIP3_BEGDA sy-vline
WA_T5TZAPL1SF_STR-PIP3_ENDDA sy-vline
WA_T5TZAPL1SF_STR-PIP4_BEGDA sy-vline
WA_T5TZAPL1SF_STR-PIP4_ENDDA sy-vline
WA_T5TZAPL1SF_STR-NO_ILL sy-vline
WA_T5TZAPL1SF_STR-PIP5_BEGDA sy-vline
WA_T5TZAPL1SF_STR-PIP5_ENDDA sy-vline
WA_T5TZAPL1SF_STR-PIP6_BEGDA sy-vline
WA_T5TZAPL1SF_STR-PIP6_ENDDA sy-vline
WA_T5TZAPL1SF_STR-PIP7_BEGDA sy-vline
WA_T5TZAPL1SF_STR-PIP7_ENDDA sy-vline
WA_T5TZAPL1SF_STR-CFNAME sy-vline
WA_T5TZAPL1SF_STR-CTELNU sy-vline
WA_T5TZAPL1SF_STR-CEMAIL sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.