68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| compile Insert RTI_MVBFS_SERVER_PLUGIN_QM_SOURCE
 | |
| 
 | |
| /*
 | |
| * This insert contains the source for a program to install on the QM server
 | |
| * The program will support efficient record selection
 | |
| */
 | |
| #UNDEFINE _IGNORE_THE_FOLLOWING_
 | |
| #IFDEF _IGNORE_THE_FOLLOWING_
 | |
| SUBROUTINE RTI_MVBFS_SERVER_PLUGIN_QM( METHOD, COMMANDS, ACTIVELIST, UNIQUEID, RESULTS)
 | |
| *
 | |
| *
 | |
| * THIS SUBROUTINE IS USED FOR EXECUTING A CHAIN OF QUERIES ON QM, RETURNING THE KEYS TO OI
 | |
| * SEE RTI_CHAIN_SELECT.
 | |
| *
 | |
| * 03/24/19   rjc  Created from D3 version
 | |
| * **********************************
 | |
| 
 | |
| * Selectinfo equates
 | |
| EQU SL$ACTIVE TO 1
 | |
| 
 | |
| EQU TRUE TO 1, FALSE TO 0
 | |
| EQU AM TO CHAR(254), VM TO CHAR(253), SVM TO CHAR(252), FM TO CHAR(254)
 | |
| 
 | |
| LISTID = 'RTI_SERVER_SELECT_':UNIQUEID
 | |
| 
 | |
| * Did they pass in some keys?
 | |
| * If so, make an active select list
 | |
| IF ACTIVELIST NE "" THEN
 | |
|    FORMLIST ACTIVELIST
 | |
| END
 | |
| 
 | |
| 
 | |
| *
 | |
| * Run the commands
 | |
| *
 | |
| EXEC.ERR = ""
 | |
| RESULTS = ""
 | |
| 
 | |
| CMD_CNT = DCOUNT(COMMANDS, AM)
 | |
| 
 | |
| FOR WHICH_COMMAND = 1 TO CMD_CNT
 | |
| 
 | |
|     CMD = COMMANDS<WHICH_COMMAND>
 | |
| 
 | |
|     CONTINUE = ( CMD # "" ) AND ( WHICH_COMMAND = 1  OR  SELECTINFO(0,SL$ACTIVE)  = 1 ) 
 | |
|      IF CONTINUE THEN
 | |
|          EXECUTE CMD
 | |
|      END
 | |
| 
 | |
| NEXT WHICH_COMMAND
 | |
| 
 | |
|  IF ( SELECTINFO(0,SL$ACTIVE)  = 1 ) THEN
 | |
| 
 | |
| 	DONE = 0
 | |
|     I = 0
 | |
| 	LOOP
 | |
| 		READNEXT ID ELSE DONE = 1
 | |
| 	UNTIL DONE
 | |
| 	   		I = I + 1
 | |
| 	  	 	RESULTS<I> = ID
 | |
| 	REPEAT
 | |
| 
 | |
| END    
 | |
| 
 | |
| RETURN
 | |
| END
 | |
| #ENDIF
 |