‎2009 Oct 13 7:56 PM
Hi SDNers,
After upgrading from 4.6C to ECC6, I got a dump when I use the function COMMON_LOG_READ_PLAIN for BDC logs.
In ECC6 version, this function uses the function RSTS_READ_OBJECT_DIRECT. This last function, only allows jobs log (JOBLGX) but not BDC logs (BDCLG2). Since the log that we are trying to read is kind BDC. The client is never been assigned.
Function RSTS_READ_OBJECT_DIRECT - Line 118
*----
* check client, only valid for joblogs
*----
IF object(6) = 'JOBLGX'.
IF client is initial.
int_mandt = sy-mandt.
ELSE.
READ TABLE T000 with key client.
IF sy-subrc = 0.
int_mandt = client. ELSE.
RAISE INVALID_CLIENT.
ENDIF.
ENDIF.
ENDIF.
Therefore, the log is never been found
*----
Handling for get SIZE
*----
IF function = 'O' or function = 'o'.
IF path = ' '.
SELECT single * FROM TST01 client specified
WHERE dclient = int_mandt and dname = object.
IF sy-subrc <> 0.
raise file_not_found. ENDIF.
Anyone knows about some replacement for function COMMON_LOG_READ_PLAIN in order to be used for BDC logs?
Thanks in advance for your help,
Best Regards,
Leonardo GIROTTO
‎2009 Oct 13 8:42 PM
‎2009 Oct 13 8:42 PM
‎2009 Oct 13 9:02 PM
Hello,
The note refers to missing entries in TST01 table. However, In this case, the entry exist in TST01 table, but the select statement does not find the row.
*SELECT single * FROM TST01 client specified*
WHERE dclient = int_mandt and dname = object.
The select return 4 because the INT_MANDT is empty.
The reason why the field INT_MANDT is empty is because the Log type is BDC instead JOB. Then, never match value to INT_MANDT field.
I was looking for another function which makes the same functionality but focus on BDC logs. But, I didn't find it.
Do you know some function to replace this one?
Best Regards,
Leonardo GIROTTO