Skip to content

P6 Core 5.19.0

Release date: Friday, 1st October, 2018

Documentation can be found here.


Audit providers

New tools to audit Platform 6 functions have been implemented. Have a look at the documentation.

Stored procedures service

A new service named Stored Procedures has been created. It will replace the current web app on the old user interface, which will be removed in the next release.

To be consistent with the other services, a stored procedure is no more characterised by an entity and a name, but by an identifier.

Therefore, after the migration each existing stored procedures will have a new identifier:

  • for UserDefined stored procedure, the identifier is the old name.
  • for System stored procedure, the identifier is old_entity::old_name.

The main consequence is the spropc DSL update. The old methods calling a stored procedure by its name and entity still exist but have been tagged as deprecated. You should use the new methods which use the stored procedure’s identifier.

You’ll find the user guide of the service here.


It is advised BEFORE the instance migration to clear the b2head.serviceconfig database table from any item which property id3 is equal to storedprocedures. See the Migration troubleshooting section for more details.



  • An example of a route calling a workflow step has been written in the Workflow Steps guide.
  • A paragraph explaining how to implement a custom workflow form has been added in the Workflow Steps guide.
  • Documentation for the message.validate method has been updated to explain where the errors are stored on the pipeline.
  • The Messages and the Work Items permissions have been listed in the List of permissions section.

Applications service

  • The notion of build has been replaced by package.
  • Some helpers have been added next to the installation scripts labels to specify that a script needs to be packaged to be used.

Charges service

The following charges AS2 POST Oildex, FREE Post and TEST Post are no longer embedded in the service.

Routes service

  • The icons next to the No Template and Template missing labels have been removed.
  • The routes’ templates and types are now alphabetically sorted.

Routing Orders service

No action is now allowed when the routing orders are fetched.

Scripts service

The @B2TransformerContext annotation, renamed into @B2ExecutionContext, is re-implemented. The Scripts service injects a ScriptExecutionContext object instance at this field annotation. This is not backwards compatible with the current projects using the @B2TransformerContext annotation.

Workflow Steps service

Workflow steps cannot be shared amongst Platform 6 instances as the instance’s id is often the root of any defined org path (for invoice approves for example). To avoid step editing on each instance, the token ${INSTANCE_ID} in organizational tree paths is now auto expanded to the value of the current Platform 6 instance‚Äôs id.

Bug fixes

Ethereum RPC DSL

The nonIndexedTypes arguments of the ethereumrpc.decodeReturnData method was used as keys to the returned Map. When an event emits two values of the same nonIndexedType they would occupy the same position in the Map and hence all but the last value would be lost.

Two new methods have been created to replace the ethereumrpc.decodeReturnData method:

  • List<Tuple2> decodeEventData(String data, String... solidityParamTypes)
  • List<Tuple2> decodeLogTopics(String topicsData, String... solidityParamTypes)

You’ll find their description in the Ethereum RPC section.

An example has been added in the Web3j section to show how to decode the indexed parameters.

Home Pages service

There is no longer an infinite loop on a home page displaying an invalid report.

Routing Orders service

  • The queue parameter of the request for the routing orders export is now correctly binding.
  • The button to delete selected routing orders is now labelled Delete instead of Delete all.