Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved RFC Server #218

Merged
merged 9 commits into from
Mar 2, 2023
Merged

Improved RFC Server #218

merged 9 commits into from
Mar 2, 2023

Conversation

fw2568
Copy link
Contributor

@fw2568 fw2568 commented Mar 2, 2023

Improved RFC Server implementation

This PR adds following improvements to the RFC Server implementation:

  • prevent GC to collect function handler delegates
    Function handlers references are now hold on process level within a static instance ( FunctionRegistration ). In case of a RfcServer the function handler registration will now be automatically disposed when RFC server is disposed.

  • Transactional RFC support
    Server builder now contains a method WithTransactionalRfc that enables the use of transactional RFC. Required for IDocs.

  • IDoc Server sample
    We added a sample application of a IDoc Server that exports Material Master via IDoc.

API enhancements

  • Create structures from type names
    Added api calls for RfcGetTypeDesc, RfcCreateStructure and RfcDestroyStructure and added CreateStructure method to IConnection to create a structure from the backend's type description.

  • Set structure from string
    Added api call RfcSetStructureFromCharBuffer and method SetStructure on IStructure to set the structure values from a string.

@fw2568 fw2568 added the enhancement New feature or request label Mar 2, 2023
@fw2568 fw2568 added this to the Minor Release 4.3 milestone Mar 2, 2023
@fw2568 fw2568 merged commit cc8aae3 into main Mar 2, 2023
@fw2568 fw2568 deleted the pull/idoc_server branch March 2, 2023 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant