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