# Accessing Doument Contract in bonita Script

**URL:** <https://community.ofelia.com/t/accessing-doument-contract-in-bonita-script/7947>\
**Category:** Q&A\
**Created:** [12 November 2016 20:37 UTC](https://community.ofelia.com/t/accessing-doument-contract-in-bonita-script/7947 "2016-11-12T20:37:33Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mainamaan77](https://avatars.discourse-cdn.com/v4/letter/m/9e8a1a/32.png) [@mainamaan77](https://community.ofelia.com/u/mainamaan77)\
**Post date:** [12 November 2016 20:37 UTC](https://community.ofelia.com/t/accessing-doument-contract-in-bonita-script/7947/1 "2016-11-12T20:37:33Z")

</div>

I want to access document contract which i have created on step named “Step Upload” in example version 7.1.5-1.0.1 at link [http://community.ofelia.com/project/file-upload-and-download-process-example](http://community.ofelia.com/project/file-upload-and-download-process-example) but its not working i am only trying to access contract using following code:

import org.bonitasoft.engine.bpm.contract.FileInputValue  
import org.bonitasoft.engine.bpm.document.Document  
import org.bonitasoft.engine.bpm.document.DocumentValue

// If we receive a new document value we use it  
if(myDocumentContract != null) {  
return myDocumentContract  
}

When i am trying to submit form its not working by giving error “Error submitting form”. Sorry if i have asked something stupid, but i am new to bonita.

---

<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:** [15 November 2016 21:56 UTC](https://community.ofelia.com/t/accessing-doument-contract-in-bonita-script/7947/2 "2016-11-15T21:56:08Z")

</div>

Hi,

I actually updated the example recently. Please get the new version. The implementation is more efficient.

Cheers

---

<div class="post-metadata">

**Author:** ![mario.mayen](https://avatars.discourse-cdn.com/v4/letter/m/9fc348/32.png) [@mario.mayen](https://community.ofelia.com/u/mario.mayen)\
**Post date:** [20 January 2020 17:45 UTC](https://community.ofelia.com/t/accessing-doument-contract-in-bonita-script/7947/3 "2020-01-20T17:45:18Z")

</div>

import java.util.logging.Logger;

void debug(Logger logger,String Texto)  
{  
&nbsp;debug( logger,Texto, true);  
}

void debug(Logger logger,String Texto, boolean isdebug)  
{  
&nbsp; &nbsp;if (isdebug)  
&nbsp;logger.warning("Interfaz Lote Pago Interno: "+Texto);  
}

Logger logger = Logger.getLogger("com.digicel.PP");

debug(logger, "Archivo " + archivoLote.getContentFileName());

byte[] contenido  
String sId;  
sId=archivoLote.url.substring(archivoLote.url.indexOf("contentStorageId=") + 17);  
debug(logger, "contentStorageId=" + sId);

contenido=apiAccessor.processAPI.getDocumentContent(sId);  
debug(logger, "Despues de asignar contenido. &nbsp;Tamaño: " &nbsp;+ contenido.size().toString());  
String lineasArc = new String(contenido);  
debug(logger, "lineasArchivo: " &nbsp;+ lineasArc);  
java.util.List lineas;  
String[] detallePago;

lineas = lineasArc.split("\\r?\\n");  
debug(logger, "despues del split ");  
for (lineaPago in lineas) {  
&nbsp;&nbsp; &nbsp;detallePago = lineaPago.tokenize("|");  
&nbsp;&nbsp; &nbsp;debug(logger, "BAN: " &nbsp;+ detallePago[0] + " Nombre Cliente: " + detallePago[1] + " Monto: " + detallePago[2]);  
}

return lineas
