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 17/09/09, 16:22:12
Avatar de shinharold
shinharold shinharold is offline
Junior Member
 
Fecha de Ingreso: jun 2009
Localización: colombia
Mensajes: 15
Question Textos Largos en SapScript

Hola Foro de MUNDOSAP,

tengo un sapscript, el cual en la pagina principal uno de los recuadros o framebox(POINT2) recibe un texto, que se toma desde la SO10, mediante un include se envia el ID el OBJ, y retorna el texto, cuando es pequeno cabe dentro del framebox, pero el problema es que cuando excede el tamano del recuadro, solo se ve una parte, ahora el cliente quiere que se muestre todo el texto sin importar el tamano del texto.
se planteo que cuando pasara esto el texto completo se generara en una nueva hoja aparte.
debido a mi poca experiencia en sapscript, recurro al foro,
para saber como lo harian ustedes ??

de antemano gracias

Úlima edición por shinharold fecha: 16/12/09 a las 18:57:29.
Responder Con Cita
  #2  
Viejo 16/12/09, 18:40:38
Avatar de shinharold
shinharold shinharold is offline
Junior Member
 
Fecha de Ingreso: jun 2009
Localización: colombia
Mensajes: 15
Cool ahora es otro el problema

hice las siguientes modificaciones al sapscript:
primero en el recuadro del texto cambie la ventana auxiliar por un main, donde esta el siguiente codigo para generar el texto:

/: POSITION WINDOW
/: POSITION XORIGIN '+0' CH YORIGIN '+0' LN
/: SIZE WIDTH '+0' CH HEIGHT '+0' LN
/: BOX FRAME 10 TW
PH 2º Descripción de error : <N>&IT_PRINT-QMTXT&</> ,,&VIQMEL-QMTXT&
/: INCLUDE &IT_PRINT-QMNUM& OBJECT QMEL ID LTQM LANGUAGE 'S'


genere una segunda ventana donde va la continuacion del texto (en caso que tenga mas de 5 lineas)el problema radica en que esta segunda ventana tiene que llevar el main para poder continuar el texto, y al colocar el main automaticamente se copia el codigo anterior, por lo cual el texto queda al final repetido 2 veces !!.
intente colocando en la primera pagina el main y en la segunda pagina una ventana normal (WINDOW2), pero de esta forma genera el siguiente error:

( Salida en papel continuo o contiene demasiadas
páginas (>3). )

crei que ya lo habia solucionado pero nop !!
alguien puede ayudarme ??? alguno o alguna sabe como evitar que el codigo se repita en el main ??? o alguna alternativa a este problema ??

de antemano gracias !!!

shinharold
Responder Con Cita
  #3  
Viejo 18/12/09, 19:29:21
Avatar de shinharold
shinharold shinharold is offline
Junior Member
 
Fecha de Ingreso: jun 2009
Localización: colombia
Mensajes: 15
pregunta pregunta

hola a todos
alguno me puede colaborar con este codigo, resulta que me dieron una buena opcion para generar los texto pero tengo el siguiente problema.

coloque este codigo en el programa control


//////////////////////////////////////////////////////////////////////////

data: it_texto like standard table of tline with header line,
v_cont type I. "guarda el resultado del describe it_texto.

//////////////////////////////////////////////////////////////////////////
form que llama funcion que trae los datos de la transaccion SO10.
form textos_so10.

* LOOP AT IT_PRINT WHERE CHECK = 'X'.
v_aviso = it_print-qmnum.

*//FUNCION QUE LEE EL TEXTO DEL SAPSCRIPT.
call function 'READ_TEXT'
exporting
client = sy-mandt
id = 'LTQM'
language = sy-langu
name = v_aviso
object = 'QMEL'
* ARCHIVE_HANDLE = 0
* LOCAL_CAT = ' '
* IMPORTING
* HEADER =
tables
lines = it_texto
exceptions
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
others = 8
.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.

* ENDLOOP.
describe table it_texto lines v_cont.

endform. "TEXTOS_SO10.
/////////////////////////////////////////////////////////////////////////

funcion que permite escribir en el formulario los textos.
se llama despues del (call fuction 'start_form')

if v_cont > 6.
loop at it_texto.
call function 'WRITE_FORM'
exporting
element = 'ITEM_LINE' "nombre del elemento
function = 'APPEND' "opcional, generalmente SET
type = 'BODY'
window = 'POINT2-1' "nombre de la ventana
* IMPORTING
* PENDING_LINES =
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
.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.



y en el sapscript realizo el siguiente codigo:

/E ITEM_LINE
/: &it_texto-tdlines&

ahora el problema que se presenta es que a pesar que la variable va cambiando el dato hasta el final del texto, no lo esta imprimiendo completamente solo imprime la ultima linea, y son el APPEND imprime 2 veces la misma linea.

a alguien le ha pasado algo parecido que me pueda ayudar,
le quedare eternamente agradecido.....

shinharold
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 13:59:08.


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