ABAP Select data from SAP table RPCNTAXM 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 RPCNTAXM 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 RPCNTAXM. 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 RPCNTAXM 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_RPCNTAXM TYPE STANDARD TABLE OF RPCNTAXM,
      WA_RPCNTAXM TYPE RPCNTAXM,
      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: <RPCNTAXM> TYPE RPCNTAXM.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM RPCNTAXM
*  INTO TABLE @DATA(IT_RPCNTAXM2).
*--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_RPCNTAXM INDEX 1 INTO DATA(WA_RPCNTAXM2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_RPCNTAXM ASSIGNING <RPCNTAXM>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<RPCNTAXM>-PERNR = 1.
<RPCNTAXM>-BUKRS = 1.
<RPCNTAXM>-COMP_NAME = 1.
<RPCNTAXM>-ENTXI = 1.
<RPCNTAXM>-WERKS = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_RPCNTAXM-NAME1, sy-vline,
WA_RPCNTAXM-BTRTL, sy-vline,
WA_RPCNTAXM-BTEXT, sy-vline,
WA_RPCNTAXM-KOSTL, sy-vline,
WA_RPCNTAXM-KOSTX, sy-vline,
WA_RPCNTAXM-ORGEH, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RPCNTAXM 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_RPCNTAXM 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_RPCNTAXM INTO WA_RPCNTAXM. *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 ALPHA, internal->external for field KOSTL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_RPCNTAXM-KOSTL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RPCNTAXM-KOSTL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit PDATE, internal->external for field GBDAT CALL FUNCTION 'CONVERSION_EXIT_PDATE_OUTPUT' EXPORTING input = WA_RPCNTAXM-GBDAT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_RPCNTAXM-GBDAT.
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_RPCNTAXM_STR,
PERNR TYPE STRING,
BUKRS TYPE STRING,
COMP_NAME TYPE STRING,
ENTXI TYPE STRING,
WERKS TYPE STRING,
NAME1 TYPE STRING,
BTRTL TYPE STRING,
BTEXT TYPE STRING,
KOSTL TYPE STRING,
KOSTX TYPE STRING,
ORGEH TYPE STRING,
ORGTX TYPE STRING,
TITEL TYPE STRING,
CNAME TYPE STRING,
ENAME TYPE STRING,
GENDT TYPE STRING,
GBDAT TYPE STRING,
ORT01 TYPE STRING,
LOCAT TYPE STRING,
PSTLZ TYPE STRING,
TRANT TYPE STRING,
ICTYP TYPE STRING,
ICTXT TYPE STRING,
ICNUM TYPE STRING,
EETYT TYPE STRING,
TAXID TYPE STRING,
OCCUP TYPE STRING,
OCCUT TYPE STRING,
COUCO TYPE STRING,
COUCT TYPE STRING,
LWDAT TYPE STRING,
TXARE TYPE STRING,
FPPER TYPE STRING,
BEGDA TYPE STRING,
ENDDA TYPE STRING,
DAYNU TYPE STRING,
PAYDT TYPE STRING,
INCTPS TYPE STRING,
INCATS TYPE STRING,
INCACS TYPE STRING,
INCCTS TYPE STRING,
SEXPAM TYPE STRING,
TXSAG TYPE STRING,
TXINCS TYPE STRING,
BSDAC TYPE STRING,
BSDRT TYPE STRING,
BSDEM TYPE STRING,
EXPAMS TYPE STRING,
TXIN2S TYPE STRING,
TXPCT TYPE STRING,
TXACC TYPE STRING,
TXAMTS TYPE STRING,
RIAMTS TYPE STRING,
ZXAMTS TYPE STRING,
PIAMT TYPE STRING,
UIAMT TYPE STRING,
MIAMT TYPE STRING,
IIAMT TYPE STRING,
BIAMT TYPE STRING,
PHFAM TYPE STRING,
INCOM TYPE STRING,
DEDUC TYPE STRING,
DDEDU TYPE STRING,
INCTPB TYPE STRING,
INCATB TYPE STRING,
INCACB TYPE STRING,
INCCTB TYPE STRING,
TXYEG TYPE STRING,
TXINCB TYPE STRING,
BNDAC TYPE STRING,
BNDRT TYPE STRING,
BNDEM TYPE STRING,
EXPAMB TYPE STRING,
TXIN2B TYPE STRING,
TXBCT TYPE STRING,
TXBCC TYPE STRING,
TXAMTB TYPE STRING,
RIAMTB TYPE STRING,
ZXAMTB TYPE STRING,
INCTPO TYPE STRING,
INCATO TYPE STRING,
INCACO TYPE STRING,
INCCTO TYPE STRING,
TXINCO TYPE STRING,
TXIN2O TYPE STRING,
TXSCT TYPE STRING,
TXSCC TYPE STRING,
TXAMTO TYPE STRING,
ZXAMTO TYPE STRING,
INCTPE TYPE STRING,
INCATE TYPE STRING,
INCACE TYPE STRING,
INCCTE TYPE STRING,
TXSPG TYPE STRING,
TXINCE TYPE STRING,
EXPAME TYPE STRING,
TXIN2E TYPE STRING,
TXVCT TYPE STRING,
TXVCC TYPE STRING,
TXAMTE TYPE STRING,
ZXAMTE TYPE STRING,
INCTPC TYPE STRING,
INCATC TYPE STRING,
INCACC TYPE STRING,
INCCTC TYPE STRING,
TXCPG TYPE STRING,
TXINCC TYPE STRING,
EXPAMC TYPE STRING,
TXIN2C TYPE STRING,
TXCCT TYPE STRING,
TXCCC TYPE STRING,
TXAMTC TYPE STRING,
RIAMTC TYPE STRING,
ZXAMTC TYPE STRING,
SEQNR TYPE STRING,
TXACY TYPE STRING,
INCTPD TYPE STRING,
INCATD TYPE STRING,
INCACD TYPE STRING,
INCCTD TYPE STRING,
TXIDB TYPE STRING,
TXINCD TYPE STRING,
EXPAMD TYPE STRING,
TXIN2D TYPE STRING,
IDBRT TYPE STRING,
TXAMTD TYPE STRING,
RIAMTD TYPE STRING,
ZXAMTD TYPE STRING,
INCTPN TYPE STRING,
INCATN TYPE STRING,
INCACN TYPE STRING,
INCCTN TYPE STRING,
TXICI TYPE STRING,
TXINCN TYPE STRING,
EXPAMN TYPE STRING,
TXIN2N TYPE STRING,
ICIRT TYPE STRING,
TXAMTN TYPE STRING,
RIAMTN TYPE STRING,
ZXAMTN TYPE STRING,END OF T_EKKO_STR. DATA: WA_RPCNTAXM_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_RPCNTAXM_STR-PERNR sy-vline
WA_RPCNTAXM_STR-BUKRS sy-vline
WA_RPCNTAXM_STR-COMP_NAME sy-vline
WA_RPCNTAXM_STR-ENTXI sy-vline
WA_RPCNTAXM_STR-WERKS sy-vline
WA_RPCNTAXM_STR-NAME1 sy-vline
WA_RPCNTAXM_STR-BTRTL sy-vline
WA_RPCNTAXM_STR-BTEXT sy-vline
WA_RPCNTAXM_STR-KOSTL sy-vline
WA_RPCNTAXM_STR-KOSTX sy-vline
WA_RPCNTAXM_STR-ORGEH sy-vline
WA_RPCNTAXM_STR-ORGTX sy-vline
WA_RPCNTAXM_STR-TITEL sy-vline
WA_RPCNTAXM_STR-CNAME sy-vline
WA_RPCNTAXM_STR-ENAME sy-vline
WA_RPCNTAXM_STR-GENDT sy-vline
WA_RPCNTAXM_STR-GBDAT sy-vline
WA_RPCNTAXM_STR-ORT01 sy-vline
WA_RPCNTAXM_STR-LOCAT sy-vline
WA_RPCNTAXM_STR-PSTLZ sy-vline
WA_RPCNTAXM_STR-TRANT sy-vline
WA_RPCNTAXM_STR-ICTYP sy-vline
WA_RPCNTAXM_STR-ICTXT sy-vline
WA_RPCNTAXM_STR-ICNUM sy-vline
WA_RPCNTAXM_STR-EETYT sy-vline
WA_RPCNTAXM_STR-TAXID sy-vline
WA_RPCNTAXM_STR-OCCUP sy-vline
WA_RPCNTAXM_STR-OCCUT sy-vline
WA_RPCNTAXM_STR-COUCO sy-vline
WA_RPCNTAXM_STR-COUCT sy-vline
WA_RPCNTAXM_STR-LWDAT sy-vline
WA_RPCNTAXM_STR-TXARE sy-vline
WA_RPCNTAXM_STR-FPPER sy-vline
WA_RPCNTAXM_STR-BEGDA sy-vline
WA_RPCNTAXM_STR-ENDDA sy-vline
WA_RPCNTAXM_STR-DAYNU sy-vline
WA_RPCNTAXM_STR-PAYDT sy-vline
WA_RPCNTAXM_STR-INCTPS sy-vline
WA_RPCNTAXM_STR-INCATS sy-vline
WA_RPCNTAXM_STR-INCACS sy-vline
WA_RPCNTAXM_STR-INCCTS sy-vline
WA_RPCNTAXM_STR-SEXPAM sy-vline
WA_RPCNTAXM_STR-TXSAG sy-vline
WA_RPCNTAXM_STR-TXINCS sy-vline
WA_RPCNTAXM_STR-BSDAC sy-vline
WA_RPCNTAXM_STR-BSDRT sy-vline
WA_RPCNTAXM_STR-BSDEM sy-vline
WA_RPCNTAXM_STR-EXPAMS sy-vline
WA_RPCNTAXM_STR-TXIN2S sy-vline
WA_RPCNTAXM_STR-TXPCT sy-vline
WA_RPCNTAXM_STR-TXACC sy-vline
WA_RPCNTAXM_STR-TXAMTS sy-vline
WA_RPCNTAXM_STR-RIAMTS sy-vline
WA_RPCNTAXM_STR-ZXAMTS sy-vline
WA_RPCNTAXM_STR-PIAMT sy-vline
WA_RPCNTAXM_STR-UIAMT sy-vline
WA_RPCNTAXM_STR-MIAMT sy-vline
WA_RPCNTAXM_STR-IIAMT sy-vline
WA_RPCNTAXM_STR-BIAMT sy-vline
WA_RPCNTAXM_STR-PHFAM sy-vline
WA_RPCNTAXM_STR-INCOM sy-vline
WA_RPCNTAXM_STR-DEDUC sy-vline
WA_RPCNTAXM_STR-DDEDU sy-vline
WA_RPCNTAXM_STR-INCTPB sy-vline
WA_RPCNTAXM_STR-INCATB sy-vline
WA_RPCNTAXM_STR-INCACB sy-vline
WA_RPCNTAXM_STR-INCCTB sy-vline
WA_RPCNTAXM_STR-TXYEG sy-vline
WA_RPCNTAXM_STR-TXINCB sy-vline
WA_RPCNTAXM_STR-BNDAC sy-vline
WA_RPCNTAXM_STR-BNDRT sy-vline
WA_RPCNTAXM_STR-BNDEM sy-vline
WA_RPCNTAXM_STR-EXPAMB sy-vline
WA_RPCNTAXM_STR-TXIN2B sy-vline
WA_RPCNTAXM_STR-TXBCT sy-vline
WA_RPCNTAXM_STR-TXBCC sy-vline
WA_RPCNTAXM_STR-TXAMTB sy-vline
WA_RPCNTAXM_STR-RIAMTB sy-vline
WA_RPCNTAXM_STR-ZXAMTB sy-vline
WA_RPCNTAXM_STR-INCTPO sy-vline
WA_RPCNTAXM_STR-INCATO sy-vline
WA_RPCNTAXM_STR-INCACO sy-vline
WA_RPCNTAXM_STR-INCCTO sy-vline
WA_RPCNTAXM_STR-TXINCO sy-vline
WA_RPCNTAXM_STR-TXIN2O sy-vline
WA_RPCNTAXM_STR-TXSCT sy-vline
WA_RPCNTAXM_STR-TXSCC sy-vline
WA_RPCNTAXM_STR-TXAMTO sy-vline
WA_RPCNTAXM_STR-ZXAMTO sy-vline
WA_RPCNTAXM_STR-INCTPE sy-vline
WA_RPCNTAXM_STR-INCATE sy-vline
WA_RPCNTAXM_STR-INCACE sy-vline
WA_RPCNTAXM_STR-INCCTE sy-vline
WA_RPCNTAXM_STR-TXSPG sy-vline
WA_RPCNTAXM_STR-TXINCE sy-vline
WA_RPCNTAXM_STR-EXPAME sy-vline
WA_RPCNTAXM_STR-TXIN2E sy-vline
WA_RPCNTAXM_STR-TXVCT sy-vline
WA_RPCNTAXM_STR-TXVCC sy-vline
WA_RPCNTAXM_STR-TXAMTE sy-vline
WA_RPCNTAXM_STR-ZXAMTE sy-vline
WA_RPCNTAXM_STR-INCTPC sy-vline
WA_RPCNTAXM_STR-INCATC sy-vline
WA_RPCNTAXM_STR-INCACC sy-vline
WA_RPCNTAXM_STR-INCCTC sy-vline
WA_RPCNTAXM_STR-TXCPG sy-vline
WA_RPCNTAXM_STR-TXINCC sy-vline
WA_RPCNTAXM_STR-EXPAMC sy-vline
WA_RPCNTAXM_STR-TXIN2C sy-vline
WA_RPCNTAXM_STR-TXCCT sy-vline
WA_RPCNTAXM_STR-TXCCC sy-vline
WA_RPCNTAXM_STR-TXAMTC sy-vline
WA_RPCNTAXM_STR-RIAMTC sy-vline
WA_RPCNTAXM_STR-ZXAMTC sy-vline
WA_RPCNTAXM_STR-SEQNR sy-vline
WA_RPCNTAXM_STR-TXACY sy-vline
WA_RPCNTAXM_STR-INCTPD sy-vline
WA_RPCNTAXM_STR-INCATD sy-vline
WA_RPCNTAXM_STR-INCACD sy-vline
WA_RPCNTAXM_STR-INCCTD sy-vline
WA_RPCNTAXM_STR-TXIDB sy-vline
WA_RPCNTAXM_STR-TXINCD sy-vline
WA_RPCNTAXM_STR-EXPAMD sy-vline
WA_RPCNTAXM_STR-TXIN2D sy-vline
WA_RPCNTAXM_STR-IDBRT sy-vline
WA_RPCNTAXM_STR-TXAMTD sy-vline
WA_RPCNTAXM_STR-RIAMTD sy-vline
WA_RPCNTAXM_STR-ZXAMTD sy-vline
WA_RPCNTAXM_STR-INCTPN sy-vline
WA_RPCNTAXM_STR-INCATN sy-vline
WA_RPCNTAXM_STR-INCACN sy-vline
WA_RPCNTAXM_STR-INCCTN sy-vline
WA_RPCNTAXM_STR-TXICI sy-vline
WA_RPCNTAXM_STR-TXINCN sy-vline
WA_RPCNTAXM_STR-EXPAMN sy-vline
WA_RPCNTAXM_STR-TXIN2N sy-vline
WA_RPCNTAXM_STR-ICIRT sy-vline
WA_RPCNTAXM_STR-TXAMTN sy-vline
WA_RPCNTAXM_STR-RIAMTN sy-vline
WA_RPCNTAXM_STR-ZXAMTN sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.