很恐怖ABAP修改程式(千萬不要亂用!!!!!!!!!)
*& Report **************
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT **************.
types: abapline(255) type c.
data: it_repsrc type standard table of abapline.
DATA: ZBACK type standard table of abapline.
DATA: wa_repsrc TYPE abapline.
data : fcode like sy-ucomm.
DATA:changed like s38e-buf_varied.
DATA:IT_MESSAGE TYPE TABLE OF ZTEXT_EDITOR_MESSAGE WITH HEADER LINE.
DATA: BEGIN OF INCTABL OCCURS 10,
LINE(100),
END OF INCTABL.
PARAMETERS:Zname LIKE RS38M-PROGRAMM.
start-of-selection.
set pf-status 'PFSTA00'.
write: /1 '你編輯好的程式:' color 2.
read report Zname into it_repsrc.
read report Zname into ZBACK.
LOOP AT it_repsrc INTO wa_repsrc.
WRITE :/ wa_repsrc.
ENDLOOP.
at user-command.
if sy-ucomm = 'ZWRITE'. "寫入
CLEAR :INCTABL[].
LOOP AT it_repsrc INTO wa_repsrc.
INCTABL-LINE = wa_repsrc.
APPEND INCTABL.
ENDLOOP.
INSERT REPORT ZNAME FROM INCTABL.
if sy-subrc = 0.
MESSAGE '寫入成功,將測試執行新的程式.如果有錯誤,請點"還原"恢復.' TYPE 'I'.
ENDIF.
SUBMIT Zname AND RETURN.
read report Zname into it_repsrc.
LOOP AT it_repsrc INTO wa_repsrc.
WRITE :/ wa_repsrc.
ENDLOOP.
elseif sy-ucomm = 'EXEC'. "還原
it_repsrc[] = ZBACK[].
INSERT REPORT Zname FROM ZBACK.
LOOP AT ZBACK INTO wa_repsrc.
WRITE :/ wa_repsrc.
ENDLOOP.
SUBMIT Zname AND RETURN.
MESSAGE '還原成功' TYPE 'I'.
ELSEIF SY-ucomm = 'EDIT'. "編輯
perform. editor_CHX.
LOOP AT it_repsrc INTO wa_repsrc.
WRITE :/ wa_repsrc.
ENDLOOP.
elseif sy-ucomm = 'ZBACK' OR sy-ucomm = 'BACK'. "退出
CLEAR: inctabl[],it_repsrc[],ZBACK[],Zname.
FREE :inctabl[],it_repsrc[],ZBACK[],Zname.
leave to screen 0.
ELSE.
endif.
*&---------------------------------------------------------------------*
*& Form editor_CHX
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* *----------------------------------------------------------------------*
FORM. editor_CHX .
call function 'EDITOR_APPLICATION'
exporting
application = 'BF'
display = ' '
name = '[編輯你的程式:]'
importing
fcode = fcode
changed = changed
tables
content = it_repsrc.
ENDFORM. " editor_CHX
*********************後話
用上面這個程式,可以修改SAP的任何程式.不需要申請KEY,也不會產生序列號.建議有豐富ABAP編寫經驗的人才可以使用,如果你一定要使用,請記住"寫入程式"後的提示.在測試正確前,不要退出本程式,這樣,你還有機會還原!!!!!!!!!(想想吧,如果使用不慎,即使幾百萬的SAP系統不會全毀了,某個模組也會可能毀壞.所以,一定慎重使用).
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT **************.
types: abapline(255) type c.
data: it_repsrc type standard table of abapline.
DATA: ZBACK type standard table of abapline.
DATA: wa_repsrc TYPE abapline.
data : fcode like sy-ucomm.
DATA:changed like s38e-buf_varied.
DATA:IT_MESSAGE TYPE TABLE OF ZTEXT_EDITOR_MESSAGE WITH HEADER LINE.
DATA: BEGIN OF INCTABL OCCURS 10,
LINE(100),
END OF INCTABL.
PARAMETERS:Zname LIKE RS38M-PROGRAMM.
start-of-selection.
set pf-status 'PFSTA00'.
write: /1 '你編輯好的程式:' color 2.
read report Zname into it_repsrc.
read report Zname into ZBACK.
LOOP AT it_repsrc INTO wa_repsrc.
WRITE :/ wa_repsrc.
ENDLOOP.
at user-command.
if sy-ucomm = 'ZWRITE'. "寫入
CLEAR :INCTABL[].
LOOP AT it_repsrc INTO wa_repsrc.
INCTABL-LINE = wa_repsrc.
APPEND INCTABL.
ENDLOOP.
INSERT REPORT ZNAME FROM INCTABL.
if sy-subrc = 0.
MESSAGE '寫入成功,將測試執行新的程式.如果有錯誤,請點"還原"恢復.' TYPE 'I'.
ENDIF.
SUBMIT Zname AND RETURN.
read report Zname into it_repsrc.
LOOP AT it_repsrc INTO wa_repsrc.
WRITE :/ wa_repsrc.
ENDLOOP.
elseif sy-ucomm = 'EXEC'. "還原
it_repsrc[] = ZBACK[].
INSERT REPORT Zname FROM ZBACK.
LOOP AT ZBACK INTO wa_repsrc.
WRITE :/ wa_repsrc.
ENDLOOP.
SUBMIT Zname AND RETURN.
MESSAGE '還原成功' TYPE 'I'.
ELSEIF SY-ucomm = 'EDIT'. "編輯
perform. editor_CHX.
LOOP AT it_repsrc INTO wa_repsrc.
WRITE :/ wa_repsrc.
ENDLOOP.
elseif sy-ucomm = 'ZBACK' OR sy-ucomm = 'BACK'. "退出
CLEAR: inctabl[],it_repsrc[],ZBACK[],Zname.
FREE :inctabl[],it_repsrc[],ZBACK[],Zname.
leave to screen 0.
ELSE.
endif.
*&---------------------------------------------------------------------*
*& Form editor_CHX
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* *----------------------------------------------------------------------*
FORM. editor_CHX .
call function 'EDITOR_APPLICATION'
exporting
application = 'BF'
display = ' '
name = '[編輯你的程式:]'
importing
fcode = fcode
changed = changed
tables
content = it_repsrc.
ENDFORM. " editor_CHX
*********************後話
用上面這個程式,可以修改SAP的任何程式.不需要申請KEY,也不會產生序列號.建議有豐富ABAP編寫經驗的人才可以使用,如果你一定要使用,請記住"寫入程式"後的提示.在測試正確前,不要退出本程式,這樣,你還有機會還原!!!!!!!!!(想想吧,如果使用不慎,即使幾百萬的SAP系統不會全毀了,某個模組也會可能毀壞.所以,一定慎重使用).
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/223653/viewspace-1789362/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 工作發狂:Mybatis 中$和#千萬不要亂用!MyBatis
- 千萬不要寫程式碼不要讀博
- 程式設計師,千萬不要重寫程式碼程式設計師
- 程式設計師們,千萬不要接私活程式設計師
- 程式設計師千萬不要學演算法!程式設計師演算法
- 在程式設計師面前千萬不要說這9句話,我一個同事就死的很慘!程式設計師
- Mysql報Too many connections,不要亂用ulimit了,看看如何正確修改程式的最大檔案數MySqlMIT
- linux apt-get autoremove千萬別亂用Linuxapt-getREM
- 程式設計師為什麼千萬不要瞎努力?程式設計師
- 為什麼程式設計師千萬不要重寫程式碼?程式設計師
- 千萬不要相信程式設計師在加班時間寫的程式碼!程式設計師
- 十年程式設計師的告誡:千萬不要重寫程式碼!程式設計師
- @Transactional千萬不要這樣用!!踩坑了你都可能發現不了!!!
- Linux 千萬不要執行的10個命令Linux
- 千萬不要把bool當成函式引數函式
- 【實用知識】2020年招投標千萬不要這樣做!
- 為什麼有些公司的IT很亂?
- 好用的企業網盤工具千萬不要錯過
- 千萬不要和女程式設計師做同事!否則你會愛上她程式設計師
- [20160113]不要亂用國際化函式.txt函式
- ABAP 通過SQL修改某個程式的鎖定狀態SQL
- 使用 Prometheus 監控 SAP ABAP 應用程式Prometheus
- PVE關卡設計淺談:千萬不要拍腦袋!
- 更新Kali的Metasploit框架,這些過程千萬不要踩雷!框架
- 不懂開發請不要說這很容易實現
- ABAP程式示例
- 論跟程式設計師談話的技巧:千萬不要跟程式設計師說,你的程式碼有bug程式設計師
- 關於Web前端面試的小技巧,千萬不要錯過!Web前端面試
- 用程式修改配置檔案
- 如何修改SAP ABAP webdynpro的背景色Web
- 服務端測試很牛逼?不要慫,幹它服務端
- 不要將Actors用於併發程式設計程式設計
- 應用方便千萬人
- 外賣系原始碼陷阱,創業者千萬不要再去踩了原始碼創業
- 如果不會這兩招,千萬不要說你懂大資料大資料
- iPhone7釋出前 這幾款手機千萬不要買iPhone
- 很亂,臨時儲存,自定義v-model
- ABAP程式示例4