メインフレームヒント集

 

汎用系初心者のために、今までの経験から書いてみました。

経験したホスト汎用機
富士通 M、GSシリーズ PRIMEFORCE OS:W/XSP
終了は[×](閉じる)
 
ヒント集
富士通メインフレーム 制御プログラム
エディタ コマンド
開発、運用支援ツール エミュレータ
 
エラー エラー内容
富士通メインフレーム
今あえて世に問うレガシーシステム!
OS
富士通ハード、ソフトの歴史
汎用機用語
データ管理
 
制御プログラム
SCF
JCL
JCL/SORT
CL(オフコンESP系)
  
 
エディタ
PFD
EDTFILE(オフコンESP系)
 
 
 
コマンド
操作コマンド
FIMPORT、FEXPORT
 
 
 
開発、運用支援ツール
IFD(画面フォーマット定義体)
EXCIDM(対話データベース操作)
 
 
 
エミュレータ
New!
エミレータを起動したら初期画面が出ず、黒い画面のままになっている。
エミュレーターで「無効な入力です」と表示されて入力できません。 
フルスクリーンを元に戻すには? 
実行キーが[Shit]+[Enter]で面倒なので、[Enter]のみに変更したい 
6680エミュレータ設定 
 
 
 



 
■富士通メインフレーム


 今あえて世に問うレガシーシステム!
いまさらCOBOLでも無かろうなと思いつつ、
「汎用系プログラム開発」のコーナーを立ち上げて見ました。
オープン系全盛の今日ではあるが、メインフレームが全く無くなった訳ではなく、手堅いシステムとしてその存在感は衰えてはいない。(と思うが?)

オープン系の弱点は、
WindowsのOSはコロコロ変わり、ソフトはバージョンアップが激しく、数年前に作ったソフトはもう古く、システム別にソフトが違う事態も起こり、古いソフトのメンテナンスも出来ない事もなりかねない。(7〜8年後はメンテできなく、作り直しの羽目になるかも)
いつかサポート対象外になる怖れのあるWindowsソフトでは企業としての安定感がない。

とは言え、
時代の波には乗らなくてはならず、いつ全面的にOPEN系に移行するか、 もう少し待って様子を見るか(メインフレーム時代が再度訪れたりして?)

これらの事は西暦2007年問題とかなりリンクしている場合が多く、この際、新システムを開発してOPEN系に移行しようとする企業も多いと思います。

開発費用とシステム要員の問題もあり、日夜悩み続けているシステム部長も多い思いかも?

と言うことで、
新入社員COBOLER(いるかな?)のために、時代に逆行してこの「汎用系プログラム開発」のサイトを 立ち上げました。
一度に全てUP出来ないので、古い資料を再読しつつ随時更新していきます。

(追)
アクセス分析をしてみると、COBOL、JCL、PFD、FIMPORTの検索キーが予想外に多かったので、よりいっそう充実していきます。



 OS
●OSIV/MSP
  富士通の大型汎用計算機用のオペレーティングシステム。

●OSIV/XSP
  富士通の中・大型汎用計算機用のオペレーティングシステム。
   OSIV/X8 FSP (中・大型用)と、
   OSIV/ESP V (中型、オフコン用)が1994年に一本化された。


 富士通ハード、ソフトの歴史

1954.10 リレー式自動計算機「FACOM100」(国産初)
1961.02 トランジスタ式大型汎用電子計算機「FACOM222」
1964.05 中型汎用機FACOM 230-30
1965.09 事務用小型機FACOM 230-10(国産ベストセラー機種)
1969.04 FACOM 230-10
1986.03 富士通:大型汎用機FACOM230-60(マルチプロセッサシステム)
1986.08 中〜大型汎用機FACOM 230-25,35,45(全面IC採用)
1970.04 
1970.06 超大型汎用機FACOM 230-75
1973.08 汎用機FACOM 230-8(仮想記憶方式採用)
1974.11 汎用機Mシリーズ
1978.01 超大型汎用機FACOM M-200(世界最高速)
1979.04 中型汎用機FACOM M-130F,140F,150F,160F
1980.05 日本語ワードプロセッサ「OASYS100」
1981.05 パソコン「FM-8」(FMシリーズの第1弾)
1981.05 超大型汎用機FACOM M-380/382
1982.07 スーパーコンピュータ「FACOM VP-200/100」(国産初)
1985.11 超大型汎用機FACOM M-780(世界最高速)
1989.02 32ビット・ハイパーメディア・パソコン「FM TOWNS」
1989.06 汎用大型コンピュータ向けOS「MSP-EX」
1990.09 超大型汎用機FUJITSU M-1800(世界最高速)
1992.09 ベクトルパラレル型スーパーコンピュータ「VPP500シリーズ」(世界最高速)
1994.11 オールインワンモデルパソコン「FMV DESKPOWER」
1995.08 GS-8200 OSW/XSP FM-2500SV
1996.01 グローバルサーバ「GS8600シリーズ」
1996.02 超高速スーパーコンピュータ「VPP700シリーズ」
1999.03 
1999.07 64CPU 搭載の高性能UNIXサーバ「GP7000F モデル2000 」
2000.05 グローバルビジネスの展開に向けたサーバ戦略
     IAサーバを「PRIMERGY(プライマジー)」
     UNIXサーバを「PRIMEPOWER(プライムパワー)」
     マルチサーバ「PRIMEFORCE(プライムフォース)」
     IAワークステーション「CELSIUS(セルシアス)」
2000.05 メインフレーム「GS8000」一新
    エントリ機 「GS8200」→ 「GS8500FXモデルグループ」
    ミッドレンジ機 「GS8400」→ 「GS8500モデルグループ」
    ハイエンド機の「GS8900モデルグループ」
2000.11 マルチサーバー「PRIMEFORCE(プライムフォース)」
     PRIMEFORCE「モデル8007」★
     PRIMEFORCE「モデル8015」
2002.02 大型汎用コンピュータ『GS21 600』(世界最高速)
2002.06 ERPソフトウェア「GLOVIAソリューション」
     受注生産型業務モデル
     決算早期化業務モデル
     連結管理会計モデル
     固定資産業務モデル
     人事・総務ワークフローモデル
2005.06 IAサーバ「PRIMEQUEST」(プライムクエスト)
     PRIMEQUEST 400シリーズ」
2007.02 グローバルサーバ「GS21」シリーズ
     超大型機 GS21 1600モデル
     大型機  GS21 1400モデル
     中型機  GS21 200Aモデル
2010.04 IAサーバ「PRIMEQUEST 1000」
2011.07現在のラインナップ
   PCサーバーPRIMERGY(プライマジー)
   UNIXサーバ SPARC Enterprise(スパーク・エンタープライズ)
   基幹IAサーバ PRIMEQUEST(プライムクエスト)
   メインフレーム Global Server(グローバルサーバ)GS21シリーズ
   オフィスコンピュータ PRIMERGY 6000(プライマジー 6000)


 汎用機用語

富士通汎用機に関連のある用語を富士通用語集から抜粋しました。

●ADL(エイディーエル)Aim Description Language
 AIMの動作環境を定義するための言語。

●AIM(エイム) Advanced Information Manager
 富士通が開発した総合的なオンラインデータベースシステム。オンラインネットワーク機能、データベース機能、トランザクション管理機能などを結合したソフトウェア製品。

●AIM/RDB(エイム アールデービー) Advanced Information Manager Relational DataBase
AIM配下のリレーショナル型データベース。

●AIM/NDB(エイム エヌデービー) Advanced Information Manager Network DataBase
AIM配下のネットワーク型データベース。

●AIM/VSAM(エイムブイサム)Advanced Information Manager Virtual Storage Access Method
AIM配下で仮想記憶装置アクセス法(VSAM)を用いるデータ格納方式。

●DPCライブラリ(デーピーシー ライブラリ)
ホストコンピュータとパソコン間でプログラム間通信、ファイル転送、及びDB連携を実現する富士通のソフトウェア製品。(一般的な機能は、業務支援機能によりプログラムを作成することなく実現できます。また、富士通製のRDBにアクセス(抽出/更新)するためのRDA機能を提供。)

●EBCDIC(エビシディック) Extended Binary Coded Decimal Interchange Code グローバルサーバの英文字コード。

●EUC(イーユーシー)Extended UNIX Code
UNIX系のシステムで使用される文字コード。

●F6680エミュレータ
対話処理専用端末であるF6680端末の画面出力、対アプリケーションインターフェースを互換保証したパソコン上のエミレーションソフトウェア機能・製品。

●F6680端末
グローバルサーバの対話処理専用端末。

●FENICS(フェニックス) Fujitsu ENhanced Information & Communication Service
ネットワークサービスからアウトソーシングサービスまで、幅広いサービスを提供する富士通ネットワークサービス。

●FNA(エフエヌエー) Fujitsu Network Architecture
富士通が開発した独自のネットワークアーキテクチャ

●JCL(ジェーシーエル) Job Control Language
ジョブ制御文を記述する言語。

●JEF(ジェフ)
富士通が開発した日本語処理拡張機構。

●JSF(ジェーエスエフ)Job Stack File
XSPシステムに投入されたジョブを、スケジューリングのために格納しておくファイル。

●KUIN住所/氏名 (クイーン)
カナの住所及び氏名を漢字に変換するための富士通のソフトウェア製品。辞書と検索ライブラリで構成。

●MQN(メッセージキューノード) message queue node
オンライン処理において、ワークステーションからの入力メッセージや応用プログラムから発行されたメッセージが、応用プログラムの処理を待つために登録される場所。メッセージが格納されているメッセージファイルが登録される。

●MSU(エムエスユー) Main Storage Unit
主記憶装置のことである。MSUは、中央処理装置およびチャネル装置から転送された情報の主記憶へ書込み、または主記憶に書き込まれている情報を読み出してこれらの装置に転送する機能を持つ。

●NetCOBOL(ネットコボル)
富士通のCOBOL開発ツールであるPowerCOBOL97の後継製品。Microsoft .NET Frameworkをサポートする。

●NMC(エヌエムシー) Nihongo Multi Controller
端末制御装置。F6680端末やOPR(オフィスプリンタ)を制御する。

●OSIV/MSP(オーエスフォー エムエスピー) OSIV/Multi dimension System Products
富士通の大型汎用計算機用のオペレーティングシステム。

●OSIV/XSP(オーエスフォー エックスエスピー) OSIV/eXtended dimension System Products
富士通の中・大型汎用計算機用のオペレーティングシステム。

●PowerCOBOL97(パワーコボル97)
Windows上でCOBOLアプリケーションを開発するための、ビジュアルな開発環境を提供する富士通のソフトウェア製品。

●PRIMEFORCE(プライムフォース)
グローバルサーバ「GS8000シリーズ」とUNIXサーバ「PRIMEPOWER(プライムパワー)」とIAサーバ「PRIMERGY(プライマジー)」を組み合わせたマルチサーバ形態の情報システムを一台で実現する新しい情報システムの中核サーバです。

●PRIMEPOWER(プライムパワー)
富士通のグローバルブランド UNIXサーバのこと。

●PRIMERGY(プライマジー)
富士通のグローバルブランド IA(Intel Architecture)サーバのこと。

●ROM(リードオンリメモリ)read-only memory
通常状態でデータの読み取りのみができる記憶装置、または記憶素子。

●SAM(サム) Sequential Access Method
ファイルに対するアクセス法の一種で、順次にアクセスする方式。

●SCF(エスシーエフ)System Control Facility
XSPシステムの自動運転を実現する機能。

●SymfoWARE(シンフォウェア)
リレーショナルデータベースと、オブジェクト指向のデータベースを統一的に取り扱う。富士通のデータベースの概念、およびソフトウェア製品の総称。

●UNICODE(ユニコード)
世界中の文字を統一して表現するための文字コード。

●UNIXサーバ
富士通製品では、PRIMEPOWER(プライムパワー)、GP7000F、GP7000D、GP7000Sなどが該当する。

●UPS(ユーピーエス) uninterruptible power supply
無停止電源装置。交流入力が停電しても、ある一定時間、規定の交流出力を供給する装置。

●VSAM(ブイサム) Virtual Storage Access Method
直接アクセス記憶装置(DASD)の装置タイプに依存しないアクセス法。VSAMデータセットに対して順次、直接あるいはスキップ順にデータの読み込み、書き出し、追加、更新、あるいは削除を行うことができる統合されたアクセス法である

●VTAM(ブイタム) Virtual Telecommunication Access Method
応用プログラムと端末間の通信手段を提供するソフトウェアであり、ホスト計算機で動作する。FNA(Fujitsu Network Architecture)に基づく高度な通信ネットワークの管理機能を有する。

●WSMGR(ワークステーション マネージャ)
F6680/3270/5250エミュレーション機能、DUETファイル転送機能などを提供する富士通のソフトウェア製品。

●シフトJIS (Shifted JIS)
Windows等のパソコン上の日本語文字コード。

●ノイマン型計算機 Neumann type computer
プログラムとデータが主記憶装置に格納されており、命令の実行が逐次制御される計算機のこと。

●4GL(フォージエル)
CORBA、FORTRAN、PL/Iなどを3GLと呼び、高生産性を目指した言語を4GLと呼ぶ。当社製品ではYPS、CAPE、PowerAEなどが4GLに該当する。


 データ管理

●ハードディスクの容量
 今では古いが、HDDの機種にもよるが450MBのハードディスクの容量は
  1ディスク-----833シリンダー
  1シリンダー---20トラック
  1トラック-----27051バイト
  833×20×27051=450669660バイト--->450MBとなる



 
■制御プログラム


 SCF

●SCF(エスシーエフ)System Control Facility
XSPシステムの自動運転を実現する機能。
-----------------------------------
●SYSOPN
コンピュータ立上げから、1日の処理
/ DEFINE SYSOPN,SKP=N,DEBUG=YES
PROC SYSOPN,TYPE=(KEEP)
*********************************************************
** ABCD システム オープン           **
*********************************************************
  MSG '<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>'
  MSG '<<<<< SYSTEM OPEN   >>>>'
  MSG '<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>'
  **
   COMMAND 'CHAM SYS.XSPMAC'
  **
*********************************************************
** 日付セット                  **
*********************************************************
***(トウジツ SET)****
  SET #YMD1=#SYSDATE
  SET #YY=#CHAR(#YMD1,2)
  SET #MD=#CHAR(#YMD1,5,B)
  SET #MM=#CHAR(#MD,2)
  SET #DD=#CHAR(#MD,2,B)
  COMMAND ':ESET X8.DATE1=#YMD1',ID=TOD1
  WAIT CMD(TOD1)
  COMMAND ':ESET X8.DATE2=#YY#MM#DD',ID=TOD2
  WAIT CMD(TOD2)
  COMMAND ':ESET X8.YYMM=#YY#MM',ID=TOD3
  WAIT CMD(TOD3)
  COMMAND ':ESET X8.YY=#YY',ID=TOD4
  WAIT CMD(TOD4)
  COMMAND ':ESET X8.MM=#MM',ID=TOD5
  WAIT CMD(TOD5)
  COMMAND ':ESET X8.DD=#DD',ID=TOD6
  WAIT CMD(TOD6)
*******************************************************
** IDCM START **
*******************************************************
  EVENT WTO(JYM410I)
  COMMAND 'START IDCM'
  WAIT WTO(JYM410I)
  WAIT INTV(10S)
*******************************************************
** AIM START **
*******************************************************
  EVENT WTO(JXAA25I)
  COMMAND 'START AIM'
  WAIT WTO(JXAA25I)
*******************************************************
** SIS START **
*******************************************************
  EVENT WTO(JXJ510I)
  =JALT JC=AIM,S,SIS,SISN=SIS00
  WAIT WTO(JXJ510I)
*******************************************************
** APG START **
*******************************************************
  EVENT WTO(JXJM02I)
  =JALT JC=AIM,S,APG,APGN=APG00
  WAIT WTO(JXJM02I)
*
  EVENT WTO(JXJM02I)
  =JALT JC=AIM,S,APG,APGN=APG01
  WAIT WTO(JXJM02I)
*******************************************************
** DCMS START **
*******************************************************
  EVENT WTO(JXJ550I)
  =JALT JC=AIM,START,DCMS
  WTO(JXJ550I)
*******************************************************
** 処理開始 **
*******************************************************
  MSG '<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>'
  MSG '<<<<< DAILY システム START >>>>>'
  MSG '<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>'
 
  COMMAND ':S ABCD0010'
 
  WAIT TIME(10.00)
  RDYJOB (ABCD0011)

  WAIT TIME(12.00)
  RDYJOB (ABCD0020)

  WAIT TIME(14.00)
  RDYJOB (ABCD0030)

  CALLPROC (ABCD0040,10)
 *
  RDYPROC (ABCD0042)

  JOBS (ABCD0041,10)
  JOBP (ABCD0100,10),
       (ABCD0200,10)

  EVENT WTO('MSG ABCD0050 NORMAL END')
  EVENT WTO('MSG ABCD0060 NORMAL END')
  =\\ ABCD0050
  =\\ ABCD0060
  WAIT WTO('MSG ABCD0060 NORMAL END')
  WAIT WTO('MSG ABCD0050 NORMAL END')

  =:SET WTO('MSG (ABCD0030 NORMAL END'),
       WTO('MSG (ABCD0040 NORMAL END'),
       CMD=':S (ABCD007S',ONCE,ID=TEMP


  JOBS (ABCD0300,10,,(PR1=\PR1,PR2=\PR2,PR3=\PR3))
**
/ IF SKP=Y,SKP02
SKP01: NOP
  JOBS (ABCD0310,10,,(PR1=\PR1,PR2=\PR2,PR3=\PR3))
SKP02: NOP
** 00003200
*******************************************************
** 処理終了 **
*******************************************************

  MSG '<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>'
  MSG '<<<< SYSCLS ジヨウケン ノ SET >>>'
  MSG '<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>'
  =:SET    END(AAA00010),
        END(BBB00010),
        CMD=':S SYSCLS',ONCE,ID=DCLS
  MSG 'MSG SYSOPN NORMAL END'
**
PEEND: NOP
PEND
/ DEFEND
-----------------------------------
●SYSCLS
コンピュータの落とし
/ DEFINE SYSCLS
PROC SYSCLS,TYPE=(KEEP)
*********************************************************
** ABCD システム クローズ           **
*********************************************************
  =STOP DV=L0
  WAIT INTV(10S)
  =CANCEL US=INT0
  =JALT JC=AIM,POST,END,P=ABCD00,MD=E
  =JALT JC=AIM,POST,END,P=ABCD01,MD=E
  WAIT INTV(10S)
  EVENT WTO(JXJ560I)
  =JALT JC=AIM,P,DCMS
  WAIT WTO(JXJ560I)
  WAIT INTV(20S)
  =JALT JC=AIM,P,APG,APGN=APG00
  EVENT WTO(JXJ530I)
  =JALT JC=AIM,P,SIS,SISN=SIS00
  WAIT WTO(JXJ530I)
  WAIT INTV(20S)
  EVENT WTO(JXAA26I)
  =STOP AIM
  WAIT WTO(JXAA26I)
  EVENT WTO(JYM426I)
  =STOP IDCM
  WAIT WTO(JYM426I)
  =STOP DV=C0
  STPAIF
  COMMAND 'STOP GSM'
  PRCF
  STPVTAM
  COMMAND ':START STPLIB'
  COMMAND ':C MRCE'
  COMMAND 'JALT MRCE,STOP'
  COMMAND ':C MTRREQDF'
  PPADIAE
  IF #SYSTIME>04.30,THEN=PEEND
  POFF /
  PEND
**
  MSG 'MSG SYSCLS NORMAL END'
**
  PEEND: NOP
  PEND
  / DEFEND


 JCL

●JCL(ジェーシーエル) Job Control Language
ジョブ制御文を記述する言語。
-----------------------------------
●JCL処理サンプル1
/EXPAN DEFINE MABC0010,RN=1
\ JOBG DBMENT,MULTI=1,REL
\ JOB MABC0010,ACCT='ABC1',RSTEP=\RN,MULTI,PRTY=(3,5)
\********************************************************
\*  在庫更新処理                   *
\********************************************************
\*
\ EX FDLT
\ FD LIST=DUMMY
\ FD COIN=*
/ F WWABCD31,000010
/ F WWABCD32,000011
/ FIN
\**
\ EX PABCD075
\ FD PRGLIB=DA,FILE=SYSELIB
\ FD  CF=DA,FILE=CALIB
\ FD SYSDBOUT=DA,VOL=WORK,TRK=(30,30,RLSE),SOUT=B
\ FD AIMPED=SSI,SUBSYS=(AIM,PDBCD075,APG00)
\ FD U31=DUMMY
\*
\ EX PABC2030
\ FD PRGLIB=DA,FILE=SYSELIB
\ FD  CF=DA,FILE=CALIB
\ FD SYSDBOUT=DA,VOL=WORK,TRK=(1,1,RLSE),SOUT=B
\ FD AIMPED=SSI,SUBSYS=(AIM,PDABC00A,APG00)
\ FD LIST=DUMMY
\ FD WWW51403=DA,VOL=000010,FILE=WWABCD31,TRK=(270,90,RLSE)
\*
\ EX SORT
\ FD SORTIN=DA,VOL=000010,FILE=WWABCD31,DISP=DLT
\ FD SORTOUT=DA,VOL=000011,FILE=WWABCD32,TRK=(90,30,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
  SORT  KEYS=(01,2,CH,A)
  OMIT  COND=(84,1,EQ,C'1',OR,
         01,2,EQ,C'31',OR,
         01,2,EQ,C'10'),
         FORMAT=CH
  END

\ EX ABC12550
\ FD PRGLIB=DA,FILE=SYSELIB
\ FD  CF=DA,FILE=CALIB
\ FD SYSDBOUT=DA,VOL=WORK,TRK=(1,1),SOUT=B
\ FD C124C03B=DA,VOL=000011,FILE=WWABCD32
\ FD LIST0000=DA,VOL=WORK,SOUT=K,TRK=(100,100,RLSE)
\ FD LIST=DUMMY
\********************************************************
\ EX SORT
\ FD SORTIN=DA,VOL=000010,FILE=WXYJANNZ,DISP=(DLT,LOCK)
\ FD SORTOUT=DA,VOL=000010,FILE=WWABCD39,TRK=(10,10,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
  SORT FIELDS=(188,1,CH,A,181,7,CH,A,128,6,CH,A,18,10,CH,A)
     INCLUDE COND=(189,1,EQ,C'1'),
     FORMAT=CH
  END
\**
\ EX FSET
\ FD PRGLIB=DA,FILE=SYS.X8SYSTEM.UTYEB
\ PARA BLKS=3600,RCDS=200
\ FD U01=DA,VOL=000010,FILE=WXYJANNZ,TRK=(10,10)
\ FD LIST=DUMMY
\*
\**************************************************************
\ EX ABC12290
\ FD PRGLIB=DA,FILE=SYSELIB
\ FD  CF=DA,FILE=CALIB
\ FD SYSDBOUT=DA,VOL=WORK,TRK=(1,1),SOUT=B
\ FD C124C03B=DA,VOL=000010,FILE=WWABCD39
\ FD C224C03C=DA,VOL=000012,FILE=WXYJANNX,TRK=(100,10,RLSE)
\ FD LIST=DUMMY
\ FD WXYAM010=DA,FILE=(WXYPUMB010,OT)
\ FD UIN=*
0001
\*
\*
\ EX FCPY
\ PARA / FCPY IN=U01,OUT=U05,COUNT=YES
\ FD U01=DA,VOL=000011,FILE=WWWACD12
\ FD U05=DA,VOL=000010,FILE=(WXYJAERR,AD),DISP=LOCK
\ FD LIST=DUMMY
\**EX *
\**PAUSE !!!!!!!! TEST !!!!!!!!!
\ EX PABC123B
\ FD PRGLIB=DA,FILE=SYSELIB
\ FD  CF=DA,FILE=CALIB
\ FD SYSDBOUT=DA,VOL=WORK,TRK=(1,1),SOUT=B
\ FD U30=DA,VOL=000001,FILE=WWABC101,FCB=(OPTCD=X)
\ FD  CF=DA,VOL=000002,FILE=WWABC102,FCB=(OPTCD=X)
\ FD U31=DA,VOL=000001,FILE=WWABC103,TRK=(90,30),DISP=(CONT,DLT)
\ FD U32=DA,VOL=000005,FILE=WWABC104,TRK=(5,5,RLSE)
\ FD U38=DA,VOL=000001,FILE=(WWABC300,AD)
\ FD LIST=DA,VOL=WORK,TRK=(30,30,RLSE),SOUT=K
\*
\ EX *
\ FD U06=DA,VOL=000001,FILEWWABC101,DISP=DLT
\*
\ EX FTOF
\ FD PRGLIB=DA,FILE=SYS.X8SYSTEM.UTYEB
\ FD U01=DA,VOL=000010,FILE=WWABCD35,DISP=DLT
\ FD U02=DA,VOL=000013,FILE=WWABCD36,TRK=(100,100,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
/ FTOF IN=U01,OUT=U02,BLKS=2100,RCDS=210
/ FS 0001DX(200) 0001DX(200)
/ FS         0201 '&X8.DATE2'
/ FIN
\**
\ EX FCPY
\ PARA / FCPY IN=U01,OUT=U05,COUNT=YES
\ FD U01=DA,VOL=000009,FILE=WXYNTHZN,DISP=DLT
\ FD  CF=DA,VOL=000013,FILE=WXYNTHZ5,DISP=DLT
\ FD U05=DA,VOL=000012,FILE=WXYNTHZ6,TRK=(600,200,RLSE)
\ FD LIST=DUMMY
\**
\********************************************************
\ EX *
\ FD CATF=MT,FILE=WWABC2(0),DISP=CONT
\*
\ EX FCPY,COND=10
\ PARA / FCPY IN=U01,OUT=U02
\ FD U01=DA,FILE=WWXYZ002
\ SW U02=CATF,FILE=(WWXYZ002.X&X8.DATE2,FA),DISP=CONT
\ FD LIST=DUMMY
\*
\ EX FCPY,COND=10
\ PARA / FCPY IN=U01,OUT=U02
\ FD U01=DA,VOL=000004,FILE=WWXYZ003
\ SW U02=U02,FILE=(WWXYZ004.X&X8.DATE2,FA)
\ FD LIST=DUMMY
\********************************************************
\*
\********************************************************
\**
\ EX *
\ MSG MABC0010 NORMALEND
\*
\ JEND
\ JGEND
/ DEFEND


●JCL処理サンプル2
/EXPAN DEFINE MABC0020,RN=1,FP=1,SYSYM=,SYSMM=,SYSYY=,DZ=,TZ=
/ SET SYSYM=&X8.YYMM
/ SET SYSMM=&X8.MM
/ SET SYSYY=&X8.YY
/ SET DZ=&X8.ZYYMM
/ SET TZ=&X8.YYMM
\ JOBG ABCDE,REL
\ JOB MABC0020,ACCT='S23A',RSTEP=\RN
\********************************************************
\*  在庫データ保存処理                *
\********************************************************
\ EX FDCV
\ FD U01=F1
\ FD U30=DA,VOL=000004,FILE=WWABCDN2,TRK=(50,50,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
/ OUT U30,WWABCDN2,RL=80,BF=13
/ CNVB *
/ LOAD
/ FIN
\*
\ EX *,COND=(15,60)
\ FD U01=DA,VOL=000004,FILE=WWABCDN2,DISP=DLT
\*
/ IF SYSMM=02,SKP01
\ EX FCPY
\ PARA / FCPY IN=U01,OUT=U02,COUNT=YES
\ FD U01=MT,VOL=MT0104,FILE=WWABCDN3
\ FD U05=DA,VOL=000002,FILE=WWABCDN4,TRK=(60,30)
\ FD LIST=DUMMY
\ FD COIN=*
/ FCPY IN=U01,OUT=U05
/ FIN
\*
/ SKIP SKP02
/SKP01 NOP
\ EX FSET
\ FD PRGLIB=DA,FILE=SYS.X8SYSTEM.UTYEB
\ PARA BLKS=1800,RCDS=600
\ FD U01=DA,VOL=000002,FILE=WWABCDN5,TRK=(60,30)
\ FD LIST=DUMMY
\*
/SKP02 NOP
\*******************************************************
\ EX *
\ FD CATF=MT,FILE=BOISGS(0),DISP=CONT
\*
\ EX ISFG
\ SW U01=CATF,FILE=WWABCDN&X8.ZYYMM
\ FD U05=DA,VOL=000003,FILE=WWABCDN6,FCYL=10
\ FD LIST=DUMMY
\ FD COIN=*
/ ISFG IN=U01,OUT=U05
/ AREA PRIM=25
/ BTYP RKYP=1,KEYS=8,RCDS=200,BLKS=1000,BLKD=80
/ FIN
\**
\*******************************************************
\*
\ EX PABCD200
\ FD PRGLIB=DA,FILE=SYSELIB
\ FD  CF=DA,FILE=CALIB
\ FD SYSDBOUT=DA,VOL=WORK,TRK=(30,30,RLSE),SOUT=B
\ FD LIST=DUMMY
\ FD WWXYZ002=DA,FILE=WWXYZ002
\ FD WWABCDN6=DA,VOL=000003,FILE=WWABCDN6
\ FD AN032111=DA,VOL=000002,FILE=WWABCDN7,TRK=(90,30,RLSE)
\ FD UIN=DA,VOL=000001,FILE=DX23AM03.X0
\*
\*************************************************************
/ IF SYSMM^=02,SKPGG
/ IF SYSYM=0101,SKP0A
/ SKIP SKPGG
\**
/SKP0A NOP
\ EX *
\ FD CATF=MT,FILE=ABCDE(-1),DISP=CONT
\*
\ EX FCPY
\ PARA / FCPY IN=U01,OUT=U02
\ FD U01=*
DUMMY
\ SW U02=CATF,FILE=DUMMY,DISP=CONT
\ FD LIST=DUMMY
\*
\ EX *
\ SW CATF=U02,FILE=ABCDE(+1),DISP=CAT
\*
\ EX *
\ UNCAT FILE=ABCDE(-2)
\****
\ EX *
\ FD CATF=MT,FILE=ABCDE(0),DISP=CONT
\*
\ EX FCPY
\ FD U01=DA,VOL=000002,FILE=WWABCDN7,DISP=DLT
\ SW U05=CATF,FILE=(WWABCDN&X8.ZYYMM,OT),DISP=CONT
\ FD LIST=DUMMY
\ FD COIN=*
/ FCPY IN=U01,OUT=U05
/ FIN
/SKIP SKP22
\*******************************************************************
/SKPGG NOP
\ EX *
\ FD CATF=MT,FILE=ABCDE(0),DISP=CONT
\*
\ EX FCPY
\ FD U01=DA,VOL=000002,FILE=WWABCDN7,DISP=DLT
\ SW U05=CATF,FILE=(WWABCDN&X8.ZYYMM,OT),DISP=CONT
\ FD LIST=DUMMY
\ FD COIN=*
/ FCPY IN=U01,OUT=U05
/ FIN
\*
\*
/SKP22 NOP
\*
\ EX FCPY
\ FD U01=DA,VOL=000003,FILE=WWABCDN6,DISP=DLT
\ SW U05=U05,FILE=(WWABC&X8.ZYYMM,FA)
\ FD LIST=DUMMY
\ FD COIN=*
/ FCPY IN=U01,OUT=U05
/ FIN
\***************************************************************
\ EX *
\ MSG MABC0020 NORMALEND
\*
\ JEND
\ JGEND
/ DEFEND

 JCL/SORT


●SORT基本形
\ EX SORT
\ FD SORTIN=DA,VOL=000010,FILE=WA05FF01,DISP=DLT
\ FD SORTOUT=DA,VOL=000011,FILE=WA05FF02,TRK=(150,90,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
   SORT FIELDS=(27,11,CH,A,54,4,CH,A)

27,11,CH,A    27から11バイトの文字を正順にSORTする
27,11,CH,D    27から11バイトの文字を逆順にSORTする


●SORT抽出形
\ EX SORT
\ FD SORTIN=DA,VOL=000010,FILE=WA05FF01,DISP=DLT
\ FD SORTOUT=DA,VOL=000011,FILE=WA05FF02,TRK=(150,90,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
   SORT FIELDS=(27,11,CH,A,54,4,CH,A)
   INCLUDE COND=(60,1,EQ,C'A',AND,24,1,EQ,C'2'),
   FORMAT=CH
   END

60,1,EQ,C'A',AND,24,1,EQ,C'2'
60から1バイトがAで、24から1バイトが2を抽出する

(注)ENDはなくてもよい

●SORT除外形
\ EX SORT
\ FD SORTIN=DA,VOL=000010,FILE=WA05FF01,DISP=DLT
\ FD SORTOUT=DA,VOL=000011,FILE=WA05FF02,TRK=(150,90,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
   SORT FIELDS=(27,11,CH,A,54,4,CH,A)
   OMIT COND=(60,1,EQ,C'A',AND,24,1,EQ,C'2'),
        FORMAT=CH
END

60,1,EQ,C'A',AND,24,1,EQ,C'2'
60から1バイトがAで、24から1バイトが2以外を抽出する


○算術判定
EQ   =
NE   NOT=
GT   >   より大きい
GE   >=  等しいかり大きい
LT   <   より小さい
LE   <=  等しいかより小さい


○文字判定
C'A'    文字のA


●SORT出力レイアウト作成形
\ EX SORT
\ FD SORTIN=DA,VOL=000010,FILE=WA05FF01,DISP=DLT
\ FD SORTOUT=DA,VOL=000011,FILE=WA05FF02,TRK=(150,90,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
   SORT FIELDS=(27,11,CH,A,54,4,CH,A)
   INCLUDE COND=(60,1,EQ,C'A',AND,24,1,EQ,C'2'),FORMAT=CH
   OUTREC FIELDS=(1,3,4,4,8,5,14,5,20,5,26,5,
          32,5,38,5,44,5,50,5,56,5,
          62,5,68,5,74,5,97,13)


●SORT合計形
\ EX SORT
\ FD SORTIN=DA,VOL=000010,FILE=WA05FF01,DISP=DLT
\ FD SORTOUT=DA,VOL=000011,FILE=WA05FF02,TRK=(150,90,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
   SORT FIELDS=(27,11,CH,A,54,4,CH,A)
   INCLUDE COND=(60,1,EQ,C'A',AND,24,1,EQ,C'2'),FORMAT=CH
   SUM FIELDS=(43,4,ZD,53,9,ZD)
   OUTREC FIELDS=(3,2,26,4,43,4,53,9,68,4)


●SORTスキップ形
\ EX SORT
\ FD SORTIN=DA,VOL=000010,FILE=WA05FF01,DISP=DLT
\ FD SORTOUT=DA,VOL=000011,FILE=WA05FF02,TRK=(150,90,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
   SORT FIELDS=(27,11,CH,A,54,4,CH,A),SKIPREC=10


SKIPREC=10   最初の10件は読み飛ばし


●SORT応用形 3ファイルマージ \ EX SORT
\ FD SORTIN=DA,VOL=000010,FILE=WA05FF0A,DISP=DLT
\ FD CF=DA,VOL=000010,FILE=WA05FF0B,DISP=DLT
\ FD CF=DA,VOL=000010,FILE=WA05FF0C,DISP=DLT
\ FD SORTOUT=DA,VOL=000011,FILE=WA05FF02,TRK=(150,90,RLSE)
\ FD LIST=DUMMY
\ FD COIN=*
   SORT FIELDS=(27,11,CH,A,54,4,CH,A)


●もろもろ使用例
----------
   SORT FIELDS=(1,7,CH,A)
   INCLUDE COND=(208,1,NE,C' ',OR,1,1,EQ,C'G'),FORMAT=CH
----------
   SORT FIELDS=(27,11,CH,A,77,6,CH,A)
   INCLUDE COND=(45,6,GE,C'970218'),FORMAT=CH
----------
   SORT FIELDS=(42,7,CH,A)
   INCLUDE COND=(04,2,EQ,C'08',AND,(42,01,EQ,C'8',OR,
            42,01,EQ,C'9')),FORMAT=CH
----------
   SORT FIELDS=(32,1,CH,A)
   INCLUDE COND=(01,2,EQ,C'01',AND,7,2,LT,C'21'),
        FORMAT=CH
----------
   SORT FIELDS=(32,6,CH,A)
   INCLUDE COND=(32,6,EQ,C'F96039',OR,
       32,6,EQ,C'F85321',OR,
       32,6,EQ,C'F84935',OR,
       32,6,EQ,C'ZZZZZZ'),
       FORMAT=CH
----------
   INCLUDE COND=(1,2,EQ,C'01',AND,32,1,EQ,C'F',OR,
       1,2,EQ,C'01',AND,32,1,EQ,C'Q'),
       FORMAT=CH
----------
   SORT FIELDS=(32,1,CH,A,13,6,CH,A,19,4,CH,A)
   INCLUDE COND=((01,02,EQ,C'01',AND,31,1,EQ,C'C'),OR,
       (01,02,EQ,C'01',AND,159,2,EQ,C'7A')),
       FORMAT=CH
----------
   SORT FIELDS=(32,6,CH,A,13,10,CH,A)
   INCLUDE COND=(1,2,EQ,C'01',AND,
      (31,1,EQ,C'C',OR,159,2,EQ,C'7A'),AND,
      32,1,NE,C'E',AND,32,1,NE,C'G'),
      FORMAT=CH
----------
   INCLUDE COND=(1,2,EQ,C'01',AND,17,2,GT,C'15'),
      FORMAT=CH
----------
   INCLUDE COND=(013,04,EQ,C'&X8.ZYYMM'),
       FORMAT=CH
----------
   INCLUDE COND=(001,1,GE,C'D',AND,
      001,1,LE,C'D'),
----------
   INCLUDE COND=(1,2,EQ,C'01',AND,
      (31,1,EQ,C'C',OR,159,2,EQ,C'7A'),AND,
      32,1,NE,C'E',AND,32,1,NE,C'G'),
      FORMAT=CH
----------
   SORT FIELDS=(45,11,CH,A,12,10,CH,A,38,01,CH,A)
   INCLUDE COND=(052,04,EQ,C' ',AND,
      038,01,NE,C'9',AND,
      093,01,NE,C'T'),
      FORMAT=CH
      END
----------
   INCLUDE COND=((52,6,EQ,C'M56930',OR,
      52,6,EQ,C'M55950',OR,
      52,6,EQ,C'ZZZZZZ'),AND,
      12,6,EQ,C'1D735L'),
      FORMAT=CH
----------
   SUM FIELDS=(31,8,PD)PD パツク ZD 10 シン
   OUTREC FIELDS=(11,10,31,8,1,4)
----------
   SORT FIELDS=(24,2,CH,A,1,7,CH,A)
   OMIT COND=(30,9,EQ,000000000),FORMAT=ZD
----------
   SORT FIELDS=(1,1,CH,A),EQUALS
   OMIT COND=(129,2,EQ,C'XX',OR,
      129,2,EQ,C'08',AND,184,1,EQ,C'0',OR,
      129,2,EQ,C'09',AND,184,1,EQ,C'0'),
      FORMAT=CH
      END
----------





 CL(オフコンESP系)

●サンプルCL
001 PROC 0
001 LIB ('C.ALIB')
001 CONTROL NOFLUSH PROMPT NOLIST NOCONLIST NOSYMLIST NOMSG
001 /***************************************************************/
001 * /** プログラムID ABCD0300 **/
001 * /** 概要 在庫データ作成 **/
001 * /** 作成者 山田太郎 2006/01/11 **/
001 /***************************************************************/
009  FREE ALL
009  SET &PRM99=&SUBSTR(1:3,&SYSUID)
009  IF &PRM99=ISK THEN GOTO A3
009  FREE ALL
001 /*
001 * PDT00:  WRITE ABCD0300 在庫データ作成
009  WRITE
009 *  WRITE ※終了するには E を入力して下さい
009  WRITE
009 *  WRITE 処理NOを入力して下さい(例 529842)
009  WRITE
001 * PDT10:  WRITENR 処理NO------->
009  READ &SD
009  IF &SD=E THEN GOTO A3
009  IF &SD=&STR() THEN GOTO PDT10
001 /*
009  WRITE
009  WRITE
009 *  WRITE 処理中です...
009  WRITE
001 /*
009 *  DLTDS 'WWABC020'
009  FREE ALL
009  SET &PRM91=&SUBSTR(1:6,&SD)
009  SET &PRM99=&SYSUID
001 /*
009  EXCCL ASCAIM FILE('MIG.JCL') PARAM('P2 M(SYSTEM.AIM00.MD) +
018   P(RDWWUTRO) A(APGRV00) C1(A) OF(ZZZZSG) D(00)')
009  ALLOC F(RDWWS001) REUSE SPACE(100 10) TRACKS RELEASE
009 *  EXCCL @DLTFILE FILE('MIG.JCL') PARAM('FILE(WWABC020)')
009  DFNFATR ZZZZSG BLKSIZE(4000) LRECL(250) DSORG(PS) RECFM(F B)
009  ALLOC DDNAME(SYSUOUT) UNIT(DA) +
018 *   DSNAME('WWABC020') +
018   NEW REUSE USING(ZZZZSG) VOLUME(VOL006) +
018   SPACE(100 10) TRACKS RELEASE
009  INDATA SYSIN
009  DATA PROMPT
018   UNLOAD TO DDNAME SYSUOUT &STR(+)
018   WITH NONULL NOPRINT &STR(+)
018   AS SELECT * &STR(+)
018   FROM &STR(+)
018   MIGDB.RDBABC010_PF &STR(+)
018 *   WHERE WWWSTS = '1' AND WWWHADT = &PRM91 &STR(+)
018   ORDER BY WWWNBR
009  ENDDATA
009  EXCCL ASCAIM FILE('MIG.JCL') +
018   PARAM('P3 OF(ZZZZSG) D(00)')
009  IF &LASTCC GT 12 THEN GOTO ERRMSG
009  FREE ALL
001 /*
009  ASCLP SYSDBOUT SYSOUT(B)
009  ASCLP SYSOUT SYSOUT(B)
002 EXCCL ASCAIM PARAM('P1 P(RDBABCD2) A(APGRV00) M(SYSTEM.AIM00.MD) +
009  D(00)') FILE('MIG.JCL')
009 *  ASCFILE DDNAME(WWABC020) DSNAME('WWABC020.PF') SHR
009  ASCFILE DDNAME(WWABC030) DSNAME('WWABC030.PF') SHR
009  ASCFILE DDNAME(WWABC040) DSNAME('WWABC040.PF') SHR
009 **  ASCFILE DDNAME(WORKF) DSNAME('WWABC050') SHR
009 *  EXCPGM PABCS7 '&PRM99' FILE('ABCLIB.LOAD')
009  IF &LASTCC NE 0 THEN GOTO ERRMSG
009 *  DLTDS 'WWABC020'
009  FREE ALL
001 * /*
009 *  GOTO PDT00
001 * /*
001 * A3:  FREE ALL
009 *  WRITE
009 *  FREE ALL
009 *  EXIT
001 * ERRMSG:  FREE ALL
009 *  SEND '**** ABCD0300 ERR ***'
009 *  FREFILE ALL
009 *  DLTDS 'WWABC020'
009 *  FREE ALL
009 *  WRITE
009 *  FREE ALL
009 *  SET &MAXCC=999
009 *  EXIT CODE(&MAXCC)



 




 
■エディタ


 PFD

------< PFDプライマリオプションメニュー >----------
----------------------------------------------------時刻- 10:48
0 ATTRIBUTES - PFD属性及び端末特性を定義する。 端末- F6650
1 BROWSE - データセットの内容を表示/検索する。 PFキー - 24
2 EDIT - データセットの内容を編集する。 カナ機構 - あり
3 UTILITY - 各種ユティリティを実行する。
4 FOREGROUND - コンパイル、リンクエディットを行うコマンドを実行する。
5 BACKGROUND - コンパイル、リンクエディットを行うバッチジョブを起動する。
6 AIF - AIFコマンド及びコマンドプロシジャを実行する。
7 TEST - メニュー、メッセージ、プログラムをテストする。
H HELP - PFDの使用方法を表示する。
X EXIT - PFDを終了する。
-----------------------------------------------------------
PFD 0.3
-----------------------------------------------------------
F9526/F6650端末におけるPFキーの機能を定義
PF1 ==> HELP     PF13 ==> HELP
PF2 ==> SPLIT     PF14 ==> SPLIT
PF3 ==> END      PF15 ==> END
PF4 ==> RETURN    PF16 ==> RETURN
PF5 ==> FIND     PF17 ==> FIND
PF6 ==> CHANGE    PF18 ==> CHANGE
PF7 ==> UP      PF19 ==> UP
PF8 ==> DOWN     PF20 ==> >NULLS
PF9 ==> SWAP     PF21 ==> : COLS
PF10 ==> LEFT     PF22 ==> PRINT
PF11 ==> RIGHT     PF23 ==> >LOC 0
PF12 ==> CURSOR    PF24 ==> >LOC 999999
-----------------------------------------------------------

PFキー説明
PF1 ==> HELP   ヘルプ
PF2 ==> SPLIT  2画面
PF3 ==> END   終了
PF4 ==> RETURN  
PF5 ==> FIND   検索
PF6 ==> CHANGE  変更
PF7 ==> UP    画面上へ
PF8 ==> DOWN   画面下へ
PF9 ==> SWAP   
PF10 ==> LEFT   画面左へ
PF11 ==> RIGHT   画面右へ
PF12 ==> CURSOR  

PF21 ==> : COLS  目盛りを表示   
PF23 ==> >LOC 0    先頭画面
PF24 ==> >LOC 999999  最終画面
-----------------------------------------------------------

標準ではPF13〜PF24はPF1〜PF12と同じなので、自分でアレンジして使い易くする。

PF1〜PF12は変更しない方が良い。

たとえば、ソースを大量に変更する場合などは
PF13 ==> HELP
を変えて
PF13 ==> >C 'AAAAA' 'BBBBB' ALL にすれば
ソースを開いて、PF13を押せば短時間で変更できます。

PF13〜PF24のキー
昔はダムタンと言って専用入力端末でキーボードもPF13〜PF24のキーがありました。
最近はパソコンでエミュレータから使用しているのでパソコンのキーボードはPF13〜PF24のキーがありません。
従って、PF13はShift+PF1で出来ます。
-----------------------------------------------------------

-----------------------------------------------------------
PFD 2  EDIT、ソースを変更する時
-----------------------------------------------------------

------------------------------------------------
操作コマンド
------------------------------------------------
コピー
C---->A  :一行Aの下にコピー
C---->B  :一行Bの上にコピー

CC〜CC---->A  :複数行Aの下にコピー
CC〜CC---->B  :複数行Bの上にコピー

2画面にして、別のライブラリーからコピーする
CE---->AE  :一行Aの下にコピー
CE---->BE  :一行Bの上にコピー

CCE〜CCE-->AE  :複数行Aの下にコピー
CCE〜CCE-->BE  :複数行Bの上にコピー

*2画面はPF2(SPLIT)
*AはAFTER、BはBEFORE


移動
M---->A  :一行Aの下に移動
M---->B  :一行Bの上に移動

MM〜MM---->A  :複数行Aの下に移動
MM〜MM---->B  :複数行Bの上に移動

2画面にして、別のライブラリーから移動する
ME---->AE  :一行Aの下に移動
ME---->BE  :一行Bの上に移動

MME〜MME-->AE  :複数行Aの下に移動
MME〜MME-->BE  :複数行Bの上に移動


削除
D    :一行削除
DD〜DD :複数行削除


複写 R5  :5行複写
挿入 I3  :3行挿入(IよりRの方がNULLが入らなくて良い)

検索 F 'XXXXX'
XXXXXを検索 (次はF5をクリック)
デバックに有効、管理人は2回転ぐらい検索するとひらめく。


カーソル表示 COLS 目盛りを表示したい時、その行で指定する
カーソル表示を消す 通常の行削除のDやればよい。


変換 C 'ABC' 'XYZ' ALL 
'ABC'を'XYZ'に変換する ALLは一括変換
チェンジオールは良く使う。ただし間違えないように!


キャンセル CAN
元に戻す (SAVEする前まで)


直前戻し UNDO
直前の状態に戻す


保存 SAVE
セーブ、登録 (PF3と同じ) 長時間編集している時は随時保存する。


列の固定 FIC C 7
1〜7列が左に固定される
PF10(LEFT)、PF11(RIGHT)しても左に固定される


行の固定 FIC L 3,000002
000002から3行、固定される
PF7(UP)、PF8(DOWN)しても上に固定される


境界定義 BNDS <   > 
<   >の間が処理対象列になる(変換の時便利)
10〜30列の間のみチェンジオールしたい時などに使う とても便利


リナンーバー S NUM:連番の振りなおし
空白 UNN:レコード内の行番号部分をすべて空白にする。

FIBJOB SIBMIT:編集中のデータセット内容をFIBジョブとして起動する
シフトコード除去 REMOVE ON、REMOVE OFF:シフトコード除去起動停止
プロファイル表示 PRO:PRO--->RESET プロファイルの表示、切替

リナンバー AUTONUM ON:保存する時、自動的にリナンバーするか
置換え REPLACE:無い時、新メンバー、ある時は置換え



-----------------------------------------------------------
PFD 1    BROWSE、ソースを表示する時
-----------------------------------------------------------

-----------------------------------------------------------
PFD 3    UTILITY ファイル、ライブラリーの操作
-----------------------------------------------------------

-----------------------------------
FIBGET XXXX D(A) AクラスをDISPLAYに取り込む
-----------------------------------

-----------------------------------
日本語シフト28--29を入れる
(28--29が入っていれば表示の時、日本語表示される)
-----------------------------------
PRO確認
日本語 YES
ソース修正
REMOVE OFF
ソース修正を元に戻す
SAVE
日本語シフト28--29が入る


-----------------------------------
日本語シフト28--29を取る
(データ読込処理時などは28--29は不要)
-----------------------------------
PRO確認
日本語 YES
ソース修正
REMOVE ON
ソース修正を元に戻す
SAVE
日本語シフト28--29が取れる


----------------------------------- -----------------------------------

 EDTFILE(オフコンESP系)

-----------------------------------
SHOW=01:
END=02:終了
RETURN=03*:復帰 コマンドを入力した画面まで戻す
BACKWARD=04*:上スクロール↑
FORWARD=05*:下スクロール↓
HELP=06:ヘルプ
LEFT=07*:左スクロール←
RIGHT=08:右スクロール→
MARK=09*:マーク
RESET=10*:マーク解除
TARGET=11:ターゲット
INSERT=13:行挿入
SEARCH=14*:文字列検索  HOME--AAA--
CHANGE=15:文字列置換
DELETE=17:削除
COPY=20:複写
MOVE=21:移動
DUPLICAT=22 -=23:繰返し
SWAP=24:
-----------------------------------
HIDE:*行の非表示
LDIVIDE:行の分割
LINE:*ラインモードへの切換え
LIST:*印刷
LOCATE:*位置付け
LPASTE:転送行複写
LSHIFT:左シフト
LXCHANGE:行の交換
SAVE:ファイル又はメンバの格納
UNDO:編集操作の取消


 




 
■コマンド


 操作コマンド

=STACK DA、SYS.JCL.ABC、MEM=XXXXXX
=\\ XXXXXX
RELS JC-XXX
RELS JG-XXX  JG解除
RELS JN-ABCD001,QT-OH
CAN US-ユーザー名
CAN ALL、QT-I
JAL=JG-TEST,JM=2
HOLD ALL、QT-K
DSPLAY SJ R EJ T
:U ALL  HOLD解除
:M XXXXL  HOLD解除
-----------------------------------
JAL DV-WS100、K、B、J
DSP PFM,SYSTEM=YES
DSP PFM、TIME=1、JOBCOUNT=255
-----------------------------------
JALT JC=AIM、SLOGOFF、WS100
JALT JC=NET、V、TERM、W100、INACT
SOUT W100、L、SP=NO
STOP DV=W100
JALT JC=NET、V、TERM、W100、ACT、NLOG
JALT JC=AIM、SLOGON、WS100、ABC00
JALT JC=AIM、LDON、LD=RLDABC00/RLDABC01、WS=WS100,MD=PTL
-----------------------------------
JALT DSPWTR、S、P(ALL)
JALT DSPWTR、INACT、P(P21)
JALT DSPWTR、ACT、P(ALL)
JALT DSPWTR、C、P(ALL)
-----------------------------------
JALT NET、V、TERM、P21、INACT
JALT NET、V、TERM、P21、ACT
-----------------------------------
JALT NET、D、LINE、ABC00、ACT
-----------------------------------


 FIMPORT、FEXPORT

パソコンとホスト間のデータのやり取りを行う。
●FEXPORT PC---->ホスト
FEXPORT 'XXXXXX'   1回目、ホストにXXXXXXなくても作られる
FEXPORT 'XXXXXX',REP 2回目、ホストにXXXXXXあるとエラーになるのでリプレースをつける
-----------------------------------
●FIMPORT ホスト---->PC
FIMPORT 'XXXXXX'   ホストにXXXXXXないとエラーになる
-----------------------------------
●PLFファイルとは
FEXPORT、FIMPORTのファイルのパラメータ
C:\WSMGR\XXXXXX.PLFに保存される
-----------------------------------
●FEXPORT、FIMPORT実行文
FIMPORT 'ABCD010' REPLACE USING(ABCD00.PLF 1 NOOPERATE)
-----------------------------------
●PLFパラメータリストファイルの見方
エミレータ----FEXPORT 'XXXXX'----ファイル送信設定がでる
「パラメータリストファイル指定」----
パラメータリストファイル名:C:\WSMGR\WWPARA.PLF----[オープン]
WWTEST01クリックすると、パラメータリスト識別番号と設定情報が表示される
-----------------------------------
●パラメータリスト内容
送信
テキスト     そのまま
C:\FILE21.txt  修正
なし       そのまま
デフォルト    そのまま
固定長      修正
101バイト    修正
8文字      そのまま
新JIS      そのまま
未サポート    そのまま
-----------------------------------
●パラメータリストファイルの追加
1.FEXPORT 'XXXXX',REP
2.「テキストファイル送信設定」
3.送信ファイル名:C:\FILE30
デフォルト そのまま
固定長 修正
101バイト 修正
8文字 そのまま
新JIS そのまま
未サポート そのまま
4.登録
5.パラメータリストファイル名:C:\WSMGR\FILEX.PLF
6.オープン
7.パラメータリスト識別番号:10
8.パラメータリスト識別名 :TEXT30
9.登録
10.キャンセル
-----------------------------------
●パラメータリストファイルの変更
1.FEXPORT 'XXXXX',REP
2.「パラメータリストファイル指定」
3.参照---C:\WSMGR\FILEX.PLF---オープン
4.リストパラメータ識別番号 10 (10入力 又は 識別名リスト選択)
5.設定
6.送信ファイル名:C:\FILE30
7.登録
8.オープン
9.パラメータ識別名:TEXT30
10.登録
11.登録
12.キャンセル
13.キャンセル

---------------------------------------------
FIMPORT、FEXPORTのパラメータ
---------------------------------------------
パラメータの選択が出来るのは以下である

格納方法:新規/入替え
英数カナ変換:デフォルト
漢字変換:新JIS
拡張漢字のサポート:未サポート

---------------------------------------------
FIMPORTでは改行(0D0A)とEOF(1A)は削除できない
---------------------------------------------
エディタでデータを見ると

11111↓
22222↓
33333↓
44444↓
55555↓


「↓」は改行で16進で見ると「0D0A」
「←」はEOF(エンドオブファイル ファイル終端コード)で16進で見ると「1A」

したがって、このデータをバイナリーエディタで見ると
31313131310D0A
32323232320D0A
33333333330D0A
34343434340D0A
35353535350D0A
1A

となり、データの最後に0D0A1Aが表示される

FIMPORTでは改行(0D0A)とEOF(1A)は削除できないので、受信のパソコン側で対処する事。



 


 




 
■開発、運用支援ツール


 IFD(画面フォーマット定義体)

IFD画面登録
-----------------------------------
............ 業務支援画面 ...........
 1 開発支援
 2 運用/操作支援
 3 管理支援
-----------------------------------
●「0」 IFDの環境を定義する
......... IFDプライマリオプションメニュー ....
機能項目の選択 : 0
 0 IFDの環境を定義する
 1 フォーマット定義ソースを作成・編集する
 2 フォーマット定義体をFOREGROUNDにて作成する
 3 フォーマット定義体をBACKGROUNDにて作成する
 4 画面を表示・確認する
 5 チェックリストを出力する
 6 画面帳票定義体を移入する
 X IFDを終了する
-----------------------------------
●「1」 基本環境定義
. 環境定義 ..............................
 環境設定の指定 : 1
 1 基本環境定義
 2 応用環境定義
-----------------------------------
●基本環境定義
フォーマット定義ソースライブラリ
ファイル名 : 'ABCLIB.FMTSRC'
パスワード :
COPYライブラリ
ファイル名 : 'ABCLIB.COPY'
パスワード :
フォーマットライブラリ
ファイル名 : 'ABCLIB.FORMAT'
-----------------------------------
●「Enter」「F2」「F2」
-----------------------------------
●「1」 フォーマット定義ソースを作成・編集する
機能項目の選択 : 1
0 IFDの環境を定義する
1 フォーマット定義ソースを作成・編集する
2 フォーマット定義体をFOREGROUNDにて作成する
-----------------------------------
●「2」 レコード自動生成
ソース編集機能の指定 : 2
-----------------------------------
●レコード自動生成
メンバ名 : ABCD010 - *を指定するとメンバ一覧を表示
フォーマットID : - 3を選択した場合
サブウィンドウID : - 3を選択した場合
-----------------------------------
●「ENTER」を5回押す 画面が戻るまで
-----------------------------------
●LINE CODE DIAGNOSTIC MESSAGE
JYB373I-W レコード自動生成が依頼されたが,既にレコードが存在する.
軽度のエラーがあったがレコードを自動生成した
-----------------------------------
●「PF2」
-----------------------------------
●「2」 フォーマット定義体をFOREGROUNDにて作成する
-----------------------------------
● そのまま ABCD010
-----------------------------------
●「ENTER」を5回押す 画面が戻るまで
  JYB240I-I ライブラリ(FORMAT)中のメンバ(ABCD010)を置換した.
  フォーマット定義体を登録した
-----------------------------------
● 「PF2」
-----------------------------------
●「4」 画面を表示・確認する
-----------------------------------
●「PF2」「PF2」
-----------------------------------
●「X」 IFDを終了する


 EXCIDM(対話データベース操作)

ABCD0010のDB更新
-----------------------------------
●「EXCIDM」 「ENTER」
-----------------------------------
●物理/論理ファイル名 : 'ABCD0010'
 処理 : 2 (更新)
 「ENTER」 「PF2」
-----------------------------------
● 物理/論理ファイル名  : 'ABCD0010'
メタデータベースのファイル名 : 'SYSDB'
AIM環境の指定
PED名 : ABCPD
APG名 : ABC00
AIMディレクトリID : (省略値 - 00)
処理 : 2 1 RETRIEVE - 照会処理(省略値)
2 MAINTENANCE - 保守処理 3 CREATE - 作成処理
中間ファイル容量(初期値): (拡張値):
検索データ値域長 : (省略値 - 1)
タイトル名 :
不当データ文字 : (省略値 - *)
文字項目の左づめ : 1 する(省略値) 2 NOSHIFT - しない
レコード順序番号出力 : 1 しない(省略値) 2 SEQNO - する
レコード相対番号出力 : 1 しない(省略値) 2 RELNO - する
レコード分離出力 : 1 しない(省略値) 2 RSPLIT - する
データ項目分離出力 : 1 しない(省略値) 2 ISPLIT - する
データ項目名出力 : 1 毎ぺージ(省略値) 2 HEAD - 初ぺージのみ
リスト出力先 : 1 1 NOPRINT(省略値) 2 PRINT 3 SYSPRINT
ファイル名 : クラス名 :
-----------------------------------
● AAAA01 = 50
AAAA02 = 15
「ENTER」

比較 データ値
A AAAA01 = 50
AAAA02 = 15
AAAA03
AAAA04     08
-----------------------------------
●AAAA04に10
「ENTER」
-----------------------------------
●検索操作が正常終了しました 
U 更新 D 削除 A 追加 R 解除 C 切替 B 一括 S 単一 E 抽出 P 印刷
-----------------------------------
●「U」 「ENTER」
更新操作が正常終了しました 
-----------------------------------
●「F2」戻る
-----------------------------------
-----------------------------------
★照会の時は「1」照会



 




 




 
■エミュレータ


 エミレータを起動したら初期画面が出ず、黒い画面のままになっている。


 実行キー【Enter】を押せば画面が表示されます。

 エミュレーターを終了する時、初期画面ではなく、途中の画面で終了した時、次回立上でこの現象が起きます。
 エミュレーターは終了時点の画面を覚えているため、次回の起動では実行キー【Enter】の待ちの状態になります。
 実行キー【Enter】を押せば、前回終了時点の画面が出ます。


 エミュレーターで「無効な入力です」と表示されて入力できません。


【Esc】を押せば「無効な入力です」が消えて、入力できます。



 フルスクリーンを元に戻すには?


 【Alt】+【V】で戻ります。
 『表示』→「フルスクリーン」で画面がフルスクリーンになった時の戻し方は
 【Alt】+【V】→上の「フルスクリーン」クリックしてチェックを取る。



 実行キーが[Shit]+[Enter]で面倒なので、[Enter]のみに変更したい


実行キー:[Shit]+[Enter]、改行キー:[Enter]

実行キー:[Enter]、改行キー:[Shit]+[Enter]
に変更する。

同じのがあると変更できないのでいったん「改行」の[Enter]を削除する。
「改行」を削除して、「実行」を変更して、「改行」を追加する

1.エミュレーターを立ち上げる

2.「改行」の[Enter]を削除
エミュレーター → ツール → オプション → キーボード

キー種別:カーソル制御キー

改行 [Enter]を選択する(下の方にある)、選択すると青帯になる → [削除] → [OK]

3.「実行」を変更する
エミュレーター → ツール → オプション → キーボード

キー種別:プログラム・アテンション・キー

実行 [Shit]+[Enter]を選択 → [変更] → 「キー設定の変更」 変更したいキーを押す[Enter] 押すと表示がEnterになる → [OK] → [OK]

4.「改行」を追加する
エミュレーター → ツール → オプション → キーボード

キー種別:カーソル制御キー

改行を選択 → [追加] → 「キー設定の追加」 追加したいキーを押す[Shit]+[Enter] → [OK] → [OK]



 6680エミュレータ設定


[スタート] → [すべてのプログラム] → [アクセサリ] → [コマンドプロンプト]
「コマンドプロンプト」
「CsAdmin CONFIG /localfile」を入力  → [Enter]
「CsAdmin CONFIG now」を入力  → [Enter]
「ココマンドプロンプト」を「×」閉じる

[スタート] → [すべてのプログラム] → [通信制御サービス] → [セットアップユーティリティ]
「コンフィグレーションの選択」
「コンフィグレーションの格納先を選択してください」 → [このコンピュータ] → [OK]

「CsConfig」
[コンフィグレーション] → [マイコンピュータ情報+] → [管理a{] → [通信制御サービス+]  → [通信サーバ接続+] → [TCP/IP接続] → [DISPLAY]Wクリック  → 「画面右側に表示」

「通信サーバ接続−TCP/IP接続の設定」
[ローカル情報]タブ → 「端末名」に「wxxxxx」 → 「CsConfig」を「×」閉じる → 保存しますか[はい]

[スタート] → [すべてのプログラム] → [WSMGR] → [エミュレータ] → 
「エミュレータ−DSPEMU」
[ファイル] → [プロパティ] → 「エミュレータのプロパティ」 → [セッション]タブ → 
「プロファイル」 → [標準2] → [詳細設定]タブ → 「警告メッセージ」 → 「ログオン状態の場合に」チェックを外す → [OK]
「エミュレータ−DSPEMU」「×」閉じる

[スタート] → [すべてのプログラム] → [WSMGR] → [プリンター] → 「プリンタ−PRNEMU」 → 「ファイル」 →  「プロパティ」 → 「プリンターのプロパティ」 → [詳細設定]タブ → 「ウィンドウの位置」 → [システムに従う] → [OK]

「プリンター−PRNEMU」 → 「ツール」 → 「オプション」 → 「6685標準のプロパティ」 → [プリンタマトリクス]タブ →  「デバイス種別」 → [GDI印刷] → 「GDI印刷」 → 「スプール最大ページ」 → [100] → 「プリンタ」 →  「名前」 → [WSMGR(ESC/P)] → 「WSMGR(ESC/P)」を登録しない場合、「XXXX」を選択する → 「プリントモード」タブ → 「最大桁長」 → [136]桁に変更  → [OK]
「プリンター−PRNEMU」を「×」閉じる

 




 
このページTOPへ
ACCESSヒント         COBOLヒント 

SEプログラマー・ヒント集メニューへ

Copyright © 2006-2006 s-kitagawa