ABAP Select data from SAP table WCB_COND_CHANGE 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 WCB_COND_CHANGE 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 WCB_COND_CHANGE. 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 WCB_COND_CHANGE 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_WCB_COND_CHANGE TYPE STANDARD TABLE OF WCB_COND_CHANGE, WA_WCB_COND_CHANGE TYPE WCB_COND_CHANGE, 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: <WCB_COND_CHANGE> TYPE WCB_COND_CHANGE. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_WCB_COND_CHANGE. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM WCB_COND_CHANGE INTO TABLE IT_WCB_COND_CHANGE. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM WCB_COND_CHANGE * INTO TABLE @DATA(IT_WCB_COND_CHANGE2). *--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_WCB_COND_CHANGE INDEX 1 INTO DATA(WA_WCB_COND_CHANGE2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_WCB_COND_CHANGE ASSIGNING <WCB_COND_CHANGE>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<WCB_COND_CHANGE>-KNUMH_IN = 1.
<WCB_COND_CHANGE>-KOPOS_IN = 1.
<WCB_COND_CHANGE>-MANDT_KP = 1.
<WCB_COND_CHANGE>-KNUMH_KP = 1.
<WCB_COND_CHANGE>-KOPOS_KP = 1.
ENDLOOP. LOOP AT IT_WCB_COND_CHANGE INTO WA_WCB_COND_CHANGE. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_WCB_COND_CHANGE-KAPPL_KP, sy-vline,
WA_WCB_COND_CHANGE-KSCHL_KP, sy-vline,
WA_WCB_COND_CHANGE-KNUMT_KP, sy-vline,
WA_WCB_COND_CHANGE-STFKZ_KP, sy-vline,
WA_WCB_COND_CHANGE-KZBZG_KP, sy-vline,
WA_WCB_COND_CHANGE-KSTBM_KP, sy-vline.
ENDLOOP. *Add any further fields from structure WA_WCB_COND_CHANGE 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_WCB_COND_CHANGE 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_WCB_COND_CHANGE INTO WA_WCB_COND_CHANGE. *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 CUNIT, internal->external for field KONMS_KP CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-KONMS_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-KONMS_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field KMEIN_KP CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-KMEIN_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-KMEIN_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit CUNIT, internal->external for field MEINS_KP CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-MEINS_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-MEINS_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field KUNNR_KP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-KUNNR_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-KUNNR_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field LIFNR_KP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-LIFNR_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-LIFNR_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit MATN1, internal->external for field BOMAT_KP CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-BOMAT_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-BOMAT_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field KNUMA_PI_KP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-KNUMA_PI_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-KNUMA_PI_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field KNUMA_AG_KP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-KNUMA_AG_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-KNUMA_AG_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field KNUMA_SQ_KP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-KNUMA_SQ_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-KNUMA_SQ_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field AKTNR_KP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-AKTNR_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-AKTNR_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field KNUMA_BO_KP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-KNUMA_BO_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-KNUMA_BO_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field VERTN_KP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-VERTN_KP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-VERTN_KP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field NUM CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCB_COND_CHANGE-NUM IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCB_COND_CHANGE-NUM.
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_WCB_COND_CHANGE_STR,
KNUMH_IN TYPE STRING,
KOPOS_IN TYPE STRING,
MANDT_KP TYPE STRING,
KNUMH_KP TYPE STRING,
KOPOS_KP TYPE STRING,
KAPPL_KP TYPE STRING,
KSCHL_KP TYPE STRING,
KNUMT_KP TYPE STRING,
STFKZ_KP TYPE STRING,
KZBZG_KP TYPE STRING,
KSTBM_KP TYPE STRING,
KONMS_KP TYPE STRING,
KSTBW_KP TYPE STRING,
KONWS_KP TYPE STRING,
KRECH_KP TYPE STRING,
KBETR_KP TYPE STRING,
KONWA_KP TYPE STRING,
KPEIN_KP TYPE STRING,
KMEIN_KP TYPE STRING,
PRSCH_KP TYPE STRING,
KUMZA_KP TYPE STRING,
KUMNE_KP TYPE STRING,
MEINS_KP TYPE STRING,
MXWRT_KP TYPE STRING,
GKWRT_KP TYPE STRING,
PKWRT_KP TYPE STRING,
FKWRT_KP TYPE STRING,
RSWRT_KP TYPE STRING,
KWAEH_KP TYPE STRING,
UKBAS_KP TYPE STRING,
KZNEP_KP TYPE STRING,
KUNNR_KP TYPE STRING,
LIFNR_KP TYPE STRING,
MWSK1_KP TYPE STRING,
LOEVM_KO_KP TYPE STRING,
ZAEHK_IND_KP TYPE STRING,
BOMAT_KP TYPE STRING,
KBRUE_KP TYPE STRING,
KSPAE_KP TYPE STRING,
BOSTA_KP TYPE STRING,
KNUMA_PI_KP TYPE STRING,
KNUMA_AG_KP TYPE STRING,
KNUMA_SQ_KP TYPE STRING,
VALTG_KP TYPE STRING,
VALDT_KP TYPE STRING,
ZTERM_KP TYPE STRING,
ANZAUF_KP TYPE STRING,
MIKBAS_KP TYPE STRING,
MXKBAS_KP TYPE STRING,
KOMXWRT_KP TYPE STRING,
KLF_STG_KP TYPE STRING,
KLF_KAL_KP TYPE STRING,
VKKAL_KP TYPE STRING,
AKTNR_KP TYPE STRING,
KNUMA_BO_KP TYPE STRING,
MWSK2_KP TYPE STRING,
VERTT_KP TYPE STRING,
VERTN_KP TYPE STRING,
VBEWA_KP TYPE STRING,
MDFLG_KP TYPE STRING,
KFRST_KP TYPE STRING,
UASTA_KP TYPE STRING,
CNDN_CHGREASON_KP TYPE STRING,
CHANGE_TAB TYPE STRING,
UPDKZ TYPE STRING,
NUM TYPE STRING,
REFERENCE TYPE STRING,END OF T_EKKO_STR. DATA: WA_WCB_COND_CHANGE_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_WCB_COND_CHANGE_STR-KNUMH_IN sy-vline
WA_WCB_COND_CHANGE_STR-KOPOS_IN sy-vline
WA_WCB_COND_CHANGE_STR-MANDT_KP sy-vline
WA_WCB_COND_CHANGE_STR-KNUMH_KP sy-vline
WA_WCB_COND_CHANGE_STR-KOPOS_KP sy-vline
WA_WCB_COND_CHANGE_STR-KAPPL_KP sy-vline
WA_WCB_COND_CHANGE_STR-KSCHL_KP sy-vline
WA_WCB_COND_CHANGE_STR-KNUMT_KP sy-vline
WA_WCB_COND_CHANGE_STR-STFKZ_KP sy-vline
WA_WCB_COND_CHANGE_STR-KZBZG_KP sy-vline
WA_WCB_COND_CHANGE_STR-KSTBM_KP sy-vline
WA_WCB_COND_CHANGE_STR-KONMS_KP sy-vline
WA_WCB_COND_CHANGE_STR-KSTBW_KP sy-vline
WA_WCB_COND_CHANGE_STR-KONWS_KP sy-vline
WA_WCB_COND_CHANGE_STR-KRECH_KP sy-vline
WA_WCB_COND_CHANGE_STR-KBETR_KP sy-vline
WA_WCB_COND_CHANGE_STR-KONWA_KP sy-vline
WA_WCB_COND_CHANGE_STR-KPEIN_KP sy-vline
WA_WCB_COND_CHANGE_STR-KMEIN_KP sy-vline
WA_WCB_COND_CHANGE_STR-PRSCH_KP sy-vline
WA_WCB_COND_CHANGE_STR-KUMZA_KP sy-vline
WA_WCB_COND_CHANGE_STR-KUMNE_KP sy-vline
WA_WCB_COND_CHANGE_STR-MEINS_KP sy-vline
WA_WCB_COND_CHANGE_STR-MXWRT_KP sy-vline
WA_WCB_COND_CHANGE_STR-GKWRT_KP sy-vline
WA_WCB_COND_CHANGE_STR-PKWRT_KP sy-vline
WA_WCB_COND_CHANGE_STR-FKWRT_KP sy-vline
WA_WCB_COND_CHANGE_STR-RSWRT_KP sy-vline
WA_WCB_COND_CHANGE_STR-KWAEH_KP sy-vline
WA_WCB_COND_CHANGE_STR-UKBAS_KP sy-vline
WA_WCB_COND_CHANGE_STR-KZNEP_KP sy-vline
WA_WCB_COND_CHANGE_STR-KUNNR_KP sy-vline
WA_WCB_COND_CHANGE_STR-LIFNR_KP sy-vline
WA_WCB_COND_CHANGE_STR-MWSK1_KP sy-vline
WA_WCB_COND_CHANGE_STR-LOEVM_KO_KP sy-vline
WA_WCB_COND_CHANGE_STR-ZAEHK_IND_KP sy-vline
WA_WCB_COND_CHANGE_STR-BOMAT_KP sy-vline
WA_WCB_COND_CHANGE_STR-KBRUE_KP sy-vline
WA_WCB_COND_CHANGE_STR-KSPAE_KP sy-vline
WA_WCB_COND_CHANGE_STR-BOSTA_KP sy-vline
WA_WCB_COND_CHANGE_STR-KNUMA_PI_KP sy-vline
WA_WCB_COND_CHANGE_STR-KNUMA_AG_KP sy-vline
WA_WCB_COND_CHANGE_STR-KNUMA_SQ_KP sy-vline
WA_WCB_COND_CHANGE_STR-VALTG_KP sy-vline
WA_WCB_COND_CHANGE_STR-VALDT_KP sy-vline
WA_WCB_COND_CHANGE_STR-ZTERM_KP sy-vline
WA_WCB_COND_CHANGE_STR-ANZAUF_KP sy-vline
WA_WCB_COND_CHANGE_STR-MIKBAS_KP sy-vline
WA_WCB_COND_CHANGE_STR-MXKBAS_KP sy-vline
WA_WCB_COND_CHANGE_STR-KOMXWRT_KP sy-vline
WA_WCB_COND_CHANGE_STR-KLF_STG_KP sy-vline
WA_WCB_COND_CHANGE_STR-KLF_KAL_KP sy-vline
WA_WCB_COND_CHANGE_STR-VKKAL_KP sy-vline
WA_WCB_COND_CHANGE_STR-AKTNR_KP sy-vline
WA_WCB_COND_CHANGE_STR-KNUMA_BO_KP sy-vline
WA_WCB_COND_CHANGE_STR-MWSK2_KP sy-vline
WA_WCB_COND_CHANGE_STR-VERTT_KP sy-vline
WA_WCB_COND_CHANGE_STR-VERTN_KP sy-vline
WA_WCB_COND_CHANGE_STR-VBEWA_KP sy-vline
WA_WCB_COND_CHANGE_STR-MDFLG_KP sy-vline
WA_WCB_COND_CHANGE_STR-KFRST_KP sy-vline
WA_WCB_COND_CHANGE_STR-UASTA_KP sy-vline
WA_WCB_COND_CHANGE_STR-CNDN_CHGREASON_KP sy-vline
WA_WCB_COND_CHANGE_STR-CHANGE_TAB sy-vline
WA_WCB_COND_CHANGE_STR-UPDKZ sy-vline
WA_WCB_COND_CHANGE_STR-NUM sy-vline
WA_WCB_COND_CHANGE_STR-REFERENCE sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.