ABAP Select data from SAP table HBRXXXX0 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 HBRXXXX0 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 HBRXXXX0. 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 HBRXXXX0 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_HBRXXXX0 TYPE STANDARD TABLE OF HBRXXXX0,
      WA_HBRXXXX0 TYPE HBRXXXX0,
      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: <HBRXXXX0> TYPE HBRXXXX0.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM HBRXXXX0
*  INTO TABLE @DATA(IT_HBRXXXX02).
*--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_HBRXXXX0 INDEX 1 INTO DATA(WA_HBRXXXX02).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_HBRXXXX0 ASSIGNING <HBRXXXX0>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<HBRXXXX0>-CGC1 = 1.
<HBRXXXX0>-CGC2 = 1.
<HBRXXXX0>-CHECK1 = 1.
<HBRXXXX0>-CHECK2 = 1.
<HBRXXXX0>-CHECK3 = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_HBRXXXX0-CHECK4, sy-vline,
WA_HBRXXXX0-CHECK5, sy-vline,
WA_HBRXXXX0-CHECK6, sy-vline,
WA_HBRXXXX0-CHECK7, sy-vline,
WA_HBRXXXX0-DATE1, sy-vline,
WA_HBRXXXX0-DATE2, sy-vline.
ENDLOOP. *Add any further fields from structure WA_HBRXXXX0 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_HBRXXXX0 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_HBRXXXX0 INTO WA_HBRXXXX0. *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 CGCRT, internal->external for field CGC1 CALL FUNCTION 'CONVERSION_EXIT_CGCRT_OUTPUT' EXPORTING input = WA_HBRXXXX0-CGC1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_HBRXXXX0-CGC1.
WRITE:/ 'New Value:', ld_input.

*Conversion exit CGCRT, internal->external for field CGC2 CALL FUNCTION 'CONVERSION_EXIT_CGCRT_OUTPUT' EXPORTING input = WA_HBRXXXX0-CGC2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_HBRXXXX0-CGC2.
WRITE:/ 'New Value:', ld_input.

*Conversion exit SPDEV, internal->external for field PDEST CALL FUNCTION 'CONVERSION_EXIT_SPDEV_OUTPUT' EXPORTING input = WA_HBRXXXX0-PDEST IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_HBRXXXX0-PDEST.
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_HBRXXXX0_STR,
CGC1 TYPE STRING,
CGC2 TYPE STRING,
CHECK1 TYPE STRING,
CHECK2 TYPE STRING,
CHECK3 TYPE STRING,
CHECK4 TYPE STRING,
CHECK5 TYPE STRING,
CHECK6 TYPE STRING,
CHECK7 TYPE STRING,
DATE1 TYPE STRING,
DATE2 TYPE STRING,
DATE3 TYPE STRING,
DATE4 TYPE STRING,
FORM1 TYPE STRING,
FORM2 TYPE STRING,
BETRG1 TYPE STRING,
BETRG2 TYPE STRING,
BETRG3 TYPE STRING,
BETRG4 TYPE STRING,
BETRG5 TYPE STRING,
NODEP TYPE STRING,
KWERT TYPE STRING,
FILIA TYPE STRING,
FILIA1 TYPE STRING,
OBRA TYPE STRING,
MIDIA TYPE STRING,
DECLR TYPE STRING,
ALTRR TYPE STRING,
REMID TYPE STRING,
CODRE TYPE STRING,
CIATY TYPE STRING,
LINES TYPE STRING,
CTRCD TYPE STRING,
TYREC TYPE STRING,
CATER TYPE STRING,
MES TYPE STRING,
ANO TYPE STRING,
PAYID TYPE STRING,
BTCON TYPE STRING,
SPOOL TYPE STRING,
MAPN TYPE STRING,
CONT1 TYPE STRING,
CONT2 TYPE STRING,
PRZNT1 TYPE STRING,
PRZNT2 TYPE STRING,
REFNU TYPE STRING,
ABRTG TYPE STRING,
CLEMP TYPE STRING,
CODCE TYPE STRING,
TIPIN TYPE STRING,
CODSE TYPE STRING,
INDFG TYPE STRING,
INDPS TYPE STRING,
BETRG TYPE STRING,
INDIS TYPE STRING,
CODTE TYPE STRING,
TITL1 TYPE STRING,
LNART TYPE STRING,
COMP1 TYPE STRING,
COMP2 TYPE STRING,
RADI1 TYPE STRING,
NUDDD TYPE STRING,
PHONE TYPE STRING,
RAMAL TYPE STRING,
NUFAX TYPE STRING,
CPFRE TYPE STRING,
PJAM1 TYPE STRING,
PJAM2 TYPE STRING,
PJAM3 TYPE STRING,
TJAM1 TYPE STRING,
TJAM2 TYPE STRING,
TJAM3 TYPE STRING,
NBANC TYPE STRING,
CHEQU TYPE STRING,
RADI2 TYPE STRING,
RADI3 TYPE STRING,
RADI4 TYPE STRING,
RADI5 TYPE STRING,
NUBAN TYPE STRING,
DOCTYPE TYPE STRING,
PDEST TYPE STRING,
DSN1 TYPE STRING,
DSN2 TYPE STRING,
PERSON TYPE STRING,
UPDAT TYPE STRING,
SUBTY TYPE STRING,
CPF TYPE STRING,
TEL1 TYPE STRING,
TEL2 TYPE STRING,
FAX1 TYPE STRING,
FAX2 TYPE STRING,
EQUI TYPE STRING,
FAB TYPE STRING,
INSCE TYPE STRING,
LOCAL TYPE STRING,
T1NOR TYPE STRING,
T1OVE TYPE STRING,
T1AMB TYPE STRING,
TEDIA TYPE STRING,
CDIAS TYPE STRING,
V1FEC TYPE STRING,
MEIO TYPE STRING,
ANALIT TYPE STRING,
DATE_FROM TYPE STRING,
DATE_TO TYPE STRING,
PROTO TYPE STRING,
QUTST TYPE STRING,
FIREDT TYPE STRING,
BRANCHFORM TYPE STRING,END OF T_EKKO_STR. DATA: WA_HBRXXXX0_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_HBRXXXX0_STR-CGC1 sy-vline
WA_HBRXXXX0_STR-CGC2 sy-vline
WA_HBRXXXX0_STR-CHECK1 sy-vline
WA_HBRXXXX0_STR-CHECK2 sy-vline
WA_HBRXXXX0_STR-CHECK3 sy-vline
WA_HBRXXXX0_STR-CHECK4 sy-vline
WA_HBRXXXX0_STR-CHECK5 sy-vline
WA_HBRXXXX0_STR-CHECK6 sy-vline
WA_HBRXXXX0_STR-CHECK7 sy-vline
WA_HBRXXXX0_STR-DATE1 sy-vline
WA_HBRXXXX0_STR-DATE2 sy-vline
WA_HBRXXXX0_STR-DATE3 sy-vline
WA_HBRXXXX0_STR-DATE4 sy-vline
WA_HBRXXXX0_STR-FORM1 sy-vline
WA_HBRXXXX0_STR-FORM2 sy-vline
WA_HBRXXXX0_STR-BETRG1 sy-vline
WA_HBRXXXX0_STR-BETRG2 sy-vline
WA_HBRXXXX0_STR-BETRG3 sy-vline
WA_HBRXXXX0_STR-BETRG4 sy-vline
WA_HBRXXXX0_STR-BETRG5 sy-vline
WA_HBRXXXX0_STR-NODEP sy-vline
WA_HBRXXXX0_STR-KWERT sy-vline
WA_HBRXXXX0_STR-FILIA sy-vline
WA_HBRXXXX0_STR-FILIA1 sy-vline
WA_HBRXXXX0_STR-OBRA sy-vline
WA_HBRXXXX0_STR-MIDIA sy-vline
WA_HBRXXXX0_STR-DECLR sy-vline
WA_HBRXXXX0_STR-ALTRR sy-vline
WA_HBRXXXX0_STR-REMID sy-vline
WA_HBRXXXX0_STR-CODRE sy-vline
WA_HBRXXXX0_STR-CIATY sy-vline
WA_HBRXXXX0_STR-LINES sy-vline
WA_HBRXXXX0_STR-CTRCD sy-vline
WA_HBRXXXX0_STR-TYREC sy-vline
WA_HBRXXXX0_STR-CATER sy-vline
WA_HBRXXXX0_STR-MES sy-vline
WA_HBRXXXX0_STR-ANO sy-vline
WA_HBRXXXX0_STR-PAYID sy-vline
WA_HBRXXXX0_STR-BTCON sy-vline
WA_HBRXXXX0_STR-SPOOL sy-vline
WA_HBRXXXX0_STR-MAPN sy-vline
WA_HBRXXXX0_STR-CONT1 sy-vline
WA_HBRXXXX0_STR-CONT2 sy-vline
WA_HBRXXXX0_STR-PRZNT1 sy-vline
WA_HBRXXXX0_STR-PRZNT2 sy-vline
WA_HBRXXXX0_STR-REFNU sy-vline
WA_HBRXXXX0_STR-ABRTG sy-vline
WA_HBRXXXX0_STR-CLEMP sy-vline
WA_HBRXXXX0_STR-CODCE sy-vline
WA_HBRXXXX0_STR-TIPIN sy-vline
WA_HBRXXXX0_STR-CODSE sy-vline
WA_HBRXXXX0_STR-INDFG sy-vline
WA_HBRXXXX0_STR-INDPS sy-vline
WA_HBRXXXX0_STR-BETRG sy-vline
WA_HBRXXXX0_STR-INDIS sy-vline
WA_HBRXXXX0_STR-CODTE sy-vline
WA_HBRXXXX0_STR-TITL1 sy-vline
WA_HBRXXXX0_STR-LNART sy-vline
WA_HBRXXXX0_STR-COMP1 sy-vline
WA_HBRXXXX0_STR-COMP2 sy-vline
WA_HBRXXXX0_STR-RADI1 sy-vline
WA_HBRXXXX0_STR-NUDDD sy-vline
WA_HBRXXXX0_STR-PHONE sy-vline
WA_HBRXXXX0_STR-RAMAL sy-vline
WA_HBRXXXX0_STR-NUFAX sy-vline
WA_HBRXXXX0_STR-CPFRE sy-vline
WA_HBRXXXX0_STR-PJAM1 sy-vline
WA_HBRXXXX0_STR-PJAM2 sy-vline
WA_HBRXXXX0_STR-PJAM3 sy-vline
WA_HBRXXXX0_STR-TJAM1 sy-vline
WA_HBRXXXX0_STR-TJAM2 sy-vline
WA_HBRXXXX0_STR-TJAM3 sy-vline
WA_HBRXXXX0_STR-NBANC sy-vline
WA_HBRXXXX0_STR-CHEQU sy-vline
WA_HBRXXXX0_STR-RADI2 sy-vline
WA_HBRXXXX0_STR-RADI3 sy-vline
WA_HBRXXXX0_STR-RADI4 sy-vline
WA_HBRXXXX0_STR-RADI5 sy-vline
WA_HBRXXXX0_STR-NUBAN sy-vline
WA_HBRXXXX0_STR-DOCTYPE sy-vline
WA_HBRXXXX0_STR-PDEST sy-vline
WA_HBRXXXX0_STR-DSN1 sy-vline
WA_HBRXXXX0_STR-DSN2 sy-vline
WA_HBRXXXX0_STR-PERSON sy-vline
WA_HBRXXXX0_STR-UPDAT sy-vline
WA_HBRXXXX0_STR-SUBTY sy-vline
WA_HBRXXXX0_STR-CPF sy-vline
WA_HBRXXXX0_STR-TEL1 sy-vline
WA_HBRXXXX0_STR-TEL2 sy-vline
WA_HBRXXXX0_STR-FAX1 sy-vline
WA_HBRXXXX0_STR-FAX2 sy-vline
WA_HBRXXXX0_STR-EQUI sy-vline
WA_HBRXXXX0_STR-FAB sy-vline
WA_HBRXXXX0_STR-INSCE sy-vline
WA_HBRXXXX0_STR-LOCAL sy-vline
WA_HBRXXXX0_STR-T1NOR sy-vline
WA_HBRXXXX0_STR-T1OVE sy-vline
WA_HBRXXXX0_STR-T1AMB sy-vline
WA_HBRXXXX0_STR-TEDIA sy-vline
WA_HBRXXXX0_STR-CDIAS sy-vline
WA_HBRXXXX0_STR-V1FEC sy-vline
WA_HBRXXXX0_STR-MEIO sy-vline
WA_HBRXXXX0_STR-ANALIT sy-vline
WA_HBRXXXX0_STR-DATE_FROM sy-vline
WA_HBRXXXX0_STR-DATE_TO sy-vline
WA_HBRXXXX0_STR-PROTO sy-vline
WA_HBRXXXX0_STR-QUTST sy-vline
WA_HBRXXXX0_STR-FIREDT sy-vline
WA_HBRXXXX0_STR-BRANCHFORM sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.