ABAP Select data from SAP table LTAP1 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 LTAP1 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 LTAP1. 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 LTAP1 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_LTAP1 TYPE STANDARD TABLE OF LTAP1, WA_LTAP1 TYPE LTAP1, 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: <LTAP1> TYPE LTAP1. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_LTAP1. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM LTAP1 INTO TABLE IT_LTAP1. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM LTAP1 * INTO TABLE @DATA(IT_LTAP12). *--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_LTAP1 INDEX 1 INTO DATA(WA_LTAP12). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_LTAP1 ASSIGNING <LTAP1>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<LTAP1>-KREUZ = 1.
<LTAP1>-EIDIF = 1.
<LTAP1>-NPAUF = 1.
<LTAP1>-NMAXQ = 1.
<LTAP1>-RPAUF = 1.
ENDLOOP. LOOP AT IT_LTAP1 INTO WA_LTAP1. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_LTAP1-RMAXQ, sy-vline,
WA_LTAP1-NMAXL, sy-vline,
WA_LTAP1-VERDE, sy-vline,
WA_LTAP1-SENAU, sy-vline,
WA_LTAP1-XQUIT, sy-vline,
WA_LTAP1-SKZVP, sy-vline.
ENDLOOP. *Add any further fields from structure WA_LTAP1 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_LTAP1 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_LTAP1 INTO WA_LTAP1. *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 ISOLA, internal->external for field LANGU CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_LTAP1-LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LTAP1-LANGU.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field ZEIEI2 CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_LTAP1-ZEIEI2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LTAP1-ZEIEI2.
WRITE:/ 'New Value:', ld_input.
*Conversion exit LENUM, internal->external for field DLENR1 CALL FUNCTION 'CONVERSION_EXIT_LENUM_OUTPUT' EXPORTING input = WA_LTAP1-DLENR1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LTAP1-DLENR1.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field NHUNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_LTAP1-NHUNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LTAP1-NHUNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field HUDUM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_LTAP1-HUDUM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LTAP1-HUDUM.
WRITE:/ 'New Value:', ld_input.
*Conversion exit DOCUB, internal->external for field DOCUBATCH_CHARG CALL FUNCTION 'CONVERSION_EXIT_DOCUB_OUTPUT' EXPORTING input = WA_LTAP1-DOCUBATCH_CHARG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LTAP1-DOCUBATCH_CHARG.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field EBELN CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_LTAP1-EBELN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LTAP1-EBELN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field AUFNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_LTAP1-AUFNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LTAP1-AUFNR.
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_LTAP1_STR,
KREUZ TYPE STRING,
EIDIF TYPE STRING,
NPAUF TYPE STRING,
NMAXQ TYPE STRING,
RPAUF TYPE STRING,
RMAXQ TYPE STRING,
NMAXL TYPE STRING,
VERDE TYPE STRING,
SENAU TYPE STRING,
XQUIT TYPE STRING,
SKZVP TYPE STRING,
SKZNP TYPE STRING,
SKZRP TYPE STRING,
UVTYP TYPE STRING,
UVPLA TYPE STRING,
NEUPO TYPE STRING,
PQUIA TYPE STRING,
KKAPV TYPE STRING,
DKAPA TYPE STRING,
VPTYP TYPE STRING,
NPTYP TYPE STRING,
RPTYP TYPE STRING,
STOSU TYPE STRING,
LAGKL TYPE STRING,
WGFKL TYPE STRING,
LANGU TYPE STRING,
WMSTA TYPE STRING,
QSTAT TYPE STRING,
FILL1 TYPE STRING,
FILL2 TYPE STRING,
FILL3 TYPE STRING,
FILL4 TYPE STRING,
KZLEI TYPE STRING,
SPLBE TYPE STRING,
KISTZ TYPE STRING,
KISTP TYPE STRING,
XCHAR TYPE STRING,
XCHPF TYPE STRING,
PRLEI TYPE STRING,
PRSPL TYPE STRING,
POOLN TYPE STRING,
WEZEI TYPE STRING,
RUZEI TYPE STRING,
FOVER TYPE STRING,
OCHAR TYPE STRING,
SOKNZ TYPE STRING,
TBFOR TYPE STRING,
SPGRU TYPE STRING,
REIHF TYPE STRING,
LASTP TYPE STRING,
IDENT TYPE STRING,
SWABW TYPE STRING,
BWLVS TYPE STRING,
LGBZO TYPE STRING,
WEZEI2 TYPE STRING,
RUZEI2 TYPE STRING,
POOLN2 TYPE STRING,
SOLPO2 TYPE STRING,
ZEIEI2 TYPE STRING,
SPLKB TYPE STRING,
KZNFTA TYPE STRING,
FEHLT TYPE STRING,
KZLEQ TYPE STRING,
NLPLA2 TYPE STRING,
NPPOS2 TYPE STRING,
NLQNR2 TYPE STRING,
NKDYN2 TYPE STRING,
VKAPV2 TYPE STRING,
BRGEW2 TYPE STRING,
KKAPV2 TYPE STRING,
QUEUE TYPE STRING,
PVQIA TYPE STRING,
VDIFM1 TYPE STRING,
VDIFA1 TYPE STRING,
NSOLM1 TYPE STRING,
NDIFM1 TYPE STRING,
NSOLA1 TYPE STRING,
NDIFA1 TYPE STRING,
DLTYP1 TYPE STRING,
DLPLA1 TYPE STRING,
DLQNR1 TYPE STRING,
DMENG1 TYPE STRING,
DMENA1 TYPE STRING,
KZDIF1 TYPE STRING,
DLENR1 TYPE STRING,
NWIRM1 TYPE STRING,
NLQNA TYPE STRING,
MAGRV TYPE STRING,
NDNEW TYPE STRING,
NDNOC TYPE STRING,
NHNEW TYPE STRING,
NHUNR TYPE STRING,
VHNEW TYPE STRING,
HUENT TYPE STRING,
PAPOS TYPE STRING,
HUKNN TYPE STRING,
HUDUM TYPE STRING,
BRGEWS TYPE STRING,
VSOLMS TYPE STRING,
VSOLAS TYPE STRING,
VKAPVS TYPE STRING,
SOLPOS TYPE STRING,
VOLUMS TYPE STRING,
NSOLMS TYPE STRING,
NSOLAS TYPE STRING,
SPITM TYPE STRING,
SPIEX TYPE STRING,
SPPOS TYPE STRING,
DDUMM TYPE STRING,
LPMAX TYPE STRING,
LPMIN TYPE STRING,
NSMNG TYPE STRING,
VREPT TYPE STRING,
BWWMP TYPE STRING,
MAILK TYPE STRING,
KZVFD TYPE STRING,
SPTRM TYPE STRING,
DOCUBATCH_CONTROL TYPE STRING,
DOCUBATCH_CHARG TYPE STRING,
DOCUBATCH_MULT_ENTRIES TYPE STRING,
DOCUBATCH_SET TYPE STRING,
EBELN TYPE STRING,
EBELP TYPE STRING,
AUFNR TYPE STRING,
AUFPS TYPE STRING,
ITAB_INDEX TYPE STRING,
JCPOS TYPE STRING,END OF T_EKKO_STR. DATA: WA_LTAP1_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_LTAP1_STR-KREUZ sy-vline
WA_LTAP1_STR-EIDIF sy-vline
WA_LTAP1_STR-NPAUF sy-vline
WA_LTAP1_STR-NMAXQ sy-vline
WA_LTAP1_STR-RPAUF sy-vline
WA_LTAP1_STR-RMAXQ sy-vline
WA_LTAP1_STR-NMAXL sy-vline
WA_LTAP1_STR-VERDE sy-vline
WA_LTAP1_STR-SENAU sy-vline
WA_LTAP1_STR-XQUIT sy-vline
WA_LTAP1_STR-SKZVP sy-vline
WA_LTAP1_STR-SKZNP sy-vline
WA_LTAP1_STR-SKZRP sy-vline
WA_LTAP1_STR-UVTYP sy-vline
WA_LTAP1_STR-UVPLA sy-vline
WA_LTAP1_STR-NEUPO sy-vline
WA_LTAP1_STR-PQUIA sy-vline
WA_LTAP1_STR-KKAPV sy-vline
WA_LTAP1_STR-DKAPA sy-vline
WA_LTAP1_STR-VPTYP sy-vline
WA_LTAP1_STR-NPTYP sy-vline
WA_LTAP1_STR-RPTYP sy-vline
WA_LTAP1_STR-STOSU sy-vline
WA_LTAP1_STR-LAGKL sy-vline
WA_LTAP1_STR-WGFKL sy-vline
WA_LTAP1_STR-LANGU sy-vline
WA_LTAP1_STR-WMSTA sy-vline
WA_LTAP1_STR-QSTAT sy-vline
WA_LTAP1_STR-FILL1 sy-vline
WA_LTAP1_STR-FILL2 sy-vline
WA_LTAP1_STR-FILL3 sy-vline
WA_LTAP1_STR-FILL4 sy-vline
WA_LTAP1_STR-KZLEI sy-vline
WA_LTAP1_STR-SPLBE sy-vline
WA_LTAP1_STR-KISTZ sy-vline
WA_LTAP1_STR-KISTP sy-vline
WA_LTAP1_STR-XCHAR sy-vline
WA_LTAP1_STR-XCHPF sy-vline
WA_LTAP1_STR-PRLEI sy-vline
WA_LTAP1_STR-PRSPL sy-vline
WA_LTAP1_STR-POOLN sy-vline
WA_LTAP1_STR-WEZEI sy-vline
WA_LTAP1_STR-RUZEI sy-vline
WA_LTAP1_STR-FOVER sy-vline
WA_LTAP1_STR-OCHAR sy-vline
WA_LTAP1_STR-SOKNZ sy-vline
WA_LTAP1_STR-TBFOR sy-vline
WA_LTAP1_STR-SPGRU sy-vline
WA_LTAP1_STR-REIHF sy-vline
WA_LTAP1_STR-LASTP sy-vline
WA_LTAP1_STR-IDENT sy-vline
WA_LTAP1_STR-SWABW sy-vline
WA_LTAP1_STR-BWLVS sy-vline
WA_LTAP1_STR-LGBZO sy-vline
WA_LTAP1_STR-WEZEI2 sy-vline
WA_LTAP1_STR-RUZEI2 sy-vline
WA_LTAP1_STR-POOLN2 sy-vline
WA_LTAP1_STR-SOLPO2 sy-vline
WA_LTAP1_STR-ZEIEI2 sy-vline
WA_LTAP1_STR-SPLKB sy-vline
WA_LTAP1_STR-KZNFTA sy-vline
WA_LTAP1_STR-FEHLT sy-vline
WA_LTAP1_STR-KZLEQ sy-vline
WA_LTAP1_STR-NLPLA2 sy-vline
WA_LTAP1_STR-NPPOS2 sy-vline
WA_LTAP1_STR-NLQNR2 sy-vline
WA_LTAP1_STR-NKDYN2 sy-vline
WA_LTAP1_STR-VKAPV2 sy-vline
WA_LTAP1_STR-BRGEW2 sy-vline
WA_LTAP1_STR-KKAPV2 sy-vline
WA_LTAP1_STR-QUEUE sy-vline
WA_LTAP1_STR-PVQIA sy-vline
WA_LTAP1_STR-VDIFM1 sy-vline
WA_LTAP1_STR-VDIFA1 sy-vline
WA_LTAP1_STR-NSOLM1 sy-vline
WA_LTAP1_STR-NDIFM1 sy-vline
WA_LTAP1_STR-NSOLA1 sy-vline
WA_LTAP1_STR-NDIFA1 sy-vline
WA_LTAP1_STR-DLTYP1 sy-vline
WA_LTAP1_STR-DLPLA1 sy-vline
WA_LTAP1_STR-DLQNR1 sy-vline
WA_LTAP1_STR-DMENG1 sy-vline
WA_LTAP1_STR-DMENA1 sy-vline
WA_LTAP1_STR-KZDIF1 sy-vline
WA_LTAP1_STR-DLENR1 sy-vline
WA_LTAP1_STR-NWIRM1 sy-vline
WA_LTAP1_STR-NLQNA sy-vline
WA_LTAP1_STR-MAGRV sy-vline
WA_LTAP1_STR-NDNEW sy-vline
WA_LTAP1_STR-NDNOC sy-vline
WA_LTAP1_STR-NHNEW sy-vline
WA_LTAP1_STR-NHUNR sy-vline
WA_LTAP1_STR-VHNEW sy-vline
WA_LTAP1_STR-HUENT sy-vline
WA_LTAP1_STR-PAPOS sy-vline
WA_LTAP1_STR-HUKNN sy-vline
WA_LTAP1_STR-HUDUM sy-vline
WA_LTAP1_STR-BRGEWS sy-vline
WA_LTAP1_STR-VSOLMS sy-vline
WA_LTAP1_STR-VSOLAS sy-vline
WA_LTAP1_STR-VKAPVS sy-vline
WA_LTAP1_STR-SOLPOS sy-vline
WA_LTAP1_STR-VOLUMS sy-vline
WA_LTAP1_STR-NSOLMS sy-vline
WA_LTAP1_STR-NSOLAS sy-vline
WA_LTAP1_STR-SPITM sy-vline
WA_LTAP1_STR-SPIEX sy-vline
WA_LTAP1_STR-SPPOS sy-vline
WA_LTAP1_STR-DDUMM sy-vline
WA_LTAP1_STR-LPMAX sy-vline
WA_LTAP1_STR-LPMIN sy-vline
WA_LTAP1_STR-NSMNG sy-vline
WA_LTAP1_STR-VREPT sy-vline
WA_LTAP1_STR-BWWMP sy-vline
WA_LTAP1_STR-MAILK sy-vline
WA_LTAP1_STR-KZVFD sy-vline
WA_LTAP1_STR-SPTRM sy-vline
WA_LTAP1_STR-DOCUBATCH_CONTROL sy-vline
WA_LTAP1_STR-DOCUBATCH_CHARG sy-vline
WA_LTAP1_STR-DOCUBATCH_MULT_ENTRIES sy-vline
WA_LTAP1_STR-DOCUBATCH_SET sy-vline
WA_LTAP1_STR-EBELN sy-vline
WA_LTAP1_STR-EBELP sy-vline
WA_LTAP1_STR-AUFNR sy-vline
WA_LTAP1_STR-AUFPS sy-vline
WA_LTAP1_STR-ITAB_INDEX sy-vline
WA_LTAP1_STR-JCPOS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.