cancel
Showing results for 
Search instead for 
Did you mean: 

ENQUEUE / BAPI_PERSDATA_CHANGE / DEQUEUE from .Net using WebServices

Former Member
0 Kudos

Sorry for a long post, but I thought it would be necessary for some one to really help me.

-

-


I am trying to change Employee Personal Data by calling BAPI_PERSDATA_CHANGE

from .Net through the WebService created by using Function Module-> WebService Wizard.

I know that I must call the following three BAPI's in that sequence:

BAPI_EMPLOYEE_ENQUEUE

BAPI_PERSDATA_CHANGE

BAPI_EMPLOYEE_DEQUEUE

-

-


First problem (which is solved, thanks to André) was that I got the error

"The employee/applicant is not locked yet".

The external call from .Net to BAPI_EMPLOYEE_ENQUEUE did not lock the record (as seen in SM12), however, if I call BAPI_EMPLOYEE_ENQUEUE in SE37, it did lock the record as seen in SM12.

As outlined in the following whitepaper of Juergen and André, I changed the Webservice to use State Oriented Communication.

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/004975cc-2a7f-2a10-f8a8-82b90ff0...

Now the record remains locked so that I am able to change the Data by BAPI_PERSDATA_CHANGE.

-

-


Now I have the second part of the problem:

When I call BAPI_EMPLOYEE_DEQUEUE in the same session, instead of removing the lock entries (as seen by SM12), it adds one more entry, and the employee remains locked. So the question now is - how to successfully Dequeue it?

Here is a copy of entries after Enqueue, change, and Dequeue:

800 MZZZZZB 13:26:31 E PLOGI 80001CP00010358 0 1

800 MZZZZZB 13:26:31 E PREL 80000001273############################## 1 1

800 MZZZZZB 13:27:07 E BUT000 8000000002083 0 1

Can any one help how to unlock Employee record by calling BAPI_EMPLOYEE_DEQUEUE from .net environment ?

Thanks a lot...

-

-


P.S.

In principle, what we need to do is exactly same as in following link, but without using IBM Websphere:

http://publib.boulder.ibm.com/infocenter/wpfhelp/v6r0m2/index.jsp?topic=/com.bowstreet.designer.doc/...

-

-


Best regards,

MB

Accepted Solutions (0)

Answers (1)

Answers (1)

Andre_Fischer
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi MB,

I would try to analyze the information that is send via the Returncodes of the function modules.

BAPIRETURN1

I would also try just to call the ENQUEUE and DEQUEUE Web Service without trying to update the data.

Do you have ABAP development authorizations ?

A solution might also be to wrap all 3 function modules in a third remote enabled funciton module that itself is published as a web service.

This way you will achieve a stateless communication.

Best regards,

André

Former Member
0 Kudos

Thanks again...

Return codes are OK, (code 0 and msg blank).

I will try ENQUEUE and DEQUEUE Web Service without trying to update the data.

I wanted to avoid ABAP coding as that would require custom code in the Customer's

installation (as our solution will be "productised").

Thanks.

Former Member
0 Kudos

I tried ENQUEUE and DEQUEUE Web Service without trying to update the data.

Dequeue did not do any thing. Could there be some SAP Note I need to look at?

I will search that any way... Only solution seems to be to wrap 3 calls in a custom ABAP function.

That is not a preferred solution. SAP as a company needs to do some thing about this (IMHO).

Thanks for the support.