cancel
Showing results for 
Search instead for 
Did you mean: 

Using JCO to create Maintenance Notification using BAPI_ALM_NOTIF_CREATE

Former Member
0 Kudos

}Hi all,

I'm using the latest JCO to remotely invoke BAPI_ALM_NOTIF_CREATE to create an internally numbered maintenance notification. No matter what I try I can't get a notification to create successfully and be visible in the back end.

I invoke these BAPIs in sequence:

BAPI_ALM_NOTIF_CREATE (RETURN table has no rows after running)

BAPI_ALM_NOTIF_SAVE (RETURN table has one row with message 'I:000" after running, NOTIF_NO is empty in the NOTIFHEADER structure after running)

BAPI_TRANSACTION_COMMIT

After BAPI_ALM_NOTIF_CREATE runs its RETURN table has no rows. Its NOTIFHEADER_EXPORT structure shows more data items filled in than I send over. For example if I just invoke the BAPI with the equipment number the returned structure shows the functional location, so I know the call is working.

I am passing the temporary NOTIF_NO received from BAPI_ALM_NOTIF_CREATE to BAPI_ALM_NOTIF_SAVE.

After BAPI_ALM_NOTIF_SAVE runs its RETURN table has one row with message 'I:000". The NOTIF_NO is empty in the returned NOTIFHEADER structure after this call.

At no time do I ever see any exceptions, everything looks good at run time, but no notification is saved.

As an additional note I followed the test procedure described in Note 604300 (using a test sequence in SE37) and everything worked fine.

My Questions:

Has anyone ever been able to successfully create a maintenance notification from JCO using the BAPI?

If so is there some configuration required to enable that?

What's the minimum amount of data required in the header to make the BAPI call work? I might be missing something vital and I can't figure out how to trace it down.

Thanks in advance

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

I figured it out.

I haven't done any JCO programming since the switch to version 3 and I did not have a stateful connection defined around my calls.

I added a JCoContext.begin() and JCoContext.end() around the action parts of the code and it works fine now.