ABAP Select data from SAP table T5M6P 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 T5M6P 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 T5M6P. 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 T5M6P 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_T5M6P TYPE STANDARD TABLE OF T5M6P, WA_T5M6P TYPE T5M6P, 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: <T5M6P> TYPE T5M6P. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_T5M6P. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM T5M6P INTO TABLE IT_T5M6P. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM T5M6P * INTO TABLE @DATA(IT_T5M6P2). *--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_T5M6P INDEX 1 INTO DATA(WA_T5M6P2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_T5M6P ASSIGNING <T5M6P>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<T5M6P>-MANDT = 1.
<T5M6P>-PROPV = 1.
<T5M6P>-ENDDA = 1.
<T5M6P>-BEGDA = 1.
<T5M6P>-FEORD = 1.
ENDLOOP. LOOP AT IT_T5M6P INTO WA_T5M6P. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_T5M6P-FGPCT, sy-vline,
WA_T5M6P-FTPCT, sy-vline,
WA_T5M6P-FPFRE, sy-vline,
WA_T5M6P-SHORD, sy-vline,
WA_T5M6P-SHPCT, sy-vline,
WA_T5M6P-SHBEU, sy-vline.
ENDLOOP. *Add any further fields from structure WA_T5M6P 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_T5M6P 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_T5M6P INTO WA_T5M6P. *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 GJAHR, internal->external for field UKBRJ CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_T5M6P-UKBRJ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T5M6P-UKBRJ.
WRITE:/ 'New Value:', ld_input.
*Conversion exit GJAHR, internal->external for field URLJJ CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_T5M6P-URLJJ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_T5M6P-URLJJ.
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_T5M6P_STR,
MANDT TYPE STRING,
PROPV TYPE STRING,
ENDDA TYPE STRING,
BEGDA TYPE STRING,
FEORD TYPE STRING,
FGPCT TYPE STRING,
FTPCT TYPE STRING,
FPFRE TYPE STRING,
SHORD TYPE STRING,
SHPCT TYPE STRING,
SHBEU TYPE STRING,
SHBEO TYPE STRING,
SHFRE TYPE STRING,
SHNEG TYPE STRING,
OFKOD TYPE STRING,
FZTAG TYPE STRING,
FETAG TYPE STRING,
F6TAG TYPE STRING,
CALJ0 TYPE STRING,
DELJ0 TYPE STRING,
ABMET TYPE STRING,
CALZU TYPE STRING,
CALEX TYPE STRING,
SHCLR TYPE STRING,
SHTCO TYPE STRING,
FKNUM TYPE STRING,
FKSIC TYPE STRING,
FKFRE TYPE STRING,
CALDAT TYPE STRING,
SHIND TYPE STRING,
SHPOR TYPE STRING,
SHDKK TYPE STRING,
SHCUR TYPE STRING,
SHCSA TYPE STRING,
SHOR2 TYPE STRING,
TPROM TYPE STRING,
FERIE TYPE STRING,
UKBRP TYPE STRING,
UKBRJ TYPE STRING,
CALJ1 TYPE STRING,
CALJ2 TYPE STRING,
DELJ1 TYPE STRING,
DELJ2 TYPE STRING,
UTYPE TYPE STRING,
ASME0 TYPE STRING,
ARWT0 TYPE STRING,
CVM1 TYPE STRING,
CVM2 TYPE STRING,
CVM3 TYPE STRING,
VMTXD TYPE STRING,
TXSH TYPE STRING,
TXRT0 TYPE STRING,
BPA0 TYPE STRING,
FRIK0 TYPE STRING,
VM1 TYPE STRING,
VM2 TYPE STRING,
VM3 TYPE STRING,
CVADA TYPE STRING,
SMTDT TYPE STRING,
VADA0 TYPE STRING,
CXVS0 TYPE STRING,
XVS0 TYPE STRING,
CCARE TYPE STRING,
ASME1 TYPE STRING,
ARWT1 TYPE STRING,
TXRT1 TYPE STRING,
BPA1 TYPE STRING,
FRIK1 TYPE STRING,
VACSU TYPE STRING,
VADA1 TYPE STRING,
VARE1 TYPE STRING,
CXVS1 TYPE STRING,
XVS1 TYPE STRING,
FERK1 TYPE STRING,
ASME2 TYPE STRING,
ARWT2 TYPE STRING,
TXRT2 TYPE STRING,
BPA2 TYPE STRING,
FRIK2 TYPE STRING,
VADA2 TYPE STRING,
VARE2 TYPE STRING,
CXVS2 TYPE STRING,
XVS2 TYPE STRING,
FERK2 TYPE STRING,
IGNJ0 TYPE STRING,
IGNJ1 TYPE STRING,
IGNJ2 TYPE STRING,
SVM1 TYPE STRING,
SVM2 TYPE STRING,
SVM3 TYPE STRING,
STAX0 TYPE STRING,
SVD0 TYPE STRING,
SXVS0 TYPE STRING,
SSD TYPE STRING,
STAX1 TYPE STRING,
SVD1 TYPE STRING,
SVS TYPE STRING,
SXVS1 TYPE STRING,
SVR1 TYPE STRING,
SFK1 TYPE STRING,
STAX2 TYPE STRING,
SVD2 TYPE STRING,
SXVS2 TYPE STRING,
SVR2 TYPE STRING,
SFK2 TYPE STRING,
FWV0N TYPE STRING,
FWV0F TYPE STRING,
FWV0K TYPE STRING,
FWV0C TYPE STRING,
FWV0S TYPE STRING,
FWV0A TYPE STRING,
FWV0B TYPE STRING,
FWV1N TYPE STRING,
FWV1F TYPE STRING,
FWV1K TYPE STRING,
FWV1C TYPE STRING,
FWV1S TYPE STRING,
FWV1A TYPE STRING,
FWV1B TYPE STRING,
FWV2N TYPE STRING,
FWV2F TYPE STRING,
FWV2K TYPE STRING,
FWV2C TYPE STRING,
FWV2S TYPE STRING,
FWV2A TYPE STRING,
FWV2B TYPE STRING,
PAYTY TYPE STRING,
PAYID TYPE STRING,
FTUBT TYPE STRING,
NODIF TYPE STRING,
URLJJ TYPE STRING,
OBJP0 TYPE STRING,
UAR00 TYPE STRING,
UAR01 TYPE STRING,
UAN00 TYPE STRING,END OF T_EKKO_STR. DATA: WA_T5M6P_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_T5M6P_STR-MANDT sy-vline
WA_T5M6P_STR-PROPV sy-vline
WA_T5M6P_STR-ENDDA sy-vline
WA_T5M6P_STR-BEGDA sy-vline
WA_T5M6P_STR-FEORD sy-vline
WA_T5M6P_STR-FGPCT sy-vline
WA_T5M6P_STR-FTPCT sy-vline
WA_T5M6P_STR-FPFRE sy-vline
WA_T5M6P_STR-SHORD sy-vline
WA_T5M6P_STR-SHPCT sy-vline
WA_T5M6P_STR-SHBEU sy-vline
WA_T5M6P_STR-SHBEO sy-vline
WA_T5M6P_STR-SHFRE sy-vline
WA_T5M6P_STR-SHNEG sy-vline
WA_T5M6P_STR-OFKOD sy-vline
WA_T5M6P_STR-FZTAG sy-vline
WA_T5M6P_STR-FETAG sy-vline
WA_T5M6P_STR-F6TAG sy-vline
WA_T5M6P_STR-CALJ0 sy-vline
WA_T5M6P_STR-DELJ0 sy-vline
WA_T5M6P_STR-ABMET sy-vline
WA_T5M6P_STR-CALZU sy-vline
WA_T5M6P_STR-CALEX sy-vline
WA_T5M6P_STR-SHCLR sy-vline
WA_T5M6P_STR-SHTCO sy-vline
WA_T5M6P_STR-FKNUM sy-vline
WA_T5M6P_STR-FKSIC sy-vline
WA_T5M6P_STR-FKFRE sy-vline
WA_T5M6P_STR-CALDAT sy-vline
WA_T5M6P_STR-SHIND sy-vline
WA_T5M6P_STR-SHPOR sy-vline
WA_T5M6P_STR-SHDKK sy-vline
WA_T5M6P_STR-SHCUR sy-vline
WA_T5M6P_STR-SHCSA sy-vline
WA_T5M6P_STR-SHOR2 sy-vline
WA_T5M6P_STR-TPROM sy-vline
WA_T5M6P_STR-FERIE sy-vline
WA_T5M6P_STR-UKBRP sy-vline
WA_T5M6P_STR-UKBRJ sy-vline
WA_T5M6P_STR-CALJ1 sy-vline
WA_T5M6P_STR-CALJ2 sy-vline
WA_T5M6P_STR-DELJ1 sy-vline
WA_T5M6P_STR-DELJ2 sy-vline
WA_T5M6P_STR-UTYPE sy-vline
WA_T5M6P_STR-ASME0 sy-vline
WA_T5M6P_STR-ARWT0 sy-vline
WA_T5M6P_STR-CVM1 sy-vline
WA_T5M6P_STR-CVM2 sy-vline
WA_T5M6P_STR-CVM3 sy-vline
WA_T5M6P_STR-VMTXD sy-vline
WA_T5M6P_STR-TXSH sy-vline
WA_T5M6P_STR-TXRT0 sy-vline
WA_T5M6P_STR-BPA0 sy-vline
WA_T5M6P_STR-FRIK0 sy-vline
WA_T5M6P_STR-VM1 sy-vline
WA_T5M6P_STR-VM2 sy-vline
WA_T5M6P_STR-VM3 sy-vline
WA_T5M6P_STR-CVADA sy-vline
WA_T5M6P_STR-SMTDT sy-vline
WA_T5M6P_STR-VADA0 sy-vline
WA_T5M6P_STR-CXVS0 sy-vline
WA_T5M6P_STR-XVS0 sy-vline
WA_T5M6P_STR-CCARE sy-vline
WA_T5M6P_STR-ASME1 sy-vline
WA_T5M6P_STR-ARWT1 sy-vline
WA_T5M6P_STR-TXRT1 sy-vline
WA_T5M6P_STR-BPA1 sy-vline
WA_T5M6P_STR-FRIK1 sy-vline
WA_T5M6P_STR-VACSU sy-vline
WA_T5M6P_STR-VADA1 sy-vline
WA_T5M6P_STR-VARE1 sy-vline
WA_T5M6P_STR-CXVS1 sy-vline
WA_T5M6P_STR-XVS1 sy-vline
WA_T5M6P_STR-FERK1 sy-vline
WA_T5M6P_STR-ASME2 sy-vline
WA_T5M6P_STR-ARWT2 sy-vline
WA_T5M6P_STR-TXRT2 sy-vline
WA_T5M6P_STR-BPA2 sy-vline
WA_T5M6P_STR-FRIK2 sy-vline
WA_T5M6P_STR-VADA2 sy-vline
WA_T5M6P_STR-VARE2 sy-vline
WA_T5M6P_STR-CXVS2 sy-vline
WA_T5M6P_STR-XVS2 sy-vline
WA_T5M6P_STR-FERK2 sy-vline
WA_T5M6P_STR-IGNJ0 sy-vline
WA_T5M6P_STR-IGNJ1 sy-vline
WA_T5M6P_STR-IGNJ2 sy-vline
WA_T5M6P_STR-SVM1 sy-vline
WA_T5M6P_STR-SVM2 sy-vline
WA_T5M6P_STR-SVM3 sy-vline
WA_T5M6P_STR-STAX0 sy-vline
WA_T5M6P_STR-SVD0 sy-vline
WA_T5M6P_STR-SXVS0 sy-vline
WA_T5M6P_STR-SSD sy-vline
WA_T5M6P_STR-STAX1 sy-vline
WA_T5M6P_STR-SVD1 sy-vline
WA_T5M6P_STR-SVS sy-vline
WA_T5M6P_STR-SXVS1 sy-vline
WA_T5M6P_STR-SVR1 sy-vline
WA_T5M6P_STR-SFK1 sy-vline
WA_T5M6P_STR-STAX2 sy-vline
WA_T5M6P_STR-SVD2 sy-vline
WA_T5M6P_STR-SXVS2 sy-vline
WA_T5M6P_STR-SVR2 sy-vline
WA_T5M6P_STR-SFK2 sy-vline
WA_T5M6P_STR-FWV0N sy-vline
WA_T5M6P_STR-FWV0F sy-vline
WA_T5M6P_STR-FWV0K sy-vline
WA_T5M6P_STR-FWV0C sy-vline
WA_T5M6P_STR-FWV0S sy-vline
WA_T5M6P_STR-FWV0A sy-vline
WA_T5M6P_STR-FWV0B sy-vline
WA_T5M6P_STR-FWV1N sy-vline
WA_T5M6P_STR-FWV1F sy-vline
WA_T5M6P_STR-FWV1K sy-vline
WA_T5M6P_STR-FWV1C sy-vline
WA_T5M6P_STR-FWV1S sy-vline
WA_T5M6P_STR-FWV1A sy-vline
WA_T5M6P_STR-FWV1B sy-vline
WA_T5M6P_STR-FWV2N sy-vline
WA_T5M6P_STR-FWV2F sy-vline
WA_T5M6P_STR-FWV2K sy-vline
WA_T5M6P_STR-FWV2C sy-vline
WA_T5M6P_STR-FWV2S sy-vline
WA_T5M6P_STR-FWV2A sy-vline
WA_T5M6P_STR-FWV2B sy-vline
WA_T5M6P_STR-PAYTY sy-vline
WA_T5M6P_STR-PAYID sy-vline
WA_T5M6P_STR-FTUBT sy-vline
WA_T5M6P_STR-NODIF sy-vline
WA_T5M6P_STR-URLJJ sy-vline
WA_T5M6P_STR-OBJP0 sy-vline
WA_T5M6P_STR-UAR00 sy-vline
WA_T5M6P_STR-UAR01 sy-vline
WA_T5M6P_STR-UAN00 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.