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

Program associated with Custom transaction code.

Former Member
0 Likes
848

Hi Guys,

I was studying two custom transaction code made in my company's SAP System.

Program associated with one custom transaction was starting with name SAPZMxxx and program associated with other custom transcation code was starting with Z.

Can anyone tell me whhat is the difference or in other words what is the significance of starting with SAPZM....

Tushar.

6 REPLIES 6
Read only

RichHeilman
Developer Advocate
Developer Advocate
0 Likes
699

Programs starting with SAPMZ are custom module pool programs, ones that start with "Z" are custom REPORT programs. Module pool programs are ones where you have 1 or more screens, that are not selection-screens in the REPORT program sense. You can embed selection-screens into subscreens and then in to dynpros.

Regards,

Rich Heilman

Read only

0 Likes
699

But even the Z program associated with the other custom transaction code had module pools defined in it ?

Read only

0 Likes
699

Hi

Tushar see the attribute of the program:

- a module pool is a program type M: it can run only by transaction;

- a report is a program type 1: it can run by SE38, SA38 or own transaction.

If you want associate a transaction to a module pool you have to indicate which program and screen have to be run;

if you want associate a transaction to a report you have to indicate only program becouse the screen is selection screen and it's screen 1000 by default.

Max

Read only

0 Likes
699

Just because it has includes in the "Z" program doesn't make it a module pool program.

Regards,

Rich Heilman

Read only

0 Likes
699

You can exactly know the kind of program only seeing the program attribute.

Infact if the program name begin with SAPMZ, you're sure it's a module pool custom, but if it begin with Z* you can't be sure it's a report.

SAPM is a convention, if you're creating a program called SAPMZ... the system know you want to create a module pool.

But if you're creating a program called Z... the system can know which kind of program you want to create only after you've indicated the type in the attributes.

Here you can choose whichever type of program, a module pool too.

So the name of module pool can begin with SAPMZ or Z.

Max

Message was edited by: max bianchi

Read only

0 Likes
699

I think the main difference here is that report programs can be ran or executed without a tcode. For example, they can be executed in a background job SM36, or from SE38. Module pool programs must have a tcode assigned to make them executable.

So, yes, you can have a report program(Z) that acts like a module pool program, having includes for TOP, PBO, PAI and F01, but most likely there will be a CALL SCREEN, or SET SCREEN statement somewhere in the START-OF-SELECTION event.

As a rule, if we are using standard naming comventions for custom development, SAPMZ should be used module pool programs and Z should be used for report programs. Of course, "Y" is valid namespace as well.

Regards,

Rich Heilman