ABAP Select data from SAP table LSO_HRVPVA 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 LSO_HRVPVA 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 LSO_HRVPVA. 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 LSO_HRVPVA 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_LSO_HRVPVA TYPE STANDARD TABLE OF LSO_HRVPVA,
      WA_LSO_HRVPVA TYPE LSO_HRVPVA,
      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: <LSO_HRVPVA> TYPE LSO_HRVPVA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM LSO_HRVPVA
*  INTO TABLE @DATA(IT_LSO_HRVPVA2).
*--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_LSO_HRVPVA INDEX 1 INTO DATA(WA_LSO_HRVPVA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_LSO_HRVPVA ASSIGNING <LSO_HRVPVA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<LSO_HRVPVA>-ETSRK = 1.
<LSO_HRVPVA>-ETYID = 1.
<LSO_HRVPVA>-ETBEG = 1.
<LSO_HRVPVA>-ETEND = 1.
<LSO_HRVPVA>-EVTID = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_LSO_HRVPVA-EVSRK, sy-vline,
WA_LSO_HRVPVA-EVTSH, sy-vline,
WA_LSO_HRVPVA-EVTTX, sy-vline,
WA_LSO_HRVPVA-EVBEG, sy-vline,
WA_LSO_HRVPVA-EVEND, sy-vline,
WA_LSO_HRVPVA-INTEV, sy-vline.
ENDLOOP. *Add any further fields from structure WA_LSO_HRVPVA 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_LSO_HRVPVA 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_LSO_HRVPVA INTO WA_LSO_HRVPVA. *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_LSO_HRVPVA-LANGU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LSO_HRVPVA-LANGU.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field KOSTL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_LSO_HRVPVA-KOSTL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_LSO_HRVPVA-KOSTL.
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_LSO_HRVPVA_STR,
ETSRK TYPE STRING,
ETYID TYPE STRING,
ETBEG TYPE STRING,
ETEND TYPE STRING,
EVTID TYPE STRING,
EVSRK TYPE STRING,
EVTSH TYPE STRING,
EVTTX TYPE STRING,
EVBEG TYPE STRING,
EVEND TYPE STRING,
INTEV TYPE STRING,
FRSTATUS TYPE STRING,
EXTEV TYPE STRING,
EVSTAT TYPE STRING,
EVFIX TYPE STRING,
EVPLAN TYPE STRING,
EVSTTX TYPE STRING,
VORLA TYPE STRING,
REFID TYPE STRING,
RFSRK TYPE STRING,
REFBEG TYPE STRING,
REFEND TYPE STRING,
REFSHORT TYPE STRING,
REFSTEXT TYPE STRING,
REFSTAT TYPE STRING,
FREVDATE TYPE STRING,
EVSHORT TYPE STRING,
EVSTEXT TYPE STRING,
LANGU TYPE STRING,
SPTXT TYPE STRING,
FRAMUST TYPE STRING,
SCHEDCR TYPE STRING,
SCHEDDS TYPE STRING,
SCHEDCO TYPE STRING,
SCHEDMO TYPE STRING,
SCHEDSEL TYPE STRING,
OPTKAP TYPE STRING,
MINKAP TYPE STRING,
MAXKAP TYPE STRING,
FRKAPAZ TYPE STRING,
EVLOC TYPE STRING,
LOCID TYPE STRING,
LOCTX TYPE STRING,
LOCBEG TYPE STRING,
LOCEND TYPE STRING,
LOCSTAT TYPE STRING,
FRPRICE TYPE STRING,
IPRICE TYPE STRING,
IWAER TYPE STRING,
EPRICE TYPE STRING,
EWAER TYPE STRING,
KOKRS TYPE STRING,
KOSTL TYPE STRING,
KOSTX TYPE STRING,
KOBEG TYPE STRING,
KOEND TYPE STRING,
KOSRE TYPE STRING,
FRORGAN TYPE STRING,
OTYP1 TYPE STRING,
OTXT1 TYPE STRING,
OTYP2 TYPE STRING,
OTXT2 TYPE STRING,
OTYP3 TYPE STRING,
OTXT3 TYPE STRING,
OTYPN TYPE STRING,
OOTYP TYPE STRING,
OGSRK TYPE STRING,
OGAID TYPE STRING,
OGTXT TYPE STRING,
ORGAN TYPE STRING,
ORGRE TYPE STRING,
OGBEG TYPE STRING,
OGEND TYPE STRING,
OGSTAT TYPE STRING,
EVFR1 TYPE STRING,
INTEXT TYPE STRING,
KONGX TYPE STRING,
FRACTDAY TYPE STRING,
ACTDAY TYPE STRING,
DAYNR TYPE STRING,
DAYTXT TYPE STRING,
DAYTX2 TYPE STRING,
DFRAM TYPE STRING,
PEBEG TYPE STRING,
PEEND TYPE STRING,
RETYT TYPE STRING,
FRCOND TYPE STRING,
CONDI TYPE STRING,
COND0 TYPE STRING,
COND1 TYPE STRING,
COND2 TYPE STRING,
COND3 TYPE STRING,
RBFRAM TYPE STRING,
FRPLMOD TYPE STRING,
PLMD1 TYPE STRING,
PLMD2 TYPE STRING,
REREQ TYPE STRING,
REAVA TYPE STRING,
RESEL TYPE STRING,
RENEC TYPE STRING,
REMUL TYPE STRING,
RECRT TYPE STRING,
RBRES TYPE STRING,
RESOU TYPE STRING,
REMIN TYPE STRING,
REOPT TYPE STRING,
REMAX TYPE STRING,
RSFRAM TYPE STRING,
RSVAL TYPE STRING,
POSFWD TYPE STRING,
POSBCK TYPE STRING,
EVIDX TYPE STRING,
EVCNT TYPE STRING,
EVDAT TYPE STRING,
BEGUZ TYPE STRING,
ENDUZ TYPE STRING,
RDAFRAM TYPE STRING,
RESRK TYPE STRING,
OTYTX TYPE STRING,
BLCNT TYPE STRING,
BLIDX TYPE STRING,
ABDAT TYPE STRING,
ABBUZ TYPE STRING,
ABEUZ TYPE STRING,
REDIS TYPE STRING,
REVER TYPE STRING,
RESOK TYPE STRING,
FRRES TYPE STRING,
RESBE TYPE STRING,
EQUBE TYPE STRING,
GEPRI TYPE STRING,
TAGNR TYPE STRING,
ZBLID TYPE STRING,
ADDINFO TYPE STRING,
CANCR TYPE STRING,
DELET TYPE STRING,
LOCKM TYPE STRING,
HISTO TYPE STRING,
CANCRT TYPE STRING,END OF T_EKKO_STR. DATA: WA_LSO_HRVPVA_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_LSO_HRVPVA_STR-ETSRK sy-vline
WA_LSO_HRVPVA_STR-ETYID sy-vline
WA_LSO_HRVPVA_STR-ETBEG sy-vline
WA_LSO_HRVPVA_STR-ETEND sy-vline
WA_LSO_HRVPVA_STR-EVTID sy-vline
WA_LSO_HRVPVA_STR-EVSRK sy-vline
WA_LSO_HRVPVA_STR-EVTSH sy-vline
WA_LSO_HRVPVA_STR-EVTTX sy-vline
WA_LSO_HRVPVA_STR-EVBEG sy-vline
WA_LSO_HRVPVA_STR-EVEND sy-vline
WA_LSO_HRVPVA_STR-INTEV sy-vline
WA_LSO_HRVPVA_STR-FRSTATUS sy-vline
WA_LSO_HRVPVA_STR-EXTEV sy-vline
WA_LSO_HRVPVA_STR-EVSTAT sy-vline
WA_LSO_HRVPVA_STR-EVFIX sy-vline
WA_LSO_HRVPVA_STR-EVPLAN sy-vline
WA_LSO_HRVPVA_STR-EVSTTX sy-vline
WA_LSO_HRVPVA_STR-VORLA sy-vline
WA_LSO_HRVPVA_STR-REFID sy-vline
WA_LSO_HRVPVA_STR-RFSRK sy-vline
WA_LSO_HRVPVA_STR-REFBEG sy-vline
WA_LSO_HRVPVA_STR-REFEND sy-vline
WA_LSO_HRVPVA_STR-REFSHORT sy-vline
WA_LSO_HRVPVA_STR-REFSTEXT sy-vline
WA_LSO_HRVPVA_STR-REFSTAT sy-vline
WA_LSO_HRVPVA_STR-FREVDATE sy-vline
WA_LSO_HRVPVA_STR-EVSHORT sy-vline
WA_LSO_HRVPVA_STR-EVSTEXT sy-vline
WA_LSO_HRVPVA_STR-LANGU sy-vline
WA_LSO_HRVPVA_STR-SPTXT sy-vline
WA_LSO_HRVPVA_STR-FRAMUST sy-vline
WA_LSO_HRVPVA_STR-SCHEDCR sy-vline
WA_LSO_HRVPVA_STR-SCHEDDS sy-vline
WA_LSO_HRVPVA_STR-SCHEDCO sy-vline
WA_LSO_HRVPVA_STR-SCHEDMO sy-vline
WA_LSO_HRVPVA_STR-SCHEDSEL sy-vline
WA_LSO_HRVPVA_STR-OPTKAP sy-vline
WA_LSO_HRVPVA_STR-MINKAP sy-vline
WA_LSO_HRVPVA_STR-MAXKAP sy-vline
WA_LSO_HRVPVA_STR-FRKAPAZ sy-vline
WA_LSO_HRVPVA_STR-EVLOC sy-vline
WA_LSO_HRVPVA_STR-LOCID sy-vline
WA_LSO_HRVPVA_STR-LOCTX sy-vline
WA_LSO_HRVPVA_STR-LOCBEG sy-vline
WA_LSO_HRVPVA_STR-LOCEND sy-vline
WA_LSO_HRVPVA_STR-LOCSTAT sy-vline
WA_LSO_HRVPVA_STR-FRPRICE sy-vline
WA_LSO_HRVPVA_STR-IPRICE sy-vline
WA_LSO_HRVPVA_STR-IWAER sy-vline
WA_LSO_HRVPVA_STR-EPRICE sy-vline
WA_LSO_HRVPVA_STR-EWAER sy-vline
WA_LSO_HRVPVA_STR-KOKRS sy-vline
WA_LSO_HRVPVA_STR-KOSTL sy-vline
WA_LSO_HRVPVA_STR-KOSTX sy-vline
WA_LSO_HRVPVA_STR-KOBEG sy-vline
WA_LSO_HRVPVA_STR-KOEND sy-vline
WA_LSO_HRVPVA_STR-KOSRE sy-vline
WA_LSO_HRVPVA_STR-FRORGAN sy-vline
WA_LSO_HRVPVA_STR-OTYP1 sy-vline
WA_LSO_HRVPVA_STR-OTXT1 sy-vline
WA_LSO_HRVPVA_STR-OTYP2 sy-vline
WA_LSO_HRVPVA_STR-OTXT2 sy-vline
WA_LSO_HRVPVA_STR-OTYP3 sy-vline
WA_LSO_HRVPVA_STR-OTXT3 sy-vline
WA_LSO_HRVPVA_STR-OTYPN sy-vline
WA_LSO_HRVPVA_STR-OOTYP sy-vline
WA_LSO_HRVPVA_STR-OGSRK sy-vline
WA_LSO_HRVPVA_STR-OGAID sy-vline
WA_LSO_HRVPVA_STR-OGTXT sy-vline
WA_LSO_HRVPVA_STR-ORGAN sy-vline
WA_LSO_HRVPVA_STR-ORGRE sy-vline
WA_LSO_HRVPVA_STR-OGBEG sy-vline
WA_LSO_HRVPVA_STR-OGEND sy-vline
WA_LSO_HRVPVA_STR-OGSTAT sy-vline
WA_LSO_HRVPVA_STR-EVFR1 sy-vline
WA_LSO_HRVPVA_STR-INTEXT sy-vline
WA_LSO_HRVPVA_STR-KONGX sy-vline
WA_LSO_HRVPVA_STR-FRACTDAY sy-vline
WA_LSO_HRVPVA_STR-ACTDAY sy-vline
WA_LSO_HRVPVA_STR-DAYNR sy-vline
WA_LSO_HRVPVA_STR-DAYTXT sy-vline
WA_LSO_HRVPVA_STR-DAYTX2 sy-vline
WA_LSO_HRVPVA_STR-DFRAM sy-vline
WA_LSO_HRVPVA_STR-PEBEG sy-vline
WA_LSO_HRVPVA_STR-PEEND sy-vline
WA_LSO_HRVPVA_STR-RETYT sy-vline
WA_LSO_HRVPVA_STR-FRCOND sy-vline
WA_LSO_HRVPVA_STR-CONDI sy-vline
WA_LSO_HRVPVA_STR-COND0 sy-vline
WA_LSO_HRVPVA_STR-COND1 sy-vline
WA_LSO_HRVPVA_STR-COND2 sy-vline
WA_LSO_HRVPVA_STR-COND3 sy-vline
WA_LSO_HRVPVA_STR-RBFRAM sy-vline
WA_LSO_HRVPVA_STR-FRPLMOD sy-vline
WA_LSO_HRVPVA_STR-PLMD1 sy-vline
WA_LSO_HRVPVA_STR-PLMD2 sy-vline
WA_LSO_HRVPVA_STR-REREQ sy-vline
WA_LSO_HRVPVA_STR-REAVA sy-vline
WA_LSO_HRVPVA_STR-RESEL sy-vline
WA_LSO_HRVPVA_STR-RENEC sy-vline
WA_LSO_HRVPVA_STR-REMUL sy-vline
WA_LSO_HRVPVA_STR-RECRT sy-vline
WA_LSO_HRVPVA_STR-RBRES sy-vline
WA_LSO_HRVPVA_STR-RESOU sy-vline
WA_LSO_HRVPVA_STR-REMIN sy-vline
WA_LSO_HRVPVA_STR-REOPT sy-vline
WA_LSO_HRVPVA_STR-REMAX sy-vline
WA_LSO_HRVPVA_STR-RSFRAM sy-vline
WA_LSO_HRVPVA_STR-RSVAL sy-vline
WA_LSO_HRVPVA_STR-POSFWD sy-vline
WA_LSO_HRVPVA_STR-POSBCK sy-vline
WA_LSO_HRVPVA_STR-EVIDX sy-vline
WA_LSO_HRVPVA_STR-EVCNT sy-vline
WA_LSO_HRVPVA_STR-EVDAT sy-vline
WA_LSO_HRVPVA_STR-BEGUZ sy-vline
WA_LSO_HRVPVA_STR-ENDUZ sy-vline
WA_LSO_HRVPVA_STR-RDAFRAM sy-vline
WA_LSO_HRVPVA_STR-RESRK sy-vline
WA_LSO_HRVPVA_STR-OTYTX sy-vline
WA_LSO_HRVPVA_STR-BLCNT sy-vline
WA_LSO_HRVPVA_STR-BLIDX sy-vline
WA_LSO_HRVPVA_STR-ABDAT sy-vline
WA_LSO_HRVPVA_STR-ABBUZ sy-vline
WA_LSO_HRVPVA_STR-ABEUZ sy-vline
WA_LSO_HRVPVA_STR-REDIS sy-vline
WA_LSO_HRVPVA_STR-REVER sy-vline
WA_LSO_HRVPVA_STR-RESOK sy-vline
WA_LSO_HRVPVA_STR-FRRES sy-vline
WA_LSO_HRVPVA_STR-RESBE sy-vline
WA_LSO_HRVPVA_STR-EQUBE sy-vline
WA_LSO_HRVPVA_STR-GEPRI sy-vline
WA_LSO_HRVPVA_STR-TAGNR sy-vline
WA_LSO_HRVPVA_STR-ZBLID sy-vline
WA_LSO_HRVPVA_STR-ADDINFO sy-vline
WA_LSO_HRVPVA_STR-CANCR sy-vline
WA_LSO_HRVPVA_STR-DELET sy-vline
WA_LSO_HRVPVA_STR-LOCKM sy-vline
WA_LSO_HRVPVA_STR-HISTO sy-vline
WA_LSO_HRVPVA_STR-CANCRT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.