|
#1
|
|||
|
|||
Codigo dentro de la funcion:
*Typos types: begin of ty_bdc_tab, program type bdcdata-program, dynpro type bdcdata-dynpro, dynbegin type bdcdata-dynbegin, fnam type bdcdata-fnam, fval type bdcdata-fval. types: end of ty_bdc_tab. *Tablas data: gt_bdc_tab type ty_bdc_tab. *Variables DATA: x_l(10) TYPE c. CASE p_codigo. WHEN 'C'. "Creación de Equipos PERFORM ztest USING 'C' CHANGING x_l. WHEN 'M'. "Modificacion de datos del Equipo PERFORM ztest USING 'M' CHANGING x_l. ENDCASE. ENDFUNCTION. *&---------------------------------------------------------------------* *& Form ztest *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->CL_A text * -->CL_L text *----------------------------------------------------------------------* FORM ztest USING cl_a CHANGING cl_l TYPE c. IF cl_a EQ 'C'. MOVE 'Creacion' TO cl_l. ELSE. MOVE 'Modificacion' TO cl_l. ENDIF. ENDFORM. "ztest *&--------------------------------------------------------------------* *& Form dynpro *&--------------------------------------------------------------------* * -->MODO Modo de ejecución * -->NOMBRE Nombre de programa * -->VALOR Valor de la dynpro *---------------------------------------------------------------------* form dynpro using modo nombre valor changing wa_tabla type ty_bdc_tab. * ACA DA EL ERROR, en la linea del changing, * donde pone que el "type ty_bdc_tab is unknown" clear wa_tabla. if modo = 'X'. move: nombre to wa_tabla-program, valor to wa_tabla-dynpro, 'X' to wa_tabla-dynbegin. else. move: nombre to wa_tabla-fnam, valor to wa_tabla-fval. endif. append wa_tabla. endform. "dynpro |
#2
|
|||
|
|||
Por qué no probás poniendo: form dynpro using modo nombre valor changing wa_tabla LIKE gt_bdc_tab. Por otro lado, si tu wa_tabla es una tabla, fijáte que ty_bdc_tab es una estructura. Deberías declarar el tipo de tabla. Quizá así funcione: Una vez a mi me pasó que me daba error al llamar una rutina, si no me equivoco era usando CHANGING, y si mal no recuerdo lo solucioné cambiándolo por el TABLES. Espero algo de todo este enriedo te sirva, jaja Úlima edición por Abaunus fecha: 02/07/09 a las 19:16:47. |
#3
|
||||
|
||||
Hola, cuando creas variables dale doble click y sap te preguntara en que INCLUDE quieres crearla, normalmente ese INCLUDE para el usuario (en ese caso tu usuario) dira un formato mas o menos asi:
LZ........TOP Ese include esta disponible para los desarrolladores para poder crear las variables globales que nos serviran asi como tbm crear MODULES, FORMS, tienen la misma forma LZ........I01 LZ........O01 LZ........F00 Si te das cuenta esos son los que en el segundo caracter tienen la Z, los de SAP (donde no se puede escribir) tienen una S u otra letra. La razon es porque ese grupo de funciones puede ser generado, por ejemplo, por un mantenimiento de una tabla y cuando queramos regenerar el grupo de funciones no se modificara los INCLUDES LZ...... ya que son nuestros y no de SAP, espero te pueda ayudar la INFO
__________________
David Carballido Córdova |
Herramientas | Buscar en Tema |
Desplegado | |
|
|