Übersicht über gesperrte Objekte
Bevor man damit beginnt, eine vorhandene Applikation zu erweitern oder umfangreich anzupassen, könnte man auf die Idee kommen, prüfen zu wollen, ob die beteiligten Objekte eventuell gerade gesperrt sind. In diesem Fall könnte man die Entwicklung nämlich nicht reibungslos durchführen. Die Änderung des gesperrten Objektes wird dann nämlich dem bereits vorhandenen Transportauftrag zugeordnet. Das wiederum bedeutet, dass die Transportaufträge gemeinsam transportiert werden müssen.
Um prüfen zu können, welche Objekte gesperrt sind, habe ich einen kleinen Report geschrieben. Er gibt eine Liste der selektierten Objekte aus und zeigt an, ob diese gesperrt sind oder nicht. Sind sie gesperrt, dann wird auch der Transportauftrag angezeigt, in dem das Objekt gesperrt ist.
Mit einem Klick auf den Transportauftrag wird dieser angezeigt.
Code
REPORT. DATA gs_tadir TYPE tadir. DATA gv_trkorr TYPE trkorr. SELECT-OPTIONS so_objt FOR gs_tadir-object DEFAULT 'PROG'. SELECT-OPTIONS so_objn FOR gs_tadir-obj_name DEFAULT 'ZVTEST*' OPTION CP. SELECT-OPTIONS so_devc FOR gs_tadir-devclass. PARAMETERS pa_onlyl AS CHECKBOX DEFAULT space. AT LINE-SELECTION. CHECK gv_trkorr IS NOT INITIAL. CALL FUNCTION 'TR_DISPLAY_REQUEST' EXPORTING i_trkorr = gv_trkorr. START-OF-SELECTION. PERFORM start. FORM start. DATA ls_lockkey TYPE tlock_int. DATA lv_locked TYPE abap_bool. DATA lt_locks TYPE STANDARD TABLE OF tlock WITH DEFAULT KEY. SELECT * FROM tadir INTO TABLE @DATA(lt_tadir) WHERE object IN @so_objt AND obj_name IN @so_objn AND devclass IN @so_devc. LOOP AT lt_tadir INTO gs_tadir. ls_lockkey-obj = gs_tadir-object. ls_lockkey-low = gs_tadir-obj_name. ls_lockkey-hi = gs_tadir-obj_name && '*'. CALL FUNCTION 'TRINT_CHECK_LOCKS' EXPORTING wi_lock_key = ls_lockkey IMPORTING we_lockflag = lv_locked TABLES wt_tlock = lt_locks EXCEPTIONS empty_key = 1. IF lv_locked = abap_false AND pa_onlyl = abap_true. CONTINUE. ENDIF. WRITE: / gs_tadir-object, gs_tadir-obj_name, gs_tadir-devclass. HIDE gs_tadir. IF lv_locked = abap_true. WRITE lv_locked COLOR COL_GROUP. gv_trkorr = lt_locks[ 1 ]-trkorr. HIDE gv_trkorr. SELECT * FROM e07t INTO TABLE @DATA(lt_e07t) WHERE trkorr = @gv_trkorr. WRITE: gv_trkorr HOTSPOT ON. IF sy-subrc = 0. DATA(lv_trtxt) = lt_e07t[ 1 ]-as4text. WRITE: lv_trtxt. ENDIF. ENDIF. ENDLOOP. CLEAR gs_tadir. CLEAR gv_trkorr. ENDFORM.
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024