日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ABAP 程序运行锁

發布時間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ABAP 程序运行锁 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. create a Table ZRUNNING_LOCK (tcode:se11)?
fields: MANDT , PROGNAME

2. create Lock object??????? EZRUNLOCK (tcode:se11)?
短文本???????????? 程序運行鎖

3. 如果需對程序加鎖,則在程序中執行?
??perform do_lock

4. 如果需對程序解鎖,則在程序中執行?
??perform release_lock

?

?

————————————————————–?
DEQUEUE_EZRUNLOCK????????????? 釋放對象 EZRUNLOCK 的鎖定?
ENQUEUE_EZRUNLOCK????????????? 對象 EZRUNLOCK 要求的鎖定

*&———————————————————————*?
*&? Include?????????? ZILOCKFUN01?
*&———————————————————————*?
* 程序運行鎖, 控制同一時間只有一個程序在運行?
*———————————————————————-?
*&——————————————————————–*?
*&????? Form? do_lock?
*&——————————————————————–*?
*?????? 提交一個鎖定?
*———————————————————————*?
*????? –>PI_PROGNAME 程序名?
*????? –>PI_WAIT??? 是否等待?
*????? –>PI_SHOW_MSG 是否顯示消息?
*????? –>PO_SUBRC 返回狀態?
*????? –>PO_MSG???? 返回的消息?
*———————————————————————*?
FORM do_lock USING pi_progname TYPE progname?
?????????????????????????????????? pi_wait TYPE c????? "X=waiting?
????????????????????????? CHANGING po_subrc TYPE c???? "0=OK,非0=Error?
?????????????????????????????????? po_msg TYPE text100.?
? CALL FUNCTION ‘ENQUEUE_EZRUNLOCK’?
?? EXPORTING?
???? mode_zrunning_lock?????? = ‘E’?
???? mandt??????????????????? = sy-mandt?
???? progname???????????????? = pi_progname?
*?? X_PROGNAME?????????????? = ‘ ‘?
*?? _SCOPE?????????????????? = ’2′?
???? _wait??????????????????? = pi_wait?
*?? _COLLECT???????????????? = ‘ ‘?
?? EXCEPTIONS?
???? foreign_lock???????????? = 1?
???? system_failure?????????? = 2?
???? OTHERS?????????????????? = 3.

? IF sy-subrc <> 0.?
??? po_subrc = ’1′.?
??? IF sy-subrc = 1.?
????? CONCATENATE ‘另一用戶’ sy-msgv1 ‘正在運行該程序!’ INTO po_msg?
??????????????????????? SEPARATED BY space.?
??? ELSE.?
????? po_msg = ‘鎖定該程序時出錯!’.?
??? ENDIF.?
? ELSE.?
??? po_subrc = ’0′.?
? ENDIF.?
ENDFORM.??????????????????? "do_lock?
*&——————————————————————–*?
*&????? Form? release_lock?
*&——————————————————————–*?
*?????? 釋放鎖定?
*———————————————————————*?
*????? –>PI_PROGNAME 程序名?
*———————————————————————*?
FORM release_lock USING pi_progname TYPE progname.?
? CALL FUNCTION ‘DEQUEUE_EZRUNLOCK’?
?? EXPORTING?
???? mode_zrunning_lock?????? = ‘E’?
???? mandt??????????????????? = sy-mandt?
???? progname???????????????? = pi_progname?
*???? X_PROGNAME?????????????? = ‘ ‘?
*???? _SCOPE?????????????????? = ’3′?
*???? _SYNCHRON??????????????? = ‘ ‘?
*???? _COLLECT???????????????? = ‘ ‘?
??????????? .

ENDFORM.??????????????????? "release_lock

總結

以上是生活随笔為你收集整理的ABAP 程序运行锁的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。