cancel
Showing results for 
Search instead for 
Did you mean: 

Web Dynpro ABAP call transaction in the foreground

Former Member
0 Kudos

In Screen Painter/SAP ALV, we can create a screen where for example if you double click on a sales order field it can take you a VA03 transaction by :

call transaction VA03 ... and skip first screen.

I am creating Web Dynpro ABAP application that needs to do the same thing where if we click on the field, it will take to VA03 transaction or other transactions.

Has anyone done this in Web Dynpro ABAP? I have done some research and determine that we cannot call transaction in the foreground? I hope I am wrong. Any help/insights will be greatly appreciated.

Accepted Solutions (0)

Answers (4)

Answers (4)

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

If you have a recent SP level you might be interested in the solution in this blog:

/people/community.user/blog/2008/03/31/web-dynpro-abap-to-sapgui-eventing-demos

However it does tie your application closely to the use the SAPGui - which you may not want.

Ulli_Hoffmann
Contributor
0 Kudos

see also this thread:

Former Member
0 Kudos

Hi Phong,

WDA is generic client to Netweaver connection based on HTTP/S.

At this stage on a few clients are supported. WEB dynpro client and Browsers...

SAPGUI connects to SAP using a different protocol.

No SAPGUI connection is implied by a WDA client connection.

Therefore abap statements that invoke screens and otherwise assume SAPGUI

is connected are not supported in WDA. eg call screen, call transaction

You can either

a) build your own WDC to front end calls to BAPIs to get the Sales order data.

b) open/ exit to the new WDC for Sales Orders in ERP2005

see LORD_MAINTAIN_COMP

c) exit to the INTERNAL ITS URL for transaction VA03

eg http://<host>:<port>/sap/bc/gui/sap/its/webgui?~Transaction=VA03

but getting the skip first screen may require you to call custom tran ZVA03

which calls VA03 to skip first screen setting the PID appropriately.

Hopefully you opt for option a) or b).

c) can work... I have used it from BSPs but it not pretty.

regards

Phil

Former Member
0 Kudos

Hi Phil,

have you tried opening a SAP GUI transaction via shortcut? I've seen that in the past and it works. You might place the shortcut into mime repos and put a link in the view to that shortcut. That way you can call a transaction from the browser (if SAP GUI is installed on the client of course).

There is even the possibility to create the shortcut from coding and add some parameters to it so that you are able to skip the first screen of a transaction and pass a parameter. Seen that last week...

So that would be options d1 and d2 I guess...

Regards,

Alex

Former Member
0 Kudos

Good point... workflow style shortcuts to start a transaction is a an excellent option here.

This will start the gui and negate need for ITS. So better than option C for sure.

Former Member
0 Kudos

Alex,

How do you create a link to shortcut in a view?

Regards,

Phong Keith Pham

Former Member
0 Kudos

Inside the SAPLogin tool, there is an extra tab SHORTCUTs.

Press new item.

The result is a file with extension .SAP

.sap is associated with SAPGUI.

So when opened, the OS calls SAPGUI with this file.

The file content is simple text and can be created in a ABAP program easily.

Just look at the content in notepad.

something like

[

System]
Name=PJS
Description=ECC 6.0
Client=001
[User]
Name=SOADYP
Language=EN
Password= dont suggest you use this !!!!!!!!!
[Function]
Title=Display Order
Command=VA03
[Configuration]
WorkDir=C:temp
[Options]
Reuse=1

So you can download and open this file with extension .SAP from WDA.

It should lauch GUI in correct transaction.

Just need to get the parameters for passing start screen info to make it really slick.

I would need to look at sap.help.com for those details.

good luck,

Phil.

Former Member
0 Kudos

Phil,

I am able to create the shortcut and then import to MIME repository. I am also able to import the shortcut within my application.

The problem is how to execute the shortcut programmatically, see example below:

METHOD onactiondisplay_delivery .

  • get delivery info tab

DATA:

node_node_disp_del_data TYPE REF TO if_wd_context_node,

ga_node_disp_del_data TYPE if_view_bol_display=>element_node_disp_del_data .

node_node_disp_del_data = wd_context->get_child_node( name = if_view_bol_display=>wdctx_node_disp_del_data ).

node_node_disp_del_data->get_static_attributes( IMPORTING static_attributes = ga_node_disp_del_data ).

IF NOT ga_node_disp_del_data-dlv_delv_num IS INITIAL.

SET PARAMETER ID 'VL' FIELD ga_node_disp_del_data-dlv_delv_num.

  • CALL TRANSACTION 'ZVL03N' ....

  • I want to launch/execute the shortcut here

*

ENDIF.

ENDMETHOD.

Former Member
0 Kudos

Hi Phong,

there is an option to attach a file to the response.

cl_wd_runtime_services=>attach_file_to_response( )

Otherwise use the UI button download on the view.

regards

Phil.

Former Member
0 Kudos

Hi ,

Its good scenario. But i got confusion, Please correment me if i am wrong.

According to your mail, i thought that you want to display the information (displaye in VA03) when u double click on the ALV list?

For this u need to create a one more view and bind these fields to VA03 transaction and trigger this view when u double click and pass the Sales order number to this and fetch the information fromt he back end and displyed on the screen. i think this is best way.

You can't call direct transaction like call transaction VA03 skip first screen.

Thanks and Regards,

Vijay