ABAP Select data from SAP table J_BS_LINE_081 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 J_BS_LINE_081 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 J_BS_LINE_081. 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 J_BS_LINE_081 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_J_BS_LINE_081 TYPE STANDARD TABLE OF J_BS_LINE_081,
      WA_J_BS_LINE_081 TYPE J_BS_LINE_081,
      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: <J_BS_LINE_081> TYPE J_BS_LINE_081.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM J_BS_LINE_081
*  INTO TABLE @DATA(IT_J_BS_LINE_0812).
*--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_J_BS_LINE_081 INDEX 1 INTO DATA(WA_J_BS_LINE_0812).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_J_BS_LINE_081 ASSIGNING <J_BS_LINE_081>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<J_BS_LINE_081>-0811BEGCAP = 1.
<J_BS_LINE_081>-0811ADDCAP = 1.
<J_BS_LINE_081>-0811RESCAP = 1.
<J_BS_LINE_081>-0811LOSS = 1.
<J_BS_LINE_081>-0811TOTAL = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_J_BS_LINE_081-0811NAME, sy-vline,
WA_J_BS_LINE_081-0812BEGCAP, sy-vline,
WA_J_BS_LINE_081-0812ADDCAP, sy-vline,
WA_J_BS_LINE_081-0812RESCAP, sy-vline,
WA_J_BS_LINE_081-0812LOSS, sy-vline,
WA_J_BS_LINE_081-0812TOTAL, sy-vline.
ENDLOOP. *Add any further fields from structure WA_J_BS_LINE_081 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_J_BS_LINE_081 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_J_BS_LINE_081 INTO WA_J_BS_LINE_081. *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_J_BS_LINE_081_STR,
0811BEGCAP TYPE STRING,
0811ADDCAP TYPE STRING,
0811RESCAP TYPE STRING,
0811LOSS TYPE STRING,
0811TOTAL TYPE STRING,
0811NAME TYPE STRING,
0812BEGCAP TYPE STRING,
0812ADDCAP TYPE STRING,
0812RESCAP TYPE STRING,
0812LOSS TYPE STRING,
0812TOTAL TYPE STRING,
0812NAME TYPE STRING,
0813BEGCAP TYPE STRING,
0813ADDCAP TYPE STRING,
0813RESCAP TYPE STRING,
0813LOSS TYPE STRING,
0813TOTAL TYPE STRING,
0813NAME TYPE STRING,
0814BEGCAP TYPE STRING,
0814ADDCAP TYPE STRING,
0814RESCAP TYPE STRING,
0814LOSS TYPE STRING,
0814TOTAL TYPE STRING,
0814NAME TYPE STRING,
0815BEGCAP TYPE STRING,
0815ADDCAP TYPE STRING,
0815RESCAP TYPE STRING,
0815LOSS TYPE STRING,
0815TOTAL TYPE STRING,
0815NAME TYPE STRING,
0816BEGCAP TYPE STRING,
0816ADDCAP TYPE STRING,
0816RESCAP TYPE STRING,
0816LOSS TYPE STRING,
0816TOTAL TYPE STRING,
0816NAME TYPE STRING,
0817BEGCAP TYPE STRING,
0817ADDCAP TYPE STRING,
0817RESCAP TYPE STRING,
0817LOSS TYPE STRING,
0817TOTAL TYPE STRING,
0817NAME TYPE STRING,
0818BEGCAP TYPE STRING,
0818ADDCAP TYPE STRING,
0818RESCAP TYPE STRING,
0818LOSS TYPE STRING,
0818TOTAL TYPE STRING,
0818NAME TYPE STRING,
0819BEGCAP TYPE STRING,
0819ADDCAP TYPE STRING,
0819RESCAP TYPE STRING,
0819LOSS TYPE STRING,
0819TOTAL TYPE STRING,
0819NAME TYPE STRING,
0820BEGCAP TYPE STRING,
0820ADDCAP TYPE STRING,
0820RESCAP TYPE STRING,
0820LOSS TYPE STRING,
0820TOTAL TYPE STRING,
0820NAME TYPE STRING,
0821BEGCAP TYPE STRING,
0821ADDCAP TYPE STRING,
0821RESCAP TYPE STRING,
0821LOSS TYPE STRING,
0821TOTAL TYPE STRING,
0821NAME TYPE STRING,
0822BEGCAP TYPE STRING,
0822ADDCAP TYPE STRING,
0822RESCAP TYPE STRING,
0822LOSS TYPE STRING,
0822TOTAL TYPE STRING,
0822NAME TYPE STRING,
0823BEGCAP TYPE STRING,
0823ADDCAP TYPE STRING,
0823RESCAP TYPE STRING,
0823LOSS TYPE STRING,
0823TOTAL TYPE STRING,
0823NAME TYPE STRING,
0824BEGCAP TYPE STRING,
0824ADDCAP TYPE STRING,
0824RESCAP TYPE STRING,
0824LOSS TYPE STRING,
0824TOTAL TYPE STRING,
0824NAME TYPE STRING,
0825BEGCAP TYPE STRING,
0825ADDCAP TYPE STRING,
0825RESCAP TYPE STRING,
0825LOSS TYPE STRING,
0825TOTAL TYPE STRING,
0825NAME TYPE STRING,
0826BEGCAP TYPE STRING,
0826ADDCAP TYPE STRING,
0826RESCAP TYPE STRING,
0826LOSS TYPE STRING,
0826TOTAL TYPE STRING,
0826NAME TYPE STRING,
0827BEGCAP TYPE STRING,
0827ADDCAP TYPE STRING,
0827RESCAP TYPE STRING,
0827LOSS TYPE STRING,
0827TOTAL TYPE STRING,
0827NAME TYPE STRING,
0828BEGCAP TYPE STRING,
0828ADDCAP TYPE STRING,
0828RESCAP TYPE STRING,
0828LOSS TYPE STRING,
0828TOTAL TYPE STRING,
0828NAME TYPE STRING,
0829BEGCAP TYPE STRING,
0829ADDCAP TYPE STRING,
0829RESCAP TYPE STRING,
0829LOSS TYPE STRING,
0829TOTAL TYPE STRING,
0829NAME TYPE STRING,
0830BEGCAP TYPE STRING,
0830ADDCAP TYPE STRING,
0830RESCAP TYPE STRING,
0830LOSS TYPE STRING,
0830TOTAL TYPE STRING,
0830NAME TYPE STRING,
0831BEGCAP TYPE STRING,
0831ADDCAP TYPE STRING,
0831RESCAP TYPE STRING,
0831LOSS TYPE STRING,
0831TOTAL TYPE STRING,
0831NAME TYPE STRING,END OF T_EKKO_STR. DATA: WA_J_BS_LINE_081_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_J_BS_LINE_081_STR-0811BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0811ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0811RESCAP sy-vline
WA_J_BS_LINE_081_STR-0811LOSS sy-vline
WA_J_BS_LINE_081_STR-0811TOTAL sy-vline
WA_J_BS_LINE_081_STR-0811NAME sy-vline
WA_J_BS_LINE_081_STR-0812BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0812ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0812RESCAP sy-vline
WA_J_BS_LINE_081_STR-0812LOSS sy-vline
WA_J_BS_LINE_081_STR-0812TOTAL sy-vline
WA_J_BS_LINE_081_STR-0812NAME sy-vline
WA_J_BS_LINE_081_STR-0813BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0813ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0813RESCAP sy-vline
WA_J_BS_LINE_081_STR-0813LOSS sy-vline
WA_J_BS_LINE_081_STR-0813TOTAL sy-vline
WA_J_BS_LINE_081_STR-0813NAME sy-vline
WA_J_BS_LINE_081_STR-0814BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0814ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0814RESCAP sy-vline
WA_J_BS_LINE_081_STR-0814LOSS sy-vline
WA_J_BS_LINE_081_STR-0814TOTAL sy-vline
WA_J_BS_LINE_081_STR-0814NAME sy-vline
WA_J_BS_LINE_081_STR-0815BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0815ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0815RESCAP sy-vline
WA_J_BS_LINE_081_STR-0815LOSS sy-vline
WA_J_BS_LINE_081_STR-0815TOTAL sy-vline
WA_J_BS_LINE_081_STR-0815NAME sy-vline
WA_J_BS_LINE_081_STR-0816BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0816ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0816RESCAP sy-vline
WA_J_BS_LINE_081_STR-0816LOSS sy-vline
WA_J_BS_LINE_081_STR-0816TOTAL sy-vline
WA_J_BS_LINE_081_STR-0816NAME sy-vline
WA_J_BS_LINE_081_STR-0817BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0817ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0817RESCAP sy-vline
WA_J_BS_LINE_081_STR-0817LOSS sy-vline
WA_J_BS_LINE_081_STR-0817TOTAL sy-vline
WA_J_BS_LINE_081_STR-0817NAME sy-vline
WA_J_BS_LINE_081_STR-0818BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0818ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0818RESCAP sy-vline
WA_J_BS_LINE_081_STR-0818LOSS sy-vline
WA_J_BS_LINE_081_STR-0818TOTAL sy-vline
WA_J_BS_LINE_081_STR-0818NAME sy-vline
WA_J_BS_LINE_081_STR-0819BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0819ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0819RESCAP sy-vline
WA_J_BS_LINE_081_STR-0819LOSS sy-vline
WA_J_BS_LINE_081_STR-0819TOTAL sy-vline
WA_J_BS_LINE_081_STR-0819NAME sy-vline
WA_J_BS_LINE_081_STR-0820BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0820ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0820RESCAP sy-vline
WA_J_BS_LINE_081_STR-0820LOSS sy-vline
WA_J_BS_LINE_081_STR-0820TOTAL sy-vline
WA_J_BS_LINE_081_STR-0820NAME sy-vline
WA_J_BS_LINE_081_STR-0821BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0821ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0821RESCAP sy-vline
WA_J_BS_LINE_081_STR-0821LOSS sy-vline
WA_J_BS_LINE_081_STR-0821TOTAL sy-vline
WA_J_BS_LINE_081_STR-0821NAME sy-vline
WA_J_BS_LINE_081_STR-0822BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0822ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0822RESCAP sy-vline
WA_J_BS_LINE_081_STR-0822LOSS sy-vline
WA_J_BS_LINE_081_STR-0822TOTAL sy-vline
WA_J_BS_LINE_081_STR-0822NAME sy-vline
WA_J_BS_LINE_081_STR-0823BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0823ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0823RESCAP sy-vline
WA_J_BS_LINE_081_STR-0823LOSS sy-vline
WA_J_BS_LINE_081_STR-0823TOTAL sy-vline
WA_J_BS_LINE_081_STR-0823NAME sy-vline
WA_J_BS_LINE_081_STR-0824BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0824ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0824RESCAP sy-vline
WA_J_BS_LINE_081_STR-0824LOSS sy-vline
WA_J_BS_LINE_081_STR-0824TOTAL sy-vline
WA_J_BS_LINE_081_STR-0824NAME sy-vline
WA_J_BS_LINE_081_STR-0825BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0825ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0825RESCAP sy-vline
WA_J_BS_LINE_081_STR-0825LOSS sy-vline
WA_J_BS_LINE_081_STR-0825TOTAL sy-vline
WA_J_BS_LINE_081_STR-0825NAME sy-vline
WA_J_BS_LINE_081_STR-0826BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0826ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0826RESCAP sy-vline
WA_J_BS_LINE_081_STR-0826LOSS sy-vline
WA_J_BS_LINE_081_STR-0826TOTAL sy-vline
WA_J_BS_LINE_081_STR-0826NAME sy-vline
WA_J_BS_LINE_081_STR-0827BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0827ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0827RESCAP sy-vline
WA_J_BS_LINE_081_STR-0827LOSS sy-vline
WA_J_BS_LINE_081_STR-0827TOTAL sy-vline
WA_J_BS_LINE_081_STR-0827NAME sy-vline
WA_J_BS_LINE_081_STR-0828BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0828ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0828RESCAP sy-vline
WA_J_BS_LINE_081_STR-0828LOSS sy-vline
WA_J_BS_LINE_081_STR-0828TOTAL sy-vline
WA_J_BS_LINE_081_STR-0828NAME sy-vline
WA_J_BS_LINE_081_STR-0829BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0829ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0829RESCAP sy-vline
WA_J_BS_LINE_081_STR-0829LOSS sy-vline
WA_J_BS_LINE_081_STR-0829TOTAL sy-vline
WA_J_BS_LINE_081_STR-0829NAME sy-vline
WA_J_BS_LINE_081_STR-0830BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0830ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0830RESCAP sy-vline
WA_J_BS_LINE_081_STR-0830LOSS sy-vline
WA_J_BS_LINE_081_STR-0830TOTAL sy-vline
WA_J_BS_LINE_081_STR-0830NAME sy-vline
WA_J_BS_LINE_081_STR-0831BEGCAP sy-vline
WA_J_BS_LINE_081_STR-0831ADDCAP sy-vline
WA_J_BS_LINE_081_STR-0831RESCAP sy-vline
WA_J_BS_LINE_081_STR-0831LOSS sy-vline
WA_J_BS_LINE_081_STR-0831TOTAL sy-vline
WA_J_BS_LINE_081_STR-0831NAME sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.