I am sorry, the number you dialed cannot be reached, message ....

No batch input data for screen SAPMF05A 1001 is a common message experienced by the consumers of FB50 scripts developed by someone else with different editing options set in the SAP GUI but how do you handle this problem and what are some of the ways you can head off other errors like this?
Many of us, particularly in the continental US, have heard this message at some time or another. This kind of message is common when you're attempting to dial internationally or at a busy time on the mobile phone network. It is a peculiar message, particularly since some carriers will follow it with a cryptic call out of some message number. I don't think any of us bother to note those down, we simply try again later and if we still have issues we know the problem is more complex than network overload or fat fingered integers.  Error handling and detection is what is often referred to as the negative use case. It is an unwanted outcome that needs to be handled and accordingly tested in your QA cycles in order for us to understand whether we handle the unwanted or unexpected in our scripts.

I always suggest that when recording a script for a given transaction code, that you take the most complex of scenarios with the most number of exceptions as the starting point. This invariably will mean that you have to do less manual editing of your script to handle other combinations, but I often wonder if this really makes sense because some scenarios can be incredibly complex? Sometimes it is better to simply sort your data up front and have multiple scripts.

Folks who have used Winshuttle Transaction for some time now and especially those that have been using earlier, more primitive versions, have become quite adept at error trapping, handling and avoidance in their scripts using a combination of the inherent features like Skip Screen if not found or using IF conditions with conditions based on the data in their data sources but this can be tedious and sometimes lead to unexpected complexities.

As you will know, Transaction is not a programming tool but it does support some programming like functionality and it sits very squarely between something that can be used to great effect by a developer or technologist as well as by a regular business user who simply know how to use SAP. Understanding the screens and having an intimate understanding of the kinds of data and the types of behaviors in the SAP application that one is likely to experience is critical for good SAP transaction recording. I have seen some people do some quite incredible things with Transaction scripts and Excel macros in their workbooks and over the coming months, hope to share some of these with you either through  the new Winshuttle Community website or in this blog.

Accounting Editing Options in FB50
A Winshuttle FORMS FB50 error message

In Product Management at Winshuttle we are also working on the new features for Version 11 which is scheduled for late 2011, some of the things that we're hoping to get  improvements in, are things like that horrible FB50 "No batch input data for screen SAPMF05A 1001" message that many of you will be familiar with. This is an error that is generated by your script not coping with the Accounting Editing Options settings being variable between different users.  We've attempted to resolve that with the Skip Screen features but it seems it has resulted in variable success for different customers and is not that useful if you didn't record your script using a negative use case to start with (you basically have nothing to skip because nothing appeared).  Consider further, that this again, is one of those instances where I would recommend you doing your recording based on a negative use case irrespective of whether you have Default Company Code proposal enabled or not for yourself personally. By incorporating the potential of the window pop-up for company code input and ensuring the script can handle it accordingly, you resolve unwanted errors for users who have the company code set by making sure that your script is designed to handle either scenario.

Comments

FB50 "No batch input data for screen SAPMF05A 1001"

How do you do a negative use case?

Also if you had access to GUI where would it be changed?

Negative Use Case

A negative use case is something conceptual, it isn't something you switch on or off. 

An example of a negative use case would be a condition in your script that would return a particular outcome or would take a particular branch based on a particular result or outcome.

As an example  consider the scenario where the wrong material, plant or document type is entered in an order. 

When building your script you should consider the outcomes in the recording if a user picks or applies data that doesn't conform to your positive use case. 

Current versions of Transaction (10.3.1) support the application of list of values for field entries. This can be a part of your validation regimen if you dont want to necessarily apply  constants to fields.

The only way to determine the point at which the error arises is of course to use step-by-step debugging mode in the runner. .

I hope this is a little clearer, see page 16 of the manual for details on how to run a script in step by step mode

You can also edit your script manually using Message Transformation to handle certain kinds of responses and return intelligent messages. This approach is more technical and uses the Transaction Script Command, thereby allowing you to edit the Transaction script recording directly in the Mapper.  You can also use the Transaction script commands to pass these commands as parameters when you run a Transaction script from the Command Line. See Transaction and the command line for more information on p95 of the manual.

As a guide locate the following:

 

+MTMsgID-MsgNo

Optional command.

The Message Transformation (MT) command customizes log messages stored in the Excel spreadsheet. This command can be used to change a message such that it simplifies the message and makes the log more meaningful. 

For example, change the "No batch input data for screen RFEPOS00 0100" to "Record not found".

Translating a certain message requires the proper Message ID and Message Number. Use the +EM command to obtain the Message Type, Message ID, and Message Number in sequence. The Message Type is not required for the MT command.

Example:

This example uses the "No batch input data for screen RFEPOS00 0100" error message. With the +EM command turned on, this expanded message is received:

"S:00-344-No batch input data for screen RFEPOS00 0110"

Where S is Message Type, 00 is Message ID, 344 is Message Number, and the rest is the actual text returned by SAP.

Then use the +MT command to change the text:

+MT00-344=Record Not Found

When TRANSACTION encounters Message 00-344, it replaces the SAP text with the text specified above in the +MT command.

Thanks, regards

Thanks.

Document for enabling the GUI script

Hello, I wanted to know where to find the document for enabling the GUI script for usage for Transactions. Please correct me if I am wrong, but I think it has to be changed in two places.

I also sent a post for FB50 after receiving SAPMF5A 1001.  After reading on the website this is a very common occurrence.  I received an email back in regards to that and listed were pages 16 and 95 of the user's manual for guidance.  

The reason I am mentioning this again is because I received something very similar for FD01 No batch input for screen SAPMF02D 1050 after running it through validation. As these are suppose to be the easier transactions - Any help would be greatly appreciated. 

Enabling GUI Scripting

Firstly, GUI Scripting needs to physically be enabled on your SAP environment, this is something that your BASIS team can enable for you.

As a guide they can read this, if they are not sure

http://wise.winshuttle.com/article/AA-00161/7/Winshuttle-Transaction/Enabling-SAP-GUI-Scripting.html

Secondly, you need to physically enable GUI scripting in your local SAP GUI (provided BASIS has enabled this for you) by simply using Alt+F12 and then navigating to Options>Accessibility & Scripting> Scripting and checking the Enable Scripting box.

The FD01 issue is likely a context prompt similar to the FB50 issue. You should walk the transaction in Step By Step mode in order to determine where the screen steps do nat align with your original recording. In some instances, transactions will only show a screen once per GUI session, per day or in some other instances that screen will always show up or never show up based on a given user's personal settings.

Some other clues to this particular problem may be considered by looking at the following post on SDN http://scn.sap.com/thread/1337918

You can try to handle all eventualities using a combinations of Skip Screen if not found and IF NOT first transaction logic.

emailing support (at) winshuttle.com or searching for answers on http://wise.winshuttle.com will often get you an answer faster.