Code20101116 - ooxxvv/MySAPnotes GitHub Wiki
Code20101116
- 將程式加密,無法由 SE38 檢視修改,但加密後再解密的話,程式碼會被全部清空,請務必備份好原始檔。
Code
加密 (隱藏)
REPORT Z_HIDE_ABAP.
DATA: g_code(72) TYPE c OCCURS 0,
g_code1 LIKE LINE OF g_code,
g_code2(72) TYPE c OCCURS 0.
PARAMETERS: program LIKE sy-repid.
START-OF-SELECTION.
READ REPORT program INTO g_code.
IF sy-subrc NE 0.
MESSAGE e398(00) WITH 'Report' program 'not found.'.
* ATTENTION:
* READ REPORT on a hidden source code return SY-SUBRC=8 !!!
ENDIF.
READ TABLE g_code INDEX 1 INTO g_code1.
* append *special* 1st line to hide cource code
APPEND '*@#@@[SAP]' TO g_code2.
LOOP AT g_code INTO g_code1.
APPEND g_code1 TO g_code2.
ENDLOOP.
INSERT REPORT program FROM g_code2.
解密 (清空程式碼)
REPORT Z_UNHIDE_ABAP.
DATA: g_code(72) TYPE c OCCURS 0,
g_code1 LIKE LINE OF g_code,
g_code2(72) TYPE c OCCURS 0.
PARAMETERS: program LIKE sy-repid.
START-OF-SELECTION.
read report program into g_code.
DELETE g_code INDEX 1.
insert report program from g_code.