AS400一些有用的命令

摘要:
b) 获取相应的转换表。

1. '1' -> *ON 
    '0' -> *OFF

2. Indicator position
   CHAIN : HI
   LOOKUP : EQ
   READ : EQ

3.DSPFD显示PF的member个数,Format Identifier,trigger等等,DSPFFD显示PF的列名之类
DSPFD FILE(TEST)
DSPFFD FILE(TEST)

4.RTVCLSRC

5.查看LF的source位置
DSPOBJD

6.spool file

全部用户的spool file  WRKSPLF SELECT(*all)  

全部用户的joblog  WRKSPLF SELECT(*ALL *ALL *ALL *ALL *ALL QPJOBLOG)   

某个用户 WRKSPLF SELECT(USER) 2=Change CHGSPLFA  里面可以查到该joblog number1

某个用户的某个batch job WRKSPLF SELECT(USER *ALL *ALL JOBNAME)  

7.dump
H DEBUG
QTEMP里面的program不起作用

8.FTP
ftp ipaddress
>BIN
>NAMEFMT 0
>quo site namefmt 1
>GET TLIB/TEST TLIB/TEST(REPLACE

9.upload csv file from PC to iSeries

CRTPF FILE(TLIB/TEST) SRCFILE(TLIB/SRC)
CLRPFM FILE(TLIB/TEST)
 ===> CPYFRMIMPF FROMSTMF("/qdls/TEST.CSV") TOFILE(TLIB/TEST) MBROPT(*ADD) RCDDLM(*CRLF) STRDLM(*NONE) FLDDLM(',')   
有字段包含"使得导入后数据错误,可以用txt文本
 ===> CPYFRMIMPF FROMSTMF('QDLS/TEST.txt') TOFILE(TLIB/TEST) MBROPT(*ADD) RCDDLM(*CRLF) STRDLM(*NONE) FLDDLM(*TAB) RPLNULL VAL(*FLDDFT)      
                                                                  
10.查看版本
DSPSFWRSC
 (Display Software Resources)
按F11看 5722999 的 Release 版本   VXRXM0 LXX

11.执行SQL文本
RUNSQLSTM SRCFILE(CNZHENGPH/QRPGLESRC) SRCMBR(SQLTXT)       

12.*LDA
There is a special Data Area known as the LDA (Local Data Area). It is 1024 characters and is associated with a job. So, any display session has an LDA associated with it.
 Not only that, when a job is submitted to run in batch, the LDA gets sent with the job so the batch job can read the LDA of the display session that submitted it.
DSPDTAARA *LDA
CHGDTAARA DTAARA(*LDA (1 10)) VALUE('AA12345678')


13.当PF的related LF被locked的时候,不需要用DSPDBR查找出全部LF来用WRKOBJLCK命令,用DSPRCDLCK的话就可以了
WRKOBJLCK OBJ(TABLE) OBJTYPE(*FILE)
DSPRCDLCK FILE(TABLE)

14.Shift+F9可以print out当前src file下所有member到spool file里去
WRKOBJPDM LIB(QXMLDEV400) OBJ(QCLSRC) 
enter 12
Shift+F9


15.用WRKMSGF命令查看MSG File需要message id,可以用DSPMSGD把全部message内容output到spool file里去
DSPMSGD RANGE(*ALL) DETAIL(*BASIC) OUTPUT(*PRINT)
CRTPF FILE(TLIB/TEST) RCDLEN(200) 
CPYSPLF FILE(QPMSGD) TOFILE(TLIB/TEST) SPLNBR(1)    


AS400一些有用的命令第1张

 
16.UPDDTA FILE(*LIBL/TEST)
   按F23就可以delete record
   AS400一些有用的命令第2张

 17.查看database name
WRKRDBDIRE

18.jdbc
tibcosoftwareinc.jdbc.db2.DB2Driver
jdbc:tibcosoftwareinc:db2://ip:446;databaseName=S65B798E;

19.QPSRVDMP        
S=>dump

20.AS400 host server

pc call as400 program WRKACTJOB SBS(QUSRWRK) JOB(QZRCSRVS)

 1 )Central server

 ·Central server 主要完成两项任务:

 a) 许可管理(License management ),处理Data Transfer 或PC5250 发出的请求,为ClientAccess Express 用户保存一个许可。

 b) 获得相应的转换表。

 ·与Central server 相关的OS/400 程序名:

 Central server 对应的程序名  程序名 库名 描述  QZSCSRVS QSYS Server program  QZSCSRVSD QSYS Daemon program    图表 6 Central server 对应的程序名  2 )Database server

 ·Database server 用于实现客户端对DB2/400 数据库的访问,它提供以下功能:

 a) 支持远程SQL 访问;

 b) 通过ODBC 接口访问数据;

 c) 数据库功能(例如:创建、删除、增加和删除数据库文件的成员)

 d) 提供用于获得OS/400 中数据库文件信息的函数

 ·与Database server 相关的OS/400 程序名:

 Database server 对应的程序名  程序名 库名 描述  QZDASOINIT QSYS Server program  QZDASON2  QSYS Sockets setup program  QZDASRVSD QSYS Daemon program  QZDASSINIT QSYS SSL server program    图表 7 Database server 对应的程序名

 3 )Data queue server

 ·Data queue server 用于实现PC 应用程序与OS/400 上Data queue 之间的数据通讯。

 ·与Data queue server 相关的OS/400 程序名:

 Data queue server 对应的程序名  程序名 库名 描述  QZHQSSRV QSYS Server program  QZHQSRVD  QSYS Daemon program    图表 8 Data queue server 对应的程序名

 4 )File server

 ·File server 用于实现客户端访问OS/400 中的集成文件系统(IFS ),集成文件系统支持对流文件的访问,它的存储管理与PC 机和UNIX 操作系统相似。

 ·与File server 相关的OS/400 程序名:

 File server 对应的程序名  程序名  库名 描述  QPWFSERVSO QSYS *PGM Server program  QPWFSERVS2 QSYS *PGM Server program  QPWFSERVSD QSYS *PGM Daemon program  QPWFSERV QSYS *JOBD Job description used for server jobs  QPWFSERVER QSYS *CLS Class used for all file server and database server jobs  QPWFSERVSS QSYS *PGM SSL server program    图表 9 File server 对应的程序名

 5 )Network print server

 ·Network print server 能够让客户端的用户使用OS/400上的打印资源进行打印。

 ·与Network print server 相关的OS/400程序名:

 Network print server 对应的程序名  程序名 库名 描述  QNPSERVS QSYS Server program  QNPSERVD QSYS Daemon program    图表 10 Network print server 对应的程序名

 6 )Remote command/program call server

 ·Remote command/program call server 能够让客户端的用户或应用程序执行OS/400 上的CL 命令或调用OS/400 上的程序。

 ·与Remote command/program call server 相关的OS/400 程序名:

 Remote command/program call server 对应的程序名  程序名 库名 描述  QZRCSRVS QSYS Server program  QZRCSRVSD QSYS Daemon program    图表 11 Remote command/program call server 对应的程序名

 7 )Signon server

 ·Signon server 对客户端的用户的身份进行安全检查(包括用户名、口令等)。

 ·与Signon server 相关的OS/400 程序名:

 Signon server 对应的程序名  程序名 库名 描述  QZSOSIGN QSYS Server program  QZSOSGND QSYS Daemon program    图表 12 Signon server 对应的程序名

 8 )Server mapper

 ·Server mapper 用于响应客户端的应用对服务器服务所使用的端口查询。

 ·与Server mapper 相关的OS/400 程序名:

 Server mapper 对应的程序名  Program name Library Description  QZSOSMAPD QSYS Server port mapper program    图表 13 Server mapper 对应的程序名

 2.2.5.服务表(SERVICE TABLE )

 Host Server 中的每中服务都有其自己的Daemon 作业,Daemon 作业监听响应的端口,下图表14 列出了服务与端口的对应关系。

 Service table  服务名 描述 端口号  AS-CENTRAL Central server 8470  AS-DATABASE Database server 8471  AS-DTAQ Data queue server 8472  AS-FILE File server 8473  AS-NETPRT Network print server 8474  AS-RMTCMD Remote command/program call 8475  AS-SIGNON Signon server 8476  AS-SVRMAP Server mapper 449    图表 14 Service table

 若适用SSL(安全套接字),则采用其它端口号,如图表15 所示。

 Service table (SSL)  服务名 描述 端口号  As-central-s Secure Central server 9470  As-database-s Secure Database server 9471  as-dtaq-s  Secure Data queue server 9472  as-file-s Secure File server 9473  as-netprt-s Secure Network print server 9474  As-rmtcmd-s Secure Remote command/program call server 9475  As-signon-s Secure Signon server 9476    图表 15 Service table (SSL)

 2.2.6.显示和修改服务表

 从OS/400 命令WRKSRVTBLE 查看服务名和它对应的端口号,如图表16 所示:

 WRKSRVTBLE  图表 16 WRKSRVTBLE

 可以用命令ADDSRVTBLE 和RMVSRVTBLE 修改服表。

 启动和停止Host Server

 Host Server 安装完成后,下一步的工作是启动它。


21.IFS folder
PC Function   Server Name Port Non-SSL Port SSL
IFS Access using
System i Navigator  as-file  8473  9473

CHGAUT   
Every once in a while, we encounter users that are unable to map a drive to the IFS.  We do the normal troubleshooting:
 ?Does the user have permissions to the IFS directory and share
 ?Is the IFS shared out correctly
 ?Is the User Profile disabled
 
After completing those basic reviews, everything looks as though the user should have no problem, however they are still unable to map the drive to the IFS.
 
Unfortunately (well as far as I know anyway), there is another place to look¡­ the iSeries NetServer disabled UserIDs.  The images below explain how to access a list of User Profiles that the system has disabled from accessing system resources over TCP/IP using iSeries Navigator.
 1.Connect to your server through iSeries Navigator
 2.Expand Network
 3.Expand Servers
 4.Select TCP/IP
 5.Right-Click iSeries NetServer
 6.Select the UserIDs that you would like to re-enable
 7.Click the [Enable User ID] button  

 ===> CPYFRMIMPF FROMSTMF('/QDLS/TEST.csv') TOFILE(TLIB/TEST) MBROPT(*REPLACE) RCDDLM(*CRLF) RPLNULLVAL(*FLDDFT)   

 ===> CPYTOIMPF FROMFILE(TLIB/TEST) TOSTMF('/QDLS/TEST.csv') RCDDLM(*CRLF) DTAFMT(*DLM) STRDLM(*NONE) RMVBLANK(*NONE)    

没有双引号,没有多余空格RMVBLANK(*NONE)

 ===> CPYTOIMPF FROMFILE(TLIB/TEST *FIRST) TOSTMF('qdls/aa.csv') MBROPT(*REPLACE) STMFCCSID(*PCASCII) RCDDLM(*CRLF) DTAFMT(*DLM) STRDLM( *NONE) RMVBLANK(*TRAILING ) ADDCOLNAM(*SYS) 

when *none for CPYTOSTMF , not allow to override existing file Monitor the error message to generate multiple files in the folder

MONMSG     MSGID(CPDA090 CPFA097 CPF9999) EXEC(GOTO CMDLBL(CRTFILE))

 ERRRCDFILE parameter in CPYFRMIMPF command
ERRRCDFILE(TLIB/ERRORPF)

 >User not enrolled in system distribution directory.                                                
===> ADDDIRE USRID(QDLSUSER SYSNAME) USRD(DESCRIPTION) USER(CNYEAB)      

22.change user password
WRKUSRPRF

23.save file

CRTSAVF FILE(CNZHENGPH/PBSAVF)  SAVLIB LIB(CNZHENGPH@) DEV(*SAVF) SAVF(CNZHENGPH/PBSAVF)

24.change owner

 CHGOWN for IFS file
    CHGOBJOWN  for library

25.PF to spool file
 RUNQRY QRYFILE((TLIB/TEST TEST)) OUTTYPE(*PRINTER) 

26.disk space
 DSPLIB OUTPUT(*PRINT)
 sbmjob cmd(rtvdskinf)
 时间很久。。。
 
 prtdskinf rpttype(*lib)
 QUSRSYS/QAEZDISK

CREATE TABLE EDLIB/EDDISKDATA (LIBRARY_NAME ,
OBJECT_COUNT , TOTAL_OBJECT_SIZE , DATE) AS
(SELECT diobli, count(diobnm), sum(diobsz), current date
FROM qusrsys/qaezdisk  WHERE diobli <> ' '
GROUP BY diobli ORDER BY diobli)
WITH NO DATA

27.java

/qopensys/QIBM/ProdData/JavaVM/jdk60
From qsh or qp2term, run java -version.

28.Work with Submitted Jobs
WRKSBMJOB

29.message queue
WRKMSGQ MSGQ(TLIB/MSGQ)    
SNDMSG MSG(HELLO) TOMSGQ(MSGQ)  
SNDMSG MSG(HELLO) TOMSGQ(MSGQ) MSGTYPE(*INQ) RPYMSGQ(TLIB/MSGQ) 

 ===> CHGMSGQ MSGQ(QSYS/TEST) 
 Work station message queue TESTnot allocated to job.
 ===> ALCOBJ OBJ((QSYS/TEST*MSGQ *EXCL *N))
 Message queue TESTis allocated to another job.
 
  CRTMSGQ MSGQ(QUSRSYS/TEST)
 Grant authority to this message queue 

30.wrksyssts

31.WRKACTJOB SEQ(*CPUPCT)

32.wrklnk 'qdls'
CRTDIR DIR('/qdls/temp')

33.test
C* Below just for testing , should comment it                              
C                   MOVEL     STR2          @SHOWS           50            
C     @SHOWS        DSPLY                                                  
C*   

34.xml

RUNSQLSTM SRCFILE(QXMLDEV400/QCLSRC) SRCMBR(ADRESSBK) NAMING(*SQL) 

TIBCO     
XML400ADDR
QXMLDEV400
QXMLTOOLS

Create the two DB2 tables needed by the program: 
RUNSQLSTM SRCFILE(QXMLDEV400/QCLSRC) SRCMBR(ADRESSBK) NAMING(*SQL) 
Create the two modules needed to run the program: 
CRTSQLRPGI OBJ(<yourlibrary>/RPGDB2SAMP) SRCFILE(QXMLDEV400/QRPGLESRC) OBJTYPE(*MODULE) 
CRTRPGMOD MODULE(<yourlibrary>/VECTORPROC) SRCFILE(QXMLDEV400/QRPGLESRC) 
Create the program by binding the two modules together with the XML4PR400 service program: 
CRTPGM PGM(<yourlibrary>/RPGDB2SAMP) MODULE(<yourlibrary>/RPGDB2SAMP <yourlibrary>/VECTORPROC) BNDSRVPGM(QXMLTOOLS/QXML4PR400) 

crtrpgmod module(TIBCO/DOMPRINT) srcfile(qxmldev400/qrpglesrc) 
crtpgm pgm(tibco/DOMPRINT) module(*pgm) bndsrvpgm(qxmltools/qxml4pr400) actgrp(*new) 

wrklnk '/qibm/proddata/xmltoolkit/xml4_0_0/samples/data/AddressBook.xml' 


<company>                                                    
    <product>XML for Procedural</product>                    
    <category idea='great'>XML Parsing Tools</category>      
    <developedBy>IBM Rochester<developedBy/>                 
</company>    


call createxml '/qibm/proddata/xmltoolkit/xml4_0_0/samples/data/test.xml'
call domprint   '/qibm/proddata/xmltoolkit/xml4_0_0/samples/data/personal.xml'

 35.IFS code page
CHGATR OBJ('/qdls/temp/test.CSV') ATR(*CCSID) VALUE(37)
CHGATR OBJ('/qdls/temp/test.CSV') ATR(*PCARCHIVE) VALUE(*NO)  
wrklnk 'qdls/temp'
8=Display attributes

36.Debug batch job

HLDJOBQ JOBQ(QGPL/QBATCH)  
submit job
STRSRVJOB JOB(018240/USER/TEST)      
STRDBG PGM(TEST) UPDPROD(*YES)   
F21=Command entry
RLSJOBQ JOBQ(QGPL/QBATCH)  
F10
dspmodsrc
SET BREAKPOINT...
F3
F12
enter
debug...
ENDDBG
ENDSRVJOB


ACTGRP(*CALLER) DEBUG(*YES) OPTION(*NODEBUGIO:*SRCSTMT)          


1. 以HOLD(*YES)参数提交JOB 到QBATCH JOB 中,让JOB 暂时挂起;
2. 使用WRKSBMJOB 查看所提交的JOB 的以下3 个参数值:
*Job id
 *User Name
 *Job Number
 3. 执行STRSRVJOB,填入第2 步骤获得的3 个参数进行QBATCH JOB 服务过程;(如果在同一个作业中进行,就不用填这3个参数了,道理和CPYSPLF一样,我自己的理解)
4. 执行STRDBG 开始DEBUG;
5. 利用F21 键切换到命令行,在命令行执行WRKSBMJOB,使用6=Release 释放挂起的
 第1 步骤提交的JOB,然后系统允许你按F10 输入DEBUG 命令(注意:不要键入执行,
 否则在设立断点之前键入执行,程序就会运行,因而无法进行debug 断点设置);
6. 在OS/400 命令行窗口;执行DSPMODSRC 后,可通过F6 设置断点;然后按F3 退出,
 再按F12 退出命令行;
7. 键入执行释放挂起的JOB;程序将在断点中停留;可以使用交互式DEBUG 使用DEBUG
命令进行处理
8. 一旦程序或者JOB 结束,使用ENDDBG 和ENDSRVJOB 结束操作。


37.

Z-ADD   :数值型的附值语句(Z-ADD A   B相当于 B=A)
MOVEL :移动数据语句 MOVEL A   B 是把A的值从左边开始送到B中。
MOVE: 功能于MOVEL类似,区别在于它是从右边开始传送。
MOVEL (P):MOVEL和MOVE的操作在把短的传到长的中时,并不会覆盖其余的部分,因此,   
        加一个扩展功能用的P来表明操作要覆盖其余的部分。
SUB:数值类型的减操作 
ADD:加操作
MULT:乘操作
DIV:除操作
MVR:除之后的取余操作
BEGSR:子过程开始
ENDSR:子过程结束
EXSR: 调用子过程
EXFMT:画面记录的显示操作命令
WRITE:写文件记录的操作
UPDAT:更新文件当前记录
DELET:删除文件当前记录
READ:读文件操作(顺序读)
READE:按键值顺序读文件的下一条
READP:向前读文件的一条记录
REDPE:按键值向前读文件的一条记录
CHAIN:随机检索与键值相同的记录
SETLL:文件指针定位操作,所停的位置在小于等于指定键值的前面。
SETGT:文件指针定位操作,所停的位置在等于大于指定键值的后面。
DOWXX (XX=GT, LT, EQ, LE, GE):当循环(XX=大于,小于,等于,小于等于,大于等于)
DOUXX (XX=GT, LT, EQ, LE, GE):直到循环(XX=大于,小于,等于,小于等于,大于等于)
ITER:跳出本次循环(DO),进行下一次循环
LEAVE:结束整个循环,进行循环下面的语句
IFXX (XX=GT, LT, EQ, LE, GE):条件判断(XX=大于,小于,等于,小于等于,大于等于)
SELEC:分支条件开始语句
WHXX (XX=GT, LT, EQ, LE, GE):各个分支的条件判断语句(XX=大于,小于,等于,小于等 于,大于等于)
OTHER:SELECT部分中所有WHEN条件均不成立时执行的部分(可以省略)
ENDXX (IF, DO, SL):循环和分支结构的结束标志语句。
SETON/OFF:将指示器的值设置为 1或 0
PLIST:参数列表名称的定义
PARM:各个参数的定义
KLIST:键值列表名称的定义
KFLD:键值中的各个键域的定义。
CLEAR:清除某个字段或数据域的值。
TIME:取得系统当前的日期或时间

================
ITER:跳出本次循环(DO),进行下一次循环
LEAVE:结束整个循环,进行循环下面的语句
================
READ:读文件操作(顺序读)
READE:按键值顺序读文件的下一条
READP:向前读文件的一条记录
REDPE:按键值向前读文件的一条记录
CHAIN:随机检索与键值相同的记录
SETLL:文件指针定位操作,所停的位置在小于等于指定键值的前面。
SETGT:文件指针定位操作,所停的位置在等于大于指定键值的后面。

 38..net call as400 program
  odbc & oledb
  call qsys.qcmdexc('DSPUSRPRF USRPRF(testtst) ',0000000026.00000)

Function MakekRunCommand(ByVal X As String) As String
        Dim l As Integer = X.Length
        Dim dl As Integer = CStr(l).Length
        Return "call qsys.qcmdexc('" & X & "'," & Mid("0000000000", 1, 10 - dl) & CStr(l) & ".00000" & ")"
 End Function

C:\Program Files (x86)\IBM\Client Access\Shared\cwbx.dll

cwbx.StringConverter sc = new cwbx.StringConverter();
cwbx.PackedConverter pc = new cwbx.PackedConverter();
AS400System s = new AS400System();
s.Define("AS400");
s.IPAddress = "ip";
s.UserID = "user";
s.Password = "123456";
cwbx.Program p = new cwbx.Program();
p.system = s;
p.LibraryName = "TLIB";
p.ProgramName = "GETDATA";
ProgramParameters paras = new ProgramParameters();
paras.Append("@TM", cwbrcParameterTypeEnum.cwbrcOutput, 9);
paras["@TM"].Value = sc.ToBytes("23533");
paras.Append("@Data", cwbrcParameterTypeEnum.cwbrcOutput, 22);
p.Call(paras);
string data2 = sc.FromBytes(paras["@Data"].Value);

免责声明:文章转载自《AS400一些有用的命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇机器学习概念性知识总结elpagination:绑定到eltable下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

小说下载阅读器_章节保存为XML并显示

这篇文章主要是讲程序中对XML,XSLT,XSD,JS的简单应用。 1.当小说的章节都下载完毕,章节内容经过过滤,去除多余的html标记和其它垃圾信息,变成干净的文本内容。怎么保存这些章节内容呢? 1)解决方法:将所有章节依次写入同一个文本文件,并将小说名作为文件名。 优点: 通用性最好,不管是PC平台还是手机、平板电脑都能直接阅读,且人可直接阅读。 缺点...

Windows 上 GitHub Desktop 的操作[转]

第1章上传开源代码至GitHub    1 1.1 git Windows 客户端    1 1.2 注册GitHub账户    2 1.3 登录    2 1.4 创建本地代码仓库    2 1.5 创建远程代码仓库    3 1.6 行结束符    5 1.7 提交改动至本地代码仓库    7 1.8 同步代码仓库    7 1.9 添加文件至本地代码...

Makefile 使用总结

1. Makefile 简介 Makefile 是和 make 命令一起配合使用的. 很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之间的依赖关系不知会多复杂. Makefile的组织流程的能力如此之强, 不仅可以用来编译项目, 还可以用来组织我们平时的一些日常操作. 这个需要大家发挥自己的...

Hive函数:SUM,AVG,MIN,MAX

转自:http://lxw1234.com/archives/2015/04/176.htm,Hive分析窗口函数(一) SUM,AVG,MIN,MAX 之前看到大数据田地有关于max()over(partition by)的用法,今天恰好工作中用到了它,但是使用中遇到了一个问题:在max(rsrp)over(partition by buildingid...

Linux系统的相关知识、常用命令及拓展、centos 7网卡配置

(本文仅为平时学习记录,若有错误请大佬指出,如果本文能帮到你那我也是很开心啦)   一、Linux系统的相关知识 1.Linux中根目录下所有文件夹的含义和用途 目录 功能 /bin 存放可执行文件 /dev 存放设备文件 (如:网卡、CPU) /media 存放可移除设备文件 (如:U盘、CD/DVD、VMTools) /opt 存放...

Shell篇(三)TC Shell

Shell脚本的首行一般写为"#!+路径"来告诉系统,以路径所指定的程序来解释此脚本。              可以写为 #! /bin/tcsh -f (-f表示快速启动,不启动~/.tcshrc) Shell中的单引号' '  表示当Shell碰见第一个单引号时,它会忽略其后直到右引号的所有特殊字符。一般可用在alias              a...