ABAP Select data from SAP table PJP_FORM_LDTD 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_FORM_LDTD 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_FORM_LDTD. 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_FORM_LDTD 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_FORM_LDTD TYPE STANDARD TABLE OF PJP_FORM_LDTD,
      WA_PJP_FORM_LDTD TYPE PJP_FORM_LDTD,
      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_FORM_LDTD> TYPE PJP_FORM_LDTD.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PJP_FORM_LDTD
*  INTO TABLE @DATA(IT_PJP_FORM_LDTD2).
*--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_FORM_LDTD INDEX 1 INTO DATA(WA_PJP_FORM_LDTD2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PJP_FORM_LDTD ASSIGNING <PJP_FORM_LDTD>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PJP_FORM_LDTD>-EMP_ADDR = 1.
<PJP_FORM_LDTD>-E_BDY = 1.
<PJP_FORM_LDTD>-E_BMO = 1.
<PJP_FORM_LDTD>-E_BYR = 1.
<PJP_FORM_LDTD>-EMP_KANA = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PJP_FORM_LDTD-EMP_NAME, sy-vline,
WA_PJP_FORM_LDTD-E_PS1, sy-vline,
WA_PJP_FORM_LDTD-E_PS2, sy-vline,
WA_PJP_FORM_LDTD-EMR_ADDR, sy-vline,
WA_PJP_FORM_LDTD-ER_NM, sy-vline,
WA_PJP_FORM_LDTD-H_DEP, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PJP_FORM_LDTD 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_FORM_LDTD 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_FORM_LDTD INTO WA_PJP_FORM_LDTD. *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_FORM_LDTD_STR,
EMP_ADDR TYPE STRING,
E_BDY TYPE STRING,
E_BMO TYPE STRING,
E_BYR TYPE STRING,
EMP_KANA TYPE STRING,
EMP_NAME TYPE STRING,
E_PS1 TYPE STRING,
E_PS2 TYPE STRING,
EMR_ADDR TYPE STRING,
ER_NM TYPE STRING,
H_DEP TYPE STRING,
HAN_DEP_M TYPE STRING,
H_EMP TYPE STRING,
H_SPO TYPE STRING,
L_DEP TYPE STRING,
LSH_DEP_M TYPE STRING,
L_SPO TYPE STRING,
O_PER TYPE STRING,
SH_DE TYPE STRING,
SHA_DEP_M TYPE STRING,
SH_EM TYPE STRING,
SH_SP TYPE STRING,
SP_WI TYPE STRING,
S_ATT TYPE STRING,
S_BDY TYPE STRING,
S_BMO TYPE STRING,
S_BYR TYPE STRING,
SPO_NAME TYPE STRING,
S_NAT TYPE STRING,
S_ODE TYPE STRING,
ST_WO TYPE STRING,
WIDOW TYPE STRING,
WIDOR TYPE STRING,
OYEAR TYPE STRING,
DEP TYPE STRING,
DEP_RES_NAM1 TYPE STRING,
DEP_RES_RE1 TYPE STRING,
DEP_RES_BY1 TYPE STRING,
DEP_RES_BM1 TYPE STRING,
DEP_RES_BD1 TYPE STRING,
DEP_RES_NAM2 TYPE STRING,
DEP_RES_RE2 TYPE STRING,
DEP_RES_BY2 TYPE STRING,
DEP_RES_BM2 TYPE STRING,
DEP_RES_BD2 TYPE STRING,
DEP_RES_NAM3 TYPE STRING,
DEP_RES_RE3 TYPE STRING,
DEP_RES_BY3 TYPE STRING,
DEP_RES_BM3 TYPE STRING,
DEP_RES_BD3 TYPE STRING,
MUNICI_TEXT TYPE STRING,
DEP_RES TYPE STRING,
SPO_LIVE TYPE STRING,
H_HLD_NM TYPE STRING,
H_HLD_RE TYPE STRING,
S_ADDR TYPE STRING,
S_REASON TYPE STRING,
C_DEP_CNTS TYPE STRING,
C_DEP_RSN TYPE STRING,
C_EMR_CNTS TYPE STRING,
C_EMR_RSN TYPE STRING,
DEP_EAR TYPE STRING,
SPECDEP_START_YR TYPE STRING,
SPECDEP_END_YR TYPE STRING,
OLDDEP_BIRTH_YR TYPE STRING,
UND16_BIRTH_YR TYPE STRING,
EMR_CORPN TYPE STRING,
EMP_INDNR TYPE STRING,
SPO_INDNR TYPE STRING,
SPO_NONRE TYPE STRING,END OF T_EKKO_STR. DATA: WA_PJP_FORM_LDTD_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_FORM_LDTD_STR-EMP_ADDR sy-vline
WA_PJP_FORM_LDTD_STR-E_BDY sy-vline
WA_PJP_FORM_LDTD_STR-E_BMO sy-vline
WA_PJP_FORM_LDTD_STR-E_BYR sy-vline
WA_PJP_FORM_LDTD_STR-EMP_KANA sy-vline
WA_PJP_FORM_LDTD_STR-EMP_NAME sy-vline
WA_PJP_FORM_LDTD_STR-E_PS1 sy-vline
WA_PJP_FORM_LDTD_STR-E_PS2 sy-vline
WA_PJP_FORM_LDTD_STR-EMR_ADDR sy-vline
WA_PJP_FORM_LDTD_STR-ER_NM sy-vline
WA_PJP_FORM_LDTD_STR-H_DEP sy-vline
WA_PJP_FORM_LDTD_STR-HAN_DEP_M sy-vline
WA_PJP_FORM_LDTD_STR-H_EMP sy-vline
WA_PJP_FORM_LDTD_STR-H_SPO sy-vline
WA_PJP_FORM_LDTD_STR-L_DEP sy-vline
WA_PJP_FORM_LDTD_STR-LSH_DEP_M sy-vline
WA_PJP_FORM_LDTD_STR-L_SPO sy-vline
WA_PJP_FORM_LDTD_STR-O_PER sy-vline
WA_PJP_FORM_LDTD_STR-SH_DE sy-vline
WA_PJP_FORM_LDTD_STR-SHA_DEP_M sy-vline
WA_PJP_FORM_LDTD_STR-SH_EM sy-vline
WA_PJP_FORM_LDTD_STR-SH_SP sy-vline
WA_PJP_FORM_LDTD_STR-SP_WI sy-vline
WA_PJP_FORM_LDTD_STR-S_ATT sy-vline
WA_PJP_FORM_LDTD_STR-S_BDY sy-vline
WA_PJP_FORM_LDTD_STR-S_BMO sy-vline
WA_PJP_FORM_LDTD_STR-S_BYR sy-vline
WA_PJP_FORM_LDTD_STR-SPO_NAME sy-vline
WA_PJP_FORM_LDTD_STR-S_NAT sy-vline
WA_PJP_FORM_LDTD_STR-S_ODE sy-vline
WA_PJP_FORM_LDTD_STR-ST_WO sy-vline
WA_PJP_FORM_LDTD_STR-WIDOW sy-vline
WA_PJP_FORM_LDTD_STR-WIDOR sy-vline
WA_PJP_FORM_LDTD_STR-OYEAR sy-vline
WA_PJP_FORM_LDTD_STR-DEP sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_NAM1 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_RE1 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_BY1 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_BM1 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_BD1 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_NAM2 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_RE2 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_BY2 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_BM2 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_BD2 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_NAM3 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_RE3 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_BY3 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_BM3 sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES_BD3 sy-vline
WA_PJP_FORM_LDTD_STR-MUNICI_TEXT sy-vline
WA_PJP_FORM_LDTD_STR-DEP_RES sy-vline
WA_PJP_FORM_LDTD_STR-SPO_LIVE sy-vline
WA_PJP_FORM_LDTD_STR-H_HLD_NM sy-vline
WA_PJP_FORM_LDTD_STR-H_HLD_RE sy-vline
WA_PJP_FORM_LDTD_STR-S_ADDR sy-vline
WA_PJP_FORM_LDTD_STR-S_REASON sy-vline
WA_PJP_FORM_LDTD_STR-C_DEP_CNTS sy-vline
WA_PJP_FORM_LDTD_STR-C_DEP_RSN sy-vline
WA_PJP_FORM_LDTD_STR-C_EMR_CNTS sy-vline
WA_PJP_FORM_LDTD_STR-C_EMR_RSN sy-vline
WA_PJP_FORM_LDTD_STR-DEP_EAR sy-vline
WA_PJP_FORM_LDTD_STR-SPECDEP_START_YR sy-vline
WA_PJP_FORM_LDTD_STR-SPECDEP_END_YR sy-vline
WA_PJP_FORM_LDTD_STR-OLDDEP_BIRTH_YR sy-vline
WA_PJP_FORM_LDTD_STR-UND16_BIRTH_YR sy-vline
WA_PJP_FORM_LDTD_STR-EMR_CORPN sy-vline
WA_PJP_FORM_LDTD_STR-EMP_INDNR sy-vline
WA_PJP_FORM_LDTD_STR-SPO_INDNR sy-vline
WA_PJP_FORM_LDTD_STR-SPO_NONRE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.