ABAP Select data from SAP table AVICDCFPAY 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 AVICDCFPAY 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 AVICDCFPAY. 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 AVICDCFPAY 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_AVICDCFPAY TYPE STANDARD TABLE OF AVICDCFPAY,
      WA_AVICDCFPAY TYPE AVICDCFPAY,
      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: <AVICDCFPAY> TYPE AVICDCFPAY.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM AVICDCFPAY
*  INTO TABLE @DATA(IT_AVICDCFPAY2).
*--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_AVICDCFPAY INDEX 1 INTO DATA(WA_AVICDCFPAY2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_AVICDCFPAY ASSIGNING <AVICDCFPAY>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<AVICDCFPAY>-MANDT = 1.
<AVICDCFPAY>-CFPAYGUID = 1.
<AVICDCFPAY>-CONDGUID = 1.
<AVICDCFPAY>-CONDVALIDFROM = 1.
<AVICDCFPAY>-REFGUID = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_AVICDCFPAY-INTRENO, sy-vline,
WA_AVICDCFPAY-RERF, sy-vline,
WA_AVICDCFPAY-DERF, sy-vline,
WA_AVICDCFPAY-TERF, sy-vline,
WA_AVICDCFPAY-REHER, sy-vline,
WA_AVICDCFPAY-RBEAR, sy-vline.
ENDLOOP. *Add any further fields from structure WA_AVICDCFPAY 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_AVICDCFPAY 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_AVICDCFPAY INTO WA_AVICDCFPAY. *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 FLOWTYPE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-FLOWTYPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-FLOWTYPE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field ORIGFLOWTYPE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-ORIGFLOWTYPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-ORIGFLOWTYPE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field REFFLOWREL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-REFFLOWREL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-REFFLOWREL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field PARTNER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-PARTNER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-PARTNER.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field CONDTYPE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-CONDTYPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-CONDTYPE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TERMNOPY CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-TERMNOPY IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-TERMNOPY.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TERMNORH CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-TERMNORH IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-TERMNORH.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TERMNOAJ CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-TERMNOAJ IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-TERMNOAJ.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TERMNOOA CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-TERMNOOA IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-TERMNOOA.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TERMNOSR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-TERMNOSR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-TERMNOSR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TERMNOMR CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-TERMNOMR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-TERMNOMR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field TERMNOWT CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-TERMNOWT IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-TERMNOWT.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field BOOK_FLOWTYPE CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-BOOK_FLOWTYPE IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-BOOK_FLOWTYPE.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field BOOK_REFFLOWREL CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-BOOK_REFFLOWREL IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-BOOK_REFFLOWREL.
WRITE:/ 'New Value:', ld_input.

*Conversion exit ALPHA, internal->external for field CMCFGROUP CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_AVICDCFPAY-CMCFGROUP IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-CMCFGROUP.
WRITE:/ 'New Value:', ld_input.

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

*Conversion exit EXCRT, internal->external for field CTRATEORIG CALL FUNCTION 'CONVERSION_EXIT_EXCRT_OUTPUT' EXPORTING input = WA_AVICDCFPAY-CTRATEORIG IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_AVICDCFPAY-CTRATEORIG.
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_AVICDCFPAY_STR,
MANDT TYPE STRING,
CFPAYGUID TYPE STRING,
CONDGUID TYPE STRING,
CONDVALIDFROM TYPE STRING,
REFGUID TYPE STRING,
INTRENO TYPE STRING,
RERF TYPE STRING,
DERF TYPE STRING,
TERF TYPE STRING,
REHER TYPE STRING,
RBEAR TYPE STRING,
DBEAR TYPE STRING,
TBEAR TYPE STRING,
RBHER TYPE STRING,
BBWHR TYPE STRING,
BNWHR TYPE STRING,
DBERVON TYPE STRING,
SEXCLVON TYPE STRING,
SULTVON TYPE STRING,
DBERBIS TYPE STRING,
SINCLBIS TYPE STRING,
SULTBIS TYPE STRING,
DVALUT TYPE STRING,
SINCL TYPE STRING,
SVINCL TYPE STRING,
SVULT TYPE STRING,
DFAELL TYPE STRING,
SFINCL TYPE STRING,
SFULT TYPE STRING,
DDISPO TYPE STRING,
SINCLVERR TYPE STRING,
SULTVERR TYPE STRING,
ATAGE TYPE STRING,
ABASTAGE TYPE STRING,
APERTAGE TYPE STRING,
STGMETH TYPE STRING,
STGBASIS TYPE STRING,
SZBMETH TYPE STRING,
DBPERIOD TYPE STRING,
SPAEXCL TYPE STRING,
SPAULT TYPE STRING,
DEPERIOD TYPE STRING,
SPEINCL TYPE STRING,
SPEULT TYPE STRING,
SWHRKOND TYPE STRING,
BKOND TYPE STRING,
SSTAFF TYPE STRING,
SBASIS TYPE STRING,
JSOFVERR TYPE STRING,
AMMRHY TYPE STRING,
ATTRHY TYPE STRING,
SSORTZIT TYPE STRING,
SZEITANT TYPE STRING,
SSALBAS TYPE STRING,
SKONDGRP TYPE STRING,
LCNETAMOUNT TYPE STRING,
LCGROSSAMOUNT TYPE STRING,
LCTAXAMOUNT TYPE STRING,
LOCALCURR TYPE STRING,
CCNETAMOUNT TYPE STRING,
CCGROSSAMOUNT TYPE STRING,
CCTAXAMOUNT TYPE STRING,
CONDCURR TYPE STRING,
TAXTYPE TYPE STRING,
TAXGROUP TYPE STRING,
TXJCD TYPE STRING,
ISGROSS TYPE STRING,
TAXCOUNTRY TYPE STRING,
WHEREFROM TYPE STRING,
FLOWTYPE TYPE STRING,
ORIGFLOWTYPE TYPE STRING,
REFFLOWREL TYPE STRING,
CFSTATUS TYPE STRING,
FDLEV TYPE STRING,
FDUPD TYPE STRING,
FDELETE TYPE STRING,
ORIGDUEDATE TYPE STRING,
PARTNER TYPE STRING,
PARTNEROBJNR TYPE STRING,
CONDTYPE TYPE STRING,
TERMNOPY TYPE STRING,
TERMNORH TYPE STRING,
TERMNOAJ TYPE STRING,
TERMNOOA TYPE STRING,
TERMNOSR TYPE STRING,
TERMNOMR TYPE STRING,
TERMNOWT TYPE STRING,
ORIGEXDUEDATE TYPE STRING,
SEAPSTATUS TYPE STRING,
POSTINGDATE TYPE STRING,
DOCUMENTDATE TYPE STRING,
VALUATIONDATE TYPE STRING,
REVERSAL_FOR TYPE STRING,
REVERSAL_BY TYPE STRING,
FOLLOWUP_FOR TYPE STRING,
BOOK_FLOWTYPE TYPE STRING,
BOOK_REFFLOWREL TYPE STRING,
TAXDATE TYPE STRING,
MODDUEDATE TYPE STRING,
CALCDUEDATE TYPE STRING,
CFSPLITFORGUID TYPE STRING,
CFSPLITBASIS TYPE STRING,
CDSPLITNO TYPE STRING,
COMPANYCODE TYPE STRING,
CMCFGROUP TYPE STRING,
CTRULE TYPE STRING,
CTLCNETAMOUNT TYPE STRING,
CTLCGROSSAMOUNT TYPE STRING,
CTLCTAXAMOUNT TYPE STRING,
CTRATE TYPE STRING,
CTRATEORIG TYPE STRING,
CTPOSTCDCURR TYPE STRING,
CTDATEREQ TYPE STRING,
CTDATEACT TYPE STRING,
CTDATEACTORIG TYPE STRING,
CTDATEFROMCFPOS TYPE STRING,
OBJNRCOND TYPE STRING,
KZ TYPE STRING,END OF T_EKKO_STR. DATA: WA_AVICDCFPAY_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_AVICDCFPAY_STR-MANDT sy-vline
WA_AVICDCFPAY_STR-CFPAYGUID sy-vline
WA_AVICDCFPAY_STR-CONDGUID sy-vline
WA_AVICDCFPAY_STR-CONDVALIDFROM sy-vline
WA_AVICDCFPAY_STR-REFGUID sy-vline
WA_AVICDCFPAY_STR-INTRENO sy-vline
WA_AVICDCFPAY_STR-RERF sy-vline
WA_AVICDCFPAY_STR-DERF sy-vline
WA_AVICDCFPAY_STR-TERF sy-vline
WA_AVICDCFPAY_STR-REHER sy-vline
WA_AVICDCFPAY_STR-RBEAR sy-vline
WA_AVICDCFPAY_STR-DBEAR sy-vline
WA_AVICDCFPAY_STR-TBEAR sy-vline
WA_AVICDCFPAY_STR-RBHER sy-vline
WA_AVICDCFPAY_STR-BBWHR sy-vline
WA_AVICDCFPAY_STR-BNWHR sy-vline
WA_AVICDCFPAY_STR-DBERVON sy-vline
WA_AVICDCFPAY_STR-SEXCLVON sy-vline
WA_AVICDCFPAY_STR-SULTVON sy-vline
WA_AVICDCFPAY_STR-DBERBIS sy-vline
WA_AVICDCFPAY_STR-SINCLBIS sy-vline
WA_AVICDCFPAY_STR-SULTBIS sy-vline
WA_AVICDCFPAY_STR-DVALUT sy-vline
WA_AVICDCFPAY_STR-SINCL sy-vline
WA_AVICDCFPAY_STR-SVINCL sy-vline
WA_AVICDCFPAY_STR-SVULT sy-vline
WA_AVICDCFPAY_STR-DFAELL sy-vline
WA_AVICDCFPAY_STR-SFINCL sy-vline
WA_AVICDCFPAY_STR-SFULT sy-vline
WA_AVICDCFPAY_STR-DDISPO sy-vline
WA_AVICDCFPAY_STR-SINCLVERR sy-vline
WA_AVICDCFPAY_STR-SULTVERR sy-vline
WA_AVICDCFPAY_STR-ATAGE sy-vline
WA_AVICDCFPAY_STR-ABASTAGE sy-vline
WA_AVICDCFPAY_STR-APERTAGE sy-vline
WA_AVICDCFPAY_STR-STGMETH sy-vline
WA_AVICDCFPAY_STR-STGBASIS sy-vline
WA_AVICDCFPAY_STR-SZBMETH sy-vline
WA_AVICDCFPAY_STR-DBPERIOD sy-vline
WA_AVICDCFPAY_STR-SPAEXCL sy-vline
WA_AVICDCFPAY_STR-SPAULT sy-vline
WA_AVICDCFPAY_STR-DEPERIOD sy-vline
WA_AVICDCFPAY_STR-SPEINCL sy-vline
WA_AVICDCFPAY_STR-SPEULT sy-vline
WA_AVICDCFPAY_STR-SWHRKOND sy-vline
WA_AVICDCFPAY_STR-BKOND sy-vline
WA_AVICDCFPAY_STR-SSTAFF sy-vline
WA_AVICDCFPAY_STR-SBASIS sy-vline
WA_AVICDCFPAY_STR-JSOFVERR sy-vline
WA_AVICDCFPAY_STR-AMMRHY sy-vline
WA_AVICDCFPAY_STR-ATTRHY sy-vline
WA_AVICDCFPAY_STR-SSORTZIT sy-vline
WA_AVICDCFPAY_STR-SZEITANT sy-vline
WA_AVICDCFPAY_STR-SSALBAS sy-vline
WA_AVICDCFPAY_STR-SKONDGRP sy-vline
WA_AVICDCFPAY_STR-LCNETAMOUNT sy-vline
WA_AVICDCFPAY_STR-LCGROSSAMOUNT sy-vline
WA_AVICDCFPAY_STR-LCTAXAMOUNT sy-vline
WA_AVICDCFPAY_STR-LOCALCURR sy-vline
WA_AVICDCFPAY_STR-CCNETAMOUNT sy-vline
WA_AVICDCFPAY_STR-CCGROSSAMOUNT sy-vline
WA_AVICDCFPAY_STR-CCTAXAMOUNT sy-vline
WA_AVICDCFPAY_STR-CONDCURR sy-vline
WA_AVICDCFPAY_STR-TAXTYPE sy-vline
WA_AVICDCFPAY_STR-TAXGROUP sy-vline
WA_AVICDCFPAY_STR-TXJCD sy-vline
WA_AVICDCFPAY_STR-ISGROSS sy-vline
WA_AVICDCFPAY_STR-TAXCOUNTRY sy-vline
WA_AVICDCFPAY_STR-WHEREFROM sy-vline
WA_AVICDCFPAY_STR-FLOWTYPE sy-vline
WA_AVICDCFPAY_STR-ORIGFLOWTYPE sy-vline
WA_AVICDCFPAY_STR-REFFLOWREL sy-vline
WA_AVICDCFPAY_STR-CFSTATUS sy-vline
WA_AVICDCFPAY_STR-FDLEV sy-vline
WA_AVICDCFPAY_STR-FDUPD sy-vline
WA_AVICDCFPAY_STR-FDELETE sy-vline
WA_AVICDCFPAY_STR-ORIGDUEDATE sy-vline
WA_AVICDCFPAY_STR-PARTNER sy-vline
WA_AVICDCFPAY_STR-PARTNEROBJNR sy-vline
WA_AVICDCFPAY_STR-CONDTYPE sy-vline
WA_AVICDCFPAY_STR-TERMNOPY sy-vline
WA_AVICDCFPAY_STR-TERMNORH sy-vline
WA_AVICDCFPAY_STR-TERMNOAJ sy-vline
WA_AVICDCFPAY_STR-TERMNOOA sy-vline
WA_AVICDCFPAY_STR-TERMNOSR sy-vline
WA_AVICDCFPAY_STR-TERMNOMR sy-vline
WA_AVICDCFPAY_STR-TERMNOWT sy-vline
WA_AVICDCFPAY_STR-ORIGEXDUEDATE sy-vline
WA_AVICDCFPAY_STR-SEAPSTATUS sy-vline
WA_AVICDCFPAY_STR-POSTINGDATE sy-vline
WA_AVICDCFPAY_STR-DOCUMENTDATE sy-vline
WA_AVICDCFPAY_STR-VALUATIONDATE sy-vline
WA_AVICDCFPAY_STR-REVERSAL_FOR sy-vline
WA_AVICDCFPAY_STR-REVERSAL_BY sy-vline
WA_AVICDCFPAY_STR-FOLLOWUP_FOR sy-vline
WA_AVICDCFPAY_STR-BOOK_FLOWTYPE sy-vline
WA_AVICDCFPAY_STR-BOOK_REFFLOWREL sy-vline
WA_AVICDCFPAY_STR-TAXDATE sy-vline
WA_AVICDCFPAY_STR-MODDUEDATE sy-vline
WA_AVICDCFPAY_STR-CALCDUEDATE sy-vline
WA_AVICDCFPAY_STR-CFSPLITFORGUID sy-vline
WA_AVICDCFPAY_STR-CFSPLITBASIS sy-vline
WA_AVICDCFPAY_STR-CDSPLITNO sy-vline
WA_AVICDCFPAY_STR-COMPANYCODE sy-vline
WA_AVICDCFPAY_STR-CMCFGROUP sy-vline
WA_AVICDCFPAY_STR-CTRULE sy-vline
WA_AVICDCFPAY_STR-CTLCNETAMOUNT sy-vline
WA_AVICDCFPAY_STR-CTLCGROSSAMOUNT sy-vline
WA_AVICDCFPAY_STR-CTLCTAXAMOUNT sy-vline
WA_AVICDCFPAY_STR-CTRATE sy-vline
WA_AVICDCFPAY_STR-CTRATEORIG sy-vline
WA_AVICDCFPAY_STR-CTPOSTCDCURR sy-vline
WA_AVICDCFPAY_STR-CTDATEREQ sy-vline
WA_AVICDCFPAY_STR-CTDATEACT sy-vline
WA_AVICDCFPAY_STR-CTDATEACTORIG sy-vline
WA_AVICDCFPAY_STR-CTDATEFROMCFPOS sy-vline
WA_AVICDCFPAY_STR-OBJNRCOND sy-vline
WA_AVICDCFPAY_STR-KZ sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.