Evolution #209
Mis à jour par Sébastien BON il y a environ un mois
24/sept./25 12:42 PM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;!image-20250924-101940.png|thumbnail! -------------------- 07/oct./25 2:02 PM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Daniel Nous n’avons pas évoqué cette demande lors de notre point : avez-vous pu avancer sur l’analyse ? A l’instant, je viens de tester en Prod et donc plantage à nouveau puis OK à 14h00 (je suis sur site) La table contient 21 millions d’enregistrements à ce jour !image-20251007-120121.png|width=417,height=754,alt="image-20251007-120121.png"! Je surveille l'évolution pour voir s’il y a ou non une purge à un moment donné Cordialement Isabelle -------------------- 07/oct./25 4:59 PM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Bonjour Isabelle, nous venons de déployer la modification dans l’environnement de recette avant déploiement sur la prod. Désolé le développeur avait bien fait son travail mais de mon côté je n’avais pas déployé sur vos environnements. Te serait-il possible de tester le process d’import des absences de bout en bout et ainsi vérifier si l’étape finale de la purge s’est bien passée. En recette il y a le même problème que sur la prod. En revanche j’espère que tu n’auras pas de timeout… car sinon tu ne peux avoir accès à l’interface d’import des absences… Merci à toi. Cordialement. Daniel. -------------------- 07/oct./25 5:13 PM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Modification apportée par David Marchal => suppression de la clause {color:#ff5630}where f.xtd_status = ‘DONE’ {color}dans les requêtes => [^Interface Calendriers Ressources - Etape de Purge.xml] [^Interface Calendriers Ressources - Etape de Purge.txt] <g:script xmlns:g="jelly:com.niku.union.gel.GELTagLibrary" xmlns:j="jelly:core" xmlns:s="jelly:sql" xmlns:u="jelly:util" xmlns:xsi="[http://www.w3.org/2001/XMLSchema-instance|http://www.w3.org/2001/XMLSchema-instance]"> <!-- OBJECTIVE - Ressource Leave File : Purge Old CSV files HISTORY - 2025-09-24 : CoPrime (DMA) - Status - 2023-01-24 : CoPrime (DMA) - File Name - 2022-12-07 : CoPrime (DMA) - Standalone, Macif - 2022-12-05 : CoPrime (DMA) - Resource Leave, Util Text - 2021-01-25 : CoPrime (DMA) - SaaS, Data Format - 2016-09-12 : CoPrime (DMA) - Init BUSINESS RULES - Folder Path where to find CSV files is stored in configuration (xtd_configuration) / parameter (xtd_parameter) objects : - See Configuration xtd_res_leave_file - An error occurs if parameters are null - Use of class java.io.File to parse folder and files - Do not use file:readFile : problem to reset variable, instead use class java.io.BufferedReader - If CSV file lastModified() date is older than the 'purge_days' parameter, then delete it - Be aware, java.util.Date.lastModified() returns date in milliseconds - Use jelly:util:loadText instead of BufferedReader MAPPING RULES - Data is stored in object xtd_res_leave_ent (Master object : xtd_res_leave_file) STAND BY - Download commons-jelly-tags-ant-1.1.jar (Use of Ant) - [http://commons.apache.org/proper/commons-jelly/libs/ant/downloads.html|http://commons.apache.org/proper/commons-jelly/libs/ant/downloads.html|smart-link] TESTED ON - Oracle 11.x, 12.x - Clarity 16.x - RHEL 6.x, 7.x --> <!--******************* 0. Init 0.1. Set DB Source 0.2. Get Parameters 0.3. Get Current Date *_-->_* *_<!-- 0.1. Set DB Source -->_* *_<g:log level="INFO"><![CDATA[0.1. Set DB Source]]></g:log>_* *_<g:setDataSource dbId="Niku"/>_* *_<!-- 0.2. Get Parameters -->_* *_<g:log level="INFO"><![CDATA[0.2. Get Parameters]]></g:log>_* *_<s:query var="q_param"><![CDATA[_* *_with v_parameter as_* *_(select p.code,_* *_p.x_string_* *_from odf_ca_x_parameter p_* *_inner join odf_ca_x_config c on_* [*_c.id_*|http://c.id] *_= p.odf_parent_id_* *_where c.code = 'xtd_res_leave_file')_* *_select (select x_string from v_parameter where code = 'path') as path,_* *_(select x_string from v_parameter where code = 'name') as name,_* *_(select to_number(x_string) from v_parameter where code = 'purge_days') as purge_days_* *_from dual]]></s:query>_* *_<j:set value="${q_param.rows.0}" var="v_param"/>_* *_<!-- Test Parameters Validity -->_* *_<j:choose>_* *_<j:when test="${v_param.path == null or v_param.path.length() == 0}">_* *_<g:log level="WARN"><![CDATA[Parameter xtd_res_leave_file.path is null, see Configuration !]]></g:log>_* *_</j:when>_* *_<j:when test="${v_param.name == null or v_param.name.length() == 0}">_* *_<g:log level="WARN"><![CDATA[Parameter xtd_res_leave_file.name is null, see Configuration !]]></g:log>_* *_</j:when>_* *_<j:when test="${v_param.purge_days == null}">_* *_<g:log level="WARN"><![CDATA[Parameter xtd_res_leave_file.purge_days is null, see Configuration !]]></g:log>_* *_</j:when>_* *_<j:otherwise>_* *_<g:log level="INFO"><![CDATA[Input Path for Resource Leave Files : ${v_param.path}_* *_Input Name for Resource Leave Files : ${v_param.name}_* *_Purge CSV files in Days (Older Than) : ${v_param.purge_days}]]></g:log>_* *_<!-- 0.3. Get Current Date -->_* *_<g:log level="INFO"><![CDATA[0.3. Get Current Date]]></g:log>_* *_<g:formatDate format="yyyyMMdd'T'HHmmss" stringVar="v_now"/>_* *_<j:new className="java.util.Date" var="v_now_util"/>_* *_<j:invoke method="getTime" on="${v_now_util}" var="v_now_milliseconds"/>_* *_<g:log level="INFO"><![CDATA[yyyyMMddTHHmmss : ${v_now}_* *_Milliseconds : ${v_now_milliseconds}]]></g:log>_* *_<!--_**************** 1. Main 1.1. Init Class Constructor java.io.File 1.2. Parse CSV Files in Folder 1.3. Delete Elements in Database ******************************************--> <!-- 1.1. Init Class Constructor java.io.File(String pathname) --> <g:log level="INFO"><![CDATA[1.1. Init Class Constructor java.io.File(String pathname)]]></g:log> <j:new className="java.io.File" var="v_folder"> <j:arg type="java.lang.String" value="${v_param.path}"/> </j:new> <g:log level="INFO"><![CDATA[Folder : ${v_folder.toString()}]]></g:log> <!-- Test Directory Validity --> <g:log level="INFO"><![CDATA[Test Directory Validity]]></g:log> <j:choose> <j:when test="${!v_folder.exists()}"> <g:log level="ERROR"><![CDATA[Path ${v_param.path} does not Exist !]]></g:log> </j:when> <j:when test="${!v_folder.isDirectory()}"> <g:log level="ERROR"><![CDATA[Path ${v_param.path} is not a Directory !]]></g:log> </j:when> <j:when test="${!v_folder.canRead()}"> <g:log level="ERROR"><![CDATA[Directory ${v_param.path} is not Readable (See OS Administrator) !]]></g:log> </j:when> <j:when test="${!v_folder.canWrite()}"> <g:log level="ERROR"><![CDATA[Directory ${v_param.path} is not Writable (See OS Administrator) !]]></g:log> </j:when> <j:otherwise> <!-- 1.2. Parse CSV Resource Leave Files in Folder --> <g:log level="INFO"><![CDATA[1.2. Parse CSV Resource Leave Files in Folder]]></g:log> <j:forEach items="${v_folder.listFiles()}" var="v_file"> <j:set value="${v_file.toString()}" var="v_file_str"/> <j:set value="${v_file_str.substring(v_file_str.lastIndexOf('.'))}" var="v_extension"/> <j:set value="${v_file_str.substring(1, v_param.name.length())}" var="v_start"/> <j:set value="${(v_now_milliseconds - v_file.lastModified()) / (1000 * 60 * 60 * 24)}" var="v_lastModified_days"/> <j:if test="${v_start.equals(v_param.name) and v_extension.equals('.done') and (v_lastModified_days - v_param.purge_days) > 0}"> <g:log level="INFO"><![CDATA[Delete File : File : ${v_file_str} lastModified in Days : ${v_lastModified_days} Purge in Days : ${v_param.purge_days} Difference is positive : ${v_lastModified_days - v_param.purge_days}]]></g:log> <j:invoke method="delete" on="${v_file}"/> </j:if> </j:forEach> </j:otherwise> </j:choose> <!-- 1.3. Delete Elements in Database --> <g:log level="INFO"><![CDATA[1.3. Delete Elements in Database]]></g:log> <s:update escapeText="false"><![CDATA[declare --Specific exception v_exception exception; pragma exception_init(v_exception, -20000); v_cr varchar2(1) := chr(10); v_purge_days integer; v_msg varchar2(2000); --Format message debug / error procedure m(p_in in varchar2) is begin if v_msg is null then v_msg := p_in; else v_msg := v_msg || v_cr || p_in; end if; end m; --Raises ORA-20000 error with Specific Message procedure err(p_msg in varchar2) is begin raise_application_error(-20000, p_msg); end err; --Flush File procedure file_del(p_id in odf_ca_xtd_res_leave_file.id%type) is begin --Processes --process_del(p_object_type => p_object_type, p_odf_parent_id => p_odf_parent_id); --Rights delete from cmn_sec_assgnd_obj_perm where right_id in (select id from cmn_sec_groups where right_type = 'xtd_res_leave_file') and object_instance_id = p_id; --User, Group (odf.deleteObjectInstanceRights) delete from cmn_sec_assgnd_right where right_id in (select id from cmn_sec_groups where right_type = 'xtd_res_leave_file') and instance_id = p_id; --OBS delete from prj_obs_associations where nls_upper(table_name) = nls_upper('xtd_res_leave_file') and record_id = p_id; --Page delete from cmn_instance_pages where object_type = 'xtd_res_leave_file' and object_instance_id = p_id; delete from cmn_pages where page_type_code = 'tabPage' and principal_type = 'xtd_res_leave_file' and principal_id = p_id; --Multi Valued Lookups delete from odf_multi_valued_lookups where object = 'xtd_res_leave_file' and pk_id = p_id; --odf.deleteLockedAttributes_set delete from odf_locked_attributes where object_code = 'xtd_res_leave_file' and odf_pk = p_id; --Instance delete from odf_ca_xtd_res_leave_file where id = p_id; --Audit update odf_aud_obj_inst_context set last_updated_date = sysdate, last_updated_by = 1 where object_code = 'xtd_res_leave_file' and object_instance_id = p_id; --End commit; end file_del; --Flush Entries from Parent ID procedure entry_del(p_odf_parent_id in odf_ca_xtd_res_leave_ent.odf_parent_id%type) is begin --Processes --process_del(p_object_type => p_object_type, p_odf_parent_id => p_odf_parent_id); --Rights delete from cmn_sec_assgnd_obj_perm where right_id in (select id from cmn_sec_groups where right_type = 'xtd_res_leave_ent') and object_instance_id in (select id from odf_ca_xtd_res_leave_ent {noformat} where odf_parent_id = p_odf_parent_id); --User, Group (odf.deleteObjectInstanceRights) delete from cmn_sec_assgnd_right where right_id in (select id from cmn_sec_groups where right_type = 'xtd_res_leave_ent') and instance_id in (select id from odf_ca_xtd_res_leave_ent where odf_parent_id = p_odf_parent_id); --OBS delete from prj_obs_associations where nls_upper(table_name) = nls_upper('xtd_res_leave_ent') and record_id in (select id from odf_ca_xtd_res_leave_ent where odf_parent_id = p_odf_parent_id); --Page delete from cmn_instance_pages where object_type = 'xtd_res_leave_ent' and object_instance_id in (select id from odf_ca_xtd_res_leave_ent where odf_parent_id = p_odf_parent_id); delete from cmn_pages where page_type_code = 'tabPage' and principal_type = 'xtd_res_leave_ent' and principal_id in (select id from odf_ca_xtd_res_leave_ent where odf_parent_id = p_odf_parent_id); --Multi Valued Lookups delete from odf_multi_valued_lookups where object = 'xtd_res_leave_ent' and pk_id in (select id from odf_ca_xtd_res_leave_ent where odf_parent_id = p_odf_parent_id); --odf.deleteLockedAttributes_set delete from odf_locked_attributes where object_code = 'xtd_res_leave_ent' and odf_pk in (select id from odf_ca_xtd_res_leave_ent where odf_parent_id = p_odf_parent_id); --Instance delete from odf_ca_xtd_res_leave_ent where id in (select id from odf_ca_xtd_res_leave_ent where odf_parent_id = p_odf_parent_id); --Audit update odf_aud_obj_inst_context set last_updated_date = sysdate, last_updated_by = 1 where object_code = 'xtd_res_leave_ent' and object_instance_id in (select id from odf_ca_xtd_res_leave_ent where odf_parent_id = p_odf_parent_id); --End commit;{noformat} end entry_del; begin --Get Purge Days m('Get Parameter purge_days in Configuration INTERFACE'); begin select to_number(p.x_string) into v_purge_days from odf_ca_x_parameter p inner join odf_ca_x_config c on [c.id|http://c.id] = p.odf_parent_id where c.code = 'xtd_res_leave_file' and p.code = 'purge_days'; exception when no_data_found then err('Parameter xtd_res_leave_file.purge_days is missing, see Configuration !'); when others then err('Error while checking xtd_res_leave_file.purge_days parameter !' || v_cr || sqlerrm); end; if v_purge_days is null then err('Parameter xtd_res_leave_file.path is null, see Configuration !'); end if; m('Parameter = ' || v_purge_days); m('Object xtd_res_leave_file'); --Entries for v_file in (select [f.id|http://f.id] from odf_ca_xtd_res_leave_file f {noformat} where (sysdate - f.last_updated_date) > v_purge_days) loop entry_del(v_file.id);{noformat} end loop; --Delete file for v_file in (select [f.id|http://f.id] from odf_ca_xtd_res_leave_file f {noformat} where (sysdate - f.last_updated_date) > v_purge_days and not exists (select 1 from odf_ca_xtd_res_leave_ent e where e.odf_parent_id = f.id)) loop file_del(v_file.id);{noformat} end loop; exception when v_exception then raise; when others then err(v_msg || v_cr || sqlerrm); end;]]></s:update> </j:otherwise> </j:choose> </g:script> -------------------- 07/oct./25 5:19 PM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Bonjour Daniel Je me bloque un créneau pour tester demain matin : je vais demander un nouveau fichier “extraction so-planning” à la date du jour (ou d’hier ) . Si impossible, je testerai avec un fichier réalisé manuellement. Cordialement Isabelle -------------------- 07/oct./25 5:32 PM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Daniel, Je suis en Time out sur la recette ce soir (idem en DEV-VT) . Mais peut être que ce sera mieux demain (?) . J’ai demandé la dépose d’un fichier en recette et en DEV-VT . Est-ce possible de déployer votre correctif en DEV-VT également ? Je jonglerai entre les environnements si besoin ? Cordialement Isabelle -------------------- 07/oct./25 5:48 PM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Isabelle, j’ai déployé sur la dev vt. Tu peux tester. Cordialement. Daniel. -------------------- 07/oct./25 6:41 PM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Daniel Merci pour ton action Je vais suspendre le processus de chargement pour la nuit prochaine sur DEV-VT , ce qui laissera un nouvel axe pour tests ultérieurs. !image-20251007-164001.png|width=1494,height=112,alt="image-20251007-164001.png"! Un fichier “Calendrier MFE” a été déposé sur les répertoires des 2 environnements donc au passage la nuit prochaine, nous devrions avoir une suppression d’enregistrements en recette , si j’ai bien compris , donc théoriquement, je devrai pouvoir y accéder (nous étions à 17 millions d’enregistrement mercredi dernier - date du refresh ) . En DEV-VT , rien de plus , je serai en “time out” probablement. Mais si concluant en recette, en relançant le job, je devrai avoir accès J’espère que mon analyse est la bonne . Etape 1 : voir ce qui va se passer en recette cette nuit Merci pour tes actions A suivre demain Cordialement Isabelle -------------------- 08/oct./25 9:45 AM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Bonjour Daniel Je n’arrive pas à accéder à l’Interface Calendrier Ressources , malgré de nombreuses tentatives depuis 9h ce matin. !image-20251008-074231.png|width=338,height=234,alt="image-20251008-074231.png"! Difficile de voir ce qui a pu se passer. A priori, le processus s’est correctement déroulé (fichier MFE uniquement) . !image-20251008-073518.png|width=1460,height=126,alt="image-20251008-073518.png"! Est-ce possible de ton côté de voir le nombre d’enregistrements dans les tables ? Au 25/09, nous étions à 17 304 008 enregistrements : l' environnement de recette a été mis à jour avec la version PROD du 30/09 au soir . Côté Environnement DEV-VT, le processus ne s’est pas exécuté du fait que je l’ai mis en “Suspendu” . Par contre, impossible également d’accéder à l’interface ce matin. !image-20251008-074356.png|width=326,height=230,alt="image-20251008-074356.png"! Je reste à disposition si besoin Cordialement Isabelle -------------------- 08/oct./25 10:33 AM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Bonjour Isabelle, serait-il possible de relancer le processus en recette ou en dév ? Merci à toi. Daniel. -------------------- 08/oct./25 10:53 AM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Bonjour Daniel J’ai un fichier à dispo en DEV-VT . Je peux relancer si besoin le processus . As-tu des actions à réaliser en pré-requis sur cet environnement ? Cordialement Isabelle -------------------- 08/oct./25 10:58 AM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Daniel, sur l' Environnement de recette, je viens de demander la dépose d’un nouveau fichier si possible . Pas de retour sur le délai pour l’instant Cordialement Isabelle -------------------- 08/oct./25 11:22 AM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Isabelle, oui en dev-vt tu peux lancer le processus si tu as un fichier à dispo. Merci à toi. Daniel. -------------------- 08/oct./25 11:28 AM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Daniel Processus lancé !image-20251008-092807.png|width=1474,height=120,alt="image-20251008-092807.png"! Cordialement Isabelle -------------------- 08/oct./25 12:09 PM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Daniel Processus terminé en DEV-VT avec avertissement - Durée 11h27 Début ==> 11h38 purge ==> 11h50 fin - !image-20251008-095554.png|width=1497,height=98,alt="image-20251008-095554.png"! +Le plus+ : je peux à nouveau accéder à l’interface Calendrier 🙂 +Le moins+ : le statut du fichier est “en erreur” avec un message En comparant avec le dernier chargement MFE, nous sommes à l’identique , +excepté+ pour les “Entrées en cours de saisie” !image-20251008-100044.png|width=1476,height=217,alt="image-20251008-100044.png"! En nombre total d’Enregistrement, nous sommes à 8 millions , donc loin des 17 millions du 25/09. Il y a donc eu des “purges” . Je te laisse analyser les résultats par rapport aux évolutions apportées sur le traitement Je reste à disposition si besoin cet après midi (Un nouveau fichier a été déposé en recette ) Pour info, en Prod, je n’accède plus à l’interface … Cordialement Isabelle -------------------- 08/oct./25 2:08 PM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Bonjour Isabelle, oui la purge a bien eu lieu en dev vt. Quand on regarde on voit qu'on a gardé les 30 derniers jours = soit 30 jours * 300 000 enregistrements = -+ 8 millions d’enregistrements. Je dirai le compte est bon pour la dev vt ce qui nous permet d’avoir accès à l’interface Calendrier. Toutefois il y a un message d’erreur (voir ci-dessous). J’ai l’impression, en l’absence de Julien, qu’il s’agit d’un problème de certificat non à jour sur l’environnement de dév vt (à vérifier par tes équipes ou bien par Julien dès qu’il a un peu de temps). !image-20251008-120429.png|width=1551,height=472,alt="image-20251008-120429.png"! Si tu as la possibilité de lancer le processus d’import du fichier Calendrier sur la recette cela nous permettrait de vérifier qu’en dehors du certificat tout est bon. Cordialement à toi. Daniel. -------------------- 08/oct./25 2:29 PM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Daniel, Je viens de lancer en Recette mais je crains d’avoir le même problème de certificat. !image-20251008-122907.png|width=1465,height=270,alt="image-20251008-122907.png"! Je contacte Alexandre / Laurent pour vérification sur nos environnements. L’action a été faite en novembre 2024 sur la recette, ce qui me surprend …. Cordialement Isabelle -------------------- 08/oct./25 3:03 PM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Daniel Message d’erreur lié à un problème de droit sur le fichier a priori. Process à nouveau lancé à 14h59 en recette . A suivre Cordialement Isabelle -------------------- 08/oct./25 3:41 PM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Daniel Le processus est terminé en recette, sans erreur !image-20251008-133301.png|width=1474,height=136,alt="image-20251008-133301.png"! J’ai à nouveau accès à l' Interface Calendrier des ressources . Les résultats semblent conformes à ce que nous avons pu avoir la semaine dernière en “PROD” !image-20251008-133817.png|width=969,height=235,alt="image-20251008-133817.png"! Le nombre d’enregistrements est à moins de 7 millions !image-20251008-134023.png|width=302,height=530,alt="image-20251008-134023.png"! Cordialement Isabelle -------------------- 08/oct./25 4:34 PM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Isabelle, C’est une bonne nouvelle. Souhaites-tu que je déploie en prod la modification ? Cordialement. Daniel. -------------------- 08/oct./25 5:22 PM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Daniel C’est un peu rapide …. mais OK pour le déploiement en PROD : de toute façon, nous n’accédons plus à l’Interface en PROD donc il faut faire quelque chose. Nous aviserons demain . Par contre, pourras-tu mettre à jour le dossier de paramétrage ou au moins me donner la(es) règle(s) appliquée(s) ? Je te remercie pour ta disponibilité ce jour. Bonne soirée Cordialement Isabelle -------------------- 08/oct./25 5:33 PM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Isabelle, Si tu penses que c’est un peu rapide on peut attendre en effet. Je ne connaissais pas le degré d’urgence pour corriger. On peut attendre demain donc. Ou plus tard… 😉 Cordialement. Daniel. -------------------- 08/oct./25 5:49 PM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Isabelle, est-ce que je peux mettre en prod la modif demain matin ? Il est 18h et je préfère le faire avec du temps devant moi au cas où… Merci à toi. Cordialement. Daniel. -------------------- 09/oct./25 9:20 AM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Bonjour Daniel Je te prie de m’excuser car je n’ai pas eu ton appel d’hier soir (j'étais sur le chemin du retour) Donc, OK pour un déploiement ce jour en PROD et donc vérification demain . Ce matin : je n’ai pas accès à l’Interface Calendrier en PROD Je vais relancer le processus en DEV/VT pour vérifier que le message d’erreur n’existe plus (droit sur le fichier mis à disposition) Cordialement Isabelle -------------------- 09/oct./25 9:38 AM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Bonjour Isabelle, la mise en production de la modification a été faite ce matin. Je vais rédiger ce qui a été modifié. Cordialement. Daniel. -------------------- 09/oct./25 10:27 AM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;[^Interface Calendriers Ressources - Etape de Purge (f7a0e16d-c9a2-4e44-8a5f-b50a702a5441).txt] -------------------- 09/oct./25 10:49 AM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Bonjour Daniel Je te remercie pour tes actions. Je me bloque le créneau demain matin pour les vérifications. Nous avons probablement un problème de certificat en DEV-VT car j’ai relancé plusieurs processus qui tombent en “erreur système” . J’ai fait la même action en “Formation” et pas d’erreur . Les experts techniques analysent le problème. A suivre Cordialement Isabelle -------------------- 09/oct./25 1:51 PM;557058:b540bcd7-66be-439e-8afd-731d1d31a227;Bonjour Isabelle, comme convenu tu trouveras en pièce jointe le document décrivant les modification apportées. [^CoPrime - MACIF - Fichier Importer les calendriers - v1.0.docx] Cordialement à toi. Daniel. -------------------- 10/oct./25 8:46 AM;qm:ff74ceed-c671-416d-a8c9-129553068c4c:0d7178ff-2dbc-4bca-b1d6-615d94676d10;Bonjour Daniel Le chargement des calendriers s’est déroulé correctement la nuit dernière en PROD. J’accède à nouveau à l’interface Calendrier : nous avons un peu plus de 9 millions d’enregistrements !image-20251010-064403.png|width=770,height=576,alt="image-20251010-064403.png"! Il me reste donc à “débloquer” la DEV-VT (mais cela semble être un problème de certificat) + valider ton document Cordialement Isabelle