cancel
Showing results for 
Search instead for 
Did you mean: 

calling an external subroutine

Former Member
0 Kudos

Hi Friends ,

how to call an external subroutine in smartform?

how to find the respective print program for a smartform

which is not assigned in nace transaction?

Thanks and Regards

kamil..

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi

Use the help of a functional consultant or dig the Transaction SPRO for finding the related Smartform for an application document which is not assigned in NACE tcode

Majority of SD and MM smartforms/forms will be assigned in NACE

where as other module scripts/Sf's are not assigned here

so you have to search in SPRO

There is no need to call external subroutine for writing the code and to bring the external fields data into smartform Unlike scripts.

You can create the program lines in that window and write the code for getting the extra info required and use

<b>Reward points for useful Answers</b>

Regards

Anji

Former Member
0 Kudos

Hi,

we call the external subroutines by using PERFORM and ENDPERFORM control command....

You can use the PERFORM command to call an ABAP subroutine (form) from any program, subject to the normal ABAP runtime authorization checking.

Syntax in a form window:

/: PERFORM <form> IN PROGRAM <prog>
/: USING &INVAR1&
/: USING &INVAR2&
......
/: CHANGING &OUTVAR1&
/: CHANGING &OUTVAR2&
......
/: ENDPERFORM

The ABAP subroutine called via the command line stated above must be defined in the ABAP report prog as follows:

FORM <form> TABLES IN_TAB    STRUCTURE ITCSY
                                   OUT_TAB STRUCTURE ITCSY.

...
ENDFORM.

The TNAPR table contains script form and it's print program. by using this table we can findout the printprogram of the script form.

<b>or</b>

in print program, we found the script form name.........

simply you findout the value for parameter FORMNAME of the OPEN_FORM or START_FORM function module.

FORM-----> You can enter the name of a form here, which then controls output formatting. After calling OPEN_FORM, you can immediately output texts to the form using other function modules.

CALL FUNCTION 'OPEN_FORM'

              EXPORTING 

                        FORM = <FORM-NAME>
                        LANGUAGE = SY-LANGU

                        DEVICE = 'PRINTER'

Regards,

Ashok Reddy

former_member196280
Active Contributor
0 Kudos

You can create program lines in smartforms and write your code in this program lines... no need of calling external subroutine in smartform.

We can see print programs for particular forms from this table TNAPR.

If your questions is answered close the thread and reward points.

Regards,

SaiRam