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

XPRA

Former Member
0 Likes
6,782

Hi All,

I need to know what XPRA is? I have a requirement in which i need to transport a particular executable(type 1) program to another system as an xpra object.

Could anyone please guide me how to achieeve it. Please provide me some information about XPRA object.

Many thanks in advance.

Regards,

Karthick

1 ACCEPTED SOLUTION
Read only

Former Member
3,075

Hi Karthick,

An XPRA is a program that is executed after all the objects in a transport have been imported. XPRA's are really easy to create just make a standard report type program in SE38 that performs all the function you require when your transport imports.

keep in mind that write statements will not be output to the list as there is no list output during the import. There is a function module TR_APPEND_LOG to add messages to the transport log. If you are testing the program (i.e. not in a transport but in SE38) you can use the function module TR_FLUSH_LOG to write the log entries to the standard list output.

Once the program is complete and the transport has been made edit the transport in SE09 and add a new item to the object list with the key:

Program ID: R3TR

Object Type: XPRA

Object Name: Your Program Name

After this save, release and import your transport. When it is complete you can look in the "Programs Run After Import" section of the log for your xpra and it's messages.

From

De Wildt

Hi All,

I need to know what XPRA is? I have a requirement in which i need to transport a particular executable(type 1) program to another system as an xpra object.

Could anyone please guide me how to achieeve it. Please provide me some information about XPRA object.

Many thanks in advance.

Regards,

Karthick

4 REPLIES 4
Read only

Former Member
3,076

Hi Karthick,

An XPRA is a program that is executed after all the objects in a transport have been imported. XPRA's are really easy to create just make a standard report type program in SE38 that performs all the function you require when your transport imports.

keep in mind that write statements will not be output to the list as there is no list output during the import. There is a function module TR_APPEND_LOG to add messages to the transport log. If you are testing the program (i.e. not in a transport but in SE38) you can use the function module TR_FLUSH_LOG to write the log entries to the standard list output.

Once the program is complete and the transport has been made edit the transport in SE09 and add a new item to the object list with the key:

Program ID: R3TR

Object Type: XPRA

Object Name: Your Program Name

After this save, release and import your transport. When it is complete you can look in the "Programs Run After Import" section of the log for your xpra and it's messages.

From

De Wildt

Read only

0 Likes
3,075

Very nice response and very detailed. Really helped me. Thanks.

Read only

3,075

To add 2 cents to this excellent reply: XPRA is only run one time and the program has to exist in the target when executed. The program cannot have mandatory parameters as it is just executed 'as is'. The most typical purpose is some kind of activation that requires program logic (like RV80HGEN, I believe) for example for statically linking includes. If you look at RV61ANNN (or the likes) you'll see it is generated and not migrated because not all includes are available - some may be in test still. It acts as a static link though, so moving new requirements requires such an 'activation'.

Does that make sense?

You can also use application logging (SLG1) for more information.

Wolfgang

Read only

Clemenss
Active Contributor
0 Likes
3,075

Hi all,

just an extra hint: Yes, the import runs in client '000'. So if you want to modify any table data, you have to work with client specified.

I changed a customer table adding time slice fields. The initial values should be set by XPRA together with the table change. This works only if client specified is used using the correct client value (different in development and production/integration.

RV80HGEN works always because ABAP sources are client-independent.

Best regards

Clemens