ABAP Select data from SAP table RPFBN_COSTCRED_TRANS 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 RPFBN_COSTCRED_TRANS 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 RPFBN_COSTCRED_TRANS. 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 RPFBN_COSTCRED_TRANS 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_RPFBN_COSTCRED_TRANS TYPE STANDARD TABLE OF RPFBN_COSTCRED_TRANS, WA_RPFBN_COSTCRED_TRANS TYPE RPFBN_COSTCRED_TRANS, 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: <RPFBN_COSTCRED_TRANS> TYPE RPFBN_COSTCRED_TRANS. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_RPFBN_COSTCRED_TRANS. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM RPFBN_COSTCRED_TRANS INTO TABLE IT_RPFBN_COSTCRED_TRANS. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM RPFBN_COSTCRED_TRANS * INTO TABLE @DATA(IT_RPFBN_COSTCRED_TRANS2). *--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_RPFBN_COSTCRED_TRANS INDEX 1 INTO DATA(WA_RPFBN_COSTCRED_TRANS2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_RPFBN_COSTCRED_TRANS ASSIGNING <RPFBN_COSTCRED_TRANS>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<RPFBN_COSTCRED_TRANS>-BOPTI = 1.
<RPFBN_COSTCRED_TRANS>-BCOVR = 1.
<RPFBN_COSTCRED_TRANS>-LEVL1 = 1.
<RPFBN_COSTCRED_TRANS>-DEPCV = 1.
<RPFBN_COSTCRED_TRANS>-ENROLLED = 1.
ENDLOOP. LOOP AT IT_RPFBN_COSTCRED_TRANS INTO WA_RPFBN_COSTCRED_TRANS. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_RPFBN_COSTCRED_TRANS-EECST, sy-vline,
WA_RPFBN_COSTCRED_TRANS-PTCST, sy-vline,
WA_RPFBN_COSTCRED_TRANS-IMINC, sy-vline,
WA_RPFBN_COSTCRED_TRANS-ERCST, sy-vline,
WA_RPFBN_COSTCRED_TRANS-BSCOV, sy-vline,
WA_RPFBN_COSTCRED_TRANS-COVAM, sy-vline.
ENDLOOP. *Add any further fields from structure WA_RPFBN_COSTCRED_TRANS 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_RPFBN_COSTCRED_TRANS 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_RPFBN_COSTCRED_TRANS INTO WA_RPFBN_COSTCRED_TRANS. *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_RPFBN_COSTCRED_TRANS_STR,
BOPTI TYPE STRING,
BCOVR TYPE STRING,
LEVL1 TYPE STRING,
DEPCV TYPE STRING,
ENROLLED TYPE STRING,
EECST TYPE STRING,
PTCST TYPE STRING,
IMINC TYPE STRING,
ERCST TYPE STRING,
BSCOV TYPE STRING,
COVAM TYPE STRING,
CRAMT TYPE STRING,
ADDNO TYPE STRING,
ADDUN TYPE STRING,
ADDMI TYPE STRING,
ADDMA TYPE STRING,
INC_ADDNO TYPE STRING,
DEC_ADDNO TYPE STRING,
ADDUN_TEXT TYPE STRING,
PERIO TYPE STRING,
CURRE TYPE STRING,
PRETX TYPE STRING,
EOGRP TYPE STRING,
EOIRQ TYPE STRING,
EOIPR TYPE STRING,
TXT_OPTION TYPE STRING,
TXT_DEPCOV TYPE STRING,
SELECTED TYPE STRING,
STD_COST TYPE STRING,
FLX_COST TYPE STRING,
COST_DIFFERENCE TYPE STRING,
EE_CSTCRD TYPE STRING,
ERNIC TYPE STRING,
EE_CONTRI_INFO TYPE STRING,
ER_CONTRI_INFO TYPE STRING,
EE_SAL_SACRIFICE TYPE STRING,
NI_PAYBACK TYPE STRING,
SACYN TYPE STRING,
PBKYN TYPE STRING,
NEW_QUOTA TYPE STRING,
SAL_SACRIFICE TYPE STRING,END OF T_EKKO_STR. DATA: WA_RPFBN_COSTCRED_TRANS_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_RPFBN_COSTCRED_TRANS_STR-BOPTI sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-BCOVR sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-LEVL1 sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-DEPCV sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-ENROLLED sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-EECST sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-PTCST sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-IMINC sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-ERCST sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-BSCOV sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-COVAM sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-CRAMT sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-ADDNO sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-ADDUN sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-ADDMI sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-ADDMA sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-INC_ADDNO sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-DEC_ADDNO sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-ADDUN_TEXT sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-PERIO sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-CURRE sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-PRETX sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-EOGRP sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-EOIRQ sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-EOIPR sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-TXT_OPTION sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-TXT_DEPCOV sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-SELECTED sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-STD_COST sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-FLX_COST sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-COST_DIFFERENCE sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-EE_CSTCRD sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-ERNIC sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-EE_CONTRI_INFO sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-ER_CONTRI_INFO sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-EE_SAL_SACRIFICE sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-NI_PAYBACK sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-SACYN sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-PBKYN sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-NEW_QUOTA sy-vline
WA_RPFBN_COSTCRED_TRANS_STR-SAL_SACRIFICE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.