ABAP Select data from SAP table PFLOWANALYSIS 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 PFLOWANALYSIS 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 PFLOWANALYSIS. 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 PFLOWANALYSIS 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_PFLOWANALYSIS TYPE STANDARD TABLE OF PFLOWANALYSIS,
      WA_PFLOWANALYSIS TYPE PFLOWANALYSIS,
      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: <PFLOWANALYSIS> TYPE PFLOWANALYSIS.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PFLOWANALYSIS
*  INTO TABLE @DATA(IT_PFLOWANALYSIS2).
*--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_PFLOWANALYSIS INDEX 1 INTO DATA(WA_PFLOWANALYSIS2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PFLOWANALYSIS ASSIGNING <PFLOWANALYSIS>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PFLOWANALYSIS>-MANDT = 1.
<PFLOWANALYSIS>-KEYDATE = 1.
<PFLOWANALYSIS>-COMPANYCODE = 1.
<PFLOWANALYSIS>-FIDOCUMENTTYPE = 1.
<PFLOWANALYSIS>-GLACCOUNT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PFLOWANALYSIS-HOUSEBANK, sy-vline,
WA_PFLOWANALYSIS-HOUSEBANKACCOUNT, sy-vline,
WA_PFLOWANALYSIS-BANKACCOUNTINTERNALID, sy-vline,
WA_PFLOWANALYSIS-CURRENCY, sy-vline,
WA_PFLOWANALYSIS-CASHPLANNINGGROUP, sy-vline,
WA_PFLOWANALYSIS-CERTAINTYLEVEL, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PFLOWANALYSIS 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_PFLOWANALYSIS 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_PFLOWANALYSIS INTO WA_PFLOWANALYSIS. *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 GLACCOUNT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PFLOWANALYSIS-GLACCOUNT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PFLOWANALYSIS-GLACCOUNT.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

*Conversion exit ALPHA, internal->external for field TRADINGPARTNER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PFLOWANALYSIS-TRADINGPARTNER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PFLOWANALYSIS-TRADINGPARTNER.
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_PFLOWANALYSIS_STR,
MANDT TYPE STRING,
KEYDATE TYPE STRING,
COMPANYCODE TYPE STRING,
FIDOCUMENTTYPE TYPE STRING,
GLACCOUNT TYPE STRING,
HOUSEBANK TYPE STRING,
HOUSEBANKACCOUNT TYPE STRING,
BANKACCOUNTINTERNALID TYPE STRING,
CURRENCY TYPE STRING,
CASHPLANNINGGROUP TYPE STRING,
CERTAINTYLEVEL TYPE STRING,
SUMMARIZATIONGROUP TYPE STRING,
SUMMARIZATIONTERM TYPE STRING,
PAYMENTMETHOD TYPE STRING,
PLANNINGLEVEL TYPE STRING,
OVERDUEPLANNINGLEVEL TYPE STRING,
LIQUIDITYITEM TYPE STRING,
DIRECTION TYPE STRING,
PROFITCENTER TYPE STRING,
SEGMENT TYPE STRING,
BUSINESSAREA TYPE STRING,
TRADINGPARTNER TYPE STRING,
BANKACCOUNTTYPE TYPE STRING,
BANKCOUNTRY TYPE STRING,
BANKACCOUNT TYPE STRING,
BANK TYPE STRING,
BANKGROUPID TYPE STRING,
BANKGROUPIDNAME TYPE STRING,
BANKRATING TYPE STRING,
BAL_TYPE TYPE STRING,
MAX_CYCLE TYPE STRING,
EXRATETYPE TYPE STRING,
ACTUALDATE TYPE STRING,
BANKRATINGDESCRIPTION TYPE STRING,
BANKACCOUNTNAME TYPE STRING,
BANKNAME TYPE STRING,
COMPANYCODENAME TYPE STRING,
PLANNINGLEVELNAME TYPE STRING,
PLANNINGLEVELDESCRIPTION TYPE STRING,
LIQUIDITYITEMNAME TYPE STRING,
LIQUIDITYITEMDDESC TYPE STRING,
BANKGROUP TYPE STRING,
BANKGROUPNAME TYPE STRING,
CASHPLANNINGGROUPNAME TYPE STRING,
CASHPLANNINGGROUPDESCRIPTION TYPE STRING,
DISPLAY_CURRENCY TYPE STRING,
CYCLE_PATTERN TYPE STRING,
CALENDAREND TYPE STRING,
BAL_TYPE_EXT TYPE STRING,
REL_STATUS TYPE STRING,
RECONCIL_STATUS TYPE STRING,
OVERDUE TYPE STRING,
DATA1 TYPE STRING,
DATA2 TYPE STRING,
DATA3 TYPE STRING,
DATA4 TYPE STRING,
DATA5 TYPE STRING,
DATA6 TYPE STRING,
DATA7 TYPE STRING,
DATA8 TYPE STRING,
DATA9 TYPE STRING,
DATA10 TYPE STRING,
DATA11 TYPE STRING,
DATA12 TYPE STRING,
DATA13 TYPE STRING,
DATA14 TYPE STRING,
DATA15 TYPE STRING,
DATA16 TYPE STRING,
DATA17 TYPE STRING,
DATA18 TYPE STRING,
DATA19 TYPE STRING,
DATA20 TYPE STRING,
DATA21 TYPE STRING,
DATA22 TYPE STRING,
DATA23 TYPE STRING,
DATA24 TYPE STRING,
DATA25 TYPE STRING,
DATA26 TYPE STRING,
DATA27 TYPE STRING,
DATA28 TYPE STRING,
DATA29 TYPE STRING,
DATA30 TYPE STRING,
DATA31 TYPE STRING,
DATA32 TYPE STRING,
CONVERT_OVERDUE TYPE STRING,
CONVERT_DATA1 TYPE STRING,
CONVERT_DATA2 TYPE STRING,
CONVERT_DATA3 TYPE STRING,
CONVERT_DATA4 TYPE STRING,
CONVERT_DATA5 TYPE STRING,
CONVERT_DATA6 TYPE STRING,
CONVERT_DATA7 TYPE STRING,
CONVERT_DATA8 TYPE STRING,
CONVERT_DATA9 TYPE STRING,
CONVERT_DATA10 TYPE STRING,
CONVERT_DATA11 TYPE STRING,
CONVERT_DATA12 TYPE STRING,
CONVERT_DATA13 TYPE STRING,
CONVERT_DATA14 TYPE STRING,
CONVERT_DATA15 TYPE STRING,
CONVERT_DATA16 TYPE STRING,
CONVERT_DATA17 TYPE STRING,
CONVERT_DATA18 TYPE STRING,
CONVERT_DATA19 TYPE STRING,
CONVERT_DATA20 TYPE STRING,
CONVERT_DATA21 TYPE STRING,
CONVERT_DATA22 TYPE STRING,
CONVERT_DATA23 TYPE STRING,
CONVERT_DATA24 TYPE STRING,
CONVERT_DATA25 TYPE STRING,
CONVERT_DATA26 TYPE STRING,
CONVERT_DATA27 TYPE STRING,
CONVERT_DATA28 TYPE STRING,
CONVERT_DATA29 TYPE STRING,
CONVERT_DATA30 TYPE STRING,
CONVERT_DATA31 TYPE STRING,
CONVERT_DATA32 TYPE STRING,END OF T_EKKO_STR. DATA: WA_PFLOWANALYSIS_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_PFLOWANALYSIS_STR-MANDT sy-vline
WA_PFLOWANALYSIS_STR-KEYDATE sy-vline
WA_PFLOWANALYSIS_STR-COMPANYCODE sy-vline
WA_PFLOWANALYSIS_STR-FIDOCUMENTTYPE sy-vline
WA_PFLOWANALYSIS_STR-GLACCOUNT sy-vline
WA_PFLOWANALYSIS_STR-HOUSEBANK sy-vline
WA_PFLOWANALYSIS_STR-HOUSEBANKACCOUNT sy-vline
WA_PFLOWANALYSIS_STR-BANKACCOUNTINTERNALID sy-vline
WA_PFLOWANALYSIS_STR-CURRENCY sy-vline
WA_PFLOWANALYSIS_STR-CASHPLANNINGGROUP sy-vline
WA_PFLOWANALYSIS_STR-CERTAINTYLEVEL sy-vline
WA_PFLOWANALYSIS_STR-SUMMARIZATIONGROUP sy-vline
WA_PFLOWANALYSIS_STR-SUMMARIZATIONTERM sy-vline
WA_PFLOWANALYSIS_STR-PAYMENTMETHOD sy-vline
WA_PFLOWANALYSIS_STR-PLANNINGLEVEL sy-vline
WA_PFLOWANALYSIS_STR-OVERDUEPLANNINGLEVEL sy-vline
WA_PFLOWANALYSIS_STR-LIQUIDITYITEM sy-vline
WA_PFLOWANALYSIS_STR-DIRECTION sy-vline
WA_PFLOWANALYSIS_STR-PROFITCENTER sy-vline
WA_PFLOWANALYSIS_STR-SEGMENT sy-vline
WA_PFLOWANALYSIS_STR-BUSINESSAREA sy-vline
WA_PFLOWANALYSIS_STR-TRADINGPARTNER sy-vline
WA_PFLOWANALYSIS_STR-BANKACCOUNTTYPE sy-vline
WA_PFLOWANALYSIS_STR-BANKCOUNTRY sy-vline
WA_PFLOWANALYSIS_STR-BANKACCOUNT sy-vline
WA_PFLOWANALYSIS_STR-BANK sy-vline
WA_PFLOWANALYSIS_STR-BANKGROUPID sy-vline
WA_PFLOWANALYSIS_STR-BANKGROUPIDNAME sy-vline
WA_PFLOWANALYSIS_STR-BANKRATING sy-vline
WA_PFLOWANALYSIS_STR-BAL_TYPE sy-vline
WA_PFLOWANALYSIS_STR-MAX_CYCLE sy-vline
WA_PFLOWANALYSIS_STR-EXRATETYPE sy-vline
WA_PFLOWANALYSIS_STR-ACTUALDATE sy-vline
WA_PFLOWANALYSIS_STR-BANKRATINGDESCRIPTION sy-vline
WA_PFLOWANALYSIS_STR-BANKACCOUNTNAME sy-vline
WA_PFLOWANALYSIS_STR-BANKNAME sy-vline
WA_PFLOWANALYSIS_STR-COMPANYCODENAME sy-vline
WA_PFLOWANALYSIS_STR-PLANNINGLEVELNAME sy-vline
WA_PFLOWANALYSIS_STR-PLANNINGLEVELDESCRIPTION sy-vline
WA_PFLOWANALYSIS_STR-LIQUIDITYITEMNAME sy-vline
WA_PFLOWANALYSIS_STR-LIQUIDITYITEMDDESC sy-vline
WA_PFLOWANALYSIS_STR-BANKGROUP sy-vline
WA_PFLOWANALYSIS_STR-BANKGROUPNAME sy-vline
WA_PFLOWANALYSIS_STR-CASHPLANNINGGROUPNAME sy-vline
WA_PFLOWANALYSIS_STR-CASHPLANNINGGROUPDESCRIPTION sy-vline
WA_PFLOWANALYSIS_STR-DISPLAY_CURRENCY sy-vline
WA_PFLOWANALYSIS_STR-CYCLE_PATTERN sy-vline
WA_PFLOWANALYSIS_STR-CALENDAREND sy-vline
WA_PFLOWANALYSIS_STR-BAL_TYPE_EXT sy-vline
WA_PFLOWANALYSIS_STR-REL_STATUS sy-vline
WA_PFLOWANALYSIS_STR-RECONCIL_STATUS sy-vline
WA_PFLOWANALYSIS_STR-OVERDUE sy-vline
WA_PFLOWANALYSIS_STR-DATA1 sy-vline
WA_PFLOWANALYSIS_STR-DATA2 sy-vline
WA_PFLOWANALYSIS_STR-DATA3 sy-vline
WA_PFLOWANALYSIS_STR-DATA4 sy-vline
WA_PFLOWANALYSIS_STR-DATA5 sy-vline
WA_PFLOWANALYSIS_STR-DATA6 sy-vline
WA_PFLOWANALYSIS_STR-DATA7 sy-vline
WA_PFLOWANALYSIS_STR-DATA8 sy-vline
WA_PFLOWANALYSIS_STR-DATA9 sy-vline
WA_PFLOWANALYSIS_STR-DATA10 sy-vline
WA_PFLOWANALYSIS_STR-DATA11 sy-vline
WA_PFLOWANALYSIS_STR-DATA12 sy-vline
WA_PFLOWANALYSIS_STR-DATA13 sy-vline
WA_PFLOWANALYSIS_STR-DATA14 sy-vline
WA_PFLOWANALYSIS_STR-DATA15 sy-vline
WA_PFLOWANALYSIS_STR-DATA16 sy-vline
WA_PFLOWANALYSIS_STR-DATA17 sy-vline
WA_PFLOWANALYSIS_STR-DATA18 sy-vline
WA_PFLOWANALYSIS_STR-DATA19 sy-vline
WA_PFLOWANALYSIS_STR-DATA20 sy-vline
WA_PFLOWANALYSIS_STR-DATA21 sy-vline
WA_PFLOWANALYSIS_STR-DATA22 sy-vline
WA_PFLOWANALYSIS_STR-DATA23 sy-vline
WA_PFLOWANALYSIS_STR-DATA24 sy-vline
WA_PFLOWANALYSIS_STR-DATA25 sy-vline
WA_PFLOWANALYSIS_STR-DATA26 sy-vline
WA_PFLOWANALYSIS_STR-DATA27 sy-vline
WA_PFLOWANALYSIS_STR-DATA28 sy-vline
WA_PFLOWANALYSIS_STR-DATA29 sy-vline
WA_PFLOWANALYSIS_STR-DATA30 sy-vline
WA_PFLOWANALYSIS_STR-DATA31 sy-vline
WA_PFLOWANALYSIS_STR-DATA32 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_OVERDUE sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA1 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA2 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA3 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA4 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA5 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA6 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA7 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA8 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA9 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA10 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA11 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA12 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA13 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA14 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA15 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA16 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA17 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA18 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA19 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA20 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA21 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA22 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA23 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA24 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA25 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA26 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA27 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA28 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA29 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA30 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA31 sy-vline
WA_PFLOWANALYSIS_STR-CONVERT_DATA32 sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.