ABAP Select data from SAP table /MVA/AMARSD_ALL 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 /MVA/AMARSD_ALL 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 /MVA/AMARSD_ALL. 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 /MVA/AMARSD_ALL 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_/MVA/AMARSD_ALL TYPE STANDARD TABLE OF /MVA/AMARSD_ALL,
      WA_/MVA/AMARSD_ALL TYPE /MVA/AMARSD_ALL,
      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: </MVA/AMARSD_ALL> TYPE /MVA/AMARSD_ALL.

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

SELECT *
*restrict ABAP select to first 10 rows
 UP TO 10 ROWS      
  FROM /MVA/AMARSD_ALL
  INTO TABLE IT_/MVA/AMARSD_ALL.

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM /MVA/AMARSD_ALL
*  INTO TABLE @DATA(IT_/MVA/AMARSD_ALL2).
*--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_/MVA/AMARSD_ALL INDEX 1 INTO DATA(WA_/MVA/AMARSD_ALL2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_/MVA/AMARSD_ALL ASSIGNING </MVA/AMARSD_ALL>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
</MVA/AMARSD_ALL>-INS_KIND_CD = 1.
</MVA/AMARSD_ALL>-INSURER_ID = 1.
</MVA/AMARSD_ALL>-OFFICE_ID = 1.
</MVA/AMARSD_ALL>-AGENCY_ID = 1.
</MVA/AMARSD_ALL>-INSBEG_DT = 1.
ENDLOOP.

LOOP AT IT_/MVA/AMARSD_ALL INTO WA_/MVA/AMARSD_ALL.
*Write horizonal line to screen report.
  WRITE:/ sy-uline.

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_/MVA/AMARSD_ALL-INS_NUM_ID, sy-vline,
WA_/MVA/AMARSD_ALL-INT_ANNOT_TT, sy-vline,
WA_/MVA/AMARSD_ALL-LICENCE_ID, sy-vline,
WA_/MVA/AMARSD_ALL-PREV_LICENCE_ID, sy-vline,
WA_/MVA/AMARSD_ALL-LICENCE_CD, sy-vline,
WA_/MVA/AMARSD_ALL-LICENCES_CD, sy-vline.
ENDLOOP. *Add any further fields from structure WA_/MVA/AMARSD_ALL 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_/MVA/AMARSD_ALL 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_/MVA/AMARSD_ALL INTO WA_/MVA/AMARSD_ALL. *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 AGENT_IDPH CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_/MVA/AMARSD_ALL-AGENT_IDPH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/MVA/AMARSD_ALL-AGENT_IDPH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field AGENT_IDVK CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_/MVA/AMARSD_ALL-AGENT_IDVK IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_/MVA/AMARSD_ALL-AGENT_IDVK.
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_/MVA/AMARSD_ALL_STR,
INS_KIND_CD TYPE STRING,
INSURER_ID TYPE STRING,
OFFICE_ID TYPE STRING,
AGENCY_ID TYPE STRING,
INSBEG_DT TYPE STRING,
INS_NUM_ID TYPE STRING,
INT_ANNOT_TT TYPE STRING,
LICENCE_ID TYPE STRING,
PREV_LICENCE_ID TYPE STRING,
LICENCE_CD TYPE STRING,
LICENCES_CD TYPE STRING,
LIC_RESERV_CD TYPE STRING,
SEASONFR_CD TYPE STRING,
SEASONTO_CD TYPE STRING,
ALLOWANCE_DT TYPE STRING,
LIC_VALID_TO TYPE STRING,
EXP_SHRT_LIC_CD TYPE STRING,
ALLOWANCE_TS TYPE STRING,
ALLOWANCE_TZ TYPE STRING,
VARLICPLAOUT_CD TYPE STRING,
VARLICPLATEIN_CD TYPE STRING,
ASSOC_LICENCE_TT TYPE STRING,
EXP_LIC_RESERV_DT TYPE STRING,
ELICENCEPLATE_CD TYPE STRING,
ABANDON_DT TYPE STRING,
CREATION_DT TYPE STRING,
HVSD_CD TYPE STRING,
IC_ID TYPE STRING,
IC_KND_CD TYPE STRING,
IC_STATUS_CD TYPE STRING,
INV_LIC_CD TYPE STRING,
RECALL_TO_DT TYPE STRING,
REF_REAS_CD TYPE STRING,
I_NOTIF_TYP_CD TYPE STRING,
KNOWLEDGE_DT TYPE STRING,
RECH_INSURER_ID TYPE STRING,
RECH_INSBEG_DT TYPE STRING,
NEW_INS_FR_DT TYPE STRING,
FROM_REG_DT_FG TYPE STRING,
ALT_SHIPPING_DT TYPE STRING,
ALT_SHIPPING_TM TYPE STRING,
CREATION_TM TYPE STRING,
/MVA/CHANGE_DT TYPE STRING,
/MVA/CHANGE_TM TYPE STRING,
REFREA_INSEND_CD TYPE STRING,
VIN_CORR_FG TYPE STRING,
AVRESPRA_CORR_FG TYPE STRING,
AVOIDVIN_CORR_FG TYPE STRING,
CVR_ENTR_FG TYPE STRING,
GIFAGENT_ID TYPE STRING,
ICAGENT_ID TYPE STRING,
ICUSER_ID TYPE STRING,
ERRORAT_TT TYPE STRING,
FURTHER_DS_EXIST TYPE STRING,
NAME_TTPH TYPE STRING,
NAMECP_TTPH TYPE STRING,
FNAME_TTPH TYPE STRING,
NAMENREL_IDPH TYPE STRING,
BIRTH_DTPH TYPE STRING,
GENDER_CDPH TYPE STRING,
DEGREE_TTPH TYPE STRING,
ORDERNAME_TTPH TYPE STRING,
PSEUDONYM_TTPH TYPE STRING,
NAME_TTPHL TYPE STRING,
ASSOCNAME_TTPH TYPE STRING,
AGENT_IDPH TYPE STRING,
POST_CDPH TYPE STRING,
CITY_TTPH TYPE STRING,
COUNTRY_IDPH TYPE STRING,
STR_TTPH TYPE STRING,
STRNO_TTPH TYPE STRING,
STRNOSP_TTPH TYPE STRING,
COMKEY_VLPH TYPE STRING,
STRKEY_VLPH TYPE STRING,
PRODUCER_CD TYPE STRING,
PRODUCER_TT TYPE STRING,
VEHTYPE_CD TYPE STRING,
VARIANT_ID TYPE STRING,
VEHTYPE_ID TYPE STRING,
VEHCAT_ID TYPE STRING,
CONSTRUCTION_ID TYPE STRING,
CONSTRUCTION_TT TYPE STRING,
/MVA/VEHCAT_A_TT TYPE STRING,
CAPACITY_VL TYPE STRING,
OUTPUT_VL TYPE STRING,
VEHICLE_ID TYPE STRING,
CLASSICCAR_CD TYPE STRING,
USAGEVEH_ID TYPE STRING,
USAGEVEHLIST_ID TYPE STRING,
DIFF_VHVK TYPE STRING,
NAME_TTVK TYPE STRING,
NAMECP_TTVK TYPE STRING,
FNAME_TTVK TYPE STRING,
NAMENREL_IDVK TYPE STRING,
BIRTH_DTVK TYPE STRING,
GENDER_CDVK TYPE STRING,
DEGREE_TTVK TYPE STRING,
ORDERNAME_TTVK TYPE STRING,
PSEUDONYM_TTVK TYPE STRING,
NAME_TTVKL TYPE STRING,
ASSOCNAME_TTVK TYPE STRING,
AGENT_IDVK TYPE STRING,
POST_CDVK TYPE STRING,
CITY_TTVK TYPE STRING,
COUNTRY_IDVK TYPE STRING,
STR_TTVK TYPE STRING,
STRNO_TTVK TYPE STRING,
STRNOSP_TTVK TYPE STRING,
COMKEY_VLVK TYPE STRING,
STRKEY_VLVK TYPE STRING,
KEEP_CHG_CD TYPE STRING,
INS_CHG_CD TYPE STRING,
LIC_CHG_CD TYPE STRING,
VEHCAT_CHG_CD TYPE STRING,
NOTIF_TYPE_CD TYPE STRING,
CANCEL_CD TYPE STRING,
CHGCLASSICCAR_CD TYPE STRING,
USAGEVEH_CHG_CD TYPE STRING,
CHGELICPLATE_CD TYPE STRING,
ERROR_TP TYPE STRING,
REQUEST_ID TYPE STRING,
ERROR_TT TYPE STRING,END OF T_EKKO_STR. DATA: WA_/MVA/AMARSD_ALL_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_/MVA/AMARSD_ALL_STR-INS_KIND_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-INSURER_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-OFFICE_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-AGENCY_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-INSBEG_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-INS_NUM_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-INT_ANNOT_TT sy-vline
WA_/MVA/AMARSD_ALL_STR-LICENCE_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-PREV_LICENCE_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-LICENCE_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-LICENCES_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-LIC_RESERV_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-SEASONFR_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-SEASONTO_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-ALLOWANCE_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-LIC_VALID_TO sy-vline
WA_/MVA/AMARSD_ALL_STR-EXP_SHRT_LIC_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-ALLOWANCE_TS sy-vline
WA_/MVA/AMARSD_ALL_STR-ALLOWANCE_TZ sy-vline
WA_/MVA/AMARSD_ALL_STR-VARLICPLAOUT_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-VARLICPLATEIN_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-ASSOC_LICENCE_TT sy-vline
WA_/MVA/AMARSD_ALL_STR-EXP_LIC_RESERV_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-ELICENCEPLATE_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-ABANDON_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-CREATION_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-HVSD_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-IC_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-IC_KND_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-IC_STATUS_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-INV_LIC_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-RECALL_TO_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-REF_REAS_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-I_NOTIF_TYP_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-KNOWLEDGE_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-RECH_INSURER_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-RECH_INSBEG_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-NEW_INS_FR_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-FROM_REG_DT_FG sy-vline
WA_/MVA/AMARSD_ALL_STR-ALT_SHIPPING_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-ALT_SHIPPING_TM sy-vline
WA_/MVA/AMARSD_ALL_STR-CREATION_TM sy-vline
WA_/MVA/AMARSD_ALL_STR-/MVA/CHANGE_DT sy-vline
WA_/MVA/AMARSD_ALL_STR-/MVA/CHANGE_TM sy-vline
WA_/MVA/AMARSD_ALL_STR-REFREA_INSEND_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-VIN_CORR_FG sy-vline
WA_/MVA/AMARSD_ALL_STR-AVRESPRA_CORR_FG sy-vline
WA_/MVA/AMARSD_ALL_STR-AVOIDVIN_CORR_FG sy-vline
WA_/MVA/AMARSD_ALL_STR-CVR_ENTR_FG sy-vline
WA_/MVA/AMARSD_ALL_STR-GIFAGENT_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-ICAGENT_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-ICUSER_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-ERRORAT_TT sy-vline
WA_/MVA/AMARSD_ALL_STR-FURTHER_DS_EXIST sy-vline
WA_/MVA/AMARSD_ALL_STR-NAME_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-NAMECP_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-FNAME_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-NAMENREL_IDPH sy-vline
WA_/MVA/AMARSD_ALL_STR-BIRTH_DTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-GENDER_CDPH sy-vline
WA_/MVA/AMARSD_ALL_STR-DEGREE_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-ORDERNAME_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-PSEUDONYM_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-NAME_TTPHL sy-vline
WA_/MVA/AMARSD_ALL_STR-ASSOCNAME_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-AGENT_IDPH sy-vline
WA_/MVA/AMARSD_ALL_STR-POST_CDPH sy-vline
WA_/MVA/AMARSD_ALL_STR-CITY_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-COUNTRY_IDPH sy-vline
WA_/MVA/AMARSD_ALL_STR-STR_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-STRNO_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-STRNOSP_TTPH sy-vline
WA_/MVA/AMARSD_ALL_STR-COMKEY_VLPH sy-vline
WA_/MVA/AMARSD_ALL_STR-STRKEY_VLPH sy-vline
WA_/MVA/AMARSD_ALL_STR-PRODUCER_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-PRODUCER_TT sy-vline
WA_/MVA/AMARSD_ALL_STR-VEHTYPE_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-VARIANT_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-VEHTYPE_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-VEHCAT_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-CONSTRUCTION_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-CONSTRUCTION_TT sy-vline
WA_/MVA/AMARSD_ALL_STR-/MVA/VEHCAT_A_TT sy-vline
WA_/MVA/AMARSD_ALL_STR-CAPACITY_VL sy-vline
WA_/MVA/AMARSD_ALL_STR-OUTPUT_VL sy-vline
WA_/MVA/AMARSD_ALL_STR-VEHICLE_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-CLASSICCAR_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-USAGEVEH_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-USAGEVEHLIST_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-DIFF_VHVK sy-vline
WA_/MVA/AMARSD_ALL_STR-NAME_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-NAMECP_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-FNAME_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-NAMENREL_IDVK sy-vline
WA_/MVA/AMARSD_ALL_STR-BIRTH_DTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-GENDER_CDVK sy-vline
WA_/MVA/AMARSD_ALL_STR-DEGREE_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-ORDERNAME_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-PSEUDONYM_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-NAME_TTVKL sy-vline
WA_/MVA/AMARSD_ALL_STR-ASSOCNAME_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-AGENT_IDVK sy-vline
WA_/MVA/AMARSD_ALL_STR-POST_CDVK sy-vline
WA_/MVA/AMARSD_ALL_STR-CITY_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-COUNTRY_IDVK sy-vline
WA_/MVA/AMARSD_ALL_STR-STR_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-STRNO_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-STRNOSP_TTVK sy-vline
WA_/MVA/AMARSD_ALL_STR-COMKEY_VLVK sy-vline
WA_/MVA/AMARSD_ALL_STR-STRKEY_VLVK sy-vline
WA_/MVA/AMARSD_ALL_STR-KEEP_CHG_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-INS_CHG_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-LIC_CHG_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-VEHCAT_CHG_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-NOTIF_TYPE_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-CANCEL_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-CHGCLASSICCAR_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-USAGEVEH_CHG_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-CHGELICPLATE_CD sy-vline
WA_/MVA/AMARSD_ALL_STR-ERROR_TP sy-vline
WA_/MVA/AMARSD_ALL_STR-REQUEST_ID sy-vline
WA_/MVA/AMARSD_ALL_STR-ERROR_TT sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.