MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Bapi_po_create - Extensionin (foro/showthread.php?t=65166)

SAPING 12/11/12 13:55:06

Bapi_po_create - Extensionin
 
Hola.
Agregue un campo ZZ a la tabla EKKO y necesito saber como usar la estructura EXTENSIONIN de la funcion BAPI_PO_CREATE para pasarle este nuevo campo-valor.
Estuve buscando bastante pero no me queda claro como hacerlo.

Si me pueden ayudar, joya!!...

crounly 13/11/12 10:22:20

Busca un poco mas...lo tienes en un post del mes pasado:


SAPING 14/11/12 11:08:10


Si, lo he visto.
Pero no me queda 100% claro como hacerlo ya que primero es para la BAPI_PO_CREATE1, y despues que es para items.

Viendo un poco la funcion, vi que tengo un tratamiento para header, que es lo que busco, donde usa una estructura BAPI_TE_PO_HEADER...
La diferencia con el que vos me pasas es que esta estructura no posee el campo ZZ que agregue a la EKKO...
No se si lo tengo que agregar yo, o que....
Ese es mi problema... no se como completar esa estructura que solo posee el campo PO_NUMBER, que es el num de doc de venta...

Entiendo que la EXTENSIONIN se debe completar con el nombre de la estructura de la bapi (bapi_te_po_header) en el campo STRUCTURE para hacer referencia a que extension usar, pero los valores no se como agregarlos a los campos VALUEPARTx...

No se si me explico...

Gracias por tu rta!

crounly 14/11/12 23:35:21

Tienes que añadir el campo a CI_EKKODB y a CI_EKKODBX ( este ultimo , mismo nombre pero CHAR 1 ).

Yo solo he trabajado con posiciones , no con cabecera, pero funciona igual.

En vez de:


Utiliza:


Luego lo rellenas ( adapta a tu campo ):


Y T_EXTENSIONIN lo pasa al parametro EXTENSIONIN.

Me cuentas si te ha funcionado. Suerte

Roy Fredy 15/11/12 15:28:48

BAPI_PO_CREATE1 para creacion de ordenes de servicio
 

Mauricio Hidalgo 15/11/12 19:25:07

1° Tienes un user exit disponible en la BAPI BAPI_PO_CREATE1. Se llama EXIT_SAPL2012_001.

2° La estructura EXTENSIONIN, la ocupas de la siguiente forma.
STRUCTURE = 'IDENTIFICADOR'
VALUEPART1 = <Valor para el Campo ZZ>

3° En el user exit.
Ya debes tener creado el documento, según la ubicación donde se encuentra este exit.
Entonces leer la tabla EXTENSIONIN con STRUCTURE = 'IDENTIFICADOR' y actualizar la tabla EKKO con:

UPDATE EKKO
SET <CAMPO ZZ> = <VALUEPART1>
WHERE EBELN = POHEADER-PO_NUMBER.


En todo caso, la otra alternativa es que implementes una BADI usando la ME_PROCESS_PO_CUST.

Pero con todo lo anterior mucho más simple sería que tras haber llamado la BAPI, hicieras un update de la tabla EKKO con el dato que necesitas insertar.

Saludos y espero te sirva

Roy Fredy 16/11/12 20:15:21

Me sugirieron aplicarle la nota 736576
 
El funcional aplico la nota respectiva pero persiste en el mismo error me dijeron que con la aplicación de esa nota se soluciona mi problema .
Es necesario utilizar user exit , badi para la solución respectiva tomando en cuenta que los usuarios que van a ejecutar dicha función lo realizaran en forma continua ;espero su gentil apoyo indicándome cual es el camino mas idóneo.

Adjunto el log respectivo de la funcion

crounly 17/11/12 14:27:51

revisa que estan todos los campos tanto en la CI_EKKODB y a CI_EKKODBX.

pega por aqui como rellenas el EXTENSIONIN

Roy Fredy 19/11/12 13:43:12

no se como trabajar con la CI_EKKODB
 
E visualizado que tengo en la CI_EKKODB ciertos campos , que campos tendría que añadir tanto en la estructura , y que código agregaría en mi función .
Adjunto el código de la función rfc para ordenes de compra para que pueda ser revisado y que que código ustedes lo podrían añadir para lograr su ejecución de manera exitosa.

El codigo se puede abrir con libreoffice , openoffice listo para ser descargado , hasta se puede abrir con word , no es imagen de codigo si no denle click en donde figurar para descargar.
"El codigo esta en formato odt de Openoffice "

"img de mi estructura CI_EKKODB que campos tendria que añadir ???'

crounly 20/11/12 11:00:08

No puedo ver e codigo, solo la imagen.

Has ampliado también CI_EKKODBX??
Tienes que ampliar también esa tabla con los mismos campos que en CI_EKKODB
pero de tipo XFELD ( es un CHAR de 1 ).

Necesitas ampliar esa tabla.

Amplias CI_EKKODB y CI_EKKODBX con los nuevos campos.

Y después rellenas EXTENSIONIN como te he indicado en otro post.



Husos Horarios son GMT. La hora en este momento es 06:46:01.

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