*---------------------------------------------------------------------* * FORM VIM_CHECK_ALE_EDIT_LOCK * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM VIM_CHECK_ALE_EDIT_LOCK USING VALUE(VCAEL_OBJECT) LIKE E071-OBJECT VCAEL_LOCK TYPE C. DATA: OBJ_TYPE LIKE OBJH-OBJECTTYPE, OBJ_NAME LIKE OBJH-OBJECTNAME. * OBJ_NAME = VIEW_NAME. OBJ_NAME = MASTER_NAME. CASE VCAEL_OBJECT. WHEN VIM_VIEW_TYPE. "-> view OBJ_TYPE = VIM_VIEW. WHEN TRANSP_OBJECT. "-> tables OBJ_TYPE = VIM_TABL. WHEN VIM_CLUS_TYPE. "-> viewcluster OBJ_TYPE = VIM_CLST. WHEN VIM_TRAN_TYPE. "-> individual transaction OBJ_TYPE = VIM_TRAN. WHEN OTHERS. "-> may be LOGO object ? OBJ_TYPE = VIM_LOGO. OBJ_NAME = VCAEL_OBJECT. * SELECT SINGLE * FROM OBJH WHERE OBJECTNAME EQ OBJ_NAME "required ? * AND OBJECTTYPE EQ OBJ_TYPE. * IF SY-SUBRC NE 0. CLEARVCAEL_LOCK. EXIT. ENDIF. "no logo-object ENDCASE. CALL FUNCTION 'ALE_EDIT_CHECK' EXPORTING OBJECTTYPE = OBJ_TYPE OBJECTNAME = OBJ_NAME IMPORTING SOMEKEYS_NOEDIT = VIM_ALE_KEYSPEC_CHECK EXCEPTIONS NO_CALL = 1 NO_EDIT = 2. IF SY-SUBRC GT 1. VCAEL_LOCK = 'X'. VIM_ALE_MSGID = SY-MSGID. VIM_ALE_MSGNO = SY-MSGNO. VIM_ALE_MSGV1 = SY-MSGV1. VIM_ALE_MSGV2 = SY-MSGV2. VIM_ALE_MSGV3 = SY-MSGV3. VIM_ALE_MSGV4 = SY-MSGV4. ELSE. CLEAR VCAEL_LOCK. IF VIM_ALE_KEYSPEC_CHECK NE SPACE AND OBJ_TYPE NE VIM_LOGO. VIM_ALE_KEYSPEC_OBJTAB-ONAME = OBJ_NAME. VIM_ALE_KEYSPEC_OBJTAB-OTYPE = OBJ_TYPE. APPEND VIM_ALE_KEYSPEC_OBJTAB. ENDIF. ENDIF. ENDFORM. "vim_check_ale_edit_lock