Ver Mensaje Individual
  #2  
Viejo 17/03/09, 11:48:31
PabloGP PabloGP is offline
Junior Member
 
Fecha de Ingreso: sep 2008
Mensajes: 21
Lo más sencillo es obtener el codigo para llamar a la SMARTFORM. El código lo sacas en el SMARFORM:

Enviroment > Function Module Name.

Te devolverá algo como: /1BDCBWB/SF00000341.

Luego en el programa que lo llama, vas a Patron y metes eso, como si metieras en nombre de una función normal y listo.

Otra opción te permite obtener el código del Smart Form automaticamente usando la funcion 'SSF_FUNCTION_MODULE_NAME'.


CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZNOMBRE_SMARTFORM'
* VARIANT = ' '
* DIRECT_CALL = ' '
IMPORTING
FM_NAME = nombre_formulario
* EXCEPTIONS
* NO_FORM = 1
* NO_FUNCTION_MODULE = 2
* OTHERS = 3
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Para ello define antes:

data: nombre_formulario type RS38L_FNAM.

Ahora ya tendrias el codigo en la variable nombre_formulario y haces lo mismo que cuando metias directamente el codigo.

Un saludo.
Responder Con Cita