Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

object services

Former Member
0 Kudos

Hi,

How do I view existing object services..

Regards,

Vijay

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

Take a look at table SGOSATTR in SM30.

Also, go through the following documentation on how to create a new object service.

http://help.sap.com/saphelp_46c/helpdata/en/b8/a4e7377a98c17fe10000009b38f842/frameset.htm

Also,

http://help.sap.com/saphelp_46c/helpdata/en/94/aa532cddd511d289860000e8216438/frameset.htm

Hope this helps..

Sri

Message was edited by: Srikanth Pinnamaneni

14 REPLIES 14

amit_khare
Active Contributor
0 Kudos

Hi,

Can you be more specific.

Amit

0 Kudos

Yeah,

If I'm right, I need to add Generic Object Services to a particular transaction. How do I do it...

Regards,

Vijay

Former Member
0 Kudos

Hi,

Take a look at table SGOSATTR in SM30.

Also, go through the following documentation on how to create a new object service.

http://help.sap.com/saphelp_46c/helpdata/en/b8/a4e7377a98c17fe10000009b38f842/frameset.htm

Also,

http://help.sap.com/saphelp_46c/helpdata/en/94/aa532cddd511d289860000e8216438/frameset.htm

Hope this helps..

Sri

Message was edited by: Srikanth Pinnamaneni

0 Kudos

That SAP Help is not for people new to GOS.

Could you explain me here...I have already seen the help.

0 Kudos

Hi,

I thought the documentation is clear enough for people new to GOS as well.

If your requirment is to provide GOS for your application then first of all you need to create a BOR Object Type

using transaction SWO1 for your application.

Take a look at some standard ones like BUS2032 if you do not understand how to create BOR Object Types.

Usually you need to specify your Application Key fields (for example, Sales Order number is a key field for object BUS2032) as key fields for the BOR Object.

Once you are done or if you have a BOR Object already then you need to publish it in your program, whenever user is looking at an application key data.

For example, User goes to VA03, enters a sales order number and hits enter.

System reads all the order related tables and then publishes the sales order number using SWU_OBJECT_PUBLISH. System then knows that GOS is possible for this particular Sales Order.

So you have to also program in such a way, that once you are done with reading all the data for your application based on entered application key, you should publish your object using SWU_OBJECT_PUBLISH (Old) or using OO Methodology as explained in the help.

Hope this helps..

Sri

0 Kudos

Business object was created already. It is an SAP defined one. OIJ_BUS005 (IS Oil). Through a note we added the GOS for a transaction. We want to add the same GOS for another transaction, which is tied to Business object OIJ_BUS005.

Regards,

Vijay

0 Kudos

Hi,

If the GOS already exists then first go to SGOSATTR table entries in SM30 transaction, double click on the GOS that you want to add. Get the Class Name, go to SE24 (class builder) and see whether it has a CHECK_STATUS method.

If it exists then there is a possibility that the GOS has been enabled only for the transaction you are talking about.

So if you go into CHECK_STATUS method code, there will be an exporting parameter called ep_status which will be set to "Active/Inactive" based on certain logic (may be based on sy-tcode in your case). If it is based on sy-tcode then it is very easy, you just add your SY-TCODE also to the IF condition and thats it.

Otherwise paste the code insider CHECK_STATUS method here so that I can take a look at it.

If you have further doubts then post them here.

Hope this helps..

Sri

0 Kudos

method CHECK_STATUS.

data ls_logond type uslogond.

CALL FUNCTION 'SUSR_USER_LOGONDATA_GET'

EXPORTING

USER_NAME = sy-uname

IMPORTING

USER_LOGONDATA = ls_logond

EXCEPTIONS

OTHERS = 1.

IF SY-SUBRC <> 0 or ls_logond-ustyp <> 'A'.

  • No dialog user

ep_status = mp_status_inactive.

else.

ep_status = mp_status_active.

ENDIF.

This was the code that I found inside the CHECK_STATUS method. Can you help me out with this.

Thanks in advance...

0 Kudos

As you can see there's no reference to SY-TCODE there.

Regards,

Vijayu

0 Kudos

Hi,

The code is very clear and does not restrict based on transaction.

Next thing to check is whether GOS is enabled for your transaction first of all.

Go to your new transaction (where you want to provide GOS), enter any document number, press enter (assuming it has some what similar interface to VA03 or new age interface like ME23N).

So go into the document and then select Sytem->Services for Object. If a toolbox appears in your transaction then GOS is enabled and most probably transaction is subscribing for only certain events. If the toolbox does not appear and you get a message saying "Services not possible for the object" or some thing similar to that then GOS is not enabled for your transaction and you might need to change the code for it (to call FM SWU_OBJECT_PUBLISH or new OO Method).

In between, if you could provide me with the Note number that is applied for the other transaction then I will be able to tell you more precisely..

Hope this helps..

Sri

0 Kudos

The note number is :

699114.

The note is enabled for business object OIJ_BUS004.

I knew that it is not enabled for OIJ_BUS005.

I wanted to know how to enable it for the same.

Thanks for your suggestions. Just a doubt...will this amount to core code modification?

Regards,

Vijay

0 Kudos

Hi,

I have looked at the Note and Yes, this will amount to Core Code modifications, that too at a lot of places in the program assigned to the transaction.

I am just guessing since the note was applied for transaction O4NM, you are trying to do it for O5NM.

I dont have access to any IS-OIL system so can you check whether the function group connected to your transaction is same as that of O4NM (function group OIJ_NOM_GUI)?

If yes then you might get away with few modifications.

If no then take the correction instructions in the Note as reference and start making the changes to Core.

Hope this helps..

Sri

0 Kudos

Thanks a lot Sri.

Actually I'm a Sales and Marketing guy (this transaction deals with logistics and supply stuff)...and mostly into EDI, ALE, Workflows...OO in ABAP is a new concept for me. That's why so many queries. Thanks once again.

Regards,

Vijay

0 Kudos

Hi,

You are talking about transaction VA03 Sales order but in my system for this transaction i don't have Service object (GOS).

We are in 4.6C

Did you apply a not ?

Thanks for your help.

Jean-Christophe