cancel
Showing results for 
Search instead for 
Did you mean: 

Can not use selection screen instead of parameter in smartform, why??

Former Member
0 Kudos

Hi,

My smartform is working well now with parameters but i can't use seletion creen in my smartform, it showing me the error"

@8O@Global Definitions

The IN operator with "S_PO" is followed neither by an internal table nor by a value list."

what shall i do?? please help me to solve this issue.

I am attaching my .xml & txt file herewith.


Thank you.

Accepted Solutions (1)

Accepted Solutions (1)

Florian
Active Contributor
0 Kudos

Create an dictonary-type of your ebeln (range-type). Then pass your s_po into the range-type and pass this one to your interface.

Your error tells you what is wrong. The types are not compatible to each other.

By the way, the best practise: Select all stuff you need in the driver-program and pass it trough the interface. So in case it isn't a good practise to pass a select-option into your interface, because that means, without having a look inside, you might select data in your form again.

If this doesn't fix your error, let me know, then i will have a look inside.

Regards

Florian

Former Member
0 Kudos

Sir please use screen shots to describe me the process as I am a newbie in ABAP.

Regards,

Florian
Active Contributor
0 Kudos

Hi Snehashis,

I will make some tomorrow and share it with you. Right at the moment I'm on the way to my sofa and celebrate a bit quality-time

I edit this reply tomorrow..

Regards

Florian

Florian
Active Contributor
0 Kudos

Hi Snehashis,

as mentioned before, here are some screens to it.

This parameter doesn't match the one in your form.

S_po = one number!

S_po you pass could have nothing to many in it.

You try to pass an option into the interface. The interface expect just one ebeln to get. That's why your form says

that your value is not correct.

Fortunaly, you did it already in a good way, you read the stuff in your driver-program and pass it to the interface

You just forgot, to prepare the interface on the other side, to handle it.

See the shot below, pass the table in the tab, called tables matching in the importing-view

It is a must have, that the interface is correct, as usual, the system throws a exception, if the interface doesn't match as usual by using a function.

T_EKPO is a local type, you need to reference to an structure-type which is available in the dictionary itself (TA SE11) for the interface.

ekpo is the correct one. I think you will get enough information, by using the official helpsites.

BTW: Local types are valid for global data in the form ( Means local variables in the generated coding).

I corrected your form and uploaded it again.

Do not try to pass select-options. It is possible, but I do not see a scenario, where you really need it. As you see in your example, you get your data before also.

Hope I could make it a bit clearer to you, what was wrong and how to handle it.

You know, it is a very small program what you delivered and of course there is a lot more than that

Here is a good tutorial to make the first steps.

Learn making First Smartform Step by Step - ABAP Development - SCN Wiki

If you face some more problems, let us know and someone will give you a hand.

Regards

Florian

eduardo_hinojosa
Active Contributor
0 Kudos

Hi

Florian is right. Please, go to SE11 and reseach with structure WPOC_EBELN_RANGE (for instance).

I hope this helps you

Regards

Eduardo

Answers (2)

Answers (2)

Former Member
0 Kudos

Thank you all.

Former Member
0 Kudos

Hi Snehashis,

I hope according to my understanding you can use selection option on your selection screen and call your smartform in report program with the loop e.g.

Loop at s_po.

call smartform.

endloop.

If s_po is a select option it will hold multiple value and it will multiple smartform output.

Please correct me if my understanding does not matches.

Florian
Active Contributor
0 Kudos

Hi Ravi,

that won't work. A Select-option is not made for such things... But that isn't discussed here, so we should not discuss this here. See the shared coding above and you will find out, what I mean. It isn't that much to see in there.

Regards

Florian