ABAP Select data from SAP table PMY_EA_FORM_DATA 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 PMY_EA_FORM_DATA 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 PMY_EA_FORM_DATA. 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 PMY_EA_FORM_DATA 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_PMY_EA_FORM_DATA TYPE STANDARD TABLE OF PMY_EA_FORM_DATA,
      WA_PMY_EA_FORM_DATA TYPE PMY_EA_FORM_DATA,
      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: <PMY_EA_FORM_DATA> TYPE PMY_EA_FORM_DATA.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PMY_EA_FORM_DATA
*  INTO TABLE @DATA(IT_PMY_EA_FORM_DATA2).
*--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_PMY_EA_FORM_DATA INDEX 1 INTO DATA(WA_PMY_EA_FORM_DATA2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PMY_EA_FORM_DATA ASSIGNING <PMY_EA_FORM_DATA>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PMY_EA_FORM_DATA>-PFX = 1.
<PMY_EA_FORM_DATA>-SEQNR = 1.
<PMY_EA_FORM_DATA>-SEX = 1.
<PMY_EA_FORM_DATA>-TNOEE = 1.
<PMY_EA_FORM_DATA>-FOFADD = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PMY_EA_FORM_DATA-TNOER, sy-vline,
WA_PMY_EA_FORM_DATA-REGTXT, sy-vline,
WA_PMY_EA_FORM_DATA-CNTRYTXT, sy-vline,
WA_PMY_EA_FORM_DATA-TXOFF, sy-vline,
WA_PMY_EA_FORM_DATA-EMP_NAM, sy-vline,
WA_PMY_EA_FORM_DATA-DEPART, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PMY_EA_FORM_DATA 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_PMY_EA_FORM_DATA 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_PMY_EA_FORM_DATA INTO WA_PMY_EA_FORM_DATA. *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_PMY_EA_FORM_DATA_STR,
PFX TYPE STRING,
SEQNR TYPE STRING,
SEX TYPE STRING,
TNOEE TYPE STRING,
FOFADD TYPE STRING,
TNOER TYPE STRING,
REGTXT TYPE STRING,
CNTRYTXT TYPE STRING,
TXOFF TYPE STRING,
EMP_NAM TYPE STRING,
DEPART TYPE STRING,
PLSTX TYPE STRING,
ICNUM TYPE STRING,
PASPT TYPE STRING,
ICOLD TYPE STRING,
PERNR TYPE STRING,
EPFNO TYPE STRING,
M TYPE STRING,
N TYPE STRING,
O TYPE STRING,
P TYPE STRING,
Q TYPE STRING,
R TYPE STRING,
S TYPE STRING,
MARST TYPE STRING,
CHILD TYPE STRING,
YEAR TYPE STRING,
A TYPE STRING,
B TYPE STRING,
C TYPE STRING,
D TYPE STRING,
E TYPE STRING,
F TYPE STRING,
G TYPE STRING,
H TYPE STRING,
I TYPE STRING,
SPO_NAM TYPE STRING,
SPO_IC_NO TYPE STRING,
SPO_IT_NO TYPE STRING,
SPO_TXOFF TYPE STRING,
HUS_ADD1 TYPE STRING,
HUS_ADD2 TYPE STRING,
HIR_DTE TYPE STRING,
PREV_ARBGB TYPE STRING,
PREV_ADD TYPE STRING,
CES_DTE TYPE STRING,
PRES_ARBGB TYPE STRING,
PRES_ADD TYPE STRING,
W10 TYPE STRING,
W11 TYPE STRING,
DT1 TYPE STRING,
DT2 TYPE STRING,
LEAVE TYPE STRING,
W12 TYPE STRING,
W13 TYPE STRING,
EC_B1 TYPE STRING,
EC_BIK TYPE STRING,
EC_LP TYPE STRING,
EC_TAXIN TYPE STRING,
CRD TYPE STRING,
CMO TYPE STRING,
CNM TYPE STRING,
CYR TYPE STRING,
W20 TYPE STRING,
W21 TYPE STRING,
W22 TYPE STRING,
WFR TYPE STRING,
W27 TYPE STRING,
W28 TYPE STRING,
W29 TYPE STRING,
W2A TYPE STRING,
W2B TYPE STRING,
W2C TYPE STRING,
W2D TYPE STRING,
W30 TYPE STRING,
VAL_ADR TYPE STRING,
W40 TYPE STRING,
W50 TYPE STRING,
W60 TYPE STRING,
W70 TYPE STRING,
TAX_EX TYPE STRING,
WTT TYPE STRING,
FND_NAM TYPE STRING,
SER TYPE STRING,
WE0 TYPE STRING,
WD0 TYPE STRING,
WD4 TYPE STRING,
PEN_OTHER TYPE STRING,
FND_NAM1 TYPE STRING,
SER1 TYPE STRING,
WZ1 TYPE STRING,
TEMP_DATE TYPE STRING,
NO_TAX_EXE TYPE STRING,
SHOW_SECF TYPE STRING,
SECF_TAB TYPE STRING,
IT_ECTX1 TYPE STRING,
EC_WG_TYP TYPE STRING,
EC_WG_AMT TYPE STRING,
CHKFORM TYPE STRING,
SHOW_EC_DATA TYPE STRING,
EC_DATA TYPE STRING,
PERNR TYPE STRING,
EC_BEGDA TYPE STRING,
EC_ENDDA TYPE STRING,
SAL_AMT TYPE STRING,
GRA_AMT TYPE STRING,
ALL_AMT TYPE STRING,
TOT_B1_B2 TYPE STRING,
BIK_AMT TYPE STRING,
ACC_AMT TYPE STRING,
LEAVE_AMT TYPE STRING,
TAX_INC_AMT TYPE STRING,
GRA_BEGDA TYPE STRING,
GRA_ENDDA TYPE STRING,
BIK_TEXT TYPE STRING,
ADD_TEXT TYPE STRING,
ACC_BEGDA TYPE STRING,
ACC_ENDDA TYPE STRING,
RENT_AMT TYPE STRING,
TYP_INCOMEA TYPE STRING,
TYP_INCOMEB TYPE STRING,
CURR TYPE STRING,
DSG TYPE STRING,
OFICER TYPE STRING,
ADDRESS TYPE STRING,
SOCSO_NUM TYPE STRING,
CHILD_NUM TYPE STRING,
SHARE_AMT TYPE STRING,
GRA_BEG TYPE STRING,
GRA_END TYPE STRING,
GRA_AMT TYPE STRING,
TYP_INCOMEA TYPE STRING,
TYP_INCOMEB TYPE STRING,
ARREARS_AMT TYPE STRING,
WB1 TYPE STRING,
WZ2 TYPE STRING,
RELIEF_AMT TYPE STRING,
WZ3 TYPE STRING,
CHILD_AMT TYPE STRING,
SOCSO_AMT TYPE STRING,
TEL_NUM TYPE STRING,
BIK_TEXT TYPE STRING,END OF T_EKKO_STR. DATA: WA_PMY_EA_FORM_DATA_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_PMY_EA_FORM_DATA_STR-PFX sy-vline
WA_PMY_EA_FORM_DATA_STR-SEQNR sy-vline
WA_PMY_EA_FORM_DATA_STR-SEX sy-vline
WA_PMY_EA_FORM_DATA_STR-TNOEE sy-vline
WA_PMY_EA_FORM_DATA_STR-FOFADD sy-vline
WA_PMY_EA_FORM_DATA_STR-TNOER sy-vline
WA_PMY_EA_FORM_DATA_STR-REGTXT sy-vline
WA_PMY_EA_FORM_DATA_STR-CNTRYTXT sy-vline
WA_PMY_EA_FORM_DATA_STR-TXOFF sy-vline
WA_PMY_EA_FORM_DATA_STR-EMP_NAM sy-vline
WA_PMY_EA_FORM_DATA_STR-DEPART sy-vline
WA_PMY_EA_FORM_DATA_STR-PLSTX sy-vline
WA_PMY_EA_FORM_DATA_STR-ICNUM sy-vline
WA_PMY_EA_FORM_DATA_STR-PASPT sy-vline
WA_PMY_EA_FORM_DATA_STR-ICOLD sy-vline
WA_PMY_EA_FORM_DATA_STR-PERNR sy-vline
WA_PMY_EA_FORM_DATA_STR-EPFNO sy-vline
WA_PMY_EA_FORM_DATA_STR-M sy-vline
WA_PMY_EA_FORM_DATA_STR-N sy-vline
WA_PMY_EA_FORM_DATA_STR-O sy-vline
WA_PMY_EA_FORM_DATA_STR-P sy-vline
WA_PMY_EA_FORM_DATA_STR-Q sy-vline
WA_PMY_EA_FORM_DATA_STR-R sy-vline
WA_PMY_EA_FORM_DATA_STR-S sy-vline
WA_PMY_EA_FORM_DATA_STR-MARST sy-vline
WA_PMY_EA_FORM_DATA_STR-CHILD sy-vline
WA_PMY_EA_FORM_DATA_STR-YEAR sy-vline
WA_PMY_EA_FORM_DATA_STR-A sy-vline
WA_PMY_EA_FORM_DATA_STR-B sy-vline
WA_PMY_EA_FORM_DATA_STR-C sy-vline
WA_PMY_EA_FORM_DATA_STR-D sy-vline
WA_PMY_EA_FORM_DATA_STR-E sy-vline
WA_PMY_EA_FORM_DATA_STR-F sy-vline
WA_PMY_EA_FORM_DATA_STR-G sy-vline
WA_PMY_EA_FORM_DATA_STR-H sy-vline
WA_PMY_EA_FORM_DATA_STR-I sy-vline
WA_PMY_EA_FORM_DATA_STR-SPO_NAM sy-vline
WA_PMY_EA_FORM_DATA_STR-SPO_IC_NO sy-vline
WA_PMY_EA_FORM_DATA_STR-SPO_IT_NO sy-vline
WA_PMY_EA_FORM_DATA_STR-SPO_TXOFF sy-vline
WA_PMY_EA_FORM_DATA_STR-HUS_ADD1 sy-vline
WA_PMY_EA_FORM_DATA_STR-HUS_ADD2 sy-vline
WA_PMY_EA_FORM_DATA_STR-HIR_DTE sy-vline
WA_PMY_EA_FORM_DATA_STR-PREV_ARBGB sy-vline
WA_PMY_EA_FORM_DATA_STR-PREV_ADD sy-vline
WA_PMY_EA_FORM_DATA_STR-CES_DTE sy-vline
WA_PMY_EA_FORM_DATA_STR-PRES_ARBGB sy-vline
WA_PMY_EA_FORM_DATA_STR-PRES_ADD sy-vline
WA_PMY_EA_FORM_DATA_STR-W10 sy-vline
WA_PMY_EA_FORM_DATA_STR-W11 sy-vline
WA_PMY_EA_FORM_DATA_STR-DT1 sy-vline
WA_PMY_EA_FORM_DATA_STR-DT2 sy-vline
WA_PMY_EA_FORM_DATA_STR-LEAVE sy-vline
WA_PMY_EA_FORM_DATA_STR-W12 sy-vline
WA_PMY_EA_FORM_DATA_STR-W13 sy-vline
WA_PMY_EA_FORM_DATA_STR-EC_B1 sy-vline
WA_PMY_EA_FORM_DATA_STR-EC_BIK sy-vline
WA_PMY_EA_FORM_DATA_STR-EC_LP sy-vline
WA_PMY_EA_FORM_DATA_STR-EC_TAXIN sy-vline
WA_PMY_EA_FORM_DATA_STR-CRD sy-vline
WA_PMY_EA_FORM_DATA_STR-CMO sy-vline
WA_PMY_EA_FORM_DATA_STR-CNM sy-vline
WA_PMY_EA_FORM_DATA_STR-CYR sy-vline
WA_PMY_EA_FORM_DATA_STR-W20 sy-vline
WA_PMY_EA_FORM_DATA_STR-W21 sy-vline
WA_PMY_EA_FORM_DATA_STR-W22 sy-vline
WA_PMY_EA_FORM_DATA_STR-WFR sy-vline
WA_PMY_EA_FORM_DATA_STR-W27 sy-vline
WA_PMY_EA_FORM_DATA_STR-W28 sy-vline
WA_PMY_EA_FORM_DATA_STR-W29 sy-vline
WA_PMY_EA_FORM_DATA_STR-W2A sy-vline
WA_PMY_EA_FORM_DATA_STR-W2B sy-vline
WA_PMY_EA_FORM_DATA_STR-W2C sy-vline
WA_PMY_EA_FORM_DATA_STR-W2D sy-vline
WA_PMY_EA_FORM_DATA_STR-W30 sy-vline
WA_PMY_EA_FORM_DATA_STR-VAL_ADR sy-vline
WA_PMY_EA_FORM_DATA_STR-W40 sy-vline
WA_PMY_EA_FORM_DATA_STR-W50 sy-vline
WA_PMY_EA_FORM_DATA_STR-W60 sy-vline
WA_PMY_EA_FORM_DATA_STR-W70 sy-vline
WA_PMY_EA_FORM_DATA_STR-TAX_EX sy-vline
WA_PMY_EA_FORM_DATA_STR-WTT sy-vline
WA_PMY_EA_FORM_DATA_STR-FND_NAM sy-vline
WA_PMY_EA_FORM_DATA_STR-SER sy-vline
WA_PMY_EA_FORM_DATA_STR-WE0 sy-vline
WA_PMY_EA_FORM_DATA_STR-WD0 sy-vline
WA_PMY_EA_FORM_DATA_STR-WD4 sy-vline
WA_PMY_EA_FORM_DATA_STR-PEN_OTHER sy-vline
WA_PMY_EA_FORM_DATA_STR-FND_NAM1 sy-vline
WA_PMY_EA_FORM_DATA_STR-SER1 sy-vline
WA_PMY_EA_FORM_DATA_STR-WZ1 sy-vline
WA_PMY_EA_FORM_DATA_STR-TEMP_DATE sy-vline
WA_PMY_EA_FORM_DATA_STR-NO_TAX_EXE sy-vline
WA_PMY_EA_FORM_DATA_STR-SHOW_SECF sy-vline
WA_PMY_EA_FORM_DATA_STR-SECF_TAB sy-vline
WA_PMY_EA_FORM_DATA_STR-IT_ECTX1 sy-vline
WA_PMY_EA_FORM_DATA_STR-EC_WG_TYP sy-vline
WA_PMY_EA_FORM_DATA_STR-EC_WG_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-CHKFORM sy-vline
WA_PMY_EA_FORM_DATA_STR-SHOW_EC_DATA sy-vline
WA_PMY_EA_FORM_DATA_STR-EC_DATA sy-vline
WA_PMY_EA_FORM_DATA_STR-PERNR sy-vline
WA_PMY_EA_FORM_DATA_STR-EC_BEGDA sy-vline
WA_PMY_EA_FORM_DATA_STR-EC_ENDDA sy-vline
WA_PMY_EA_FORM_DATA_STR-SAL_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-GRA_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-ALL_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-TOT_B1_B2 sy-vline
WA_PMY_EA_FORM_DATA_STR-BIK_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-ACC_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-LEAVE_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-TAX_INC_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-GRA_BEGDA sy-vline
WA_PMY_EA_FORM_DATA_STR-GRA_ENDDA sy-vline
WA_PMY_EA_FORM_DATA_STR-BIK_TEXT sy-vline
WA_PMY_EA_FORM_DATA_STR-ADD_TEXT sy-vline
WA_PMY_EA_FORM_DATA_STR-ACC_BEGDA sy-vline
WA_PMY_EA_FORM_DATA_STR-ACC_ENDDA sy-vline
WA_PMY_EA_FORM_DATA_STR-RENT_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-TYP_INCOMEA sy-vline
WA_PMY_EA_FORM_DATA_STR-TYP_INCOMEB sy-vline
WA_PMY_EA_FORM_DATA_STR-CURR sy-vline
WA_PMY_EA_FORM_DATA_STR-DSG sy-vline
WA_PMY_EA_FORM_DATA_STR-OFICER sy-vline
WA_PMY_EA_FORM_DATA_STR-ADDRESS sy-vline
WA_PMY_EA_FORM_DATA_STR-SOCSO_NUM sy-vline
WA_PMY_EA_FORM_DATA_STR-CHILD_NUM sy-vline
WA_PMY_EA_FORM_DATA_STR-SHARE_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-GRA_BEG sy-vline
WA_PMY_EA_FORM_DATA_STR-GRA_END sy-vline
WA_PMY_EA_FORM_DATA_STR-GRA_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-TYP_INCOMEA sy-vline
WA_PMY_EA_FORM_DATA_STR-TYP_INCOMEB sy-vline
WA_PMY_EA_FORM_DATA_STR-ARREARS_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-WB1 sy-vline
WA_PMY_EA_FORM_DATA_STR-WZ2 sy-vline
WA_PMY_EA_FORM_DATA_STR-RELIEF_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-WZ3 sy-vline
WA_PMY_EA_FORM_DATA_STR-CHILD_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-SOCSO_AMT sy-vline
WA_PMY_EA_FORM_DATA_STR-TEL_NUM sy-vline
WA_PMY_EA_FORM_DATA_STR-BIK_TEXT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.