ABAP Select data from SAP table BAPI_RE_CE_CASHFLOW_INT 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 BAPI_RE_CE_CASHFLOW_INT 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 BAPI_RE_CE_CASHFLOW_INT. 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 BAPI_RE_CE_CASHFLOW_INT 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_BAPI_RE_CE_CASHFLOW_INT TYPE STANDARD TABLE OF BAPI_RE_CE_CASHFLOW_INT,
      WA_BAPI_RE_CE_CASHFLOW_INT TYPE BAPI_RE_CE_CASHFLOW_INT,
      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: <BAPI_RE_CE_CASHFLOW_INT> TYPE BAPI_RE_CE_CASHFLOW_INT.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM BAPI_RE_CE_CASHFLOW_INT
*  INTO TABLE @DATA(IT_BAPI_RE_CE_CASHFLOW_INT2).
*--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_BAPI_RE_CE_CASHFLOW_INT INDEX 1 INTO DATA(WA_BAPI_RE_CE_CASHFLOW_INT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_BAPI_RE_CE_CASHFLOW_INT ASSIGNING <BAPI_RE_CE_CASHFLOW_INT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<BAPI_RE_CE_CASHFLOW_INT>-INTRENO = 1.
<BAPI_RE_CE_CASHFLOW_INT>-RULEGUID = 1.
<BAPI_RE_CE_CASHFLOW_INT>-PROCESSGUID = 1.
<BAPI_RE_CE_CASHFLOW_INT>-CFGUID = 1.
<BAPI_RE_CE_CASHFLOW_INT>-TERMNO = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_BAPI_RE_CE_CASHFLOW_INT-CERULE, sy-vline,
WA_BAPI_RE_CE_CASHFLOW_INT-CFTYPE, sy-vline,
WA_BAPI_RE_CE_CASHFLOW_INT-CFWHEREFROM, sy-vline,
WA_BAPI_RE_CE_CASHFLOW_INT-OBJNR, sy-vline,
WA_BAPI_RE_CE_CASHFLOW_INT-ASSETOBJNR, sy-vline,
WA_BAPI_RE_CE_CASHFLOW_INT-CONDGUID, sy-vline.
ENDLOOP. *Add any further fields from structure WA_BAPI_RE_CE_CASHFLOW_INT 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_BAPI_RE_CE_CASHFLOW_INT 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_BAPI_RE_CE_CASHFLOW_INT INTO WA_BAPI_RE_CE_CASHFLOW_INT. *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 TERMNO CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_BAPI_RE_CE_CASHFLOW_INT-TERMNO IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI_RE_CE_CASHFLOW_INT-TERMNO.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field FLOWTYPE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_BAPI_RE_CE_CASHFLOW_INT-FLOWTYPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI_RE_CE_CASHFLOW_INT-FLOWTYPE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ORIGFLOWTYPE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_BAPI_RE_CE_CASHFLOW_INT-ORIGFLOWTYPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI_RE_CE_CASHFLOW_INT-ORIGFLOWTYPE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field REFFLOWREL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_BAPI_RE_CE_CASHFLOW_INT-REFFLOWREL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI_RE_CE_CASHFLOW_INT-REFFLOWREL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field CONDTYPE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_BAPI_RE_CE_CASHFLOW_INT-CONDTYPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI_RE_CE_CASHFLOW_INT-CONDTYPE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field BOOK_FLOWTYPE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_BAPI_RE_CE_CASHFLOW_INT-BOOK_FLOWTYPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI_RE_CE_CASHFLOW_INT-BOOK_FLOWTYPE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field BOOK_REFFLOWREL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_BAPI_RE_CE_CASHFLOW_INT-BOOK_REFFLOWREL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI_RE_CE_CASHFLOW_INT-BOOK_REFFLOWREL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit EXCRT, internal->external for field CTRATE CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_BAPI_RE_CE_CASHFLOW_INT-CTRATE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI_RE_CE_CASHFLOW_INT-CTRATE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit EXCRT, internal->external for field CTRATEORIG CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_BAPI_RE_CE_CASHFLOW_INT-CTRATEORIG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_BAPI_RE_CE_CASHFLOW_INT-CTRATEORIG.
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_BAPI_RE_CE_CASHFLOW_INT_STR,
INTRENO TYPE STRING,
RULEGUID TYPE STRING,
PROCESSGUID TYPE STRING,
CFGUID TYPE STRING,
TERMNO TYPE STRING,
CERULE TYPE STRING,
CFTYPE TYPE STRING,
CFWHEREFROM TYPE STRING,
OBJNR TYPE STRING,
ASSETOBJNR TYPE STRING,
CONDGUID TYPE STRING,
CONDVALIDFROM TYPE STRING,
DBERVON TYPE STRING,
DBERBIS TYPE STRING,
ATAGE TYPE STRING,
DUEDATE TYPE STRING,
DFAELL TYPE STRING,
DVALUT TYPE STRING,
BBWHR TYPE STRING,
SWHRKOND TYPE STRING,
INTERESTRATE TYPE STRING,
ISINITIALCOSTS TYPE STRING,
ISREPAYMENTDIF TYPE STRING,
ISRECONOBLIGATION TYPE STRING,
ISCOMPLETERETIREMENT TYPE STRING,
REFGUID TYPE STRING,
ISREVERSED TYPE STRING,
SPLITFORGUID TYPE STRING,
SPLITBASIS TYPE STRING,
EVALUATIONPOINT TYPE STRING,
LCNETAMOUNT TYPE STRING,
LCGROSSAMOUNT TYPE STRING,
LCTAXAMOUNT TYPE STRING,
LOCALCURR TYPE STRING,
CCNETAMOUNT TYPE STRING,
CCGROSSAMOUNT TYPE STRING,
CCTAXAMOUNT TYPE STRING,
CONDCURR TYPE STRING,
TAXTYPE TYPE STRING,
TAXGROUP TYPE STRING,
TXJCD TYPE STRING,
ISGROSS TYPE STRING,
FLOWTYPE TYPE STRING,
ORIGFLOWTYPE TYPE STRING,
REFFLOWREL TYPE STRING,
CFSTATUS TYPE STRING,
FDELETE TYPE STRING,
ORIGDUEDATE TYPE STRING,
CONDTYPE TYPE STRING,
POSTINGDATE TYPE STRING,
DOCUMENTDATE TYPE STRING,
VALUATIONDATE TYPE STRING,
REVERSAL_FOR TYPE STRING,
REVERSAL_BY TYPE STRING,
FOLLOWUP_FOR TYPE STRING,
BOOK_FLOWTYPE TYPE STRING,
BOOK_REFFLOWREL TYPE STRING,
TAXDATE TYPE STRING,
MODDUEDATE TYPE STRING,
CALCDUEDATE TYPE STRING,
CTRULE TYPE STRING,
CTLCNETAMOUNT TYPE STRING,
CTLCGROSSAMOUNT TYPE STRING,
CTLCTAXAMOUNT TYPE STRING,
CTRATE TYPE STRING,
CTRATEORIG TYPE STRING,
CTPOSTCDCURR TYPE STRING,
CTDATEREQ TYPE STRING,
CTDATEACT TYPE STRING,
CTDATEACTORIG TYPE STRING,
CTDATEFROMCFPOS TYPE STRING,
PROCESSSTEPNO TYPE STRING,
PROCESSEXTID TYPE STRING,
XCONDITION TYPE STRING,
XCONDCURR TYPE STRING,
XTAXTYPE TYPE STRING,
XTAXGROUP TYPE STRING,
XLOCALCURR TYPE STRING,
XFLOWTYPE TYPE STRING,
BOOK_XFLOWTYPE TYPE STRING,
XCERULE TYPE STRING,END OF T_EKKO_STR. DATA: WA_BAPI_RE_CE_CASHFLOW_INT_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_BAPI_RE_CE_CASHFLOW_INT_STR-INTRENO sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-RULEGUID sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-PROCESSGUID sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CFGUID sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-TERMNO sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CERULE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CFTYPE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CFWHEREFROM sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-OBJNR sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-ASSETOBJNR sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CONDGUID sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CONDVALIDFROM sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-DBERVON sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-DBERBIS sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-ATAGE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-DUEDATE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-DFAELL sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-DVALUT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-BBWHR sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-SWHRKOND sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-INTERESTRATE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-ISINITIALCOSTS sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-ISREPAYMENTDIF sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-ISRECONOBLIGATION sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-ISCOMPLETERETIREMENT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-REFGUID sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-ISREVERSED sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-SPLITFORGUID sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-SPLITBASIS sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-EVALUATIONPOINT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-LCNETAMOUNT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-LCGROSSAMOUNT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-LCTAXAMOUNT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-LOCALCURR sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CCNETAMOUNT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CCGROSSAMOUNT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CCTAXAMOUNT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CONDCURR sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-TAXTYPE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-TAXGROUP sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-TXJCD sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-ISGROSS sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-FLOWTYPE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-ORIGFLOWTYPE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-REFFLOWREL sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CFSTATUS sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-FDELETE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-ORIGDUEDATE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CONDTYPE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-POSTINGDATE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-DOCUMENTDATE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-VALUATIONDATE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-REVERSAL_FOR sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-REVERSAL_BY sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-FOLLOWUP_FOR sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-BOOK_FLOWTYPE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-BOOK_REFFLOWREL sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-TAXDATE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-MODDUEDATE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CALCDUEDATE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTRULE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTLCNETAMOUNT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTLCGROSSAMOUNT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTLCTAXAMOUNT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTRATE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTRATEORIG sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTPOSTCDCURR sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTDATEREQ sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTDATEACT sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTDATEACTORIG sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-CTDATEFROMCFPOS sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-PROCESSSTEPNO sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-PROCESSEXTID sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-XCONDITION sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-XCONDCURR sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-XTAXTYPE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-XTAXGROUP sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-XLOCALCURR sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-XFLOWTYPE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-BOOK_XFLOWTYPE sy-vline
WA_BAPI_RE_CE_CASHFLOW_INT_STR-XCERULE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.