ABAP Select data from SAP table WSTI_CALC_CUST_STY 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 WSTI_CALC_CUST_STY 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 WSTI_CALC_CUST_STY. 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 WSTI_CALC_CUST_STY 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_WSTI_CALC_CUST_STY TYPE STANDARD TABLE OF WSTI_CALC_CUST_STY, WA_WSTI_CALC_CUST_STY TYPE WSTI_CALC_CUST_STY, 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: <WSTI_CALC_CUST_STY> TYPE WSTI_CALC_CUST_STY. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_WSTI_CALC_CUST_STY. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM WSTI_CALC_CUST_STY INTO TABLE IT_WSTI_CALC_CUST_STY. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM WSTI_CALC_CUST_STY * INTO TABLE @DATA(IT_WSTI_CALC_CUST_STY2). *--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_WSTI_CALC_CUST_STY INDEX 1 INTO DATA(WA_WSTI_CALC_CUST_STY2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_WSTI_CALC_CUST_STY ASSIGNING <WSTI_CALC_CUST_STY>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<WSTI_CALC_CUST_STY>-TWPII = 1.
<WSTI_CALC_CUST_STY>-MANDT = 1.
<WSTI_CALC_CUST_STY>-INPRO = 1.
<WSTI_CALC_CUST_STY>-STINVBEL = 1.
<WSTI_CALC_CUST_STY>-STKEORD = 1.
ENDLOOP. LOOP AT IT_WSTI_CALC_CUST_STY INTO WA_WSTI_CALC_CUST_STY. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_WSTI_CALC_CUST_STY-WSTI_OPEN_STORE, sy-vline,
WA_WSTI_CALC_CUST_STY-WSTI_TIME_SELECT, sy-vline,
WA_WSTI_CALC_CUST_STY-WSTI_BUFFER_TYPE, sy-vline,
WA_WSTI_CALC_CUST_STY-WSTI_SELBUF, sy-vline,
WA_WSTI_CALC_CUST_STY-WSTI_SELBUF_BEG, sy-vline,
WA_WSTI_CALC_CUST_STY-WSTI_SELBUF_END, sy-vline.
ENDLOOP. *Add any further fields from structure WA_WSTI_CALC_CUST_STY 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_WSTI_CALC_CUST_STY 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_WSTI_CALC_CUST_STY INTO WA_WSTI_CALC_CUST_STY. *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 GERNR, internal->external for field XSERP CALL FUNCTION 'CONVERSION_EXIT_GERNR_OUTPUT' EXPORTING input = WA_WSTI_CALC_CUST_STY-XSERP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WSTI_CALC_CUST_STY-XSERP.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ANDEB CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_WSTI_CALC_CUST_STY-ANDEB IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WSTI_CALC_CUST_STY-ANDEB.
WRITE:/ 'New Value:', ld_input.
*Conversion exit AUART, internal->external for field AUART CALL FUNCTION 'CONVERSION_EXIT_AUART_OUTPUT' EXPORTING input = WA_WSTI_CALC_CUST_STY-AUART IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_WSTI_CALC_CUST_STY-AUART.
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_WSTI_CALC_CUST_STY_STR,
TWPII TYPE STRING,
MANDT TYPE STRING,
INPRO TYPE STRING,
STINVBEL TYPE STRING,
STKEORD TYPE STRING,
WSTI_OPEN_STORE TYPE STRING,
WSTI_TIME_SELECT TYPE STRING,
WSTI_BUFFER_TYPE TYPE STRING,
WSTI_SELBUF TYPE STRING,
WSTI_SELBUF_BEG TYPE STRING,
WSTI_SELBUF_END TYPE STRING,
WSTI_DATA_SOURCE TYPE STRING,
WSTI_BADI_ORIDE TYPE STRING,
WSTI_BADI_BEHAV TYPE STRING,
T159L TYPE STRING,
MANDT TYPE STRING,
WERKS TYPE STRING,
BSTAR TYPE STRING,
KZCHA TYPE STRING,
XAMEI TYPE STRING,
STLAN TYPE STRING,
XWAOK TYPE STRING,
XLAUT TYPE STRING,
TWAOK TYPE STRING,
TLOEK TYPE STRING,
XELIK TYPE STRING,
VGART TYPE STRING,
CAPID TYPE STRING,
XCHVW TYPE STRING,
XCHVA TYPE STRING,
XFHTP TYPE STRING,
XFVER TYPE STRING,
KZXAB TYPE STRING,
XSMNG TYPE STRING,
XSVNG TYPE STRING,
XWMHD TYPE STRING,
XSKNG TYPE STRING,
XSONG TYPE STRING,
XSWNG TYPE STRING,
XSENG TYPE STRING,
XSQNG TYPE STRING,
GRUND TYPE STRING,
XRMAD TYPE STRING,
XAEBL TYPE STRING,
XCAUT TYPE STRING,
XBUIB TYPE STRING,
XSERP TYPE STRING,
XSERA TYPE STRING,
SERPR TYPE STRING,
MSR_INSMK_FREE TYPE STRING,
MSR_INSMK_RCV TYPE STRING,
TCURM TYPE STRING,
MANDT TYPE STRING,
BWKRS_CUS TYPE STRING,
GMATB_CUS TYPE STRING,
BWMOD_CUS TYPE STRING,
LIFOB_CUS TYPE STRING,
MYKEY_CUS TYPE STRING,
LVS_CUS TYPE STRING,
MBEQU TYPE STRING,
FIFOB_CUS TYPE STRING,
MYFKY_CUS TYPE STRING,
MYMP_CUS TYPE STRING,
KONSI TYPE STRING,
LEERG_ABW TYPE STRING,
LEERG_INIT TYPE STRING,
MMKON_CUS TYPE STRING,
MBVAL TYPE STRING,
MBLOCKWAIT TYPE STRING,
MBWO TYPE STRING,
CHARG TYPE STRING,
ARP_CUS TYPE STRING,
MRMENQUEUE TYPE STRING,
SUPSTRGLOC TYPE STRING,
CONS_HND TYPE STRING,
CONS_RET TYPE STRING,
MLNEW TYPE STRING,
MBSVB TYPE STRING,
FCMLONLUP TYPE STRING,
MB_LOCK_MODE TYPE STRING,
FORCE_LEGACY_MODE TYPE STRING,
TWPIV TYPE STRING,
MANDT TYPE STRING,
INPRO TYPE STRING,
FINVM TYPE STRING,
FBILL TYPE STRING,
FREPL TYPE STRING,
FSTAT TYPE STRING,
ANDEB TYPE STRING,
LGORT TYPE STRING,
BWAVK TYPE STRING,
BWART TYPE STRING,
AUART TYPE STRING,
PSTYV TYPE STRING,
FKARA TYPE STRING,
KALSM TYPE STRING,
KSCHL TYPE STRING,
KKSCH TYPE STRING,
KPSTY TYPE STRING,
NUMLI TYPE STRING,
FXSTR TYPE STRING,
FSTATBW TYPE STRING,
FSTATRISBW TYPE STRING,
SRESP TYPE STRING,
SEND_PARTIAL_CONF TYPE STRING,
POS_WO_LISTING TYPE STRING,
CSGMT TYPE STRING,
TWPFI TYPE STRING,
MANDT TYPE STRING,
KOPRO TYPE STRING,
POTYP TYPE STRING,
UMTYP TYPE STRING,
VZEIT TYPE STRING,
KURST TYPE STRING,
AKFIN TYPE STRING,
ERMOD TYPE STRING,
POSDEX TYPE STRING,
SALLMG TYPE STRING,
EKOAR TYPE STRING,
MEPER TYPE STRING,
RECDT TYPE STRING,
OKSTA TYPE STRING,
NPMAT TYPE STRING,
NPFOA TYPE STRING,
NPSET TYPE STRING,
NPMEC TYPE STRING,
NPCUR TYPE STRING,
NPTAX TYPE STRING,
NPCUS TYPE STRING,
EAN_ART TYPE STRING,
EAN_DEL TYPE STRING,
FOA_ART TYPE STRING,
MCAT_ART TYPE STRING,
NO_FABKL TYPE STRING,
MESTYPE_PLU TYPE STRING,
NO_BONTEXT TYPE STRING,
PROMO_REBATE TYPE STRING,
PRICES_SITEINDEP TYPE STRING,
PRICING_DIRECT TYPE STRING,
PRICING_DIRECT_MULT_ACCESS TYPE STRING,
PRICES_IN_A071 TYPE STRING,
NO_WARNINGS TYPE STRING,
TAXES_COPY TYPE STRING,
NO_TRIGGER TYPE STRING,
NOT_CHECK_SALES_PER TYPE STRING,END OF T_EKKO_STR. DATA: WA_WSTI_CALC_CUST_STY_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_WSTI_CALC_CUST_STY_STR-TWPII sy-vline
WA_WSTI_CALC_CUST_STY_STR-MANDT sy-vline
WA_WSTI_CALC_CUST_STY_STR-INPRO sy-vline
WA_WSTI_CALC_CUST_STY_STR-STINVBEL sy-vline
WA_WSTI_CALC_CUST_STY_STR-STKEORD sy-vline
WA_WSTI_CALC_CUST_STY_STR-WSTI_OPEN_STORE sy-vline
WA_WSTI_CALC_CUST_STY_STR-WSTI_TIME_SELECT sy-vline
WA_WSTI_CALC_CUST_STY_STR-WSTI_BUFFER_TYPE sy-vline
WA_WSTI_CALC_CUST_STY_STR-WSTI_SELBUF sy-vline
WA_WSTI_CALC_CUST_STY_STR-WSTI_SELBUF_BEG sy-vline
WA_WSTI_CALC_CUST_STY_STR-WSTI_SELBUF_END sy-vline
WA_WSTI_CALC_CUST_STY_STR-WSTI_DATA_SOURCE sy-vline
WA_WSTI_CALC_CUST_STY_STR-WSTI_BADI_ORIDE sy-vline
WA_WSTI_CALC_CUST_STY_STR-WSTI_BADI_BEHAV sy-vline
WA_WSTI_CALC_CUST_STY_STR-T159L sy-vline
WA_WSTI_CALC_CUST_STY_STR-MANDT sy-vline
WA_WSTI_CALC_CUST_STY_STR-WERKS sy-vline
WA_WSTI_CALC_CUST_STY_STR-BSTAR sy-vline
WA_WSTI_CALC_CUST_STY_STR-KZCHA sy-vline
WA_WSTI_CALC_CUST_STY_STR-XAMEI sy-vline
WA_WSTI_CALC_CUST_STY_STR-STLAN sy-vline
WA_WSTI_CALC_CUST_STY_STR-XWAOK sy-vline
WA_WSTI_CALC_CUST_STY_STR-XLAUT sy-vline
WA_WSTI_CALC_CUST_STY_STR-TWAOK sy-vline
WA_WSTI_CALC_CUST_STY_STR-TLOEK sy-vline
WA_WSTI_CALC_CUST_STY_STR-XELIK sy-vline
WA_WSTI_CALC_CUST_STY_STR-VGART sy-vline
WA_WSTI_CALC_CUST_STY_STR-CAPID sy-vline
WA_WSTI_CALC_CUST_STY_STR-XCHVW sy-vline
WA_WSTI_CALC_CUST_STY_STR-XCHVA sy-vline
WA_WSTI_CALC_CUST_STY_STR-XFHTP sy-vline
WA_WSTI_CALC_CUST_STY_STR-XFVER sy-vline
WA_WSTI_CALC_CUST_STY_STR-KZXAB sy-vline
WA_WSTI_CALC_CUST_STY_STR-XSMNG sy-vline
WA_WSTI_CALC_CUST_STY_STR-XSVNG sy-vline
WA_WSTI_CALC_CUST_STY_STR-XWMHD sy-vline
WA_WSTI_CALC_CUST_STY_STR-XSKNG sy-vline
WA_WSTI_CALC_CUST_STY_STR-XSONG sy-vline
WA_WSTI_CALC_CUST_STY_STR-XSWNG sy-vline
WA_WSTI_CALC_CUST_STY_STR-XSENG sy-vline
WA_WSTI_CALC_CUST_STY_STR-XSQNG sy-vline
WA_WSTI_CALC_CUST_STY_STR-GRUND sy-vline
WA_WSTI_CALC_CUST_STY_STR-XRMAD sy-vline
WA_WSTI_CALC_CUST_STY_STR-XAEBL sy-vline
WA_WSTI_CALC_CUST_STY_STR-XCAUT sy-vline
WA_WSTI_CALC_CUST_STY_STR-XBUIB sy-vline
WA_WSTI_CALC_CUST_STY_STR-XSERP sy-vline
WA_WSTI_CALC_CUST_STY_STR-XSERA sy-vline
WA_WSTI_CALC_CUST_STY_STR-SERPR sy-vline
WA_WSTI_CALC_CUST_STY_STR-MSR_INSMK_FREE sy-vline
WA_WSTI_CALC_CUST_STY_STR-MSR_INSMK_RCV sy-vline
WA_WSTI_CALC_CUST_STY_STR-TCURM sy-vline
WA_WSTI_CALC_CUST_STY_STR-MANDT sy-vline
WA_WSTI_CALC_CUST_STY_STR-BWKRS_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-GMATB_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-BWMOD_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-LIFOB_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-MYKEY_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-LVS_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-MBEQU sy-vline
WA_WSTI_CALC_CUST_STY_STR-FIFOB_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-MYFKY_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-MYMP_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-KONSI sy-vline
WA_WSTI_CALC_CUST_STY_STR-LEERG_ABW sy-vline
WA_WSTI_CALC_CUST_STY_STR-LEERG_INIT sy-vline
WA_WSTI_CALC_CUST_STY_STR-MMKON_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-MBVAL sy-vline
WA_WSTI_CALC_CUST_STY_STR-MBLOCKWAIT sy-vline
WA_WSTI_CALC_CUST_STY_STR-MBWO sy-vline
WA_WSTI_CALC_CUST_STY_STR-CHARG sy-vline
WA_WSTI_CALC_CUST_STY_STR-ARP_CUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-MRMENQUEUE sy-vline
WA_WSTI_CALC_CUST_STY_STR-SUPSTRGLOC sy-vline
WA_WSTI_CALC_CUST_STY_STR-CONS_HND sy-vline
WA_WSTI_CALC_CUST_STY_STR-CONS_RET sy-vline
WA_WSTI_CALC_CUST_STY_STR-MLNEW sy-vline
WA_WSTI_CALC_CUST_STY_STR-MBSVB sy-vline
WA_WSTI_CALC_CUST_STY_STR-FCMLONLUP sy-vline
WA_WSTI_CALC_CUST_STY_STR-MB_LOCK_MODE sy-vline
WA_WSTI_CALC_CUST_STY_STR-FORCE_LEGACY_MODE sy-vline
WA_WSTI_CALC_CUST_STY_STR-TWPIV sy-vline
WA_WSTI_CALC_CUST_STY_STR-MANDT sy-vline
WA_WSTI_CALC_CUST_STY_STR-INPRO sy-vline
WA_WSTI_CALC_CUST_STY_STR-FINVM sy-vline
WA_WSTI_CALC_CUST_STY_STR-FBILL sy-vline
WA_WSTI_CALC_CUST_STY_STR-FREPL sy-vline
WA_WSTI_CALC_CUST_STY_STR-FSTAT sy-vline
WA_WSTI_CALC_CUST_STY_STR-ANDEB sy-vline
WA_WSTI_CALC_CUST_STY_STR-LGORT sy-vline
WA_WSTI_CALC_CUST_STY_STR-BWAVK sy-vline
WA_WSTI_CALC_CUST_STY_STR-BWART sy-vline
WA_WSTI_CALC_CUST_STY_STR-AUART sy-vline
WA_WSTI_CALC_CUST_STY_STR-PSTYV sy-vline
WA_WSTI_CALC_CUST_STY_STR-FKARA sy-vline
WA_WSTI_CALC_CUST_STY_STR-KALSM sy-vline
WA_WSTI_CALC_CUST_STY_STR-KSCHL sy-vline
WA_WSTI_CALC_CUST_STY_STR-KKSCH sy-vline
WA_WSTI_CALC_CUST_STY_STR-KPSTY sy-vline
WA_WSTI_CALC_CUST_STY_STR-NUMLI sy-vline
WA_WSTI_CALC_CUST_STY_STR-FXSTR sy-vline
WA_WSTI_CALC_CUST_STY_STR-FSTATBW sy-vline
WA_WSTI_CALC_CUST_STY_STR-FSTATRISBW sy-vline
WA_WSTI_CALC_CUST_STY_STR-SRESP sy-vline
WA_WSTI_CALC_CUST_STY_STR-SEND_PARTIAL_CONF sy-vline
WA_WSTI_CALC_CUST_STY_STR-POS_WO_LISTING sy-vline
WA_WSTI_CALC_CUST_STY_STR-CSGMT sy-vline
WA_WSTI_CALC_CUST_STY_STR-TWPFI sy-vline
WA_WSTI_CALC_CUST_STY_STR-MANDT sy-vline
WA_WSTI_CALC_CUST_STY_STR-KOPRO sy-vline
WA_WSTI_CALC_CUST_STY_STR-POTYP sy-vline
WA_WSTI_CALC_CUST_STY_STR-UMTYP sy-vline
WA_WSTI_CALC_CUST_STY_STR-VZEIT sy-vline
WA_WSTI_CALC_CUST_STY_STR-KURST sy-vline
WA_WSTI_CALC_CUST_STY_STR-AKFIN sy-vline
WA_WSTI_CALC_CUST_STY_STR-ERMOD sy-vline
WA_WSTI_CALC_CUST_STY_STR-POSDEX sy-vline
WA_WSTI_CALC_CUST_STY_STR-SALLMG sy-vline
WA_WSTI_CALC_CUST_STY_STR-EKOAR sy-vline
WA_WSTI_CALC_CUST_STY_STR-MEPER sy-vline
WA_WSTI_CALC_CUST_STY_STR-RECDT sy-vline
WA_WSTI_CALC_CUST_STY_STR-OKSTA sy-vline
WA_WSTI_CALC_CUST_STY_STR-NPMAT sy-vline
WA_WSTI_CALC_CUST_STY_STR-NPFOA sy-vline
WA_WSTI_CALC_CUST_STY_STR-NPSET sy-vline
WA_WSTI_CALC_CUST_STY_STR-NPMEC sy-vline
WA_WSTI_CALC_CUST_STY_STR-NPCUR sy-vline
WA_WSTI_CALC_CUST_STY_STR-NPTAX sy-vline
WA_WSTI_CALC_CUST_STY_STR-NPCUS sy-vline
WA_WSTI_CALC_CUST_STY_STR-EAN_ART sy-vline
WA_WSTI_CALC_CUST_STY_STR-EAN_DEL sy-vline
WA_WSTI_CALC_CUST_STY_STR-FOA_ART sy-vline
WA_WSTI_CALC_CUST_STY_STR-MCAT_ART sy-vline
WA_WSTI_CALC_CUST_STY_STR-NO_FABKL sy-vline
WA_WSTI_CALC_CUST_STY_STR-MESTYPE_PLU sy-vline
WA_WSTI_CALC_CUST_STY_STR-NO_BONTEXT sy-vline
WA_WSTI_CALC_CUST_STY_STR-PROMO_REBATE sy-vline
WA_WSTI_CALC_CUST_STY_STR-PRICES_SITEINDEP sy-vline
WA_WSTI_CALC_CUST_STY_STR-PRICING_DIRECT sy-vline
WA_WSTI_CALC_CUST_STY_STR-PRICING_DIRECT_MULT_ACCESS sy-vline
WA_WSTI_CALC_CUST_STY_STR-PRICES_IN_A071 sy-vline
WA_WSTI_CALC_CUST_STY_STR-NO_WARNINGS sy-vline
WA_WSTI_CALC_CUST_STY_STR-TAXES_COPY sy-vline
WA_WSTI_CALC_CUST_STY_STR-NO_TRIGGER sy-vline
WA_WSTI_CALC_CUST_STY_STR-NOT_CHECK_SALES_PER sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.