ABAP Select data from SAP table PIQACADOFFER_EVENTS 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 PIQACADOFFER_EVENTS 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 PIQACADOFFER_EVENTS. 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 PIQACADOFFER_EVENTS 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_PIQACADOFFER_EVENTS TYPE STANDARD TABLE OF PIQACADOFFER_EVENTS, WA_PIQACADOFFER_EVENTS TYPE PIQACADOFFER_EVENTS, 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: <PIQACADOFFER_EVENTS> TYPE PIQACADOFFER_EVENTS. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_PIQACADOFFER_EVENTS. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM PIQACADOFFER_EVENTS INTO TABLE IT_PIQACADOFFER_EVENTS. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM PIQACADOFFER_EVENTS * INTO TABLE @DATA(IT_PIQACADOFFER_EVENTS2). *--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_PIQACADOFFER_EVENTS INDEX 1 INTO DATA(WA_PIQACADOFFER_EVENTS2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_PIQACADOFFER_EVENTS ASSIGNING <PIQACADOFFER_EVENTS>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<PIQACADOFFER_EVENTS>-OTYPE_EV = 1.
<PIQACADOFFER_EVENTS>-OBJID_EV = 1.
<PIQACADOFFER_EVENTS>-SHORT_EV = 1.
<PIQACADOFFER_EVENTS>-STEXT_EV = 1.
<PIQACADOFFER_EVENTS>-BEGDA_EV = 1.
ENDLOOP. LOOP AT IT_PIQACADOFFER_EVENTS INTO WA_PIQACADOFFER_EVENTS. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_PIQACADOFFER_EVENTS-ENDDA_EV, sy-vline,
WA_PIQACADOFFER_EVENTS-SCHEDCATEG_EV, sy-vline,
WA_PIQACADOFFER_EVENTS-EVPROCSTATTXT, sy-vline,
WA_PIQACADOFFER_EVENTS-PLPERLIMBEG, sy-vline,
WA_PIQACADOFFER_EVENTS-PLPERLIMBEGU, sy-vline,
WA_PIQACADOFFER_EVENTS-PLPERLIMBEGUTXT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PIQACADOFFER_EVENTS 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_PIQACADOFFER_EVENTS 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_PIQACADOFFER_EVENTS INTO WA_PIQACADOFFER_EVENTS. *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_PIQACADOFFER_EVENTS_STR,
OTYPE_EV TYPE STRING,
OBJID_EV TYPE STRING,
SHORT_EV TYPE STRING,
STEXT_EV TYPE STRING,
BEGDA_EV TYPE STRING,
ENDDA_EV TYPE STRING,
SCHEDCATEG_EV TYPE STRING,
EVPROCSTATTXT TYPE STRING,
PLPERLIMBEG TYPE STRING,
PLPERLIMBEGU TYPE STRING,
PLPERLIMBEGUTXT TYPE STRING,
PLPERLIMEND TYPE STRING,
PLPERLIMENDU TYPE STRING,
PLPERLIMENDUTXT TYPE STRING,
SCHEDBGDAY TYPE STRING,
SCHEDBGDAYTXT TYPE STRING,
BEGUZ TYPE STRING,
ENDUZ TYPE STRING,
MONDAY TYPE STRING,
TUESDAY TYPE STRING,
WEDNESDAY TYPE STRING,
THURSDAY TYPE STRING,
FRIDAY TYPE STRING,
SATURDAY TYPE STRING,
SUNDAY TYPE STRING,
OBJID_F_EV TYPE STRING,
SHORT_F_EV TYPE STRING,
STEXT_F_EV TYPE STRING,
ROOM_OBJID TYPE STRING,
ROOM_SHORT TYPE STRING,
INSTR_OTYPE TYPE STRING,
INSTR_OTEXT TYPE STRING,
INSTR_OBJID TYPE STRING,
INSTR_SHORT TYPE STRING,
INSTR_MULTI TYPE STRING,
D_OBJID TYPE STRING,
D_SHORT TYPE STRING,
D_STEXT TYPE STRING,
CATEGORY_D TYPE STRING,
METHOD_D TYPE STRING,
DELMODE_D TYPE STRING,END OF T_EKKO_STR. DATA: WA_PIQACADOFFER_EVENTS_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_PIQACADOFFER_EVENTS_STR-OTYPE_EV sy-vline
WA_PIQACADOFFER_EVENTS_STR-OBJID_EV sy-vline
WA_PIQACADOFFER_EVENTS_STR-SHORT_EV sy-vline
WA_PIQACADOFFER_EVENTS_STR-STEXT_EV sy-vline
WA_PIQACADOFFER_EVENTS_STR-BEGDA_EV sy-vline
WA_PIQACADOFFER_EVENTS_STR-ENDDA_EV sy-vline
WA_PIQACADOFFER_EVENTS_STR-SCHEDCATEG_EV sy-vline
WA_PIQACADOFFER_EVENTS_STR-EVPROCSTATTXT sy-vline
WA_PIQACADOFFER_EVENTS_STR-PLPERLIMBEG sy-vline
WA_PIQACADOFFER_EVENTS_STR-PLPERLIMBEGU sy-vline
WA_PIQACADOFFER_EVENTS_STR-PLPERLIMBEGUTXT sy-vline
WA_PIQACADOFFER_EVENTS_STR-PLPERLIMEND sy-vline
WA_PIQACADOFFER_EVENTS_STR-PLPERLIMENDU sy-vline
WA_PIQACADOFFER_EVENTS_STR-PLPERLIMENDUTXT sy-vline
WA_PIQACADOFFER_EVENTS_STR-SCHEDBGDAY sy-vline
WA_PIQACADOFFER_EVENTS_STR-SCHEDBGDAYTXT sy-vline
WA_PIQACADOFFER_EVENTS_STR-BEGUZ sy-vline
WA_PIQACADOFFER_EVENTS_STR-ENDUZ sy-vline
WA_PIQACADOFFER_EVENTS_STR-MONDAY sy-vline
WA_PIQACADOFFER_EVENTS_STR-TUESDAY sy-vline
WA_PIQACADOFFER_EVENTS_STR-WEDNESDAY sy-vline
WA_PIQACADOFFER_EVENTS_STR-THURSDAY sy-vline
WA_PIQACADOFFER_EVENTS_STR-FRIDAY sy-vline
WA_PIQACADOFFER_EVENTS_STR-SATURDAY sy-vline
WA_PIQACADOFFER_EVENTS_STR-SUNDAY sy-vline
WA_PIQACADOFFER_EVENTS_STR-OBJID_F_EV sy-vline
WA_PIQACADOFFER_EVENTS_STR-SHORT_F_EV sy-vline
WA_PIQACADOFFER_EVENTS_STR-STEXT_F_EV sy-vline
WA_PIQACADOFFER_EVENTS_STR-ROOM_OBJID sy-vline
WA_PIQACADOFFER_EVENTS_STR-ROOM_SHORT sy-vline
WA_PIQACADOFFER_EVENTS_STR-INSTR_OTYPE sy-vline
WA_PIQACADOFFER_EVENTS_STR-INSTR_OTEXT sy-vline
WA_PIQACADOFFER_EVENTS_STR-INSTR_OBJID sy-vline
WA_PIQACADOFFER_EVENTS_STR-INSTR_SHORT sy-vline
WA_PIQACADOFFER_EVENTS_STR-INSTR_MULTI sy-vline
WA_PIQACADOFFER_EVENTS_STR-D_OBJID sy-vline
WA_PIQACADOFFER_EVENTS_STR-D_SHORT sy-vline
WA_PIQACADOFFER_EVENTS_STR-D_STEXT sy-vline
WA_PIQACADOFFER_EVENTS_STR-CATEGORY_D sy-vline
WA_PIQACADOFFER_EVENTS_STR-METHOD_D sy-vline
WA_PIQACADOFFER_EVENTS_STR-DELMODE_D sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.