F98OWSEC - Creating an AS/400 Command

DannyMc

Member
I am aware that the security file for JDE is F98OWSEC. I also have run into the issue that JDE does not support a field where an operator can set a user's password to expired and force a password change. The only thing to do is run an SQL statement against F98OWSEC and set the SCSECLST field to something outside the range of the SCSECFRQ.

I am trying to create an AS/400 command that calls a program to make this modification so my operators do not have to run the SQL command. What I have found is that I have to make the SQL call from a high level programming language such as ILE RPG, RPG IV, or C. CL is not supported.

So far I have found some documentation on the CRTSQLRPGL command and examples I cannot follow on IBM's web site. I have come up with the following ILE RPG code:

H
C* *inzsr begsr
C *entry plist
C parm userid 10
C* endSR
C/eject
C/EXEC sql
C+ update f98owsec
C+ set scseclst = 102001,
C+ set scowpwd = :userid
C+ where scuser = :userid
C/END-EXEC
C/eject

Unfortunately, I keep getting the following message:

MSG ID SEV RECORD TEXT
SQL0104 30 10 Position 21 Token SCOWPWD was not valid. Valid tokens: =.
Message Summary
Total Info Warning Error Severe Terminal
1 0 0 0 1 0
30 level severity errors found in source
13 Source records processed

I do not know enough about programming or SQL to know what is wrong. I do have a copy of F98OWSEC in my library and my library is in the library list. Anyone got any suggestions?

Thanks,
Danny Mc?

--------
JDE OW Xe SP17
EN - AS/400 820 v5r1
DP - Win2k
CL - Win2k Citrix
 
Hello Danny,
My english is very bad.
You can set a user's password to expired and force a password change in
OneWorld .
When you create an user, you give a password to the user and at the bottom
two check boxes are used to select 'an expiration date for the password' and
'the Allowed Password Attempts'.
After you'd create a user you can't go backward, to attribute an 'expiration
date for the password' and 'the Allowed Password Attempts' you must delete
the user and recrate it.
regards

Christophe
OW Administrator
OW-xe Update 2 SP17
NT 4.0 AS400 V4R5
Win2000 WTS

-----Message d'origine-----
De : [email protected] [mailto:eek:[email protected]]De la
part de DannyMc
Envoyé : mardi 24 septembre 2002 23:00
À : [email protected]
Objet : F98OWSEC - Creating an AS/400 Command


I am aware that the security file for JDE is F98OWSEC. I also have run into
the issue that JDE does not support a field where an operator can set a
user's password to expired and force a password change. The only thing to
do is run an SQL statement against F98OWSEC and set the SCSECLST field to
something outside the range of the SCSECFRQ.

I am trying to create an AS/400 command that calls a program to make this
modification so my operators do not have to run the SQL command. What I
have found is that I have to make the SQL call from a high level programming
language such as ILE RPG, RPG IV, or C. CL is not supported.

So far I have found some documentation on the CRTSQLRPGL command and
examples I cannot follow on IBM's web site. I have come up with the
following ILE RPG code:

H
C* *inzsr begsr
C *entry plist !

C parm userid 10
C* endSR
C/eject
C/EXEC sql
C+ update f98owsec
C+ set scseclst = 102001,
C+ set scowpwd = :userid
C+ where scuser = :userid
C/END-EXEC
C/eject

Unfortunately, I keep getting the following message:

MSG ID SEV RECORD TEXT
SQL01!
04 30 10 Position 21 Token SCOWPWD was not valid. Valid tokens: =.
Message Summary
Total Info Warning Error Severe Terminal
1 0 0 0 1 0
30 level severity errors found in source
13 Source records processed

I do not know enough about programming or SQL to know what is wrong. I do
have a copy of F98OWSEC in my library and my library is in the library list.
Anyone got any suggestions?

Thanks,
Danny Mc?

--------
JDE OW Xe SP17
EN - AS/400 820 v5r1
DP - Win2k
CL - Win2k Citrix
---
Danny Mc?
ES = AS/400 v4r5
DS = Win2000 / SQL v7.0
CO = WinNT / Win2k
CT = Fat & Citrix
FP = FormScape
--------------------------
To view this thread, go to:
http://www.jdelist.com/ubb/showthreaded.php?Cat=&Board=OW&Number=42303
+ - - - - - - - - - - - - - - - - - - - - - - - -+
This is the JDEList One World® / XE mailing list/forum.
Archives and information on how to SUBSCRIBE, and
UNSUBSCRIBE can be found on the JDEList Forum at
http://www.JDEList.com

JDEList is not affiliated with JDEdwards®

+ - - - - - - - - - - - - - - - - - - - - - - - -+
 
take the second 'set' out of the sql stmt:
update f98owsec
set scseclst = 102001,
scowpwd = :userid
where scuser = :userid
 
Jean,

That got me working. Thanks!

I also got a reply from Perry Burch on the developer forum stating that I should set the type to SQLRPGLE which also helped.

One other thing that Perry pointed out was that the SCOWPWD (password) field is hidden and that I should investigate considerations with this. I tested the program against a copy of the F98OWSEC and was getting some journeling errors. I figured it was because of this.

Using STRSQL on the AS/400, I was able to update the SCSECLST, SCATTEMPTS and SCSECFRQ fields. I had to do this for everyone because we have not used the change frequency since go live and most user's passwords were still the same as their user id's.

I'm going to test and strip out the updating of the password. If the program works from there, worst case is that the operators change the users's password and then use my custom program to reset their last password change date. This way the user will be forced to change their password the next time they log on. :)

Thanks for your help!

Danny Mc?


Code:
-----------
H
C* *inzsr begsr
C *entry plist
C parm userid 10
C* endSR
C/eject
C/EXEC sql
C+ update f98owsec
C+ set SCSECLST = 102001,
C+ SCOWPWD = :userid
C+ where SCUSER = :userid
C/END-EXEC
C/eject
C eval *inlr = *on
 
This is one headache that OneWorld Unified Logon does away with, if you are willing to implement it.
 
Back
Top