パスワードの大文字要件を作成する
Question
パスワードの期限満了時や (CHGPWD) 画面のリセット時に、ユーザーのパスワードに大文字を必要とするパスワード検証プログラムを設定しようとしています。また、パスワードに大文字がない場合に、エラー・メッセージを画面下部に表示させたいとも考えています。
大文字のチェックにどのようなコードを使用するのかご存知でしょうか?API はすでに設定済みです。また、本来エラー・メッセージが画面下部に表示される場合、パスワード検証プログラムでエラーが発生したことを示すメッセージを受信します。SNDPGMMSG コマンドを使用してそのまま作業を続けるために、正しいエラー・メッセージを受信するためのヒントは何かありませんか。
Answer
ユーザーのパスワードの少なくとも 1 つの大文字が存在することを検証する出口プログラム・コードを以下に示します。
D pwd s 10a
D NoUppercase s n
/free
NoUpperCase = (pwd = lower(pwd));
If NoUpperCase;
// process error condition
EndIf;
/end-free
P lower B
D lower PI 10a
D pwd 10a
D uc s 26a inz('ABCDEFGHIJKLMNOPQRSTUVWXYZ')
D lc s 26a inz('abcedfghigklmnopqrstuvwxyz')
D mypwd s 10a
/free
mypwd = %Xlate(uc : lc : pwd );
return mypwd;
/end-free
P lower E