ABAP Select data from SAP table PCA_RPCYERK6_MAINTYPE_PDF 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 PCA_RPCYERK6_MAINTYPE_PDF 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 PCA_RPCYERK6_MAINTYPE_PDF. 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 PCA_RPCYERK6_MAINTYPE_PDF 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_PCA_RPCYERK6_MAINTYPE_PDF TYPE STANDARD TABLE OF PCA_RPCYERK6_MAINTYPE_PDF,
      WA_PCA_RPCYERK6_MAINTYPE_PDF TYPE PCA_RPCYERK6_MAINTYPE_PDF,
      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: <PCA_RPCYERK6_MAINTYPE_PDF> TYPE PCA_RPCYERK6_MAINTYPE_PDF.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PCA_RPCYERK6_MAINTYPE_PDF
*  INTO TABLE @DATA(IT_PCA_RPCYERK6_MAINTYPE_PDF2).
*--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_PCA_RPCYERK6_MAINTYPE_PDF INDEX 1 INTO DATA(WA_PCA_RPCYERK6_MAINTYPE_PDF2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PCA_RPCYERK6_MAINTYPE_PDF ASSIGNING <PCA_RPCYERK6_MAINTYPE_PDF>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PCA_RPCYERK6_MAINTYPE_PDF>-PERNR = 1.
<PCA_RPCYERK6_MAINTYPE_PDF>-SLART = 1.
<PCA_RPCYERK6_MAINTYPE_PDF>-BETRG = 1.
<PCA_RPCYERK6_MAINTYPE_PDF>-BUSNM = 1.
<PCA_RPCYERK6_MAINTYPE_PDF>-WRKAR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PCA_RPCYERK6_MAINTYPE_PDF-PERID_1, sy-vline,
WA_PCA_RPCYERK6_MAINTYPE_PDF-NACHN, sy-vline,
WA_PCA_RPCYERK6_MAINTYPE_PDF-VORNA, sy-vline,
WA_PCA_RPCYERK6_MAINTYPE_PDF-INITS, sy-vline,
WA_PCA_RPCYERK6_MAINTYPE_PDF-STRAS, sy-vline,
WA_PCA_RPCYERK6_MAINTYPE_PDF-LOCAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PCA_RPCYERK6_MAINTYPE_PDF 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_PCA_RPCYERK6_MAINTYPE_PDF 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_PCA_RPCYERK6_MAINTYPE_PDF INTO WA_PCA_RPCYERK6_MAINTYPE_PDF. *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 GJAHR, internal->external for field TAX_YEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PCA_RPCYERK6_MAINTYPE_PDF-TAX_YEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PCA_RPCYERK6_MAINTYPE_PDF-TAX_YEAR.
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_PCA_RPCYERK6_MAINTYPE_PDF_STR,
PERNR TYPE STRING,
SLART TYPE STRING,
BETRG TYPE STRING,
BUSNM TYPE STRING,
WRKAR TYPE STRING,
PERID_1 TYPE STRING,
NACHN TYPE STRING,
VORNA TYPE STRING,
INITS TYPE STRING,
STRAS TYPE STRING,
LOCAT TYPE STRING,
ORT01 TYPE STRING,
STATE TYPE STRING,
PSTLZ TYPE STRING,
LAND1 TYPE STRING,
CUSTOM TYPE STRING,
TAX_YEAR TYPE STRING,
EMPLR_BUTXT TYPE STRING,
EMPLR_NAME2 TYPE STRING,
EMPLR_NAME1 TYPE STRING,
EMPLR_STRAS TYPE STRING,
EMPLR_ORT01 TYPE STRING,
EMPLR_REGIO TYPE STRING,
EMPLR_PSTLZ TYPE STRING,
SPERID_1 TYPE STRING,
CAREOF TYPE STRING,
CPP TYPE STRING,
EI TYPE STRING,
VOID TYPE STRING,
OCODE TYPE STRING,
RLNUM_1 TYPE STRING,
FRNUM_1 TYPE STRING,
AMEND TYPE STRING,
BOX01 TYPE STRING,
BOX02 TYPE STRING,
BOX03 TYPE STRING,
BOX04 TYPE STRING,
BOX05 TYPE STRING,
BOX06 TYPE STRING,
BOX07 TYPE STRING,
BOX08 TYPE STRING,
BOX09 TYPE STRING,
BOX10 TYPE STRING,
BOX11 TYPE STRING,
BOX12 TYPE STRING,
BOX13 TYPE STRING,
BOX14 TYPE STRING,
BOX15 TYPE STRING,
BOX16 TYPE STRING,
BOX17 TYPE STRING,
BOX18 TYPE STRING,
BOX19 TYPE STRING,
BOX20 TYPE STRING,
BOX21 TYPE STRING,
BOX22 TYPE STRING,
BOX23 TYPE STRING,
BOX24 TYPE STRING,
BOX25 TYPE STRING,
BOX26 TYPE STRING,
BOX27 TYPE STRING,
BOX28 TYPE STRING,
BOX29 TYPE STRING,
BOX30 TYPE STRING,
BOX32 TYPE STRING,
BOX34 TYPE STRING,
BOX36 TYPE STRING,
BOX38 TYPE STRING,
BOX39 TYPE STRING,
BOX40 TYPE STRING,
BOX42 TYPE STRING,
BOX44 TYPE STRING,
BOX46 TYPE STRING,
BOX48 TYPE STRING,
BOX50 TYPE STRING,
BOX52 TYPE STRING,
O01_TEXT TYPE STRING,
O02_TEXT TYPE STRING,
O03_TEXT TYPE STRING,
O04_TEXT TYPE STRING,
O05_TEXT TYPE STRING,
O06_TEXT TYPE STRING,
O07_TEXT TYPE STRING,
O08_TEXT TYPE STRING,
O09_TEXT TYPE STRING,
O10_TEXT TYPE STRING,
SOURCE1 TYPE STRING,
PERID_2 TYPE STRING,
PERID_3 TYPE STRING,
SPERID_2 TYPE STRING,
SPERID_3 TYPE STRING,
RLNUM_2 TYPE STRING,
RLNUM_3 TYPE STRING,
FRNUM_2 TYPE STRING,
FRNUM_3 TYPE STRING,
WAERS TYPE STRING,
O01 TYPE STRING,
O02 TYPE STRING,
O03 TYPE STRING,
O04 TYPE STRING,
O05 TYPE STRING,
O06 TYPE STRING,
O07 TYPE STRING,
O08 TYPE STRING,
O09 TYPE STRING,
O10 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PCA_RPCYERK6_MAINTYPE_PDF_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_PCA_RPCYERK6_MAINTYPE_PDF_STR-PERNR sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-SLART sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BETRG sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BUSNM sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-WRKAR sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-PERID_1 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-NACHN sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-VORNA sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-INITS sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-STRAS sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-LOCAT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-ORT01 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-STATE sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-PSTLZ sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-LAND1 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-CUSTOM sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-TAX_YEAR sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-EMPLR_BUTXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-EMPLR_NAME2 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-EMPLR_NAME1 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-EMPLR_STRAS sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-EMPLR_ORT01 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-EMPLR_REGIO sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-EMPLR_PSTLZ sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-SPERID_1 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-CAREOF sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-CPP sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-EI sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-VOID sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-OCODE sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-RLNUM_1 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-FRNUM_1 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-AMEND sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX01 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX02 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX03 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX04 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX05 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX06 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX07 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX08 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX09 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX10 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX11 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX12 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX13 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX14 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX15 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX16 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX17 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX18 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX19 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX20 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX21 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX22 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX23 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX24 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX25 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX26 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX27 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX28 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX29 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX30 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX32 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX34 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX36 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX38 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX39 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX40 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX42 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX44 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX46 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX48 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX50 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-BOX52 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O01_TEXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O02_TEXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O03_TEXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O04_TEXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O05_TEXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O06_TEXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O07_TEXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O08_TEXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O09_TEXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O10_TEXT sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-SOURCE1 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-PERID_2 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-PERID_3 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-SPERID_2 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-SPERID_3 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-RLNUM_2 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-RLNUM_3 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-FRNUM_2 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-FRNUM_3 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-WAERS sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O01 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O02 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O03 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O04 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O05 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O06 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O07 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O08 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O09 sy-vline
WA_PCA_RPCYERK6_MAINTYPE_PDF_STR-O10 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.