ABAP Select data from SAP table PARBSITONACC 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 PARBSITONACC 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 PARBSITONACC. 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 PARBSITONACC 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_PARBSITONACC TYPE STANDARD TABLE OF PARBSITONACC,
      WA_PARBSITONACC TYPE PARBSITONACC,
      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: <PARBSITONACC> TYPE PARBSITONACC.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PARBSITONACC
*  INTO TABLE @DATA(IT_PARBSITONACC2).
*--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_PARBSITONACC INDEX 1 INTO DATA(WA_PARBSITONACC2).


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

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PARBSITONACC-HOUSEBANKACCOUNT, sy-vline,
WA_PARBSITONACC-BANKINTERNALID, sy-vline,
WA_PARBSITONACC-BANKACCOUNT, sy-vline,
WA_PARBSITONACC-BANKNAME, sy-vline,
WA_PARBSITONACC-CURRENCY, sy-vline,
WA_PARBSITONACC-BANKSTATEMENTDATE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PARBSITONACC 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_PARBSITONACC 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_PARBSITONACC INTO WA_PARBSITONACC. *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_PARBSITONACC-BANKSTATEMENTSHORTID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PARBSITONACC-BANKSTATEMENTSHORTID.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

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

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

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

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

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

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

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

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

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