ABAP Select data from SAP table RDGTPMA 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 RDGTPMA 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 RDGTPMA. 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 RDGTPMA 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_RDGTPMA TYPE STANDARD TABLE OF RDGTPMA, WA_RDGTPMA TYPE RDGTPMA, 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: <RDGTPMA> TYPE RDGTPMA. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_RDGTPMA. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM RDGTPMA INTO TABLE IT_RDGTPMA. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM RDGTPMA * INTO TABLE @DATA(IT_RDGTPMA2). *--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_RDGTPMA INDEX 1 INTO DATA(WA_RDGTPMA2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_RDGTPMA ASSIGNING <RDGTPMA>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<RDGTPMA>-DGNHM = 1.
<RDGTPMA>-DGCAO = 1.
<RDGTPMA>-TKUI = 1.
<RDGTPMA>-DGNU = 1.
<RDGTPMA>-DGCL = 1.
ENDLOOP. LOOP AT IT_RDGTPMA INTO WA_RDGTPMA. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_RDGTPMA-DGSC, sy-vline,
WA_RDGTPMA-SDBC, sy-vline,
WA_RDGTPMA-SLBE, sy-vline,
WA_RDGTPMA-LDBC, sy-vline,
WA_RDGTPMA-COTMP, sy-vline,
WA_RDGTPMA-TPCUN, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RDGTPMA 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_RDGTPMA 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_RDGTPMA INTO WA_RDGTPMA. *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 CUNIT, internal->external for field TPCUN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-TPCUN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-TPCUN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field TPEUN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-TPEUN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-TPEUN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field TPFUN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-TPFUN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-TPFUN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field TPSLU CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-TPSLU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-TPSLU.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field TPSHU CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-TPSHU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-TPSHU.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field HQTUN CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-HQTUN IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-HQTUN.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PAIU CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-PAIU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-PAIU.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field PAOU CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-PAOU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-PAOU.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field RQU CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-RQU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-RQU.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field MINU CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-MINU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-MINU.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field MAXU CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-MAXU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-MAXU.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field RELU CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-RELU IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-RELU.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field USOOW CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-USOOW IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-USOOW.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UDENFE CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UDENFE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UDENFE.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UDENTW CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UDENTW IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UDENTW.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UDENFI CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UDENFI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UDENFI.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UBUDE CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UBUDE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UBUDE.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UBOPO CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UBOPO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UBOPO.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UVISC CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UVISC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UVISC.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field USTPRE CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-USTPRE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-USTPRE.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UMEPO CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UMEPO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UMEPO.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UCOOE CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UCOOE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UCOOE.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UMTMP CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UMTMP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UMTMP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UPASI CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UPASI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UPASI.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field UPAGW CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_RDGTPMA-UPAGW IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RDGTPMA-UPAGW.
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_RDGTPMA_STR,
DGNHM TYPE STRING,
DGCAO TYPE STRING,
TKUI TYPE STRING,
DGNU TYPE STRING,
DGCL TYPE STRING,
DGSC TYPE STRING,
SDBC TYPE STRING,
SLBE TYPE STRING,
LDBC TYPE STRING,
COTMP TYPE STRING,
TPCUN TYPE STRING,
EMTMP TYPE STRING,
TPEUN TYPE STRING,
FLTMP TYPE STRING,
TPFUN TYPE STRING,
TPSNL TYPE STRING,
TPSLU TYPE STRING,
TPSNH TYPE STRING,
TPSHU TYPE STRING,
COWE TYPE STRING,
VBFC TYPE STRING,
SDCL TYPE STRING,
EINU TYPE STRING,
EICN TYPE STRING,
EMSN1 TYPE STRING,
EMSN2 TYPE STRING,
MFAG1 TYPE STRING,
MFAG2 TYPE STRING,
MOS1 TYPE STRING,
MOS2 TYPE STRING,
MOS3 TYPE STRING,
MOS4 TYPE STRING,
MOS5 TYPE STRING,
MOS6 TYPE STRING,
MOS7 TYPE STRING,
MOS8 TYPE STRING,
MOS9 TYPE STRING,
MOSA TYPE STRING,
HQTU TYPE STRING,
HQTUN TYPE STRING,
PIN TYPE STRING,
PGRO TYPE STRING,
HNU TYPE STRING,
HPN1 TYPE STRING,
HPN2 TYPE STRING,
HPN3 TYPE STRING,
HPN4 TYPE STRING,
HPN5 TYPE STRING,
HPN6 TYPE STRING,
HPN7 TYPE STRING,
LAB1 TYPE STRING,
LAB2 TYPE STRING,
LAB3 TYPE STRING,
LAB4 TYPE STRING,
LAB5 TYPE STRING,
LAB6 TYPE STRING,
LAB7 TYPE STRING,
LAB8 TYPE STRING,
LAB9 TYPE STRING,
LAB10 TYPE STRING,
PAI TYPE STRING,
PAIU TYPE STRING,
PAO TYPE STRING,
PAOU TYPE STRING,
RQA TYPE STRING,
RQU TYPE STRING,
PBI TYPE STRING,
MINQ TYPE STRING,
MINU TYPE STRING,
MAXQ TYPE STRING,
MAXU TYPE STRING,
RELQ TYPE STRING,
RELU TYPE STRING,
MULRQ TYPE STRING,
RCHEM TYPE STRING,
DGPTA TYPE STRING,
DGTNA TYPE STRING,
DGWOS TYPE STRING,
NHME TYPE STRING,
DGSHE TYPE STRING,
PIMDG TYPE STRING,
SOOWA TYPE STRING,
USOOW TYPE STRING,
DENFEE TYPE STRING,
UDENFE TYPE STRING,
DENTWE TYPE STRING,
UDENTW TYPE STRING,
DENFIF TYPE STRING,
UDENFI TYPE STRING,
BUDEN TYPE STRING,
UBUDE TYPE STRING,
BOPOI TYPE STRING,
UBOPO TYPE STRING,
VISCO TYPE STRING,
UVISC TYPE STRING,
STPRES TYPE STRING,
USTPRE TYPE STRING,
MEPOI TYPE STRING,
UMEPO TYPE STRING,
COOEX TYPE STRING,
UCOOE TYPE STRING,
MTMPF TYPE STRING,
UMTMP TYPE STRING,
STOPA TYPE STRING,
SPPRO TYPE STRING,
MAPOL TYPE STRING,
PINLQ TYPE STRING,
PASI TYPE STRING,
UPASI TYPE STRING,
PAGW TYPE STRING,
UPAGW TYPE STRING,
EXCEP TYPE STRING,
SCASE TYPE STRING,
COLNO TYPE STRING,
EIMDG TYPE STRING,END OF T_EKKO_STR. DATA: WA_RDGTPMA_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_RDGTPMA_STR-DGNHM sy-vline
WA_RDGTPMA_STR-DGCAO sy-vline
WA_RDGTPMA_STR-TKUI sy-vline
WA_RDGTPMA_STR-DGNU sy-vline
WA_RDGTPMA_STR-DGCL sy-vline
WA_RDGTPMA_STR-DGSC sy-vline
WA_RDGTPMA_STR-SDBC sy-vline
WA_RDGTPMA_STR-SLBE sy-vline
WA_RDGTPMA_STR-LDBC sy-vline
WA_RDGTPMA_STR-COTMP sy-vline
WA_RDGTPMA_STR-TPCUN sy-vline
WA_RDGTPMA_STR-EMTMP sy-vline
WA_RDGTPMA_STR-TPEUN sy-vline
WA_RDGTPMA_STR-FLTMP sy-vline
WA_RDGTPMA_STR-TPFUN sy-vline
WA_RDGTPMA_STR-TPSNL sy-vline
WA_RDGTPMA_STR-TPSLU sy-vline
WA_RDGTPMA_STR-TPSNH sy-vline
WA_RDGTPMA_STR-TPSHU sy-vline
WA_RDGTPMA_STR-COWE sy-vline
WA_RDGTPMA_STR-VBFC sy-vline
WA_RDGTPMA_STR-SDCL sy-vline
WA_RDGTPMA_STR-EINU sy-vline
WA_RDGTPMA_STR-EICN sy-vline
WA_RDGTPMA_STR-EMSN1 sy-vline
WA_RDGTPMA_STR-EMSN2 sy-vline
WA_RDGTPMA_STR-MFAG1 sy-vline
WA_RDGTPMA_STR-MFAG2 sy-vline
WA_RDGTPMA_STR-MOS1 sy-vline
WA_RDGTPMA_STR-MOS2 sy-vline
WA_RDGTPMA_STR-MOS3 sy-vline
WA_RDGTPMA_STR-MOS4 sy-vline
WA_RDGTPMA_STR-MOS5 sy-vline
WA_RDGTPMA_STR-MOS6 sy-vline
WA_RDGTPMA_STR-MOS7 sy-vline
WA_RDGTPMA_STR-MOS8 sy-vline
WA_RDGTPMA_STR-MOS9 sy-vline
WA_RDGTPMA_STR-MOSA sy-vline
WA_RDGTPMA_STR-HQTU sy-vline
WA_RDGTPMA_STR-HQTUN sy-vline
WA_RDGTPMA_STR-PIN sy-vline
WA_RDGTPMA_STR-PGRO sy-vline
WA_RDGTPMA_STR-HNU sy-vline
WA_RDGTPMA_STR-HPN1 sy-vline
WA_RDGTPMA_STR-HPN2 sy-vline
WA_RDGTPMA_STR-HPN3 sy-vline
WA_RDGTPMA_STR-HPN4 sy-vline
WA_RDGTPMA_STR-HPN5 sy-vline
WA_RDGTPMA_STR-HPN6 sy-vline
WA_RDGTPMA_STR-HPN7 sy-vline
WA_RDGTPMA_STR-LAB1 sy-vline
WA_RDGTPMA_STR-LAB2 sy-vline
WA_RDGTPMA_STR-LAB3 sy-vline
WA_RDGTPMA_STR-LAB4 sy-vline
WA_RDGTPMA_STR-LAB5 sy-vline
WA_RDGTPMA_STR-LAB6 sy-vline
WA_RDGTPMA_STR-LAB7 sy-vline
WA_RDGTPMA_STR-LAB8 sy-vline
WA_RDGTPMA_STR-LAB9 sy-vline
WA_RDGTPMA_STR-LAB10 sy-vline
WA_RDGTPMA_STR-PAI sy-vline
WA_RDGTPMA_STR-PAIU sy-vline
WA_RDGTPMA_STR-PAO sy-vline
WA_RDGTPMA_STR-PAOU sy-vline
WA_RDGTPMA_STR-RQA sy-vline
WA_RDGTPMA_STR-RQU sy-vline
WA_RDGTPMA_STR-PBI sy-vline
WA_RDGTPMA_STR-MINQ sy-vline
WA_RDGTPMA_STR-MINU sy-vline
WA_RDGTPMA_STR-MAXQ sy-vline
WA_RDGTPMA_STR-MAXU sy-vline
WA_RDGTPMA_STR-RELQ sy-vline
WA_RDGTPMA_STR-RELU sy-vline
WA_RDGTPMA_STR-MULRQ sy-vline
WA_RDGTPMA_STR-RCHEM sy-vline
WA_RDGTPMA_STR-DGPTA sy-vline
WA_RDGTPMA_STR-DGTNA sy-vline
WA_RDGTPMA_STR-DGWOS sy-vline
WA_RDGTPMA_STR-NHME sy-vline
WA_RDGTPMA_STR-DGSHE sy-vline
WA_RDGTPMA_STR-PIMDG sy-vline
WA_RDGTPMA_STR-SOOWA sy-vline
WA_RDGTPMA_STR-USOOW sy-vline
WA_RDGTPMA_STR-DENFEE sy-vline
WA_RDGTPMA_STR-UDENFE sy-vline
WA_RDGTPMA_STR-DENTWE sy-vline
WA_RDGTPMA_STR-UDENTW sy-vline
WA_RDGTPMA_STR-DENFIF sy-vline
WA_RDGTPMA_STR-UDENFI sy-vline
WA_RDGTPMA_STR-BUDEN sy-vline
WA_RDGTPMA_STR-UBUDE sy-vline
WA_RDGTPMA_STR-BOPOI sy-vline
WA_RDGTPMA_STR-UBOPO sy-vline
WA_RDGTPMA_STR-VISCO sy-vline
WA_RDGTPMA_STR-UVISC sy-vline
WA_RDGTPMA_STR-STPRES sy-vline
WA_RDGTPMA_STR-USTPRE sy-vline
WA_RDGTPMA_STR-MEPOI sy-vline
WA_RDGTPMA_STR-UMEPO sy-vline
WA_RDGTPMA_STR-COOEX sy-vline
WA_RDGTPMA_STR-UCOOE sy-vline
WA_RDGTPMA_STR-MTMPF sy-vline
WA_RDGTPMA_STR-UMTMP sy-vline
WA_RDGTPMA_STR-STOPA sy-vline
WA_RDGTPMA_STR-SPPRO sy-vline
WA_RDGTPMA_STR-MAPOL sy-vline
WA_RDGTPMA_STR-PINLQ sy-vline
WA_RDGTPMA_STR-PASI sy-vline
WA_RDGTPMA_STR-UPASI sy-vline
WA_RDGTPMA_STR-PAGW sy-vline
WA_RDGTPMA_STR-UPAGW sy-vline
WA_RDGTPMA_STR-EXCEP sy-vline
WA_RDGTPMA_STR-SCASE sy-vline
WA_RDGTPMA_STR-COLNO sy-vline
WA_RDGTPMA_STR-EIMDG sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.