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

INSERT / CODE MODE / ABAP Editior?

Former Member
0 Likes
2,354

Hi Experts,

Pls. clarify some simple doubts, regardinmg the ABAP Editor;

1 - I hv noticed that, in our system, there is a custom developed INCLUDE(say, my_include), but it does not hving the Z letter at the beginning??

2 - my_include, is such a way that, even though I switched to (clicked the Pencil button) CHANGE mode, am unable to see the code as normal i.e. code is greyed out!! How one can develop such prog.? I mean, Wht r the properties do we require to assign to develop such prog.s?

3 - so, anyways, by clicking the INSERT button, simply, I hv written my code, so, I wanna to clarify that, bfor doing(inserting my code) like this, Do I need to take any precaustions, coz, its look like Disabled to do some thing!!

4 - at the same time, I need to comment one block of the existing code, but, as I said, its input disabled, So, How to Comment some lines of the existing greyed out code??

Am thinking to again, INSERT a IF condition, like IF 1 = 2. bfor the very 1st statemtn and INSERTing the ENDIF after the very last stament!!

Is it OK?

5 - Wht the scenarios demands to write like these(greyed out) prog.

Thanq,

1 ACCEPTED SOLUTION
Read only

romanweise
Active Contributor
0 Likes
1,282

Hello Srikhar,

there are several ways to create objects in the system which violate the customer name space rules.

In some cases using the "Z*-Name" is optional. The system just shows a warning you can ignore if you want to take the risk. You can dynamically write reports where not some / all naming conventions can be passed. In some cases the SAP system is generating code in theire own namespace when you do something in the system. If it is such a case you should really avoid changing the code! If you can post the name of the include perhaps someone can tell where it is from.

You should check if you find the include or the programm / function module it belongs to in TADIR if there is SAP written for the origin system you should really think twice if you hav to change the code.

The modification assistent does not depend on if it's a SAP Namespace Object or a customer Namespace object. It depends on the origin system entry in the table TADIR. Usually if any SAP program/application is generating code dynamically on the customer system it also sets SAP as Origin system. But u can also see if you write a Z-program on your development system and transport it to the test system and you go there and try to change the program you would get the modification assistent as the program is not original there. (please take in account that on a properly configured test system all changes are forbidden so if you want to test this you might need an administrator configuring the system changable before you can go into change mode).

Sometimes developers create small tools on a system and transport them to other systems w/o changing the original system as they do not plan to do any changes. if you find in TADIR a origin which is one of your systems but not the one you are working on you could change on this system if the system is no longer used you could change the TADIR entry - but you should only do if you know what you are doing!

to comment a part of code there are 2 options the modification browser allows to delete code and to replace code. i personally prefer the replace option. just mark the text you want to deactivate, choose replace and the modification browser comments the original text with \* and copies it into a changable area. now mark this text agai and comment it like usual.

I hope this makes some things a bit clearer.

Rgds.

Roman

7 REPLIES 7
Read only

Former Member
0 Likes
1,282

This has been developed in another SAP system and transported to your system. You can use the modification assistant to change the code.

Rob

Read only

romanweise
Active Contributor
0 Likes
1,283

Hello Srikhar,

there are several ways to create objects in the system which violate the customer name space rules.

In some cases using the "Z*-Name" is optional. The system just shows a warning you can ignore if you want to take the risk. You can dynamically write reports where not some / all naming conventions can be passed. In some cases the SAP system is generating code in theire own namespace when you do something in the system. If it is such a case you should really avoid changing the code! If you can post the name of the include perhaps someone can tell where it is from.

You should check if you find the include or the programm / function module it belongs to in TADIR if there is SAP written for the origin system you should really think twice if you hav to change the code.

The modification assistent does not depend on if it's a SAP Namespace Object or a customer Namespace object. It depends on the origin system entry in the table TADIR. Usually if any SAP program/application is generating code dynamically on the customer system it also sets SAP as Origin system. But u can also see if you write a Z-program on your development system and transport it to the test system and you go there and try to change the program you would get the modification assistent as the program is not original there. (please take in account that on a properly configured test system all changes are forbidden so if you want to test this you might need an administrator configuring the system changable before you can go into change mode).

Sometimes developers create small tools on a system and transport them to other systems w/o changing the original system as they do not plan to do any changes. if you find in TADIR a origin which is one of your systems but not the one you are working on you could change on this system if the system is no longer used you could change the TADIR entry - but you should only do if you know what you are doing!

to comment a part of code there are 2 options the modification browser allows to delete code and to replace code. i personally prefer the replace option. just mark the text you want to deactivate, choose replace and the modification browser comments the original text with \* and copies it into a changable area. now mark this text agai and comment it like usual.

I hope this makes some things a bit clearer.

Rgds.

Roman

Read only

0 Likes
1,282

Vielen Danka!

Am pretty much sure that, this INCLUDE(my_include) is purely custom developed include, so, any boby else(in SDN) can NOT know abt this include!!

Anyways, nachmal Danka Sehr! for urs detailed info.

Message was edited by:

Srikhar

Read only

0 Likes
1,282

The name may not start from 'Z' if your client has bought a separate name space from SAP for themselves.

eg: one of my clients had all custom programs starting with '/BAY' .

If you are sure that the include is a custom one, and you do not want to use the modification assistant then you have to the system of origin in SE03.

The las post (page 2) of the link above contains the details.

Regards,

Srihari

Read only

0 Likes
1,282

thanq,

yes, all ur guess is correct.

Ihv seen some other progs, like the same i.e. greyed out editor, there my prevoius progrmmmers were used the modification asst., so I used the same INSERT, REPLACE, and I did my changes, hope it works out(i dont hv test data in DEV)!!

but, just curious that,

1 - <b>Buying</b> name space from SAP?? Why?? the client is not free to use his own name space?? why he need to buy??

2 - loooks like, ther eis no 2nd page in the link, which u hv sent to me, i guess its closed with following post!!

Hi Manohar, ¡¡¡¡that was it!!!, thx a lot, i'was getting a little bit desesperated about this...thx for all the replys since yesterday.

3 - i guess, am not suppose to change it from SE03, coz there r lot of progs with this name space, say /BAY1?? I mean, if i did change, Does it NOT mean that, my change will applicable to all Objects, starts with /BAY1?? OR NOT??

thanq

Read only

0 Likes
1,282

Hello Srikhar,

the special name spaces like /ABC/ were originally introduced for development partners of sap. history for that is the following. in the first step sap said sap uses the first letters of the aplpahbet, one letter is for development partners and Y* and Z* are used for the customers. As more and more consultancies and development partners created own tools & addons there was a problem that if the customer bought from different sap partners there was a high risk it came to collisions as developers are not very creative in choosing names. You will find a ZTEST program on every server g.

The SAP solved that by the new namespaces. If you own an SAP development partner status/license you can register namespaces in sap net. You get a special key which ensures that you are the only one who can create objects in this name space and when you sell your solutions to customers you can be sure there wont be already objects with the same name created by the customer.

When you see big companies they have a similar problem. They have tons of SAP systems, you have company standard developments and country specific customer enhancements. The 3 server system landscape Dev->Test->Prod is not the end. I know companies running Core Dev -> Core Test -> Country Dev (1...n) -> Country Test (1 ... n) -> Integration development -> Integration Test -> Production Landscape and as they use seperated systems for FI/CO, HR, FS you get dozens of instances. In addition companies buy and sell subsidaries bringing their own SAP servers and some SAP Company ITs are so big that they sell their solutions to other companies.

If you only have Y* and Z* namespace it gets tricky to ensure the differnent development projects keep seperated. So the companies buy a development partner licence wich costs 10 or 30k Euros which is peanuts if you payed 20 million for your user licenses.

You can change the original system in SE03 for each development object, So the changes won't effect any other object. But it might not solve your problem. For Z* objects the Origin systems tells if you can maintain the object or if you can only repair it through the modification assistent (of course any change requires that the client allows changes on development objects at all, which you can see in Transaction SCC4 and it requires the customer name space set to "changes allowed" - found in the System changability accessed through SE03, too).

But if you really have an object of a /ABC/ namespace you need the change key for the namespace set in the system. This key can only be obtained be an administrator from sap net and usually if it is not set - it is supposed to be set.

E.g. The customer makes a big FI development for company wide processes. They get a namespace to protect that development. The core development system has the change key so they can develop but when they put the development on the server for the country specific adaptions they won't set the key so the local implementation crew can not change critical parts by accident. they have to do their additions in their z* space on the points the core crew prepared for them.

If this sounds all far far to complicated I can only tell you after working for 3 years in a position between a 80 developers project and the software logistics and the base support team - yes it can drive you nuts g.

I can only suggest you to get in contact with the administration / system landscape guys to get them things sorted out and tidied up. You will probably not have the rights to change all system configuration you need and very probably noone will have told you as new developer why things are this way for any historical reason.

Best Regards

Roman

Read only

0 Likes
1,282

Sehr Shön!!!! actuallly, I did not understood fully, but, anyways, got some idea!!

Ans as I said, just I used INSERT, REPLACE from MOd. asst, and I made my changes.

Danka Ihnen!