Consultor Eletrônico



Kbase 17027: Sample Include File Used for Actuate API Definitions
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/16/2008
Status: Verified

GOAL:

Sample Include File Used for Actuate API Definitions

FIX:


/*************************************************************/      
/* Copyright (c) 1984-1997 by Progress Software Corporation  */      
/*                                                           */      
/* All rights reserved.  No part of this program or document */      
/* may be  reproduced in  any form  or by  any means without */      
/* permission in writing from Progress Software Corporation. */      
/*************************************************************/      

/*******************************************************************
   Procedure: acapi.i                                               
   Purpose  : Actuate API definitions                               
   Notes    :                                                       
   Author   :                                                        
   Date     : 6/30/97                                               
   Modified on : 22/07/98 notes at the end of the kbase
*******************************************************************/

PROCEDURE AcReqInitialize EXTERNAL "reqst32.dll":U PERSISTENT:
 DEFINE RETURN PARAMETER hSession AS LONG.                          
END.                                                                 

PROCEDURE AcReqUnInitialize EXTERNAL "reqst32.dll":U :
 DEFINE INPUT  PARAMETER hSession AS LONG.                          
 DEFINE RETURN PARAMETER rc       AS UNSIGNED-SHORT.                
END.                                                                 

PROCEDURE AcReqPrintReport EXTERNAL "reqst32.dll":U :
 DEFINE INPUT  PARAMETER filename AS CHARACTER.                     
 DEFINE INPUT  PARAMETER options  AS LONG.                          
 DEFINE RETURN PARAMETER rc       AS LONG.                          
END.                                                                 

PROCEDURE AcReqSetPrinterName EXTERNAL "reqst32.dll":U :
 DEFINE INPUT PARAMETER printerName AS CHARACTER.                   
END.                                                                 

PROCEDURE AcReqSetPrinterNumberCopies EXTERNAL "reqst32.dll":U :
 DEFINE INPUT PARAMETER numCopies AS LONG.                          
END.                                                                 

PROCEDURE AcReqSetPrinterOrientation EXTERNAL "reqst32.dll":U :   
 DEFINE INPUT PARAMETER orientation AS LONG.                        
 /* 1=portait, 2=landscape */                                       
END.                                                                 

PROCEDURE AcReqSetPrinterScale EXTERNAL "reqst32.dll":U :
 DEFINE INPUT PARAMETER scale AS LONG.                              
 /* percentage of orig size at which to print */                    
END.                                                                 

PROCEDURE AcReqSetPrinterColor EXTERNAL "reqst32.dll":U :
 DEFINE INPUT PARAMETER printerColor AS LONG.                       
 /* boolean - 1=yes, 0=no */                                        
END.       

PROCEDURE AcReqSetPrinterDuplex EXTERNAL "reqst32.dll":U :                       
 DEFINE INPUT PARAMETER duplexMode AS LONG.          
 /* 1=simplex mode, 2=horiz, 3=vert */  
END.                                                                 

PROCEDURE AcReqSetPrinterCollate EXTERNAL "reqst32.dll":U :
 DEFINE INPUT  PARAMETER collate AS LONG.                           
 /* boolean - 1=yes, 0=no */                                        
END.                                                                 

PROCEDURE AcReqSetPrinterFormName EXTERNAL "reqst32.dll":U :
 DEFINE INPUT PARAMETER formName AS CHARACTER.                      
END.                                                        .         

PROCEDURE AcReqSetPrinterPaperSize EXTERNAL "reqst32.dll":U :   
 DEFINE INPUT PARAMETER size   AS LONG. /* value 1 to 68 */         
 DEFINE INPUT PARAMETER length AS LONG.                             
 /* length of paper in 10ths of a mm (e.g. 2794) */                 
 DEFINE INPUT PARAMETER width  AS LONG.                             
 /* width of paper in 10ths of a mm (e.g. 2159) */                  
END.                                                                 

PROCEDURE AcReqSetDefaultPrinter EXTERNAL "reqst32.dll":U :
 /* No parameters */                                                
END.                                                                 

PROCEDURE AcReqReadFile  EXTERNAL "reqst32.dll":U PERSISTENT :  
 DEFINE INPUT  PARAMETER fileName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER fileNumber AS LONG.                        
END.                                                                 

PROCEDURE AcReqCloseFile  EXTERNAL "reqst32.dll":U PERSISTENT :                                              
 DEFINE INPUT PARAMETER fileNumber AS LONG.                         
END.                                                                 

PROCEDURE AcReqGetFirstGroup EXTERNAL "reqst32.dll":U PERSISTENT :
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE RETURN PARAMETER name       AS MEMPTR.                      
END.                                                                 

PROCEDURE AcReqGetNextGroup EXTERNAL "reqst32.dll":U PERSISTENT :
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE RETURN PARAMETER name       AS MEMPTR.                      
END.                                                                 

PROCEDURE AcReqGetFirstParameter EXTERNAL "reqst32.dll":U PERSISTENT :                                     
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmGroup  AS CHARACTER.                   
 DEFINE RETURN PARAMETER parmname   AS MEMPTR.                      
END.                                                                 

PROCEDURE AcReqGetNextParameter EXTERNAL "reqst32.dll":U PERSISTENT :                                     
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmGroup  AS CHARACTER.                   
 DEFINE RETURN PARAMETER parmname   AS MEMPTR.                      
END.                                                                 

PROCEDURE AcReqGetAlias EXTERNAL "reqst32.dll":U PERSISTENT :                                             
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS MEMPTR.                      
END.                                                                 

PROCEDURE AcReqGetRequired EXTERNAL "reqst32.dll":U PERSISTENT :                                           
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS SHORT.                       
END.                                                                 

PROCEDURE AcReqGetHidden EXTERNAL "reqst32.dll":U PERSISTENT :                                             
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS SHORT.                       
END.                                                                 

PROCEDURE AcReqGetHide.Text EXTERNAL "reqst32.dll":U PERSISTENT :                                          
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS SHORT.                       
END.                                                                 

PROCEDURE AcReqGetAdhoc EXTERNAL "reqst32.dll":U PERSISTENT :                                              
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS SHORT.                       
END.                                                                 

PROCEDURE AcReqGetParmType EXTERNAL "reqst32.dll":U PERSISTENT :                                          
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS MEMPTR.                      
END.                                                                 

PROCEDURE AcReqGetValueString EXTERNAL "reqst32.dll":U PERSISTENT :                                        
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS MEMPTR.                      
END.                                                                 
B
PROCEDURE AcReqGetValueInteger EXTERNAL "reqst32.dll":U PERSISTENT :                                      
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS LONG.                        
END.                                                                 

PROCEDURE AcReqGetValueCurrency EXTERNAL "reqst32.dll":U PERSISTENT :                                     
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS MEMPTR.                      
END.                                                                 

PROCEDURE AcReqGetValueDate EXTERNAL "reqst32.dll":U PERSISTENT :                                         
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS MEMPTR.                      
END.                                                                 

PROCEDURE AcReqGetValueDouble EXTERNAL "reqst32.dll":U PERSISTENT :                                        
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN PARAMETER val        AS DOUBLE.                      
END.                                                                 

PROCEDURE AcReqSetValueString  EXTERNAL "reqst32.dll":U PERSISTENT :                                      
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE INPUT  PARAMETER val        AS CHARACTER.                   
END.                                                                 

PROCEDURE AcReqSetValueInteger EXTERNAL "reqst32.dll":U PERSISTENT :                                      
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE INPUT  PARAMETER val        AS LONG.     .                   
END.                                                                 

PROCEDURE AcReqSetValueCurrency EXTERNAL "reqst32.dll":U PERSISTENT :                                     
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE INPUT  PARAMETER val        AS CHARACTER.                   
END.                                                                 

PROCEDURE AcReqSetValueDate EXTERNAL "reqst32.dll":U PERSISTENT :                                         
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE INPUT  PARAMETER val        AS CHARACTER.                   
END.                                                                 

PROCEDURE AcReqSetValueDouble EXTERNAL "reqst32.dll":U PERSISTENT :                                       
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE INPUT  PARAMETER val        AS DOUBLE.                      
END.                                                                 

PROCEDURE AcReqWriteFile EXTERNAL "reqst32.dll":U PERSISTENT :                                            
 DEFINE INPUT  PARAMETER FileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER FileName   AS CHARACTER.                   
END.                                                                 

PROCEDURE AcReqGenerateReport EXTERNAL "reqst32.dll":U PERSISTENT :                                       
 DEFINE INPUT PARAMETER filename   AS CHARACTER.                    
 DEFINE INPUT PARAMETER options    AS LONG.                         
 DEFINE INPUT PARAMETER fileNumber AS LONG.                         
 DEFINE RETURN PARAMETER rc        AS LONG.                         
END.      
                                                       

PROCEDURE AcReqGetValueStr EXTERNAL "reqst32.dll":U PERSISTENT :                                          
 DEFINE INPUT  PARAMETER fileNumber AS LONG.                        
 DEFINE INPUT  PARAMETER parmName   AS CHARACTER.                   
 DEFINE RETURN  PARAMETER val       AS MEMPTR.                      
END.                                                                 

PROCEDURE AcReqGetError EXTERNAL "reqst32.dll":U PERSISTENT :                                             
 DEFINE INPUT  PARAMETER filenumber AS LONG.                        
 DEFINE RETURN PARAMETER val        AS LONG.                        
END.                                                                 

PROCEDURE AcReqGetErrorString EXTERNAL "reqst32.dll":U PERSISTENT :                                       
 DEFINE INPUT  PARAMETER filenumber AS LONG.                        
 DEFINE RETURN PARAMETER msg        AS MEMPTR.                      
END.                                                                 

/* Routine to check for an Actuate API error and return it */        
PROCEDURE CheckForAPIError:                                          
 DEFINE INPUT  PARAMETER filenumber   AS INTEGER   NO-UNDO.         
 DEFINE OUTPUT PARAMETER ErrorNumber  AS INTEGER   NO-UNDO.         
 DEFINE OUTPUT PARAMETER ErrorMessage AS CHARACTER NO-UNDO.         

 DEFINE VARIABLE pErrorMsg   AS MEMPTR    NO-UNDO.                  

 RUN AcReqGetError(INPUT filenumber, OUTPUT ErrorNumber).           
 IF ErrorNumber > 0 THEN DO:                                        
    SET-SIZE(pErrorMsg) = 128.                                      
    RUN AcReqGetErrorString(INPUT filenumber, OUTPUT pErrorMsg).  .  
    ErrorMessage = GET-STRING(pErrorMsg,1).                         
    SET-SIZE(pErrorMsg) = 0.                                        
 END.                                                               
END.                                                                 

FUNCTION UnInitializeAPI RETURNS INT (hSession AS INTEGER):          
 DEFINE VARIABLE rc AS INTEGER NO-UNDO.                             
 RUN AcReqUnInitialize(INPUT hSession, OUTPUT rc).                  
 IF rc EQ 0 THEN                                                    
   MESSAGE "An error occurred while removing the Actuate API        
            from memory"                                            
     VIEW-AS ALERT-BOX ERROR TITLE "Actuate API".                   
END.                                                                 


SAA(22/07/98):The AcReqInitialize procedure needs to be PERSISTENT
especially when running the report on the report server from a Windows 95
client machine

.