ABAP Select data from SAP table PFIFCLLDCC 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 PFIFCLLDCC 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 PFIFCLLDCC. 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 PFIFCLLDCC 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_PFIFCLLDCC TYPE STANDARD TABLE OF PFIFCLLDCC,
      WA_PFIFCLLDCC TYPE PFIFCLLDCC,
      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: <PFIFCLLDCC> TYPE PFIFCLLDCC.

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

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

*Select data and declare internal table using in-line method @DATA
*SELECT *
*  FROM PFIFCLLDCC
*  INTO TABLE @DATA(IT_PFIFCLLDCC2).
*--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_PFIFCLLDCC INDEX 1 INTO DATA(WA_PFIFCLLDCC2).


*Demonstrate how to loop at an internal table and update values using a FIELD-SYMBOL
LOOP AT IT_PFIFCLLDCC ASSIGNING <PFIFCLLDCC>.
*To update a field value using a field symbol simply change the value via the field symbol pointer
<PFIFCLLDCC>-MANDT = 1.
<PFIFCLLDCC>-CALENDARDATE = 1.
<PFIFCLLDCC>-COMPANYCODE = 1.
<PFIFCLLDCC>-LEDGER = 1.
<PFIFCLLDCC>-LEDGERFISCALYEARVARIANT = 1.
ENDLOOP.

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

*Write selected data to screen/report before conversion.
  WRITE:/ sy-vline,   WA_PFIFCLLDCC-CONTROLLINGAREA, sy-vline,
WA_PFIFCLLDCC-LEDGERFISCALYEAR, sy-vline,
WA_PFIFCLLDCC-LEDGERFISCALYEARSTARTDATE, sy-vline,
WA_PFIFCLLDCC-LEDGERFISCALYEARENDDATE, sy-vline,
WA_PFIFCLLDCC-LEDGERFISCALPERIOD, sy-vline,
WA_PFIFCLLDCC-LEDGERFISCALPERIODSTARTDATE, sy-vline.
ENDLOOP. *Add any further fields from structure WA_PFIFCLLDCC 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_PFIFCLLDCC 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_PFIFCLLDCC INTO WA_PFIFCLLDCC. *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 LEDGER CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT' EXPORTING input = WA_PFIFCLLDCC-LEDGER IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PFIFCLLDCC-LEDGER.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field LEDGERFISCALYEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PFIFCLLDCC-LEDGERFISCALYEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PFIFCLLDCC-LEDGERFISCALYEAR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field COCODEFISCALYEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PFIFCLLDCC-COCODEFISCALYEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PFIFCLLDCC-COCODEFISCALYEAR.
WRITE:/ 'New Value:', ld_input.

*Conversion exit GJAHR, internal->external for field FISCALYEAR CALL FUNCTION 'CONVERSION_EXIT_GJAHR_OUTPUT' EXPORTING input = WA_PFIFCLLDCC-FISCALYEAR IMPORTING output = ld_input.
WRITE:/ 'Org Value:', WA_PFIFCLLDCC-FISCALYEAR.
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_PFIFCLLDCC_STR,
MANDT TYPE STRING,
CALENDARDATE TYPE STRING,
COMPANYCODE TYPE STRING,
LEDGER TYPE STRING,
LEDGERFISCALYEARVARIANT TYPE STRING,
CONTROLLINGAREA TYPE STRING,
LEDGERFISCALYEAR TYPE STRING,
LEDGERFISCALYEARSTARTDATE TYPE STRING,
LEDGERFISCALYEARENDDATE TYPE STRING,
LEDGERFISCALPERIOD TYPE STRING,
LEDGERFISCALPERIODSTARTDATE TYPE STRING,
LEDGERFISCALPERIODENDDATE TYPE STRING,
LEDGERFISCALQUARTER TYPE STRING,
LEDGERFISCALQUARTERSTARTDATE TYPE STRING,
LEDGERFISCALQUARTERENDDATE TYPE STRING,
LEDGERFISCALWEEK TYPE STRING,
LEDGERFISCALWEEKSTARTDATE TYPE STRING,
LEDGERFISCALWEEKENDDATE TYPE STRING,
LEDGERFISCALYEARPERIOD TYPE STRING,
LEDGERFISCALYEARQUARTER TYPE STRING,
LEDGERFISCALYEARWEEK TYPE STRING,
LEDGERFISCALPERIODNUMBER TYPE STRING,
LEDGERFISCALQUARTERNUMBER TYPE STRING,
LEDGERFISCALWEEKNUMBER TYPE STRING,
FISCALPERIODDATE TYPE STRING,
COCODEFISCALYEARVARIANT TYPE STRING,
COCODEFISCALYEAR TYPE STRING,
COCODEFISCALYEARSTARTDATE TYPE STRING,
COCODEFISCALYEARENDDATE TYPE STRING,
COCODEFISCALPERIOD TYPE STRING,
COCODEFISCALPERIODSTARTDATE TYPE STRING,
COCODEFISCALPERIODENDDATE TYPE STRING,
COCODEFISCALQUARTER TYPE STRING,
COCODEFISCALQUARTERSTARTDATE TYPE STRING,
COCODEFISCALQUARTERENDDATE TYPE STRING,
COCODEFISCALWEEK TYPE STRING,
COCODEFISCALWEEKSTARTDATE TYPE STRING,
COCODEFISCALWEEKENDDATE TYPE STRING,
COCODEFISCALYEARPERIOD TYPE STRING,
COCODEFISCALYEARQUARTER TYPE STRING,
COCODEFISCALYEARWEEK TYPE STRING,
COCODEFISCALPERIODNUMBER TYPE STRING,
COCODEFISCALQUARTERNUMBER TYPE STRING,
COCODEFISCALWEEKNUMBER TYPE STRING,
CALENDARYEAR TYPE STRING,
CALENDARQUARTER TYPE STRING,
CALENDARYEARQUARTER TYPE STRING,
CALENDARMONTH TYPE STRING,
CALENDARYEARMONTH TYPE STRING,
CALENDARWEEK TYPE STRING,
CALENDARYEARWEEK TYPE STRING,
FISCALYEARVARIANT TYPE STRING,
FISCALYEAR TYPE STRING,
POSTINGDATE TYPE STRING,
FISCALYEARSTARTDATE TYPE STRING,
FISCALYEARENDDATE TYPE STRING,
FISCALPERIOD TYPE STRING,
FISCALPERIODSTARTDATE TYPE STRING,
FISCALPERIODENDDATE TYPE STRING,
FISCALQUARTER TYPE STRING,
FISCALQUARTERSTARTDATE TYPE STRING,
FISCALQUARTERENDDATE TYPE STRING,
FISCALWEEK TYPE STRING,
FISCALWEEKSTARTDATE TYPE STRING,
FISCALWEEKENDDATE TYPE STRING,
FISCALYEARPERIOD TYPE STRING,
FISCALYEARQUARTER TYPE STRING,
FISCALYEARWEEK TYPE STRING,
FISCALPERIODNUMBER TYPE STRING,
FISCALQUARTERNUMBER TYPE STRING,
FISCALWEEKNUMBER TYPE STRING,END OF T_EKKO_STR. DATA: WA_PFIFCLLDCC_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_PFIFCLLDCC_STR-MANDT sy-vline
WA_PFIFCLLDCC_STR-CALENDARDATE sy-vline
WA_PFIFCLLDCC_STR-COMPANYCODE sy-vline
WA_PFIFCLLDCC_STR-LEDGER sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALYEARVARIANT sy-vline
WA_PFIFCLLDCC_STR-CONTROLLINGAREA sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALYEAR sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALYEARSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALYEARENDDATE sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALPERIOD sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALPERIODSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALPERIODENDDATE sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALQUARTER sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALQUARTERSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALQUARTERENDDATE sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALWEEK sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALWEEKSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALWEEKENDDATE sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALYEARPERIOD sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALYEARQUARTER sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALYEARWEEK sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALPERIODNUMBER sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALQUARTERNUMBER sy-vline
WA_PFIFCLLDCC_STR-LEDGERFISCALWEEKNUMBER sy-vline
WA_PFIFCLLDCC_STR-FISCALPERIODDATE sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALYEARVARIANT sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALYEAR sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALYEARSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALYEARENDDATE sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALPERIOD sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALPERIODSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALPERIODENDDATE sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALQUARTER sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALQUARTERSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALQUARTERENDDATE sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALWEEK sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALWEEKSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALWEEKENDDATE sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALYEARPERIOD sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALYEARQUARTER sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALYEARWEEK sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALPERIODNUMBER sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALQUARTERNUMBER sy-vline
WA_PFIFCLLDCC_STR-COCODEFISCALWEEKNUMBER sy-vline
WA_PFIFCLLDCC_STR-CALENDARYEAR sy-vline
WA_PFIFCLLDCC_STR-CALENDARQUARTER sy-vline
WA_PFIFCLLDCC_STR-CALENDARYEARQUARTER sy-vline
WA_PFIFCLLDCC_STR-CALENDARMONTH sy-vline
WA_PFIFCLLDCC_STR-CALENDARYEARMONTH sy-vline
WA_PFIFCLLDCC_STR-CALENDARWEEK sy-vline
WA_PFIFCLLDCC_STR-CALENDARYEARWEEK sy-vline
WA_PFIFCLLDCC_STR-FISCALYEARVARIANT sy-vline
WA_PFIFCLLDCC_STR-FISCALYEAR sy-vline
WA_PFIFCLLDCC_STR-POSTINGDATE sy-vline
WA_PFIFCLLDCC_STR-FISCALYEARSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-FISCALYEARENDDATE sy-vline
WA_PFIFCLLDCC_STR-FISCALPERIOD sy-vline
WA_PFIFCLLDCC_STR-FISCALPERIODSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-FISCALPERIODENDDATE sy-vline
WA_PFIFCLLDCC_STR-FISCALQUARTER sy-vline
WA_PFIFCLLDCC_STR-FISCALQUARTERSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-FISCALQUARTERENDDATE sy-vline
WA_PFIFCLLDCC_STR-FISCALWEEK sy-vline
WA_PFIFCLLDCC_STR-FISCALWEEKSTARTDATE sy-vline
WA_PFIFCLLDCC_STR-FISCALWEEKENDDATE sy-vline
WA_PFIFCLLDCC_STR-FISCALYEARPERIOD sy-vline
WA_PFIFCLLDCC_STR-FISCALYEARQUARTER sy-vline
WA_PFIFCLLDCC_STR-FISCALYEARWEEK sy-vline
WA_PFIFCLLDCC_STR-FISCALPERIODNUMBER sy-vline
WA_PFIFCLLDCC_STR-FISCALQUARTERNUMBER sy-vline
WA_PFIFCLLDCC_STR-FISCALWEEKNUMBER sy-vline INTO ld_text SEPARATED BY SPACE. *Add any further fields from structure WA_EKKO_STR you want to CONCATENATE... ENDLOOP. ENDFORM.