ABAP Select data from SAP table SISSR_RWIN 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 SISSR_RWIN 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 SISSR_RWIN. 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 SISSR_RWIN 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_SISSR_RWIN TYPE STANDARD TABLE OF SISSR_RWIN, WA_SISSR_RWIN TYPE SISSR_RWIN, 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: <SISSR_RWIN> TYPE SISSR_RWIN. *Process all fields in table header/work area as string values PERFORM process_as_string_field_values CHANGING wa_SISSR_RWIN. SELECT * *restrict ABAP select to first 10 rows UP TO 10 ROWS FROM SISSR_RWIN INTO TABLE IT_SISSR_RWIN. *Select data and declare internal table using in-line method @DATA *SELECT * * FROM SISSR_RWIN * INTO TABLE @DATA(IT_SISSR_RWIN2). *--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_SISSR_RWIN INDEX 1 INTO DATA(WA_SISSR_RWIN2). *Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL LOOP AT IT_SISSR_RWIN ASSIGNING <SISSR_RWIN>.*To update a field value using a field symbol simply change the value via the field symbol pointer
<SISSR_RWIN>-MANDT = 1.
<SISSR_RWIN>-BUKRS = 1.
<SISSR_RWIN>-AWSYS = 1.
<SISSR_RWIN>-AWTYP = 1.
<SISSR_RWIN>-AWREF = 1.
ENDLOOP. LOOP AT IT_SISSR_RWIN INTO WA_SISSR_RWIN. *Write horizonal line to screen report. WRITE:/ sy-uline. *Write selected data to screen/report before conversion. WRITE:/ sy-vline, WA_SISSR_RWIN-AWORG, sy-vline,
WA_SISSR_RWIN-POSNR, sy-vline,
WA_SISSR_RWIN-AWREF_REV, sy-vline,
WA_SISSR_RWIN-AWORG_REV, sy-vline,
WA_SISSR_RWIN-GLVOR, sy-vline,
WA_SISSR_RWIN-USNAM, sy-vline.
ENDLOOP. *Add any further fields from structure WA_SISSR_RWIN 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_SISSR_RWIN 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_SISSR_RWIN INTO WA_SISSR_RWIN. *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 AWSYS CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-AWSYS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-AWSYS.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field AWREF CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-AWREF IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-AWREF.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field AWREF_REV CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-AWREF_REV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-AWREF_REV.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field BELNR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-BELNR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-BELNR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit GJAHR, internal->external for field GJAHR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_SISSR_RWIN-GJAHR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-GJAHR.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field HKONT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-HKONT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-HKONT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ANLN1 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-ANLN1 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-ANLN1.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ANLN2 CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-ANLN2 IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-ANLN2.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field L_AWREF_REV CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-L_AWREF_REV IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-L_AWREF_REV.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field L_RSTBLG CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-L_RSTBLG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-L_RSTBLG.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field SECURITY_ID CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-SECURITY_ID IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-SECURITY_ID.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field KONTRAHENT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-KONTRAHENT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-KONTRAHENT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field ISSUER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-ISSUER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-ISSUER.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field LOANS_CONTRACT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-LOANS_CONTRACT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-LOANS_CONTRACT.
WRITE:/ 'New Value:', ld_input.
*Conversion exit ALPHA, internal->external for field DEAL_NR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_SISSR_RWIN-DEAL_NR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_SISSR_RWIN-DEAL_NR.
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_SISSR_RWIN_STR,
MANDT TYPE STRING,
BUKRS TYPE STRING,
AWSYS TYPE STRING,
AWTYP TYPE STRING,
AWREF TYPE STRING,
AWORG TYPE STRING,
POSNR TYPE STRING,
AWREF_REV TYPE STRING,
AWORG_REV TYPE STRING,
GLVOR TYPE STRING,
USNAM TYPE STRING,
CPUDT TYPE STRING,
CPUTM TYPE STRING,
BELNR TYPE STRING,
GJAHR TYPE STRING,
MONAT TYPE STRING,
BUZEI TYPE STRING,
BUDAT TYPE STRING,
VALUT TYPE STRING,
SHKZG TYPE STRING,
HKONT TYPE STRING,
ANLN1 TYPE STRING,
ANLN2 TYPE STRING,
ANBWA TYPE STRING,
AFABE TYPE STRING,
L_AWREF_REV TYPE STRING,
L_AWORG_REV TYPE STRING,
L_BEWART TYPE STRING,
L_RPNNR TYPE STRING,
L_RSTBLG TYPE STRING,
VALUATION_AREA TYPE STRING,
ACCOUNTING_CODE TYPE STRING,
PRODUCT_CAT TYPE STRING,
PRODUCT_TYPE TYPE STRING,
SECURITY_ACCOUNT TYPE STRING,
SECURITY_ID TYPE STRING,
KONTRAHENT TYPE STRING,
ISSUER TYPE STRING,
PORTFOLIO TYPE STRING,
TRADER TYPE STRING,
ACCOUNT_GROUP TYPE STRING,
LOANS_CONTRACT TYPE STRING,
DEAL_NR TYPE STRING,
POSITION_ACCOUNT TYPE STRING,
BUS_TRANS_ID TYPE STRING,
REF_BUS_TRANS_ID TYPE STRING,
BUS_TRANS_CAT TYPE STRING,
DIST_FLOWTYPE TYPE STRING,
NOMINAL_CURR TYPE STRING,
NOMINAL_AMT TYPE STRING,
NOMINAL_ORG_AMT TYPE STRING,
UNITS TYPE STRING,END OF T_EKKO_STR. DATA: WA_SISSR_RWIN_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_SISSR_RWIN_STR-MANDT sy-vline
WA_SISSR_RWIN_STR-BUKRS sy-vline
WA_SISSR_RWIN_STR-AWSYS sy-vline
WA_SISSR_RWIN_STR-AWTYP sy-vline
WA_SISSR_RWIN_STR-AWREF sy-vline
WA_SISSR_RWIN_STR-AWORG sy-vline
WA_SISSR_RWIN_STR-POSNR sy-vline
WA_SISSR_RWIN_STR-AWREF_REV sy-vline
WA_SISSR_RWIN_STR-AWORG_REV sy-vline
WA_SISSR_RWIN_STR-GLVOR sy-vline
WA_SISSR_RWIN_STR-USNAM sy-vline
WA_SISSR_RWIN_STR-CPUDT sy-vline
WA_SISSR_RWIN_STR-CPUTM sy-vline
WA_SISSR_RWIN_STR-BELNR sy-vline
WA_SISSR_RWIN_STR-GJAHR sy-vline
WA_SISSR_RWIN_STR-MONAT sy-vline
WA_SISSR_RWIN_STR-BUZEI sy-vline
WA_SISSR_RWIN_STR-BUDAT sy-vline
WA_SISSR_RWIN_STR-VALUT sy-vline
WA_SISSR_RWIN_STR-SHKZG sy-vline
WA_SISSR_RWIN_STR-HKONT sy-vline
WA_SISSR_RWIN_STR-ANLN1 sy-vline
WA_SISSR_RWIN_STR-ANLN2 sy-vline
WA_SISSR_RWIN_STR-ANBWA sy-vline
WA_SISSR_RWIN_STR-AFABE sy-vline
WA_SISSR_RWIN_STR-L_AWREF_REV sy-vline
WA_SISSR_RWIN_STR-L_AWORG_REV sy-vline
WA_SISSR_RWIN_STR-L_BEWART sy-vline
WA_SISSR_RWIN_STR-L_RPNNR sy-vline
WA_SISSR_RWIN_STR-L_RSTBLG sy-vline
WA_SISSR_RWIN_STR-VALUATION_AREA sy-vline
WA_SISSR_RWIN_STR-ACCOUNTING_CODE sy-vline
WA_SISSR_RWIN_STR-PRODUCT_CAT sy-vline
WA_SISSR_RWIN_STR-PRODUCT_TYPE sy-vline
WA_SISSR_RWIN_STR-SECURITY_ACCOUNT sy-vline
WA_SISSR_RWIN_STR-SECURITY_ID sy-vline
WA_SISSR_RWIN_STR-KONTRAHENT sy-vline
WA_SISSR_RWIN_STR-ISSUER sy-vline
WA_SISSR_RWIN_STR-PORTFOLIO sy-vline
WA_SISSR_RWIN_STR-TRADER sy-vline
WA_SISSR_RWIN_STR-ACCOUNT_GROUP sy-vline
WA_SISSR_RWIN_STR-LOANS_CONTRACT sy-vline
WA_SISSR_RWIN_STR-DEAL_NR sy-vline
WA_SISSR_RWIN_STR-POSITION_ACCOUNT sy-vline
WA_SISSR_RWIN_STR-BUS_TRANS_ID sy-vline
WA_SISSR_RWIN_STR-REF_BUS_TRANS_ID sy-vline
WA_SISSR_RWIN_STR-BUS_TRANS_CAT sy-vline
WA_SISSR_RWIN_STR-DIST_FLOWTYPE sy-vline
WA_SISSR_RWIN_STR-NOMINAL_CURR sy-vline
WA_SISSR_RWIN_STR-NOMINAL_AMT sy-vline
WA_SISSR_RWIN_STR-NOMINAL_ORG_AMT sy-vline
WA_SISSR_RWIN_STR-UNITS sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.