Here how-to run an X3 report programmatically.
$TEST_11_B #Variable for report parameters Local Char TBPAR_BP(15)(1..50),TBVAL_BP(30)(1..50) If clalev([F:SDH]) = 0 Then Local File SDELIVERY [F:SDH] : Endif Read [F:SDH]SDH0 = "S0112BDF00138" #Set parameters value TBPAR_BP(1) = "Livraisondeb" : TBVAL_BP(1) = [F:SDH]SDHNUM TBPAR_BP(2) = "Livraisonfin" : TBVAL_BP(2) = [F:SDH]SDHNUM TBPAR_BP(3) = "numedt" : TBVAL_BP(3) = "0" #num$(ARM_REQ_BP) TBPAR_BP(4) = "sitedeb" : TBVAL_BP(4) = [F:SDH]STOFCY TBPAR_BP(5) = "sitefin" : TBVAL_BP(5) = [F:SDH]STOFCY TBPAR_BP(6) = "clientdeb" : TBVAL_BP(6) = [F:SDH]BPCORD TBPAR_BP(7) = "clientfin" : TBVAL_BP(7) = [F:SDH]BPCORD TBPAR_BP(8) = "codimp" : TBVAL_BP(8) = "2" #Call at the standard X3 Subprog to execute the report #The Subprog ETAT needs these parameters: #1 - "BONLIV" Name of the report (is not the name of the rpt Crystal file) #2 - "ANTEPRIMA" Name of the destination #3 - "FRA" Language, leave this blanc to use the default language #4 - 0 or 1 it shows or not the info message 'print executed' #5 - TBPAR_BP #6 - TBVAL_BP # Run the report with the info message 'print executed' #Call ETAT("BONLIV","VTPRTCED01","",1,"",TBPAR_BP,TBVAL_BP) From AIMP3 # Run the report without the info message Call ETAT("BONLIV","ANTEPRIMA","",0,"",TBPAR_BP,TBVAL_BP) From AIMP3 Return
Do you know how to save the report to a file via code? I have tried setting up a destination with the output as file, and setting _ExportFile to a location on my server but no errors or files seem to be produced.
Call ETAT(STRREPORT, “ZPDF”, “”, 1, “”, TBPAR, TBVAL) From AIMP3
HI,
You can set the output file name through the entry point IMPRIME of the program AIMP3.
Set the Entry point in X3 for program AIMP3 (Menù: Development > Processes > Entry Point)
In your program write this (tested in X3 version 145):
[sourcecode language=”vb”]
$ACTION
Case ACTION
When "IMPRIME" : Gosub IMPRIME
Endcase
Return
$IMPRIME
#ETAT : Name of reports
#DESTINATION : 4 = File
If DESTINATION = 4 and ETAT = ‘BONLIV’ Then
#Set the export file name
FICHIER = "c:mylocalfile.pdf"
#If you need to force the export file format …
#FMTFIC = 29 #29 = PDF Format (see Local Menu 91)
Endif
Return
[/sourcecode]
Remember to logout-login in order to ‘activate’ the new entry point
Matteo
Thank you! It worked perfectly.