Consultor Eletrônico



Kbase 17382: Actuate API Assign parameter values and create new .rov .roi
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   5/10/1998
Actuate API Assign parameter values and create new .rov .roi

------------------------------------------------------------------*/
/* RUN AcReqReadFile("c:\actwork\design1.rov", OUTPUT arrf_return). */
RUN AcReqGenerateReport(ACT_Rov, AC_REQ_VIEW, 0, OUTPUT argr_return).

/*------------------------------------------------------------------
The following is an example of using the Actuate API to
read a .rox file or .rov file, create a new .roi file, and
create a new .rov file, from the Progress 4gl. These files are
created so that they may be run at later time. The .rov file is
created with AcReqWriteFile and will contain the parameter values
specified at the time of its creation. In this example, I am using
AcReqSetValueString to assign a report parameter called CityName to
a value of "Boston". Then I am using AcReqGenerateReport to run
the newly created .rov file. Note that you must use
AcReqSetValueString to set the path and name for your .rox file and
new .roi file name before calling AcReqGenerateReport.
------------------------------------------------------------------*/

/* ------------------------------------------------------------- */
/* --- LOCAL VARIABLE DECLARATION --- */
/* ------------------------------------------------------------- */

DEFINE VAR hSession AS INTEGER.
DEFINE VAR filenumber AS INTEGER.
DEFINE VAR aru_return AS INTEGER Initial 0.
DEFINE VAR argr_return AS INTEGER.


DEFINE VAR ACT_Rox AS CHARACTER NO-UNDO.
DEFINE VAR ACT_Roi AS CHARACTER NO-UNDO.
DEFINE VAR ACT_Rov AS CHARACTER NO-UNDO.

DEFINE VAR hAPIDll AS INTEGER NO-UNDO.

/*--------------- Interacting with the EUDT ---------------*/

DEFINE VAR AC_REQ_VIEW As INTEGER INITIAL 4. /* Views report */

ACT_Rox = "c:\actwork\design10.rox".
ACT_Roi = "c:\actwork\NewRoiName.roi".
ACT_Rov = "c:\actwork\NewRovName.rov".

RUN LoadLibraryA(INPUT "reqst32.DLL", OUTPUT hAPIDll).
RUN AcReqInitialize (OUTPUT hSession).

/* Here you have a choice to read the existing .rov or .rox file. */
/* RUN AcReqReadFile("c:\actwork\design1.rov", OUTPUT filenumber). */
RUN AcReqReadFile(ACT_Rox, OUTPUT filenumber).

RUN AcReqSetValueString(filenumber,"RoxFileName", ACT_Rox).
RUN AcReqSetValueString(filenumber, "CityName", "Boston").

/* Create a new .roi file name and a new .rov file. The new .rov
file will have the parameter CityName assinged to a value of
"Boston". */
RUN AcReqSetValueString(filenumber,"RoiFileName", ACT_Roi).
RUN AcReqWriteFile(filenumber, ACT_Rov).

RUN AcReqGenerateReport(ACT_Rov, AC_REQ_VIEW, 0, OUTPUT argr_return).

RUN AcReqUnInitialize (hSession, OUTPUT aru_return).
RUN FreeLibrary(hAPIDll).

/* ------------------------------------------------------------- */
/* --- EXTERNAL PROCEDURE DEFINITIONS TO THE reqst32.DLL --- */
/* These definitions assume that REQST32.DLL and KERNEL32.DLL */
/* can be found by MS-Windows by searching the PATH environment */
/* variable. This means that c:\actuate\devwb\bin and */
/* c:\windows\system should be in your PATH. */
/* ------------------------------------------------------------- */

PROCEDURE AcReqInitialize EXTERNAL "reqst32.DLL" :
DEFINE RETURN PARAMETER hSession AS LONG.
END PROCEDURE.

PROCEDURE AcReqGenerateReport EXTERNAL "reqst32.DLL":
DEFINE INPUT PARAMETER filename AS CHARACTER.
DEFINE INPUT PARAMETER options AS LONG.
DEFINE INPUT PARAMETER filenumber AS LONG.
DEFINE RETURN PARAMETER argr_return AS LONG.
END PROCEDURE.

PROCEDURE AcReqReadFile EXTERNAL "reqst32.DLL" :
DEFINE INPUT PARAMETER filename AS CHARACTER.
DEFINE RETURN PARAMETER filenumber AS LONG.
END PROCEDURE.

PROCEDURE AcReqWriteFile EXTERNAL "reqst32.DLL" :
DEFINE INPUT PARAMETER filenumber AS LONG.
DEFINE INPUT PARAMETER rovfilename AS CHARACTER.
END PROCEDURE.

PROCEDURE AcReqSetValueString EXTERNAL "reqst32.DLL" :
DEFINE INPUT PARAMETER filenumber AS LONG.
DEFINE INPUT PARAMETER parmName AS CHARACTER.
DEFINE INPUT PARAMETER parmValue AS CHARACTER.
END PROCEDURE.

PROCEDURE AcReqUnInitialize EXTERNAL "reqst32.DLL" :
DEFINE INPUT PARAMETER hSession AS LONG.
DEFINE RETURN PARAMETER aru_return AS SHORT.
END PROCEDURE.

PROCEDURE LoadLibraryA EXTERNAL "KERNEL32.DLL":U :
DEFINE INPUT PARAMETER dllname AS CHARACTER.
DEFINE RETURN PARAMETER hdll AS LONG.
END.

PROCEDURE FreeLibrary EXTERNAL "KERNEL32.DLL":U :
DEFINE INPUT PARAMETER hdll AS LONG.
END.

Progress Software Technical Support Note # 17382