ABAP Select data from SAP table TTMS_SEC_STRUCTURE 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 TTMS_SEC_STRUCTURE 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 TTMS_SEC_STRUCTURE. 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 TTMS_SEC_STRUCTURE 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_TTMS_SEC_STRUCTURE TYPE STANDARD TABLE OF TTMS_SEC_STRUCTURE,
      WA_TTMS_SEC_STRUCTURE TYPE TTMS_SEC_STRUCTURE,
      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: <TTMS_SEC_STRUCTURE> TYPE TTMS_SEC_STRUCTURE.

*Process all fields in table header/work area as string values
  PERFORM process_as_string_field_values CHANGING wa_TTMS_SEC_STRUCTURE.

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM TTMS_SEC_STRUCTURE
  INTO TABLE IT_TTMS_SEC_STRUCTURE.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM TTMS_SEC_STRUCTURE
*  INTO TABLE @DATA(IT_TTMS_SEC_STRUCTURE2).
*--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_TTMS_SEC_STRUCTURE INDEX 1 INTO DATA(WA_TTMS_SEC_STRUCTURE2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_TTMS_SEC_STRUCTURE ASSIGNING <TTMS_SEC_STRUCTURE>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<TTMS_SEC_STRUCTURE>-SFHAZBA = 1.
<TTMS_SEC_STRUCTURE>-XBEWART = 1.
<TTMS_SEC_STRUCTURE>-PAY_SFHAZBA = 1.
<TTMS_SEC_STRUCTURE>-PAY_XBEWART = 1.
<TTMS_SEC_STRUCTURE>-PAY_ASSIGNMENT = 1.
ENDLOOP.

LOOP AT IT_TTMS_SEC_STRUCTURE INTO WA_TTMS_SEC_STRUCTURE.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_TTMS_SEC_STRUCTURE-PUSH_PAY_FLOW_DET, sy-vline,
WA_TTMS_SEC_STRUCTURE-RLDEPO, sy-vline,
WA_TTMS_SEC_STRUCTURE-XLDEPO, sy-vline,
WA_TTMS_SEC_STRUCTURE-RCOMVALCL, sy-vline,
WA_TTMS_SEC_STRUCTURE-SNOTDELIVERED, sy-vline,
WA_TTMS_SEC_STRUCTURE-DBESTAND, sy-vline.
ENDLOOP. *Add any further fields from structure WA_TTMS_SEC_STRUCTURE 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_TTMS_SEC_STRUCTURE 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_TTMS_SEC_STRUCTURE INTO WA_TTMS_SEC_STRUCTURE. *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 EXCRT, internal->external for field KZWKURS CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_TTMS_SEC_STRUCTURE-KZWKURS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TTMS_SEC_STRUCTURE-KZWKURS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit EXCRT, internal->external for field KHWKURS CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_TTMS_SEC_STRUCTURE-KHWKURS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TTMS_SEC_STRUCTURE-KHWKURS.
WRITE:/ 'New Value:', ld_input.

*Conversion exit EXCRT, internal->external for field KBWKURS CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_TTMS_SEC_STRUCTURE-KBWKURS IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_TTMS_SEC_STRUCTURE-KBWKURS.
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_TTMS_SEC_STRUCTURE_STR,
SFHAZBA TYPE STRING,
XBEWART TYPE STRING,
PAY_SFHAZBA TYPE STRING,
PAY_XBEWART TYPE STRING,
PAY_ASSIGNMENT TYPE STRING,
PUSH_PAY_FLOW_DET TYPE STRING,
RLDEPO TYPE STRING,
XLDEPO TYPE STRING,
RCOMVALCL TYPE STRING,
SNOTDELIVERED TYPE STRING,
DBESTAND TYPE STRING,
DBESTANDX TYPE STRING,
DVALUT TYPE STRING,
DVALUTX TYPE STRING,
SVINCL TYPE STRING,
XINCL TYPE STRING,
SVULT TYPE STRING,
DZTERM TYPE STRING,
XZTERM TYPE STRING,
ASTUECK TYPE STRING,
XASTUECK TYPE STRING,
INDEX_PRICE_U TYPE STRING,
INDEX_VALUE_U TYPE STRING,
BUPRC TYPE STRING,
SRUNIT TYPE STRING,
SSPOT_U TYPE STRING,
NOMINAL_ORG_AMT TYPE STRING,
XNWHR_ORG TYPE STRING,
WNWHR_ORG TYPE STRING,
NOM_FACTOR TYPE STRING,
BNWHR TYPE STRING,
XNWHR TYPE STRING,
WPRICE TYPE STRING,
INDEX_PRICE_P TYPE STRING,
INDEX_VALUE_P TYPE STRING,
BPPRC TYPE STRING,
SSPOT_P TYPE STRING,
BEBETR TYPE STRING,
XEBETR TYPE STRING,
WEBETR TYPE STRING,
SSPOT_ORIGIN TYPE STRING,
BZBETR TYPE STRING,
XZBETR TYPE STRING,
WZBETR TYPE STRING,
KZWKURS TYPE STRING,
KZWKURS_FROM TYPE STRING,
KZWKURS_TO TYPE STRING,
PUSH_FLOW_DET TYPE STRING,
BHWBETR TYPE STRING,
XHBETR TYPE STRING,
WHWBETR TYPE STRING,
KHWKURS TYPE STRING,
KHWKURS_FROM TYPE STRING,
KHWKURS_TO TYPE STRING,
BBBETR TYPE STRING,
XBBETR TYPE STRING,
WBBETR TYPE STRING,
KBWKURS TYPE STRING,
KBWKURS_FROM TYPE STRING,
KBWKURS_TO TYPE STRING,
CURRENT_RATE TYPE STRING,
EXCHANGE_RATE_FIXED TYPE STRING,
FIXED_AMOUNT TYPE STRING,
ASSIGNMENT TYPE STRING,
SSTCKTG TYPE STRING,
SKALIDWT TYPE STRING,
SKALIDWT_TEXT TYPE STRING,
SCOUPON TYPE STRING,
ROUNDING_RULE TYPE STRING,
SFLAT TYPE STRING,
PUSH_COUPON_DATE TYPE STRING,
BZBETR_ACCINT TYPE STRING,
WZBETR_ACCINT TYPE STRING,
SEFFMETH_NEW TYPE STRING,
PEFFZINS TYPE STRING,
PEFFZINS_GIVEN TYPE STRING,
RHANDPL TYPE STRING,
SSPESEN TYPE STRING,END OF T_EKKO_STR. DATA: WA_TTMS_SEC_STRUCTURE_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_TTMS_SEC_STRUCTURE_STR-SFHAZBA sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XBEWART sy-vline
WA_TTMS_SEC_STRUCTURE_STR-PAY_SFHAZBA sy-vline
WA_TTMS_SEC_STRUCTURE_STR-PAY_XBEWART sy-vline
WA_TTMS_SEC_STRUCTURE_STR-PAY_ASSIGNMENT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-PUSH_PAY_FLOW_DET sy-vline
WA_TTMS_SEC_STRUCTURE_STR-RLDEPO sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XLDEPO sy-vline
WA_TTMS_SEC_STRUCTURE_STR-RCOMVALCL sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SNOTDELIVERED sy-vline
WA_TTMS_SEC_STRUCTURE_STR-DBESTAND sy-vline
WA_TTMS_SEC_STRUCTURE_STR-DBESTANDX sy-vline
WA_TTMS_SEC_STRUCTURE_STR-DVALUT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-DVALUTX sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SVINCL sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XINCL sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SVULT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-DZTERM sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XZTERM sy-vline
WA_TTMS_SEC_STRUCTURE_STR-ASTUECK sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XASTUECK sy-vline
WA_TTMS_SEC_STRUCTURE_STR-INDEX_PRICE_U sy-vline
WA_TTMS_SEC_STRUCTURE_STR-INDEX_VALUE_U sy-vline
WA_TTMS_SEC_STRUCTURE_STR-BUPRC sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SRUNIT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SSPOT_U sy-vline
WA_TTMS_SEC_STRUCTURE_STR-NOMINAL_ORG_AMT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XNWHR_ORG sy-vline
WA_TTMS_SEC_STRUCTURE_STR-WNWHR_ORG sy-vline
WA_TTMS_SEC_STRUCTURE_STR-NOM_FACTOR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-BNWHR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XNWHR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-WPRICE sy-vline
WA_TTMS_SEC_STRUCTURE_STR-INDEX_PRICE_P sy-vline
WA_TTMS_SEC_STRUCTURE_STR-INDEX_VALUE_P sy-vline
WA_TTMS_SEC_STRUCTURE_STR-BPPRC sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SSPOT_P sy-vline
WA_TTMS_SEC_STRUCTURE_STR-BEBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XEBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-WEBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SSPOT_ORIGIN sy-vline
WA_TTMS_SEC_STRUCTURE_STR-BZBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XZBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-WZBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-KZWKURS sy-vline
WA_TTMS_SEC_STRUCTURE_STR-KZWKURS_FROM sy-vline
WA_TTMS_SEC_STRUCTURE_STR-KZWKURS_TO sy-vline
WA_TTMS_SEC_STRUCTURE_STR-PUSH_FLOW_DET sy-vline
WA_TTMS_SEC_STRUCTURE_STR-BHWBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XHBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-WHWBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-KHWKURS sy-vline
WA_TTMS_SEC_STRUCTURE_STR-KHWKURS_FROM sy-vline
WA_TTMS_SEC_STRUCTURE_STR-KHWKURS_TO sy-vline
WA_TTMS_SEC_STRUCTURE_STR-BBBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-XBBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-WBBETR sy-vline
WA_TTMS_SEC_STRUCTURE_STR-KBWKURS sy-vline
WA_TTMS_SEC_STRUCTURE_STR-KBWKURS_FROM sy-vline
WA_TTMS_SEC_STRUCTURE_STR-KBWKURS_TO sy-vline
WA_TTMS_SEC_STRUCTURE_STR-CURRENT_RATE sy-vline
WA_TTMS_SEC_STRUCTURE_STR-EXCHANGE_RATE_FIXED sy-vline
WA_TTMS_SEC_STRUCTURE_STR-FIXED_AMOUNT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-ASSIGNMENT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SSTCKTG sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SKALIDWT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SKALIDWT_TEXT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SCOUPON sy-vline
WA_TTMS_SEC_STRUCTURE_STR-ROUNDING_RULE sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SFLAT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-PUSH_COUPON_DATE sy-vline
WA_TTMS_SEC_STRUCTURE_STR-BZBETR_ACCINT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-WZBETR_ACCINT sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SEFFMETH_NEW sy-vline
WA_TTMS_SEC_STRUCTURE_STR-PEFFZINS sy-vline
WA_TTMS_SEC_STRUCTURE_STR-PEFFZINS_GIVEN sy-vline
WA_TTMS_SEC_STRUCTURE_STR-RHANDPL sy-vline
WA_TTMS_SEC_STRUCTURE_STR-SSPESEN sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.