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
.