Hide last authors
Assala Chmiti 15.1 1 = __Introduction__ =
Outhman Moustaghfir 2.2 2
Assala Chmiti 15.1 3
Outhman Moustaghfir 2.16 4 Variable is a container that holds a value and can be called in the iXPath Scenario. The importance of
Outhman Moustaghfir 2.2 5
Outhman Moustaghfir 2.16 6 variables is to make flexibility in using some values without referring to their origins.
7
Outhman Moustaghfir 2.3 8 There are 2 types of  variables: 
Outhman Moustaghfir 2.2 9
Outhman Moustaghfir 2.3 10 * System variables
11 * Local variables
Outhman Moustaghfir 2.2 12
Assala Chmiti 15.1 13 == __System variables__ ==
Outhman Moustaghfir 2.2 14
15
Outhman Moustaghfir 2.3 16 System variables define some default values in the system, and they can be called by users several times.
Outhman Moustaghfir 2.2 17
Outhman Moustaghfir 2.3 18 Here is the list of system variables :
19
20 1. At the declaration of the scenario:
21 1*. iXSession: it returns the ID of the current session.
22 1*. iXSessionPath: gets the Path of the session folder.
23 1*. env: name of the environment.
24 1*. inputFile: this variable collect all input files in one list.
25 1. For a **mail listener : **
Assala Chmiti 14.1 26 1*. iXFrom: refers to the sender of the mail that we are listening on.
27 1*. iXSubject: refers to the Subject of the mail that we are listening on.
Outhman Moustaghfir 2.3 28 1. For an **AS2 listener **: 
Assala Chmiti 14.1 29 1*. iXFrom: return the value of the source of the AS2 that we are listening on.
Outhman Moustaghfir 2.6 30 1. All connectors declare a system variable of type BpmnFile, the connector variable uses a bunch of functions to handle the list of BpmnFiles that will be detailed in the table below :
Outhman Moustaghfir 2.3 31 1*. (((
Outhman Moustaghfir 2.11 32 (% style="width:884px" %)
33 |(% style="width:150px" %)**Function**|(% style="width:365px" %)**Description**|(% style="width:367px" %)**Use**
Outhman Moustaghfir 7.1 34 |(% style="width:150px" %)Get( x ) |(% style="width:365px" %)Get a file with index number "x" from the BpmnFile list, the indexes begin from 0 as the first element, and so on.|(% style="width:367px" %)(((
Outhman Moustaghfir 2.9 35 if we have an XmlToXml connector named "XmlToXml1" we can get __the second__ BpmnFile as :
Outhman Moustaghfir 2.3 36
Outhman Moustaghfir 2.4 37 ${XmlToXml1.get(1)}
Outhman Moustaghfir 2.6 38
Outhman Moustaghfir 2.8 39 NB: we will make examples on the same connector "XmlToXml1".
Outhman Moustaghfir 2.4 40 )))
Outhman Moustaghfir 2.11 41 |(% style="width:150px" %)getTrkValues()|(% style="width:365px" %)Return the Tracking values from a BpmnFile.|(% style="width:367px" %)Eg : ${XmlToXml1.get(0).getTrkValues()} returns the tracking values of the first BpmnFile.
42 |(% style="width:150px" %)path()|(% style="width:365px" %)Return the absolute path of the BpmnFile.|(% style="width:367px" %)Eg : ${XmlToXml.get(3).path()} returns the path of the __fourth__ BpmnFile
43 |(% style="width:150px" %)fileName()|(% style="width:365px" %)Return the name of the BpmnFile. |(% style="width:367px" %)Eg : ${XmlToXml1.get(2).fileName()} retrieves the name of the third BpmnFile.
44 |(% style="width:150px" %)extension()|(% style="width:365px" %)Returns the extension of the BpmnFile.|(% style="width:367px" %)(((
Outhman Moustaghfir 2.9 45 Eg : if we want to get the extension of the first BpmnFile, we will proceed as below :
Outhman Moustaghfir 2.4 46
Outhman Moustaghfir 2.9 47 ${XmlToXml1.get(0).extension()}
48 )))
Outhman Moustaghfir 2.11 49 |(% style="width:150px" %)fullName()|(% style="width:365px" %)Returns the file name + its extension  |(% style="width:367px" %)Eg : ${XmlToXml1.get(0).fullName()} returns the full name of the BpmnFile.
50 |(% style="width:150px" %)size()|(% style="width:365px" %)Returns the size of the BpmnFile in megabit.|(% style="width:367px" %)(((
Outhman Moustaghfir 2.10 51 Eg : ${XmlToXml1.get(0).size()} returns the size of the first BpmnFile.
52 )))
Outhman Moustaghfir 2.11 53 |(% style="width:150px" %)type()|(% style="width:365px" %)Returns the type of the BpmnFile|(% style="width:367px" %)(((
Outhman Moustaghfir 2.10 54 Eg : To get the type of the second BpmnFile ,
Outhman Moustaghfir 2.9 55
Outhman Moustaghfir 2.10 56 ${XmlToXml1.get(1).type()}
57 )))
Outhman Moustaghfir 2.3 58 )))
Assala Chmiti 14.1 59 1. Variables used to charge the connectors properties in the xsl file without charging them in the scenario manually. Those variables helps reduce time consuming and avoid reputation in the scenario elements:
60 1*. For the SendFTP et SendSFTP, there are 3 variables:
61 1**. __**i​​XTo**__: used to charge the property **Destination **of the connector in the XSL file.
62 1**. __**iXServerConfig**__: used to charge the property **Server Config** of the connector in the XSL file.
63 1**. __**iXDirectory**__: used to charge the property **Folder** of the connector in the XSL file.
64 1**. [[image:SendFtp.png]]
65 1*. For the CallScenario Connector, there are 3 variables:
66 1**. **iXScenario**: used to charge the property **Scenario **of the connector in the XSL file.
67 1**. **iXSwitchEnv**: is a boolean variable used to charge the checkbox property **switch environnement** of the connector in the XSL file.
68 1**. **iXEnv**: used especially when the developper wants to switch the environment and use another scenario in another environment. It is a variable that precise the name of the new environment
69 1**. [[image:1649942613906-103.png]]
Outhman Moustaghfir 2.3 70
Assala Chmiti 17.1 71 (% class="wikigeneratedid" id="H" %)
72 When you change the environment, make sure to verify that the variable iXSwitchEnv has the value true.
73
Assala Chmiti 15.1 74 == __Local variables__ ==
75
76
Outhman Moustaghfir 2.14 77 Local variable is a type of variable that can be newly created and used for a certain need.
Outhman Moustaghfir 2.3 78
Outhman Moustaghfir 2.14 79 So as to create a local variable "newVar" with a value equals to "var number 1", we should write this piece of XSL code :
Outhman Moustaghfir 2.3 80
Assala Chmiti 15.1 81
Outhman Moustaghfir 2.14 82 {{code language="XML"}}
Outhman Moustaghfir 19.1 83 <xsl:value-of select=" ixf:SetVar('newVar', 'var Number 1','false')"></xsl:value-of>
Outhman Moustaghfir 2.12 84
Outhman Moustaghfir 2.14 85 {{/code}}
Outhman Moustaghfir 2.12 86
Outhman Moustaghfir 21.1 87 === ===
Outhman Moustaghfir 19.1 88
Outhman Moustaghfir 3.2 89 The call of this new variable in the scenario is similar to previous system variables:  **${newVar}.**
Outhman Moustaghfir 2.14 90
Outhman Moustaghfir 3.2 91 To get 'newVar' inside an XSL file :
Outhman Moustaghfir 2.14 92
Assala Chmiti 15.1 93
Outhman Moustaghfir 2.14 94 {{code language="XML"}}
Outhman Moustaghfir 3.2 95 <xsl:value-of select="ixf:getVar('newVar')"></xsl:value-of>
Outhman Moustaghfir 2.14 96 {{/code}}
97
Assala Chmiti 15.1 98 = __How to call the variables? :__ =
Outhman Moustaghfir 2.14 99
Assala Chmiti 15.1 100
101 To call a variable inside a connector, we should put it inside ${}. Eg: for a variable named ‘Var’, it can be called as ${Var}.
102
103 For the condition in the connector's property, to check if the variable verify the condition, we can use " VarName== 'Value' " or " VarName!='Value' ".
104
105 To call a variable in an xsl file, we should use the local variables SetVar ou GetVar.
106
107 = __Examples__ =
108
109
110
Assala Chmiti 14.1 111 * (((
112 ===== __**1^^st^^ Example:**__ =====
Assala Chmiti 15.1 113
114
Assala Chmiti 16.1 115
Assala Chmiti 14.1 116 )))
117
Outhman Moustaghfir 6.1 118 We set a simple example of a scenario to illustrate how to use variables.
Outhman Moustaghfir 2.14 119
Outhman Moustaghfir 6.1 120 We want to receive a file by a FileListener and send it by mail that contains a message body.
Outhman Moustaghfir 2.14 121
Outhman Moustaghfir 6.1 122 here is the scenario:
Outhman Moustaghfir 2.14 123
Outhman Moustaghfir 6.1 124 [[image:2021-04-27_21h31_55.png||height="140" width="446"]]
Outhman Moustaghfir 2.14 125
Outhman Moustaghfir 6.1 126 The configuration of the "SendMail" is :
127
128 [[image:2021-04-27_21h32_07.png||height="373" width="281"]]
129
130 As shown in the mail body, we called 3 variables which are :
131
Outhman Moustaghfir 7.3 132 * Env: the current environment
Outhman Moustaghfir 6.1 133 * iXSession : ID session
Outhman Moustaghfir 7.3 134 * path : the path of BpmnFile in FileListener1.
Outhman Moustaghfir 6.1 135
Assala Chmiti 14.1 136 * (((
137 ===== __**2^^nd^^ Example**__ =====
Assala Chmiti 15.1 138
139
Assala Chmiti 16.1 140
Assala Chmiti 14.1 141 )))
142
143 This is an example to charge the call scenario variables:
144
145
146 [[image:1649943564529-130.png]]
147
148
149 As shown in the mail body, we called 3 variables which are :
150
Assala Chmiti 16.1 151 * **iXEnv**: the Environment when the new scenario exists
152 * **iXScenario**: ='**error_sc_out_trk_and_statut**'. It means that the current scenariowhere the **connector CallScenario** will be changed to "error_sc_out_trk_and_statut'"
153 * **iXSwitchEnv**: ='**true**'. It means that the current env will be switched to "**Danone**"
Assala Chmiti 14.1 154
Assala Chmiti 15.1 155 = =
Outhman Moustaghfir 6.1 156
Assala Chmiti 15.1 157 = __String Class__ =
158
159
160
Outhman Moustaghfir 7.4 161 in java language, The String class represents character strings. It contains a lot of functions to handle String object.
Outhman Moustaghfir 7.2 162
Outhman Moustaghfir 7.4 163 you can discover all these functions on the following URL :
Outhman Moustaghfir 7.2 164
Outhman Moustaghfir 7.6 165 __[[https:~~/~~/docs.oracle.com/javase/8/docs/api/java/lang/String.html#method.summary>>https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#method.summary]] __
Outhman Moustaghfir 7.2 166
Outhman Moustaghfir 7.5 167 Eg: to check if a variable "myVar" is empty or not, we refer to the isEmpty() method as ${myVar.isEmpty()}, if so then it returns true, if not it will return false.
Outhman Moustaghfir 7.4 168
169
Outhman Moustaghfir 2.3 170
This wiki is hosted and managed by iXPath
Powered by XWiki 13.3 debian