Ir al contenido principal

Here how-to run an X3 report programmatically


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$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

Entradas populares de este blog

Valores de fstat

Fstat fstat  is a numeric status that is returned upon execution of a database operation, a sequential file operation, or a lock instruction. Syntax fstat Examples # MYTABLE is a table with a key called KEY1, that has a unique component called KEYVAL # Create a record in the table MYTABLE with they key value 1 if it doesn't exist Local File MYTABLE [MYT] Read [MYT]KEY1=1 If fstat [MYT]KEYVAL=1 : Write [MYT] If fstat MSG="The key was created in the mean time" Else MSG="Key created" Endif Else MSG="Key already exists" Endif Details fstat  is always set to '0' if the operation is successfully completed, and has a non-null value if there is an error: In a sequential read ( Getseq  and  Rdseq ),  fstat  is set to '1' at the end of the file. On  Lock ,  fstat  is set to '1' if the lock could not be performed. For a database operation ( Read ,  Look ,  Readlock ,  For ,  Write ,  ...

SAGE X3 SILENT IMPORT (IMPORTSIL) WITH ERROR CATCHING

FUENTE ORIGINAL: https://pluginx3.com/en/blog/post/sage-x3-silent-import-importsil-with-error-catching.html You already know how to manually generate a CSV file in order to import it threw a template in Sage X3. But If you wonder how to catch detailed errors after a silent import here is the solution. Sometimes you need to catch the incoming errors in order to alert the end-user regarding an issue. Closed period, wrong date etc …. Unfortunalty the standard Sage X3 silent import function doesn’t natively show the detailed errors during the import process. Call IMPORTSIL([M:IMP2]MODIMP,[M:IMP2]NOMIMP) From GIMPOBJ And the standard function ERR_IMPORT will only show the overall status of the importation and not the detailed errors. IMPORTSIL function is pushing all the log data into a tracefile in order to avoid any popup on end-user screen. So you have a log file available in order to search for errors in it. Sage X3 runtime is using the same principals standards as any shell for log...

Sage X3 Create a new CLOB Text

Here how to create a CLOB text Funprog F_CRELOB ( YABRFIC , YTEXTE ) Value Char YABRFIC Value Char YTEXTE Local Char XXRTFTXT ( 250 ) ( 3 ) XXRTFTXT ( 0 ) = "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 MS Sans Serif;}}\viewkind4\uc1\pard\f0\fs17 " XXRTFTXT ( 1 ) = YTEXTE XXRTFTXT ( 2 ) = "\par}" Local Char X_RET Local Integer XXOK Local Char XCHAMPLIEN : XCHAMPLIEN = "YYYY" Global Char YYYY : YYYY = YABRFIC Local Clbfile WWCLOB Local Mask ACLOB [ M :ACL ] Setlob WWCLOB With XXRTFTXT [ M :ACL ] CLOB = WWCLOB Call CRE_CLOB_ACL ( XCHAMPLIEN , XXOK ) From TRTX3TEX Close Local Mask [ M :ACL ] X_RET = YYYY Kill YYYY End X_RET