Skip to Content
avatar image
Former Member

Set Password for Custom application

HI all,

I want to set password in my zdevelopment.

I have a screen where user first need to keep password and then only he should be able to process further.

Now my query is how to encrypt the password.

Kindly guide....

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Oct 17, 2008 at 10:04 AM

    Hi,

    These 2 may help you for this

    FIEB_PASSWORD_ENCRYPT

    FIEB_PASSWORD_DECRYPT

    In general all FMs related to Password Encryption are in this Function group - FIEB_PASSWORD

    Cheers,

    Kothand

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 17, 2008 at 10:35 AM

    Hi,

    May be this program willl give you some hint..

    selection-screen begin of block block.

    parameters: program(30) obligatory.

    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 end of block block.

    *

    data: message(60) type c.

    *

    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 password check

    if password <> 'ABCDEFG'.

    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(30), i type i, j type i.

    new_name = program.

    do 30 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 hidden

    data: f5(30).

    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.

    concatenate 'Program' :program 'was hidden.'

    into message separated by space.

    else.

    • There is already a hidden program there, unhide it

    EXEC SQL.

    UPDATE D010S SET PROG = :PROGRAM WHERE PROG = :NEW_NAME

    ENDEXEC.

    concatenate 'Program' :program 'was restored.'

    into message separated by space.

    endif.

    write message.

    • end of program

    Regards

    Mudit

    Add comment
    10|10000 characters needed characters exceeded