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

Home
Hiding ABAP Source Code PDF Print E-mail
User Rating: / 1
PoorBest 
Written by Anon.   
Saturday, 20 January 2007
Hiding ABAP Source code PROGRAM ZHIDE NO STANDARD PAGE HEADING.
 ************************************************************************
 * This program hides any ABAP's source code and protects it with a
 * password in this source code.  So the first candidate to be hidden
 * should be ZHIDE itself.
 *
 * After hiding, you can still run the abap (the load version is intact)
 * but it cannot be displayed, edited, traced, transported or generated.
 *
 * If the ABAP is not hidden, the program hides it, if it is hidden, it
 * unhides it.
 *
 * To execute this program, change the user name and password in this
 * source code first.
 ************************************************************************
 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.
 PARAMETERS: PROGRAM(8).
 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'.
 *
 START-OF-SELECTION.
   TABLES: TRDIR.
 * User name and passsword check
   IF SY-UNAME <> 'SAP' 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.
 * Cannot generate appropriate program name
   IF J > 1.
     WRITE: / 'Cannot 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.
 
 *** end of program
 
< Prev   Next >

Google Search

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