PDA

Ver la Versión Completa : Campo texto de cabecera en ped de MM


davidr
05/01/07, 12:54:00
Hola a todos,

en los pedidos de compras, en la pestaña Textos, ¿cómo puedo obtener los valores de Texto de cabecera, Nota de cabecera,...? ¿De qué tabla y campo?

Gracias de antemano.

Hersap
09/01/07, 15:30:19
Hola davidr

Para obtener estos textos podrias hacer cuanto sigue en el ejemplo:

*
* Obtengo el texto para el ID (F01)
*

CLEAR w_line.
REFRESH w_line.
WRITE w_ebeln TO w_name.

* Existe Texto: se controla en STXH que exista el texto por ejemplo F01
PERFORM existe_texto USING c_object w_name w_langu 'F01'.

IF sy-subrc = 0.

*
* Obtengo la descripción del texto
* de la tabla TTXIT. Asi nos aseguramos que el titulo
* aparezca como en pantalla (Ej: Texto de Envio)
*
SELECT SINGLE tdtext
INTO w_tdtext
FROM ttxit
WHERE tdspras = w_langu AND
tdobject = c_object AND
tdid = 'F01'.


*
* Funcion standard para recuperar textos por Ej. F01
*
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = 'F01'
language = w_langu
name = w_name
object = c_object
TABLES
lines = w_line
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.
ELSE.
CLEAR w_aux.

* Controlamos cuantas lineas tiene el texto F01

CLEAR w_aux.
CLEAR w_line.

w_dateout-name = 'ZCABTEXT'.
READ TABLE w_line INDEX 1.
w_dateout-value = w_line-tdline.
*
* Como existe la posibilidad de que los usuarios ingresen lineas en
* Blanco como primera linea del comentario se procede a realizar un
* recorrido sobre las lineas ingresadas siempre y cuando la primera
* se encuentre vacia.
*
IF w_line-tdline NE SPACE.
w_dateout-value = w_line-tdline.
ELSE.
DO.
READ TABLE w_line INDEX sy-index.
IF sy-subrc <> 0.
EXIT.
ELSEIF w_line-tdline NE SPACE.
w_dateout-value = w_line-tdline.
EXIT.
ENDIF.
ENDDO.
ENDIF.

* Se agrega la fila de texto a la tabla utilizada como parametro de salida

APPEND w_dateout.

ENDIF.


Asi en adelante deberias recuperar para los textos
F03, F05, F06, F07, F08, F09, F10, F16, F15, F18, F19, F20 segun vayan presisando.

Espero te sirva el ejemplo.

Saludos :)