Application Development and Automation 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: 
Read only

RFC_RAD_TABLE not Possible on E071

former_member213851
Active Contributor
0 Likes
1,308

I am using below piece of code:

     

DATA : gt_qe070 TYPE STANDARD TABLE OF tab512 WITH HEADER LINE,

           gt_qe071 TYPE STANDARD TABLE OF tab512 WITH HEADER LINE.

DATA: options TYPE STANDARD TABLE OF rfc_db_opt WITH HEADER LINE ,

       fields TYPE STANDARD TABLE OF rfc_db_fld,

       options1 TYPE TABLE OF rfc_db_opt ,

       fields1 TYPE TABLE OF rfc_db_fld,

       sys(15) TYPE c.

  sys = 'PEQ300'.

       CALL FUNCTION 'RFC_READ_TABLE' DESTINATION sys

         EXPORTING

           query_table          = 'E070'

           delimiter            = '|'

*         NO_DATA              = ' '

*         ROWSKIPS             = 0

*         ROWCOUNT             = 0

         TABLES

           options              = options

           fields               = fields

           data                 = gt_qe070

         EXCEPTIONS

           table_not_available  = 1

           table_without_data   = 2

           option_not_valid     = 3

           field_not_valid      = 4

           not_authorized       = 5

           data_buffer_exceeded = 6

           OTHERS               = 7.

       IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

       ENDIF.

*CLEAR : fields ,options.

  CALL FUNCTION 'RFC_READ_TABLE' DESTINATION sys

         EXPORTING

           query_table          = 'E071'

           delimiter            = '|'

*         NO_DATA              = ' '

*         ROWSKIPS             = 0

*         ROWCOUNT             = 0

         TABLES

           options              = options1

           fields               = fields1

           data                 = gt_qe071

         EXCEPTIONS

           table_not_available  = 1

           table_without_data   = 2

           option_not_valid     = 3

           field_not_valid      = 4

           not_authorized       = 5

           data_buffer_exceeded = 6

           OTHERS               = 7.

       IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

       ENDIF.

I am getting values for E070 (check table E07T ) table in gt_qe070 from Quality server but not for  E071 ( no check table)  in table gt_qe071

It gives exception : Others. for gt_qe071.

Can anybody please suggest me how to resolve this issue.

I am using below piece of code:

     

DATA : gt_qe070 TYPE STANDARD TABLE OF tab512 WITH HEADER LINE,

           gt_qe071 TYPE STANDARD TABLE OF tab512 WITH HEADER LINE.

DATA: options TYPE STANDARD TABLE OF rfc_db_opt WITH HEADER LINE ,

       fields TYPE STANDARD TABLE OF rfc_db_fld,

       options1 TYPE TABLE OF rfc_db_opt ,

       fields1 TYPE TABLE OF rfc_db_fld,

       sys(15) TYPE c.

  sys = 'PEQ300'.

       CALL FUNCTION 'RFC_READ_TABLE' DESTINATION sys

         EXPORTING

           query_table          = 'E070'

           delimiter            = '|'

*         NO_DATA              = ' '

*         ROWSKIPS             = 0

*         ROWCOUNT             = 0

         TABLES

           options              = options

           fields               = fields

           data                 = gt_qe070

         EXCEPTIONS

           table_not_available  = 1

           table_without_data   = 2

           option_not_valid     = 3

           field_not_valid      = 4

           not_authorized       = 5

           data_buffer_exceeded = 6

           OTHERS               = 7.

       IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

       ENDIF.

*CLEAR : fields ,options.

  CALL FUNCTION 'RFC_READ_TABLE' DESTINATION sys

         EXPORTING

           query_table          = 'E071'

           delimiter            = '|'

*         NO_DATA              = ' '

*         ROWSKIPS             = 0

*         ROWCOUNT             = 0

         TABLES

           options              = options1

           fields               = fields1

           data                 = gt_qe071

         EXCEPTIONS

           table_not_available  = 1

           table_without_data   = 2

           option_not_valid     = 3

           field_not_valid      = 4

           not_authorized       = 5

           data_buffer_exceeded = 6

           OTHERS               = 7.

       IF sy-subrc <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

       ENDIF.

I am getting values for E070 (check table E07T ) table in gt_qe070 from Quality server but not for  E071 ( no check table)  in table gt_qe071

It gives exception : Others. for gt_qe071.

Can anybody please suggest me how to resolve this issue.

6 REPLIES 6
Read only

Former Member
0 Likes
1,057

Hi Sachin,

Its probably becausee of the huge data in E071. For testing can you give rowcount = 100 and call the RFC again.

Thanks,

Shambu

Read only

0 Likes
1,057

Hi Shambu,

You are correct. I have given row count 100 and got 100 records.

But what if I want all the records of E071 from Quality server.

Is there any solution ?

Read only

0 Likes
1,057

The call to the quality system is timing out, Can you try using the RFC in background task.

See this: http://help.sap.com/saphelp_46b/helpdata/es/34/8e73b56df74873e10000009b38f9b8/content.htm

By the way the RFC_READ_TABLE is a obsolete FM and it cannot return not more than data of length 512 char.

Read only

0 Likes
1,057

try to call RFC_READ_TABLE in a loop until no records are returned, extend your WHERE clause (OPTIONS parameters) to look like "TRKORR = 'DEV12345678' AND AS4POS BETWEEN 101 AND 200".

But why are you reading those data, it the import was executed in quality system (even if unsuccesful) the data will be identical to development system, I would have identify objects from E071 in development system (or better via FM TR_GET_OBJECTS_OF_REQ_AN_TASK and TR_SORT_OBJECT_LIST), and then read via RFC information of the TADIR table in target system (after converting sub-object to main objects via FM TR_CHECK_TYPE E071 -> TADIR)

Regards,

Raymond

Read only

ThomasZloch
Active Contributor
0 Likes
1,057

This is obviously related to your previous question:

Why are you marking a reply as correct that (correctly) suggests to use specific function modules for reading the control files, and now you are still trying to read E070/E071 in remote boxes via RFC?

Thomas

Read only

0 Likes
1,057

Hi Thomas,

In Transport Request Import, my requirement was to get the status details of the TR.

Now my requirement is to fetch the Object details of the Quality system so that I can checkfrom Dev system whether any object is not present in the TR which is imported only upto Quality system

But RFC_READ_TABLE for E071 gave me exception error.In the discussion Transport Request Import ,for the answers marked correct/helpful my problem got resoved and hence I marked them as helpful answers.