‎2020 May 12 9:50 AM
Hello experts,
We are facing a strange problem with an ALV list which triggers the transaction QM02. The problem is that this ALV has a hotspot which open a new window to QM02. We have detected that the PBO of the QM02 is not being executed, so the text edit which is in the QM02 is not being refreshed correctly. We are using the FM ABAP4_CALL_TRANSACTION
Do you kow how can we solve this problem?
Thank you so much in advance,
Regards,
Rebeca
‎2020 May 12 10:05 AM
Hi rebeca
Why not use CALL TRANSACTION statement?
You can execute it with the AND SKIP FIRST SCREEN additional and set the QM02 initial input value using parameter ID IQM.
Hope this helps.
regards,
Mateusz
‎2020 May 12 10:05 AM
Hi rebeca
Why not use CALL TRANSACTION statement?
You can execute it with the AND SKIP FIRST SCREEN additional and set the QM02 initial input value using parameter ID IQM.
Hope this helps.
regards,
Mateusz
‎2020 May 12 10:13 AM
Becaus if I use call transaction the ALV is lost... The idea is to have the ALV list in one mode, and when the user clicks the quality notification, this open another thread... But I can't understand why the PBO is not being executed 😞
‎2020 May 12 10:16 AM
Of course, that makes sense. 🙂
How about function CC_CALL_TRANSACTION_NEW_TASK called with a RFC destination?
CALL FUNCTION 'CC_CALL_TRANSACTION_NEW_TASK'
STARTING NEW TASK 'QM02'
DESTINATION 'NONE'
EXPORTING
transaction = 'QM02'
skip_first_screen = abap_true
TABLES
paramtab = lt_parameters
EXCEPTIONS
communication_failure = 97
system_failure = 98
OTHERS = 99.
regards,
Mateusz
‎2020 May 12 10:27 AM
I don't see why CC_CALL_TRANSACTION_NEW_TASK should be better than ABAP4_CALL_TRANSACTION !? (they probably do the same CALL TRANSACTION - I think the issue is more related to memory not released between 2 calls)
‎2020 May 12 10:27 AM
Yesssssssss!!! That solve my problem!!! 🙂 🙂 🙂 Thank you so much!! I owe you a beer!!! 🙂
‎2020 May 12 11:58 AM
‎2020 May 12 10:31 AM
Can you clarify if your current code is:
CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
STARTING NEW TASK 'ANYTHING'
EXPORTING
tcode = 'QM02'
skip_screen = abap_true
TABLES
using_tab = using_tab
EXCEPTIONS
call_transaction_denied = 1
tcode_invalid = 2
communication_failure = 3
system_failure = 4
OTHERS = 5.
Right? Or is it something else?
‎2020 May 12 10:44 AM
Hello Sandra,
I've tried to send you a direct message, but it is not working.
The old code that we have was: CALL FUNCTION 'ZABAP4_CALL_TRANSACTION'
STARTING NEW TASK 'MSC3N'
EXPORTING
tcode = c_trans
mode_val = c_mode_e
memory = l_informe
TABLES
using_tab = i_bdc_tab
spagpa_tab = lt_spagpa.
The FM was an RFC, with the following code:
SET PARAMETER ID 'ZABC' FIELD memory.
CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
EXPORTING
tcode = tcode
mode_val = mode_val
TABLES
using_tab = using_tab
spagpa_tab = spagpa_tab.
Does this is the same as you send me? Maybe it was for the RFC connection?
‎2020 May 12 12:05 PM
I don't understand why your code is so complex, but yes, I think your code could be simplified as follows, and that should work identically (and so, it corresponds to what I said, except SKIP_SCREEN, MODE_VAL and SPAGPA_TAB):
lt_spagpa = VALUE #( BASE lt_spagpa ( parid = 'ZABC' parval = l_informe ) ).
CALL FUNCTION 'ABAP4_CALL_TRANSACTION'
STARTING NEW TASK 'WHATEVER'
EXPORTING
tcode = c_trans
mode_val = c_mode_e
TABLES
using_tab = i_bdc_tab
spagpa_tab = lt_spagpa.
Anyway, it was just a question, so thank you for providing the code when you ask programming questions!
‎2020 May 12 12:31 PM
To clarify things, if you used STARTING NEW TASK, it's like opening a new SAP GUI window, it's a new user memory, this memory is not shared with other sessions (except SPA/GPA memory but your question doesn't let think that it's related), so there's no reason that in one case it "works", and in another case it "doesn't work". I think that if you call ABAP4_CALL_TRANSACTION twice, with exactly the same parameters, the problem doesn't occur (if it occurs, then you must have some custom code inside the transaction). The reason of the problem must be something else, but you should investigate a little bit further to give more details.