0

ユーザーが入力するパスワードを PULL する必要がありますが、文字を画面に表示したくありません。REXXでこれを達成するのを手伝ってくれませんか.

4

2 に答える 2

6

@cshneid として、ISPF パネルを使用します (そしてそれを ISPPLIB に配置します)。以下は、 ISPF マニュアルから抜粋したパスワード フィールド ($ 属性を参照) を含むパネルの例です。

)ATTR
  * TYPE(TEXT)   INTENS(HIGH) COLOR(WHITE) CAPS(OFF)
  # TYPE(TEXT)   INTENS(HIGH) COLOR(BLUE)  CAPS(OFF)
  @ TYPE(TEXT)   INTENS(LOW)  COLOR(BLUE)  HILITE(REVERSE)
  ? TYPE(TEXT)   INTENS(LOW)  COLOR(TURQ)  CAPS(OFF)
  _ TYPE(INPUT)  INTENS(HIGH) COLOR(YELLOW)
  $ TYPE(INPUT)  INTENS(NON)
  ø TYPE(OUTPUT) INTENS(LOW)  COLOR(TURQ)  CAPS(OFF)
)BODY
* --------------------------@EMPLOYEE RECORD*--------------------------
# SERIAL NO.*===>_SERNUM  +&rbl                                          %
#
#
#   NAME:?&LAST, &FIRST
#
#   ADDRESS:øADDR1                      + 
#           øADDR2                      + 
#           øADDR3                      + 
#           øADDR4                      + 
#
#   POSITION:øPOSIT                     + 
#
#   YEARS EXPERIENCE:øYRS+ 
#
#   SALARY:øSALARY +       # PASSWORD*===>$PSW   + 
#                              (Password is required for salary)
#
#
* Enter#END*command to terminate application.
#
)PROC
   VER(&SERNUM,NB,NUM)
   .ATTR(.CURSOR) = 'COLOR(RED) HILITE(BLINK)'
)END

私はチェックできるメインフレームを持っていないので、次のように構文エラーが発生する可能性があることに注意してください。

パネルを表示する Rexx コマンド:

Address ispexec display panel(panelName)

DSN を ISPPLIB に追加する必要がある場合

"ispexec libdef ispplib dataset id(panel-dsn)" 

背景情報

ISPF は一連のファイル (ispplib、ispmlib、isptlib など) を使用して、使用する詳細を保管します。rexx/clist プログラムでLIBDEF機能を使用して、追加の PDS を (一時的に) ISPF に追加できます。歴史的に、これらの PDS は RECFM=FB で、LRECL は 80 でした。これは変更されました。既存の ispplib PDS の属性を確認し、同様の属性を使用する必要があります。

パネルを表示するには、ISPPLIB (または LIBDEF を使用してispplibに割り当てられた PDS ) に保管する必要があります。

パネルを pds my.panels(test) に保存し、my.panels を ISPPLIB に割り当てると、rexx は次のようになります。

   /* rexx */
    address ispexec 'display panel(test)'
    say rc        /* show return code, will indicate possible errors */

LIBDEFを使用する場合、rexx は

  /* rexx */

    address ispexec "libdef ispplib dataset id(panel-dsn)" 
    say rc

    address ispexec 'display panel(test)'
    say rc        /* show return code, will indicate possible errors */

マクロの編集ガイドには、サービスのリスト (およびリターン コードがあります) があります。

パネルをパネル ライブラリに割り当てる場合は、ispf テスト モード (ispf 7.1 ??? メインフレームを使用してからしばらく経ちます) を使用してテストすることもできます。

于 2013-08-07T00:58:11.313 に答える