I've this gel script bellow:
<customScript languageCode="gel"> <scriptText> <gel:script xmlns:core="jelly:core" xmlns:gel="jelly:com.niku.union.gel.GELTagLibrary" xmlns:soap="jelly:com.niku.union.gel.SOAPTagLibrary" xmlns:soapenv="schema.xmlsoap.org/.../" xmlns:sql="jelly:sql" xmlns:xog="http://www.niku.com/xog" xmlns:file="jelly:com.niku.union.gel.FileTagLibrary" xmlns:xsi="www.w3.org/.../XMLSchema-instance"> <core:set value="${gel_objectInstanceId}" var="INST_ID"/> <core:set value="NA" var="hostClarity"/> <core:set value="NA" var="loginClarity"/> <core:set value="NA" var="passClarity"/> <core:set value="NA" var="fileName"/> <core:set value="NA" var="filePath"/> <core:set value="1" var="modificationOK"/> <core:set value="1" var="creationOK"/> <core:set var="sizeFile" value="0"/> <core:set var="ID" value="0"/> <gel:parameter default="0" var="logLevel"/> <core:set value="0" var="errorFlag"/> <core:if test="${logLevel ge 0}"> <gel:log category="PROC" level="info" message="Start"/> </core:if> <core:if test="${logLevel ge 2}"> <gel:log category="SQL" level="info" message="Connecting to niku data source"/> </core:if> <gel:setDataSource dbId="Niku"/> <core:if test="${logLevel ge 2}"> <gel:log category="SQL" level="info" message="Connected"/> </core:if> <!-- Declaration de l'en tete du fichier XOG des LOG--> <gel:parse var="LOG_XOG"> <NikuDataBus xmlns:xsi="www.w3.org/.../XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_customObjectInstance.xsd"> <Header action="write" externalSource="NIKU" objectType="customObjectInstance" version="13.1"> <args name="overrideAutoNumbering" value="false"/> </Header > <customObjectInstances objectCode="x_log_interf_ort"> <instance instanceCode="auto" objectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">auto</ColumnValue> <ColumnValue name="code">auto</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="page_layout">odf.x_log_interf_ortFrame</ColumnValue> <ColumnValue name="odf_period_start"/> <ColumnValue name="odf_period_end"/> <ColumnValue name="x_application">REFOG OBS</ColumnValue> </CustomInformation> </instance> </customObjectInstances> </NikuDataBus> </gel:parse> <core:catch var="exception"> <sql:query var="req"><![CDATA[ Select NVL ((SELECT X_ATT_VALUE FROM ODF_CA_X_SO_TECH_CONF WHERE X_ATT_ATTRIBUTE_ID = 'hostClarity'), 'NA') hostClarity, NVL ((SELECT X_ATT_VALUE FROM ODF_CA_X_SO_TECH_CONF WHERE X_ATT_ATTRIBUTE_ID = 'loginClarity'), 'NA') loginClarity, NVL ((SELECT X_ATT_VALUE FROM ODF_CA_X_SO_TECH_CONF WHERE X_ATT_ATTRIBUTE_ID = 'passClarity'), 'NA') passClarity, NVL ((SELECT X_ATT_VALUE FROM ODF_CA_X_SO_TECH_CONF WHERE X_ATT_ATTRIBUTE_ID = 'REFOG_OBS_FileName'), 'NA') fileName, NVL ((SELECT X_ATT_VALUE FROM ODF_CA_X_SO_TECH_CONF WHERE X_ATT_ATTRIBUTE_ID = 'REFOG_OBS_FilePath'), 'NA') filePath From Dual ]]></sql:query> </core:catch> <core:choose> <core:when test="${exception != null}"> <gel:log level="error" message="[-] SQL error"/> <core:set value="1" var="errorFlag"/> <core:if test="${logLevel ge 1}"> <gel:log category="SQL" level="info" message="${exception}"/> </core:if> </core:when> <core:otherwise> <core:if test="${req.rowCount !=0}"> <core:forEach items="${req.rowsByIndex}" trim="true" var="confRow"> <core:if test="${confRow[0] != null}"> <core:set value="${confRow[0]}" var="hostClarity"/> <core:set value="${confRow[1]}" var="loginClarity"/> <core:set value="${confRow[2]}" var="passClarity"/> <core:set value="${confRow[3]}" var="fileName"/> <core:set value="${confRow[4]}" var="filePath"/> </core:if> </core:forEach> </core:if> </core:otherwise> </core:choose> <core:if test="${logLevel ge 1}"> <core:choose> <core:when test="${hostClarity.compareTo('NA') == 0}"> <gel:log category="HOST" level="ERROR" message="[-] Connexion parameter ERROR (hostClarity not set)."/> <core:set value="1" var="errorFlag"/> </core:when> <core:otherwise> <gel:log category="HOST" level="info" message="Host found: ${hostClarity}"/> </core:otherwise> </core:choose> </core:if> <core:if test="${logLevel ge 1}"> <core:choose> <core:when test="${loginClarity.compareTo('NA') == 0}"> <gel:log category="HOST" level="ERROR" message="[-] Connexion parameter ERROR (loginClarity not set)."/> <core:set value="1" var="errorFlag"/> </core:when> <core:otherwise> <gel:log category="HOST" level="info" message="Xog user found: ${loginClarity}"/> </core:otherwise> </core:choose> </core:if> <core:if test="${logLevel ge 1}"> <core:choose> <core:when test="${passClarity.compareTo('NA') == 0}"> <gel:log category="HOST" level="ERROR" message="[-] Connexion parameter ERROR (passClarity not set)."/> <core:set value="1" var="errorFlag"/> </core:when> <core:otherwise> <gel:log category="HOST" level="info" message="Xog user password found: ${passClarity}"/> </core:otherwise> </core:choose> </core:if> <core:if test="${logLevel ge 3}"> <gel:log category="XOG" level="info" message="Connecting to ${hostClarity}"/> </core:if> <core:catch var="exception"> <soap:invoke endpoint="${hostClarity}/niku/xog" var="auth"> <soap:message> <soapenv:Envelope> <soapenv:Header/> <soapenv:Body> <xog:Login> <xog:Username>${loginClarity}</xog:Username> <xog:Password>${passClarity}</xog:Password> </xog:Login> </soapenv:Body> </soapenv:Envelope> </soap:message> </soap:invoke> </core:catch> <core:choose> <core:when test="${exception != null}"> <gel:log level="error" message="[-] Can't connect to ${hostClarity}."/> <core:set value="1" var="errorFlag"/> <core:if test="${logLevel ge 1}"> <gel:log category="SOAP" level="info" message="${exception}"/> </core:if> </core:when> <core:otherwise> <gel:set asString="true" select="$auth//xog:SessionID/text()" var="sessionID"/> <core:choose> <core:when test="${sessionID == null}"> <gel:log level="error" message="[-] Identification error. Please check login and pasword."/> <core:set value="1" var="errorFlag"/> </core:when> <core:otherwise> <core:if test="${logLevel ge 3}"> <gel:log category="XOG" level="info" message="Connected to ${hostClarity}"/> </core:if> <core:if test="${logLevel ge 2}"> <gel:log category="SQL" level="info" message="Starting query"/> </core:if> <!-- Start custom script here --> <!-- Lecture du fichier CSV --> <core:catch var="exception"> <file:readFile delimiter=";" embedded="false" fileName="${filePath}/${fileName}" var="v_fichier_entree"/> </core:catch> <core:choose> <core:when test="${exception != null}"> <gel:log level="error" message="[-] Read File Error"/> <core:set value="1" var="errorFlag"/> <core:if test="${logLevel ge 1}"> <gel:log category="FILE" level="info" message="Erreur de lecture du fichier: ${exception}"/> <core:set var="message" value="Erreur de lecture du fichier: ${exception}"/> <core:set var="type" value="ERROR"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:when> <core:otherwise> <!-- Nombre de departements à traiter = Nbre de ligne du fichier--> <core:set var="sizeFile" value="${v_fichier_entree.size()}"/> <gel:log category="FILE" level="INFO" message="Nombre de lignes dans le fichier = ${sizeFile}"/> <core:set var="message" value="Nombre de lignes dans le fichier lu = ${sizeFile}"/> <core:set var="type" value="INFO"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> <core:if test="${v_fichier_entree.size() !=0}"> <core:forEach begin="0" indexVar="i" items="${v_fichier_entree.rows}" trim="false" var="row"> <core:choose> <core:when test="${i eq 0}"> <!-- Lecture de l'entête du fichier --> <gel:log category="FILE" level="info" message="Traitement du fichier: version :${row[0]}; Date extraction : ${row[1]}; Code action : ${row[2]}; Code application : ${row[3]}; Nombre de lignes : ${row[4]}; Nom du fichier : ${row[5]};"/> <core:set var="message" value="Traitement du fichier: version :${row[0]}; Date extraction : ${row[1]}; Code action : ${row[2]}; Code application : ${row[3]}; Nombre de lignes : ${row[4]}; Nom du fichier : ${row[5]};"/> <core:set var="type" value="INFO"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:when> <core:when test="${i eq 1}"> <!-- Test des noms des colonnes --> <core:if test="${row[0]!='ID_UO' || row[1]!='UO_NOM_COURT_FR' || row[2]!='UO_NOM_FR' || row[3]!='UO_DESC' || row[4]!='UO_ID_MNG' || row[5]!='UO_ID_PARNT' || row[6]!='UO_LVL' || row[7]!='CD_ACTION'}"> <gel:log level="ERROR" message="[-] Read File Error"/> <core:set value="1" var="errorFlag"/> <core:if test="${logLevel ge 1}"> <gel:log category="FILE" level="INFO" message="Les colonnes du fichier ne correspondent pas aux colonnes attendues."/> <core:set var="message" value="Les colonnes du fichier ne correspondent pas aux colonnes attendues."/> <core:set var="type" value="ERROR"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:if> </core:when> <core:otherwise> <!-- Début traitement du fichier --> <core:if test="${errorFlag != 1}"> <core:set value="${row[0]}" var="Dept_Code"/> <core:set value="${row[1]}" var="Short_Desc"/> <core:set value="${row[2]}" var="Long_Desc"/> <core:set value="${row[3]}" var="Desc"/> <core:set value="${row[4]}" var="Mngr_ID"/> <core:set value="${row[5]}" var="Parent_ID"/> <core:set value="${row[6]}" var="Level"/> <core:set value="${row[7]}" var="CodeAction"/> <core:set value="1" var="modificationOK"/> <core:set value="1" var="creationOK"/> <gel:log category="FILE" level="INFO" message="Traitement de donnes : Code action : ${CodeAction}; Code département : ${Dept_Code}; Nom département : ${Short_Desc}; Libellé Long : ${Long_Desc}; Description : ${Desc}; Manager ID : ${Mngr_ID}; Département parent : ${Parent_ID}; Niveau : ${Level};"/> <!-- Test department ID--> <core:catch var="exception"> <sql:query var="reqDep"><![CDATA[ select dep.id from departments dep where dep.departcode= '${Dept_Code}' ]]> </sql:query> </core:catch> <core:choose> <core:when test="${exception != null}"> <gel:log level="error" message="[-] SQL error"/> <core:set value="1" var="errorFlag"/> <core:if test="${logLevel ge 1}"> <gel:log category="SQL" level="info" message="${exception}"/> <core:set var="message" value="Ereur SQL : ${exception}"/> <core:set var="type" value="ERROR"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:when> <core:otherwise> <core:choose> <!-- Dans le cas d'une modification, tester si le département à modifier existe déjà --> <core:when test="${CodeAction == 'U' }"> <core:set value="1" var="modificationOK"/> <core:if test="${reqDep.rowCount == 0}"> <gel:log level="info" message="[-] DATA error"/> <core:set value="0" var="modificationOK"/> <core:if test="${logLevel ge 1}"> <gel:log category="DATA" level="info" message="Erreur Modification : Le département ${Dept_Code} n'existe pas."/> <core:set var="message" value="Erreur Modification : Le département ${Dept_Code} n'existe pas."/> <core:set var="type" value="ALERTE"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:if> </core:when> <!-- Dans le cas d'une suppression, tester si le département à modifier existe déjà --> <core:when test="${CodeAction == 'D' }"> <core:choose> <core:when test="${reqDep.rowCount == 0}"> <gel:log level="info" message="[-] DATA error"/> <core:if test="${logLevel ge 1}"> <gel:log category="DATA" level="info" message="Erreur de suppression : Le département ${Dept_Code} n'existe pas."/> <core:set var="message" value="Erreur de suppression : Le département ${Dept_Code} n'existe pas."/> <core:set var="type" value="ALERTE"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:when> <core:otherwise> <core:if test="${logLevel ge 1}"> <gel:log category="DATA" level="info" message="Le département ${Dept_Code} doit être supprimé"/> <core:set var="message" value="Le département ${Dept_Code} doit être supprimé."/> <core:set var="type" value="ACTION"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:otherwise> </core:choose> </core:when> <core:when test="${CodeAction == 'I' }"> <core:set value="1" var="creationOK"/> <!-- Dans le cas d'une création, tester si le département n'existe pas déjà --> <core:if test="${reqDep.rowCount != 0}"> <gel:log level="info" message="[-] DATA error"/> <core:set value="0" var="creationOK"/> <core:if test="${logLevel ge 1}"> <gel:log category="DATA" level="info" message="Erreur de création : Le département ${Dept_Code} existe déjà."/> <core:set var="message" value="Erreur de création : Le département ${Dept_Code} existe déjà."/> <core:set var="type" value="ALERTE"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:if> </core:when> </core:choose> </core:otherwise> </core:choose> <!--Que ça soit pour une modification ou une creation, on récupere les informations du parent--> <core:if test="${modificationOK != 0 and creationOK !=0}"> <gel:log level="info" message="Traitement DATA"/> <core:catch var="exception"> <sql:query var="reqDepData"><![CDATA[ select dep.obs_unit_id,dep.departcode, dep.shortdesc,ocd.x_dept_long_desc, dep.description, sr.unique_name Manager, parentDep.departcode ParentCode, ent.entity Entity from odf_ca_department ocd,entity ent,departments dep left outer join departments parentDep on parentDep.id=dep.parent_department_id left outer join srm_resources sr on sr.user_id= dep.department_manager_id where ocd.id=dep.id and ent.id=dep.entity_id and dep.departcode= '${Parent_ID}' ]]> </sql:query> </core:catch> <core:choose> <core:when test="${exception != null}"> <gel:log level="error" message="[-] SQL error"/> <core:set value="1" var="errorFlag"/> <core:if test="${logLevel ge 1}"> <gel:log category="SQL" level="info" message="${exception}"/> <core:set var="message" value="Erreur SQL : ${exception}"/> <core:set var="type" value="ERROR"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:when> <core:otherwise> <core:choose> <core:when test="${reqDepData.rowCount == 0}"> <gel:log level="info" message="[-] DATA error"/> <core:set value="1" var="modificationKO"/> <core:if test="${logLevel ge 1}"> <gel:log category="DATA" level="info" message="Erreur de traitement sur le département ${Dept_Code} : Le département parent ${Parent_ID} n'existe pas."/> <core:set var="message" value="Erreur de traitement sur le département ${Dept_Code} : Le département parent ${Parent_ID} n'existe pas."/> <core:set var="type" value="ALERTE"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:when> <core:otherwise> <!-- Test sur le Manager et remonte d'alerte au cas où il n'existe pas--> <core:catch var="exception"> <sql:query var="reqMngr"><![CDATA[ select id from srm_resources where unique_name='${Mngr_ID}' ]]> </sql:query> </core:catch> <core:choose> <core:when test="${exception != null}"> <gel:log level="error" message="[-] SQL error"/> <core:set value="1" var="errorFlag"/> <core:if test="${logLevel ge 1}"> <gel:log category="SQL" level="info" message="${exception}"/> <core:set var="message" value="Erreur SQL : ${exception}"/> <core:set var="type" value="ERROR"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:when> <core:otherwise> <core:if test="${reqMngr.rowCount == 0}"> <core:if test="${logLevel ge 1}"> <gel:log category="DATA" level="info" message="Veuillez renseigner la ressource ${Mngr_ID} en tant que responsable du département ${Dept_Code}."/> <core:set var="message" value="Veuillez renseigner la ressource ${Mngr_ID} en tant que responsable du département ${Dept_Code}."/> <core:set var="type" value="ACTION"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:if> </core:otherwise> </core:choose> <!-- Contruction of Department XOG--> <gel:parse var="v_XOG_DEP_HIER"> <NikuDataBus xsi:noNamespaceSchemaLocation="../xsd/nikuxog_department.xsd" xmlns:xsi="www.w3.org/.../XMLSchema-instance"> <Header version="13.1" objectType="department" externalSource="NIKU" action="write"/> <Departments/> </NikuDataBus> </gel:parse> <core:forEach items="${reqDepData.rowsByIndex}" trim="true" var="rowDep"> <core:if test="${rowDep[0] != null}"> <core:set value="${rowDep[1]}" var="pDept_Code"/> <core:set value="${rowDep[2]}" var="pShort_Desc"/> <core:set value="${rowDep[3]}" var="pLong_Desc"/> <core:set value="${rowDep[4]}" var="pDesc"/> <core:set value="${rowDep[5]}" var="pMngr_ID"/> <core:set value="${rowDep[6]}" var="pParent_ID"/> <core:set value="${rowDep[7]}" var="pEntity"/> <gel:parse var="v_XOG_DEP_INSTANCE"> <Department short_description="${pShort_Desc}" entity="${pEntity}" dept_manager_code="${pMngr_ID}" department_code="${pDept_Code}" > <Description><![CDATA[${pDesc}]]></Description> <CustomInformation> <ColumnValue name="x_dept_long_desc">${pLong_Desc}</ColumnValue> </CustomInformation> <Department short_description="${Short_Desc}" entity="${pEntity}" dept_manager_code="${Mngr_ID}" department_code="${Dept_Code}" > <Description><![CDATA[${Desc}]]></Description> <CustomInformation> <ColumnValue name="x_dept_long_desc">${Long_Desc}</ColumnValue> </CustomInformation> </Department> </Department> </gel:parse> <gel:set value="${v_XOG_DEP_INSTANCE}" select="$v_XOG_DEP_HIER/NikuDataBus/Departments" insert="true"/> </core:if> </core:forEach> <!-- Envoie du XOG --> <core:if test="${logLevel ge 3}"> <gel:log category="XOG" level="info" message="Sending XOG"/> </core:if> <core:catch var="exception"> <soap:invoke endpoint="${hostClarity}/niku/xog" var="output"> <soap:message> <soapenv:Envelope> <soapenv:Header> <xog:Auth> <xog:SessionID>${sessionID}</xog:SessionID> </xog:Auth> </soapenv:Header> <soapenv:Body> <gel:include select="$v_XOG_DEP_HIER"/> </soapenv:Body> </soapenv:Envelope> </soap:message> </soap:invoke> </core:catch> <core:choose> <core:when test="${exception != null}"> <gel:log level="info" message="[-] Error while sending XOG"/> <core:if test="${logLevel ge 1}"> <gel:log category="SOAP" level="info" message="Erreur lors de l'envoie du XOG pour le departement ${Dept_Code} : ${exception}"/> <core:set var="message" value="Erreur lors de l'envoie du XOG pour le departement ${Dept_Code} : ${exception}"/> <core:set var="type" value="ERROR"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:when> <core:otherwise> <core:if test="${logLevel ge 3}"> <gel:log category="XOG" level="info" message="XOG envoyé avec succès."/> </core:if> <gel:set asString="true" select="$output//XOGOutput/ErrorInformation/Exception/text()" var="DocErrTxt1"/> <gel:set asString="true" select="$output//XOGOutput/Records/Record/ErrorInformation/Exception/text()" var="DocErrTxt2"/> <gel:set asString="true" select="$output//XOGOutput/Records/Record/ErrorInformation/Description/text()" var="DocErrTxt3"/> <gel:set asString="true" select="$output" var="docOut"/> <gel:set asString="true" select="$v_XOG_DEP_HIER" var="xogIn"/> <core:if test="${logLevel ge 6}"> <gel:log category="XOG" level="info" message="${xogIn}"/> </core:if> </core:otherwise> </core:choose> <core:choose> <core:when test="${DocErrTxt1 != null || DocErrTxt2 != null || ( DocErrTxt3 != null and Error_type != 'WARNING') }"> <gel:log level="info" message="[-] error while including XOG"/> <core:if test="${logLevel ge 3}"> <core:if test="${DocErrTxt1 != null}"> <gel:log category="XOG" level="info" message="Erreur lors de la création/modification du département ${Dept_Code} : ${DocErrTxt1}"/> <core:set var="message" value="Erreur lors de la création/modification du département ${Dept_Code} : ${DocErrTxt1}"/> <core:set var="type" value="ERROR"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> <core:if test="${DocErrTxt2 != null}"> <gel:log category="XOG" level="info" message="Erreur lors de la création/modification du département ${Dept_Code} : ${DocErrTxt2}"/> <core:set var="message" value="Erreur lors de la création/modification du département ${Dept_Code} : ${DocErrTxt2}"/> <core:set var="type" value="ERROR"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> <core:if test="${DocErrTxt3 != null}"> <gel:log category="XOG" level="info" message="Erreur lors de la création/modification du département ${Dept_Code} : ${DocErrTxt3}"/> <core:set var="message" value="Erreur lors de la création/modification du département ${Dept_Code} : ${DocErrTxt3}"/> <core:set var="type" value="ERROR"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:if> </core:when> <core:otherwise> <core:if test="${logLevel ge 3}"> <core:if test="${DocErrTxt3 != null and Error_type == 'WARNING'}"> <core:if test="${logLevel ge 3}"> <gel:log category="XOG" level="info" message="Alerte lors de la création/modification du département ${Dept_Code} : ${DocErrTxt3}"/> <core:set var="message" value="Alerte lors de la création/modification du département ${Dept_Code} : ${DocErrTxt3}"/> <core:set var="type" value="ALERTE"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:if> </core:if> <core:choose> <core:when test="${CodeAction == 'I' }"> <core:set var="message" value="Création du département ${Dept_Code} avec succès."/> <core:set var="type" value="INFO"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:when> <core:when test="${CodeAction == 'U' }"> <core:set var="message" value="Modification du département ${Dept_Code} avec succès."/> <core:set var="type" value="INFO"/> <gel:parse var="LOG_DETAILS_XOG"> <instance instanceCode="${ID}" objectCode="x_log_interf_detail" parentObjectCode="x_log_interf_ort"> <CustomInformation> <ColumnValue name="name">${ID}</ColumnValue> <ColumnValue name="code">${ID}</ColumnValue> <ColumnValue name="partition_code">NIKU.ROOT</ColumnValue> <ColumnValue name="x_id_num">${ID}</ColumnValue> <ColumnValue name="x_type">${type}</ColumnValue> <ColumnValue name="x_message">${message}</ColumnValue> </CustomInformation> </instance> </gel:parse> <gel:set value="${LOG_DETAILS_XOG}" select="$LOG_XOG/NikuDataBus/customObjectInstances/instance/CustomInformation" insert="true"/> <core:set var="ID" value="${ID + 1}"/> </core:when> </core:choose> <gel:log category="XOG" level="info" message="${docOut}"/> </core:if> </core:otherwise> </core:choose> </core:otherwise> </core:choose> </core:otherwise> </core:choose> </core:if> </core:if> </core:otherwise> </core:choose> </core:forEach> </core:if> </core:otherwise> </core:choose> <!-- Envoie du XOG LOG --> <core:if test="${logLevel ge 3}"> <gel:log category="XOG" level="info" message="Sending LOG XOG"/> </core:if> <core:catch var="exception"> <soap:invoke endpoint="${hostClarity}/niku/xog" var="output"> <soap:message> <soapenv:Envelope> <soapenv:Header> <xog:Auth> <xog:SessionID>${sessionID}</xog:SessionID> </xog:Auth> </soapenv:Header> <soapenv:Body> <gel:include select="$LOG_XOG"/> </soapenv:Body> </soapenv:Envelope> </soap:message> </soap:invoke> </core:catch> <core:choose> <core:when test="${exception != null}"> <gel:log level="info" message="[-] Error while sending LOG XOG"/> <core:if test="${logLevel ge 1}"> <gel:log category="SOAP" level="info" message="${exception}"/> </core:if> </core:when> <core:otherwise> <core:if test="${logLevel ge 3}"> <gel:log category="XOG" level="info" message="LOG XOG sent successfully"/> </core:if> <gel:set asString="true" select="$output//XOGOutput/ErrorInformation/Exception/text()" var="DocErrTxt1"/> <gel:set asString="true" select="$output//XOGOutput/Records/Record/ErrorInformation/Exception/text()" var="DocErrTxt2"/> <gel:set asString="true" select="$output//XOGOutput/Records/Record/ErrorInformation/Description/text()" var="DocErrTxt3"/> <gel:set asString="true" select="$output//XOGOutput/Records/Record/ErrorInformation/Severity/text()" var="Error_type"/> <gel:set asString="true" select="$output" var="docOut"/> <gel:set asString="true" select="$LOG_XOG" var="xogIn"/> <core:if test="${logLevel ge 6}"> <gel:log category="XOG" level="info" message="${xogIn}"/> </core:if> </core:otherwise> </core:choose> <core:choose> <core:when test="${DocErrTxt1 != null || DocErrTxt2 != null || ( DocErrTxt3 != null and Error_type != 'WARNING') }"> <gel:log level="info" message="[-] error while including LOG XOG"/> <core:if test="${logLevel ge 3}"> <core:if test="${DocErrTxt1 != null}"> <gel:log category="XOG" level="info" message="${DocErrTxt1}"/> </core:if> <core:if test="${DocErrTxt2 != null}"> <gel:log category="XOG" level="info" message="${DocErrTxt2}"/> </core:if> <core:if test="${DocErrTxt3 != null}"> <gel:log category="XOG" level="info" message="${DocErrTxt3}"/> </core:if> </core:if> </core:when> <core:otherwise> <core:if test="${logLevel ge 3}"> <core:if test="${DocErrTxt3 != null and Error_type == 'WARNING'}"> <core:if test="${logLevel ge 3}"> <gel:log category="XOG" level="info" message="${DocErrTxt3}"/> </core:if> </core:if> <gel:log category="XOG" level="info" message="LOG XOG included successfully"/> <gel:log category="XOG" level="info" message="${docOut}"/> </core:if> </core:otherwise> </core:choose> <!-- End of custom script --> </core:otherwise> </core:choose> </core:otherwise> </core:choose> <core:if test="${logLevel ge 3}"> <gel:log category="XOG" level="info" message="Disconnecting"/> </core:if> <core:catch var="exception"> <soap:invoke endpoint="${hostClarity}/niku/xog" var="result"> <soap:message> <soapenv:Envelope> <soapenv:Header> <xog:Auth> <xog:SessionID>${sessionID}</xog:SessionID> </xog:Auth> </soapenv:Header> <soapenv:Body> <xog:Logout/> </soapenv:Body> </soapenv:Envelope> </soap:message> </soap:invoke> </core:catch> <core:choose> <core:when test="${exception != null}"> <gel:log level="error" message="[-] Error while disconnecting from ${hostClarity}."/> <core:set value="1" var="errorFlag"/> <core:if test="${logLevel ge 1}"> <gel:log category="SOAP" level="info" message="${exception}"/> </core:if> </core:when> <core:otherwise> <core:if test="${logLevel ge 3}"> <gel:log category="XOG" level="info" message="Disconnected"/> </core:if> </core:otherwise> </core:choose> <core:if test="${logLevel ge 0}"> <core:choose> <core:when test="${errorFlag == 1}"> <gel:log category="PROC" level="error" message="Finished with errors"/> </core:when> <core:otherwise> <gel:log category="PROC" level="info" message="Finished without errors"/> </core:otherwise> </core:choose> </core:if> </gel:script> </scriptText> <scriptParameter isSecure="false" name="logLevel" value="10"/> </customScript>
I need to hide the query data (CDATA) from my gel script by calling this block with another gel script or any other way...
Please any suggestion ? thanks