ABAP Select data from SAP table WCSINF 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 WCSINF 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 WCSINF. 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 WCSINF 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_WCSINF TYPE STANDARD TABLE OF WCSINF, WA_WCSINF TYPE WCSINF, 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: <WCSINF> TYPE WCSINF. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_WCSINF. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM WCSINF INTO TABLE IT_WCSINF. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM WCSINF * INTO TABLE @DATA(IT_WCSINF2). *--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_WCSINF INDEX 1 INTO DATA(WA_WCSINF2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_WCSINF ASSIGNING <WCSINF>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<WCSINF>-CALLD = 1.
<WCSINF>-AKTYP = 1.
<WCSINF>-AKTYP_SAV = 1.
<WCSINF>-IWERK = 1.
<WCSINF>-IWERK_SAV = 1.
ENDLOOP. LOOP AT IT_WCSINF INTO WA_WCSINF. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_WCSINF-OBJART, sy-vline,
WA_WCSINF-OBJTYP, sy-vline,
WA_WCSINF-OBJNR, sy-vline,
WA_WCSINF-OBJFLG, sy-vline,
WA_WCSINF-OBJTCODE, sy-vline,
WA_WCSINF-ASGNFLG, sy-vline.
ENDLOOP. *Add any further fields from structure WA_WCSINF 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_WCSINF 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_WCSINF INTO WA_WCSINF. *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 REFWC CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCSINF-REFWC IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCSINF-REFWC.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field REFWAPI CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCSINF-REFWAPI IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCSINF-REFWAPI.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field REFWAP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCSINF-REFWAP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCSINF-REFWAP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field REFORDER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCSINF-REFORDER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCSINF-REFORDER.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field OBJKEY CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WCSINF-OBJKEY IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WCSINF-OBJKEY.
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_WCSINF_STR,
CALLD TYPE STRING,
AKTYP TYPE STRING,
AKTYP_SAV TYPE STRING,
IWERK TYPE STRING,
IWERK_SAV TYPE STRING,
OBJART TYPE STRING,
OBJTYP TYPE STRING,
OBJNR TYPE STRING,
OBJFLG TYPE STRING,
OBJTCODE TYPE STRING,
ASGNFLG TYPE STRING,
DIRECTION TYPE STRING,
PRIOTYP TYPE STRING,
NR_OBJECT TYPE STRING,
INT_RANGE TYPE STRING,
EXT_RANGE TYPE STRING,
STSMA_OBTYP TYPE STRING,
STSMA TYPE STRING,
PARGR TYPE STRING,
CATTYP1 TYPE STRING,
CATTXT1 TYPE STRING,
CATLST1 TYPE STRING,
CATTYP2 TYPE STRING,
CATTXT2 TYPE STRING,
CATLST2 TYPE STRING,
CATPROFILE TYPE STRING,
STXT TYPE STRING,
PTXT TYPE STRING,
REFTYP TYPE STRING,
FORCED_DIRECTION TYPE STRING,
MODEL TYPE STRING,
POPUPFLG TYPE STRING,
PRTTL TYPE STRING,
TLCNT TYPE STRING,
USECTRL TYPE STRING,
INFLUENCE TYPE STRING,
REFERENCE TYPE STRING,
REFTYP TYPE STRING,
POPUP TYPE STRING,
FSEL TYPE STRING,
REFWC TYPE STRING,
REFWAPI TYPE STRING,
REFWAP TYPE STRING,
REFORDER TYPE STRING,
OBJKEY TYPE STRING,
IWERK TYPE STRING,
OBJTYP TYPE STRING,
USECTRL TYPE STRING,
SCREEN TYPE STRING,
MENUE TYPE STRING,
AUTHORITY TYPE STRING,
ENQUEUE TYPE STRING,
TASK TYPE STRING,
OBJFLG TYPE STRING,
CP TYPE STRING,
BADGE TYPE STRING,
STACKTAB TYPE STRING,
SUPPRESSED TYPE STRING,
ARCFLG TYPE STRING,END OF T_EKKO_STR. DATA: WA_WCSINF_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_WCSINF_STR-CALLD sy-vline
WA_WCSINF_STR-AKTYP sy-vline
WA_WCSINF_STR-AKTYP_SAV sy-vline
WA_WCSINF_STR-IWERK sy-vline
WA_WCSINF_STR-IWERK_SAV sy-vline
WA_WCSINF_STR-OBJART sy-vline
WA_WCSINF_STR-OBJTYP sy-vline
WA_WCSINF_STR-OBJNR sy-vline
WA_WCSINF_STR-OBJFLG sy-vline
WA_WCSINF_STR-OBJTCODE sy-vline
WA_WCSINF_STR-ASGNFLG sy-vline
WA_WCSINF_STR-DIRECTION sy-vline
WA_WCSINF_STR-PRIOTYP sy-vline
WA_WCSINF_STR-NR_OBJECT sy-vline
WA_WCSINF_STR-INT_RANGE sy-vline
WA_WCSINF_STR-EXT_RANGE sy-vline
WA_WCSINF_STR-STSMA_OBTYP sy-vline
WA_WCSINF_STR-STSMA sy-vline
WA_WCSINF_STR-PARGR sy-vline
WA_WCSINF_STR-CATTYP1 sy-vline
WA_WCSINF_STR-CATTXT1 sy-vline
WA_WCSINF_STR-CATLST1 sy-vline
WA_WCSINF_STR-CATTYP2 sy-vline
WA_WCSINF_STR-CATTXT2 sy-vline
WA_WCSINF_STR-CATLST2 sy-vline
WA_WCSINF_STR-CATPROFILE sy-vline
WA_WCSINF_STR-STXT sy-vline
WA_WCSINF_STR-PTXT sy-vline
WA_WCSINF_STR-REFTYP sy-vline
WA_WCSINF_STR-FORCED_DIRECTION sy-vline
WA_WCSINF_STR-MODEL sy-vline
WA_WCSINF_STR-POPUPFLG sy-vline
WA_WCSINF_STR-PRTTL sy-vline
WA_WCSINF_STR-TLCNT sy-vline
WA_WCSINF_STR-USECTRL sy-vline
WA_WCSINF_STR-INFLUENCE sy-vline
WA_WCSINF_STR-REFERENCE sy-vline
WA_WCSINF_STR-REFTYP sy-vline
WA_WCSINF_STR-POPUP sy-vline
WA_WCSINF_STR-FSEL sy-vline
WA_WCSINF_STR-REFWC sy-vline
WA_WCSINF_STR-REFWAPI sy-vline
WA_WCSINF_STR-REFWAP sy-vline
WA_WCSINF_STR-REFORDER sy-vline
WA_WCSINF_STR-OBJKEY sy-vline
WA_WCSINF_STR-IWERK sy-vline
WA_WCSINF_STR-OBJTYP sy-vline
WA_WCSINF_STR-USECTRL sy-vline
WA_WCSINF_STR-SCREEN sy-vline
WA_WCSINF_STR-MENUE sy-vline
WA_WCSINF_STR-AUTHORITY sy-vline
WA_WCSINF_STR-ENQUEUE sy-vline
WA_WCSINF_STR-TASK sy-vline
WA_WCSINF_STR-OBJFLG sy-vline
WA_WCSINF_STR-CP sy-vline
WA_WCSINF_STR-BADGE sy-vline
WA_WCSINF_STR-STACKTAB sy-vline
WA_WCSINF_STR-SUPPRESSED sy-vline
WA_WCSINF_STR-ARCFLG sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.