MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Visualizar cantidad total de bloqueos (ABAP) (foro/showthread.php?t=75851)

jaguayom 13/06/16 14:37:11

Visualizar cantidad total de bloqueos (ABAP)
 
estimados buenos días,

soy nuevo en esto, necesito contar y mostrar en un mensaje la cantidad total de los bloqueos que son visibles por la SM12, pero a nivel ABAP.


Saludos cordiales.

sconoredhot 13/06/16 19:12:53

hola
 
Podés llamar a la funcion ENQUEUE_READ
filtrando sólo por mandante, o bien, si necesitas,
podes filtrar por usuario como la transacción
la tabla ENQ te devuelve los bloqueos,
podes contar la cantidad de registros
(describe table ENQ lines lv_lines)

Espero que te sirva !

jaguayom 13/06/16 19:25:29




Estimado gracias por la respuesta pero de verdad soy muy nuevo en esto, si puede enviar un extracto del código estaría muy agradecido.

sconoredhot 15/06/16 14:46:04

hola
 
Bueno, no se exactamente de que manera lo necesitas, pero seria algo así:

DATA: lt_table TYPE TABLE OF seqg3,
lv_lines TYPE i.

CALL FUNCTION 'ENQUEUE_READ'
EXPORTING
gclient = sy-mandt
TABLES
enq = lt_table
EXCEPTIONS
communication_failure = 1
system_failure = 2
OTHERS = 3.

IF sy-subrc <> 0.
WRITE: 'Error al leer bloqueos'.
ELSE.
DESCRIBE TABLE lt_table LINES lv_lines.
WRITE: 'Cantidad de bloqueos:', lv_lines.
ENDIF.

jaguayom 21/06/16 15:43:38


amigo de ante manos muchas gracias verdad que eres bueno en esto se agradece.

el código funciono ok a la perfección, pero la única duda es que cuenta solo los bloqueos que realizo con mi usuario y no todos los que hay.

si me puedes ayudar con eso estaré agradecido.

Saludos cordiales.

Spainnavar 22/06/16 13:29:11

Hay un impor parameter por el que puedes meter el usuario y asi solo te da los bloqueos para el usuario que le metas. seria asi:

DATA: lt_table TYPE TABLE OF seqg3,
lv_lines TYPE i.

CALL FUNCTION 'ENQUEUE_READ'
EXPORTING
gclient = sy-mandt
guname = sy-uname
TABLES
enq = lt_table
EXCEPTIONS
communication_failure = 1
system_failure = 2
OTHERS = 3.

jaguayom 22/06/16 20:34:21



estimado gracias por la respuesta, pero quiero contar todos los bloqueos que se están generando independiente del usuario. el TOTAL

de ante manos muchas gracias por su buena voluntad.

JOrozco 22/06/16 22:29:05

Limpia el parámetro GUNAME
 
La función por default le asigna el valor del usuario logueado, si quieres ver todos mandalo vacío:

CALL FUNCTION 'ENQUEUE_READ'
EXPORTING
gclient = sy-mandt
guname = ' '
TABLES
enq = lt_table
EXCEPTIONS
communication_failure = 1
system_failure = 2
OTHERS = 3.


Husos Horarios son GMT. La hora en este momento es 22:47:20.

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