2011 Aug 25 4:16 PM
Hello,
I have created a custom program to interface with transaction F-32. This program has a selection screen that allows the users to enter multiple company codes for the same customer. I am using a BDC to pass the data from my custom program to transaction F-32. The program does what it is supposed to do, but using a BDC session is having an odd effect on the behavior of F-32.
Normally, when a user manually adds multiple company codes for a customer in F-32 and then clears the documents, a pop up (screen 607 i believe) gives them a list of all the document numbers that they have cleared. When the users use my custom program, they get only the status bar message for the first document cleared rather than the pop up that lists all the cleared documents.
Has anyone ever encountered this type of behavior with a BDC? If so, how did you resolve it? I appreciate any input the forum community can offer. Thanks!
2011 Aug 25 8:53 PM
Thank you, Sandra. I tried using submit first, but that did not work because the program behind F-32 is a module pool.
I have the same issue when I use SHDB. The popup with all the cleared documents does not appear when use SHDB to make a recording of the process.
2011 Aug 25 4:32 PM
Hi,
that is very frequent with BDC, each program tests whether it runs with BDC or not, and has a peculiar behavior. We usually try to call the BDC with NOBINPT = 'X' (if the program tests SY-BINPT, then it won't be able to know that it's batch input).
Unfortunately, you may have to recreate the batch input using SHDB (with "no batch input" ticked), as the screens may vary a little bit in that case.
DATA ls_ctu_params TYPE CTU_PARAMS.
ls_ctu_params-nobinpt = 'X'.
ls_ctu_params-dismode = 'E'."or A or N
CALL TRANSACTION l_tcode
USING lt_bdcdata
OPTIONS FROM ls_ctu_params.
Sandra
2011 Aug 25 4:46 PM
Hi Sandra,
Thank you so much for responding. I am still very new to ABAP. I currently have my BDC options set up as
opt-dismode = 'E'.
opt-updmode = 'A'.
opt-nobinpt = 'X'.
opt-nobiend = 'X'.
Could the dismode of 'E' be affecting my pop up screen? Do you think a value of "A" would resolve the issue of the missing screen?
2011 Aug 25 8:46 PM
Could the dismode of 'E' be affecting my pop up screen? Do you think a value of "A" would resolve the issue of the missing screen?
No to both.
This program has a selection screen that allows the users to enter multiple company codes for the same customer. I am using a BDC to pass the data from my custom program to transaction F-32
Did you try to pass parameters via SUBMIT instead of using BDC? Or did you use BDC because you had to do inputs and actions after the selection screen?
Did you use SHDB to record the data? And when you play the SHDB recording, does it work?
Sandra
2011 Aug 25 8:53 PM
Thank you, Sandra. I tried using submit first, but that did not work because the program behind F-32 is a module pool.
I have the same issue when I use SHDB. The popup with all the cleared documents does not appear when use SHDB to make a recording of the process.
2011 Aug 25 9:15 PM
There could be another reason : according to what you said, I first thought that the program does an IF batch input THEN display single message ELSE display list. But maybe there's no test at all (for some reason you see the message), the list is always displayed, but if there's a COMMIT WORK the program stops before displaying it. You can use "continue after commit" to make sure (option RACOMMIT = 'X' in your program).
Otherwise, if it's really the first option, I know only 3 possibilities where the program can know if running inside batch input : SY-BINPT (what you tried), BDC_RUNNING function module, SY-CALLD ('X' for CTU, space when transaction started from initial menu). Unfortunately, I don't have a system to check, so...
Sandra
2011 Aug 26 9:36 PM
Problem solved. Setting RACOMMIT = 'X' solved the problem. Thanks so much, Sandra!