Re: Splash screen with timeout and invite, in MI?

"James H. H. Lampert" <jamesl-6/ELSmrcqeUu8xhjR5IN5AC/[email protected]> Fri, 14 Jan 2011 13:01:57 -0800
Newsgroups gmane.comp.lang.as400.mi
Message-ID <[email protected]>
The snippets:

The display file record:

>      A          R DUMMY                                  
>      A                                      FRCDTA       
>      A                                      DSPMOD(*DS4) 
    <Most of the screen contents omitted>
>      A                                 17 36'9999'       
>      A                                      COLOR(PNK)   
>      A  *DS4                           17 61             
>      A                                 18 34'99'         
>      A                                      COLOR(PNK)   
>      A  *DS4                           18 59             
>      A                                 18 40'99'         
>      A                                      COLOR(PNK)   
>      A  *DS4                           18 65             
>      A                                 19 34'99'         
>      A                                      COLOR(PNK)   
>      A  *DS4                           19 59             
>      A                                 19 40'99'         
>      A                                      COLOR(PNK)   
>      A  *DS4                           19 65           
>      A                                 20 35'9999999'  
>      A                                      COLOR(PNK) 
>      A  *DS4                           20 60           
>      A                                 18 49'111'      
>      A                                      COLOR(PNK) 
>      A  *DS4                           18 74           
>      A                                 21 39'99'       
>      A                                      COLOR(PNK) 
>      A  *DS4                           21 64           
>      A                                 19 49'111'      
>      A                                      COLOR(PNK) 
>      A  *DS4                           19 74           
>      A                                 22 38'99'       
>      A                                      COLOR(PNK) 
>      A  *DS4                           22 63           
>      A                                 20 43'...'      
>      A                                      COLOR(PNK) 
>      A  *DS4                           20 68           
>      A                                 20 49'111'      
>      A                                      COLOR(PNK)
>      A  *DS4                           20 74          
>      A                                 23 36'99'      
>      A                                      COLOR(PNK)
>      A  *DS4                           23 61          
>      A                                 21 43'...'     
>      A                                      COLOR(PNK)
>      A  *DS4                           21 68          
>      A                                 21 48'11111'   
>      A                                      COLOR(PNK)
>      A  *DS4                           21 73          
>      A                                 24  7'(C) Touchtone Corporation, 1997-20- 
>      A                                      10.  All rights reserved worldwide.' 
>      A                                      COLOR(BLU)                           
>      A  *DS4                           24 31                                     
 

 

And the MI code that uses it: 

 

>          CMPNV(B) CIINV#,0/NEQ(MAINNDUM); /* If not 1st invocation, bypass... */ 
>          CMPNV(B) SVSCRWID, 0/HI(MAINNDUM); /* if we already know, bypass... */  
>          CPYBLA .CURROP, 'WRITE';                                                
>          SETSPP .FIBPTR, .F01FIB;                                                
>          CPYBLA .F01EIND, *OFF;                                                  
>          CPYBLA .F01XSET, '00000WRITER';                                         
>          CMPBLA(B) .F01OPEN, *ON/EQ(MAINDUM1);                                   
>          B .DMEXL2;                                                              
> MAINDUM1:                                                                        
>          CPYBLA .EXTRECN, 'DUMMY     ';                                          
>          CMPNV(B) SVSCRWID, 0/NEQ(MAINNDUM);                                     
>          CALLI .XRVRW01, *, .DRIVRTN;                                           
>          CPYNV SVSCRWID, .DMCCOL(1);                                            
> MAINNDUM:                                                                       
> . . .                                                                           
> /*---------------------------------------------------------------------------*/ 
>          DCL DD .OC01003 CHAR(1) AUTO INIT(X'01')    /*FORMAT NAME CTL LIST*/;  
>          DCL DD .NL01003 BIN(2) AUTO INIT(10);                                  
>          DCL DD .RN01003 CHAR(10) AUTO INIT('        ');                        
>          DCL DD .EN01003 CHAR(1) AUTO INIT(X'FF')    /* END OF CONTROL LIST*/;  
>          DCL DD .OP01003 CHAR(4) AUTO INIT(X'00000005')   /*OPTIONS LIST*/;     
>          DCL SPCPTR .PO01003 AUTO INIT(.OP01003);                               
>          DCL SPCPTR .CO01003 AUTO;                                              
>          DCL OL .OL01003(.F01UFCB,.PO01003,.CO01003);                           
>          ENTRY .XRVRW01 INT;                                                    
>          CPYBLA .RN01003,.EXTRECN                    /*RECORD NAME*/;           
>          SETSPP .CO01003,.OC01003                    /*USE CONTROL LIST*/;      
>          CPYBLA MDFDEVNM,MDF01A                    /*USE CURRENT DEVICE*/;      
>          CPYBWP .UFCBPTR,.FIBUFCB                    /*LOCATE UFCF*/;           
>          CPYBWP .ODPBPTR,.UCBODPB                    /*LOCATE ODP*/;            
>          CALLI MDFDES,*,MDFDRETN                   /*SEARCH ODP*/;              
>          CPYNV DMCLINK,.DMCPUT (.U01INDX)           /*ENTRY POINT TAB INDEX*/;  
>          CPYBWP .IOEPTR,.DMCENTR(DMCLINK)           /*DM ENTRY*/;               
>          CPYBLA .DMIOSW,*ON                          /*INDICATE I/O OPERATION*/;
>          CALLX .IOEPTR,.OL01003,*                    /*I/O REQUEST*/;           
>          CPYBLA .DMIOSW,*OFF                         /*RESET INDICATION*/;      
>          CPYBLA .FIBIOFB,.FIBFBIO                    /*SET FEEDBACK AREA*/;     
>          ADDSPP .IOFDBEX,.UCBIFBK,.IOFZOFF;                                     
>          CPYBLA .FIBZDVD,.FIBFBEX                    /*DEVICE DEP FDBK*/;       
>          B .DRIVRTN                                  /* RETURN */;              
>          /* NO READ-BEFORE-UPDATE EXCEPTION HANDLER */;                         
>          DCL EXCM * EXCID(H'5011') BP(.NOREAD) CV('CPF')                        
>                                                      /* CPF5011 */;             
> .NOREAD:                                                                        
>          CPYBLA .FIBXSTS,'01221'                     /* SET *STATUS */;         
>          CPYBLA .FIBHDTR, *OFF                       /*RESET RELEASE SWITCH*/;  
>          B .DMEXGO                                   /* GO TO ERROR HANDLER **/;
> /*---------------------------------------------------------------------------*/  

One obvious course of action is to write a simple program in OPM RPG, 
that does what I want, and then inspect the MI source it produces.

--
JHHL
_______________________________________________
This is the MI Programming on the AS400 / iSeries (MI400) mailing list
To post a message email: MI400-Zwy7GipZuJhWk0Htik3J/[email protected]
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/mi400
or email: MI400-request-Zwy7GipZuJhWk0Htik3J/[email protected]
Before posting, please take a moment to review the archives
at http://archive.midrange.com/mi400.