Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Infocube related IFIBIVFC

Former Member
0 Kudos

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.

4 REPLIES 4

rajkumarnarasimman
Active Contributor
0 Kudos

Hi Amirineni,

Can you please check the following report, hope you can find the FM RSDRI_INFOPROV_READ in line 208.

RSDRI_INFOPROV_READ_DEMO

Hope you can trace the issue.

Regards

Rajkumar Narasimman

0 Kudos

Hi Kumar,

Here in the code the data is passing the exporting parameters, While in the importing parameters the E_T_DATA it is not taking the values from there it is going to run time error.

Please do some needful help.

Thanks in Advance

Best Regards,

Amirineni Sravan.

0 Kudos

Hi Amirineni,

Maintain the exceptions in FM, that helps to find the exact problem why the value is not imported. Also kindly share the dump screenshot in ST22.

Regards

Rajkumar Narasimman

0 Kudos

Hi Kumar,

Issue Resolved it's my mistake. I didn't declare the structure properly that is why it is gettind errors.

Thanks for spending valuble time for me.

Best Regards,

Amirineni Sravan.