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

Form, perform

Former Member
0 Likes
1,068

Hi,

Can I have a form with out perform.

If yes how?

I have seen some of the form stmts in ALV reports with out perform. I am not clear about it.

someone help me plz...

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
913

That is Dynamic subroutine.

6 REPLIES 6
Read only

Former Member
0 Likes
914

That is Dynamic subroutine.

Read only

0 Likes
913

so how to create a dynamic subroutine.

if i click on perform...

I get the form stmt.

but in dynamic i dont have Perform stmt. just wondering how to have a form. is it thorugh pattern?

Read only

0 Likes
913

Take the folowing example .

REPORT demo_mod_tech_perform_dyn .

DATA: progname(24) TYPE c VALUE 'DEMO_MOD_TECH_FORMPOOL_1',

subrname(8) TYPE c.

subrname = 'SUB1'.

PERFORM (subrname) IN PROGRAM (progname) IF FOUND.

subrname = 'SUB2'.

PERFORM (subrname) IN PROGRAM (progname) IF FOUND.

I hope this will help you.

Regards,

Amey

Read only

Former Member
0 Likes
913

Every form or routine has perform. There is no perform without its definition in form.

Just double click on perform and it will take you to the form. If it does not, then there is not form for it. Try to activate and you should get error

Thanks,

SKJ

Read only

Former Member
0 Likes
913

Normally these forms are initiated or used in ALV standard func. module reuse_alv_grid_display or list_display, so you won't find any perform statements for these function modules. Look into above function modules.

See the following example....

user_command will be a separate form in ALV report.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER = ' '

  • I_BUFFER_ACTIVE = ' '

i_callback_program = 'ZPCS_PROJ_INFO_SYSTEM'

  • i_callback_pf_status_set = 'MYGUI1'

i_callback_user_command = 'USER_COMMAND'

  • I_CALLBACK_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_TOP_OF_PAGE = ' '

  • I_CALLBACK_HTML_END_OF_LIST = ' '

  • I_STRUCTURE_NAME = 'IT_FINAL'

  • I_BACKGROUND_ID = ' '

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

is_layout = gs_layout

it_fieldcat = gt_fieldcat[]

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

it_sort = it_sort[]

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

it_events = it_st_events[]

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

t_outtab = it_final

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

Regards,

Amey

Message was edited by:

Amey Potale

Read only

Former Member
0 Likes
913

Yes, You can have it.

For example you can call a form using dynamic calls as follows:

lv_form_name = 'TEST'.

perform (lv_form_name) in program ztest.

In program ztest write this:

form test.

write:/ 'test'.

endform.

Regards,

Ravi