ABAP Select data from SAP table PIN_HR_IN_PTX_FORM_STR 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 PIN_HR_IN_PTX_FORM_STR 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 PIN_HR_IN_PTX_FORM_STR. 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 PIN_HR_IN_PTX_FORM_STR 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_PIN_HR_IN_PTX_FORM_STR TYPE STANDARD TABLE OF PIN_HR_IN_PTX_FORM_STR,
      WA_PIN_HR_IN_PTX_FORM_STR TYPE PIN_HR_IN_PTX_FORM_STR,
      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: <PIN_HR_IN_PTX_FORM_STR> TYPE PIN_HR_IN_PTX_FORM_STR.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PIN_HR_IN_PTX_FORM_STR
*  INTO TABLE @DATA(IT_PIN_HR_IN_PTX_FORM_STR2).
*--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_PIN_HR_IN_PTX_FORM_STR INDEX 1 INTO DATA(WA_PIN_HR_IN_PTX_FORM_STR2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PIN_HR_IN_PTX_FORM_STR ASSIGNING <PIN_HR_IN_PTX_FORM_STR>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PIN_HR_IN_PTX_FORM_STR>-HEADER = 1.
<PIN_HR_IN_PTX_FORM_STR>-ER_NAME1 = 1.
<PIN_HR_IN_PTX_FORM_STR>-ER_NAME2 = 1.
<PIN_HR_IN_PTX_FORM_STR>-ADDRESS = 1.
<PIN_HR_IN_PTX_FORM_STR>-REG_CERT_NO = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PIN_HR_IN_PTX_FORM_STR-POBOX, sy-vline,
WA_PIN_HR_IN_PTX_FORM_STR-CITY, sy-vline,
WA_PIN_HR_IN_PTX_FORM_STR-DISTRICT, sy-vline,
WA_PIN_HR_IN_PTX_FORM_STR-PTAX_MONTH, sy-vline,
WA_PIN_HR_IN_PTX_FORM_STR-PTAX_YEAR, sy-vline,
WA_PIN_HR_IN_PTX_FORM_STR-NAME_PTX_CIRCLE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PIN_HR_IN_PTX_FORM_STR 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_PIN_HR_IN_PTX_FORM_STR 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_PIN_HR_IN_PTX_FORM_STR INTO WA_PIN_HR_IN_PTX_FORM_STR. *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_PIN_HR_IN_PTX_FORM_STR_STR,
HEADER TYPE STRING,
ER_NAME1 TYPE STRING,
ER_NAME2 TYPE STRING,
ADDRESS TYPE STRING,
REG_CERT_NO TYPE STRING,
POBOX TYPE STRING,
CITY TYPE STRING,
DISTRICT TYPE STRING,
PTAX_MONTH TYPE STRING,
PTAX_YEAR TYPE STRING,
NAME_PTX_CIRCLE TYPE STRING,
NO_PTX_CIRCLE TYPE STRING,
BANK_NAME TYPE STRING,
TOT_NO_EMP TYPE STRING,
TOT_TAX_AMT TYPE STRING,
TAX_ASS TYPE STRING,
TAX_PAID TYPE STRING,
BALANCE TYPE STRING,
FROM_PERIOD TYPE STRING,
TO_PERIOD TYPE STRING,
BEG_DATE TYPE STRING,
END_DATE TYPE STRING,
SLAB1 TYPE STRING,
RATE_OF_TAX_1 TYPE STRING,
TAX_AMT_PAID_1 TYPE STRING,
NO_EMPS_1 TYPE STRING,
SNO_1 TYPE STRING,
SLAB3 TYPE STRING,
SNO_3 TYPE STRING,
RATE_OF_TAX_3 TYPE STRING,
TAX_AMT_PAID_3 TYPE STRING,
NO_EMPS_3 TYPE STRING,
PTAX_YEAR1 TYPE STRING,
PTAX_TOT TYPE STRING,
MODE_OF_PAYMENT TYPE STRING,
TITLE TYPE STRING,
ZONE_NO TYPE STRING,
DIVISION TYPE STRING,
BEG_PERIOD TYPE STRING,
END_PERIOD TYPE STRING,
TAX_MONTH1 TYPE STRING,
TAX_MONTH2 TYPE STRING,
TAX_MONTH3 TYPE STRING,
INTEREST1 TYPE STRING,
INTEREST2 TYPE STRING,
INTEREST3 TYPE STRING,
INTEREST4 TYPE STRING,
PTAX1 TYPE STRING,
PTAX2 TYPE STRING,
PTAX3 TYPE STRING,
PTAX4 TYPE STRING,
TOTAL_EMP1 TYPE STRING,
TOTAL_EMP2 TYPE STRING,
TOTAL_EMP3 TYPE STRING,
TOTAL_AMT1 TYPE STRING,
TOTAL_AMT2 TYPE STRING,
TOTAL_AMT3 TYPE STRING,
TOTAL_QTR_TAX TYPE STRING,
CHALLAN_MONTH TYPE STRING,
CHALLAN_AMT_TAX TYPE STRING,
CHALLAN_DTE TYPE STRING,
CHALLAN_CHKNO TYPE STRING,
DT_CHALLAN TYPE STRING,
CHALLAN_TOTAL TYPE STRING,
PTAX_SESSION TYPE STRING,
TAX_PAID1 TYPE STRING,
TAX_PAID2 TYPE STRING,
TAX_PAID3 TYPE STRING,
TAX_PAID4 TYPE STRING,
BALANCE_TAX1 TYPE STRING,
BALANCE_TAX2 TYPE STRING,
BALANCE_TAX3 TYPE STRING,
BALANCE_TAX4 TYPE STRING,
CHALLAN_DT_AMT1 TYPE STRING,
CHALLAN_DT_AMT2 TYPE STRING,
CHALLAN_DT_AMT3 TYPE STRING,
CHALLAN_DT_AMT4 TYPE STRING,
DD TYPE STRING,
MM TYPE STRING,
YR TYPE STRING,
TAX_DETAILS TYPE STRING,
CERT_DETAILS TYPE STRING,
RM0 TYPE STRING,
RM1 TYPE STRING,
RM2 TYPE STRING,
RM3 TYPE STRING,
RM4 TYPE STRING,
RM5 TYPE STRING,
RM6 TYPE STRING,
RM7 TYPE STRING,
RM8 TYPE STRING,
RM9 TYPE STRING,
FM1 TYPE STRING,
FM2 TYPE STRING,
TM1 TYPE STRING,
TM2 TYPE STRING,
FY1 TYPE STRING,
FY2 TYPE STRING,
TY1 TYPE STRING,
TY2 TYPE STRING,
ANNEXURE_TABLE TYPE STRING,
MONTH_NAME TYPE STRING,
EMP_ARREAR TYPE STRING,END OF T_EKKO_STR. DATA: WA_PIN_HR_IN_PTX_FORM_STR_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_PIN_HR_IN_PTX_FORM_STR_STR-HEADER sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-ER_NAME1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-ER_NAME2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-ADDRESS sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-REG_CERT_NO sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-POBOX sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CITY sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-DISTRICT sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-PTAX_MONTH sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-PTAX_YEAR sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-NAME_PTX_CIRCLE sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-NO_PTX_CIRCLE sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-BANK_NAME sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TOT_NO_EMP sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TOT_TAX_AMT sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_ASS sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_PAID sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-BALANCE sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-FROM_PERIOD sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TO_PERIOD sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-BEG_DATE sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-END_DATE sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-SLAB1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RATE_OF_TAX_1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_AMT_PAID_1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-NO_EMPS_1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-SNO_1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-SLAB3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-SNO_3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RATE_OF_TAX_3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_AMT_PAID_3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-NO_EMPS_3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-PTAX_YEAR1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-PTAX_TOT sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-MODE_OF_PAYMENT sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TITLE sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-ZONE_NO sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-DIVISION sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-BEG_PERIOD sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-END_PERIOD sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_MONTH1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_MONTH2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_MONTH3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-INTEREST1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-INTEREST2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-INTEREST3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-INTEREST4 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-PTAX1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-PTAX2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-PTAX3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-PTAX4 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TOTAL_EMP1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TOTAL_EMP2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TOTAL_EMP3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TOTAL_AMT1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TOTAL_AMT2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TOTAL_AMT3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TOTAL_QTR_TAX sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CHALLAN_MONTH sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CHALLAN_AMT_TAX sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CHALLAN_DTE sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CHALLAN_CHKNO sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-DT_CHALLAN sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CHALLAN_TOTAL sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-PTAX_SESSION sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_PAID1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_PAID2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_PAID3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_PAID4 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-BALANCE_TAX1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-BALANCE_TAX2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-BALANCE_TAX3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-BALANCE_TAX4 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CHALLAN_DT_AMT1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CHALLAN_DT_AMT2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CHALLAN_DT_AMT3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CHALLAN_DT_AMT4 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-DD sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-MM sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-YR sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TAX_DETAILS sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-CERT_DETAILS sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RM0 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RM1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RM2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RM3 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RM4 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RM5 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RM6 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RM7 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RM8 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-RM9 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-FM1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-FM2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TM1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TM2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-FY1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-FY2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TY1 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-TY2 sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-ANNEXURE_TABLE sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-MONTH_NAME sy-vline
WA_PIN_HR_IN_PTX_FORM_STR_STR-EMP_ARREAR sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.