# How to get a document of a pool in a subprocess ?

**URL:** <https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354>\
**Category:** Q&A\
**Created:** [8 April 2014 13:09 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354 "2014-04-08T13:09:27Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![fabien.puchol](https://avatars.discourse-cdn.com/v4/letter/f/e5b9ba/32.png) [@fabien.puchol](https://community.ofelia.com/u/fabien.puchol)\
**Post date:** [8 April 2014 13:09 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/1 "2014-04-08T13:09:27Z")

</div>

Hi everyone,  
I have a document declared in my pool, and i want to get this document in a subprocess of this pool.  
I tried some weird things to do this with groovy scripts, but not really successful.  
Someone can explain me how to do this ?

Cheers.

PS: I’m working on Bonita 6.2.5

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/community_bonitasoft/original/2X/6/6b7b18c0478f2645369e82e009b65e3b97f2cc12.svg) [@system](https://community.ofelia.com/u/system)\
**Post date:** [9 April 2014 14:59 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/2 "2014-04-09T14:59:46Z")

</div>

Hi Fabien.  
The most simply way to achive your goal is the following:

1. add a document instance in the main process. let’s call it “mainDoc”
2. add a document instance in sub.process. let’s call it “subDoc”
3. in the call activity add a task Long variable (docId) that will contain mainDoc ID. add this code to store the value in the variable default value  
  
apiAccessor.getProcessAPI().getLastDocument(processInstanceId, “mainDoc”).getId();  
4. add a Long variable in sub-process. (sub\_docId)
5. map the docId with sub\_docId using mapping feature in call activity
6. add an automatic task as first task in sub\_process that will get the mainDoc, create a new DocumentValue and assign it to subDoc. Let me exaplaine more in details:  
add a new operation in the automatic task.  
  
import org.bonitasoft.engine.bpm.document.Document;  
import org.bonitasoft.engine.bpm.document.DocumentValue;

Document doc=apiAccessor.getProcessAPI().getDocument(sub\_docId);  
DocumentValue docValue=new DocumentValue(apiAccessor.getProcessAPI().getDocumentContent(doc.getContentStorageId()), doc.getContentMimeType(), doc.getContentFileName());  
return docValue;  
  
use “Set document” as kind of operation and assign it to subDoc.

That’s all.  
Let me know if it solve your problem.  
Ciao

---

<div class="post-metadata">

**Author:** ![k27](https://avatars.discourse-cdn.com/v4/letter/k/8e7dd6/32.png) [@k27](https://community.ofelia.com/u/k27)\
**Post date:** [9 April 2014 15:54 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/3 "2014-04-09T15:54:12Z")

</div>

Bonjour,

Je travaille sur Bonita 6.2.5 , n’étant pas encore très avancée dans mon projet.

En effet, je ne vois pas comment définir un sélecteur d’acteur, comme dans Bonita 5.10, et de même je n’arrive pas à créer des acteurs.

Quelqu’un peut-il m’aider?

Merci d’avance.

---

<div class="post-metadata">

**Author:** ![azouzisameh](https://avatars.discourse-cdn.com/v4/letter/a/dc4da7/32.png) [@azouzisameh](https://community.ofelia.com/u/azouzisameh)\
**Post date:** [7 March 2016 19:34 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/4 "2016-03-07T19:34:02Z")

</div>

Pardon, j’ai pas trouvé “Assigned to data”, j’ai seulement “Associé à la variable” ou “Associé a l’input du contrat”.  
et est ce que je suis le même démarche pour le fichier ou quoi?  
En fait dans le fichier ci\_joint: [https://www.dropbox.com/home?preview=url-1.0.bos](https://www.dropbox.com/home?preview=url-1.0.bos) un simple exemple que j’ai développé, est il possible de montrer ce que je demande sur mon exemple? ou donner moi un exemple que je le suivre? Merci pour votre aide.

Cordialement;

---

<div class="post-metadata">

**Author:** ![claudio.taragnolini](https://avatars.discourse-cdn.com/v4/letter/c/b9e5f3/32.png) [@claudio.taragnolini](https://community.ofelia.com/u/claudio.taragnolini)\
**Post date:** [14 April 2017 08:42 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/5 "2017-04-14T08:42:42Z")

</div>

Hi, that’s nice it works if i am managing with a single document but if i am managing multiple variable that’s does not work. any solution?

---

<div class="post-metadata">

**Author:** ![fabien.puchol](https://avatars.discourse-cdn.com/v4/letter/f/e5b9ba/32.png) [@fabien.puchol](https://community.ofelia.com/u/fabien.puchol)\
**Post date:** [9 April 2014 15:18 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/6 "2014-04-09T15:18:19Z")

</div>

Thanks a lot domenico, that works.  
Bye.

---

<div class="post-metadata">

**Author:** ![fabien.puchol](https://avatars.discourse-cdn.com/v4/letter/f/e5b9ba/32.png) [@fabien.puchol](https://community.ofelia.com/u/fabien.puchol)\
**Post date:** [9 April 2014 15:18 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/7 "2014-04-09T15:18:19Z")

</div>

Thanks a lot domenico, that works.  
Bye.

---

<div class="post-metadata">

**Author:** ![mobf.ctb](https://avatars.discourse-cdn.com/v4/letter/m/a3d4f5/32.png) [@mobf.ctb](https://community.ofelia.com/u/mobf.ctb)\
**Post date:** [13 October 2014 19:24 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/8 "2014-10-13T19:24:39Z")

</div>

Hello, gentlemens

I don’t understand where I do the assignment. I followed the instructions and doesn’t worked.  
When I tried to assign the script to the SubDoc appeared the message that the variables are incompatible.

Best Regards  
Mario Borges

---

<div class="post-metadata">

**Author:** ![foufoukahloun](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@foufoukahloun](https://community.ofelia.com/u/foufoukahloun)\
**Post date:** [19 January 2016 23:45 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/9 "2016-01-19T23:45:44Z")

</div>

can you help me pleaseeeeeee because I have found the same problem ![image][image]

[https://www.dropbox.com/s/gvmz664pl141ilp/Capture1.PNG?dl=0](https://www.dropbox.com/s/gvmz664pl141ilp/Capture1.PNG?dl=0)  
[https://www.dropbox.com/s/heiwceva26z0j64/Capture2.PNG?dl=0](https://www.dropbox.com/s/heiwceva26z0j64/Capture2.PNG?dl=0)

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/community_bonitasoft/original/2X/6/6b7b18c0478f2645369e82e009b65e3b97f2cc12.svg) [@system](https://community.ofelia.com/u/system)\
**Post date:** [22 January 2016 11:10 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/10 "2016-01-22T11:10:20Z")

</div>

You can get the working example here: [https://github.com/Bonitasoft-Community/parent-child-shared-document/releases](https://github.com/Bonitasoft-Community/parent-child-shared-document/releases)

Note that in your case issue is that return type of the Groovy script expression is set to java.lang.String instead of org.bonitasoft.engine.bpm.document.DocumentValue

---

<div class="post-metadata">

**Author:** ![foufoukahloun](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@foufoukahloun](https://community.ofelia.com/u/foufoukahloun)\
**Post date:** [23 January 2016 13:14 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/11 "2016-01-23T13:14:35Z")

</div>

Thanks a lot antonie, this example works.  
thanks you verry much for your help  
Bye.  
Faouzia

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/community_bonitasoft/original/2X/6/6b7b18c0478f2645369e82e009b65e3b97f2cc12.svg) [@system](https://community.ofelia.com/u/system)\
**Post date:** [9 April 2014 16:05 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/12 "2014-04-09T16:05:03Z")

</div>

Hi.  
Could you open a new question?  
This is related to completly different topic.  
I’ll be able to give you an answer asap.  
Ciao.

---

<div class="post-metadata">

**Author:** ![foufoukahloun](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@foufoukahloun](https://community.ofelia.com/u/foufoukahloun)\
**Post date:** [19 January 2016 23:47 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/13 "2016-01-19T23:47:04Z")

</div>

j’ai entrain de tester cette solution sur bonita 6.3.1 en fait j’ai besoin de transfert des fichiers entre deux pool  
toujours un message de comptabilité pour 3eme etape  
je pense le problème dans le type de retour ,qu’est ce que je dois mettre comme valeur de retour pour cette fenêtre

[https://www.dropbox.com/s/gvmz664pl141ilp/Capture1.PNG?dl=0](https://www.dropbox.com/s/gvmz664pl141ilp/Capture1.PNG?dl=0)  
[https://www.dropbox.com/s/heiwceva26z0j64/Capture2.PNG?dl=0](https://www.dropbox.com/s/heiwceva26z0j64/Capture2.PNG?dl=0)

SVP urgentttttttt aider moi pour que je puisse avancer dans mon travail  
merci d’avance

---

<div class="post-metadata">

**Author:** ![foufoukahloun](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@foufoukahloun](https://community.ofelia.com/u/foufoukahloun)\
**Post date:** [20 January 2016 15:04 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/14 "2016-01-20T15:04:20Z")

</div>

Please can you help me for my example  
[https://www.dropbox.com/s/7b350b25cdan99h/fichier\_lettre-1.0.bos?dl=0](https://www.dropbox.com/s/7b350b25cdan99h/fichier_lettre-1.0.bos?dl=0)  
thank you so much

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/community_bonitasoft/original/2X/6/6b7b18c0478f2645369e82e009b65e3b97f2cc12.svg) [@system](https://community.ofelia.com/u/system)\
**Post date:** [22 January 2016 11:12 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/15 "2016-01-22T11:12:41Z")

</div>

I shared a solution that is compatible with Bonita BPM 7.1.5.

I would highly recommend to upgrade from version 6 to version 7 in order to benefit from v7 new features.

---

<div class="post-metadata">

**Author:** ![foufoukahloun](https://avatars.discourse-cdn.com/v4/letter/f/8edcca/32.png) [@foufoukahloun](https://community.ofelia.com/u/foufoukahloun)\
**Post date:** [23 January 2016 11:50 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/16 "2016-01-23T11:50:37Z")

</div>

merciii bien antoine pour votre aide;  
donc je pense que mon problème que la solution est incompatible avec mon projet qui a été réalisé en 6.3.1  
je pourrai faire une mise a jour de mon version vers 7.1 et je veux essayer une autre fois cette solution  
merci beaucoup pour votre aide  
cordialement  
faouzia .kh

---

<div class="post-metadata">

**Author:** ![azouzisameh](https://avatars.discourse-cdn.com/v4/letter/a/dc4da7/32.png) [@azouzisameh](https://community.ofelia.com/u/azouzisameh)\
**Post date:** [3 March 2016 21:42 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/17 "2016-03-03T21:42:10Z")

</div>

Comment je fait dans le cas de transfert d’une adresse URL entre deux pool?

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/community_bonitasoft/original/2X/6/6b7b18c0478f2645369e82e009b65e3b97f2cc12.svg) [@system](https://community.ofelia.com/u/system)\
**Post date:** [7 March 2016 14:58 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/18 "2016-03-07T14:58:41Z")

</div>

Une URL peut être traitée comme une donnée de type texte.

Si cette information est stockée dans une business data les deux pool doivent déclarer une référence à la business data. Dans le mapping des données (configurer sur la call activity) il faut utiliser l’option “Assigned to Data”.

---

<div class="post-metadata">

**Author:** ![azouzisameh](https://avatars.discourse-cdn.com/v4/letter/a/dc4da7/32.png) [@azouzisameh](https://community.ofelia.com/u/azouzisameh)\
**Post date:** [7 March 2016 19:37 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/19 "2016-03-07T19:37:26Z")

</div>

Pardon, j’ai pas trouvé “Assigned to data”, j’ai seulement “Associé à la variable” ou “Associé a l’input du contrat”.  
et est ce que je suis le même démarche pour le fichier ou quoi?  
En fait dans le fichier ci\_joint: [https://www.dropbox.com/home?preview=url-1.0.bos](https://www.dropbox.com/home?preview=url-1.0.bos) un simple exemple que j’ai développé, est il possible de montrer ce que je demande sur mon exemple? ou donner moi un exemple que je le suivre? Merci pour votre aide.

Cordialement;

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/community_bonitasoft/original/2X/6/6b7b18c0478f2645369e82e009b65e3b97f2cc12.svg) [@system](https://community.ofelia.com/u/system)\
**Post date:** [8 March 2016 09:08 UTC](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354/20 "2016-03-08T09:08:37Z")

</div>

“Associé à la variable” est l’option à utiliser. Si cela ne fonctionne pas je pourrais étudier votre exemple.

Cordialement

[Next page](https://community.ofelia.com/t/how-to-get-a-document-of-a-pool-in-a-subprocess/4354.md?page=2)
