MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Subrutina dentro de ENHANCEMENT (foro/showthread.php?t=63544)

manu_lolo27 17/07/12 14:09:32

Subrutina dentro de ENHANCEMENT
 
buenas a tod@s, por favor, alguien sabe como se hace una subrutina dentro de un ENHANCEMENT??? trato de hacerlo pero SAP hace una subrutina en el programa standar y logicamente no me deja modificarlo.

Muchas gracias de antemano.
Saludos
Manuel H.

mysmb2 17/07/12 14:31:11

Hola, una alternativa es crear una función e invocala desde el ENHANCEMENT.

Saludos.

manu_lolo27 17/07/12 14:43:31

Hola mysmb2,

Intento hacer un cambio de almacen de un material que se esta tratando con la VL02n.

Es lo que hice, es para hacer un batch-input, (entonces supongo que no se pueden hacer subrutinas dentro del ENHANCEMENT) lo que me pasa es que cuando llamo a la funcion se que queda bloqueado el material que quiero cambiar de almacen. Me pasa una cosa rara porque cuando cambio solo el picking del material (estando la VL02N abierta no me dice que el material esta bloqueado) pero si cambio la cantidad del material y la cantidad de picking se me queda bloqueado, supongo que es por eso, porque llamo a una fuincion para hacer el batch-input.

Si se te ocurre otra cosa me la comentas, de todas formas muchas gracias

DCErick 17/07/12 15:53:15

¿A que te refieres con cambio de almacen?

¿Que transaccion usa tu batch-input?

Y en que momento entra tu ENHANCEMENT...

manu_lolo27 18/07/12 11:53:49

Hola, en la transaccion VL02N se hace el picking y despiking.

Cuando grabo hago el ENHANCEMENT... ahy es cuando llamo a la funcion que me hace el batch-input a la transaccion MB1B. Esto me lo hace bien. El problema es cuando cambio la cantidad del material Y la cantidad del picking, al hacer el batch al MB1B me dice:

" Los datos de centro del material 22017200 están bloqueados por el usuario MIUSUARIO"

No lo entiendo, si fuera por que el material 22017200 esta abierto en la VL02N tendria que saltarme el mismo error cuando solo cambio el picking, pero el error me salta cuando cambio las 2 cantidades a la vez.

He probado a desbloquear el material y el centro con las funciones DEQUEUE_MATERIAL_MASTER y DEQUEUE_ECOP_WERKS (no se si esta bien lo que hago, pero por probar...) el caso es que sigo con el mismo error al modificar los 2 campos...

gracias de todas formas...
No se si es cuestion de la parametrizacion o es standar...
saludos

DCErick 18/07/12 15:13:30

Yo lo veo normal..

Lo que puedes hacer es poner un BREAK POINT justo donde entra tu ENHANCEMENT e ir a la SM12 para que verifiques los bloqueos que tienes en ese momentom deberían de salirte el/los material(es) dejalo un rato y espera a que esos bloqueos se quiten, si despues de unn rato no se quitan entonces creo que deberas buscar otro lugar para mandar llamar la funcion... Si los bloqueos se quitan debes codificar para que tu función espere a que el/los material(es) que quieres mover se liberen antes de realizar el movimiento MB1B...

manu_lolo27 23/07/12 11:41:51

Muchas gracias por la info, al final lo solucione utilizando la BAPI BAPI_GOODSMVT_CREATE
no se porque con la bapi no te dice que el material esta bloqueado.

saludos y gracias

DCErick 23/07/12 13:55:06


Así son las BAPIS, aveces no validan ni los permisos xD...


Husos Horarios son GMT. La hora en este momento es 11:27:35.

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