ABAP Select data from SAP table BAPIISUBPDX 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 BAPIISUBPDX 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 BAPIISUBPDX. 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 BAPIISUBPDX 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_BAPIISUBPDX TYPE STANDARD TABLE OF BAPIISUBPDX, WA_BAPIISUBPDX TYPE BAPIISUBPDX, 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: <BAPIISUBPDX> TYPE BAPIISUBPDX. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_BAPIISUBPDX. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM BAPIISUBPDX INTO TABLE IT_BAPIISUBPDX. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM BAPIISUBPDX * INTO TABLE @DATA(IT_BAPIISUBPDX2). *--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_BAPIISUBPDX INDEX 1 INTO DATA(WA_BAPIISUBPDX2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_BAPIISUBPDX ASSIGNING <BAPIISUBPDX>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<BAPIISUBPDX>-BPKIND = 1.
<BAPIISUBPDX>-BP_EXT = 1.
<BAPIISUBPDX>-BU_SORT1 = 1.
<BAPIISUBPDX>-BU_SORT2 = 1.
<BAPIISUBPDX>-SOURCE = 1.
ENDLOOP. LOOP AT IT_BAPIISUBPDX INTO WA_BAPIISUBPDX. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_BAPIISUBPDX-TITLE, sy-vline,
WA_BAPIISUBPDX-MARKED_FOR_DEL, sy-vline,
WA_BAPIISUBPDX-BLOCKED, sy-vline,
WA_BAPIISUBPDX-AUTH_GROUP, sy-vline,
WA_BAPIISUBPDX-NAME_ORG1, sy-vline,
WA_BAPIISUBPDX-NAME_ORG2, sy-vline.
ENDLOOP. *Add any further fields from structure WA_BAPIISUBPDX 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_BAPIISUBPDX 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_BAPIISUBPDX INTO WA_BAPIISUBPDX. *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_BAPIISUBPDX_STR,
BPKIND TYPE STRING,
BP_EXT TYPE STRING,
BU_SORT1 TYPE STRING,
BU_SORT2 TYPE STRING,
SOURCE TYPE STRING,
TITLE TYPE STRING,
MARKED_FOR_DEL TYPE STRING,
BLOCKED TYPE STRING,
AUTH_GROUP TYPE STRING,
NAME_ORG1 TYPE STRING,
NAME_ORG2 TYPE STRING,
NAME_ORG3 TYPE STRING,
NAME_ORG4 TYPE STRING,
LEGAL_ENTY TYPE STRING,
IND_SECTOR TYPE STRING,
NAME_LAST TYPE STRING,
NAME_FIRST TYPE STRING,
NAME_LAST2 TYPE STRING,
TITLE_ACA1 TYPE STRING,
TITLE_ACA2 TYPE STRING,
TITLE_ROYL TYPE STRING,
PREFIX1 TYPE STRING,
PREFIX2 TYPE STRING,
NAME1_TEXT TYPE STRING,
NICKNAME TYPE STRING,
SEX_M TYPE STRING,
SEX_F TYPE STRING,
BIRTHDATE TYPE STRING,
BIRTH_PLACE TYPE STRING,
DEATH_DATE TYPE STRING,
PERS_NUMB TYPE STRING,
MARRIAGE_STATE TYPE STRING,
EMPLO TYPE STRING,
JOB_GROUP TYPE STRING,
NATIO TYPE STRING,
COUNTRY_TAX TYPE STRING,
COUNTRY_TAX_ISO TYPE STRING,
COUNTRY_DSC TYPE STRING,
COUNTRY_DSC_ISO TYPE STRING,
PARTGRPTYP TYPE STRING,
NAME_GRP1 TYPE STRING,
NAME_GRP2 TYPE STRING,
LEG_TYPE TYPE STRING,
LEG_NUMB TYPE STRING,
INFCT TYPE STRING,
COM_REG TYPE STRING,
ASS_REG TYPE STRING,
COOP_REG TYPE STRING,
MAN_CRED_WORTH TYPE STRING,
DATE_MAN_CRED_WORTH TYPE STRING,
NAME1 TYPE STRING,
NAME2 TYPE STRING,
EMPL_CLASS TYPE STRING,
ISTALL_COMP TYPE STRING,
COMP_WORK_FIELD TYPE STRING,
MEM_SHIP_INST TYPE STRING,
DIV_LICENSE TYPE STRING,
INST_LIC_TYPE TYPE STRING,
NUMB_IDS TYPE STRING,
SEAL_PLIER TYPE STRING,
MAIN_UTIL_COMP TYPE STRING,
STATUS_INST TYPE STRING,
STATUS_DATE TYPE STRING,
INIT_LIC_DATE TYPE STRING,
WORKSHOP_INSP_DATE TYPE STRING,
LIC_RENEWAL_DATE TYPE STRING,
LIC_RENEWED_DATE TYPE STRING,
NUMB_UTIL_COMP TYPE STRING,
NUMB_BRANCHES TYPE STRING,
ID_NUMBER TYPE STRING,
DR_LICENSE_LAND1 TYPE STRING,
DR_LICENSE_REGIO TYPE STRING,
DR_LICENSE TYPE STRING,
SOC_SECURE TYPE STRING,
WELFARE TYPE STRING,
PLACE_EMPL TYPE STRING,
ACCOUNT_CLASS TYPE STRING,
NAMEMIDDLE TYPE STRING,
INITIALS TYPE STRING,
NAMEFORMAT TYPE STRING,
NAMCOUNTRY TYPE STRING,
PERS_NO TYPE STRING,
XSEXU TYPE STRING,
USERNAME TYPE STRING,
REGIOGROUP TYPE STRING,
PCODE1_EXT TYPE STRING,
PCODE2_EXT TYPE STRING,
PCODE3_EXT TYPE STRING,
BUPINFOREL TYPE STRING,
CLERK_ID TYPE STRING,
RECPTYPE TYPE STRING,
PMNT_METH TYPE STRING,
BK_DETAILS TYPE STRING,
G_L_ACCT TYPE STRING,
TITLELETTER TYPE STRING,
CONTACTALLOWANCE TYPE STRING,
LEGALORG TYPE STRING,
BIRTHNAME TYPE STRING,
MIDDLENAME TYPE STRING,
CORRESPONDLANGUAGE TYPE STRING,
PARTNERLANGUAGE TYPE STRING,
NOTRELEASED TYPE STRING,
SECONDNAME TYPE STRING,
CLASSIFICATION TYPE STRING,
VIP TYPE STRING,
IDENT_INSTALLER TYPE STRING,
NATURALPERSON TYPE STRING,
GENDER TYPE STRING,END OF T_EKKO_STR. DATA: WA_BAPIISUBPDX_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_BAPIISUBPDX_STR-BPKIND sy-vline
WA_BAPIISUBPDX_STR-BP_EXT sy-vline
WA_BAPIISUBPDX_STR-BU_SORT1 sy-vline
WA_BAPIISUBPDX_STR-BU_SORT2 sy-vline
WA_BAPIISUBPDX_STR-SOURCE sy-vline
WA_BAPIISUBPDX_STR-TITLE sy-vline
WA_BAPIISUBPDX_STR-MARKED_FOR_DEL sy-vline
WA_BAPIISUBPDX_STR-BLOCKED sy-vline
WA_BAPIISUBPDX_STR-AUTH_GROUP sy-vline
WA_BAPIISUBPDX_STR-NAME_ORG1 sy-vline
WA_BAPIISUBPDX_STR-NAME_ORG2 sy-vline
WA_BAPIISUBPDX_STR-NAME_ORG3 sy-vline
WA_BAPIISUBPDX_STR-NAME_ORG4 sy-vline
WA_BAPIISUBPDX_STR-LEGAL_ENTY sy-vline
WA_BAPIISUBPDX_STR-IND_SECTOR sy-vline
WA_BAPIISUBPDX_STR-NAME_LAST sy-vline
WA_BAPIISUBPDX_STR-NAME_FIRST sy-vline
WA_BAPIISUBPDX_STR-NAME_LAST2 sy-vline
WA_BAPIISUBPDX_STR-TITLE_ACA1 sy-vline
WA_BAPIISUBPDX_STR-TITLE_ACA2 sy-vline
WA_BAPIISUBPDX_STR-TITLE_ROYL sy-vline
WA_BAPIISUBPDX_STR-PREFIX1 sy-vline
WA_BAPIISUBPDX_STR-PREFIX2 sy-vline
WA_BAPIISUBPDX_STR-NAME1_TEXT sy-vline
WA_BAPIISUBPDX_STR-NICKNAME sy-vline
WA_BAPIISUBPDX_STR-SEX_M sy-vline
WA_BAPIISUBPDX_STR-SEX_F sy-vline
WA_BAPIISUBPDX_STR-BIRTHDATE sy-vline
WA_BAPIISUBPDX_STR-BIRTH_PLACE sy-vline
WA_BAPIISUBPDX_STR-DEATH_DATE sy-vline
WA_BAPIISUBPDX_STR-PERS_NUMB sy-vline
WA_BAPIISUBPDX_STR-MARRIAGE_STATE sy-vline
WA_BAPIISUBPDX_STR-EMPLO sy-vline
WA_BAPIISUBPDX_STR-JOB_GROUP sy-vline
WA_BAPIISUBPDX_STR-NATIO sy-vline
WA_BAPIISUBPDX_STR-COUNTRY_TAX sy-vline
WA_BAPIISUBPDX_STR-COUNTRY_TAX_ISO sy-vline
WA_BAPIISUBPDX_STR-COUNTRY_DSC sy-vline
WA_BAPIISUBPDX_STR-COUNTRY_DSC_ISO sy-vline
WA_BAPIISUBPDX_STR-PARTGRPTYP sy-vline
WA_BAPIISUBPDX_STR-NAME_GRP1 sy-vline
WA_BAPIISUBPDX_STR-NAME_GRP2 sy-vline
WA_BAPIISUBPDX_STR-LEG_TYPE sy-vline
WA_BAPIISUBPDX_STR-LEG_NUMB sy-vline
WA_BAPIISUBPDX_STR-INFCT sy-vline
WA_BAPIISUBPDX_STR-COM_REG sy-vline
WA_BAPIISUBPDX_STR-ASS_REG sy-vline
WA_BAPIISUBPDX_STR-COOP_REG sy-vline
WA_BAPIISUBPDX_STR-MAN_CRED_WORTH sy-vline
WA_BAPIISUBPDX_STR-DATE_MAN_CRED_WORTH sy-vline
WA_BAPIISUBPDX_STR-NAME1 sy-vline
WA_BAPIISUBPDX_STR-NAME2 sy-vline
WA_BAPIISUBPDX_STR-EMPL_CLASS sy-vline
WA_BAPIISUBPDX_STR-ISTALL_COMP sy-vline
WA_BAPIISUBPDX_STR-COMP_WORK_FIELD sy-vline
WA_BAPIISUBPDX_STR-MEM_SHIP_INST sy-vline
WA_BAPIISUBPDX_STR-DIV_LICENSE sy-vline
WA_BAPIISUBPDX_STR-INST_LIC_TYPE sy-vline
WA_BAPIISUBPDX_STR-NUMB_IDS sy-vline
WA_BAPIISUBPDX_STR-SEAL_PLIER sy-vline
WA_BAPIISUBPDX_STR-MAIN_UTIL_COMP sy-vline
WA_BAPIISUBPDX_STR-STATUS_INST sy-vline
WA_BAPIISUBPDX_STR-STATUS_DATE sy-vline
WA_BAPIISUBPDX_STR-INIT_LIC_DATE sy-vline
WA_BAPIISUBPDX_STR-WORKSHOP_INSP_DATE sy-vline
WA_BAPIISUBPDX_STR-LIC_RENEWAL_DATE sy-vline
WA_BAPIISUBPDX_STR-LIC_RENEWED_DATE sy-vline
WA_BAPIISUBPDX_STR-NUMB_UTIL_COMP sy-vline
WA_BAPIISUBPDX_STR-NUMB_BRANCHES sy-vline
WA_BAPIISUBPDX_STR-ID_NUMBER sy-vline
WA_BAPIISUBPDX_STR-DR_LICENSE_LAND1 sy-vline
WA_BAPIISUBPDX_STR-DR_LICENSE_REGIO sy-vline
WA_BAPIISUBPDX_STR-DR_LICENSE sy-vline
WA_BAPIISUBPDX_STR-SOC_SECURE sy-vline
WA_BAPIISUBPDX_STR-WELFARE sy-vline
WA_BAPIISUBPDX_STR-PLACE_EMPL sy-vline
WA_BAPIISUBPDX_STR-ACCOUNT_CLASS sy-vline
WA_BAPIISUBPDX_STR-NAMEMIDDLE sy-vline
WA_BAPIISUBPDX_STR-INITIALS sy-vline
WA_BAPIISUBPDX_STR-NAMEFORMAT sy-vline
WA_BAPIISUBPDX_STR-NAMCOUNTRY sy-vline
WA_BAPIISUBPDX_STR-PERS_NO sy-vline
WA_BAPIISUBPDX_STR-XSEXU sy-vline
WA_BAPIISUBPDX_STR-USERNAME sy-vline
WA_BAPIISUBPDX_STR-REGIOGROUP sy-vline
WA_BAPIISUBPDX_STR-PCODE1_EXT sy-vline
WA_BAPIISUBPDX_STR-PCODE2_EXT sy-vline
WA_BAPIISUBPDX_STR-PCODE3_EXT sy-vline
WA_BAPIISUBPDX_STR-BUPINFOREL sy-vline
WA_BAPIISUBPDX_STR-CLERK_ID sy-vline
WA_BAPIISUBPDX_STR-RECPTYPE sy-vline
WA_BAPIISUBPDX_STR-PMNT_METH sy-vline
WA_BAPIISUBPDX_STR-BK_DETAILS sy-vline
WA_BAPIISUBPDX_STR-G_L_ACCT sy-vline
WA_BAPIISUBPDX_STR-TITLELETTER sy-vline
WA_BAPIISUBPDX_STR-CONTACTALLOWANCE sy-vline
WA_BAPIISUBPDX_STR-LEGALORG sy-vline
WA_BAPIISUBPDX_STR-BIRTHNAME sy-vline
WA_BAPIISUBPDX_STR-MIDDLENAME sy-vline
WA_BAPIISUBPDX_STR-CORRESPONDLANGUAGE sy-vline
WA_BAPIISUBPDX_STR-PARTNERLANGUAGE sy-vline
WA_BAPIISUBPDX_STR-NOTRELEASED sy-vline
WA_BAPIISUBPDX_STR-SECONDNAME sy-vline
WA_BAPIISUBPDX_STR-CLASSIFICATION sy-vline
WA_BAPIISUBPDX_STR-VIP sy-vline
WA_BAPIISUBPDX_STR-IDENT_INSTALLER sy-vline
WA_BAPIISUBPDX_STR-NATURALPERSON sy-vline
WA_BAPIISUBPDX_STR-GENDER sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.