Home > AS/400 News > Roger Miller function keys -- code
AS/400 News:
EMAIL THIS

Roger Miller function keys -- code

14 Jan 2003 |

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   

 The SETKEY program follows: 

I* EXTERNAL D.S. CONTAINING THE COMMAND KEY NAMES.
I*                                                
IKEYDS     E DSSETKEYDS01                         
I*                                           
C*                                                
C*ENTRYPARAMETERS.                             
C*                                                
C           *ENTRY    PLIST                       
C*                                                
C                     PARM           KEYDS        
C*                                                
C* SET ALL FIELDS TO HEX'00'                      
C*                                                
C       BITOF'01234567'   ENTER        
C       MOVELENTER     ROLLUP  
C       MOVELENTER     ROLLDN 
C       MOVELENTER     HELP   
C       MOVELENTER     PRINT  
C       MOVELENTER     BSPACE 
C       MOVELENTER     CLEAR  
C       MOVELENTER     F1     
C       MOVELENTER     F2     
C       MOVELENTER     F3     
C       MOVELENTER     F4     
C       MOVELENTER     F5     
C       MOVELENTER     F6     
C       MOVELENTER     F7     
C       MOVELENTER     F8     
C       MOVELENTER     F9     
C       MOVELENTER     F10    
C       MOVELENTER     F11    
C       MOVELENTER     F12    
C       MOVELENTER     F13 
C       MOVELENTER     F14 
C       MOVELENTER     F15 
C       MOVELENTER     F16 
C       MOVELENTER     F17 
C       MOVELENTER     F18 
C       MOVELENTER     F19 
C       MOVELENTER     F20 
C       MOVELENTER     F21 
C       MOVELENTER     F22 
C       MOVELENTER     F23 
C       MOVELENTER     F24 
C*                                       
C* SET ON THE DESIRED BITS.         
                                     
C      BITON'01237'    ENTER           
C      BITON'012357'   ROLLUP         
C      BITON'01235'    ROLLDN         
C      BITON'012367'    HELP
C      BITON'012356'    PRINT
C      BITON'01234'   BSPACE        
C      BITON'023457'   CLEAR
C      BITON'237'     F1             
C      BITON'236'   F2 
C      BITON'2367'     F3  
C      BITON'235'      F4  
C      BITON'2357'    F5 
C      BITON'2356'      F6
C      BITON'23567'  F7          
C      BITON'234'      F8  
C      BITON'2347'     F9
C      BITON'2346'      F10      
C      BITON'23467'    F11  
C      BITON'2345'     F12 
C      BITON'0237'     F13  
C      BITON'0236'     F14     
C      BITON'02367'    F15         
C      BITON'0235'     F16 
C      BITON'02357'    F17     
C      BITON'02356'    F18 
C      BITON'023567'   F19           
C      BITON'0234'     F20  
C      BITON'02347'    F21   
C      BITON'02346'    F22    
C      BITON'023467'   F23    
C      BITON'02345'    F24      
C*                                     
C      MOVEL'1'  *INLR                  

You must also create a file (I called it SETKEYDS01) that I referenced in the -I- spec as an external data structure. This file will contain each of the variables used in the SETKEY program (above). Define them as 1A variables.

Once you have created your external data structure (SETKEYDS01) and RPG program (SETKEY) you may use them in any program that uses a WORKSTN device.

In your program, define your -F- spec as follows:

FSCREENFMCF E WORKSTN KINFDS DSPFDS

The DSPFDS (File Information Data Structure) must then be referenced in the -I- specs:

 
IDSPFDS  DS                                           
I*                                                          
I                                      369 369 CMDKEY       
I*           

Feedback position 369 contains a HEX value that represents the Function Key that was pressed. The SETKEY program establishes variables that will contain the same HEX value.

During your initial calcs, code the following statements:

 
C       CALL  'SETKEY'        
C       PARM      KEYDS

Now, after any EXFMT statement, check for the key the user hit, as follows:

 
C           CMDKEY    IFEQ F2
C           CMDKEY    IFEQ F15
C           CMDKEY    IFEQ F21
C           CMDKEY    IFEQ HELP
C           CMDKEY    IFEQ ENTER
C           CMDKEY    IFEQ ROLLDN 

I only included a few examples. You may use any of the variables from the SETKEY program. Doesn't this make it a lot easier to know what key the user pressed? I know that many of you use indicators 01 - 24. But what about the other keys like ROLLUP and HELP? (Especially the ENTER key.) Enjoy.



Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us   



RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


iSeries Application Development: CL, COBOL, RPG, VB, ILE, Java
HomeNewsTopicsITKnowledge ExchangeTipsBlogsAsk the ExpertsMultimediaWhite PapersProducts
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 1999 - 2010, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts