ABAP Select data from SAP table PJP_RPCSKSJ0_ALV 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 PJP_RPCSKSJ0_ALV 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 PJP_RPCSKSJ0_ALV. 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 PJP_RPCSKSJ0_ALV 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_PJP_RPCSKSJ0_ALV TYPE STANDARD TABLE OF PJP_RPCSKSJ0_ALV,
      WA_PJP_RPCSKSJ0_ALV TYPE PJP_RPCSKSJ0_ALV,
      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: <PJP_RPCSKSJ0_ALV> TYPE PJP_RPCSKSJ0_ALV.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PJP_RPCSKSJ0_ALV
*  INTO TABLE @DATA(IT_PJP_RPCSKSJ0_ALV2).
*--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_PJP_RPCSKSJ0_ALV INDEX 1 INTO DATA(WA_PJP_RPCSKSJ0_ALV2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PJP_RPCSKSJ0_ALV ASSIGNING <PJP_RPCSKSJ0_ALV>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PJP_RPCSKSJ0_ALV>-CONTTY = 1.
<PJP_RPCSKSJ0_ALV>-CONTTY_TEXT = 1.
<PJP_RPCSKSJ0_ALV>-PARTNER = 1.
<PJP_RPCSKSJ0_ALV>-PARTNER_TEXT = 1.
<PJP_RPCSKSJ0_ALV>-ADDRESS_LINE0 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PJP_RPCSKSJ0_ALV-ADDRESS_LINE1, sy-vline,
WA_PJP_RPCSKSJ0_ALV-ADDRESS_LINE2, sy-vline,
WA_PJP_RPCSKSJ0_ALV-ADDRESS_LINE3, sy-vline,
WA_PJP_RPCSKSJ0_ALV-ADDRESS_LINE4, sy-vline,
WA_PJP_RPCSKSJ0_ALV-ADDRESS_LINE5, sy-vline,
WA_PJP_RPCSKSJ0_ALV-ADDRESS_LINE6, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PJP_RPCSKSJ0_ALV 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_PJP_RPCSKSJ0_ALV 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_PJP_RPCSKSJ0_ALV INTO WA_PJP_RPCSKSJ0_ALV. *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_PJP_RPCSKSJ0_ALV_STR,
CONTTY TYPE STRING,
CONTTY_TEXT TYPE STRING,
PARTNER TYPE STRING,
PARTNER_TEXT TYPE STRING,
ADDRESS_LINE0 TYPE STRING,
ADDRESS_LINE1 TYPE STRING,
ADDRESS_LINE2 TYPE STRING,
ADDRESS_LINE3 TYPE STRING,
ADDRESS_LINE4 TYPE STRING,
ADDRESS_LINE5 TYPE STRING,
ADDRESS_LINE6 TYPE STRING,
ADDRESS_LINE7 TYPE STRING,
ADDRESS_LINE8 TYPE STRING,
ADDRESS_LINE9 TYPE STRING,
KANJI_ADDRESS_LINE0 TYPE STRING,
KANJI_ADDRESS_LINE1 TYPE STRING,
KANJI_ADDRESS_LINE2 TYPE STRING,
KANJI_ADDRESS_LINE3 TYPE STRING,
KANJI_ADDRESS_LINE4 TYPE STRING,
KANJI_ADDRESS_LINE5 TYPE STRING,
KANJI_ADDRESS_LINE6 TYPE STRING,
KANJI_ADDRESS_LINE7 TYPE STRING,
KANJI_ADDRESS_LINE8 TYPE STRING,
KANJI_ADDRESS_LINE9 TYPE STRING,
KANA_ADDRESS_LINE0 TYPE STRING,
KANA_ADDRESS_LINE1 TYPE STRING,
KANA_ADDRESS_LINE2 TYPE STRING,
KANA_ADDRESS_LINE3 TYPE STRING,
KANA_ADDRESS_LINE4 TYPE STRING,
KANA_ADDRESS_LINE5 TYPE STRING,
KANA_ADDRESS_LINE6 TYPE STRING,
KANA_ADDRESS_LINE7 TYPE STRING,
KANA_ADDRESS_LINE8 TYPE STRING,
KANA_ADDRESS_LINE9 TYPE STRING,
EX_WERKS TYPE STRING,
EX_WERKSTX TYPE STRING,
EX_BTRTL TYPE STRING,
EX_BTRTLTX TYPE STRING,
EX_ORGEH TYPE STRING,
EX_POSIT TYPE STRING,
PERNR TYPE STRING,
ENAME TYPE STRING,
SNAME TYPE STRING,
FPPER TYPE STRING,
FPBEG TYPE STRING,
FPEND TYPE STRING,
PAYDT TYPE STRING,
OCRSN TYPE STRING,
OCRTX TYPE STRING,
OCCAT TYPE STRING,
OCCTX TYPE STRING,
RETRO TYPE STRING,
PAYTY TYPE STRING,
PAYTYTX TYPE STRING,
PAYID TYPE STRING,
LGART TYPE STRING,
LGTXT TYPE STRING,
AMOUNT TYPE STRING,
WAERS TYPE STRING,END OF T_EKKO_STR. DATA: WA_PJP_RPCSKSJ0_ALV_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_PJP_RPCSKSJ0_ALV_STR-CONTTY sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-CONTTY_TEXT sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-PARTNER sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-PARTNER_TEXT sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ADDRESS_LINE0 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ADDRESS_LINE1 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ADDRESS_LINE2 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ADDRESS_LINE3 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ADDRESS_LINE4 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ADDRESS_LINE5 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ADDRESS_LINE6 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ADDRESS_LINE7 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ADDRESS_LINE8 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ADDRESS_LINE9 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANJI_ADDRESS_LINE0 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANJI_ADDRESS_LINE1 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANJI_ADDRESS_LINE2 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANJI_ADDRESS_LINE3 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANJI_ADDRESS_LINE4 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANJI_ADDRESS_LINE5 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANJI_ADDRESS_LINE6 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANJI_ADDRESS_LINE7 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANJI_ADDRESS_LINE8 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANJI_ADDRESS_LINE9 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANA_ADDRESS_LINE0 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANA_ADDRESS_LINE1 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANA_ADDRESS_LINE2 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANA_ADDRESS_LINE3 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANA_ADDRESS_LINE4 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANA_ADDRESS_LINE5 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANA_ADDRESS_LINE6 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANA_ADDRESS_LINE7 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANA_ADDRESS_LINE8 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-KANA_ADDRESS_LINE9 sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-EX_WERKS sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-EX_WERKSTX sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-EX_BTRTL sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-EX_BTRTLTX sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-EX_ORGEH sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-EX_POSIT sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-PERNR sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-ENAME sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-SNAME sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-FPPER sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-FPBEG sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-FPEND sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-PAYDT sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-OCRSN sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-OCRTX sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-OCCAT sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-OCCTX sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-RETRO sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-PAYTY sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-PAYTYTX sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-PAYID sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-LGART sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-LGTXT sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-AMOUNT sy-vline
WA_PJP_RPCSKSJ0_ALV_STR-WAERS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.