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

ABAP

Former Member
0 Likes
1,513

hi folks,

I need some help related to Extensions.

I have an extension ( ZXPADU02 ) that I am working on, need to make some changes to this extension.

Can i create a copy of this extension in CMOD make changes to this test for the changes and tehn incorporate in ZXPADU02 and take it from there or do in a different way.

Thanks in advance for your help.

Santhosh

1 ACCEPTED SOLUTION
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
1,489

No, that INCLUDE is embedded in the user exit. You can not change this without a registration key. I would suggest making your changes in the ZXPADU02 include, just be careful of what you change. Or make a copy of the include to another include program so that you always have the original copy of it. Of course version manangement will do the same.

Regards,

Rich Heilman

16 REPLIES 16
Read only

Former Member
0 Likes
1,489

Hi Vinu,

You have to find the Enhancement for this component & then copy it to a Z-project & then create the user exit & do the changes to ZXPADU02.

Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
1,490

No, that INCLUDE is embedded in the user exit. You can not change this without a registration key. I would suggest making your changes in the ZXPADU02 include, just be careful of what you change. Or make a copy of the include to another include program so that you always have the original copy of it. Of course version manangement will do the same.

Regards,

Rich Heilman

Read only

0 Likes
1,489

Hi,

Rich is right (as always).. I have worked extensively with this exit.. what actually do you want to do?

regards,

Suresh Datti

Read only

0 Likes
1,489

YES Rich,

I created a copy of it, and now i can go ahead and make changes to the user exit,test for the data and go ahead with it,

Thanks

Vinu

Read only

0 Likes
1,489

That's the way I would go if I was really concerned about making changes to the exit, or course this is not neccessary if you are comformable changing the code directly.

Please make sure to award points for any helpful answers that you might received and mark your post as solved if solved completly. Thanks.

Regards,

Rich HEilman

Read only

0 Likes
1,489

Hi Vinu,

If you make changes in your copy, how will you test it?

Your code iin the copy will not be triggered in PA 30/20.. it is the code in ZXPADU02 that gets triggered..

If you are worried about your change, download the existing code & then make changes directly in ZXPADU02.

Regards,

Suresh Datti

Read only

0 Likes
1,489

Thanks Suresh, here is what I have to do.

while checking for various entries into the IT0000 (Actions) infotypes in the personnel sub area- section for these various values of sub area, validation is being done and it is hard coded.

The reqquirement says that to create a table for the personnle subareas listed for IT0000 This would make the changes to the user exit become configuration changes instead of code changes.

How should I be going with it?

here is the piece of code that has been hard coded...

IF P0000-MASSG EQ '06'.

" IF UNION NOT IN TABLE... XXX ERROR MESSAGE

IF P0001-BTRTL <> 'GA03' AND

P0001-BTRTL <> 'GA25' AND

P0001-BTRTL <> 'GA26' AND

P0001-BTRTL <> 'GA35' AND

P0001-BTRTL <> 'A106' AND

P0001-BTRTL <> 'DX04' AND

P0001-BTRTL <> 'EG03' AND

P0001-BTRTL <> 'EG04' AND

.

.

.

P0001-BTRTL <> 'EX01' AND

P0001-BTRTL <> 'CS19'.

How can I take this list of values put into the table and maintain the same validation?

Thanks

Vinu

Read only

0 Likes
1,489

Hi Vinu,

Create a Ranges for the values.

RANGES:R_BTRTL FOR P0001-BTRTL.

R_BTRTL-SIGN = 'I'.

R_BTRTL-OPTION = 'EQ'.

R_BTRTL-LOW = 'GA03'.

APPEND R_BTRTL.

R_BTRTL-SIGN = 'I'.

R_BTRTL-OPTION = 'EQ'.

R_BTRTL-LOW = 'GA25'.

APPEND R_BTRTL.

repeat for all the values.

Then change the below code as..

IF NOT P0001-BTRTL IN R_BTRTL.

.............

ENDIF.

Read only

0 Likes
1,489

Hi Vinu,

In SE11, create a Custom table with MANDT & BTRTL as the two fields. Maintain the table with all the BTRTL values that currently exist.

Comment the hard coded part & put the following code..


data w_btrtl type btrtl.
IF P0000-MASSG EQ '06'.
select single btrtl into w_btrtl
                    from ZBTRTL. " Your custom Table
if sy-subrc ne 0.
* error message
endif.
endif.

Regards,

Suresh Datti

Read only

0 Likes
1,489

Also there were two more changes which I went ahead and did the changes.

for IT0167 they asked to remove the benefits plans OPT1 and OPT2 out of code because the plans have been closed, so I commented that portion of the code in the include program

How to test these changes?

Thanks

Vinu

Read only

0 Likes
1,489

IT0167 in ZXPADU02? there are other User exits for benefits.. anyway to test it, you will have to know why the change was put in the first place.. 0167 records are usually maintained through Enrollment & not via PA30.. So you might have to find out why the change was put in & then test that scenario.

Regards,

Suresh Datti

Read only

0 Likes
1,489

Suresh,

I have made some changes to the user exit and where can I test this? when I made changes it asked for transport request which I assigned to it, and there is no enough test data to check for in IT0167 and IT0168 because I went ahead and created some test data for infotypes IT0000, IT00001, IT0002 to name a few.

Also, just to make sure, until the transport request is released, do those changes made in the user exit come to force?

How do you suggesst me to go about?

Thanks

Vinu

Read only

0 Likes
1,489

>>>until the transport request is released, do those changes made in the user exit..

the chnages come into force upon activation.. release of Tr Request only facilitates migration to QA & Production systems..

Your checks on 0000 & 0001 should have triggered when you hired an empoyee in..

What exactly are you supposed to check in 0167/0168? Do you find any hits when you do an SE16 on PA0167 & PA0168?

Regards,

Suresh Datti

Read only

0 Likes
1,489

Thanks Suresh it helped.

I did go ahead and created an new entry for IT0167 and IT0168 and tried to assign those plans it did not take it threw an error.

But I have a question, I have commented that part of the code that assigns the benefit plans ( in this case OPT1 and OPT2) and when I am on the screen to populate that field and hit F4 to select from the exisiting list of values, I find OPT1 and OPT2 .

why is that so?

It happened the same in IT0168 FOR PLANS SL02 AND SA02 (which I had commented in the code) but when I tried to populate the field with these values it threw an error message that the entry is not possible (it worked there).

I hope you understood the question here. Trying to understand how this user exit is having the effect on the process.

Thanks in advance for your time.

Vinu

Read only

0 Likes
1,489

Hi Vinu,

form what I understand, you are in good shape as far as the User exit logic is concerned.. the plans would have just been delimited and not deleted.. hence they are showing up in F4.. that is part of configuration & your Business Analyst should be able to handle it..

Regards,

Suresh Datti

P.S. Pl reward helpful answers

Read only

0 Likes
1,489

Thanks Suresh for your help in understanding the process, I shall award full points to you.

Vinu