# Exporter des données métier depuis le module

**URL:** <https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446>\
**Category:** Support\
**Tags:** v4-0\
**Created:** [June 19, 2020, 9:58am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446 "2020-06-19T09:58:22Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![fabrice](https://community.simplicite.io/letter_avatar_proxy/v4/letter/f/5fc32e/32.png) [@fabrice](https://community.simplicite.io/u/fabrice)\
**Post date:** [June 19, 2020, 9:58am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/1 "2020-06-19T09:58:22Z")

</div>

Bonjour,

Lorsque j’utilise la fonction “exporter les données” depuis le formulaire du module, Simplicité ne créé plus un xml nommé _data_… est-ce que la P24 a changé l’exportation des données?

Fabrice

---

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [June 19, 2020, 10:04am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/2 "2020-06-19T10:04:00Z")

</div>

A partir de la P24 les donnée sont gérées en DataSets:

 ![image](https://community.simplicite.io/uploads/default/original/2X/d/d4ecdec09f51e2bcc37949789d425ab2cef08ad7.png)

Attention les datasets font partie du commit Git des modules (on les retrouve sous forle de fichiers ZIP dans le répertoire `data`) , pour que vos repo Git ne grossissent pas abusivement veillez à faire le ménage régulièrement dans vos anciens dataset

---

<div class="post-metadata">

**Author:** ![fabrice](https://community.simplicite.io/letter_avatar_proxy/v4/letter/f/5fc32e/32.png) [@fabrice](https://community.simplicite.io/u/fabrice)\
**Post date:** [June 19, 2020, 10:21am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/3 "2020-06-19T10:21:04Z")

</div>

Je n’avais pas vu le nouvel onglet…  
Mais chez moi, il reste désespérément vide…

 ![image](https://community.simplicite.io/uploads/default/original/2X/c/c24ea7fdf7053789042d79cbf8650c2a7407d9c9.png)

Faut-il configurer quelque chose?

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [June 19, 2020, 10:33am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/4 "2020-06-19T10:33:34Z")

</div>

Il faut configurer les “ordres d’export” dans vos objets métier dont les data sont exportables.  
S’il est non renseigné rien est exporté.

Veillez à respecter un ordre cohérent avec vos foreign-keys = les objets terminaux en premier, puis les objets avec des références.

---

<div class="post-metadata">

**Author:** ![fabrice](https://community.simplicite.io/letter_avatar_proxy/v4/letter/f/5fc32e/32.png) [@fabrice](https://community.simplicite.io/u/fabrice)\
**Post date:** [June 19, 2020, 10:54am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/5 "2020-06-19T10:54:40Z")

</div>

l’ordre d’export est bien indiqué,

 ![image](https://community.simplicite.io/uploads/default/original/2X/4/4b2126ce35d4186841f58a72d3773c87a39a9736.png)

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [June 19, 2020, 12:28pm UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/6 "2020-06-19T12:28:17Z")

</div>

Dans ce cas ça devrait s’exporter. Y a-t-il des logs serveur ?

Votre copie d’écran montre des champs mal traduits en français (dt name, dt file au lieu de Nom et Fichier) comme si votre instance n’était pas bien à jour.

---

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [June 19, 2020, 12:35pm UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/7 "2020-06-19T12:35:00Z")

</div>

Et quid d’éventuels messages dans les logs ?

---

<div class="post-metadata">

**Author:** ![fabrice](https://community.simplicite.io/letter_avatar_proxy/v4/letter/f/5fc32e/32.png) [@fabrice](https://community.simplicite.io/u/fabrice)\
**Post date:** [June 19, 2020, 3:42pm UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/8 "2020-06-19T15:42:24Z")

</div>

pour les logs :

> 2020-06-19 17:35:03,569 ERROR [com.simplicite.util.ObjectDirect] SIMPLICITE|http://lsllcot01.lausanne.ch:20188||ECORED0001|system|com.simplicite.util.ObjectDirect|save||Erreur Dataset  
> org.postgresql.util.PSQLException: ERROR: null value in column “dt\_file” violates not-null constraint  
> Detail: Failing row contains (7, 2020-06-19 17:35:03, SOI\_0477, 2020-06-19 17:35:03, SOI\_0477, 61, CourrierDEJQ-data-20200619173503, null, Created by module’s data export on 2020-06-19 17:35:03).  
> at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2533)  
> at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2268)  
> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:313)  
> at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:448)  
> at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:369)  
> at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:159)  
> at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:125)  
> at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)  
> at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)  
> at com.simplicite.util.engine.DBAccess.update(DBAccess.java:1706)  
> at com.simplicite.util.engine.ObjectManager.create(ObjectManager.java:1844)  
> at com.simplicite.util.engine.ObjectManager.save(ObjectManager.java:2906)  
> at com.simplicite.util.ObjectDirect.save(ObjectDirect.java:441)  
> at com.simplicite.util.ObjectDB.save(ObjectDB.java:1135)  
> at com.simplicite.util.ObjectDB.save(ObjectDB.java:1122)  
> at com.simplicite.util.tools.BusinessObjectTool.create(BusinessObjectTool.java:326)  
> at com.simplicite.util.tools.BusinessObjectTool.validateAndCreate(BusinessObjectTool.java:381)  
> at com.simplicite.objects.System.Module.exportData(Module.java:746)  
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
> at java.lang.reflect.Method.invoke(Method.java:498)  
> at com.simplicite.util.engine.ObjectManager.invokeActionSync(ObjectManager.java:3718)  
> at com.simplicite.util.ObjectDirect.invokeAction(ObjectDirect.java:669)  
> at com.simplicite.util.ObjectDB.invokeAction(ObjectDB.java:1952)  
> at com.simplicite.util.ScriptedObjectDB.invokeAction(ScriptedObjectDB.java:1008)  
> at com.simplicite.webapp.tools.JSONServletTool.action(JSONServletTool.java:1577)  
> at com.simplicite.webapp.ObjectJson.action(ObjectJson.java:652)  
> at com.simplicite.webapp.tools.JSONServletTool.businessObjectService(JSONServletTool.java:590)  
> at com.simplicite.webapp.servlets.AbstractJSONServlet.service(AbstractJSONServlet.java:68)  
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at com.simplicite.webapp.filters.AuthMethodFilter.doFilter(AuthMethodFilter.java:137)  
> at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:37)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at com.simplicite.webapp.filters.RewriteFilter.doFilter(RewriteFilter.java:77)  
> at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:37)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)  
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)  
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)  
> at com.simplicite.tomcat.valves.APISessionValve.invoke(APISessionValve.java:191)  
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)  
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)  
> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)  
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)  
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)  
> at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)  
> at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)  
> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)  
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)  
> at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)  
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)  
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)  
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)  
> at java.lang.Thread.run(Thread.java:748)

pour la version :

> Status=OK  
> Version=4.0.P24  
> BuiltOn=2020-05-26 20:03 (revision a069f3c9496feed069f51158423237d1ece77297)

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [June 23, 2020, 8:15pm UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/9 "2020-06-23T20:15:27Z")

</div>

> [@fabrice](#):
>
> ERROR: null value in column “dt\_file” violates not-null constraint

Cette colonne est facultative, comment est-ce possible ?  
@scampano ça te dit quelque chose ?

---

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [June 23, 2020, 8:44pm UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/10 "2020-06-23T20:44:06Z")

</div>

Par ailleurs la cause initiale est sans doute en amont de ce pb d’écriture en base au moment de la constitution du fichier de data (car s’il n’y a pas de fichier - la colonne `dt_file` nulle - c’est qu’il y a un pb d’export).

Il doit donc y avoir d’autres stacktraces/erreurs dans les logs **avant** ce stacktrace d’écriture en base qui n’est à priori qu’une conséquence.

---

<div class="post-metadata">

**Author:** ![fabrice](https://community.simplicite.io/letter_avatar_proxy/v4/letter/f/5fc32e/32.png) [@fabrice](https://community.simplicite.io/u/fabrice)\
**Post date:** [June 24, 2020, 5:53am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/11 "2020-06-24T05:53:33Z")

</div>

ci-dessous le log system depuis ma connexion à l’instance jusqu’à l’export des données :

> 2020-06-24 07:42:42,646 ERROR [com.simplicite.util.ObjectDirect] SIMPLICITE|[http://lserveur.domaine](http://lserveur.domaine):xxxxx||ECORED0001|system|com.simplicite.util.ObjectDirect|save||Erreur Dataset  
> org.postgresql.util.PSQLException: ERROR: null value in column “dt\_file” violates not-null constraint  
> Detail: Failing row contains (10, 2020-06-24 07:42:42, xxxx, 2020-06-24 07:42:42, xxxx, 61, CourrierDEJQ-data-20200624074242, null, Created by module’s data export on 2020-06-24 07:42:42).  
> at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2533)  
> at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2268)  
> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:313)  
> at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:448)  
> at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:369)  
> at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:159)  
> at org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:125)  
> at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)  
> at org.apache.tomcat.dbcp.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)  
> at com.simplicite.util.engine.DBAccess.update(DBAccess.java:1706)  
> at com.simplicite.util.engine.ObjectManager.create(ObjectManager.java:1844)  
> at com.simplicite.util.engine.ObjectManager.save(ObjectManager.java:2906)  
> at com.simplicite.util.ObjectDirect.save(ObjectDirect.java:441)  
> at com.simplicite.util.ObjectDB.save(ObjectDB.java:1135)  
> at com.simplicite.util.ObjectDB.save(ObjectDB.java:1122)  
> at com.simplicite.util.tools.BusinessObjectTool.create(BusinessObjectTool.java:326)  
> at com.simplicite.util.tools.BusinessObjectTool.validateAndCreate(BusinessObjectTool.java:381)  
> at com.simplicite.objects.System.Module.exportData(Module.java:746)  
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
> at java.lang.reflect.Method.invoke(Method.java:498)  
> at com.simplicite.util.engine.ObjectManager.invokeActionSync(ObjectManager.java:3718)  
> at com.simplicite.util.ObjectDirect.invokeAction(ObjectDirect.java:669)  
> at com.simplicite.util.ObjectDB.invokeAction(ObjectDB.java:1952)  
> at com.simplicite.util.ScriptedObjectDB.invokeAction(ScriptedObjectDB.java:1008)  
> at com.simplicite.webapp.tools.JSONServletTool.action(JSONServletTool.java:1577)  
> at com.simplicite.webapp.ObjectJson.action(ObjectJson.java:652)  
> at com.simplicite.webapp.tools.JSONServletTool.businessObjectService(JSONServletTool.java:590)  
> at com.simplicite.webapp.servlets.AbstractJSONServlet.service(AbstractJSONServlet.java:68)  
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at com.simplicite.webapp.filters.AuthMethodFilter.doFilter(AuthMethodFilter.java:137)  
> at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:37)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at com.simplicite.webapp.filters.RewriteFilter.doFilter(RewriteFilter.java:77)  
> at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:37)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)  
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)  
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)  
> at com.simplicite.tomcat.valves.APISessionValve.invoke(APISessionValve.java:191)  
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)  
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)  
> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)  
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)  
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)  
> at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)  
> at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)  
> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)  
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)  
> at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)  
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)  
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)  
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)  
> at java.lang.Thread.run(Thread.java:748)  
> 2020-06-24 07:42:35,575 WARN [com.simplicite.util.ObjectCore] SIMPLICITE|[http://lserveur.domaine](http://lserveur.domaine):xxxxx||WARN|system|com.simplicite.util.ObjectCore|getTitle||Evénement: Deprecated method, please use Syntax error: use [VALUE:field] instead of deprecated [field] in expression .[sta\_state]  
> 2020-06-24 07:42:35,575 WARN [com.simplicite.util.ObjectCore] SIMPLICITE|[http://lserveur.domaine](http://lserveur.domaine):xxxxx||WARN|system|com.simplicite.util.ObjectCore|getTitle||Evénement: Deprecated method, please use Syntax error: use [VALUE:field] instead of deprecated [field] in expression [sta\_lovname].[sta\_state]  
> 2020-06-24 07:40:33,042 WARN [com.simplicite.util.ObjectCore] SIMPLICITE|[http://lserveur.domaine](http://lserveur.domaine):xxxxx||WARN|system|com.simplicite.util.ObjectCore|getTitle||Evénement: Deprecated method, please use Syntax error: use [VALUE:field] instead of deprecated [field] in expression .[sta\_state]  
> 2020-06-24 07:40:33,042 WARN [com.simplicite.util.ObjectCore] SIMPLICITE|[http://lserveur.domaine](http://lserveur.domaine):xxxxx||WARN|system|com.simplicite.util.ObjectCore|getTitle||Evénement: Deprecated method, please use Syntax error: use [VALUE:field] instead of deprecated [field] in expression [sta\_lovname].[sta\_state]  
> 2020-06-24 07:40:32,901 WARN [com.simplicite.util.ObjectCore] SIMPLICITE|[http://lserveur.domaine](http://lserveur.domaine):xxxxx||WARN|system|com.simplicite.util.ObjectCore|getTitle||Evénement: Deprecated method, please use Syntax error: use [VALUE:field] instead of deprecated [field] in expression .[sta\_state]  
> 2020-06-24 07:40:32,901 WARN [com.simplicite.util.ObjectCore] SIMPLICITE|[http://lserveur.domaine](http://lserveur.domaine):xxxxx||WARN|system|com.simplicite.util.ObjectCore|getTitle||Evénement: Deprecated method, please use Syntax error: use [VALUE:field] instead of deprecated [field] in expression [sta\_lovname].[sta\_state]  
> 2020-06-24 07:40:30,543 INFO [com.simplicite.util.tools.LicenseTool]

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [June 24, 2020, 7:32am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/12 "2020-06-24T07:32:53Z")

</div>

Le document est crée que si l’objet est créé, donc il y a un moment où la colonne est nulle, puis le document lui est rattaché.

A mon avis, c’est un vieux bug ou patch incomplet de l’objet DataSet (cf pb de traduction des champs).  
Il faut passer un ALTER sur votre base pour remettre la colonne en facultatif (via le DB Access).

Sur PG ça doit être comme ça :

`ALTER TABLE m_dataset ALTER COLUMN dt_file DROP NOT NULL`

---

<div class="post-metadata">

**Author:** ![fabrice](https://community.simplicite.io/letter_avatar_proxy/v4/letter/f/5fc32e/32.png) [@fabrice](https://community.simplicite.io/u/fabrice)\
**Post date:** [June 24, 2020, 7:45am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/13 "2020-06-24T07:45:05Z")

</div>

C’est parfait! après cette commande tout est rentré dans l’ordre. Les exports se font bien.

Merci

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [June 24, 2020, 7:52am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/14 "2020-06-24T07:52:08Z")

</div>

On va patcher ça car il se peut que d’autres instances dans cette version aient le problème.  
Merci pour les infos.

- Un champ peut être obligatoire de façon logique, mais il sera facultatif en base : la règle logique peut changer dynamiquement via hook, contraintes…
- Pour les champs documents, il y une référence croisée avec la table m\_document, donc la création se passe en 3 étapes : création du dataset sans doc, création de m\_document qui référence le row\_id du dataset, puis update du dataset pour pointer sur le row\_id du document

La colonne physique `dt_file` a dû être livré initialement par erreur en obligatoire, puis redevenue facultative dans le setup… je ne vois pas d’autres explications.

---

<div class="post-metadata">

**Author:** ![fabrice](https://community.simplicite.io/letter_avatar_proxy/v4/letter/f/5fc32e/32.png) [@fabrice](https://community.simplicite.io/u/fabrice)\
**Post date:** [July 13, 2020, 6:47am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/15 "2020-07-13T06:47:47Z")

</div>

Bonjour,

Je relance ce post pour un problème d’export également. J’ai un module qui n’exporte pas les données.

J’ai saisi un ordre d’export, mais rien n’y fait : ` Error during module PFO data export: null`

logs système :

> 2020-07-13 08:37:39,754 ERROR [com.simplicite.objects.System.Module] SIMPLICITE|http://serveur||ERROR|SOI\_xxxx|com.simplicite.objects.System.Module|exportData||Evénement: Error during module PFO data export  
> java.lang.NullPointerException  
> at com.simplicite.objects.System.Module.exportData(Module.java:719)  
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)  
> at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  
> at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)  
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)  
> at com.simplicite.util.engine.ObjectManager.invokeActionSync(ObjectManager.java:3718)  
> at com.simplicite.util.ObjectDirect.invokeAction(ObjectDirect.java:669)  
> at com.simplicite.util.ObjectDB.invokeAction(ObjectDB.java:1952)  
> at com.simplicite.util.ScriptedObjectDB.invokeAction(ScriptedObjectDB.java:1008)  
> at com.simplicite.webapp.tools.JSONServletTool.action(JSONServletTool.java:1577)  
> at com.simplicite.webapp.ObjectJson.action(ObjectJson.java:652)  
> at com.simplicite.webapp.tools.JSONServletTool.businessObjectService(JSONServletTool.java:590)  
> at com.simplicite.webapp.servlets.AbstractJSONServlet.service(AbstractJSONServlet.java:68)  
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at com.simplicite.webapp.filters.AuthMethodFilter.doFilter(AuthMethodFilter.java:137)  
> at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:37)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at com.simplicite.webapp.filters.RewriteFilter.doFilter(RewriteFilter.java:77)  
> at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:37)  
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)  
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)  
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)  
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)  
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)  
> at com.simplicite.tomcat.valves.APISessionValve.invoke(APISessionValve.java:191)  
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)  
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)  
> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)  
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)  
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)  
> at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:373)  
> at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)  
> at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)  
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1590)  
> at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)  
> at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)  
> at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)  
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)  
> at java.base/java.lang.Thread.run(Thread.java:834)

version : `Simplicité version4.0 patch level P24Built on2020-05-26 20:03 (revision a069f3c9496feed069f51158423237d1ece77297)`

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [July 15, 2020, 1:32pm UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/16 "2020-07-15T13:32:55Z")

</div>

Cette erreur signale juste que l’export ne retourne rien.  
Il faut essayer de voir s’il y a une autre exception Java en amont.

- Pouvez vous exporter un autre module avec le même user ?
- Le user SOI\_xxxx a-t-il les droits de lecture sur le Module et sur tous les objets du module ?

---

<div class="post-metadata">

**Author:** ![fabrice](https://community.simplicite.io/letter_avatar_proxy/v4/letter/f/5fc32e/32.png) [@fabrice](https://community.simplicite.io/u/fabrice)\
**Post date:** [July 16, 2020, 7:01am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/17 "2020-07-16T07:01:57Z")

</div>

Bonjour François,

oui je peux exporter tous les autres modules avec ce user et il a les droits CUD sur tous les objets.

Est-ce que ça pourrait être un problème d’ordre d’export?

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [July 16, 2020, 7:37am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/18 "2020-07-16T07:37:09Z")

</div>

Il y a un null pointer du fait que le service d’export termine dans un cas non prévu. On peut renforcer le code pour indiquer “erreur pas d’export” à la place du null, mais cela ne solutionnera pas votre export, ni la raison pour laquelle un objet ne s’exporte pas.

Seuls les logs (simplicité ou catalina en amont ou “cause by”) peuvent nous en dire plus.  
Essayez de voir d’autres points de sortie en erreur. Sans logs complète nous sommes dans le noir.

---

<div class="post-metadata">

**Author:** ![fabrice](https://community.simplicite.io/letter_avatar_proxy/v4/letter/f/5fc32e/32.png) [@fabrice](https://community.simplicite.io/u/fabrice)\
**Post date:** [July 16, 2020, 8:08am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/19 "2020-07-16T08:08:08Z")

</div>

via les logs system il n’y a rien d’autre que ce message. Je vais voir pour trouver des logs via SIM.

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [July 16, 2020, 10:32am UTC](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446/20 "2020-07-16T10:32:41Z")

</div>

@scampano  
Est ce que ce problème te dit quelque chose ?

[Next page](https://community.simplicite.io/t/exporter-des-donnees-metier-depuis-le-module/2446.md?page=2)
