MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
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 08/07/08, 09:16:29
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
Problemas con CALL FUNCTION 'SAVE_TEXT'

Buenos dias a todos compañeros.

Se que sobre este tema se ha hablado por el foro y lo he mirado pero no consigo hacer lo que pretendo.

Yo trabajo en el modulo PS y necesitaria incorporar unos textos largos a los objetos que creo (pep's, cabeceras de Grafo, operaciones de Grafo, etc). Para ello si no me equivoco se usa la funcion CALL FUNCTION 'SAVE_TEXT'.

El caso es que he debbugeado el codigo y parece que el standart lo hace asi pero yo pongo los mismos campos o similares y aunque no da errores no modifica el texto que yo quiero. ¿Alguien sabe porque, alguna sugerencia o manual?.


mi codigo es:



DATA: header TYPE TABLE OF thead WITH HEADER LINE.
DATA: lines TYPE TABLE OF tline WITH HEADER LINE.



header-TDOBJECT = 'PMS'.
header-TDNAME = 'E00003732'.
header-TDID = 'LTXT'.
header-TDSPRAS = 'S'.
*TDTITLE
*header-TDFORM = 'SYSTEM'.
*TDSTYLE
header-TDVERSION = 00001.
header-TDFUSER = 'IBM14'.
header-TDFRELES = 700.
header-TDFDATE = 20080708.
*TDFTIME
*TDLUSER
*TDLRELES
*TDLDATE
header-TDLTIME = 095235.
header-TDLINESIZE = 072.
header-TDTXTLINES = 00004.
*TDHYPHENAT
*TDOSPRAS
header-MANDT = SY-MANDT.
append header.
lines-TDFORMAT = '*'.
lines-TDLINE = 'AAAAAAAAAAAAAAABBBBBBBBBBBBCCCCCC'.
append lines.
lines-TDFORMAT = '*'.
lines-TDLINE = 'AAAAAAAAAAAAAAABBBBBBBBBBBBCCC'.
append lines.
lines-TDFORMAT = '*'.
lines-TDLINE = 'AAAAAAAAAAAAAAABBBBBBBBBBBBCCCCC'.
append lines.
lines-TDFORMAT = '*'.
lines-TDLINE = 'AAAAAAAAAAAAAAABBBBBBBBBBBBCCCCCCCCCCCCCCCCCD'.
append lines.

CALL FUNCTION 'SAVE_TEXT'
EXPORTING
CLIENT = SY-MANDT
HEADER = HEADER
INSERT = ' I '
SAVEMODE_DIRECT = ' X '
OWNER_SPECIFIED = ' SAPUSER '


LOCAL_CAT = ' '
IMPORTING
*FUNCTION =
NEWHEADER = HEADER
TABLES
LINES = LINES
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 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.

COMMIT WORK.









Un saludo y gracias de antemano.
Responder Con Cita
  #2  
Viejo 08/07/08, 12:53:02
chivi82 chivi82 is offline
Member
 
Fecha de Ingreso: mar 2006
Mensajes: 64
Save_text

¿Has probado a llamar al módulo de función COMMIT_TEXT después de hacer el SAVE_TEXT?
Responder Con Cita
  #3  
Viejo 08/07/08, 13:11:27
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
Es cierto, era eso. Lo que pasa es que no habia dicho que lo solucione, gracias. Ahora el problema va a ser leer textos planos sin un limite de caracteres ni de lineas pero supongo que habra alguna funcion o manera de hacerlo.


un saludo y gracias. ;-)
Responder Con Cita
  #4  
Viejo 09/07/08, 23:30:01
aldape aldape is offline
Senior Member
 
Fecha de Ingreso: dic 2007
Mensajes: 204
pues, creo que seria con la funcion READ_TEXT...

no pense que hubiera una funcion SAVE_TEXT jeje...
la ultima vez que quice agregar un texto a un objeto, hice un batch-input que lo agregaba, :P... voy a investigar esta funcion

Saludos!
Responder Con Cita
  #5  
Viejo 15/07/08, 09:26:15
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
Problema con Activacion de textos

Buenas a todos.

Seguimos con la funcion SAVE_TEXT. El caso es que cuando en el pep (es el modulo PS) se ha modificado el texto mediante el standart pues luego lanzo mi report y me modifica los textos perfectamente, hata aqui todo correcto pero.... El problema viene cuando creo el pep y voy a insertar el texto (que realmente es lo que necesito) pues no me lo genera, le pongo el campo 'insert' y me devuelve error al intentar abrirlo, por lo que intuyo que es algun bloqueo que pueda tener que al entrar por el standart a mano desbloquea y ya no necesita mas.


¿Alguien sabe Algo de esto? podrian echarme una mano, ahora si me corre prisa.

Muchas gracias.
Responder Con Cita
  #6  
Viejo 15/07/08, 14:18:30
ibecerra
 
Mensajes: n/a
Al parecer hay campos que no estas llenando correctamente
por ejemplo
SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}LS_THEAD-TDNAME = XLIPS-VBELN. --> aquie deberia ir el nuevo codigo que se ha generado en este caso estoy poniendo el nro de pedido

te paso el codigo que tengo que funciona bien cuando creo o modificio una entrega , guardo un texto.
SPAN {font-family: "Courier New";font-size: 10pt;color: #000000;background: #FFFFFF;}.L0S32 {color: #3399FF;}.L0S33 {color: #4DA619;}.L0S52 {color: #0000FF;}LS_THEAD-TDOBJECT = 'VBBK'.
LS_THEAD-TDNAME = XLIPS-VBELN.
LS_THEAD-TDID = '0001'.
LS_THEAD-TDSPRAS = SY-LANGU.
LS_THEAD-TDFORM = 'SYSTEM'.
LS_THEAD-TDVERSION = '00001'.
LS_THEAD-TDFUSER = SY-UNAME.
LS_THEAD-TDFRELES = SY-SAPRL.
LS_THEAD-TDFDATE = SY-DATUM.
LS_THEAD-TDFTIME = SY-UZEIT.
LS_THEAD-TDLUSER = SY-UNAME.
LS_THEAD-TDLRELES = SY-SAPRL.
LS_THEAD-TDLDATE = SY-DATUM.
LS_THEAD-TDLTIME = SY-UZEIT.
LS_THEAD-TDLINESIZE = '072'.
LS_THEAD-TDTXTLINES = '00001'.
LS_THEAD-TDMACODE1 = 'VL02SAPMV50A'.
LS_THEAD-MANDT = SY-MANDT.
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
HEADER = LS_THEAD
IMPORTING
NEWHEADER = LS_THEAD
TABLES
LINES = TLINETAB
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 4
OTHERS = 5.
Responder Con Cita
  #7  
Viejo 15/07/08, 14:28:16
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
Hola Ibecerra.

Revisare lo que me cuentas pero creo que no es cuestion de campos ya que esta sacado del standar y funcionan pero como intente explicar solo funciona si antes modifico el texto por la transaccion cj20n a mano y a partir de ahi va perfecto.

Este modulo el PS creo que en eso es algo peculiar ya que a la hora de llamar ha bapis hay que inicializarlas en algunas ocasiones, etc.

Intullo que es como si necesitara generar el texto antes de modificarlo ya que aunque visualmente parezca creado me da la sensacion de que no es asi.

Alguna sugerencia? Como digo una vez hecha una modificacion a mano del texto en la cj20n, la bapi funciona perfectamente pero hasta entonces no.

De hecho si fuerzo el insert al intentar hacer la funcion commit me dice que no puede abrirlo.


saludos y gracias por todo, agradezco cualquier ayuda porque me corre mucha prisa.
Responder Con Cita
  #8  
Viejo 15/07/08, 16:24:13
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635
Prueba con la funcion CREATE_TEXT. Es muy parecida, la utilicé hace mucho (No en PS) y me funcionó.

Saludos
Responder Con Cita
  #9  
Viejo 15/07/08, 16:47:20
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
YA HE PROBADO Y TAMPOCO FUNCIONA.

La verdad espiezo a desesperar un poco porque debe ser alguna tonteria pero se me escapa ahora mismo. Tambien es cierto que parece propio PS.

SAludos y gracias por el interes.
Responder Con Cita
  #10  
Viejo 16/07/08, 06:51:31
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635
¿Has probado a meter el texto directamente desde la se37?
Yo le pasaría solo los estos campos de cabecera :
¿Estas seguro que el tdname es correcto?
Si te dice esto:
yo utilizaría la función create_text, el save creo que es para modificar.

A ver si sacamos algo en claro.

Saludos
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:49:14.


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