ABAP Select data from SAP table JBIUPDAB 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 JBIUPDAB 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 JBIUPDAB. 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 JBIUPDAB 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_JBIUPDAB TYPE STANDARD TABLE OF JBIUPDAB,
      WA_JBIUPDAB TYPE JBIUPDAB,
      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: <JBIUPDAB> TYPE JBIUPDAB.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM JBIUPDAB
*  INTO TABLE @DATA(IT_JBIUPDAB2).
*--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_JBIUPDAB INDEX 1 INTO DATA(WA_JBIUPDAB2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_JBIUPDAB ASSIGNING <JBIUPDAB>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<JBIUPDAB>-BUKRS = 1.
<JBIUPDAB>-RANL = 1.
<JBIUPDAB>-MANDT = 1.
<JBIUPDAB>-STYPE = 1.
<JBIUPDAB>-SKOART = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_JBIUPDAB-SBEWART, sy-vline,
WA_JBIUPDAB-VVSBBEZ, sy-vline,
WA_JBIUPDAB-SPLANIST, sy-vline,
WA_JBIUPDAB-RPARTNR, sy-vline,
WA_JBIUPDAB-DBUDAT, sy-vline,
WA_JBIUPDAB-DBLDAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_JBIUPDAB 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_JBIUPDAB 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_JBIUPDAB INTO WA_JBIUPDAB. *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 RANL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_JBIUPDAB-RANL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_JBIUPDAB-RANL.
WRITE:/ 'New Value:', ld_input.

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

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

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

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

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

*Conversion exit ALPHA, internal->external for field KUNNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_JBIUPDAB-KUNNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_JBIUPDAB-KUNNR.
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_JBIUPDAB_STR,
BUKRS TYPE STRING,
RANL TYPE STRING,
MANDT TYPE STRING,
STYPE TYPE STRING,
SKOART TYPE STRING,
SBEWART TYPE STRING,
VVSBBEZ TYPE STRING,
SPLANIST TYPE STRING,
RPARTNR TYPE STRING,
DBUDAT TYPE STRING,
DBLDAT TYPE STRING,
DVALUT TYPE STRING,
DFAELL TYPE STRING,
DDISPO TYPE STRING,
DVERRECH TYPE STRING,
SINCL TYPE STRING,
SINCLVERR TYPE STRING,
SINCLBIS TYPE STRING,
SEXCLVON TYPE STRING,
NO_SINCL_CHANGE TYPE STRING,
DBERVON TYPE STRING,
DBERBIS TYPE STRING,
BHWHR TYPE STRING,
N_BHWHR TYPE STRING,
BBWHR TYPE STRING,
N_BBWHR TYPE STRING,
SBWHR TYPE STRING,
BNWHR TYPE STRING,
N_BNWHR TYPE STRING,
SNWHR TYPE STRING,
BCWHR TYPE STRING,
N_BCWHR TYPE STRING,
SCWHR TYPE STRING,
BBASIS TYPE STRING,
N_BBASIS TYPE STRING,
SZEGEN TYPE STRING,
RBELKPFD TYPE STRING,
DGUEL_KK TYPE STRING,
DGUEL_KP TYPE STRING,
DBPERIOD TYPE STRING,
SPAEXCL TYPE STRING,
SPAULT TYPE STRING,
DEPERIOD TYPE STRING,
SPEINCL TYPE STRING,
SPEULT TYPE STRING,
SZBMETH TYPE STRING,
SREFBEW TYPE STRING,
RREFKONT TYPE STRING,
GSBER TYPE STRING,
ZAHLS TYPE STRING,
MANSP TYPE STRING,
RSOLL TYPE STRING,
RHABEN TYPE STRING,
SWOHER TYPE STRING,
STICHTAG TYPE STRING,
OP_BBWHR TYPE STRING,
N_OP_BBWHR TYPE STRING,
OP_BHWHR TYPE STRING,
N_OP_BHWHR TYPE STRING,
OP_BNWHR TYPE STRING,
N_OP_BNWHR TYPE STRING,
OP_BCWHR TYPE STRING,
N_OP_BCWHR TYPE STRING,
OP_DDISPO TYPE STRING,
OP_DBUDAT TYPE STRING,
SSTORNO TYPE STRING,
SSTOGRD TYPE STRING,
SZART TYPE STRING,
KURS2 TYPE STRING,
N_KURS2 TYPE STRING,
ZLSCH TYPE STRING,
DFAELL_OLD_EXT TYPE STRING,
DDISPO_OLD_EXT TYPE STRING,
RBO_EXT TYPE STRING,
SVORGANG TYPE STRING,
ABASTAGE TYPE STRING,
PKOND TYPE STRING,
N_PKOND TYPE STRING,
DPKOND TYPE STRING,
SSTCKKZ_X TYPE STRING,
JSOFVERR_X TYPE STRING,
HKTID TYPE STRING,
HBKID TYPE STRING,
DZFEST TYPE STRING,
ALT_BUCHEN TYPE STRING,
SDBMODE TYPE STRING,
SBUST TYPE STRING,
HKONT TYPE STRING,
KUNNR TYPE STRING,
JZEGEN TYPE STRING,
ORG_INDEX TYPE STRING,END OF T_EKKO_STR. DATA: WA_JBIUPDAB_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_JBIUPDAB_STR-BUKRS sy-vline
WA_JBIUPDAB_STR-RANL sy-vline
WA_JBIUPDAB_STR-MANDT sy-vline
WA_JBIUPDAB_STR-STYPE sy-vline
WA_JBIUPDAB_STR-SKOART sy-vline
WA_JBIUPDAB_STR-SBEWART sy-vline
WA_JBIUPDAB_STR-VVSBBEZ sy-vline
WA_JBIUPDAB_STR-SPLANIST sy-vline
WA_JBIUPDAB_STR-RPARTNR sy-vline
WA_JBIUPDAB_STR-DBUDAT sy-vline
WA_JBIUPDAB_STR-DBLDAT sy-vline
WA_JBIUPDAB_STR-DVALUT sy-vline
WA_JBIUPDAB_STR-DFAELL sy-vline
WA_JBIUPDAB_STR-DDISPO sy-vline
WA_JBIUPDAB_STR-DVERRECH sy-vline
WA_JBIUPDAB_STR-SINCL sy-vline
WA_JBIUPDAB_STR-SINCLVERR sy-vline
WA_JBIUPDAB_STR-SINCLBIS sy-vline
WA_JBIUPDAB_STR-SEXCLVON sy-vline
WA_JBIUPDAB_STR-NO_SINCL_CHANGE sy-vline
WA_JBIUPDAB_STR-DBERVON sy-vline
WA_JBIUPDAB_STR-DBERBIS sy-vline
WA_JBIUPDAB_STR-BHWHR sy-vline
WA_JBIUPDAB_STR-N_BHWHR sy-vline
WA_JBIUPDAB_STR-BBWHR sy-vline
WA_JBIUPDAB_STR-N_BBWHR sy-vline
WA_JBIUPDAB_STR-SBWHR sy-vline
WA_JBIUPDAB_STR-BNWHR sy-vline
WA_JBIUPDAB_STR-N_BNWHR sy-vline
WA_JBIUPDAB_STR-SNWHR sy-vline
WA_JBIUPDAB_STR-BCWHR sy-vline
WA_JBIUPDAB_STR-N_BCWHR sy-vline
WA_JBIUPDAB_STR-SCWHR sy-vline
WA_JBIUPDAB_STR-BBASIS sy-vline
WA_JBIUPDAB_STR-N_BBASIS sy-vline
WA_JBIUPDAB_STR-SZEGEN sy-vline
WA_JBIUPDAB_STR-RBELKPFD sy-vline
WA_JBIUPDAB_STR-DGUEL_KK sy-vline
WA_JBIUPDAB_STR-DGUEL_KP sy-vline
WA_JBIUPDAB_STR-DBPERIOD sy-vline
WA_JBIUPDAB_STR-SPAEXCL sy-vline
WA_JBIUPDAB_STR-SPAULT sy-vline
WA_JBIUPDAB_STR-DEPERIOD sy-vline
WA_JBIUPDAB_STR-SPEINCL sy-vline
WA_JBIUPDAB_STR-SPEULT sy-vline
WA_JBIUPDAB_STR-SZBMETH sy-vline
WA_JBIUPDAB_STR-SREFBEW sy-vline
WA_JBIUPDAB_STR-RREFKONT sy-vline
WA_JBIUPDAB_STR-GSBER sy-vline
WA_JBIUPDAB_STR-ZAHLS sy-vline
WA_JBIUPDAB_STR-MANSP sy-vline
WA_JBIUPDAB_STR-RSOLL sy-vline
WA_JBIUPDAB_STR-RHABEN sy-vline
WA_JBIUPDAB_STR-SWOHER sy-vline
WA_JBIUPDAB_STR-STICHTAG sy-vline
WA_JBIUPDAB_STR-OP_BBWHR sy-vline
WA_JBIUPDAB_STR-N_OP_BBWHR sy-vline
WA_JBIUPDAB_STR-OP_BHWHR sy-vline
WA_JBIUPDAB_STR-N_OP_BHWHR sy-vline
WA_JBIUPDAB_STR-OP_BNWHR sy-vline
WA_JBIUPDAB_STR-N_OP_BNWHR sy-vline
WA_JBIUPDAB_STR-OP_BCWHR sy-vline
WA_JBIUPDAB_STR-N_OP_BCWHR sy-vline
WA_JBIUPDAB_STR-OP_DDISPO sy-vline
WA_JBIUPDAB_STR-OP_DBUDAT sy-vline
WA_JBIUPDAB_STR-SSTORNO sy-vline
WA_JBIUPDAB_STR-SSTOGRD sy-vline
WA_JBIUPDAB_STR-SZART sy-vline
WA_JBIUPDAB_STR-KURS2 sy-vline
WA_JBIUPDAB_STR-N_KURS2 sy-vline
WA_JBIUPDAB_STR-ZLSCH sy-vline
WA_JBIUPDAB_STR-DFAELL_OLD_EXT sy-vline
WA_JBIUPDAB_STR-DDISPO_OLD_EXT sy-vline
WA_JBIUPDAB_STR-RBO_EXT sy-vline
WA_JBIUPDAB_STR-SVORGANG sy-vline
WA_JBIUPDAB_STR-ABASTAGE sy-vline
WA_JBIUPDAB_STR-PKOND sy-vline
WA_JBIUPDAB_STR-N_PKOND sy-vline
WA_JBIUPDAB_STR-DPKOND sy-vline
WA_JBIUPDAB_STR-SSTCKKZ_X sy-vline
WA_JBIUPDAB_STR-JSOFVERR_X sy-vline
WA_JBIUPDAB_STR-HKTID sy-vline
WA_JBIUPDAB_STR-HBKID sy-vline
WA_JBIUPDAB_STR-DZFEST sy-vline
WA_JBIUPDAB_STR-ALT_BUCHEN sy-vline
WA_JBIUPDAB_STR-SDBMODE sy-vline
WA_JBIUPDAB_STR-SBUST sy-vline
WA_JBIUPDAB_STR-HKONT sy-vline
WA_JBIUPDAB_STR-KUNNR sy-vline
WA_JBIUPDAB_STR-JZEGEN sy-vline
WA_JBIUPDAB_STR-ORG_INDEX sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.