Hola, ocurre isto conmigo también y no lo se que pasa
Estoy haciendo un SmartForm copiado de uno estandard y mi codigo esta hecho asi:
1) En en nodo interfase formulario y en la solapa Tablas hago la siguiente declaración:
TAB1 LIKE TABLADIC1
TAB2 LIKE TABLADIC2
donde las tablas TABLADIC1 y TABLADIC2 son del diccionario SAP.
2) En el nodo definiciones globales y en la solapa datos globales tengo:
AUX_TAB1 LIKE TABLADIC1
AUX_TAB2 LIKE TABLADIC2
En la sopala Incialización tengo declarado:
PERFORM FORM1.
PERFORM FORM2.
Hasta aqui no tengo errores.
3) En la solapa Rutinas tengo lo siguiente error:
Aleman: Zeile 0002 Sprachelement im Kontext nicht erlaubt
Español: La partida 0002 en el contexto de la lengua no está permitida
Codigo en esta solapa:
DATA: BEGIN OFAUX_TAB1 OCCURS 0.
INCLUDE STRUCTURE TABLADIC1.
DATA: END OF AUX_TAB1.
DATA: BEGIN OF AUX_TAB2 OCCURS 0.
INCLUDE STRUCTURE TABLADIC2.
DATA: END OF AUX_TAB2.
DATA: nombre_modulo_funcion TYPE rs38l_fnam.
FORM FORM1.
CLEAR AUX_TAB1.
REFRESH AUX_TAB1.
CLEAR AUX_TAB2.
REFRESH AUX_TAB2.
SELECT * INTO CORRESPONDING FIELDS OF TABLE AUX_TAB1
FROM TABLADIC1.
SELECT * INTO CORRESPONDING FIELDS OF TABLE AUX_TAB2
FROM TABLADIC1
INNER JOIN AUX_TAB1 ON
AUX_TAB1~CAMPO1 = AUX_TAB2~CAMPO1.
ENDFORM.
FORM FORM2.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'NOMBRESMARTFORM'
IMPORTING
fm_name = nombre_modulo_funcion
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.
CALL FUNCTION nombre_modulo_funcion
TABLES
TAB1 = AUX_TAB1
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
Espero que alguien pueda ayudarme.
Gracias por adelantado.
Emilio Acuña.