#1
|
|||
|
|||
IDOCS de materiales
Hola a todos,
Vereis, acabo de empezar con el tema de IDOCS y nos ha surgido el siguiente problema. Tratamos los IDOCS con el programa RBDAPP01, pero lo que queremos es que cuando aparezca un IDOC con un material dado de alta en el maestro de materiales. dicho IDOC no lo trate. Actualemente estos IDOCs lo intenta tratar y luego aparecen como erróneos. Alguien sabe cuales serian los pasos a seguir o donde podria añadir una verificacion a la MARA ?? He investigado que a través de la WE57 se asocia un IDOC con un tipo de mensaje (MATMAS en mi caso) y Tipo basico(MATMAS05) a una funcion, y aqui creo que se podria intentar algo. Pero no sé muy bien por donde empezar. Muchas gracias. Un saludo. |
#2
|
|||
|
|||
En la tx BD60 tienes que mirar a que modulo de funciones esta asociado tu mensaje (el estandar asocia la funcion MASTERIDOC_CREATE_SMD_MATMAS al tipo de mensaje MATMAS) entonces dentro de ese modulo de funcion puedes implementar alguna de las enhancement que tiene para que chequee si el material existe y en ese caso no cree el idoc ni lo distribuya
|
#3
|
|||
|
|||
Muchas gracias por contestar ballan, pero sigo atascado con lo mismo.
Efectivamente ese es el modulo de funciones asociado a dicho mensaje, pero revisando el codigo no he encontrado ninguna user asociada a él ni sé donde podria implementar ese nuevo codigo. ¿ Quizá desde la BD60 se puede asociar ese mensaje a otra función Z y esta modificarla a mi gusto, o hay alguna forma de añadir codigo a esta MASTERIDOC_CREATE_SMD_MATMAS ? Gracias de nuevo a todos los que nos ayudais a avanzar en esta historia |
#4
|
|||
|
|||
Podrias crearte una copia de la funcion MASTERIDOC_CREATE_SMD_MATMAS y cambiarlo en la BD60 para que apunte a tu funcion Z pero como te dije mas arriba la funcion MASTERIDOC_CREATE_SMD_MATMAS dispone de varios enhancement que probablemente te sirvan, te cuento como implementarlos
1. Ve a la tx SE37 e ingresas el nombre de la funcion MASTERIDOC_CREATE_SMD_MATMAS 2. Dale a F7 para visualizar el codigo 3. Dale a los prismaticos y busca enhancement 4. Como minimo te apareceran los siguientes ENHANCEMENT-POINT MASTERIDOC_CREATE_SMD_MATMA_01 SPOTS ES_SAPLMV01. ENHANCEMENT-POINT MASTERIDOC_CREATE_SMD_MATMA_02 SPOTS ES_SAPLMV01. ENHANCEMENT-POINT MASTERIDOC_CREATE_SMD_MATMA_03 SPOTS ES_SAPLMV01. ENHANCEMENT-POINT MASTERIDOC_CREATE_SMD_MATMA_04 SPOTS ES_SAPLMV01. ENHANCEMENT-POINT MASTERIDOC_CREATE_SMD_MATMA_05 SPOTS ES_SAPLMV01. 5. Como ejemplo te voy a decir como implementar la enhancement ENHANCEMENT-POINT MASTERIDOC_CREATE_SMD_MATMA_01 SPOTS ES_SAPLMV01. 6. Presiona el boton de las ampliaciones (es un boton que tiene forma de espiral o presiona SHIFT + F4) 7. Te posiciones en la linea donde pone ENHANCEMENT-POINT MASTERIDOC_CREATE_SMD_MATMA_01 SPOTS ES_SAPLMV01. y pinchas con el boton derecho en donde pone ES_SAPLMV01, en el menu que te sale seleccionas Ampliaciones/Crear 8. Te saldra un cuadro donde te pide que le indiques la clase donde la vas a implementar, en dicho cuadro veras que abajo a la izquierda hay un icono de un folio en blanco que sirve para crear 9. Dale al icono de crear y en el cuadro de dialogo que te aparece te pide que le des un nombre a la clase y que le asignes una descripcion (el campo de composite enhancement no se rellena) asignale a tu clase un nombre descriptivo por ejemplo ZCL_CHEQUEO_MARA y en la descripcion ponle lo que hace, dale a enter 10. Te volvera al cuadro que te aparecia en el punto 8 pero ahora aparecera tu clase ZCL_CHEQUEO_MARA, selecciona esa linea y dale a enter 11. Ahora observaras que habra creado un bloque de codigo delimitado por las sentencias ENHANCEMENT (aqui un numero) ZCL_CHEQUEO_MARA ENDENHANCEMENT 12. Dentro de ese bloque puedes introducir el codigo que tu quieras para realizar los chequeos o lo que haga falta 13. Lo que tendrias que buscar es de todas las enhancement que existen cual es la que te sirve para realizar el chequeo |
#5
|
|||
|
|||
Gracias de nuevo, pero en mi codigo de la función no aparece ningún ENCHANCEMENT, asi que tendre que realizar una copia Z de la funcion y hacer alli los cambios.
Esperemos que funcione |
#6
|
|||
|
|||
Que version sap tienes?
Si has buscado enchancement fijate bien porque es ENHANCEMENT |
#7
|
|||
|
|||
Hice lo que me comentaste en anteriores post y ENHANCEMENT no aparece en el codigo. Lo he vuelto a buscar tal como me dices y no aparece por ningún lado. Supongo que podría ser problema de versiones.
Aquí tienen la 6.20 en Basis y la 4.70 en la parte de Logistica y Finanzas Ahora intentaré lo de la copia de la función a una Z. Esperemos que esto funcione ... sino ya no sé que hacer. |
#8
|
|||
|
|||
Por cierto, si alguien sabe como podria crear un IDOC de entrada de materiales forma rapida para comprobar si funcionan los cambios, se lo agradeceria !!!!!!
Me han dicho que hay una transaccion que lo hace directamente, pero no la encuentro |
#9
|
|||
|
|||
En la transaccion WE19 puedes reprocesar un idoc cambiandole valores
|
Herramientas | Buscar en Tema |
Desplegado | |
|
|