DATA: BEGIN OF GT_MSG OCCURS 0,
MSGID LIKE SMESG-ARBGB, "Message ID
MSGTY LIKE SMESG-MSGTY, "Message Type
MSGNR LIKE SMESG-TXTNR, "Message Number
MSGV1 LIKE SMESG-MSGV1, "Message Parameter
MSGV2 LIKE SMESG-MSGV2, "Message Parameter
MSGV3 LIKE SMESG-MSGV3, "Message Parameter
MSGV4 LIKE SMESG-MSGV4, "Message Parameter
END OF GT_MSG.
DATA: tab_lines TYPE sy-tabix,
lock_user(12),
lock_key TYPE trdir-name.
REFRESH gt_msg.
CONCATENATE p_bukrs pv_canno INTO lock_key.
CALL FUNCTION 'ENQUEUE_ESRDIRE'
EXPORTING
name = lock_key
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
CASE sy-subrc.
WHEN 1.
MOVE sy-msgv1 TO lock_user.
PERFORM save_msg USING '04' 'E' '108'
'사용자 '
lock_user
'이(가) 이용중입니다.'
' '.
WHEN 2.
MESSAGE a288(f5).
LEAVE SCREEN.
ENDCASE.
FORM save_msg USING value(p_msgid)
value(p_msgty)
value(p_msgnr)
value(p_msgv1)
value(p_msgv2)
value(p_msgv3)
value(p_msgv4).
gt_msg-msgid = p_msgid.
gt_msg-msgty = p_msgty.
gt_msg-msgnr = p_msgnr.
gt_msg-msgv1 = p_msgv1.
gt_msg-msgv2 = p_msgv2.
gt_msg-msgv3 = p_msgv3.
gt_msg-msgv4 = p_msgv4.
APPEND gt_msg.
*
ENDFORM. " SAVE_MSG
FORM put_msg .
*
DATA: lv_cnt TYPE i.
*
DESCRIBE TABLE gt_msg LINES sy-tfill.
CHECK sy-tfill > 0.
* Message Initialize
CALL FUNCTION 'MESSAGES_INITIALIZE'.
* Message Store
LOOP AT gt_msg.
lv_cnt = sy-tabix.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = gt_msg-msgid
msgty = gt_msg-msgty
msgv1 = gt_msg-msgv1
msgv2 = gt_msg-msgv2
msgv3 = gt_msg-msgv3
msgv4 = gt_msg-msgv4
txtnr = gt_msg-msgnr
zeile = lv_cnt.
ENDLOOP.
* Message Show
CALL FUNCTION 'MESSAGES_SHOW'
EXPORTING
show_linno = ' '.
LEAVE SCREEN.
ENDFORM. " PUT_MSG
'ABAP 물타기 > Report' 카테고리의 다른 글
NEWLINE (CL_ABAP_CHAR_UTILITIES=>NEWLINE) (0) | 2011.09.05 |
---|---|
T-CODE & Report Table (0) | 2011.08.25 |
Long Text (0) | 2011.07.10 |
한글 출력 자리수 조정 (0) | 2011.06.22 |
Modify Screen 1000 (0) | 2011.01.19 |