ABAP Select data from SAP table PJP_LIA_AN 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_LIA_AN 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_LIA_AN. 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_LIA_AN 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_LIA_AN TYPE STANDARD TABLE OF PJP_LIA_AN,
      WA_PJP_LIA_AN TYPE PJP_LIA_AN,
      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_LIA_AN> TYPE PJP_LIA_AN.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PJP_LIA_AN
*  INTO TABLE @DATA(IT_PJP_LIA_AN2).
*--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_LIA_AN INDEX 1 INTO DATA(WA_PJP_LIA_AN2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PJP_LIA_AN ASSIGNING <PJP_LIA_AN>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PJP_LIA_AN>-LBIMF = 1.
<PJP_LIA_AN>-RPYEA = 1.
<PJP_LIA_AN>-LBICC = 1.
<PJP_LIA_AN>-AVCWI = 1.
<PJP_LIA_AN>-AVCEI = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PJP_LIA_AN-AVCEA, sy-vline,
WA_PJP_LIA_AN-WGWLI, sy-vline,
WA_PJP_LIA_AN-PRWLI, sy-vline,
WA_PJP_LIA_AN-PAWLI, sy-vline,
WA_PJP_LIA_AN-WGAWI, sy-vline,
WA_PJP_LIA_AN-WIPRT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PJP_LIA_AN 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_LIA_AN 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_LIA_AN INTO WA_PJP_LIA_AN. *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 RPYEA CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PJP_LIA_AN-RPYEA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PJP_LIA_AN-RPYEA.
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_PJP_LIA_AN_STR,
LBIMF TYPE STRING,
RPYEA TYPE STRING,
LBICC TYPE STRING,
AVCWI TYPE STRING,
AVCEI TYPE STRING,
AVCEA TYPE STRING,
WGWLI TYPE STRING,
PRWLI TYPE STRING,
PAWLI TYPE STRING,
WGAWI TYPE STRING,
WIPRT TYPE STRING,
WIPRA TYPE STRING,
WGAEI TYPE STRING,
WGAEA TYPE STRING,
EIPRT TYPE STRING,
EIPRA TYPE STRING,
WGNEI TYPE STRING,
EIPRN TYPE STRING,
WGGNC TYPE STRING,
GNPRT TYPE STRING,
GNPRA TYPE STRING,
PEWEI TYPE STRING,
PSWEI TYPE STRING,
PRTWI TYPE STRING,
PRAWI TYPE STRING,
PRTEI TYPE STRING,
PRAEI TYPE STRING,
PREWP TYPE STRING,
ALLOC TYPE STRING,
REFND TYPE STRING,
SHORT TYPE STRING,
COLP1 TYPE STRING,
COLA1 TYPE STRING,
COLS1 TYPE STRING,
COLR1 TYPE STRING,
COGA1 TYPE STRING,
COGR1 TYPE STRING,
CAMT1 TYPE STRING,
COLP2 TYPE STRING,
COLA2 TYPE STRING,
CAMT2 TYPE STRING,
COLP3 TYPE STRING,
COLA3 TYPE STRING,
CAMT3 TYPE STRING,
WAERS TYPE STRING,
MERIT TYPE STRING,
LBADR TYPE STRING,
JGSNM TYPE STRING,
P2TLZ TYPE STRING,
T2LNR TYPE STRING,
J2ADR TYPE STRING,
J2NNM TYPE STRING,
J2NPR TYPE STRING,
CORPN TYPE STRING,
J1ADR TYPE STRING,
LBUID TYPE STRING,
LBURE TYPE STRING,
P3TLZ TYPE STRING,
KNKT2 TYPE STRING,
HKNKK TYPE STRING,
GYSHU TYPE STRING,
SYBRI TYPE STRING,
GYSHM TYPE STRING,END OF T_EKKO_STR. DATA: WA_PJP_LIA_AN_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_LIA_AN_STR-LBIMF sy-vline
WA_PJP_LIA_AN_STR-RPYEA sy-vline
WA_PJP_LIA_AN_STR-LBICC sy-vline
WA_PJP_LIA_AN_STR-AVCWI sy-vline
WA_PJP_LIA_AN_STR-AVCEI sy-vline
WA_PJP_LIA_AN_STR-AVCEA sy-vline
WA_PJP_LIA_AN_STR-WGWLI sy-vline
WA_PJP_LIA_AN_STR-PRWLI sy-vline
WA_PJP_LIA_AN_STR-PAWLI sy-vline
WA_PJP_LIA_AN_STR-WGAWI sy-vline
WA_PJP_LIA_AN_STR-WIPRT sy-vline
WA_PJP_LIA_AN_STR-WIPRA sy-vline
WA_PJP_LIA_AN_STR-WGAEI sy-vline
WA_PJP_LIA_AN_STR-WGAEA sy-vline
WA_PJP_LIA_AN_STR-EIPRT sy-vline
WA_PJP_LIA_AN_STR-EIPRA sy-vline
WA_PJP_LIA_AN_STR-WGNEI sy-vline
WA_PJP_LIA_AN_STR-EIPRN sy-vline
WA_PJP_LIA_AN_STR-WGGNC sy-vline
WA_PJP_LIA_AN_STR-GNPRT sy-vline
WA_PJP_LIA_AN_STR-GNPRA sy-vline
WA_PJP_LIA_AN_STR-PEWEI sy-vline
WA_PJP_LIA_AN_STR-PSWEI sy-vline
WA_PJP_LIA_AN_STR-PRTWI sy-vline
WA_PJP_LIA_AN_STR-PRAWI sy-vline
WA_PJP_LIA_AN_STR-PRTEI sy-vline
WA_PJP_LIA_AN_STR-PRAEI sy-vline
WA_PJP_LIA_AN_STR-PREWP sy-vline
WA_PJP_LIA_AN_STR-ALLOC sy-vline
WA_PJP_LIA_AN_STR-REFND sy-vline
WA_PJP_LIA_AN_STR-SHORT sy-vline
WA_PJP_LIA_AN_STR-COLP1 sy-vline
WA_PJP_LIA_AN_STR-COLA1 sy-vline
WA_PJP_LIA_AN_STR-COLS1 sy-vline
WA_PJP_LIA_AN_STR-COLR1 sy-vline
WA_PJP_LIA_AN_STR-COGA1 sy-vline
WA_PJP_LIA_AN_STR-COGR1 sy-vline
WA_PJP_LIA_AN_STR-CAMT1 sy-vline
WA_PJP_LIA_AN_STR-COLP2 sy-vline
WA_PJP_LIA_AN_STR-COLA2 sy-vline
WA_PJP_LIA_AN_STR-CAMT2 sy-vline
WA_PJP_LIA_AN_STR-COLP3 sy-vline
WA_PJP_LIA_AN_STR-COLA3 sy-vline
WA_PJP_LIA_AN_STR-CAMT3 sy-vline
WA_PJP_LIA_AN_STR-WAERS sy-vline
WA_PJP_LIA_AN_STR-MERIT sy-vline
WA_PJP_LIA_AN_STR-LBADR sy-vline
WA_PJP_LIA_AN_STR-JGSNM sy-vline
WA_PJP_LIA_AN_STR-P2TLZ sy-vline
WA_PJP_LIA_AN_STR-T2LNR sy-vline
WA_PJP_LIA_AN_STR-J2ADR sy-vline
WA_PJP_LIA_AN_STR-J2NNM sy-vline
WA_PJP_LIA_AN_STR-J2NPR sy-vline
WA_PJP_LIA_AN_STR-CORPN sy-vline
WA_PJP_LIA_AN_STR-J1ADR sy-vline
WA_PJP_LIA_AN_STR-LBUID sy-vline
WA_PJP_LIA_AN_STR-LBURE sy-vline
WA_PJP_LIA_AN_STR-P3TLZ sy-vline
WA_PJP_LIA_AN_STR-KNKT2 sy-vline
WA_PJP_LIA_AN_STR-HKNKK sy-vline
WA_PJP_LIA_AN_STR-GYSHU sy-vline
WA_PJP_LIA_AN_STR-SYBRI sy-vline
WA_PJP_LIA_AN_STR-GYSHM sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.