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: 

Problem: SAP isn't "seeing" ZXQSMI01 and ZXQSMO01 includes in ZXQSMZZZ.

Former Member
0 Kudos

I am coding the customer includes for the exit EXIT_SAPLIE01_007 in the enhancement IQSM0007.

EXIT_SAPLIE01_007 includes the Z include ZQSMU06.

Inside this include, I call a screen with the statement:

CALL SCREEN 9000 STARTING AT 5 5.

and the screen DOES pop-up properly after "POST" is hit during MIGO.

HOWEVER - here is the problem.

1) Inside the ZXSQMZZZ include, the system has generated the two includes:

INCLUDE ZXQSMO01.

INCLUDE ZXQSMI01.

2) Inside ZXSQMO01, the following code activates properly:

MODULE STATUS_9000 OUTPUT.

SET PF-STATUS '9000'.

ENDMODULE. " STATUS_9000 OUTPUT

3) Inside ZXSQMI01, the following code activates properly:

MODULE USER_COMMAND_9000 INPUT.

IF OK_9000 = 'OK9000'.

LEAVE TO SCREEN 0.

ENDIF.

ENDMODULE. " USER_COMMAND_9000 INPUT

4) Screen 9000 correctly activates with the flow logic:

PROCESS BEFORE OUTPUT.

MODULE STATUS_9000.

*

PROCESS AFTER INPUT.

MODULE USER_COMMAND_9000.

But DESPITE the fact that (1-4) all seem correct, the system does not recognize the PBO and does not recognize the PAI. In particular, when I turn on the debugger, I see the CALL SCREEN statement inside ZXQSMU06.

But then I see no evidence in the debugger of the system invoking the PBO STATUS_9000 inside ZXQSMO01.

And once screen 9000 displays, the PAI USER_COMMAND_9000 is not being invoked - that is - I do not see the PAI code in the debugger.

What is the problem here? Have I left something out?

If so, please tell me what, because I have followed the instructions in the documentation as best as I can.

Thanks

djh

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

hmmm....Try this..Go to the SE80..Give the function group name XQSM of the user exit...

Display the main program..Double click on the function group to display the main program SAPLXQSM..

Activate / Generate the main program..

And check...

Thanks,

Naren

19 REPLIES 19

Former Member
0 Kudos

Hi,

Where you able to go to the screen layout by double clicking on 9000..

I believe this is standard sap function group..I wonder how you would have created a screen...???

Did you use an access key??

Thanks,

Naren

0 Kudos

naren -

I don't understand what you mean.

When I double click on the "9000" in "CALL SCREEN 9000" inside the Editor, the system does forward navigate correctly to the flow logic of the screen, and from there I can correctly navigate to the actual PBO inside ZXQSMO01 and PAI inside ZXQSMI01.

Are you saying that I have to double-click on the screen statement inside the debugger in order to see the PBO fire ? That doesn't make any sense to me.

Please clarify, if you have the time.

Thanks.

djh

0 Kudos

Naren - in answer to your question - the system allows creation of the screen because you create it by coding "CALL screen 9000" inside the customer include ZXQSMU06 and then double-clicking on the "9000" - the system then prompts for creation of the screen and lets you create it.

Again - there is no problem with the creation of the screen itself - it is displaying properly at the right time. The problem is getting the system to recognize the PBO and PAI that have been coded inside ZXQSMO01 and ZXQSMI01.

djh

Former Member
0 Kudos

Hi,

Sorry..I was mentioning double click on screen in the abap code editor and not in the debugging mode..

Okay...You are saying the popup is showing but it not going through the PBO and PAI..Right??

Also did you activate all the includes...

Thanks,

Naren

0 Kudos

Yes - that's exactly right - in the debugger, I can see the "call screen 9000" statement come up, but then when I step thru the "call screen" statement", the screen immediately pops right then and there - I don't see the code for the PBO that's inside ZXQSMO01 .

So it doesn't seem like SAP is seeing the PBO inside this include, even though everything looks fine and activates fine in the editor itself.

And of course, same problem with the PAI in ZXQSMI01 - it's as if it's not there ...

????

djh

Former Member
0 Kudos

Hi,

hmmm....Try this..Go to the SE80..Give the function group name XQSM of the user exit...

Display the main program..Double click on the function group to display the main program SAPLXQSM..

Activate / Generate the main program..

And check...

Thanks,

Naren

0 Kudos

Yes!

That was it.

Thank you very much - I was going crazy with that one because I knew I was doing everything "according to the book".

Whew!!!!

Thanks again.

djh

0 Kudos

<i>the system allows creation of the screen because you create it by coding "CALL screen 9000" inside the customer include ZXQSMU06</i>

This is concerning me a bit, I believe that you may be going about this in the wrong fashion. I would not suggest trying to create the screen or the PBO/PAI modules directly into the user exit include. Instead, implement all of your UI logic into a function module/group. Then simply call this function module from the user exit include. All of your logic for handling the popup, should be handled inside of this function group/module, not in the includes of the user exit.

Regards,

Rich Heilman

0 Kudos

Rich -

I'm sure you're correct as far as the "best" or "right" way to do this is concerned.

But I was trying to follow the instructions as set forth by SAP on pages 5-21 5-29 of the BC426 Course Handbook (for 2002/Q4 "5005 9159) - particularly the instructions on 5-27 and 5-28.

With the additional step of main program generation suggested by Naren, these instructions do work fine, so at least I have learned one way to do it.

If I have to do it again for a different exit, I will take your advice. In fact, I may recode this your way once I have it working the "BC425" way ...

Thanks very much for stopping by ...

0 Kudos

Sorry - I mean pages 5-21 throug h5-29 of the BC425 handbook, not BC426. This is the one I took to prepare for ABAP2003 cert.

djh

0 Kudos

Just curious, what is the description of course BC425.

Regards,

RIch Heilman

Former Member
0 Kudos

Hi,

You are welcome..:-))

Thanks,

Naren

Former Member
0 Kudos

Hi Rich,

How does it allow to create a screen using the standard sap function group ..I never tried it..that is why I asked David, did it asked for an access key..

Thanks,

Naren

0 Kudos

<i>How does it allow to create a screen using the standard sap function group</i>

Not sure, I would have assumed that it would have asked for a reg key if he is adding a screen to the main program of the function group.

Regards,

Rich Heilman

former_member181923
Active Participant
0 Kudos

Rich -

It's the "Enhancements and Modifications" course - I took it in 2004 and the copyright on the course manual is 2002, with "currency date" 2002/Q4 and the indicator: "5005 9159".

Maybe they should update this section - or maybe they already have ????

djh

0 Kudos

Naren -

It's because you create the screen via forward navigation off a call screen statement in the ZXQSMU06 module - because this is a Z module, it knows that any screen created via forward navigation has got to be a customer screen.

That's why in the BC425 manual, it tells you to do everything via forward nav ...

djh

Former Member
0 Kudos

Hi David,

The screen is attached to the function group, not to the include..

The function group is a standard sap one..Not a custom function group..

Thanks,

Naren

Former Member
0 Kudos

Hi Rich,

I am also not sure..How this works..Anyways it works fine for David..

Thanks

Naren

0 Kudos

Naren -

Yes I know the new custom screen winds up attached to XQSM itself, but here's what BC425 says exactly on page 5-28:

"Use forward navigation (select an object and then double-click on it) to create your own screen and modules."

"Screens created in this manner are automatically given the name of the function module's main program (SAPLXaaa.) "

So I guess SAP designed it on purpose to allow customer screens inside standard FG's, jsut so long as the PBO and PAI modules are in the O01 and I01 modules called by the two include statements in ZXaaaZZZ, e.g. ZXQSMZZZ.

djh