Categorie
Sage X3 Tips & Tricks

Sage X3 procedure to launch a report

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

 

3 risposte su “Sage X3 procedure to launch a report”

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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *