|
|
All AS/400 Tip Categories
/
AS/400 Programming
/
How do you change the signon screen?
Question:
Can anyone tell me how to edit / change the signon screen on the as400. All
I need to do is to add a sentence to the bottom, company warnings about
mis-use etc.
Cheers
Answer(s):
usually, you can find member QDSIGNON in file QDDSSRC in library QGPL. Copy
this member to new one and edit by SEU or SDA. After creating new object you
have to change subsystem description (usually QINTER) - CHGSBSD - keyword
SGNDSPF.
I just did this for our AS/400 and added a "security" message and the
company logo on it. What you need to do is get the QDSIGNON source and
edit it to show/say what you want. then for any subsystem you want this
to show up on (don't use QCTL so you can at least get into your console)
you will have to do a ENDSBS on the subsystem. Then compile the DDS
source into a library other than QSYS I put mine in QGPL. Then STRSBS on
the subsystems you want the QDSIGNON used in. Then do a CHGSBSD
SBSD(QINTER) SGNDSPF(QGPL/QDSIGNON). (Change SGNDSPF to whatever
Subsystem(s) you want to use the new signon screen.
If you have any problems let me know.
The source file member is QDSIGNON in QGPL/QDDSSRC. Do not change the
order of inout capable fields or remove them. If you only want users to be
able to enter User ID and Password, you can protect and hide the other
fields in the changed DDS. Compile the source into one of your libraries
and then change the sub system description for the subsystem such as QINTER
by using WRKSBSD. I would advise that you do not change your controlling
subsystem just in case! You can add many lines of output text and you can
move the positions of input capable fields providing you do not alter their
sequence in the DDS.
go to
http://as400bks.rochester.ibm.com/bookmgr/home.htm
and look up the the book OS/400 Work management there you wil find some
information on changing QDSIGNON.
The source of QDSIGNON is shipped in QGPL/QDDSSRC.
I copied the source and added the following lines:
A MSG001 79 O 11 2MSGID(S000001 SIGNON)
A MSG002 79 O 12 2MSGID(S000002 SIGNON)
A MSG003 79 O 13 2MSGID(S000003 SIGNON)
A MSG004 79 O 14 2MSGID(S000004 SIGNON)
A MSG005 79 O 15 2MSGID(S000005 SIGNON)
A MSG006 79 O 16 2MSGID(S000006 SIGNON)
A MSG007 79 O 17 2MSGID(S000007 SIGNON)
A MSG008 79 O 18 2MSGID(S000008 SIGNON)
create a MSGF SIGNON and add the MSGID's with your text.
When creating the sign-on display file with the Create Display File
(CRTDSPF) command, secify 256 on the MAXDEV parameter. I created
QDSIGNON in QGPL, and changed the SBSD QINTER to look at QGPL/QDSIGNON.
I would recommmend not to change the controling subsystem.
HTH
Other tips in this category:
Click here to see all categories.
Socket Programming And Timeout Issues
Deleting Duplicate Records From A Table
What are data queues and how to use
Retrieving SMTP Name
RPGLE example for Dynamic Screen Manager API
Calling APIs from CL - with examples!
Compare two strings in RPG character by character
How to search all pgms in QCLSRC for a keyword
Retrieve Database File Description (QDBRTVFD) API
How to redirect the output to STDERR from RPG-IV
Using Multiformat Logical To Join 2 Identical File
D-Spec *LIKE DEFN
RPG: Converting Character to Decimal
Example of ILE RPG CGI Program
Handling ILE RPG Numeric Overflow
Help with Subfile Programming in RPG III
Zoned parameter in ILE RPG
What's the best way to do modulus in CL?
RPG Nesting Source Print Utility
More on changing the SIGNON screen
A silly ILE RPG question
Calling Validation List API From ILE RPG
Soft Coding Module Names
RPG Multidimensional Arrays in Action
Build a Page-Equals-Size Lookup Window
Procedures within an ILE RPG program
Break msg from RPG
Source Debugger for batch jobs
RPGLE debugging
Timing out display sessions in DDS
Building Dynamic Stored Procedures
Put Message in System Log
Dynamic RPGSQL
Randomize function for the AS/400
What's the fastest way to do a simple RPG lookup?
First time Data queue application in RPG
Print file overflow in ILE RPG
Mapping Fields To Arrays in ILE RPG
Named inidicators
STRQMQRY: comparision operator '=' isn't correct?!
DSPDTAARA to an outfile - possible?
PCL ESC codes in RPG
Sharing DB files between two AS/400s
Help: AS/400 subfiles
How do you change the signon screen?
Determining Even/Odd Values in queries
Get day of the week in RPG
Convert UPPERCASE to lowercase
RPG IV help using APIs
Help with data area API
Detecing IFS Files from RPG
SQL in a CL program
Calling AS/400 APIs from ILE RPG
CVTDAT command to convert an *MDY to a *LONGJUL
CPYSPLF Automation
Subfile Window background problem
Using IFS APIs w/ ILE RPG
Packed or unpacked fields?
QRYDFN to source and back
What does the "optimize" parm do?
Determining the calling program
Sockets in RPG?
Sorting a user space
OVRDBF and SECURE() keyword in an ILE environment
RPG record locking
RPG Differences: V2R3 to V3R2 upgrade
Getting the relative record number (RRN)
What is the longest parameter usable in RPG?
A C function that returns a string to an RPG pgm
Problems with ZADD *ZEROS
Can you highlight code in SEU?
Reusing deleted records - OK?
Is there an easy way to change edit codes?
Help - Windowed Subfiles
Logical Files and DDS
AS/400 'machine language' - MI Programming
Library lists and performance
How to use ERRSFL
Updating in CL
Record lock wait time
Message subfile problem
Physical File Joins
CL: Copying User Profiles
Commands and PARM
ILE RPG, RPG IV, vs. RPG/400
RPG and subfiles
Multiple subfiles
Field masking for passwords
SFLMODE keyword in an ILE program
Subfile size
Color coding records in a subfile
MSGLINE in windows
Controlling cursor movement on a display file
API returns error! Why?
Put an RPG Program on the Web
Variable length records in RPG
Differences Between RPG400, RPG IV, and ILE RPG
|