Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
RichHeilman
Developer Advocate
Developer Advocate
0 Kudos

My company uses RF scanners all over the shop floor and shipping docks.  We use SAPconsole to get a direct connection to SAP.  All of our transactions that run on the RF scanners are custom  programs, complete with error messages.   A couple of years ago, I was faced with the problem of  finding a way to make a sound on the scanner when issuing an error message. At the time we were  running the SAPconsole delivered with the 46d gui.  This weblog will show what we did to overcome the  problem.

First, if you are running a version of SAPconsole which is less than the 6.22 version, upgrade to at  least the 6.22 version.  It is delivered with SAP gui 6.20.  Since SAPgui 6.40 is currently available, I would suggest upgrading directly to the the 6.40 version.  In the sapconsole administrator you must set the flag to enable the bell signal functionality.

Next, create a screen which will give the error to the user.  Here I have used screen 9999, it has  3 input fields that have been set as output only.  These fields will hold the error message.  Also,   there is a "Back" button and an input field named NOTIFY_BELL_SIGNAL.  You must specify this field in   the screen in order for the bell signal to work.  Make sure that it is declared as a numeric field.

Next, add a module to the screen flow logic, call it BELL_SIGNAL_ERROR.

Screen Flow Logic Code

PROCESS BEFORE OUTPUT. 

MODULE STATUS_9999. 

MODULE BELL_SIGNAL_ERROR.

PROCESS AFTER INPUT.

MODULE USER_COMMAND_9999.


Finally, you will need to add some lines of code to your program, first declare the screen field in  your ABAP program,  and add the code to the module BELL_SIGNAL_ERROR.

ABAP Code

data: notify_bell_signal(1) type n,

module bell_signal_error output. 

  notify_bell_signal = '3'.

  endmodule.

Notice in the above code,  I set the notify_bell_signal variable to "3".  This means that when the screen is thrown, that the RF scanner will "beep" 3 times.  Set it to "4" and it will beep "4"  times, etc.  In the SAPgui, the number will show up in the screen, but when ran through SAPconsole,  the value is stripped off. 

1 Comment