04-15-2005 2:14 PM
Hi All,
I have to get values stored on screen without using ok code, i.e. pressing enter or any other key.
Is it possible?If yes Can you please guide me how to get the value?
Thanks in advance
Regards,
Rakesh.
04-15-2005 2:19 PM
Hi Rakesh,
If the user doesn't hit enter or any other key, how are you going to get any code to execute?
If you are using controls you can do event handling, but normally this would require a mouseclick or something. What are you trying to achieve exactly?
Brad
04-15-2005 2:19 PM
That sounds a bit strange. You cannot get trigger the PAI without a function code (with the exception of the enter key). You do not have to have an OK Code, but you should at least use a GUI status (created using SE41) on the screen. You can use only the Function Keys and assign them the necesasary function codes.
Regards,
Anand Mandalika.
04-15-2005 2:30 PM
Hello,
I'm not sure if this is what you want, but there is a FM called DYNP_VALUES_READ. It will read data from a dynpro even in the PBO event.
It is typically used in POV (Process On Value-request) to get the values of other fields on the screen.
There is a documentation available on http://help.sap.com. Simply do a search using the FM name DYNP_VALUES_READ.
Hope this helps (plz reward me if it does ,
Joerg
04-15-2005 4:14 PM
Actualy I am developing the custom sales order screen. And in the first screen i am going to display sales organization, distribution chanel and division.But with that i have to diaply the sold to party on same screen . Only those sold to party should popup that the user enter in the sales organization, distribution chanel and division with using ok code.
04-15-2005 4:19 PM
Hi,
then you can use the Enter key to do your processing. Tell me one thing though - what do you mean the sold-to-party should popup ? Is the user not going to hit F4 in that particular field ?
If the user hits F4 key, you have to use DYNP_VALUES_READ to get the values of the remaining fields.
If the user hust hits enter and you want a pop-up, then you have to use a FM like F4IF_INT_TABLE_VALUE_REQUEST.
Regards,
Anand Mandalika.
04-15-2005 4:21 PM
Hi Rakesh,
If you use GET PARAMETER ID for sales org, dist. channel, and division in your PBO (and assign the corresponding screen fields), then if the user has values for these parameters you will be able to pre-select the valid customers in PBO prior to displaying the screen to the user.
If, however, the user has no defaults for these parameters, you will need to force them to hit enter before displaying the list of valid customers.
I don't see any other way around this.
Cheers,
Brad
04-15-2005 4:24 PM
Or alternatively, you could write your frontend in Visual Basic, it has a tab event which allows you affect the values in other fields :-).
Brad
04-15-2005 5:07 PM
Hi ,
I have the parameter id for sls. org., Channel and division. Prior to screen i am getting the values of all these in PBO but once the screen is displayed user can change these value and when the user has changed these value i am unable to get these values without ok code.
04-15-2005 5:16 PM
Hi,
If you press F4 on the sold to party and you put /h in the command box in debugging it calls a function module 'help_start' which gets these values in DYNPSELECT table without ok-code.I have tried to use an internal table declared in the same way, but that did not get the values.
Thanks!!
Regards,
Rakesh
04-15-2005 5:28 PM
So are you saying that as the user types, you want your popup to change based on what they type? How would you know when they are done typing?
I do not think you can achieve this in SAP. You are going to need some kind of action from the user like a button, key press or menu select.
04-15-2005 5:44 PM
Rakesh,
Help us to help you please!!
Exactly what do you need to obtain the values of sales org., etc. for?
Do you want the user to hit F4 on the customer field and only get a list of valid customers (for the given sales org. etc.)? If so, you can use the standard customer matchcode, using the customers by sales organisation tab. This should extract your screen values without the user having to hit enter.
If you have some other goal, please be clear about it.
Thanks,
Brad
04-15-2005 7:02 PM
Hi,
I got the answer . Without using the ok code i can get the value that the user just type in sales org. dist. channel and division. The function module DYNP_VALUES_READ returns the value of screen just you have typed. But now the new question is that i have the internal table with the letest screen values of sales org. dist. channel and division. And i have created the search help but how do i pass latest screen values to search help.
Thanks ,
Rakesh Singh
04-15-2005 7:17 PM
Hi Rakesh,
Rather than using a native matchcode (using table joins or using a matchcode exit in ABAP) you could just add a module CUSTOMER_LOOKUP and process it ON VALUE-REQUEST in the flow logic of your screen. So it would look something like this:
PROCESS BEFORE OUTPUT.
...
PROCESS AFTER INPUT.
...
PROCESS ON VALUE-REQUEST.
FIELD vbak-kunnr MODULE customer_lookup.
In this module, you could extract the values for the sales org., dist. chan., and division and then call a popup screen (using a search help function module), passing it the values.
Hope that helps,
Brad
04-15-2005 7:21 PM
How does your code to call the function module DYNP_VALUES_READ get invoked when the user types sales org. dist., channel and division?
In regards to your search help question, take a look at the function modules that start with F4. You can also do help in SE11. Go to search help and hit F1 on the Search Help Exit field. That will get you started on how to use the F4 function modules.
04-15-2005 4:20 PM
My first reply to answer has mistake so see this one.
Actualy I am developing the custom sales order screen. And in the first screen i am going to display sales organization, distribution chanel and division.But with that i have to dislaly the sold to party on same screen . Only those sold to party belonging to he user enter in the sales organization, distribution chanel and division should popup without using ok code.