cancel
Showing results for 
Search instead for 
Did you mean: 

CREATE BAPI Wrapper for Data Objects

Former Member
0 Kudos

Hi All

I have some questions about the CREATE BAPI Wrapper.

We have a business scenario where we create an Inventory Count Document on the handheld which has to be sent to the backend. Therefore, I will create a Upload Only Data Object and the CREATE BAPI Wrapper function module.

From a functional point of view once we synchronize the Inv. Count Documents from the handheld to the DOE/Backend, we do not need the documents on the handheld anymore. Actually, the synchronized Inv Count Documents should be deleted from the handheld after the synch.

First, I thought I had to call the DELETE BAPI Wrapper function module after each create, but then I

found the "Send Confirmation" flag in the backend adapter and the "Keep Inst. Locally" on the Data Object Overview. I couldn't find any detailed documentation except the following:

"If checked {Keep Inst. Locally}, the Data Object instance remains on the client after successful

confirmation"

Since I can't prototype this currently, I would like to check with the community my following understanding how CREATE works.

1) If I keep the "Send Confirmation" flag in the backend adapter unchecked, the Inv Count Document will remain on the handheld after synchronization.

2) If I keep "Send Confirmation" flag in the backend adapter checked and have "Keep Inst. Locally" on the Data Object checked, the Inv Count Document will remain on the handheld after synchronization.

3) If I keep "Send Confirmation" flag in the backend adapter checked and have "Keep Inst. Locally" on the Data Object unchecked, the Inv Count Document will be deleted from the handheld after synchronization (I assume this is done all by NW Mobile without a DELETE BAPI Wrapper).

Generally, what does the "Send Confirmation" flag in the backend adapter do for MODIFY and DELETE?

As always, you help on this is greatly appreciated.

Thanks,

W.Berger

Edited by: W Berger on Jun 9, 2009 9:46 PM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

In your case you just need to use upload only data object which means , only 'Create' bapi is mandatory for your backend adapter. By default for upload only data objects, the mobile client takes care of deleting the instance from device once confirmation reaches device for the upload it has done.

If 'Keep instance locally' is checked , then on getting confirmation mobile client will not delete the instance from device. Application has to care of deleting the data later.

'Send Confirmation' option holds good only for bi directional data objects. Its used when there is no 'Create' or 'Modify' or 'Delete' bapi, but middleware has to accept whatever the mobile device uploads and replicate it to other devices.

So in your case you can use upload only data object with 'Keep instance locally' flag unchecked.

Regards,

Dhana

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello, Mr. W.Berger.

I am experiencing a problem similiar to yours, i mean the data remains on client after a sucessfull synchronization.

Where (transaction on backend ou MI Server) can i find "Send Confirmation" flag and the "Keep Inst. Locally" options ?.

Thanks in advance for your help.

Regards.

Roberto.

Former Member
0 Kudos

Hello Roberto,

These options are available in the transaction SDOE_WB in the MI server.

These are part of the dataobject overview tab and is a modeling activity.

Are you facing the problem of the instance not getting deleted from the client though it is an upload only data object?

Only when confirmation reaches client , this instance will be deleted and there is a possibility that confirmation did not reach client in the same sync cycle .

Regards,

Liji

Former Member
0 Kudos

Hello Liji, thanks for your reply.

The transaction you've mentioned is not available in MI Server (maybe due to our current version MI70 ?).

Our object is a two-way sync, it works fine when the object is created in handheld, synchronized with backend and returns to handheld.

But we have one situation where the object created in handheld is synchonized with backend and must not return to handheld (this business requirement is implemented in GETLIST bapi wrapper). In this case, synchronization creates the record in backend correctly, but corresponding object in client database is not removed and the status is changed from 'L' (local) to 'S' (in sync).

Regards,

Roberto.

Former Member
0 Kudos

Hi,

One thing to be noted is that Delete Bapi Wrapper will be internally invoked to send delete mesages to backend when a message from device with task 'D' flows down to DOE.

This means, the uploaded instance will be deleted from backend as well which is not the required scenario I suppose.

In normal scenario, confirmations are sent to the device after the backend successfully processes the data object instance that is sent to Backend through DOE from client(via create, delete, modify bapi wrappers). In normal scenarios, the confirmation handling at the client application handles this(marking the data as consistent is one way of handling)

If something goes wrong at backend(due to wrong data , some backend validations etc), then rejections will be sent to device and there can be appropriate handling of rejection messages at client application(either to delete or mark it as inconsistent and so on)

Regards,

Liji