ABAP Select data from SAP table CRMS_OBJ_HEADER 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 CRMS_OBJ_HEADER 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 CRMS_OBJ_HEADER. 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 CRMS_OBJ_HEADER 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_CRMS_OBJ_HEADER TYPE STANDARD TABLE OF CRMS_OBJ_HEADER,
      WA_CRMS_OBJ_HEADER TYPE CRMS_OBJ_HEADER,
      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: <CRMS_OBJ_HEADER> TYPE CRMS_OBJ_HEADER.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM CRMS_OBJ_HEADER
*  INTO TABLE @DATA(IT_CRMS_OBJ_HEADER2).
*--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_CRMS_OBJ_HEADER INDEX 1 INTO DATA(WA_CRMS_OBJ_HEADER2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_CRMS_OBJ_HEADER ASSIGNING <CRMS_OBJ_HEADER>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<CRMS_OBJ_HEADER>-MANDT = 1.
<CRMS_OBJ_HEADER>-DOCNUM = 1.
<CRMS_OBJ_HEADER>-NFTYPE = 1.
<CRMS_OBJ_HEADER>-DOCTYP = 1.
<CRMS_OBJ_HEADER>-DIRECT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_CRMS_OBJ_HEADER-DOCDAT, sy-vline,
WA_CRMS_OBJ_HEADER-PSTDAT, sy-vline,
WA_CRMS_OBJ_HEADER-CREDAT, sy-vline,
WA_CRMS_OBJ_HEADER-CRETIM, sy-vline,
WA_CRMS_OBJ_HEADER-CRENAM, sy-vline,
WA_CRMS_OBJ_HEADER-CHADAT, sy-vline.
ENDLOOP. *Add any further fields from structure WA_CRMS_OBJ_HEADER 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_CRMS_OBJ_HEADER 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_CRMS_OBJ_HEADER INTO WA_CRMS_OBJ_HEADER. *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.
ENDFORM. *&---------------------------------------------------------------------* *& Form process_as_string_field_values *&---------------------------------------------------------------------* FORM process_as_string_field_values CHANGING p_EKKO LIKE wa_EKKO. TYPES: BEGIN OF T_CRMS_OBJ_HEADER_STR,
MANDT TYPE STRING,
DOCNUM TYPE STRING,
NFTYPE TYPE STRING,
DOCTYP TYPE STRING,
DIRECT TYPE STRING,
DOCDAT TYPE STRING,
PSTDAT TYPE STRING,
CREDAT TYPE STRING,
CRETIM TYPE STRING,
CRENAM TYPE STRING,
CHADAT TYPE STRING,
CHATIM TYPE STRING,
CHANAM TYPE STRING,
FORM TYPE STRING,
MODEL TYPE STRING,
SERIES TYPE STRING,
SUBSER TYPE STRING,
NFNUM TYPE STRING,
ENTRAD TYPE STRING,
FATURA TYPE STRING,
ZTERM TYPE STRING,
PRINTD TYPE STRING,
MANUAL TYPE STRING,
FOLLOW TYPE STRING,
WAERK TYPE STRING,
BELNR TYPE STRING,
GJAHR TYPE STRING,
BUKRS TYPE STRING,
BRANCH TYPE STRING,
PARVW TYPE STRING,
PARID TYPE STRING,
PARXCPDK TYPE STRING,
PARTYP TYPE STRING,
CANCEL TYPE STRING,
CANDAT TYPE STRING,
SUBSEQ TYPE STRING,
DOCREF TYPE STRING,
TRATY TYPE STRING,
TRAID TYPE STRING,
INCO1 TYPE STRING,
INCO2 TYPE STRING,
SHPUNT TYPE STRING,
ANZPK TYPE STRING,
SHPMRK TYPE STRING,
SHPNUM TYPE STRING,
BRGEW TYPE STRING,
NTGEW TYPE STRING,
GEWEI TYPE STRING,
ZFBDT TYPE STRING,
WITHA TYPE STRING,
OBSERVAT TYPE STRING,
VSTEL TYPE STRING,
AWSYS TYPE STRING,
R_REFTYP TYPE STRING,
R_REFKEY TYPE STRING,
R_AWSYS TYPE STRING,
PREFNO TYPE STRING,
CHECOD TYPE STRING,
NFE TYPE STRING,
NFENUM TYPE STRING,
NFESRV TYPE STRING,
CONTING TYPE STRING,
AUTHCOD TYPE STRING,
DOCSTAT TYPE STRING,
XMLVERS TYPE STRING,
NFENRNR TYPE STRING,
CODE TYPE STRING,
DOCNUM9 TYPE STRING,
AUTHDATE TYPE STRING,
AUTHTIME TYPE STRING,
TPEMIS TYPE STRING,
ACCESS_KEY TYPE STRING,
SERV_TP TYPE STRING,
CTE_STRT_LCT TYPE STRING,
CTE_END_LCT TYPE STRING,
MAIN_PRODUCT TYPE STRING,
RCVR_WDW TYPE STRING,
PLN_DT_DLV TYPE STRING,
FTL_IND TYPE STRING,
VOL_TRANSP TYPE STRING,
VOL_UNIT TYPE STRING,
TOTAL_REF_AMT TYPE STRING,
TRANSP_MODE TYPE STRING,
CRE_TIMESTAMP TYPE STRING,
CTE_PARTNER TYPE STRING,
CTE_SERV_TAKER TYPE STRING,
CTE_TYPE TYPE STRING,
INDPAG TYPE STRING,
DSAIENT TYPE STRING,
HSAIENT TYPE STRING,
ISUF TYPE STRING,
MODFRETE TYPE STRING,
PLACA TYPE STRING,
UF1 TYPE STRING,
RNTC TYPE STRING,
VAGAO TYPE STRING,
BALSA TYPE STRING,
NFAT TYPE STRING,
VORIG TYPE STRING,
VDESC TYPE STRING,
VLIQ TYPE STRING,
UFEMBARQ TYPE STRING,
XLOCEMBARQ TYPE STRING,
XNEMP TYPE STRING,
SAFRA TYPE STRING,
REF_MONTH_YEAR TYPE STRING,
QTOTMES TYPE STRING,
QTOTANT TYPE STRING,
QTOTGER TYPE STRING,
VFOR TYPE STRING,
VTOTDED TYPE STRING,
VLIQFOR TYPE STRING,
IND_FINAL TYPE STRING,
IND_PRES TYPE STRING,END OF T_EKKO_STR. DATA: WA_CRMS_OBJ_HEADER_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_CRMS_OBJ_HEADER_STR-MANDT sy-vline
WA_CRMS_OBJ_HEADER_STR-DOCNUM sy-vline
WA_CRMS_OBJ_HEADER_STR-NFTYPE sy-vline
WA_CRMS_OBJ_HEADER_STR-DOCTYP sy-vline
WA_CRMS_OBJ_HEADER_STR-DIRECT sy-vline
WA_CRMS_OBJ_HEADER_STR-DOCDAT sy-vline
WA_CRMS_OBJ_HEADER_STR-PSTDAT sy-vline
WA_CRMS_OBJ_HEADER_STR-CREDAT sy-vline
WA_CRMS_OBJ_HEADER_STR-CRETIM sy-vline
WA_CRMS_OBJ_HEADER_STR-CRENAM sy-vline
WA_CRMS_OBJ_HEADER_STR-CHADAT sy-vline
WA_CRMS_OBJ_HEADER_STR-CHATIM sy-vline
WA_CRMS_OBJ_HEADER_STR-CHANAM sy-vline
WA_CRMS_OBJ_HEADER_STR-FORM sy-vline
WA_CRMS_OBJ_HEADER_STR-MODEL sy-vline
WA_CRMS_OBJ_HEADER_STR-SERIES sy-vline
WA_CRMS_OBJ_HEADER_STR-SUBSER sy-vline
WA_CRMS_OBJ_HEADER_STR-NFNUM sy-vline
WA_CRMS_OBJ_HEADER_STR-ENTRAD sy-vline
WA_CRMS_OBJ_HEADER_STR-FATURA sy-vline
WA_CRMS_OBJ_HEADER_STR-ZTERM sy-vline
WA_CRMS_OBJ_HEADER_STR-PRINTD sy-vline
WA_CRMS_OBJ_HEADER_STR-MANUAL sy-vline
WA_CRMS_OBJ_HEADER_STR-FOLLOW sy-vline
WA_CRMS_OBJ_HEADER_STR-WAERK sy-vline
WA_CRMS_OBJ_HEADER_STR-BELNR sy-vline
WA_CRMS_OBJ_HEADER_STR-GJAHR sy-vline
WA_CRMS_OBJ_HEADER_STR-BUKRS sy-vline
WA_CRMS_OBJ_HEADER_STR-BRANCH sy-vline
WA_CRMS_OBJ_HEADER_STR-PARVW sy-vline
WA_CRMS_OBJ_HEADER_STR-PARID sy-vline
WA_CRMS_OBJ_HEADER_STR-PARXCPDK sy-vline
WA_CRMS_OBJ_HEADER_STR-PARTYP sy-vline
WA_CRMS_OBJ_HEADER_STR-CANCEL sy-vline
WA_CRMS_OBJ_HEADER_STR-CANDAT sy-vline
WA_CRMS_OBJ_HEADER_STR-SUBSEQ sy-vline
WA_CRMS_OBJ_HEADER_STR-DOCREF sy-vline
WA_CRMS_OBJ_HEADER_STR-TRATY sy-vline
WA_CRMS_OBJ_HEADER_STR-TRAID sy-vline
WA_CRMS_OBJ_HEADER_STR-INCO1 sy-vline
WA_CRMS_OBJ_HEADER_STR-INCO2 sy-vline
WA_CRMS_OBJ_HEADER_STR-SHPUNT sy-vline
WA_CRMS_OBJ_HEADER_STR-ANZPK sy-vline
WA_CRMS_OBJ_HEADER_STR-SHPMRK sy-vline
WA_CRMS_OBJ_HEADER_STR-SHPNUM sy-vline
WA_CRMS_OBJ_HEADER_STR-BRGEW sy-vline
WA_CRMS_OBJ_HEADER_STR-NTGEW sy-vline
WA_CRMS_OBJ_HEADER_STR-GEWEI sy-vline
WA_CRMS_OBJ_HEADER_STR-ZFBDT sy-vline
WA_CRMS_OBJ_HEADER_STR-WITHA sy-vline
WA_CRMS_OBJ_HEADER_STR-OBSERVAT sy-vline
WA_CRMS_OBJ_HEADER_STR-VSTEL sy-vline
WA_CRMS_OBJ_HEADER_STR-AWSYS sy-vline
WA_CRMS_OBJ_HEADER_STR-R_REFTYP sy-vline
WA_CRMS_OBJ_HEADER_STR-R_REFKEY sy-vline
WA_CRMS_OBJ_HEADER_STR-R_AWSYS sy-vline
WA_CRMS_OBJ_HEADER_STR-PREFNO sy-vline
WA_CRMS_OBJ_HEADER_STR-CHECOD sy-vline
WA_CRMS_OBJ_HEADER_STR-NFE sy-vline
WA_CRMS_OBJ_HEADER_STR-NFENUM sy-vline
WA_CRMS_OBJ_HEADER_STR-NFESRV sy-vline
WA_CRMS_OBJ_HEADER_STR-CONTING sy-vline
WA_CRMS_OBJ_HEADER_STR-AUTHCOD sy-vline
WA_CRMS_OBJ_HEADER_STR-DOCSTAT sy-vline
WA_CRMS_OBJ_HEADER_STR-XMLVERS sy-vline
WA_CRMS_OBJ_HEADER_STR-NFENRNR sy-vline
WA_CRMS_OBJ_HEADER_STR-CODE sy-vline
WA_CRMS_OBJ_HEADER_STR-DOCNUM9 sy-vline
WA_CRMS_OBJ_HEADER_STR-AUTHDATE sy-vline
WA_CRMS_OBJ_HEADER_STR-AUTHTIME sy-vline
WA_CRMS_OBJ_HEADER_STR-TPEMIS sy-vline
WA_CRMS_OBJ_HEADER_STR-ACCESS_KEY sy-vline
WA_CRMS_OBJ_HEADER_STR-SERV_TP sy-vline
WA_CRMS_OBJ_HEADER_STR-CTE_STRT_LCT sy-vline
WA_CRMS_OBJ_HEADER_STR-CTE_END_LCT sy-vline
WA_CRMS_OBJ_HEADER_STR-MAIN_PRODUCT sy-vline
WA_CRMS_OBJ_HEADER_STR-RCVR_WDW sy-vline
WA_CRMS_OBJ_HEADER_STR-PLN_DT_DLV sy-vline
WA_CRMS_OBJ_HEADER_STR-FTL_IND sy-vline
WA_CRMS_OBJ_HEADER_STR-VOL_TRANSP sy-vline
WA_CRMS_OBJ_HEADER_STR-VOL_UNIT sy-vline
WA_CRMS_OBJ_HEADER_STR-TOTAL_REF_AMT sy-vline
WA_CRMS_OBJ_HEADER_STR-TRANSP_MODE sy-vline
WA_CRMS_OBJ_HEADER_STR-CRE_TIMESTAMP sy-vline
WA_CRMS_OBJ_HEADER_STR-CTE_PARTNER sy-vline
WA_CRMS_OBJ_HEADER_STR-CTE_SERV_TAKER sy-vline
WA_CRMS_OBJ_HEADER_STR-CTE_TYPE sy-vline
WA_CRMS_OBJ_HEADER_STR-INDPAG sy-vline
WA_CRMS_OBJ_HEADER_STR-DSAIENT sy-vline
WA_CRMS_OBJ_HEADER_STR-HSAIENT sy-vline
WA_CRMS_OBJ_HEADER_STR-ISUF sy-vline
WA_CRMS_OBJ_HEADER_STR-MODFRETE sy-vline
WA_CRMS_OBJ_HEADER_STR-PLACA sy-vline
WA_CRMS_OBJ_HEADER_STR-UF1 sy-vline
WA_CRMS_OBJ_HEADER_STR-RNTC sy-vline
WA_CRMS_OBJ_HEADER_STR-VAGAO sy-vline
WA_CRMS_OBJ_HEADER_STR-BALSA sy-vline
WA_CRMS_OBJ_HEADER_STR-NFAT sy-vline
WA_CRMS_OBJ_HEADER_STR-VORIG sy-vline
WA_CRMS_OBJ_HEADER_STR-VDESC sy-vline
WA_CRMS_OBJ_HEADER_STR-VLIQ sy-vline
WA_CRMS_OBJ_HEADER_STR-UFEMBARQ sy-vline
WA_CRMS_OBJ_HEADER_STR-XLOCEMBARQ sy-vline
WA_CRMS_OBJ_HEADER_STR-XNEMP sy-vline
WA_CRMS_OBJ_HEADER_STR-SAFRA sy-vline
WA_CRMS_OBJ_HEADER_STR-REF_MONTH_YEAR sy-vline
WA_CRMS_OBJ_HEADER_STR-QTOTMES sy-vline
WA_CRMS_OBJ_HEADER_STR-QTOTANT sy-vline
WA_CRMS_OBJ_HEADER_STR-QTOTGER sy-vline
WA_CRMS_OBJ_HEADER_STR-VFOR sy-vline
WA_CRMS_OBJ_HEADER_STR-VTOTDED sy-vline
WA_CRMS_OBJ_HEADER_STR-VLIQFOR sy-vline
WA_CRMS_OBJ_HEADER_STR-IND_FINAL sy-vline
WA_CRMS_OBJ_HEADER_STR-IND_PRES sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.