Normally, single parameters are passed together with an OBN event. These parameters can be used by the target application as a key to read further data. However, there are cases where it is necessary to transfer complex data, such as tables or structures, within an OBN event. This is not easy with single OBN parameters. Specifically where OBN is used with the same SAP system (preferably the same application server, but not enforced), two helper functions are added. These functions can take any data and serialize it locally to a shared buffer, from where the starting application can then retrieve the data again. Therefore, it is only necessary to transfer a key to the serialized data, without the complexities of converting ABAP-internal data structures into other different formats. The static method CL_NWBC=>OBN_PARAM_SET takes one or more sets of data (including tables) and serializes them to a shared buffer. Optionally, you can provide your own unique key; otherwise a generated key is returned.
If the provided key is not unique, exception CX_NWBC_STATIC_CHECK is raised. In the session of the target application, the stored data can be retrieved by using static method CL_NWBC=>OBN_PARAM_GET by using the unique key.
Application where the OBN event is raised
lv_unique_key = cl_nwbc=>obn_param_set( it_data = lt_simple_table ).
… trigger OBN event and pass the lv_unique_key as the parameter value
Target application
… retrieve the unique key from the URL startup parameters
cl_nwbc=>obn_param_get ( EXPORTING iv_unique_key = lv_unique_key
IMPORTING et_data = lt_return_simple_table ).