ABAP Select data from SAP table /SDF/SLCHTRPARI 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 /SDF/SLCHTRPARI 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 /SDF/SLCHTRPARI. 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 /SDF/SLCHTRPARI 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_/SDF/SLCHTRPARI TYPE STANDARD TABLE OF /SDF/SLCHTRPARI,
      WA_/SDF/SLCHTRPARI TYPE /SDF/SLCHTRPARI,
      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: </SDF/SLCHTRPARI> TYPE /SDF/SLCHTRPARI.

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

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM /SDF/SLCHTRPARI
  INTO TABLE IT_/SDF/SLCHTRPARI.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM /SDF/SLCHTRPARI
*  INTO TABLE @DATA(IT_/SDF/SLCHTRPARI2).
*--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_/SDF/SLCHTRPARI INDEX 1 INTO DATA(WA_/SDF/SLCHTRPARI2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_/SDF/SLCHTRPARI ASSIGNING </SDF/SLCHTRPARI>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
</SDF/SLCHTRPARI>-W_E070 = 1.
</SDF/SLCHTRPARI>-W_E070C = 1.
</SDF/SLCHTRPARI>-W_E07T = 1.
</SDF/SLCHTRPARI>-W_E071 = 1.
</SDF/SLCHTRPARI>-W_E071K = 1.
ENDLOOP.

LOOP AT IT_/SDF/SLCHTRPARI INTO WA_/SDF/SLCHTRPARI.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_/SDF/SLCHTRPARI-W_TADIR, sy-vline,
WA_/SDF/SLCHTRPARI-W_TLOCK, sy-vline,
WA_/SDF/SLCHTRPARI-W_DIALOG, sy-vline,
WA_/SDF/SLCHTRPARI-W_MESSAGE, sy-vline,
WA_/SDF/SLCHTRPARI-S_LOCKFLAG, sy-vline,
WA_/SDF/SLCHTRPARI-S_CHECKED, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/SDF/SLCHTRPARI 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_/SDF/SLCHTRPARI 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_/SDF/SLCHTRPARI INTO WA_/SDF/SLCHTRPARI. *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_/SDF/SLCHTRPARI_STR,
W_E070 TYPE STRING,
W_E070C TYPE STRING,
W_E07T TYPE STRING,
W_E071 TYPE STRING,
W_E071K TYPE STRING,
W_TADIR TYPE STRING,
W_TLOCK TYPE STRING,
W_DIALOG TYPE STRING,
W_MESSAGE TYPE STRING,
S_LOCKFLAG TYPE STRING,
S_CHECKED TYPE STRING,
S_SELECT TYPE STRING,
S_LOCKTYPE TYPE STRING,
S_EXISTS TYPE STRING,
S_READONLY TYPE STRING,
S_CALL_NOW TYPE STRING,
S_CALL_OFF TYPE STRING,
S_CALL_PAR TYPE STRING,
S_RESULT TYPE STRING,
W_VALID TYPE STRING,
W_STATUS TYPE STRING,
W_LONGSTAT TYPE STRING,
W_NO_TADIR TYPE STRING,
W_NO_TDEVC TYPE STRING,
W_OTH_SYS TYPE STRING,
W_MASTER TYPE STRING,
W_MSG_DEVC TYPE STRING,
W_DEL_TADI TYPE STRING,
W_GEN_FLAG TYPE STRING,
W_REP_FLG TYPE STRING,
W_SAVE_USR TYPE STRING,
W_DEQUEUE TYPE STRING,
W_RESTART TYPE STRING,
W_EDT_CALL TYPE STRING,
W_NO_DOCU TYPE STRING,
W_COMM_FUL TYPE STRING,
W_SUPR_USR TYPE STRING,
W_NO_CHECK TYPE STRING,
W_CHCK_FUL TYPE STRING,
W_CHCK_ERR TYPE STRING,
W_APPEND TYPE STRING,
W_SIMULAT TYPE STRING,
W_CUSTOM TYPE STRING,
W_LOCAL TYPE STRING,
W_COMPLETE TYPE STRING,
W_CLI_DEP TYPE STRING,
W_START TYPE STRING,
W_END TYPE STRING,
W_NAMECLAS TYPE STRING,
W_CHCK_OBJ TYPE STRING,
W_CHCK_KEY TYPE STRING,
W_CROSSCOM TYPE STRING,
W_CCCACT_F TYPE STRING,
W_ONLY_ERR TYPE STRING,
W_OBJ_CHEK TYPE STRING,
W_TITLE TYPE STRING,
W_UPGRADE TYPE STRING,
W_CANTOPEN TYPE STRING,
CHKSORT TYPE STRING,
FLAGNOWARN TYPE STRING,
CATCUST TYPE STRING,
CATSYST TYPE STRING,
LANGTYP TYPE STRING,
LANGTYPA TYPE STRING,
KEYALLOWED TYPE STRING,
SYSTEM_SAP TYPE STRING,
TABNOTFOUN TYPE STRING,
FIELDALLOW TYPE STRING,
RESTRESC TYPE STRING,
ACTION TYPE STRING,
DOCU_TYPE TYPE STRING,
APPENDING TYPE STRING,
S_ACTION TYPE STRING,
S_NUM_BYTE TYPE STRING,
TRERRNUMEC TYPE STRING,
FLAG TYPE STRING,END OF T_EKKO_STR. DATA: WA_/SDF/SLCHTRPARI_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_/SDF/SLCHTRPARI_STR-W_E070 sy-vline
WA_/SDF/SLCHTRPARI_STR-W_E070C sy-vline
WA_/SDF/SLCHTRPARI_STR-W_E07T sy-vline
WA_/SDF/SLCHTRPARI_STR-W_E071 sy-vline
WA_/SDF/SLCHTRPARI_STR-W_E071K sy-vline
WA_/SDF/SLCHTRPARI_STR-W_TADIR sy-vline
WA_/SDF/SLCHTRPARI_STR-W_TLOCK sy-vline
WA_/SDF/SLCHTRPARI_STR-W_DIALOG sy-vline
WA_/SDF/SLCHTRPARI_STR-W_MESSAGE sy-vline
WA_/SDF/SLCHTRPARI_STR-S_LOCKFLAG sy-vline
WA_/SDF/SLCHTRPARI_STR-S_CHECKED sy-vline
WA_/SDF/SLCHTRPARI_STR-S_SELECT sy-vline
WA_/SDF/SLCHTRPARI_STR-S_LOCKTYPE sy-vline
WA_/SDF/SLCHTRPARI_STR-S_EXISTS sy-vline
WA_/SDF/SLCHTRPARI_STR-S_READONLY sy-vline
WA_/SDF/SLCHTRPARI_STR-S_CALL_NOW sy-vline
WA_/SDF/SLCHTRPARI_STR-S_CALL_OFF sy-vline
WA_/SDF/SLCHTRPARI_STR-S_CALL_PAR sy-vline
WA_/SDF/SLCHTRPARI_STR-S_RESULT sy-vline
WA_/SDF/SLCHTRPARI_STR-W_VALID sy-vline
WA_/SDF/SLCHTRPARI_STR-W_STATUS sy-vline
WA_/SDF/SLCHTRPARI_STR-W_LONGSTAT sy-vline
WA_/SDF/SLCHTRPARI_STR-W_NO_TADIR sy-vline
WA_/SDF/SLCHTRPARI_STR-W_NO_TDEVC sy-vline
WA_/SDF/SLCHTRPARI_STR-W_OTH_SYS sy-vline
WA_/SDF/SLCHTRPARI_STR-W_MASTER sy-vline
WA_/SDF/SLCHTRPARI_STR-W_MSG_DEVC sy-vline
WA_/SDF/SLCHTRPARI_STR-W_DEL_TADI sy-vline
WA_/SDF/SLCHTRPARI_STR-W_GEN_FLAG sy-vline
WA_/SDF/SLCHTRPARI_STR-W_REP_FLG sy-vline
WA_/SDF/SLCHTRPARI_STR-W_SAVE_USR sy-vline
WA_/SDF/SLCHTRPARI_STR-W_DEQUEUE sy-vline
WA_/SDF/SLCHTRPARI_STR-W_RESTART sy-vline
WA_/SDF/SLCHTRPARI_STR-W_EDT_CALL sy-vline
WA_/SDF/SLCHTRPARI_STR-W_NO_DOCU sy-vline
WA_/SDF/SLCHTRPARI_STR-W_COMM_FUL sy-vline
WA_/SDF/SLCHTRPARI_STR-W_SUPR_USR sy-vline
WA_/SDF/SLCHTRPARI_STR-W_NO_CHECK sy-vline
WA_/SDF/SLCHTRPARI_STR-W_CHCK_FUL sy-vline
WA_/SDF/SLCHTRPARI_STR-W_CHCK_ERR sy-vline
WA_/SDF/SLCHTRPARI_STR-W_APPEND sy-vline
WA_/SDF/SLCHTRPARI_STR-W_SIMULAT sy-vline
WA_/SDF/SLCHTRPARI_STR-W_CUSTOM sy-vline
WA_/SDF/SLCHTRPARI_STR-W_LOCAL sy-vline
WA_/SDF/SLCHTRPARI_STR-W_COMPLETE sy-vline
WA_/SDF/SLCHTRPARI_STR-W_CLI_DEP sy-vline
WA_/SDF/SLCHTRPARI_STR-W_START sy-vline
WA_/SDF/SLCHTRPARI_STR-W_END sy-vline
WA_/SDF/SLCHTRPARI_STR-W_NAMECLAS sy-vline
WA_/SDF/SLCHTRPARI_STR-W_CHCK_OBJ sy-vline
WA_/SDF/SLCHTRPARI_STR-W_CHCK_KEY sy-vline
WA_/SDF/SLCHTRPARI_STR-W_CROSSCOM sy-vline
WA_/SDF/SLCHTRPARI_STR-W_CCCACT_F sy-vline
WA_/SDF/SLCHTRPARI_STR-W_ONLY_ERR sy-vline
WA_/SDF/SLCHTRPARI_STR-W_OBJ_CHEK sy-vline
WA_/SDF/SLCHTRPARI_STR-W_TITLE sy-vline
WA_/SDF/SLCHTRPARI_STR-W_UPGRADE sy-vline
WA_/SDF/SLCHTRPARI_STR-W_CANTOPEN sy-vline
WA_/SDF/SLCHTRPARI_STR-CHKSORT sy-vline
WA_/SDF/SLCHTRPARI_STR-FLAGNOWARN sy-vline
WA_/SDF/SLCHTRPARI_STR-CATCUST sy-vline
WA_/SDF/SLCHTRPARI_STR-CATSYST sy-vline
WA_/SDF/SLCHTRPARI_STR-LANGTYP sy-vline
WA_/SDF/SLCHTRPARI_STR-LANGTYPA sy-vline
WA_/SDF/SLCHTRPARI_STR-KEYALLOWED sy-vline
WA_/SDF/SLCHTRPARI_STR-SYSTEM_SAP sy-vline
WA_/SDF/SLCHTRPARI_STR-TABNOTFOUN sy-vline
WA_/SDF/SLCHTRPARI_STR-FIELDALLOW sy-vline
WA_/SDF/SLCHTRPARI_STR-RESTRESC sy-vline
WA_/SDF/SLCHTRPARI_STR-ACTION sy-vline
WA_/SDF/SLCHTRPARI_STR-DOCU_TYPE sy-vline
WA_/SDF/SLCHTRPARI_STR-APPENDING sy-vline
WA_/SDF/SLCHTRPARI_STR-S_ACTION sy-vline
WA_/SDF/SLCHTRPARI_STR-S_NUM_BYTE sy-vline
WA_/SDF/SLCHTRPARI_STR-TRERRNUMEC sy-vline
WA_/SDF/SLCHTRPARI_STR-FLAG sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.