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.