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

skip screen without user interaction

Former Member
0 Likes
1,710

hi abapers,

please can any one solve my issue.

sub: actually i have developed a interactive report for get the information based on given package name .which gets the all the package information . but my problem is when iam click on the domain , dataelement,tabels,functiongroup,program,functionmodule..........whatever it may from the basic list .

for ex : now iam click on the table . i want to show respective table display mode. ( se 11 tcode is displayed but i want to display

specific table display mode'.)

2. now iam click on the domain . i want to show respective domain information.

.3 if i click on dataelement .i want to show respective dataelement information

.

.

.

.

.

i hope you understand my requirement. please any one knows this issue send to mail id.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,501

Hi,

Add this to yout REUSE_ALV_GRID_DISPLAY.

i_callback_user_command  = 'USER_COMMAND'

Then, create a subroutine like this.

FORM user_command USING r_ucomm     LIKE sy-ucomm
                        rs_selfield TYPE slis_selfield.
  CASE r_ucomm.
    WHEN '&IC1'.
      IF     rs_selfield-fieldname EQ <program FIELD name>.
        SET PARAMETER ID 'RID' FIELD rs_selfield-value.
        CALL TRANSACTION 'SE38' AND SKIP FIRST SCREEN.
      ELSEIF rs_selfield-fieldname EQ <table FIELD name>.
        SET PARAMETER ID 'DTB' FIELD rs_selfield-value.
        CALL TRANSACTION 'SE11' AND SKIP FIRST SCREEN.
      ELSEIF rs_selfield-fieldname EQ <domain FIELD name>.
        SET PARAMETER ID 'DOM' FIELD rs_selfield-value.
        CALL TRANSACTION 'SE11' AND SKIP FIRST SCREEN.
      ELSEIF rs_selfield-fieldname EQ <date ELEMENT field name>.
        SET PARAMETER ID 'DTYP' FIELD rs_selfield-value.
        CALL TRANSACTION 'SE11' AND SKIP FIRST SCREEN.
      ELSEIF rs_selfield-fieldname EQ <function MODULE field name>.
        SET PARAMETER ID 'LIB' FIELD rs_selfield-value.
        CALL TRANSACTION 'SE37' AND SKIP FIRST SCREEN.
      ENDIF.
  ENDCASE.

ENDFORM                    "user_command

Regards,

iostreamax

11 REPLIES 11
Read only

former_member189779
Active Contributor
0 Likes
1,500

Hi

Are you using ALV for first display?

Use SET PARAMEter ID .....field (name of field)

Examaple

CASE ucomm.

WHEN '&IC1'.

SET PARAMETER ID 'KTO' FIELD selfield-value.

CALL TRANSACTION 'CAA3' AND SKIP FIRST SCREEN.

ENDCASE.

ENDFORM.

Edited by: Vinit Joshi on Feb 24, 2012 5:31 PM

Read only

Former Member
0 Likes
1,500

Hi Venkatrao,

This can be achieved by following the below mentioned code.

CASE sy-ucomm.
WHEN &IC1&. 
SET PARAMETER ID <Parameter id of the field in screen which you want to skip> FIELD selfield-value.
CALL TRANSACTION <T-code> AND SKIP FIRST SCREEN.
* in the above 2 statements parameter id and T-code will vary based on objects you select... like se38 for program 
* se11 for table , data element , domain etc..
ENDCASE.

hope this helps.

Please revert for any questions.

Regards,

Praveenkumar T.

Read only

Former Member
0 Likes
1,502

Hi,

Add this to yout REUSE_ALV_GRID_DISPLAY.

i_callback_user_command  = 'USER_COMMAND'

Then, create a subroutine like this.

FORM user_command USING r_ucomm     LIKE sy-ucomm
                        rs_selfield TYPE slis_selfield.
  CASE r_ucomm.
    WHEN '&IC1'.
      IF     rs_selfield-fieldname EQ <program FIELD name>.
        SET PARAMETER ID 'RID' FIELD rs_selfield-value.
        CALL TRANSACTION 'SE38' AND SKIP FIRST SCREEN.
      ELSEIF rs_selfield-fieldname EQ <table FIELD name>.
        SET PARAMETER ID 'DTB' FIELD rs_selfield-value.
        CALL TRANSACTION 'SE11' AND SKIP FIRST SCREEN.
      ELSEIF rs_selfield-fieldname EQ <domain FIELD name>.
        SET PARAMETER ID 'DOM' FIELD rs_selfield-value.
        CALL TRANSACTION 'SE11' AND SKIP FIRST SCREEN.
      ELSEIF rs_selfield-fieldname EQ <date ELEMENT field name>.
        SET PARAMETER ID 'DTYP' FIELD rs_selfield-value.
        CALL TRANSACTION 'SE11' AND SKIP FIRST SCREEN.
      ELSEIF rs_selfield-fieldname EQ <function MODULE field name>.
        SET PARAMETER ID 'LIB' FIELD rs_selfield-value.
        CALL TRANSACTION 'SE37' AND SKIP FIRST SCREEN.
      ENDIF.
  ENDCASE.

ENDFORM                    "user_command

Regards,

iostreamax

Read only

0 Likes
1,500

Hi iostreamax,

thank you for giving your reply still my problem not solved. actually i using below statements it goes to only SE11 transction.

but my problem is it does not go to display particular table. for ex :

SET PARAMETER ID 'DTB' FIELD rs_selfield-value. "her rs_selfied-value = 'KNA1'

CALL TRANSACTION 'SE11' AND SKIP FIRST SCREEN.

i hope you understand my requirement. i want to go to display kna1 table which displays field names of particular transaction

regards,

venkat rao

Read only

0 Likes
1,500

Hi

Try giving field name as well

e.g IF rs_selfield-fieldname EQ 'VBELN'

Then move your value to rs_selfield-value

Regards

Vinit

Edited by: Vinit Joshi on Feb 27, 2012 9:18 AM

Read only

0 Likes
1,500

Yoy could try

- add PARAMETER ID 'DDR' FIELD 'RSRD1-TBMA'. for tables, adapt for other radiobuttons.

- use FM 'RS_DD_TABL_EDIT' (*) (replace TABL with FIEL, STRU, etc. for other object types)

Regards,

Raymond

(*) Also pass 'S' for EDIT_MODE to display (default value is edit)

Read only

0 Likes
1,500

Hi,

I understand your requirement but I also wonder why it does not continue to display.

Maybe because it is not trigger by usual fcode (e.g. execute(f8), enter, etc.) unlike other transaction (e.g. VA01, VA02).

It's just a guess. Anyways please try this, hope it will help.

PARAMETERS: p_table LIKE rsedd0-ddobjname. " input TABLE NAME

START-OF-SELECTION.

  IF p_table IS NOT INITIAL.
    CALL FUNCTION 'RS_DD_FIEL_SHOW'
      EXPORTING
        objname = p_table.

    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

  ENDIF.

Read only

0 Likes
1,500

Hi Raymond,

thanks for your valuble suggestion its working fine . again my problem is i want to go to display mode in SE38 PROGRAM

AND FUNCTION GROUP , ENHNCEMENTS , BADIS,SCRIPTS,SMARTFORMS,..........AND MESSAGE CLASS SE 91 AND SO ON.

PLEASE GIVE YOUR VALUBLE SUGGESTION.

REGARDS,

VENKAT RAO

Read only

0 Likes
1,500

If you want a more generic function, try the FM TR_OBJECT_JUMP_TO_TOOL (the one used when displaying transport requests) you could either

- convert the object to TADIR Repository objects and use action 'SHOW'

- look at the FM source and copy part to your report

Regards,

Raymond

PS: You could also try class CL_WB_NAVIGATOR

Read only

0 Likes
1,500

hi raymond,

I would like tell thanks to you for giving your valuble solution. all generic funtion are working but cmod and smartstyles ,smartform is not working could you please give your valuble answer. i hope your answer expecting soon.

thanks,

venkat rao

Read only

0 Likes
1,500

Sorry but the main program of those transaction are not (afaik) used by any FM or class (perform a where-used on those) so you may require to build some small batch-input to execute a [CALL TRANSACTION USING bdc_tab|http://help.sap.com/abapdocu_70/en/ABAPCALL_TRANSACTION.htm] [OPTIONS FROM |http://help.sap.com/abapdocu_70/en/ABAPCALL_TRANSACTION_BDC_OPTIONS.htm#&ABAP_ADDITION_3@3@] (NOBIEND)

Regards,

Ramond