ABAP Select data from SAP table PJP00 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 PJP00 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 PJP00. 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 PJP00 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_PJP00 TYPE STANDARD TABLE OF PJP00,
      WA_PJP00 TYPE PJP00,
      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: <PJP00> TYPE PJP00.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PJP00
*  INTO TABLE @DATA(IT_PJP002).
*--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_PJP00 INDEX 1 INTO DATA(WA_PJP002).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PJP00 ASSIGNING <PJP00>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PJP00>-ITXMF = 1.
<PJP00>-SORTFG = 1.
<PJP00>-RTXMF = 1.
<PJP00>-TXTID = 1.
<PJP00>-PERNR = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PJP00-RCTVC, sy-vline,
WA_PJP00-ADDR, sy-vline,
WA_PJP00-NAME, sy-vline,
WA_PJP00-KANA, sy-vline,
WA_PJP00-PLANS_TEXT, sy-vline,
WA_PJP00-INCOME, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PJP00 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_PJP00 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_PJP00 INTO WA_PJP00. *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 ALPHA, internal->external for field KOSTL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PJP00-KOSTL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PJP00-KOSTL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field GRANT_NBR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PJP00-GRANT_NBR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PJP00-GRANT_NBR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field SGMNT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PJP00-SGMNT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PJP00-SGMNT.
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_PJP00_STR,
ITXMF TYPE STRING,
SORTFG TYPE STRING,
RTXMF TYPE STRING,
TXTID TYPE STRING,
PERNR TYPE STRING,
RCTVC TYPE STRING,
ADDR TYPE STRING,
NAME TYPE STRING,
KANA TYPE STRING,
PLANS_TEXT TYPE STRING,
INCOME TYPE STRING,
YEAID TYPE STRING,
TTIPRE TYPE STRING,
TOTDED TYPE STRING,
DEFTAX TYPE STRING,
WITTAX TYPE STRING,
SUPIXE TYPE STRING,
SUPIXE2 TYPE STRING,
SUPNON TYPE STRING,
SUPNON2 TYPE STRING,
SUPOLD TYPE STRING,
DESPOU TYPE STRING,
NUMSPO TYPE STRING,
NUMSPO2 TYPE STRING,
NUMDOL TYPE STRING,
NUMOLD TYPE STRING,
NUMOLD2 TYPE STRING,
NUMGEN TYPE STRING,
NUMGEN2 TYPE STRING,
NUMU16 TYPE STRING,
NUMSDW TYPE STRING,
NUMSER TYPE STRING,
NUMDIS TYPE STRING,
SKK TYPE STRING,
SITOT TYPE STRING,
DEDLIF TYPE STRING,
DEDNON TYPE STRING,
DEDHUS TYPE STRING,
DEFERM TYPE STRING,
TEXT1 TYPE STRING,
TEXT2 TYPE STRING,
TEXT3 TYPE STRING,
OVERFLOW TYPE STRING,
SUPINC TYPE STRING,
PERPEN TYPE STRING,
NLINSL TYPE STRING,
HUSBAN TYPE STRING,
MINOR TYPE STRING,
OTURAN TYPE STRING,
INDDIS TYPE STRING,
INDELS TYPE STRING,
INDOLD TYPE STRING,
INDKAF TYPE STRING,
INDKAT TYPE STRING,
PRSKAO TYPE STRING,
INDSTU TYPE STRING,
INDSIB TYPE STRING,
INDSAI TYPE STRING,
INDGAI TYPE STRING,
FLGEM1 TYPE STRING,
FLGRET TYPE STRING,
YEAST1 TYPE STRING,
MONST1 TYPE STRING,
DAYST1 TYPE STRING,
FLGMEI TYPE STRING,
FLGTAI TYPE STRING,
FLGSYO TYPE STRING,
FLGHEI TYPE STRING,
YARBTH TYPE STRING,
MONBTH TYPE STRING,
DAYBTH TYPE STRING,
TELNR TYPE STRING,
CMPADR TYPE STRING,
CMPNAM TYPE STRING,
ID_NUM1 TYPE STRING,
ID_NUM2 TYPE STRING,
BOFID TYPE STRING,
SUBADR TYPE STRING,
SUBNAM TYPE STRING,
NONRES_ID TYPE STRING,
PER_ID TYPE STRING,
BIRTH_WAREKI TYPE STRING,
HIRE_WAREKI TYPE STRING,
FIRE_WAREKI TYPE STRING,
PRVADR TYPE STRING,
PRVIND TYPE STRING,
PRVNAM TYPE STRING,
PRVINC TYPE STRING,
PRVWIT TYPE STRING,
PRVSIP TYPE STRING,
PRVRET TYPE STRING,
PRVRET_WAREKI TYPE STRING,
HOUSTA TYPE STRING,
HOUSTA_WAREKI TYPE STRING,
DETAIL TYPE STRING,
PASNO TYPE STRING,
TXI1D TYPE STRING,
TXI2D TYPE STRING,
BUKRS TYPE STRING,
WERKS TYPE STRING,
PERSG TYPE STRING,
PERSK TYPE STRING,
VDSK1 TYPE STRING,
GSBER TYPE STRING,
BTRTL TYPE STRING,
JUPER TYPE STRING,
ABKRS TYPE STRING,
ANSVH TYPE STRING,
KOSTL TYPE STRING,
ORGEH TYPE STRING,
PLANS TYPE STRING,
STELL TYPE STRING,
MSTBR TYPE STRING,
SACHA TYPE STRING,
SACHP TYPE STRING,
SACHZ TYPE STRING,
SNAME TYPE STRING,
ENAME TYPE STRING,
OTYPE TYPE STRING,
SBMOD TYPE STRING,
KOKRS TYPE STRING,
FISTL TYPE STRING,
GEBER TYPE STRING,
FKBER TYPE STRING,
GRANT_NBR TYPE STRING,
SGMNT TYPE STRING,
BUDGET_PD TYPE STRING,
CHOSHU TYPE STRING,
AOIRO TYPE STRING,
JOYAKU TYPE STRING,
JUKYUNUM TYPE STRING,
CLCNR TYPE STRING,
SORTF TYPE STRING,
TOTINC TYPE STRING,
SIYEA TYPE STRING,
HOUSNUM TYPE STRING,
HOUSDED TYPE STRING,
HOUSTY1 TYPE STRING,
HOUSLOAN1 TYPE STRING,
HOUSDATE2 TYPE STRING,
HOUSD2_WAREKI TYPE STRING,
HOUSTY2 TYPE STRING,
HOUSLOAN2 TYPE STRING,
HOUSDATE3 TYPE STRING,
HOUSD3_WAREKI TYPE STRING,
HOUSTY3 TYPE STRING,
HOUSLOAN3 TYPE STRING,
TEKIYO TYPE STRING,
NPTOT TYPE STRING,
CLTOT TYPE STRING,
NLTOT TYPE STRING,
NSTOT TYPE STRING,
BUTXT TYPE STRING,
KOSTX TYPE STRING,
PBTXT TYPE STRING,
BTRTX TYPE STRING,
ORGTX TYPE STRING,
FDFLG TYPE STRING,
RCLID TYPE STRING,
SIADJ TYPE STRING,
NATPEN TYPE STRING,
PREDCP TYPE STRING,
SKKINS TYPE STRING,
RNCID TYPE STRING,
HSSA1 TYPE STRING,
HSSA2 TYPE STRING,
HSSA3 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PJP00_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_PJP00_STR-ITXMF sy-vline
WA_PJP00_STR-SORTFG sy-vline
WA_PJP00_STR-RTXMF sy-vline
WA_PJP00_STR-TXTID sy-vline
WA_PJP00_STR-PERNR sy-vline
WA_PJP00_STR-RCTVC sy-vline
WA_PJP00_STR-ADDR sy-vline
WA_PJP00_STR-NAME sy-vline
WA_PJP00_STR-KANA sy-vline
WA_PJP00_STR-PLANS_TEXT sy-vline
WA_PJP00_STR-INCOME sy-vline
WA_PJP00_STR-YEAID sy-vline
WA_PJP00_STR-TTIPRE sy-vline
WA_PJP00_STR-TOTDED sy-vline
WA_PJP00_STR-DEFTAX sy-vline
WA_PJP00_STR-WITTAX sy-vline
WA_PJP00_STR-SUPIXE sy-vline
WA_PJP00_STR-SUPIXE2 sy-vline
WA_PJP00_STR-SUPNON sy-vline
WA_PJP00_STR-SUPNON2 sy-vline
WA_PJP00_STR-SUPOLD sy-vline
WA_PJP00_STR-DESPOU sy-vline
WA_PJP00_STR-NUMSPO sy-vline
WA_PJP00_STR-NUMSPO2 sy-vline
WA_PJP00_STR-NUMDOL sy-vline
WA_PJP00_STR-NUMOLD sy-vline
WA_PJP00_STR-NUMOLD2 sy-vline
WA_PJP00_STR-NUMGEN sy-vline
WA_PJP00_STR-NUMGEN2 sy-vline
WA_PJP00_STR-NUMU16 sy-vline
WA_PJP00_STR-NUMSDW sy-vline
WA_PJP00_STR-NUMSER sy-vline
WA_PJP00_STR-NUMDIS sy-vline
WA_PJP00_STR-SKK sy-vline
WA_PJP00_STR-SITOT sy-vline
WA_PJP00_STR-DEDLIF sy-vline
WA_PJP00_STR-DEDNON sy-vline
WA_PJP00_STR-DEDHUS sy-vline
WA_PJP00_STR-DEFERM sy-vline
WA_PJP00_STR-TEXT1 sy-vline
WA_PJP00_STR-TEXT2 sy-vline
WA_PJP00_STR-TEXT3 sy-vline
WA_PJP00_STR-OVERFLOW sy-vline
WA_PJP00_STR-SUPINC sy-vline
WA_PJP00_STR-PERPEN sy-vline
WA_PJP00_STR-NLINSL sy-vline
WA_PJP00_STR-HUSBAN sy-vline
WA_PJP00_STR-MINOR sy-vline
WA_PJP00_STR-OTURAN sy-vline
WA_PJP00_STR-INDDIS sy-vline
WA_PJP00_STR-INDELS sy-vline
WA_PJP00_STR-INDOLD sy-vline
WA_PJP00_STR-INDKAF sy-vline
WA_PJP00_STR-INDKAT sy-vline
WA_PJP00_STR-PRSKAO sy-vline
WA_PJP00_STR-INDSTU sy-vline
WA_PJP00_STR-INDSIB sy-vline
WA_PJP00_STR-INDSAI sy-vline
WA_PJP00_STR-INDGAI sy-vline
WA_PJP00_STR-FLGEM1 sy-vline
WA_PJP00_STR-FLGRET sy-vline
WA_PJP00_STR-YEAST1 sy-vline
WA_PJP00_STR-MONST1 sy-vline
WA_PJP00_STR-DAYST1 sy-vline
WA_PJP00_STR-FLGMEI sy-vline
WA_PJP00_STR-FLGTAI sy-vline
WA_PJP00_STR-FLGSYO sy-vline
WA_PJP00_STR-FLGHEI sy-vline
WA_PJP00_STR-YARBTH sy-vline
WA_PJP00_STR-MONBTH sy-vline
WA_PJP00_STR-DAYBTH sy-vline
WA_PJP00_STR-TELNR sy-vline
WA_PJP00_STR-CMPADR sy-vline
WA_PJP00_STR-CMPNAM sy-vline
WA_PJP00_STR-ID_NUM1 sy-vline
WA_PJP00_STR-ID_NUM2 sy-vline
WA_PJP00_STR-BOFID sy-vline
WA_PJP00_STR-SUBADR sy-vline
WA_PJP00_STR-SUBNAM sy-vline
WA_PJP00_STR-NONRES_ID sy-vline
WA_PJP00_STR-PER_ID sy-vline
WA_PJP00_STR-BIRTH_WAREKI sy-vline
WA_PJP00_STR-HIRE_WAREKI sy-vline
WA_PJP00_STR-FIRE_WAREKI sy-vline
WA_PJP00_STR-PRVADR sy-vline
WA_PJP00_STR-PRVIND sy-vline
WA_PJP00_STR-PRVNAM sy-vline
WA_PJP00_STR-PRVINC sy-vline
WA_PJP00_STR-PRVWIT sy-vline
WA_PJP00_STR-PRVSIP sy-vline
WA_PJP00_STR-PRVRET sy-vline
WA_PJP00_STR-PRVRET_WAREKI sy-vline
WA_PJP00_STR-HOUSTA sy-vline
WA_PJP00_STR-HOUSTA_WAREKI sy-vline
WA_PJP00_STR-DETAIL sy-vline
WA_PJP00_STR-PASNO sy-vline
WA_PJP00_STR-TXI1D sy-vline
WA_PJP00_STR-TXI2D sy-vline
WA_PJP00_STR-BUKRS sy-vline
WA_PJP00_STR-WERKS sy-vline
WA_PJP00_STR-PERSG sy-vline
WA_PJP00_STR-PERSK sy-vline
WA_PJP00_STR-VDSK1 sy-vline
WA_PJP00_STR-GSBER sy-vline
WA_PJP00_STR-BTRTL sy-vline
WA_PJP00_STR-JUPER sy-vline
WA_PJP00_STR-ABKRS sy-vline
WA_PJP00_STR-ANSVH sy-vline
WA_PJP00_STR-KOSTL sy-vline
WA_PJP00_STR-ORGEH sy-vline
WA_PJP00_STR-PLANS sy-vline
WA_PJP00_STR-STELL sy-vline
WA_PJP00_STR-MSTBR sy-vline
WA_PJP00_STR-SACHA sy-vline
WA_PJP00_STR-SACHP sy-vline
WA_PJP00_STR-SACHZ sy-vline
WA_PJP00_STR-SNAME sy-vline
WA_PJP00_STR-ENAME sy-vline
WA_PJP00_STR-OTYPE sy-vline
WA_PJP00_STR-SBMOD sy-vline
WA_PJP00_STR-KOKRS sy-vline
WA_PJP00_STR-FISTL sy-vline
WA_PJP00_STR-GEBER sy-vline
WA_PJP00_STR-FKBER sy-vline
WA_PJP00_STR-GRANT_NBR sy-vline
WA_PJP00_STR-SGMNT sy-vline
WA_PJP00_STR-BUDGET_PD sy-vline
WA_PJP00_STR-CHOSHU sy-vline
WA_PJP00_STR-AOIRO sy-vline
WA_PJP00_STR-JOYAKU sy-vline
WA_PJP00_STR-JUKYUNUM sy-vline
WA_PJP00_STR-CLCNR sy-vline
WA_PJP00_STR-SORTF sy-vline
WA_PJP00_STR-TOTINC sy-vline
WA_PJP00_STR-SIYEA sy-vline
WA_PJP00_STR-HOUSNUM sy-vline
WA_PJP00_STR-HOUSDED sy-vline
WA_PJP00_STR-HOUSTY1 sy-vline
WA_PJP00_STR-HOUSLOAN1 sy-vline
WA_PJP00_STR-HOUSDATE2 sy-vline
WA_PJP00_STR-HOUSD2_WAREKI sy-vline
WA_PJP00_STR-HOUSTY2 sy-vline
WA_PJP00_STR-HOUSLOAN2 sy-vline
WA_PJP00_STR-HOUSDATE3 sy-vline
WA_PJP00_STR-HOUSD3_WAREKI sy-vline
WA_PJP00_STR-HOUSTY3 sy-vline
WA_PJP00_STR-HOUSLOAN3 sy-vline
WA_PJP00_STR-TEKIYO sy-vline
WA_PJP00_STR-NPTOT sy-vline
WA_PJP00_STR-CLTOT sy-vline
WA_PJP00_STR-NLTOT sy-vline
WA_PJP00_STR-NSTOT sy-vline
WA_PJP00_STR-BUTXT sy-vline
WA_PJP00_STR-KOSTX sy-vline
WA_PJP00_STR-PBTXT sy-vline
WA_PJP00_STR-BTRTX sy-vline
WA_PJP00_STR-ORGTX sy-vline
WA_PJP00_STR-FDFLG sy-vline
WA_PJP00_STR-RCLID sy-vline
WA_PJP00_STR-SIADJ sy-vline
WA_PJP00_STR-NATPEN sy-vline
WA_PJP00_STR-PREDCP sy-vline
WA_PJP00_STR-SKKINS sy-vline
WA_PJP00_STR-RNCID sy-vline
WA_PJP00_STR-HSSA1 sy-vline
WA_PJP00_STR-HSSA2 sy-vline
WA_PJP00_STR-HSSA3 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.