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: 

customize tcode 223

Former Member
0 Kudos

I have been tasked with adding four fields to the report displayed when a user executes transaction c223. I have a few questions...Can I just copy the source code associated with tcode c223, rename it zc223 and add my fields to the custom report? What problems might I encounter if I use this approach? How will future updates to tcode c223 impact my custom report? What would be the best way to approach this development effort aside from the solution I propose above?

regards,

Mat

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi

I think you can only create an your copy of that program if you want to add new fields.

Now the problems you can have could be:

- Updating: If you have implement some notes or patch for C223, you should implement them in your trx too, but manually;

- Upgrade: if you upgrade SAP, in new release you should check if your z-trx is good yet: perhaps you could re-create it as copy of new rel. of C223;

Yes, future updating of C223 can impact your trx if you copy and modify only some include used by C223.

Max

9 REPLIES 9

Former Member
0 Kudos

Hi

I think you can only create an your copy of that program if you want to add new fields.

Now the problems you can have could be:

- Updating: If you have implement some notes or patch for C223, you should implement them in your trx too, but manually;

- Upgrade: if you upgrade SAP, in new release you should check if your z-trx is good yet: perhaps you could re-create it as copy of new rel. of C223;

Yes, future updating of C223 can impact your trx if you copy and modify only some include used by C223.

Max

0 Kudos

Hi Max...thanks for the help. Tell me...any idea as to how I should approach developing a solution? The source code appears to consist of a series of includes that are used to build the report and I'm not really sure where I should begin. The fields I need to add already exist in the db and are associated with the table from which the data on the report is collected.

0 Kudos

Hi

I think the best solution (this is my experience) is to copy only the object you need to modify.

In this case you have to copy the function group CMFV and re-name all its functions.

You start to modify the first object (the dynpro 1200 I believe) and then all objects related to it.

For example the module module modify_mkal_xy where the internal table is updated, but this module use the form modify_mkal_xy defined in include LCMFVI20. So you should create a copy of that include and do your modification in this new Z-include and so...

Max

0 Kudos

Just for clarification. Do I want to copy the entire function group CMFV to ZCMFV and customize the code within ZCMFV to suit my needs? Does that really mean that I would have to rename all of the included programs within ZCMFV...even if I haven't altered the code in many of those programs?

0 Kudos

Hi

No! You should rename only the includes you have to change.

Max

0 Kudos

Max,

I just copied the CMFV function group to a new function group. All components of the function group CMFV were copied into my new function group named ZCMFV...except the function modules. A prompt was displayed for each function module asking if I wanted to rename, I answered no for all. Is this acceptable? May I assume that as I customize function modules to suit my business needs that I will rename just those modules and that they will then appear as part of the new function group? Also...why don't any of the existing function modules appear to be defined as part of this function group?

0 Kudos

Hi

I think you are very careful here, because you have to copy all fm of function group CMFV used in the same function group CMFV.

See this example:

- Function Group XXXX,

- Function: FUNCTION1, FUNCTION2.

function FUNCTION1.

CALL FUNCTION 'FUNCTION2'.

IF A = 1.

..........

ENDIF.

endfunction.

function FUNCTION2.

A = 1.

endfunction.

Suppose it needs to change only function FUNCTION1, but in this case that fm calls another fm (of its function group) uses global data.

In this case you have to rename both fms, although the second fm hasn't to be changed, so it'll have:

- Function Group ZXXX,

- Function: ZFUNCTION1, ZFUNCTION2.

function ZFUNCTION1.

CALL FUNCTION 'ZFUNCTION2'.

IF A = 1.

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

ENDIF.

endfunction.

function ZFUNCTION2.

A = 1.

endfunction.

In this way the new fm ZFUNCTION1'll work fine, because it call the ZFUNCTION2 uses a global data of function group ZXXX.

If it writes:

function ZFUNCTION1.

CALL FUNCTION 'FUNCTION2'.

IF A = 1.

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

ENDIF.

endfunction.

ZFUNCTION1 uses the global data of new function group ZXXX, while FUNCTION2 usus the global data of old one.

So remember you have to rename all functions you need to use directly or indirectly.

Max

former_member181962
Active Contributor
0 Kudos

Hi Mathew,

Check if your T-Code has any user exits or not.

If there are none, then you should go about copying the original and modifying the copy.

As you have already guessed, any further enhancements to the T-Code would not reflect in your custom program.

Regards,

Ravi

Former Member
0 Kudos

Hello mathew,

When u are copying the Function group u should say YES to only those FM which you would be changing. When u said No in the popup indicates you don't want to change all those FM. so they are retianed in the original group CMFV and don't get copied. Hence when u are checking the Function group ZCMFV u will c only the once which u copied and rest all still resides with CMFV.

You need to know before hand which all things you want ot change and accordingly copy the fucntion group.