Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Infocube related IFIBIVFC

Hi,

Good Day

I need to extract the two fields from the infocube. When i pass the values in importing parameter

From there it is showing the run time error

The reason for the exception is:

You attempted to pass the field "LT_S_DATA" to the formal parameter "E_T_DATA"

but the formal parameter "E_T_DATA" can accept only fields of

type "h". The field "E_T_DATA" has the type "u".

This is the error

Can you please help me out of this issue

    TYPE-POOLS:rs,rsdrc.
    DATA: lt_s_sfc TYPE  rsdri_s_sfc,
              ls_th_sfc TYPE rsdri_th_sfc.
    DATA: lt_s_sfk TYPE  rsdri_s_sfk,
          ls_th_sfk TYPE rsdri_th_sfk.
    TYPES : BEGIN OF gt_s_data,

            wbs_elemt TYPE /bi0/oiwbs_elemt,

            0ifibeur TYPE  /bic/oiifibeur,

            END OF gt_s_data.



    DATA: lt_s_data TYPE STANDARD TABLE OF gt_s_data WITH HEADER LINE,

          ls_s_data TYPE gt_s_data.

    DATA:lt_end_of_data TYPE rs_bool.

    DATA: lt_first_call TYPE rs_bool.

    CLEAR lt_s_sfc.

    lt_s_sfc-chanm    = 'WBS_ELEMT'.
    lt_s_sfc-chaalias 'WBS_ELEMT'.

    INSERT lt_s_sfc INTO TABLE ls_th_sfc.

    CLEAR lt_s_sfk.

    lt_s_sfk-kyfnm     = 'IFIBEUR'.
    lt_s_sfk-kyfalias  = '0IFIBEUR'.
    lt_s_sfk-aggr      = 'SUM'.

    INSERT lt_s_sfk INTO TABLE ls_th_sfk.


    lt_end_of_data = rs_c_false.
    lt_first_call  = rs_c_true.

    WHILE lt_end_of_data = rs_c_false.

      IF  sy-subrc = 0.

        CALL FUNCTION 'RSDRI_INFOPROV_READ'

          EXPORTING

            i_infoprov                   = 'IFIBIVFC'

            i_th_sfc                     = ls_th_sfc

            i_th_sfk                     = ls_th_sfk

*   I_T_RANGE                    =

*   I_TH_TABLESEL                =

*   I_T_RTIME                    =

     i_reference_date             = sy-datum

*   I_ROLLUP_ONLY                = RS_C_TRUE

*   I_T_REQUID                   =

*   I_SAVE_IN_TABLE              = ' '

*   I_TABLENAME                  =

*   I_SAVE_IN_FILE               = ' '

*   I_FILENAME                   =

*   I_SAVE_IN_INDEX              = ' '

*   I_INDEX_ID                   =

     i_packagesize                = 10000

*   I_MAXROWS                    = 0

*   I_AUTHORITY_CHECK            = RSDRC_C_AUTHCHK-READ

*   I_CURRENCY_CONVERSION        = 'X'

*   I_USE_DB_AGGREGATION         = RS_C_TRUE

*   I_USE_AGGREGATES             = RS_C_TRUE

*   I_READ_ODS_DELTA             = RS_C_FALSE

*   I_CALLER                     = RSDRS_C_CALLER-RSDRI

*   I_DEBUG                      = RS_C_FALSE

*   I_CLEAR                      = RS_C_FALSE

*   I_COMMIT_ALLOWED             = RS_C_TRUE

*   I_WITH_NLS                   = RS_C_FALSE

*   I_CHECK_RESULTS              = RS_C_FALSE

*   I_PROCESS_MPRO_IN_TREX       =

     IMPORTING

       e_t_data                     lt_s_data

       e_end_of_data                lt_end_of_data

*   E_AGGREGATE                  =

*   E_SPLIT_OCCURRED             =

*   E_T_MSG                      =

*   E_STEPUID                    =

          CHANGING

            c_first_call            = lt_first_call

* EXCEPTIONS

*   ILLEGAL_INPUT                = 1

*   ILLEGAL_INPUT_SFC            = 2

*   ILLEGAL_INPUT_SFK            = 3

*   ILLEGAL_INPUT_RANGE          = 4

*   ILLEGAL_INPUT_TABLESEL       = 5

*   NO_AUTHORIZATION             = 6

*   ILLEGAL_DOWNLOAD             = 7

*   ILLEGAL_TABLENAME            = 8

*   TRANS_NO_WRITE_MODE          = 9

*   INHERITED_ERROR              = 10

*   X_MESSAGE                    = 11

*   NO_COMMIT_FREE_READ          = 12

*   OTHERS                       = 13

                  .

        IF sy-subrc <> 0.

* Implement suitable error handling here

        ENDIF.

      ENDIF.

    ENDWHILE.


Thanks in Advance

Regards,

Amirineni Sravan.

Former Member
Not what you were looking for? View more on this topic or Ask a question