Shared Top Border

Enterprise Resource
Planning Portal

 

Advertise | Founder BLOG

ERPGenie.COM ABAP Tips and Tricks Database

THE ultimate
ERP website

 

Forums | Vote for us |

Google    Other Search Options

Login

Login to view more content!!!





Lost Password?
No account yet? Register

Registered Access

Poll

What area of ABAP are you interested in?
 
Home arrow Utilities arrow ABAP Utilities arrow Hide ABAP source code
Hide ABAP source code PDF Print E-mail
User Rating: / 2
PoorBest 
Written by Anon.   
Monday, 05 March 2007
This program hides any ABAP source code and protects it with a password. One can still run the abap (the load version is intact) but it can not be displayed, edited, traced, transported or generated.  If the ABAP is not hidden, the program hides it, if
it is hidden, it unhides it.  The password is hard-coded in a source code, so the first candidate to be hid should be ZHIDE itself.

PROGRAM ZHIDE NO STANDARD PAGE HEADING.

SELECTION-SCREEN BEGIN OF BLOCK BLOCK.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(8) PWD.
SELECTION-SCREEN POSITION 35.
PARAMETERS: PASSWORD(8) MODIF ID AAA.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(9) PRG.
SELECTION-SCREEN POSITION 35.
PARAMETERS: PROGRAM(8).
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BLOCK.
*
AT SELECTION-SCREEN OUTPUT.
  LOOP AT SCREEN.
    IF SCREEN-GROUP1 = 'AAA'.
      SCREEN-INVISIBLE = '1'.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.
*
INITIALIZATION.
  PWD = 'Password'.
  PRG = 'Prog Name'.
*
START-OF-SELECTION.
  TABLES: TRDIR.
* User name and passsword check
  IF SY-UNAME <> 'XXXXXXXX' OR PASSWORD <> 'PASSWORD'.
    WRITE: / 'Wrong password'.
    EXIT.
  ENDIF.
* SAP owned?
  IF NOT PROGRAM CP 'Z*' AND NOT PROGRAM CP 'Y*'.
    WRITE: / 'Do not hide original SAP programs!'.
    EXIT.
  ENDIF.
* Exists?
  SELECT SINGLE * FROM TRDIR WHERE NAME = PROGRAM.
  IF SY-SUBRC <> 0.
    WRITE: / 'Program does not exists!'.
    EXIT.
  ENDIF.
* Does it have a current generated version?
  DATA: F1 TYPE D, F3 TYPE D.
  DATA: F2 TYPE T, F4 TYPE T.
  EXEC SQL.
  SELECT UDAT, UTIME, SDAT, STIME INTO :F1, :F2, :F3,
:F4 FROM D010LINF
                       WHERE PROG = :PROGRAM
  ENDEXEC.
  IF F1 < F3 OR ( F1 = F3 AND F2 < F4 ).
    WRITE: / 'The program has no recent generated
version!'.
    EXIT.
  ENDIF.
* Compose a new program name
  DATA: NEW_NAME(8), I TYPE I, J TYPE I.
  NEW_NAME = PROGRAM.
  DO 8 TIMES.
    I = SY-INDEX - 1.
    NEW_NAME+I(1) = '_'.
* Search for acceptable program name variations
    J = 0.
    SELECT * FROM TRDIR WHERE NAME LIKE NEW_NAME.
      J = J + 1.
    ENDSELECT.
    IF J = 1.
      EXIT.
    ENDIF.
    NEW_NAME = PROGRAM.
  ENDDO.
* Can not generate appropriate program name
  IF J > 1.
    WRITE: / 'Can not generate appropriate program
name'.
    EXIT.
  ENDIF.
* Check if it is already in d010s (already hidden)
  DATA: F5(8).
  EXEC SQL.
    SELECT PROG INTO :F5 FROM D010S WHERE PROG =
:NEW_NAME
  ENDEXEC.
  IF F5 IS INITIAL.
* There is no such hidden program, hide it
    EXEC SQL.
      UPDATE D010S SET PROG = :NEW_NAME WHERE PROG =
:PROGRAM
    ENDEXEC.
  ELSE.
* There is already a hidden program there, unhide it
    EXEC SQL.
      UPDATE D010S SET PROG = :PROGRAM WHERE PROG =
:NEW_NAME
    ENDEXEC.
  ENDIF.


Related Items:

 
< Prev   Next >

Google Search

Statistics

Contribution Activity
Utilities: 38
Tips and Tricks: 333
Sample Code: 164
Total Contributions: 550

Member Activity
Members: 6174 since 2/1/2007!
New: 5 since yesterday!
Visitors: 1008674

Newest Members

Welcome our newest members:

Google Ads

Shared Bottom Border

Contact Us | Polls | Add URL | Contribute | Privacy | Terms | Feedback

Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job
Financials Consultant | Consultant Review | Gallia Consulting | Supply Chain Project | SAP Financials Forum
GenieHoldings.COM, Inc. | Genie Press | WorkflowGenie | ESAGenie | ERPTopSites | ABAP Tips and Tricks | SAP Solutions Database

EDIGenie | Searching Survivor