Application Development and Automation 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: 
Read only

Instance creation mode in Badi definition

Former Member
0 Likes
2,311

Hi,

While creating a BADI definition, we get to choose instance creation mode. The available options are

1. Newly Creating Instantiation

2. Reusing Instantiation

3. Context-SPecific Instantiation

Are there any documention available about these parameters?

I want to learn the differences between the above parameters.

Regards,

Manas.

1 ACCEPTED SOLUTION
Read only

Former Member
1,157

Hi,

Please check the following

Instance Generation Mode

Definition

This property controls the instantiation of the object plug-ins during execution of the statement GET BADI. The following are possible specifications:

· Newly created instantiation

· Reused instantiation

· Context-dependent instantiation

Use

The first two specifications define context-free BAdIs. In the case of the newly created instantiation, new object plug-ins are created at each execution of the statement GET BADI. In the case of the reused instantiation, an object plug-in that was used once in the current internal mode is reused ? if it is required more than once.

In the case of context-dependent instantiation, a context must be specified for GET BADI. This context controls the instantiation. Only one object plug-in is created for each context and implementing class. Each time there is another GET BADI with the same context, it is reused. A context is an instance of a class that implements the tag interface if_badi_context. The specification takes place in the form of a reference to such an instance.

If object plug-ins are to get reusable data, only specifications 1 and 2 are allowed.

Also

A BAdI that is defined as a function code enhancement must not have any filters, must not be defined for multiple use, or assigned to any switch. It may contain methods that are independent of the actual function code enhancement.

A BAdI that is defined as a screen enhancement must be defined in the instance generation mode for the reused instantiation and must not be defined for multiple use. It may contain BAdI methods that can be used to fill or evaluate the screen fields of the respective subscreens.

Refer the following link for more details

http://help.sap.com/saphelp_nw70/helpdata/en/b2/e736429ed2ac04e10000000a1550b0/content.htm

reward if helpful

Regards

Byju

Hi,

Please check the following

Instance Generation Mode

Definition

This property controls the instantiation of the object plug-ins during execution of the statement GET BADI. The following are possible specifications:

· Newly created instantiation

· Reused instantiation

· Context-dependent instantiation

Use

The first two specifications define context-free BAdIs. In the case of the newly created instantiation, new object plug-ins are created at each execution of the statement GET BADI. In the case of the reused instantiation, an object plug-in that was used once in the current internal mode is reused ? if it is required more than once.

In the case of context-dependent instantiation, a context must be specified for GET BADI. This context controls the instantiation. Only one object plug-in is created for each context and implementing class. Each time there is another GET BADI with the same context, it is reused. A context is an instance of a class that implements the tag interface if_badi_context. The specification takes place in the form of a reference to such an instance.

If object plug-ins are to get reusable data, only specifications 1 and 2 are allowed.

Also

A BAdI that is defined as a function code enhancement must not have any filters, must not be defined for multiple use, or assigned to any switch. It may contain methods that are independent of the actual function code enhancement.

A BAdI that is defined as a screen enhancement must be defined in the instance generation mode for the reused instantiation and must not be defined for multiple use. It may contain BAdI methods that can be used to fill or evaluate the screen fields of the respective subscreens.

Refer the following link for more details

http://help.sap.com/saphelp_nw70/helpdata/en/b2/e736429ed2ac04e10000000a1550b0/content.htm

reward if helpful

Regards

Byju

1 REPLY 1
Read only

Former Member
1,158

Hi,

Please check the following

Instance Generation Mode

Definition

This property controls the instantiation of the object plug-ins during execution of the statement GET BADI. The following are possible specifications:

· Newly created instantiation

· Reused instantiation

· Context-dependent instantiation

Use

The first two specifications define context-free BAdIs. In the case of the newly created instantiation, new object plug-ins are created at each execution of the statement GET BADI. In the case of the reused instantiation, an object plug-in that was used once in the current internal mode is reused ? if it is required more than once.

In the case of context-dependent instantiation, a context must be specified for GET BADI. This context controls the instantiation. Only one object plug-in is created for each context and implementing class. Each time there is another GET BADI with the same context, it is reused. A context is an instance of a class that implements the tag interface if_badi_context. The specification takes place in the form of a reference to such an instance.

If object plug-ins are to get reusable data, only specifications 1 and 2 are allowed.

Also

A BAdI that is defined as a function code enhancement must not have any filters, must not be defined for multiple use, or assigned to any switch. It may contain methods that are independent of the actual function code enhancement.

A BAdI that is defined as a screen enhancement must be defined in the instance generation mode for the reused instantiation and must not be defined for multiple use. It may contain BAdI methods that can be used to fill or evaluate the screen fields of the respective subscreens.

Refer the following link for more details

http://help.sap.com/saphelp_nw70/helpdata/en/b2/e736429ed2ac04e10000000a1550b0/content.htm

reward if helpful

Regards

Byju