Funcion en Background
Tengo un gran problema con una funcion que tengo que crear. Paso a explicar:
Mi funcion se debe ejecutar en modo Background. Lo que hace es agregar deliveries a un determinado shipment (se crea una sales order, luego el delivery y se agrega) mediante la funcion BAPI_SHIPMENT_CHANGE. El tema es que durante todo el proceso de background, si el shipment esta en modo edicion en otra screen (VT02N), no me permite agregar el delivery porque esta tomado por otro usuario. Con este escenario, se me ocurrio lockear el shipment antes de entrar a la funcion, y antes de ejecutar la BAPI, deslockearlo. Si lo corro de manera normal, funciona de maravillas: me bloquea el shipment, lo desbloquea, ejecuto la funcion y anda de manera correcta. El tema es que en background, no lo puedo hacer funcionar y no entiendo el motivo... Hasta llegue a usar un WAIT UP TO 3 SECONDS y nada... Este es mi codigo: * Shipment Lock CALL FUNCTION 'ENQUEUE_/PCM2/E_TKNUM' EXPORTING tknum = <l_wa_shipments>-shpmnum_ob EXCEPTIONS foreign_lock = 1 system_failure = 2 OTHERS = 3. * Call Background FM CALL FUNCTION '/SCL/OTC_LOT_UNDO' IN BACKGROUND TASK DESTINATION 'NONE' EXPORTING im_t_shipments = l_i_aux im_planid = v_plan_id. (inside FM) * Unlock Shipment CALL FUNCTION 'DEQUEUE_/PCM2/E_TKNUM' EXPORTING tknum = fp_l_v_tknum. WAIT UP TO 3 SECONDS. * Call BAPI CALL FUNCTION 'BAPI_SHIPMENT_CHANGE' EXPORTING headerdata = l_wa_headerdata headerdataaction = l_wa_headerdataaction TABLES itemdata = l_i_itemdata itemdataaction = l_i_itemdataaction return = l_i_return. Alguien me puede guiar? |
Husos Horarios son GMT. La hora en este momento es 12:08:02. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web