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
Advertisements

3 thoughts on “Sage X3 procedure to launch a report

  1. 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

    1. 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):

      $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
      

      Remember to logout-login in order to ‘activate’ the new entry point

      Matteo

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s