ABAP Select data from SAP table HRV_77VPALV 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 HRV_77VPALV 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 HRV_77VPALV. 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 HRV_77VPALV 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_HRV_77VPALV TYPE STANDARD TABLE OF HRV_77VPALV,
      WA_HRV_77VPALV TYPE HRV_77VPALV,
      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: <HRV_77VPALV> TYPE HRV_77VPALV.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM HRV_77VPALV
*  INTO TABLE @DATA(IT_HRV_77VPALV2).
*--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_HRV_77VPALV INDEX 1 INTO DATA(WA_HRV_77VPALV2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_HRV_77VPALV ASSIGNING <HRV_77VPALV>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<HRV_77VPALV>-PLVAR = 1.
<HRV_77VPALV>-PTEXT = 1.
<HRV_77VPALV>-OTYPE = 1.
<HRV_77VPALV>-OTEXT = 1.
<HRV_77VPALV>-OBJID = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_HRV_77VPALV-SHORT, sy-vline,
WA_HRV_77VPALV-STEXT, sy-vline,
WA_HRV_77VPALV-SCLAS, sy-vline,
WA_HRV_77VPALV-PTYTX, sy-vline,
WA_HRV_77VPALV-SOBID, sy-vline,
WA_HRV_77VPALV-PSHRT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_HRV_77VPALV 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_HRV_77VPALV 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_HRV_77VPALV INTO WA_HRV_77VPALV. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_HRV_77VPALV_STR,
PLVAR TYPE STRING,
PTEXT TYPE STRING,
OTYPE TYPE STRING,
OTEXT TYPE STRING,
OBJID TYPE STRING,
SHORT TYPE STRING,
STEXT TYPE STRING,
SCLAS TYPE STRING,
PTYTX TYPE STRING,
SOBID TYPE STRING,
PSHRT TYPE STRING,
PSTXT TYPE STRING,
O_TYP TYPE STRING,
OTYTX TYPE STRING,
O_ID TYPE STRING,
OSHRT TYPE STRING,
OSTXT TYPE STRING,
USRTP TYPE STRING,
USRTPTX TYPE STRING,
UNAME TYPE STRING,
USRTX TYPE STRING,
PROTID TYPE STRING,
LFCOD TYPE STRING,
LFCODT TYPE STRING,
ISTAT TYPE STRING,
ISTATTX TYPE STRING,
PRIOX TYPE STRING,
BPRTX TYPE STRING,
SUBTY TYPE STRING,
SUTXT TYPE STRING,
MANZL TYPE STRING,
BUDAT TYPE STRING,
DATUM TYPE STRING,
UZEIT TYPE STRING,
NOTIF TYPE STRING,
KMTXT TYPE STRING,
FORML TYPE STRING,
FORMTXT TYPE STRING,
OPSTAT TYPE STRING,
OPSTTX TYPE STRING,
AUTMOD TYPE STRING,
DEVICE TYPE STRING,
MEDTXT TYPE STRING,
ARCHX TYPE STRING,
PSCLAS TYPE STRING,
VOTEXT TYPE STRING,
PSOBID TYPE STRING,
VOSHRT TYPE STRING,
VOSTXT TYPE STRING,END OF T_EKKO_STR. DATA: WA_HRV_77VPALV_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_HRV_77VPALV_STR-PLVAR sy-vline
WA_HRV_77VPALV_STR-PTEXT sy-vline
WA_HRV_77VPALV_STR-OTYPE sy-vline
WA_HRV_77VPALV_STR-OTEXT sy-vline
WA_HRV_77VPALV_STR-OBJID sy-vline
WA_HRV_77VPALV_STR-SHORT sy-vline
WA_HRV_77VPALV_STR-STEXT sy-vline
WA_HRV_77VPALV_STR-SCLAS sy-vline
WA_HRV_77VPALV_STR-PTYTX sy-vline
WA_HRV_77VPALV_STR-SOBID sy-vline
WA_HRV_77VPALV_STR-PSHRT sy-vline
WA_HRV_77VPALV_STR-PSTXT sy-vline
WA_HRV_77VPALV_STR-O_TYP sy-vline
WA_HRV_77VPALV_STR-OTYTX sy-vline
WA_HRV_77VPALV_STR-O_ID sy-vline
WA_HRV_77VPALV_STR-OSHRT sy-vline
WA_HRV_77VPALV_STR-OSTXT sy-vline
WA_HRV_77VPALV_STR-USRTP sy-vline
WA_HRV_77VPALV_STR-USRTPTX sy-vline
WA_HRV_77VPALV_STR-UNAME sy-vline
WA_HRV_77VPALV_STR-USRTX sy-vline
WA_HRV_77VPALV_STR-PROTID sy-vline
WA_HRV_77VPALV_STR-LFCOD sy-vline
WA_HRV_77VPALV_STR-LFCODT sy-vline
WA_HRV_77VPALV_STR-ISTAT sy-vline
WA_HRV_77VPALV_STR-ISTATTX sy-vline
WA_HRV_77VPALV_STR-PRIOX sy-vline
WA_HRV_77VPALV_STR-BPRTX sy-vline
WA_HRV_77VPALV_STR-SUBTY sy-vline
WA_HRV_77VPALV_STR-SUTXT sy-vline
WA_HRV_77VPALV_STR-MANZL sy-vline
WA_HRV_77VPALV_STR-BUDAT sy-vline
WA_HRV_77VPALV_STR-DATUM sy-vline
WA_HRV_77VPALV_STR-UZEIT sy-vline
WA_HRV_77VPALV_STR-NOTIF sy-vline
WA_HRV_77VPALV_STR-KMTXT sy-vline
WA_HRV_77VPALV_STR-FORML sy-vline
WA_HRV_77VPALV_STR-FORMTXT sy-vline
WA_HRV_77VPALV_STR-OPSTAT sy-vline
WA_HRV_77VPALV_STR-OPSTTX sy-vline
WA_HRV_77VPALV_STR-AUTMOD sy-vline
WA_HRV_77VPALV_STR-DEVICE sy-vline
WA_HRV_77VPALV_STR-MEDTXT sy-vline
WA_HRV_77VPALV_STR-ARCHX sy-vline
WA_HRV_77VPALV_STR-PSCLAS sy-vline
WA_HRV_77VPALV_STR-VOTEXT sy-vline
WA_HRV_77VPALV_STR-PSOBID sy-vline
WA_HRV_77VPALV_STR-VOSHRT sy-vline
WA_HRV_77VPALV_STR-VOSTXT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.