PDA

Ver la Versión Completa : Desbloqueo de Caja


MACM
15/10/08, 11:33:46
Hola a todos,

Tengo un problemilla con el desbloqueo de la transacción de caja (FBCJ),
Tengo un ABAP que bloquea la transacción mientras el usuario graba en caja una serie de regitros seleccionados que quiere pasar a la caja.
Para hace esto hago una llamada al módulo de función 'ENQUEUE_EFBCJ_LOCK', hasta aquí bien porque en la SM12 me aparece el bloqueo y, evidentemente, me aparece un mensaje de que la caja esta bloqueada cuando accedo a ella.
A continuación llamó a la bapi ( BAPI_CASHJOURNALDOC_CREATE ) que crea los documentos en caja a partir de los registro que ha trabajado el usuario.
Y, finalmente llamo al módulo de función 'DEQUEUE_EFBCJ_LOCK', Aqui es donde esta el problema, en la SM12 me continua apareciendo el bloqueo y continuo sin poder modificar la FBCJ mientras estoy ejecutando el ABAP.


Os muestro el código para que podais ver las llamadas a las funciones y que tengais alguna pista mas para que me podais ayudar.

Saludos y gracias a todos.

LOOP AT I_LIST2.
AT NEW CAJA.
CALL FUNCTION 'ENQUEUE_EFBCJ_LOCK'
EXPORTING
mode_tcj_c_journals = 'E'
comp_code = i_list2-bukrs
cajo_number = i_list2-caja
_scope = '3'
EXCEPTIONS
foreign_lock = 1.
IF sy-subrc <> 0.
l_user = sy-msgv1.
MESSAGE e183(f5a) WITH i_list2-bukrs i_list2-caja l_user.
ENDIF.

ENDAT.
.
.
.
.
CALL FUNCTION 'BAPI_CASHJOURNALDOC_CREATE'
EXPORTING
header = i_header
TABLES
items = i_items
return = i_return.

.
.
.
.
.
AT END OF CAJA.
CALL FUNCTION 'DEQUEUE_EFBCJ_LOCK'
EXPORTING
mode_tcj_c_journals = 'E'
comp_code = i_list2-bukrs
cajo_number = i_list2-caja
_scope = '3'
EXCEPTIONS
foreign_lock = 1.
IF sy-subrc <> 0.
l_user = sy-msgv1.
MESSAGE e183(f5a) WITH i_list2-bukrs i_list2-caja l_user.
ENDIF. .

ENDAT.

ENDLOOP.

drake316
11/10/12, 22:32:30
me gustaria saber si resolviste este problema... como lo hiciste?

alberto ramos guerrero
18/10/12, 19:35:49
En la función ENQUEUE el valor por default para _scope es 2 , otra posibilidad es si el usuario que ejecuta este proceso tiene el los permisos para hacerlo, y por último si la caja esta siendo útilizada por otro usuario , no te v a permitir agregar datos.
Espero te sirva.l