ABAP Select data from SAP table /PF1/CV_COLLTP 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 /PF1/CV_COLLTP 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 /PF1/CV_COLLTP. 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 /PF1/CV_COLLTP 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_/PF1/CV_COLLTP TYPE STANDARD TABLE OF /PF1/CV_COLLTP,
      WA_/PF1/CV_COLLTP TYPE /PF1/CV_COLLTP,
      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: </PF1/CV_COLLTP> TYPE /PF1/CV_COLLTP.

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

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM /PF1/CV_COLLTP
  INTO TABLE IT_/PF1/CV_COLLTP.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM /PF1/CV_COLLTP
*  INTO TABLE @DATA(IT_/PF1/CV_COLLTP2).
*--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_/PF1/CV_COLLTP INDEX 1 INTO DATA(WA_/PF1/CV_COLLTP2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_/PF1/CV_COLLTP ASSIGNING </PF1/CV_COLLTP>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
</PF1/CV_COLLTP>-MANDT = 1.
</PF1/CV_COLLTP>-PAYMENTBATCHGUID = 1.
</PF1/CV_COLLTP>-PAYMENTBATCHKEY = 1.
</PF1/CV_COLLTP>-CLEARINGAREA = 1.
</PF1/CV_COLLTP>-PAYMENTBATCHDATE = 1.
ENDLOOP.

LOOP AT IT_/PF1/CV_COLLTP INTO WA_/PF1/CV_COLLTP.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_/PF1/CV_COLLTP-PAYMENTBATCHNUMBER, sy-vline,
WA_/PF1/CV_COLLTP-SEQUENCENUMBER, sy-vline,
WA_/PF1/CV_COLLTP-DIRECTION, sy-vline,
WA_/PF1/CV_COLLTP-DIRECTIONDESC, sy-vline,
WA_/PF1/CV_COLLTP-PAYMENTBATCHTYPE, sy-vline,
WA_/PF1/CV_COLLTP-PAYMENTBATCHTYPEDESC, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/PF1/CV_COLLTP 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_/PF1/CV_COLLTP 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_/PF1/CV_COLLTP INTO WA_/PF1/CV_COLLTP. *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_/PF1/CV_COLLTP_STR,
MANDT TYPE STRING,
PAYMENTBATCHGUID TYPE STRING,
PAYMENTBATCHKEY TYPE STRING,
CLEARINGAREA TYPE STRING,
PAYMENTBATCHDATE TYPE STRING,
PAYMENTBATCHNUMBER TYPE STRING,
SEQUENCENUMBER TYPE STRING,
DIRECTION TYPE STRING,
DIRECTIONDESC TYPE STRING,
PAYMENTBATCHTYPE TYPE STRING,
PAYMENTBATCHTYPEDESC TYPE STRING,
ROUTEID TYPE STRING,
ROUTEDESC TYPE STRING,
CLEARINGAGREEMENTID TYPE STRING,
CLEARINGAGREEMENTDESC TYPE STRING,
COMPANYCODE TYPE STRING,
COMPANYCODEDESC TYPE STRING,
BATCHSTATUS TYPE STRING,
BATCHSTATUSCRITICALITY TYPE STRING,
BATCHSTATUSDESC TYPE STRING,
NEXTCLOSINGTIME TYPE STRING,
CLOSEUSERID TYPE STRING,
CLOSEDATE TYPE STRING,
CLOSETIME TYPE STRING,
CLOSEDAT TYPE STRING,
CLOSEREASON TYPE STRING,
CLOSEREASONDESC TYPE STRING,
CHECKDATE TYPE STRING,
CHECKTIME TYPE STRING,
LASTCHECKED TYPE STRING,
ACCOUNTCOMPANYCODE TYPE STRING,
BAMACCOUNTID TYPE STRING,
ACCOUNTNUMBER TYPE STRING,
ACCOUNTCURRENCY TYPE STRING,
ACCOUNTCOUNTRY TYPE STRING,
ACCOUNTBANKKEY TYPE STRING,
ACCOUNTIBAN TYPE STRING,
ACCOUNTHOLDER TYPE STRING,
ACCOUNTBIC TYPE STRING,
CLEARINGACCOUNTNUMBER TYPE STRING,
CLEARINGACCOUNTCURRENCY TYPE STRING,
CLEARINGACCOUNTCOUNTRY TYPE STRING,
CLEARINGACCOUNTBANKKEY TYPE STRING,
CLEARINGACCOUNTIBAN TYPE STRING,
CLEARINGACCOUNTHOLDER TYPE STRING,
CLEARINGACCOUNTBIC TYPE STRING,
TOTALNUMBEROFITEMS TYPE STRING,
TOTALAMOUNTCURRENCY TYPE STRING,
TOTALAMOUNT TYPE STRING,
TOTALAMOUNTCALCULATEDCURRENCY TYPE STRING,
TOTALAMOUNTCALCULATED TYPE STRING,
TOTALNUMBEROFITEMSCALCULATED TYPE STRING,
NUMBEROFUNASSIGNEDITEMS TYPE STRING,
OUTGOINGPAYMENTORDERDATE TYPE STRING,
OUTGOINGPAYMENTORDERNUMBER TYPE STRING,
OUTGOINGPAYMENTORDERGUID TYPE STRING,
OUTGOINGPAYMENTORDERKEY TYPE STRING,
OUTGOINGPAYMENTORDERTYPE TYPE STRING,
OUTGOINGPAYMENTORDERTYPEDESC TYPE STRING,
OUTGOINGPAYMENTORDERFORMAT TYPE STRING,
OUTGOINGPAYMENTORDERFORMATDESC TYPE STRING,
REASSIGNACTIONENABLED TYPE STRING,
PROCESSACTIONENABLED TYPE STRING,
ASSIGNALLACTIONENABLED TYPE STRING,
CREATEUSERID TYPE STRING,
CREATEDATE TYPE STRING,
CREATETIME TYPE STRING,
CHANGEUSERID TYPE STRING,
CHANGEUSERDATE TYPE STRING,
CHANGEUSERTIME TYPE STRING,
RELEASEUSERID TYPE STRING,
RELEASEUSERDATE TYPE STRING,
RELEASEUSERTIME TYPE STRING,
NEWCLEARINGAGREEMENTID TYPE STRING,
NEWROUTEID TYPE STRING,
ITEMREPROCESSINGOPTION TYPE STRING,
CLEARINGAGREEMENTCOMPANYCODE TYPE STRING,END OF T_EKKO_STR. DATA: WA_/PF1/CV_COLLTP_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_/PF1/CV_COLLTP_STR-MANDT sy-vline
WA_/PF1/CV_COLLTP_STR-PAYMENTBATCHGUID sy-vline
WA_/PF1/CV_COLLTP_STR-PAYMENTBATCHKEY sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGAREA sy-vline
WA_/PF1/CV_COLLTP_STR-PAYMENTBATCHDATE sy-vline
WA_/PF1/CV_COLLTP_STR-PAYMENTBATCHNUMBER sy-vline
WA_/PF1/CV_COLLTP_STR-SEQUENCENUMBER sy-vline
WA_/PF1/CV_COLLTP_STR-DIRECTION sy-vline
WA_/PF1/CV_COLLTP_STR-DIRECTIONDESC sy-vline
WA_/PF1/CV_COLLTP_STR-PAYMENTBATCHTYPE sy-vline
WA_/PF1/CV_COLLTP_STR-PAYMENTBATCHTYPEDESC sy-vline
WA_/PF1/CV_COLLTP_STR-ROUTEID sy-vline
WA_/PF1/CV_COLLTP_STR-ROUTEDESC sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGAGREEMENTID sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGAGREEMENTDESC sy-vline
WA_/PF1/CV_COLLTP_STR-COMPANYCODE sy-vline
WA_/PF1/CV_COLLTP_STR-COMPANYCODEDESC sy-vline
WA_/PF1/CV_COLLTP_STR-BATCHSTATUS sy-vline
WA_/PF1/CV_COLLTP_STR-BATCHSTATUSCRITICALITY sy-vline
WA_/PF1/CV_COLLTP_STR-BATCHSTATUSDESC sy-vline
WA_/PF1/CV_COLLTP_STR-NEXTCLOSINGTIME sy-vline
WA_/PF1/CV_COLLTP_STR-CLOSEUSERID sy-vline
WA_/PF1/CV_COLLTP_STR-CLOSEDATE sy-vline
WA_/PF1/CV_COLLTP_STR-CLOSETIME sy-vline
WA_/PF1/CV_COLLTP_STR-CLOSEDAT sy-vline
WA_/PF1/CV_COLLTP_STR-CLOSEREASON sy-vline
WA_/PF1/CV_COLLTP_STR-CLOSEREASONDESC sy-vline
WA_/PF1/CV_COLLTP_STR-CHECKDATE sy-vline
WA_/PF1/CV_COLLTP_STR-CHECKTIME sy-vline
WA_/PF1/CV_COLLTP_STR-LASTCHECKED sy-vline
WA_/PF1/CV_COLLTP_STR-ACCOUNTCOMPANYCODE sy-vline
WA_/PF1/CV_COLLTP_STR-BAMACCOUNTID sy-vline
WA_/PF1/CV_COLLTP_STR-ACCOUNTNUMBER sy-vline
WA_/PF1/CV_COLLTP_STR-ACCOUNTCURRENCY sy-vline
WA_/PF1/CV_COLLTP_STR-ACCOUNTCOUNTRY sy-vline
WA_/PF1/CV_COLLTP_STR-ACCOUNTBANKKEY sy-vline
WA_/PF1/CV_COLLTP_STR-ACCOUNTIBAN sy-vline
WA_/PF1/CV_COLLTP_STR-ACCOUNTHOLDER sy-vline
WA_/PF1/CV_COLLTP_STR-ACCOUNTBIC sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGACCOUNTNUMBER sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGACCOUNTCURRENCY sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGACCOUNTCOUNTRY sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGACCOUNTBANKKEY sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGACCOUNTIBAN sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGACCOUNTHOLDER sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGACCOUNTBIC sy-vline
WA_/PF1/CV_COLLTP_STR-TOTALNUMBEROFITEMS sy-vline
WA_/PF1/CV_COLLTP_STR-TOTALAMOUNTCURRENCY sy-vline
WA_/PF1/CV_COLLTP_STR-TOTALAMOUNT sy-vline
WA_/PF1/CV_COLLTP_STR-TOTALAMOUNTCALCULATEDCURRENCY sy-vline
WA_/PF1/CV_COLLTP_STR-TOTALAMOUNTCALCULATED sy-vline
WA_/PF1/CV_COLLTP_STR-TOTALNUMBEROFITEMSCALCULATED sy-vline
WA_/PF1/CV_COLLTP_STR-NUMBEROFUNASSIGNEDITEMS sy-vline
WA_/PF1/CV_COLLTP_STR-OUTGOINGPAYMENTORDERDATE sy-vline
WA_/PF1/CV_COLLTP_STR-OUTGOINGPAYMENTORDERNUMBER sy-vline
WA_/PF1/CV_COLLTP_STR-OUTGOINGPAYMENTORDERGUID sy-vline
WA_/PF1/CV_COLLTP_STR-OUTGOINGPAYMENTORDERKEY sy-vline
WA_/PF1/CV_COLLTP_STR-OUTGOINGPAYMENTORDERTYPE sy-vline
WA_/PF1/CV_COLLTP_STR-OUTGOINGPAYMENTORDERTYPEDESC sy-vline
WA_/PF1/CV_COLLTP_STR-OUTGOINGPAYMENTORDERFORMAT sy-vline
WA_/PF1/CV_COLLTP_STR-OUTGOINGPAYMENTORDERFORMATDESC sy-vline
WA_/PF1/CV_COLLTP_STR-REASSIGNACTIONENABLED sy-vline
WA_/PF1/CV_COLLTP_STR-PROCESSACTIONENABLED sy-vline
WA_/PF1/CV_COLLTP_STR-ASSIGNALLACTIONENABLED sy-vline
WA_/PF1/CV_COLLTP_STR-CREATEUSERID sy-vline
WA_/PF1/CV_COLLTP_STR-CREATEDATE sy-vline
WA_/PF1/CV_COLLTP_STR-CREATETIME sy-vline
WA_/PF1/CV_COLLTP_STR-CHANGEUSERID sy-vline
WA_/PF1/CV_COLLTP_STR-CHANGEUSERDATE sy-vline
WA_/PF1/CV_COLLTP_STR-CHANGEUSERTIME sy-vline
WA_/PF1/CV_COLLTP_STR-RELEASEUSERID sy-vline
WA_/PF1/CV_COLLTP_STR-RELEASEUSERDATE sy-vline
WA_/PF1/CV_COLLTP_STR-RELEASEUSERTIME sy-vline
WA_/PF1/CV_COLLTP_STR-NEWCLEARINGAGREEMENTID sy-vline
WA_/PF1/CV_COLLTP_STR-NEWROUTEID sy-vline
WA_/PF1/CV_COLLTP_STR-ITEMREPROCESSINGOPTION sy-vline
WA_/PF1/CV_COLLTP_STR-CLEARINGAGREEMENTCOMPANYCODE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.