SAP for Utilities Discussions
Connect with fellow SAP users to share best practices, troubleshoot challenges, and collaborate on building a sustainable energy future. Join the discussion.
cancel
Showing results for 
Search instead for 
Did you mean: 

operand that drive installation data

Former Member
0 Kudos

Hi all,

my requirement is to have a user exit in installation maintenance in which I can change the value of a custom field in EANL depending on the presence of an installation operand.

I found the EMDI0001 enhancement in which I can mange the custom field, but it seems that there is no way of getting the actual installation operands.

any help is appreciated!

Skabuby

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

I've checked the FM you suggest but it retrieves the operand values stored on DB.

In my scenario the user enter the ES31 transaction, click on info button, change one or more facts values and push the back button. At this point, depending on teh changed operand values I have to set a custom field value.

Thanks in advance,

Ska

View solution in original post

8 REPLIES 8

Former Member
0 Kudos

Hi,

You can use FM 'ISU_INST_FACTS_READ' to get the Installation Facts when you are in user-exit. Depending on your Business logic for any operand you can change the custome fields.

Let me know if more information is required.

Thanks and Regards,

Ranjit Thakur.

Former Member
0 Kudos

Hi,

I've checked the FM you suggest but it retrieves the operand values stored on DB.

In my scenario the user enter the ES31 transaction, click on info button, change one or more facts values and push the back button. At this point, depending on teh changed operand values I have to set a custom field value.

Thanks in advance,

Ska

0 Kudos

Hi Ska

I would think in Enhancement EMDI0001 the component/function EXIT_SAPLES30_007 provides the actual facts:

X_OBJ-FACTS

Yep

Jürgen

0 Kudos

Hi Jürgen,

the FM you mention does not have the parameter X_OBJ.

Any helps?

Ska

0 Kudos

Hi Ska

It certainly has it on the system I'm working on:


FUNCTION EXIT_SAPLES30_007.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(X_EANLSD) LIKE  EANLSD STRUCTURE  EANLSD
*"     REFERENCE(X_OBJ) TYPE  ISU01_INSTLN
*"  TABLES
*"      XT_EANLHD STRUCTURE  EANLHD
*"  CHANGING
*"     REFERENCE(XY_SUB_OBJ) TYPE  ISU01_INSTLN_SUB
*"  EXCEPTIONS
*"      INPUT_ERROR
*"----------------------------------------------------------------------

INCLUDE ZXES30U07 .

ENDFUNCTION.

Component IS-UT, Release 605, Patch level 0004

Yep

Jürgen

0 Kudos

Hi Jurgen,

unfortunately I'm working on an ECC6.0 IS-UT 6.03 patch 1 and the inteface is this:

FUNCTION EXIT_SAPLES30_007.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"       IMPORTING
*"             VALUE(X_EANLSD) LIKE  EANLSD STRUCTURE  EANLSD
*"       TABLES
*"              XT_EANLHD STRUCTURE  EANLHD
*"       CHANGING
*"             REFERENCE(XY_SUB_OBJ) TYPE  ISU01_INSTLN_SUB
*"       EXCEPTIONS
*"              INPUT_ERROR
*"----------------------------------------------------------------------


INCLUDE ZXES30U07 .


ENDFUNCTION.

Thanks again. If you have further suggestion they will be appreciated...

Ska

0 Kudos

Hi Ska

Upgrade IS-U?

Okay, there's another way, but that's probably something SAP doesn't like very much and I'm not sure if this is supported at all or on long term. You can access any global variable of a function group, even you're not within the function group.

How?

When you're debugging and set a break point in include ZXES30U07 display the content of the variable (SAPLES30)OBJ.

Does it contain the information you need?

Yes, then add following code to include ZXES30U07:


...
type-pools:    isu01.
field-symbols: <obj> type isu01_instln.
...
  assign ('(SAPLES30)OBJ') to <obj>.
...

You should find all the information you need in .

Yep

Jürgen

0 Kudos

Hi Jurgen,

that is the solution I've adopted and as you told, I don't think that SAP like it, because this can cause problem if the exit is triggered from a different calling program.

Thank you again,

Ska