ABAP Select data from SAP table RPCSSXEX 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 RPCSSXEX 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 RPCSSXEX. 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 RPCSSXEX 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_RPCSSXEX TYPE STANDARD TABLE OF RPCSSXEX,
      WA_RPCSSXEX TYPE RPCSSXEX,
      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: <RPCSSXEX> TYPE RPCSSXEX.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RPCSSXEX
*  INTO TABLE @DATA(IT_RPCSSXEX2).
*--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_RPCSSXEX INDEX 1 INTO DATA(WA_RPCSSXEX2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RPCSSXEX ASSIGNING <RPCSSXEX>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RPCSSXEX>-TC2 = 1.
<RPCSSXEX>-TC1 = 1.
<RPCSSXEX>-TC21 = 1.
<RPCSSXEX>-SPOOL = 1.
<RPCSSXEX>-ACUMULADO = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RPCSSXEX-RUECKD, sy-vline,
WA_RPCSSXEX-RUECKR, sy-vline,
WA_RPCSSXEX-RUECKS, sy-vline,
WA_RPCSSXEX-NISSE, sy-vline,
WA_RPCSSXEX-DTA, sy-vline,
WA_RPCSSXEX-DTA_OLD, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RPCSSXEX 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_RPCSSXEX 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_RPCSSXEX INTO WA_RPCSSXEX. *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 ESDAT, internal->external for field PERLIQ CALL FUNCTION 'CONVERSION_EXIT_ESDAT_OUTPUT' EXPORTING input = WA_RPCSSXEX-PERLIQ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RPCSSXEX-PERLIQ.
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_RPCSSXEX_STR,
TC2 TYPE STRING,
TC1 TYPE STRING,
TC21 TYPE STRING,
SPOOL TYPE STRING,
ACUMULADO TYPE STRING,
RUECKD TYPE STRING,
RUECKR TYPE STRING,
RUECKS TYPE STRING,
NISSE TYPE STRING,
DTA TYPE STRING,
DTA_OLD TYPE STRING,
DTA_EDI TYPE STRING,
CALIF_LIQ TYPE STRING,
CLASE_LIQ TYPE STRING,
MOD_PAGO TYPE STRING,
SN_CARGO TYPE STRING,
CUENTA TYPE STRING,
RC_INFOTIP TYPE STRING,
RC_FIELD TYPE STRING,
PEV TYPE STRING,
CLAUTORI TYPE STRING,
CLSILCON TYPE STRING,
FECHA_PRES TYPE STRING,
HORA_PRES TYPE STRING,
REF_NAME TYPE STRING,
PROCESO TYPE STRING,
PROC_VER TYPE STRING,
IND_PRUEBA TYPE STRING,
REFERENCIA TYPE STRING,
EMPMESANT TYPE STRING,
SINTAXIS TYPE STRING,
SINT_VER TYPE STRING,
PASSWORD TYPE STRING,
FECHA_CNT TYPE STRING,
FECHA_AUT TYPE STRING,
PERLIQ TYPE STRING,
RECMORA TYPE STRING,
ENVIO TYPE STRING,
TIPOFORM TYPE STRING,
IND_EXREC TYPE STRING,
SNISSE TYPE STRING,
TPLIQ TYPE STRING,
TRACON TYPE STRING,
FANNEG TYPE STRING,
PROFAN TYPE STRING,
TPLI1 TYPE STRING,
SEURO TYPE STRING,
SINPR TYPE STRING,
SCUORET TYPE STRING,
PRODUC TYPE STRING,
ACCAFI TYPE STRING,
MOTAFI TYPE STRING,
L13COMP TYPE STRING,
TC2AB TYPE STRING,
NOBON TYPE STRING,
WOCCC TYPE STRING,END OF T_EKKO_STR. DATA: WA_RPCSSXEX_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_RPCSSXEX_STR-TC2 sy-vline
WA_RPCSSXEX_STR-TC1 sy-vline
WA_RPCSSXEX_STR-TC21 sy-vline
WA_RPCSSXEX_STR-SPOOL sy-vline
WA_RPCSSXEX_STR-ACUMULADO sy-vline
WA_RPCSSXEX_STR-RUECKD sy-vline
WA_RPCSSXEX_STR-RUECKR sy-vline
WA_RPCSSXEX_STR-RUECKS sy-vline
WA_RPCSSXEX_STR-NISSE sy-vline
WA_RPCSSXEX_STR-DTA sy-vline
WA_RPCSSXEX_STR-DTA_OLD sy-vline
WA_RPCSSXEX_STR-DTA_EDI sy-vline
WA_RPCSSXEX_STR-CALIF_LIQ sy-vline
WA_RPCSSXEX_STR-CLASE_LIQ sy-vline
WA_RPCSSXEX_STR-MOD_PAGO sy-vline
WA_RPCSSXEX_STR-SN_CARGO sy-vline
WA_RPCSSXEX_STR-CUENTA sy-vline
WA_RPCSSXEX_STR-RC_INFOTIP sy-vline
WA_RPCSSXEX_STR-RC_FIELD sy-vline
WA_RPCSSXEX_STR-PEV sy-vline
WA_RPCSSXEX_STR-CLAUTORI sy-vline
WA_RPCSSXEX_STR-CLSILCON sy-vline
WA_RPCSSXEX_STR-FECHA_PRES sy-vline
WA_RPCSSXEX_STR-HORA_PRES sy-vline
WA_RPCSSXEX_STR-REF_NAME sy-vline
WA_RPCSSXEX_STR-PROCESO sy-vline
WA_RPCSSXEX_STR-PROC_VER sy-vline
WA_RPCSSXEX_STR-IND_PRUEBA sy-vline
WA_RPCSSXEX_STR-REFERENCIA sy-vline
WA_RPCSSXEX_STR-EMPMESANT sy-vline
WA_RPCSSXEX_STR-SINTAXIS sy-vline
WA_RPCSSXEX_STR-SINT_VER sy-vline
WA_RPCSSXEX_STR-PASSWORD sy-vline
WA_RPCSSXEX_STR-FECHA_CNT sy-vline
WA_RPCSSXEX_STR-FECHA_AUT sy-vline
WA_RPCSSXEX_STR-PERLIQ sy-vline
WA_RPCSSXEX_STR-RECMORA sy-vline
WA_RPCSSXEX_STR-ENVIO sy-vline
WA_RPCSSXEX_STR-TIPOFORM sy-vline
WA_RPCSSXEX_STR-IND_EXREC sy-vline
WA_RPCSSXEX_STR-SNISSE sy-vline
WA_RPCSSXEX_STR-TPLIQ sy-vline
WA_RPCSSXEX_STR-TRACON sy-vline
WA_RPCSSXEX_STR-FANNEG sy-vline
WA_RPCSSXEX_STR-PROFAN sy-vline
WA_RPCSSXEX_STR-TPLI1 sy-vline
WA_RPCSSXEX_STR-SEURO sy-vline
WA_RPCSSXEX_STR-SINPR sy-vline
WA_RPCSSXEX_STR-SCUORET sy-vline
WA_RPCSSXEX_STR-PRODUC sy-vline
WA_RPCSSXEX_STR-ACCAFI sy-vline
WA_RPCSSXEX_STR-MOTAFI sy-vline
WA_RPCSSXEX_STR-L13COMP sy-vline
WA_RPCSSXEX_STR-TC2AB sy-vline
WA_RPCSSXEX_STR-NOBON sy-vline
WA_RPCSSXEX_STR-WOCCC sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.