Problemas con longitud de campo texto en SmartForm

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • AndresGomez1234
    Junior Member
    • nov
    • 1

    #1

    Problemas con longitud de campo texto en SmartForm

    Hola Comunidad,

    Estoy teniendo problemas al querer introducir un texto que se encuentra en la cabecera de una orden en una variable gv_obsdeclarada global de tipo String dentro de mi smartform.

    El problema consiste en que cuando utilizo la funcion READ_TEXT, esta funcion me devuelve una tabla interna LTI_LINES, con todo el texto contenido en la cabecera.

    Luego para extraer ese texto de la tabla lo que hago es hacerle un loop e intento introducir toda la informacion mediante la instruccion Concatenate en la variable gv_obs, asi:

    OJO: la variable gv_obs se encuentra declarada en los parametros globales del smartform.


    DATA: lv_name type THEAD-TDNAME.

    DATA: lti_lines TYPE STANDARD TABLE OF TLINE.

    FIELD-SYMBOLS: wa_lines LIKE LINE OF lti_lines.

    CONCATENATE sy-mandt gs_cab-orden into lv_name.


    CALL FUNCTION 'READ_TEXT'
    EXPORTING
    ID = 'KOPF'
    LANGUAGE = 'S'
    NAME = lv_name
    OBJECT = 'AUFK'
    TABLES
    LINES = lti_lines
    EXCEPTIONS
    ID = 1
    LANGUAGE = 2
    NAME = 3
    NOT_FOUND = 4
    OBJECT = 5
    REFERENCE_CHECK = 6
    WRONG_ACCESS_TO_ARCHIVE = 7
    OTHERS = 8.


    LOOP AT lti_lines into wa_lines.

    CONCATENATE gv_obs wa_lines-tdline INTO gv_obs SEPARATED BY ' '.

    ENDLOOP.

    ************

    En este punto se presenta el proble, pues a pesar de que he declarado mi variable de tipo String, solo admite el texto hasta 255 caracteres, y yo necesito que me permita guardar todo el texto para despues poderlo mostrar cuando la llame desde un elemento de texto para mostrarlo en mi Smartform.

    Espero me puedan ayudar, Gracias
    Editado por última vez por AndresGomez1234; 24/11/2018, 10:43:53.
  • Astaroth_SA
    Member
    • jul
    • 58

    #2
    Si nadie me corrige no se pueden pasar más de 255 caracteres por string o al menos cuando me pasó una vez hace tiempo.

    Yo lo solucioné utilizando una tabla interna del tipo TCHAR255 y almacenando en cada línea un máximo de 255 caracteres.

    Luego creas un LOOP de la tabla interna GT_ITAB INTO GV_TEXTO (type char255) y dentro del loop añades un texto donde irá el &GV_TEXTO& pero cambiando en la opción de "Inicio" por "Añadir directamente" en las propiedades.



    Espero que te sirva

    Comentario

    Trabajando...