ABAP Select data from SAP table PIN_SS_ITPDT 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_SS_ITPDT 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_SS_ITPDT. 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_SS_ITPDT 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_SS_ITPDT TYPE STANDARD TABLE OF PIN_SS_ITPDT, WA_PIN_SS_ITPDT TYPE PIN_SS_ITPDT, 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_SS_ITPDT> TYPE PIN_SS_ITPDT. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_PIN_SS_ITPDT. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM PIN_SS_ITPDT INTO TABLE IT_PIN_SS_ITPDT. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM PIN_SS_ITPDT * INTO TABLE @DATA(IT_PIN_SS_ITPDT2). *--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_SS_ITPDT INDEX 1 INTO DATA(WA_PIN_SS_ITPDT2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_PIN_SS_ITPDT ASSIGNING <PIN_SS_ITPDT>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<PIN_SS_ITPDT>-HEADR = 1.
<PIN_SS_ITPDT>-PERNR = 1.
<PIN_SS_ITPDT>-ENAME = 1.
<PIN_SS_ITPDT>-PANNO = 1.
<PIN_SS_ITPDT>-TANNO = 1.
ENDLOOP. LOOP AT IT_PIN_SS_ITPDT INTO WA_PIN_SS_ITPDT. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_PIN_SS_ITPDT-ORT01, sy-vline,
WA_PIN_SS_ITPDT-GETXT, sy-vline,
WA_PIN_SS_ITPDT-EDOJ, sy-vline,
WA_PIN_SS_ITPDT-HDYR, sy-vline,
WA_PIN_SS_ITPDT-ORGN, sy-vline,
WA_PIN_SS_ITPDT-CDAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PIN_SS_ITPDT 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_SS_ITPDT 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_SS_ITPDT INTO WA_PIN_SS_ITPDT. *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_SS_ITPDT_STR,
HEADR TYPE STRING,
PERNR TYPE STRING,
ENAME TYPE STRING,
PANNO TYPE STRING,
TANNO TYPE STRING,
ORT01 TYPE STRING,
GETXT TYPE STRING,
EDOJ TYPE STRING,
HDYR TYPE STRING,
ORGN TYPE STRING,
CDAT TYPE STRING,
INTSD TYPE STRING,
HINTD TYPE STRING,
NPTDT TYPE STRING,
TXTDT TYPE STRING,
HINCD TYPE STRING,
NPCMO TYPE STRING,
TXCMO TYPE STRING,
HINRD TYPE STRING,
NPRFY TYPE STRING,
TXRFY TYPE STRING,
GRSDT TYPE STRING,
GRSCO TYPE STRING,
PERKS TYPE STRING,
MEDIC TYPE STRING,
MEDRT TYPE STRING,
TOTTD TYPE STRING,
TOTCD TYPE STRING,
TOTPD TYPE STRING,
TOTTY TYPE STRING,
TOTPE TYPE STRING,
NPSER TYPE STRING,
GRTOT TYPE STRING,
EXEM TYPE STRING,
EUS10 TYPE STRING,
EUS172 TYPE STRING,
HRACL TYPE STRING,
HRABA TYPE STRING,
HRAEL TYPE STRING,
HRARE TYPE STRING,
CLABA TYPE STRING,
CLARE TYPE STRING,
PERC TYPE STRING,
MINTO TYPE STRING,
TOTCL TYPE STRING,
BALAN TYPE STRING,
DEDUC TYPE STRING,
AG4AB TYPE STRING,
INCHS TYPE STRING,
INFOS TYPE STRING,
IFHP TYPE STRING,
IFOS TYPE STRING,
TXIFOS_TOT TYPE STRING,
TXIFOS_TXT TYPE STRING,
IFHPAMT TYPE STRING,
CURKY TYPE STRING,
TOTOS TYPE STRING,
IFOSTDS TYPE STRING,
APTAX TYPE STRING,
HPTDS TYPE STRING,
IFHRENT TYPE STRING,
IFHINTR TYPE STRING,
IFHPREP TYPE STRING,
IFHPOTH TYPE STRING,
GRTIN TYPE STRING,
CHPVI TYPE STRING,
SE80C TYPE STRING,
80CCC TYPE STRING,
80CCD TYPE STRING,
SE80D TYPE STRING,
OTHER TYPE STRING,
SUMVI TYPE STRING,
T80CI TYPE STRING,
T80CL TYPE STRING,
T80CD TYPE STRING,
TOTDC TYPE STRING,
TOTDA TYPE STRING,
80TTA TYPE STRING,
80CCG TYPE STRING,
80GGA TYPE STRING,
S80EE TYPE STRING,
TOTIN TYPE STRING,
FRTIN TYPE STRING,
NORIN TYPE STRING,
TXSLB TYPE STRING,
TAXTI TYPE STRING,
FRTXI TYPE STRING,
TCESS TYPE STRING,
ECESS TYPE STRING,
SHCSS TYPE STRING,
ANTAX TYPE STRING,
SEC89 TYPE STRING,
ATAXR TYPE STRING,
TADTD TYPE STRING,
PRETX TYPE STRING,
HOPRY TYPE STRING,
TXOIN TYPE STRING,
TXOPE TYPE STRING,
TOTTD TYPE STRING,
NETAX TYPE STRING,
TAPYM TYPE STRING,
CURKY TYPE STRING,
MNTDT TYPE STRING,
DATAC TYPE STRING,
PERIOD1 TYPE STRING,
PERIOD2 TYPE STRING,
PERIOD3 TYPE STRING,
PERIOD4 TYPE STRING,
PERIOD5 TYPE STRING,
PERIOD6 TYPE STRING,
PERIOD7 TYPE STRING,
PERIOD8 TYPE STRING,
PERIOD9 TYPE STRING,
PERIOD10 TYPE STRING,
PERIOD11 TYPE STRING,
PERIOD12 TYPE STRING,
PEF TYPE STRING,
SHL TYPE STRING,
CDD TYPE STRING,
TOTTS TYPE STRING,
TOTTI TYPE STRING,
TOTTD TYPE STRING,
TOTOD TYPE STRING,
TOTNP TYPE STRING,
APRIL TYPE STRING,
MAY TYPE STRING,
JUNE TYPE STRING,
JULY TYPE STRING,
AUG TYPE STRING,
SEP TYPE STRING,
OCT TYPE STRING,
NOV TYPE STRING,
DEC TYPE STRING,
JAN TYPE STRING,
FEB TYPE STRING,
MAR TYPE STRING,
TXCRT TYPE STRING,
SRCHG TYPE STRING,END OF T_EKKO_STR. DATA: WA_PIN_SS_ITPDT_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_SS_ITPDT_STR-HEADR sy-vline
WA_PIN_SS_ITPDT_STR-PERNR sy-vline
WA_PIN_SS_ITPDT_STR-ENAME sy-vline
WA_PIN_SS_ITPDT_STR-PANNO sy-vline
WA_PIN_SS_ITPDT_STR-TANNO sy-vline
WA_PIN_SS_ITPDT_STR-ORT01 sy-vline
WA_PIN_SS_ITPDT_STR-GETXT sy-vline
WA_PIN_SS_ITPDT_STR-EDOJ sy-vline
WA_PIN_SS_ITPDT_STR-HDYR sy-vline
WA_PIN_SS_ITPDT_STR-ORGN sy-vline
WA_PIN_SS_ITPDT_STR-CDAT sy-vline
WA_PIN_SS_ITPDT_STR-INTSD sy-vline
WA_PIN_SS_ITPDT_STR-HINTD sy-vline
WA_PIN_SS_ITPDT_STR-NPTDT sy-vline
WA_PIN_SS_ITPDT_STR-TXTDT sy-vline
WA_PIN_SS_ITPDT_STR-HINCD sy-vline
WA_PIN_SS_ITPDT_STR-NPCMO sy-vline
WA_PIN_SS_ITPDT_STR-TXCMO sy-vline
WA_PIN_SS_ITPDT_STR-HINRD sy-vline
WA_PIN_SS_ITPDT_STR-NPRFY sy-vline
WA_PIN_SS_ITPDT_STR-TXRFY sy-vline
WA_PIN_SS_ITPDT_STR-GRSDT sy-vline
WA_PIN_SS_ITPDT_STR-GRSCO sy-vline
WA_PIN_SS_ITPDT_STR-PERKS sy-vline
WA_PIN_SS_ITPDT_STR-MEDIC sy-vline
WA_PIN_SS_ITPDT_STR-MEDRT sy-vline
WA_PIN_SS_ITPDT_STR-TOTTD sy-vline
WA_PIN_SS_ITPDT_STR-TOTCD sy-vline
WA_PIN_SS_ITPDT_STR-TOTPD sy-vline
WA_PIN_SS_ITPDT_STR-TOTTY sy-vline
WA_PIN_SS_ITPDT_STR-TOTPE sy-vline
WA_PIN_SS_ITPDT_STR-NPSER sy-vline
WA_PIN_SS_ITPDT_STR-GRTOT sy-vline
WA_PIN_SS_ITPDT_STR-EXEM sy-vline
WA_PIN_SS_ITPDT_STR-EUS10 sy-vline
WA_PIN_SS_ITPDT_STR-EUS172 sy-vline
WA_PIN_SS_ITPDT_STR-HRACL sy-vline
WA_PIN_SS_ITPDT_STR-HRABA sy-vline
WA_PIN_SS_ITPDT_STR-HRAEL sy-vline
WA_PIN_SS_ITPDT_STR-HRARE sy-vline
WA_PIN_SS_ITPDT_STR-CLABA sy-vline
WA_PIN_SS_ITPDT_STR-CLARE sy-vline
WA_PIN_SS_ITPDT_STR-PERC sy-vline
WA_PIN_SS_ITPDT_STR-MINTO sy-vline
WA_PIN_SS_ITPDT_STR-TOTCL sy-vline
WA_PIN_SS_ITPDT_STR-BALAN sy-vline
WA_PIN_SS_ITPDT_STR-DEDUC sy-vline
WA_PIN_SS_ITPDT_STR-AG4AB sy-vline
WA_PIN_SS_ITPDT_STR-INCHS sy-vline
WA_PIN_SS_ITPDT_STR-INFOS sy-vline
WA_PIN_SS_ITPDT_STR-IFHP sy-vline
WA_PIN_SS_ITPDT_STR-IFOS sy-vline
WA_PIN_SS_ITPDT_STR-TXIFOS_TOT sy-vline
WA_PIN_SS_ITPDT_STR-TXIFOS_TXT sy-vline
WA_PIN_SS_ITPDT_STR-IFHPAMT sy-vline
WA_PIN_SS_ITPDT_STR-CURKY sy-vline
WA_PIN_SS_ITPDT_STR-TOTOS sy-vline
WA_PIN_SS_ITPDT_STR-IFOSTDS sy-vline
WA_PIN_SS_ITPDT_STR-APTAX sy-vline
WA_PIN_SS_ITPDT_STR-HPTDS sy-vline
WA_PIN_SS_ITPDT_STR-IFHRENT sy-vline
WA_PIN_SS_ITPDT_STR-IFHINTR sy-vline
WA_PIN_SS_ITPDT_STR-IFHPREP sy-vline
WA_PIN_SS_ITPDT_STR-IFHPOTH sy-vline
WA_PIN_SS_ITPDT_STR-GRTIN sy-vline
WA_PIN_SS_ITPDT_STR-CHPVI sy-vline
WA_PIN_SS_ITPDT_STR-SE80C sy-vline
WA_PIN_SS_ITPDT_STR-80CCC sy-vline
WA_PIN_SS_ITPDT_STR-80CCD sy-vline
WA_PIN_SS_ITPDT_STR-SE80D sy-vline
WA_PIN_SS_ITPDT_STR-OTHER sy-vline
WA_PIN_SS_ITPDT_STR-SUMVI sy-vline
WA_PIN_SS_ITPDT_STR-T80CI sy-vline
WA_PIN_SS_ITPDT_STR-T80CL sy-vline
WA_PIN_SS_ITPDT_STR-T80CD sy-vline
WA_PIN_SS_ITPDT_STR-TOTDC sy-vline
WA_PIN_SS_ITPDT_STR-TOTDA sy-vline
WA_PIN_SS_ITPDT_STR-80TTA sy-vline
WA_PIN_SS_ITPDT_STR-80CCG sy-vline
WA_PIN_SS_ITPDT_STR-80GGA sy-vline
WA_PIN_SS_ITPDT_STR-S80EE sy-vline
WA_PIN_SS_ITPDT_STR-TOTIN sy-vline
WA_PIN_SS_ITPDT_STR-FRTIN sy-vline
WA_PIN_SS_ITPDT_STR-NORIN sy-vline
WA_PIN_SS_ITPDT_STR-TXSLB sy-vline
WA_PIN_SS_ITPDT_STR-TAXTI sy-vline
WA_PIN_SS_ITPDT_STR-FRTXI sy-vline
WA_PIN_SS_ITPDT_STR-TCESS sy-vline
WA_PIN_SS_ITPDT_STR-ECESS sy-vline
WA_PIN_SS_ITPDT_STR-SHCSS sy-vline
WA_PIN_SS_ITPDT_STR-ANTAX sy-vline
WA_PIN_SS_ITPDT_STR-SEC89 sy-vline
WA_PIN_SS_ITPDT_STR-ATAXR sy-vline
WA_PIN_SS_ITPDT_STR-TADTD sy-vline
WA_PIN_SS_ITPDT_STR-PRETX sy-vline
WA_PIN_SS_ITPDT_STR-HOPRY sy-vline
WA_PIN_SS_ITPDT_STR-TXOIN sy-vline
WA_PIN_SS_ITPDT_STR-TXOPE sy-vline
WA_PIN_SS_ITPDT_STR-TOTTD sy-vline
WA_PIN_SS_ITPDT_STR-NETAX sy-vline
WA_PIN_SS_ITPDT_STR-TAPYM sy-vline
WA_PIN_SS_ITPDT_STR-CURKY sy-vline
WA_PIN_SS_ITPDT_STR-MNTDT sy-vline
WA_PIN_SS_ITPDT_STR-DATAC sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD1 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD2 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD3 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD4 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD5 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD6 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD7 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD8 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD9 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD10 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD11 sy-vline
WA_PIN_SS_ITPDT_STR-PERIOD12 sy-vline
WA_PIN_SS_ITPDT_STR-PEF sy-vline
WA_PIN_SS_ITPDT_STR-SHL sy-vline
WA_PIN_SS_ITPDT_STR-CDD sy-vline
WA_PIN_SS_ITPDT_STR-TOTTS sy-vline
WA_PIN_SS_ITPDT_STR-TOTTI sy-vline
WA_PIN_SS_ITPDT_STR-TOTTD sy-vline
WA_PIN_SS_ITPDT_STR-TOTOD sy-vline
WA_PIN_SS_ITPDT_STR-TOTNP sy-vline
WA_PIN_SS_ITPDT_STR-APRIL sy-vline
WA_PIN_SS_ITPDT_STR-MAY sy-vline
WA_PIN_SS_ITPDT_STR-JUNE sy-vline
WA_PIN_SS_ITPDT_STR-JULY sy-vline
WA_PIN_SS_ITPDT_STR-AUG sy-vline
WA_PIN_SS_ITPDT_STR-SEP sy-vline
WA_PIN_SS_ITPDT_STR-OCT sy-vline
WA_PIN_SS_ITPDT_STR-NOV sy-vline
WA_PIN_SS_ITPDT_STR-DEC sy-vline
WA_PIN_SS_ITPDT_STR-JAN sy-vline
WA_PIN_SS_ITPDT_STR-FEB sy-vline
WA_PIN_SS_ITPDT_STR-MAR sy-vline
WA_PIN_SS_ITPDT_STR-TXCRT sy-vline
WA_PIN_SS_ITPDT_STR-SRCHG sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.