MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Formularios - SAPScript - Smartforms
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 18/05/12, 10:06:00
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
No sé como funciona el include en sapscripts para textos

Hola,

estoy revisando un sapscript que tiene la siguiente instrucción:
/: INCLUDE &T166K-TXNAM& OBJECT &T166K-TDOBJECT& ID &T166K-TDID& LANGUAGE 'ES'

por lo que he podido averiguar, esta instrucción se comportaría como un read_text y muestra los textos que puedan estar grabados en la transacción.

Al debuguear veo que los valores que llegan corresponden con el número de pedido, el identificador del texto y la tabla. Pero no veo cómo puedo hacerles llegar esos valores. He consultado la tabla T166K y ahí no existen los valores que le llegan.

muchas gracias.
un saludo.
Responder Con Cita
  #2  
Viejo 18/05/12, 11:23:42
Melandry Melandry is offline
Senior Member
 
Fecha de Ingreso: ene 2011
Mensajes: 110
Hola, no se si puedes explicar mejor el problema o lo que quieres conseguir, porque el último párrafo me mató y no entendí nada.
Responder Con Cita
  #3  
Viejo 18/05/12, 11:47:13
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
Claro, la verdad que como no sé como funciona no sé como explicar lo que quiero.

El formulario, es la impresión de un pedido de compras. imprime una sección, que son los textos a nivel de cabecera.
Viendo la estructura del formulario, veo que utiliza la sentencia INCLUDE.

Necesito, desde un programa z, imprimir este formulario. Yo veo, que a la sentencia include se le tiene que pasar el número de pedido, el id y el object. Lo que no sé es cómo se lo puedo pasar.

Desde el programa que llama al formulario he intentado hacer algo así:

data: t166k type table of t166k with HEADER LINE.
t166k-TXNAM = p_ebeln.
t166k-TDOBJECT = 'EKKO'.
t166k-TDID = 'F01'.
append T166K.

loop at T166K.

CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = ' '
WINDOW = 'OBSERVA'
EXCEPTIONS
ELEMENT = 1
FUNCTION = 2
TYPE = 3
UNOPENED = 4
UNSTARTED = 5
WINDOW = 6
BAD_PAGEFORMAT_FOR_PRINT = 7
SPOOL_ERROR = 8
CODEPAGE = 9
OTHERS = 10.

endloop.

Sin embargo, sigue sin imprimirse las observaciones.

No sé si me he explicado ahora lago mejor.

muchas gracias.
Responder Con Cita
  #4  
Viejo 18/05/12, 12:47:52
Melandry Melandry is offline
Senior Member
 
Fecha de Ingreso: ene 2011
Mensajes: 110
Como bien dices debería ser posible leerlo con la READ_TEXT (La sentencia INCLUDE en el formulario tiene el mismo efecto), por lo que una prueba que puedes hacer es a ejecutar la función con esos valores y ver si recupera algo.
Los textos estarán en la tabla STXH.
También puedes ir al pedido a ver si el ID, el OBJECT son los correctos, para ello vas al texto de cabecera, cambiar el editor de texto a editor SAPscript y una vez dentro ir al menu superior > pasar a> cabecera y ahí podrás chequearlo.
Un saludo.
Responder Con Cita
  #5  
Viejo 18/05/12, 13:20:22
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
Gracias por contestar Melandry.

Los valores que le estoy pasando son valores que he utilizado de prueba con la función read_text, que a su vez son los valores, que está recibiendo el formualrio cuando lo imprimo por la me23n. Por eso sé que son correctos. Sin embargo, al tratar de pasarlos mediante el loop en el write_form no veo que estén llegando al sapscript.
Responder Con Cita
  #6  
Viejo 18/05/12, 13:55:17
Mari.Sole Mari.Sole is offline
Senior Member
 
Fecha de Ingreso: nov 2010
Localización: Argentina
Mensajes: 121
Hola Jtristan,
Una consulta muy tonta a lo mejor, pero estás seguro que tu programa Z está llamando al sapscript?.
Prueba activar el debbuguer del formulario y ejecutar tu programa Z para ver si efectivamente el OPEN_FORM lo realiza y si es así dentro del debbuguer del sapscript verifica que las estructuras están pasandose al include text o si alguna condición hace que se saltee esa ventana.

Saludos.
Responder Con Cita
  #7  
Viejo 23/05/12, 06:55:01
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
Hola Mari.Sole,

el formulario se ejecuta bien, excepto la parte del include. Al debuguear lo que veo, es que los valores que solicita el include llegan vacíos. Sin embargo, en el loop que tengo antes del write_form si que están llegando correctamente.

Voy a hacer que el sapscript llame a una función y en esta haré el write_form, pero si que me parece útil esta instrucción y por eso quiero ver como funciona.

Muchas gracias.
Responder Con Cita
  #8  
Viejo 23/05/12, 07:21:43
Melandry Melandry is offline
Senior Member
 
Fecha de Ingreso: ene 2011
Mensajes: 110
Hola de nuevo.
Fíjate a ver si la variable que usas en el include la tienes declarada como global en tu programa control, si no es así pues no le llegan los datos al formulario.

Y otra cosa, si tienes que imprimir más de una línea, si tu ventana no es la ventana main, sólo vas a poder ver el último registro porque se van a pisar.

Úlima edición por Melandry fecha: 23/05/12 a las 08:16:31.
Responder Con Cita
  #9  
Viejo 24/05/12, 13:40:30
jtristan jtristan is offline
Senior Member
 
Fecha de Ingreso: oct 2007
Mensajes: 240
Hola Melandry,

perdona que no te contestase antes pero surgio otra prioridad y no he podido retomar el tema hasta ahora.
En efecto, el problema era que no había declarado la tabla interna como global. Al hacerlo ya recibe perféctamente los valores.

Muchas gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 12:02:08.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web