Kbase 17037: Overriding a filter parameter using the Actuate API
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/05/1998 |
|
Overriding a filter parameter using the Actuate API
/* The following is an example procedure demonstrating how to use */
/* the Actuate API to override a parameter defined in an Actuate */
/* report. In this example, there is a global parameter defined in */
/* the report Design10 called CityName. For information on */
/* defining report parameters, see chapter 12 of Building Reports. */
/* OverrideParameter.p */
/* ------------------------------------------------------------- */
/* --- LOCAL VARIABLE DECLARATION --- */
/* ------------------------------------------------------------- */
DEFINE VAR v-options AS INTEGER INITIAL 0.
DEFINE VAR ari_return AS INTEGER.
DEFINE VAR aru_return AS INTEGER Initial 0.
DEFINE VAR argr_return AS INTEGER.
DEFINE VAR arrf_return AS INTEGER.
DEFINE var ACT_REPORT AS CHARACTER NO-UNDO.
DEFINE var ACT_DESTINATION AS CHARACTER NO-UNDO.
/*--------------- Interacting with the EUDT ---------------*/
DEFINE VAR AC_REQ_VIEW As INTEGER INITIAL 4. /* Views report */
DEFINE VAR AC_REQ_PRINT As INTEGER INITIAL 8. /* Prints report */
/* -----------------------------------------------------------------*/
/* Name of the report to be run and the destination (VIEW or PRINT) */
/* !!You must insert the path and name of a valid .rov file below!! */
/* -----------------------------------------------------------------*/
assign ACT_REPORT = "c:\ActWork\Design10.rov"
ACT_DESTINATION = "VIEW".
/* ------------------------------------------------------------- */
/* --- INITIALIZE THE API --- */
/* ------------------------------------------------------------- */
RUN AcReqInitialize (OUTPUT ari_return).
/* ------------------------------------------------------------- */
/* --- DETERMINE IF THE REPORT IS VIEWED OR PRINTED --- */
/* --- AND PASS THIS TO AcRegGenerateReport --- */
/* ------------------------------------------------------------- */
CASE ACT_DESTINATION:
WHEN "VIEW" THEN v-options = v-options + AC_REQ_VIEW.
WHEN "PRINT" THEN v-options = v-options + AC_REQ_PRINT.
OTHERWISE DO:
MESSAGE "Invalid Print Destination" VIEW-AS ALERT-BOX.
RETURN.
END.
END CASE.
/* ------------------------------------------------------------- */
/* --- Run the report, and remove the .dll from memory --- */
/* ------------------------------------------------------------- */
RUN AcReqReadFile(ACT_REPORT, OUTPUT arrf_return).
/* Setting the value of the parameter CityName to = Boston */
RUN AcReqSetValueString(arrf_return, "CityName", "Boston").
RUN AcReqWriteFile(arrf_return, ACT_REPORT).
RUN AcReqGenerateReport(ACT_REPORT, v-options, 0, OUTPUT argr_return).
RUN AcReqUnInitialize (ari_return, OUTPUT aru_return).
/* ------------------------------------------------------------- */
/* --- EXTERNAL PROCEDURE DEFINITIONS TO THE reqst32.DLL --- */
/* ------------------------------------------------------------- */
PROCEDURE AcReqInitialize EXTERNAL
"c:\actuate\devwb\bin\reqst32.DLL" PERSISTENT:
DEFINE RETURN PARAMETER ari_return AS LONG.
END PROCEDURE.
PROCEDURE AcReqGenerateReport EXTERNAL
"c:\actuate\devwb\bin\reqst32.DLL"PERSISTENT:
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
"c:\actuate\devwb\bin\reqst32.DLL" PERSISTENT:
DEFINE INPUT PARAMETER filename AS CHARACTER.
DEFINE RETURN PARAMETER arrf_return AS LONG.
END PROCEDURE.
PROCEDURE AcReqSetValueString EXTERNAL
"c:\actuate\devwb\bin\reqst32.DLL" PERSISTENT:
DEFINE INPUT PARAMETER filename AS LONG.
DEFINE INPUT PARAMETER parmname AS CHARACTER.
DEFINE INPUT PARAMETER parmvalue AS CHARACTER.
END PROCEDURE.
PROCEDURE AcReqWriteFile EXTERNAL
"c:\actuate\devwb\bin\reqst32.DLL" PERSISTENT:
DEFINE INPUT PARAMETER filename AS LONG.
DEFINE INPUT PARAMETER rovname AS CHARACTER.
END PROCEDURE.
PROCEDURE AcReqUnInitialize EXTERNAL
"c:\actuate\devwb\bin\reqst32.DLL" :
DEFINE INPUT PARAMETER ari_return AS LONG.
DEFINE RETURN PARAMETER aru_return AS SHORT.
END PROCEDURE.
Progress Software Technical Support Note # 17037