ABAP Select data from SAP table PARBSITMOPIT 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 PARBSITMOPIT 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 PARBSITMOPIT. 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 PARBSITMOPIT 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_PARBSITMOPIT TYPE STANDARD TABLE OF PARBSITMOPIT,
      WA_PARBSITMOPIT TYPE PARBSITMOPIT,
      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: <PARBSITMOPIT> TYPE PARBSITMOPIT.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PARBSITMOPIT
*  INTO TABLE @DATA(IT_PARBSITMOPIT2).
*--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_PARBSITMOPIT INDEX 1 INTO DATA(WA_PARBSITMOPIT2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PARBSITMOPIT ASSIGNING <PARBSITMOPIT>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PARBSITMOPIT>-MANDT = 1.
<PARBSITMOPIT>-BANKSTATEMENTSHORTID = 1.
<PARBSITMOPIT>-COMPANYCODE = 1.
<PARBSITMOPIT>-BANKSTATEMENT = 1.
<PARBSITMOPIT>-HOUSEBANK = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PARBSITMOPIT-HOUSEBANKACCOUNT, sy-vline,
WA_PARBSITMOPIT-CURRENCY, sy-vline,
WA_PARBSITMOPIT-BANKSTATEMENTIMPORTDATE, sy-vline,
WA_PARBSITMOPIT-BANKSTATEMENTIMPORTTIME, sy-vline,
WA_PARBSITMOPIT-CREATEDBYUSER, sy-vline,
WA_PARBSITMOPIT-BANKSTATEMENTITEM, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PARBSITMOPIT 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_PARBSITMOPIT 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_PARBSITMOPIT INTO WA_PARBSITMOPIT. *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 BANKSTATEMENTSHORTID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PARBSITMOPIT-BANKSTATEMENTSHORTID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PARBSITMOPIT-BANKSTATEMENTSHORTID.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit AC132, internal->external for field AMOUNTINTRANSACTIONCURRENCY CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_PARBSITMOPIT-AMOUNTINTRANSACTIONCURRENCY IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PARBSITMOPIT-AMOUNTINTRANSACTIONCURRENCY.
WRITE:/ 'New Value:', ld_input.

*Conversion exit AC132, internal->external for field AMOUNTINORIGINALCURRENCY CALL FUNCTION 'CONVERSION_EXIT_AC132_OUTPUT' EXPORTING input = WA_PARBSITMOPIT-AMOUNTINORIGINALCURRENCY IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PARBSITMOPIT-AMOUNTINORIGINALCURRENCY.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

*Conversion exit GJAHR, internal->external for field OIFISCALYEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PARBSITMOPIT-OIFISCALYEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PARBSITMOPIT-OIFISCALYEAR.
WRITE:/ 'New Value:', ld_input.

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

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

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

*Conversion exit GJAHR, internal->external for field OICLEARINGDOCFISCALYEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PARBSITMOPIT-OICLEARINGDOCFISCALYEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PARBSITMOPIT-OICLEARINGDOCFISCALYEAR.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit GJAHR, internal->external for field OIINVOICEREFERENCEFISCALYEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PARBSITMOPIT-OIINVOICEREFERENCEFISCALYEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PARBSITMOPIT-OIINVOICEREFERENCEFISCALYEAR.
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_PARBSITMOPIT_STR,
MANDT TYPE STRING,
BANKSTATEMENTSHORTID TYPE STRING,
COMPANYCODE TYPE STRING,
BANKSTATEMENT TYPE STRING,
HOUSEBANK TYPE STRING,
HOUSEBANKACCOUNT TYPE STRING,
CURRENCY TYPE STRING,
BANKSTATEMENTIMPORTDATE TYPE STRING,
BANKSTATEMENTIMPORTTIME TYPE STRING,
CREATEDBYUSER TYPE STRING,
BANKSTATEMENTITEM TYPE STRING,
PAYMENTADVICEACCOUNTTYPE TYPE STRING,
PAYMENTADVICEACCOUNT TYPE STRING,
PAYMENTADVICE TYPE STRING,
AMOUNTINTRANSACTIONCURRENCY TYPE STRING,
ORIGINALCURRENCY TYPE STRING,
AMOUNTINORIGINALCURRENCY TYPE STRING,
CUSTOMERREFERENCENUMBER TYPE STRING,
PAYMENTREFERENCE TYPE STRING,
DOCUMENTREFERENCEID TYPE STRING,
ASSIGNMENTREFERENCE TYPE STRING,
BANKPOSTINGKEY TYPE STRING,
PAYMENTEXTERNALTRANSACTYPE TYPE STRING,
BANKSTATEMENTPOSTINGRULE TYPE STRING,
DOCUMENTITEMTEXT TYPE STRING,
POSTINGDATE TYPE STRING,
DEBITCREDITCODE TYPE STRING,
BANKLEDGERISPOSTED TYPE STRING,
SUBLEDGERISPOSTEDSUCCESSFULLY TYPE STRING,
ISCOMPLETED TYPE STRING,
INTERPRETATIONALGORITHM TYPE STRING,
BUSINESSPARTNERNAME TYPE STRING,
PARTNERBANKCOUNTRY TYPE STRING,
PARTNERBANK TYPE STRING,
PARTNERBANKSWIFTCODE TYPE STRING,
PARTNERBANKACCOUNT TYPE STRING,
PARTNERBANKIBAN TYPE STRING,
BANKLEDGERDOCUMENT TYPE STRING,
SUBLEDGERDOCUMENT TYPE STRING,
SUBLEDGERONACCOUNTDOCUMENT TYPE STRING,
BANKREFERENCE TYPE STRING,
MEMOLINE TYPE STRING,
OICOMPANYCODE TYPE STRING,
OICOMPANYCODECURRENCY TYPE STRING,
OIACCOUNTINGDOCUMENT TYPE STRING,
OIFISCALYEAR TYPE STRING,
OITRANSACTIONCURRENCY TYPE STRING,
OIDOCUMENTREFERENCEID TYPE STRING,
OIORIGINALREFERENCEDOCUMENT TYPE STRING,
OIREFERENCEDOCUMENTLOGICALSYS TYPE STRING,
OIREFERENCEDOCUMENTTYPE TYPE STRING,
OIACCOUNTINGDOCUMENTHEADERTEXT TYPE STRING,
OIPOSTINGDATE TYPE STRING,
OIACCOUNTINGDOCUMENTTYPE TYPE STRING,
OIACCOUNTINGDOCCREATEDBYUSER TYPE STRING,
OITRANSACTIONCODE TYPE STRING,
OIACCOUNTINGDOCCREATIONDATE TYPE STRING,
OICREATIONTIME TYPE STRING,
OIACCOUNTINGDOCUMENTITEM TYPE STRING,
OIDEBTOR TYPE STRING,
OICLEARINGACCOUNTINGDOCUMENT TYPE STRING,
OICLEARINGCREATIONDATE TYPE STRING,
OIDEBITCREDITCODE TYPE STRING,
OICLEARINGDOCFISCALYEAR TYPE STRING,
OIAMOUNTINTRANSACTIONCURRENCY TYPE STRING,
OIAMOUNTINCOMPANYCODECURRENCY TYPE STRING,
OIFINANCIALACCOUNTTYPE TYPE STRING,
OIASSIGNMENTREFERENCE TYPE STRING,
OIPAYMENTREFERENCE TYPE STRING,
OIDOCUMENTITEMTEXT TYPE STRING,
OIINVOICEREFERENCE TYPE STRING,
OIINVOICEREFERENCEFISCALYEAR TYPE STRING,
OIINVOICEITEMREFERENCE TYPE STRING,
OIFOLLOWONDOCUMENTTYPE TYPE STRING,END OF T_EKKO_STR. DATA: WA_PARBSITMOPIT_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_PARBSITMOPIT_STR-MANDT sy-vline
WA_PARBSITMOPIT_STR-BANKSTATEMENTSHORTID sy-vline
WA_PARBSITMOPIT_STR-COMPANYCODE sy-vline
WA_PARBSITMOPIT_STR-BANKSTATEMENT sy-vline
WA_PARBSITMOPIT_STR-HOUSEBANK sy-vline
WA_PARBSITMOPIT_STR-HOUSEBANKACCOUNT sy-vline
WA_PARBSITMOPIT_STR-CURRENCY sy-vline
WA_PARBSITMOPIT_STR-BANKSTATEMENTIMPORTDATE sy-vline
WA_PARBSITMOPIT_STR-BANKSTATEMENTIMPORTTIME sy-vline
WA_PARBSITMOPIT_STR-CREATEDBYUSER sy-vline
WA_PARBSITMOPIT_STR-BANKSTATEMENTITEM sy-vline
WA_PARBSITMOPIT_STR-PAYMENTADVICEACCOUNTTYPE sy-vline
WA_PARBSITMOPIT_STR-PAYMENTADVICEACCOUNT sy-vline
WA_PARBSITMOPIT_STR-PAYMENTADVICE sy-vline
WA_PARBSITMOPIT_STR-AMOUNTINTRANSACTIONCURRENCY sy-vline
WA_PARBSITMOPIT_STR-ORIGINALCURRENCY sy-vline
WA_PARBSITMOPIT_STR-AMOUNTINORIGINALCURRENCY sy-vline
WA_PARBSITMOPIT_STR-CUSTOMERREFERENCENUMBER sy-vline
WA_PARBSITMOPIT_STR-PAYMENTREFERENCE sy-vline
WA_PARBSITMOPIT_STR-DOCUMENTREFERENCEID sy-vline
WA_PARBSITMOPIT_STR-ASSIGNMENTREFERENCE sy-vline
WA_PARBSITMOPIT_STR-BANKPOSTINGKEY sy-vline
WA_PARBSITMOPIT_STR-PAYMENTEXTERNALTRANSACTYPE sy-vline
WA_PARBSITMOPIT_STR-BANKSTATEMENTPOSTINGRULE sy-vline
WA_PARBSITMOPIT_STR-DOCUMENTITEMTEXT sy-vline
WA_PARBSITMOPIT_STR-POSTINGDATE sy-vline
WA_PARBSITMOPIT_STR-DEBITCREDITCODE sy-vline
WA_PARBSITMOPIT_STR-BANKLEDGERISPOSTED sy-vline
WA_PARBSITMOPIT_STR-SUBLEDGERISPOSTEDSUCCESSFULLY sy-vline
WA_PARBSITMOPIT_STR-ISCOMPLETED sy-vline
WA_PARBSITMOPIT_STR-INTERPRETATIONALGORITHM sy-vline
WA_PARBSITMOPIT_STR-BUSINESSPARTNERNAME sy-vline
WA_PARBSITMOPIT_STR-PARTNERBANKCOUNTRY sy-vline
WA_PARBSITMOPIT_STR-PARTNERBANK sy-vline
WA_PARBSITMOPIT_STR-PARTNERBANKSWIFTCODE sy-vline
WA_PARBSITMOPIT_STR-PARTNERBANKACCOUNT sy-vline
WA_PARBSITMOPIT_STR-PARTNERBANKIBAN sy-vline
WA_PARBSITMOPIT_STR-BANKLEDGERDOCUMENT sy-vline
WA_PARBSITMOPIT_STR-SUBLEDGERDOCUMENT sy-vline
WA_PARBSITMOPIT_STR-SUBLEDGERONACCOUNTDOCUMENT sy-vline
WA_PARBSITMOPIT_STR-BANKREFERENCE sy-vline
WA_PARBSITMOPIT_STR-MEMOLINE sy-vline
WA_PARBSITMOPIT_STR-OICOMPANYCODE sy-vline
WA_PARBSITMOPIT_STR-OICOMPANYCODECURRENCY sy-vline
WA_PARBSITMOPIT_STR-OIACCOUNTINGDOCUMENT sy-vline
WA_PARBSITMOPIT_STR-OIFISCALYEAR sy-vline
WA_PARBSITMOPIT_STR-OITRANSACTIONCURRENCY sy-vline
WA_PARBSITMOPIT_STR-OIDOCUMENTREFERENCEID sy-vline
WA_PARBSITMOPIT_STR-OIORIGINALREFERENCEDOCUMENT sy-vline
WA_PARBSITMOPIT_STR-OIREFERENCEDOCUMENTLOGICALSYS sy-vline
WA_PARBSITMOPIT_STR-OIREFERENCEDOCUMENTTYPE sy-vline
WA_PARBSITMOPIT_STR-OIACCOUNTINGDOCUMENTHEADERTEXT sy-vline
WA_PARBSITMOPIT_STR-OIPOSTINGDATE sy-vline
WA_PARBSITMOPIT_STR-OIACCOUNTINGDOCUMENTTYPE sy-vline
WA_PARBSITMOPIT_STR-OIACCOUNTINGDOCCREATEDBYUSER sy-vline
WA_PARBSITMOPIT_STR-OITRANSACTIONCODE sy-vline
WA_PARBSITMOPIT_STR-OIACCOUNTINGDOCCREATIONDATE sy-vline
WA_PARBSITMOPIT_STR-OICREATIONTIME sy-vline
WA_PARBSITMOPIT_STR-OIACCOUNTINGDOCUMENTITEM sy-vline
WA_PARBSITMOPIT_STR-OIDEBTOR sy-vline
WA_PARBSITMOPIT_STR-OICLEARINGACCOUNTINGDOCUMENT sy-vline
WA_PARBSITMOPIT_STR-OICLEARINGCREATIONDATE sy-vline
WA_PARBSITMOPIT_STR-OIDEBITCREDITCODE sy-vline
WA_PARBSITMOPIT_STR-OICLEARINGDOCFISCALYEAR sy-vline
WA_PARBSITMOPIT_STR-OIAMOUNTINTRANSACTIONCURRENCY sy-vline
WA_PARBSITMOPIT_STR-OIAMOUNTINCOMPANYCODECURRENCY sy-vline
WA_PARBSITMOPIT_STR-OIFINANCIALACCOUNTTYPE sy-vline
WA_PARBSITMOPIT_STR-OIASSIGNMENTREFERENCE sy-vline
WA_PARBSITMOPIT_STR-OIPAYMENTREFERENCE sy-vline
WA_PARBSITMOPIT_STR-OIDOCUMENTITEMTEXT sy-vline
WA_PARBSITMOPIT_STR-OIINVOICEREFERENCE sy-vline
WA_PARBSITMOPIT_STR-OIINVOICEREFERENCEFISCALYEAR sy-vline
WA_PARBSITMOPIT_STR-OIINVOICEITEMREFERENCE sy-vline
WA_PARBSITMOPIT_STR-OIFOLLOWONDOCUMENTTYPE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.