ABAP Select data from SAP table PSG_FORM_IR8A 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 PSG_FORM_IR8A 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 PSG_FORM_IR8A. 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 PSG_FORM_IR8A 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_PSG_FORM_IR8A TYPE STANDARD TABLE OF PSG_FORM_IR8A,
      WA_PSG_FORM_IR8A TYPE PSG_FORM_IR8A,
      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: <PSG_FORM_IR8A> TYPE PSG_FORM_IR8A.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PSG_FORM_IR8A
*  INTO TABLE @DATA(IT_PSG_FORM_IR8A2).
*--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_PSG_FORM_IR8A INDEX 1 INTO DATA(WA_PSG_FORM_IR8A2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PSG_FORM_IR8A ASSIGNING <PSG_FORM_IR8A>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PSG_FORM_IR8A>-YEAR1 = 1.
<PSG_FORM_IR8A>-FORMNAME = 1.
<PSG_FORM_IR8A>-APPENDIX = 1.
<PSG_FORM_IR8A>-PAGENO = 1.
<PSG_FORM_IR8A>-PERSONS_SELECTED = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PSG_FORM_IR8A-PERSONS_PRINTED, sy-vline,
WA_PSG_FORM_IR8A-PRINTED_PAGES, sy-vline,
WA_PSG_FORM_IR8A-PERNR, sy-vline,
WA_PSG_FORM_IR8A-EPTAX, sy-vline,
WA_PSG_FORM_IR8A-REFNB, sy-vline,
WA_PSG_FORM_IR8A-ICTYP, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PSG_FORM_IR8A 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_PSG_FORM_IR8A 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_PSG_FORM_IR8A INTO WA_PSG_FORM_IR8A. *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 ISOLA, internal->external for field LANGUAGE CALL FUNCTION 'CONVERSION_EXIT_ISOLA_OUTPUT' EXPORTING input = WA_PSG_FORM_IR8A-LANGUAGE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PSG_FORM_IR8A-LANGUAGE.
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_PSG_FORM_IR8A_STR,
YEAR1 TYPE STRING,
FORMNAME TYPE STRING,
APPENDIX TYPE STRING,
PAGENO TYPE STRING,
PERSONS_SELECTED TYPE STRING,
PERSONS_PRINTED TYPE STRING,
PRINTED_PAGES TYPE STRING,
PERNR TYPE STRING,
EPTAX TYPE STRING,
REFNB TYPE STRING,
ICTYP TYPE STRING,
ICNU3 TYPE STRING,
TEXT_3A TYPE STRING,
TEXT_3B TYPE STRING,
TEXT_4A TYPE STRING,
TEXT_4B TYPE STRING,
TEXT_4C TYPE STRING,
NAME TYPE STRING,
BIRTH_DATE TYPE STRING,
SEX TYPE STRING,
DESIGNATION TYPE STRING,
DESIGNATION1 TYPE STRING,
DESIGNATION2 TYPE STRING,
ADRES TYPE STRING,
ADRES1 TYPE STRING,
ADRES2 TYPE STRING,
ADRES3 TYPE STRING,
ADRES4 TYPE STRING,
MARITAL_STATUS TYPE STRING,
COMM_DT TYPE STRING,
CESS_DT TYPE STRING,
GROSS_BETRAG TYPE STRING,
CY_BONUS_FROM TYPE STRING,
CY_BONUS_TO TYPE STRING,
CY_BONUS_DECL TYPE STRING,
CY_BONUS_CONTRACTUAL TYPE STRING,
CY_BONUS_BETRAG TYPE STRING,
PY_BONUS_FROM TYPE STRING,
PY_BONUS_TO TYPE STRING,
PY_BONUS_DECL TYPE STRING,
PY_BONUS_CONTRACTUAL TYPE STRING,
PY_BONUS_BETRAG TYPE STRING,
DIRECTOR_FEE_FROM TYPE STRING,
DIRECTOR_FEE_TO TYPE STRING,
DIRECTOR_FEE_APPROV TYPE STRING,
DIRECTOR_FEE_BETRAG TYPE STRING,
COMMISSION_FROM TYPE STRING,
COMMISSION_TO TYPE STRING,
COMMISSION_MONTHLY TYPE STRING,
COMMISSION_ONE_TIME TYPE STRING,
COMMISSION_BETRAG TYPE STRING,
PENSION TYPE STRING,
ALLOW_TRANSPORT TYPE STRING,
ALLOW_ENTERTAINMENT TYPE STRING,
ALLOW_OTHERS TYPE STRING,
ALLOW_TOTAL TYPE STRING,
GRATUITY_BETRAG TYPE STRING,
BENEFITS_BETRAG_92 TYPE STRING,
AMT_TOACC TYPE STRING,
AMT_FMACC TYPE STRING,
CONTR_OUTSIDE_SGP TYPE STRING,
EXCESS_VOL_CONTR TYPE STRING,
EXCESS_CONTR TYPE STRING,
SHARE_GAINS TYPE STRING,
BENEFITS_IN_KIND TYPE STRING,
TOTAL_INCOME TYPE STRING,
INTAX TYPE STRING,
COMP_CPF_MARKER TYPE STRING,
APPROV_MARKER TYPE STRING,
COMP_FUND_NAME TYPE STRING,
COMP_CPF_BETRAG TYPE STRING,
OVERSEAS_VOL_CPF TYPE STRING,
OVERSEAS_VOL_OTHERS TYPE STRING,
MBMF TYPE STRING,
CHEST TYPE STRING,
SINDA TYPE STRING,
CDAC TYPE STRING,
ECF TYPE STRING,
OTHER TYPE STRING,
DONATIONS_BETRAG TYPE STRING,
EMPR_NAME TYPE STRING,
EMPR_ADRES_ORT TYPE STRING,
AUTH_PERSON TYPE STRING,
EMP_DESIGN TYPE STRING,
EMP_TELENR TYPE STRING,
EMP_IDATA TYPE STRING,
GRATUITY_TXT TYPE STRING,
INSURANCE TYPE STRING,
REMARK_IR8A TYPE STRING,
REMARK_APP8B TYPE STRING,
SEQNO TYPE STRING,
STAFL TYPE STRING,
LOTNO TYPE STRING,
USERNAME TYPE STRING,
RUNDATE TYPE STRING,
RUNTIME TYPE STRING,
YMF TYPE STRING,
DONATIONS_MB TYPE STRING,
REMARK_FUND TYPE STRING,
REMARK_CPF1 TYPE STRING,
REMARK_ARRE TYPE STRING,
GRAT_BETRAG TYPE STRING,
LOSS_OFF_BETRAG TYPE STRING,
NOTICE_PAY_BETRAG TYPE STRING,
EX_GRAT_BETRAG TYPE STRING,
OTHERS_BETRAG TYPE STRING,
GRAT_PAY_RES_TEXT TYPE STRING,
GAIN_REL_DATE TYPE STRING,
OPEN_MKT_PRICE TYPE STRING,
STK_OFF_PLAN TYPE STRING,
GRAND_TOTAL_03 TYPE STRING,
GRAND_TOTAL_GE03 TYPE STRING,
SHARE_GAINS_03 TYPE STRING,
SHARE_GAINS_GE03 TYPE STRING,
TAX_INDICATOR TYPE STRING,
EXMPT_INDICATOR TYPE STRING,
IRAS_APPRVL_DATE TYPE STRING,
EXMPT_INCOME TYPE STRING,
PARTIAL_TAX_ER TYPE STRING,
FIXED_TAX_EE TYPE STRING,
NO_OF_PER TYPE STRING,
LEN_OF_SERVICE TYPE STRING,
SL_NO TYPE STRING,
LONGNAME TYPE STRING,
YEAR2 TYPE STRING,
AMMENDED TYPE STRING,
PAYROLL_DATE TYPE STRING,
BENEFITS_FUND_NAME TYPE STRING,
BENEFITS_BETRAG TYPE STRING,
GAIN_SHR TYPE STRING,
DEDUCTION_LIP TYPE STRING,
APPRL_DTE TYPE STRING,
FLAG_MAIN TYPE STRING,
PERNR_TEM TYPE STRING,
REMISSION TYPE STRING,
CONCESSION_NAME TYPE STRING,
CONCESSION_AMT TYPE STRING,
MANDATORY_FLAG TYPE STRING,
CLAIM_FLAG TYPE STRING,
GLOBAL_ID TYPE STRING,
AIS_ON TYPE STRING,
OVERSEAS_FLAG TYPE STRING,
APDX_ADRES TYPE STRING,
APDX_ADR_PERIOD TYPE STRING,
APDX_NO_OF_DAYS TYPE STRING,
APDX_BETRAGA0 TYPE STRING,
APDX_BETRAGA1 TYPE STRING,
APDX_BETRAGA2 TYPE STRING,
APDX_BETNUMA2 TYPE STRING,
APDX_BETRAGS1 TYPE STRING,
APDX_BETRAGA3 TYPE STRING,
APDX_BETNUMA3 TYPE STRING,
APDX_BETRAGA4 TYPE STRING,
APDX_BETNUMA4 TYPE STRING,
APDX_BETRAGS2 TYPE STRING,
APDX_BETRAGA5 TYPE STRING,
APDX_BETNUMA5 TYPE STRING,
APDX_BETRAGA6 TYPE STRING,
APDX_BETNUMA6 TYPE STRING,
APDX_BETRAGA7 TYPE STRING,
APDX_BETNUMA7 TYPE STRING,
APDX_BETRAGS3 TYPE STRING,
APDX_BETRAGA8 TYPE STRING,
APDX_BETNUMA8 TYPE STRING,
APDX_BETRAGA9 TYPE STRING,
APDX_BETNUMA9 TYPE STRING,
APDX_BETRAGB0 TYPE STRING,
APDX_BETNUMB0 TYPE STRING,
APDX_BETRAGB1 TYPE STRING,
APDX_BETNUMB1 TYPE STRING,
APDX_BETRAGS4 TYPE STRING,
APDX_BETRAGB2 TYPE STRING,
APDX_BETNUMB2 TYPE STRING,
APDX_BETRAGB3 TYPE STRING,
APDX_BETNUMB3 TYPE STRING,
APDX_BETRAGB4 TYPE STRING,
APDX_BETNUMB4 TYPE STRING,
APDX_BETRAGB5 TYPE STRING,
APDX_BETNUMB5 TYPE STRING,
APDX_BETRAGBA TYPE STRING,
APDX_BETNUMBA TYPE STRING,
APDX_BETRAGS5 TYPE STRING,
APDX_BETRAGB6 TYPE STRING,
APDX_BETNUMB6 TYPE STRING,
APDX_BETRAGB7 TYPE STRING,
APDX_BETNUMB7 TYPE STRING,
APDX_BETRAGS6 TYPE STRING,
APDX_BETRAGB8 TYPE STRING,
APDX_BETNUMB8 TYPE STRING,
APDX_BETRAGS7 TYPE STRING,
APDX_BETRAGB9 TYPE STRING,
APDX_BETRAGC0 TYPE STRING,
APDX_BETRAGC1 TYPE STRING,
APDX_BETRAGCA TYPE STRING,
APDX_BETRAGCB TYPE STRING,
APDX_BETRAGCC TYPE STRING,
APDX_BETRAGC2 TYPE STRING,
APDX_BETRAGS8 TYPE STRING,
APDX_BETRAGC3 TYPE STRING,
APDX_BETRAGS9 TYPE STRING,
APDX_BETRAGC4 TYPE STRING,
APDX_BETRAGS10 TYPE STRING,
APDX_BETRAGC5 TYPE STRING,
APDX_BETRAGS11 TYPE STRING,
APDX_BETRAGC6 TYPE STRING,
APDX_BETNUMC6 TYPE STRING,
APDX_BETRAGC7 TYPE STRING,
APDX_BETNUMC7 TYPE STRING,
APDX_BETRAGC8 TYPE STRING,
APDX_OHQ_YES TYPE STRING,
APDX_OHQ_NO TYPE STRING,
APDX_BETNUMC8 TYPE STRING,
APDX_BETRAGS12 TYPE STRING,
APDX_BETRAGC9 TYPE STRING,
APDX_BETRAGD0 TYPE STRING,
APDX_BETRAGD1 TYPE STRING,
APDX_BETRAGD2 TYPE STRING,
APDX_BETRAGD3 TYPE STRING,
APDX_BETRAGD4 TYPE STRING,
APDX_BETRAGD5 TYPE STRING,
APDX_BETRAGD6 TYPE STRING,
APDX_BETRAGD7 TYPE STRING,
APDX_BETRAGD8 TYPE STRING,
APDX_BETRAGD9 TYPE STRING,
APDX_BETRAGST TYPE STRING,
APDX_BETRAGTT TYPE STRING,
LANGUAGE TYPE STRING,
NO_OF_PER_AMT TYPE STRING,
APDX_BETRAGAA TYPE STRING,
APDX_BETNUMAA TYPE STRING,
APDX_BETRAGBB TYPE STRING,
APDX_BETNUMBB TYPE STRING,
ITEM_NAME TYPE STRING,
ITEM_AMT TYPE STRING,
APDX_BETRAGAP TYPE STRING,
APDX_BETRAGCK TYPE STRING,
APDX_BETNUMCK TYPE STRING,
APDX_BETNUMCL TYPE STRING,
APDX_BETRAGCQ TYPE STRING,
APDX_BETNUMCQ TYPE STRING,
APDX_BETNUMCR TYPE STRING,
APDX_BETRAGCO TYPE STRING,
APDX_BETNUMCO TYPE STRING,
APDX_BETNUMCP TYPE STRING,
APDX_BETRAGCM TYPE STRING,
APDX_BETNUMCM TYPE STRING,
APDX_BETNUMCN TYPE STRING,
APDX_BETRAGCS TYPE STRING,
APDX_BETRAGHT TYPE STRING,
APDX_BETRAGC TYPE STRING,
APDX_CHECKCQ TYPE STRING,
APDX_CHECKCO TYPE STRING,
APDX_CHECKCM TYPE STRING,
FLAG_APPDX8A TYPE STRING,
IR8A_8B_SECA_T TYPE STRING,
IR8A_8B_SECB_T TYPE STRING,
IR8A_8B_SECC_T TYPE STRING,
IR8A_8B_SECD_T TYPE STRING,
APPENDIX_8B TYPE STRING,
NATIO TYPE STRING,
TOTAL_FLAG TYPE STRING,
SECA_TOTAL_I TYPE STRING,
SECB_TOTAL_I TYPE STRING,
SECC_TOTAL_I TYPE STRING,
SECD_TOTAL_I TYPE STRING,
SECA_TOTAL_J TYPE STRING,
SECB_TOTAL_J TYPE STRING,
SECC_TOTAL_J TYPE STRING,
SECD_TOTAL_J TYPE STRING,
SECA_TOTAL_K TYPE STRING,
SECB_TOTAL_K TYPE STRING,
SECC_TOTAL_K TYPE STRING,
SECD_TOTAL_K TYPE STRING,
SECA_TOTAL_L TYPE STRING,
SECB_TOTAL_L TYPE STRING,
SECC_TOTAL_L TYPE STRING,
SECD_TOTAL_L TYPE STRING,
GRAND_TOTAL TYPE STRING,
DATE_OF_INCORPRTN TYPE STRING,
FLAG_APPDX8B TYPE STRING,END OF T_EKKO_STR. DATA: WA_PSG_FORM_IR8A_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_PSG_FORM_IR8A_STR-YEAR1 sy-vline
WA_PSG_FORM_IR8A_STR-FORMNAME sy-vline
WA_PSG_FORM_IR8A_STR-APPENDIX sy-vline
WA_PSG_FORM_IR8A_STR-PAGENO sy-vline
WA_PSG_FORM_IR8A_STR-PERSONS_SELECTED sy-vline
WA_PSG_FORM_IR8A_STR-PERSONS_PRINTED sy-vline
WA_PSG_FORM_IR8A_STR-PRINTED_PAGES sy-vline
WA_PSG_FORM_IR8A_STR-PERNR sy-vline
WA_PSG_FORM_IR8A_STR-EPTAX sy-vline
WA_PSG_FORM_IR8A_STR-REFNB sy-vline
WA_PSG_FORM_IR8A_STR-ICTYP sy-vline
WA_PSG_FORM_IR8A_STR-ICNU3 sy-vline
WA_PSG_FORM_IR8A_STR-TEXT_3A sy-vline
WA_PSG_FORM_IR8A_STR-TEXT_3B sy-vline
WA_PSG_FORM_IR8A_STR-TEXT_4A sy-vline
WA_PSG_FORM_IR8A_STR-TEXT_4B sy-vline
WA_PSG_FORM_IR8A_STR-TEXT_4C sy-vline
WA_PSG_FORM_IR8A_STR-NAME sy-vline
WA_PSG_FORM_IR8A_STR-BIRTH_DATE sy-vline
WA_PSG_FORM_IR8A_STR-SEX sy-vline
WA_PSG_FORM_IR8A_STR-DESIGNATION sy-vline
WA_PSG_FORM_IR8A_STR-DESIGNATION1 sy-vline
WA_PSG_FORM_IR8A_STR-DESIGNATION2 sy-vline
WA_PSG_FORM_IR8A_STR-ADRES sy-vline
WA_PSG_FORM_IR8A_STR-ADRES1 sy-vline
WA_PSG_FORM_IR8A_STR-ADRES2 sy-vline
WA_PSG_FORM_IR8A_STR-ADRES3 sy-vline
WA_PSG_FORM_IR8A_STR-ADRES4 sy-vline
WA_PSG_FORM_IR8A_STR-MARITAL_STATUS sy-vline
WA_PSG_FORM_IR8A_STR-COMM_DT sy-vline
WA_PSG_FORM_IR8A_STR-CESS_DT sy-vline
WA_PSG_FORM_IR8A_STR-GROSS_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-CY_BONUS_FROM sy-vline
WA_PSG_FORM_IR8A_STR-CY_BONUS_TO sy-vline
WA_PSG_FORM_IR8A_STR-CY_BONUS_DECL sy-vline
WA_PSG_FORM_IR8A_STR-CY_BONUS_CONTRACTUAL sy-vline
WA_PSG_FORM_IR8A_STR-CY_BONUS_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-PY_BONUS_FROM sy-vline
WA_PSG_FORM_IR8A_STR-PY_BONUS_TO sy-vline
WA_PSG_FORM_IR8A_STR-PY_BONUS_DECL sy-vline
WA_PSG_FORM_IR8A_STR-PY_BONUS_CONTRACTUAL sy-vline
WA_PSG_FORM_IR8A_STR-PY_BONUS_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-DIRECTOR_FEE_FROM sy-vline
WA_PSG_FORM_IR8A_STR-DIRECTOR_FEE_TO sy-vline
WA_PSG_FORM_IR8A_STR-DIRECTOR_FEE_APPROV sy-vline
WA_PSG_FORM_IR8A_STR-DIRECTOR_FEE_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-COMMISSION_FROM sy-vline
WA_PSG_FORM_IR8A_STR-COMMISSION_TO sy-vline
WA_PSG_FORM_IR8A_STR-COMMISSION_MONTHLY sy-vline
WA_PSG_FORM_IR8A_STR-COMMISSION_ONE_TIME sy-vline
WA_PSG_FORM_IR8A_STR-COMMISSION_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-PENSION sy-vline
WA_PSG_FORM_IR8A_STR-ALLOW_TRANSPORT sy-vline
WA_PSG_FORM_IR8A_STR-ALLOW_ENTERTAINMENT sy-vline
WA_PSG_FORM_IR8A_STR-ALLOW_OTHERS sy-vline
WA_PSG_FORM_IR8A_STR-ALLOW_TOTAL sy-vline
WA_PSG_FORM_IR8A_STR-GRATUITY_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-BENEFITS_BETRAG_92 sy-vline
WA_PSG_FORM_IR8A_STR-AMT_TOACC sy-vline
WA_PSG_FORM_IR8A_STR-AMT_FMACC sy-vline
WA_PSG_FORM_IR8A_STR-CONTR_OUTSIDE_SGP sy-vline
WA_PSG_FORM_IR8A_STR-EXCESS_VOL_CONTR sy-vline
WA_PSG_FORM_IR8A_STR-EXCESS_CONTR sy-vline
WA_PSG_FORM_IR8A_STR-SHARE_GAINS sy-vline
WA_PSG_FORM_IR8A_STR-BENEFITS_IN_KIND sy-vline
WA_PSG_FORM_IR8A_STR-TOTAL_INCOME sy-vline
WA_PSG_FORM_IR8A_STR-INTAX sy-vline
WA_PSG_FORM_IR8A_STR-COMP_CPF_MARKER sy-vline
WA_PSG_FORM_IR8A_STR-APPROV_MARKER sy-vline
WA_PSG_FORM_IR8A_STR-COMP_FUND_NAME sy-vline
WA_PSG_FORM_IR8A_STR-COMP_CPF_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-OVERSEAS_VOL_CPF sy-vline
WA_PSG_FORM_IR8A_STR-OVERSEAS_VOL_OTHERS sy-vline
WA_PSG_FORM_IR8A_STR-MBMF sy-vline
WA_PSG_FORM_IR8A_STR-CHEST sy-vline
WA_PSG_FORM_IR8A_STR-SINDA sy-vline
WA_PSG_FORM_IR8A_STR-CDAC sy-vline
WA_PSG_FORM_IR8A_STR-ECF sy-vline
WA_PSG_FORM_IR8A_STR-OTHER sy-vline
WA_PSG_FORM_IR8A_STR-DONATIONS_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-EMPR_NAME sy-vline
WA_PSG_FORM_IR8A_STR-EMPR_ADRES_ORT sy-vline
WA_PSG_FORM_IR8A_STR-AUTH_PERSON sy-vline
WA_PSG_FORM_IR8A_STR-EMP_DESIGN sy-vline
WA_PSG_FORM_IR8A_STR-EMP_TELENR sy-vline
WA_PSG_FORM_IR8A_STR-EMP_IDATA sy-vline
WA_PSG_FORM_IR8A_STR-GRATUITY_TXT sy-vline
WA_PSG_FORM_IR8A_STR-INSURANCE sy-vline
WA_PSG_FORM_IR8A_STR-REMARK_IR8A sy-vline
WA_PSG_FORM_IR8A_STR-REMARK_APP8B sy-vline
WA_PSG_FORM_IR8A_STR-SEQNO sy-vline
WA_PSG_FORM_IR8A_STR-STAFL sy-vline
WA_PSG_FORM_IR8A_STR-LOTNO sy-vline
WA_PSG_FORM_IR8A_STR-USERNAME sy-vline
WA_PSG_FORM_IR8A_STR-RUNDATE sy-vline
WA_PSG_FORM_IR8A_STR-RUNTIME sy-vline
WA_PSG_FORM_IR8A_STR-YMF sy-vline
WA_PSG_FORM_IR8A_STR-DONATIONS_MB sy-vline
WA_PSG_FORM_IR8A_STR-REMARK_FUND sy-vline
WA_PSG_FORM_IR8A_STR-REMARK_CPF1 sy-vline
WA_PSG_FORM_IR8A_STR-REMARK_ARRE sy-vline
WA_PSG_FORM_IR8A_STR-GRAT_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-LOSS_OFF_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-NOTICE_PAY_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-EX_GRAT_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-OTHERS_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-GRAT_PAY_RES_TEXT sy-vline
WA_PSG_FORM_IR8A_STR-GAIN_REL_DATE sy-vline
WA_PSG_FORM_IR8A_STR-OPEN_MKT_PRICE sy-vline
WA_PSG_FORM_IR8A_STR-STK_OFF_PLAN sy-vline
WA_PSG_FORM_IR8A_STR-GRAND_TOTAL_03 sy-vline
WA_PSG_FORM_IR8A_STR-GRAND_TOTAL_GE03 sy-vline
WA_PSG_FORM_IR8A_STR-SHARE_GAINS_03 sy-vline
WA_PSG_FORM_IR8A_STR-SHARE_GAINS_GE03 sy-vline
WA_PSG_FORM_IR8A_STR-TAX_INDICATOR sy-vline
WA_PSG_FORM_IR8A_STR-EXMPT_INDICATOR sy-vline
WA_PSG_FORM_IR8A_STR-IRAS_APPRVL_DATE sy-vline
WA_PSG_FORM_IR8A_STR-EXMPT_INCOME sy-vline
WA_PSG_FORM_IR8A_STR-PARTIAL_TAX_ER sy-vline
WA_PSG_FORM_IR8A_STR-FIXED_TAX_EE sy-vline
WA_PSG_FORM_IR8A_STR-NO_OF_PER sy-vline
WA_PSG_FORM_IR8A_STR-LEN_OF_SERVICE sy-vline
WA_PSG_FORM_IR8A_STR-SL_NO sy-vline
WA_PSG_FORM_IR8A_STR-LONGNAME sy-vline
WA_PSG_FORM_IR8A_STR-YEAR2 sy-vline
WA_PSG_FORM_IR8A_STR-AMMENDED sy-vline
WA_PSG_FORM_IR8A_STR-PAYROLL_DATE sy-vline
WA_PSG_FORM_IR8A_STR-BENEFITS_FUND_NAME sy-vline
WA_PSG_FORM_IR8A_STR-BENEFITS_BETRAG sy-vline
WA_PSG_FORM_IR8A_STR-GAIN_SHR sy-vline
WA_PSG_FORM_IR8A_STR-DEDUCTION_LIP sy-vline
WA_PSG_FORM_IR8A_STR-APPRL_DTE sy-vline
WA_PSG_FORM_IR8A_STR-FLAG_MAIN sy-vline
WA_PSG_FORM_IR8A_STR-PERNR_TEM sy-vline
WA_PSG_FORM_IR8A_STR-REMISSION sy-vline
WA_PSG_FORM_IR8A_STR-CONCESSION_NAME sy-vline
WA_PSG_FORM_IR8A_STR-CONCESSION_AMT sy-vline
WA_PSG_FORM_IR8A_STR-MANDATORY_FLAG sy-vline
WA_PSG_FORM_IR8A_STR-CLAIM_FLAG sy-vline
WA_PSG_FORM_IR8A_STR-GLOBAL_ID sy-vline
WA_PSG_FORM_IR8A_STR-AIS_ON sy-vline
WA_PSG_FORM_IR8A_STR-OVERSEAS_FLAG sy-vline
WA_PSG_FORM_IR8A_STR-APDX_ADRES sy-vline
WA_PSG_FORM_IR8A_STR-APDX_ADR_PERIOD sy-vline
WA_PSG_FORM_IR8A_STR-APDX_NO_OF_DAYS sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGA0 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGA1 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGA2 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMA2 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS1 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGA3 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMA3 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGA4 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMA4 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS2 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGA5 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMA5 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGA6 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMA6 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGA7 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMA7 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS3 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGA8 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMA8 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGA9 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMA9 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGB0 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMB0 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGB1 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMB1 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS4 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGB2 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMB2 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGB3 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMB3 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGB4 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMB4 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGB5 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMB5 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGBA sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMBA sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS5 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGB6 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMB6 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGB7 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMB7 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS6 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGB8 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMB8 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS7 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGB9 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC0 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC1 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGCA sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGCB sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGCC sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC2 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS8 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC3 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS9 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC4 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS10 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC5 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS11 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC6 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMC6 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC7 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMC7 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC8 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_OHQ_YES sy-vline
WA_PSG_FORM_IR8A_STR-APDX_OHQ_NO sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMC8 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGS12 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC9 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGD0 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGD1 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGD2 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGD3 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGD4 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGD5 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGD6 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGD7 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGD8 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGD9 sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGST sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGTT sy-vline
WA_PSG_FORM_IR8A_STR-LANGUAGE sy-vline
WA_PSG_FORM_IR8A_STR-NO_OF_PER_AMT sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGAA sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMAA sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGBB sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMBB sy-vline
WA_PSG_FORM_IR8A_STR-ITEM_NAME sy-vline
WA_PSG_FORM_IR8A_STR-ITEM_AMT sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGAP sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGCK sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMCK sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMCL sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGCQ sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMCQ sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMCR sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGCO sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMCO sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMCP sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGCM sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMCM sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETNUMCN sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGCS sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGHT sy-vline
WA_PSG_FORM_IR8A_STR-APDX_BETRAGC sy-vline
WA_PSG_FORM_IR8A_STR-APDX_CHECKCQ sy-vline
WA_PSG_FORM_IR8A_STR-APDX_CHECKCO sy-vline
WA_PSG_FORM_IR8A_STR-APDX_CHECKCM sy-vline
WA_PSG_FORM_IR8A_STR-FLAG_APPDX8A sy-vline
WA_PSG_FORM_IR8A_STR-IR8A_8B_SECA_T sy-vline
WA_PSG_FORM_IR8A_STR-IR8A_8B_SECB_T sy-vline
WA_PSG_FORM_IR8A_STR-IR8A_8B_SECC_T sy-vline
WA_PSG_FORM_IR8A_STR-IR8A_8B_SECD_T sy-vline
WA_PSG_FORM_IR8A_STR-APPENDIX_8B sy-vline
WA_PSG_FORM_IR8A_STR-NATIO sy-vline
WA_PSG_FORM_IR8A_STR-TOTAL_FLAG sy-vline
WA_PSG_FORM_IR8A_STR-SECA_TOTAL_I sy-vline
WA_PSG_FORM_IR8A_STR-SECB_TOTAL_I sy-vline
WA_PSG_FORM_IR8A_STR-SECC_TOTAL_I sy-vline
WA_PSG_FORM_IR8A_STR-SECD_TOTAL_I sy-vline
WA_PSG_FORM_IR8A_STR-SECA_TOTAL_J sy-vline
WA_PSG_FORM_IR8A_STR-SECB_TOTAL_J sy-vline
WA_PSG_FORM_IR8A_STR-SECC_TOTAL_J sy-vline
WA_PSG_FORM_IR8A_STR-SECD_TOTAL_J sy-vline
WA_PSG_FORM_IR8A_STR-SECA_TOTAL_K sy-vline
WA_PSG_FORM_IR8A_STR-SECB_TOTAL_K sy-vline
WA_PSG_FORM_IR8A_STR-SECC_TOTAL_K sy-vline
WA_PSG_FORM_IR8A_STR-SECD_TOTAL_K sy-vline
WA_PSG_FORM_IR8A_STR-SECA_TOTAL_L sy-vline
WA_PSG_FORM_IR8A_STR-SECB_TOTAL_L sy-vline
WA_PSG_FORM_IR8A_STR-SECC_TOTAL_L sy-vline
WA_PSG_FORM_IR8A_STR-SECD_TOTAL_L sy-vline
WA_PSG_FORM_IR8A_STR-GRAND_TOTAL sy-vline
WA_PSG_FORM_IR8A_STR-DATE_OF_INCORPRTN sy-vline
WA_PSG_FORM_IR8A_STR-FLAG_APPDX8B sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.