#1
|
|||
|
|||
BAPI_PO_CREATE1 y texto pedido material
Hola Foro:
Utilizo BAPI_PO_CREATE1 para crear pedidos y funciona perfectamente. El problema es que tengo que poner un texto en el "texto pedido del material" y no tengo ni idea de como hacerlo. ¿Lo sabe alguien? ¿Tal vez hay que utilizar la tabla BAPIMEPOTEXT? Muchas gracias. |
#2
|
|||
|
|||
Tabla BAPIMEPOITEM
En la tabla de posiciones BAPIMEPOITEM el campo short_text prueba a meter ahi a ver si te funciona.
Suerte! Un saludo |
#3
|
|||
|
|||
Lo he intentado con poca fe y efectivamente ............ no me sirve, este es el "texto breve de la posición". El que yo necesito es (dentro de los textos de posición) el "texto pedido de material".
¿Alguna otra idea? |
#4
|
|||
|
|||
Uhmmm... creo que todo lo que te he puesto está mal, pensé que era para el texto de la cabecera del pedido. Supongo que se pueda hacer algo similar pero a nivel de posición, pero no te lo puedo confirmar. Saludos ---------------------------------------------------------------------------------------------------------------------- Hola, Prueba a crear los pedidos con la BAPI_PO_CREATE1, por cada uno creado recuperas el número de pedido creado y mediante un call function a SAVE_TEXT de la siguiente forma: data: lt_tdline like tline occurs 0, "Tiene cabecera lt_head like thead. if not pi_tdline is initial. * Se construye la tabla que se le va a pasar a la func. (tabla con el texto largo pi_tdline "cortado" en líneas según ancho de la ventana de texto y guardándolas en la tabla lt_tdline perform construir_tabla tables lt_tdline using pi_tdline. clear lt_head. * Este es un ejemplo para cargar un texto de un material, debugueando * podrás obtener los valores para una PO. lt_head-tdobject = 'MATERIAL'. lt_head-tdname = pi_msgv1. lt_head-tdid = 'BEST'. lt_head-tdspras = 'S'. lt_head-tdform = 'SYSTEM'. lt_head-tdlinesize = '072'. call function 'SAVE_TEXT' exporting client = sy-mandt header = lt_head insert = ' ' savemode_direct = 'X' * OWNER_SPECIFIED = ' ' * LOCAL_CAT = ' ' * IMPORTING * FUNCTION = * NEWHEADER = tables lines = lt_tdline 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. endif. Espero que te sirva de algo, saludos Úlima edición por Bmamba fecha: 06/11/08 a las 10:53:44. |
#5
|
|||
|
|||
Bien ............. voy a intentar la vía que me propones .......... pero tengo una duda ............... para el texto de la cabecera de pedido pasas el parámetro 'BEST'. ¿Como puedo saber el parámetro a pasar para el "Texto de pedido de material"?
Muy agradecido por la ayuda. Un saludo. |
#6
|
||||
|
||||
Hola, cada ID corresponde a un tipo de texto en particular, tienes que verlo dentro de 2 tablas, la primera
TTXOB: Me indica la objeto de texto que debo utilizar (MATERIAL) TTXID: Me indica que ID del objeto que encontre debo utilizar, dentro de cada uno existe una descripcion muy puntual. Espero pueda servir ...
__________________
David Carballido Córdova |
#7
|
|||
|
|||
Estas tablas no las conocía, me las apunto. Yo lo que hago para averiguar los datos de un texto que tengo que crear en programa es lo siguiente: Entro en el pedido (en este caso) y creo el texto en cuestión(o busco uno creado). Hago doble click sobre el texto, esto te lleva al editor. Voy al menú PASAR A -> CABECERA. Aquí se te abre un pop-up con los datos de tu texto Name (pedido+posición) ID, OBJECT. Con eso ya puedes crear los textos en todos los pedidos que quieras. Saludos |
#8
|
|||
|
|||
Requete Guauuuuuuuuuuuuu ............. ¡¡¡FUNCIONA!!!
Muchas gracias por vuestra ayuda compañeros!!! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|