<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="2.0">
    <channel>
        <description><p>
	IBM AS/400小型机开发相关</p>
-77家的会客厅</description>
        <lastBuildDate>2026-04-14 15:58:21.063106</lastBuildDate>
        <link>http://3rgb.com</link>
        <title>AS400について-77家的会客厅</title>
        <pubDate>2026-04-14 15:58:21.063106</pubDate>
        <webMaster>support@3rgb.com</webMaster>
        <image>
            <link>http://3rgb.com</link>
            <url>/static/images/n3clogo.png</url>
        </image>
        
        <item>
            <title>AS400将PF转成CSV或XLS</title>
            <pubDate>2012-05-10 04:35:11.796010</pubDate>
            <pubDateParsed>2012-05-10 04:35:11.796010</pubDateParsed>
            <link>http://3rgb.com/entry/convert_pf_to_csv_or_xls </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	很多人提到过N种方法 ，什么变成SPLF再打印成什么，或是直接BIFF8格式下载之类的；&lt;/p&gt;
&lt;p&gt;
	SPLF什么的很麻烦就不说了，BIFF8有个问题是像大量数据的时候很不好用，并且容易出现乱码。&lt;/p&gt;
&lt;p&gt;
	那么只用一个方法，就可以将PF的数据导下来，AS400有一个命令叫&amp;ldquo;CPYTOIMPF&amp;rdquo;，可以将PF文件复制到一个单字段的PF里，原来PF的各个字段会变成CSV格式的，&lt;/p&gt;
&lt;p&gt;
	然后再把这个CSV PF下载下来，直接用ASCII模式，扩展名用TXT或CSV都行，因为他就是纯文本，&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>FTP传送码和CCSID的对应关系</title>
            <pubDate>2011-10-12 15:59:24.194546</pubDate>
            <pubDateParsed>2011-10-12 15:59:24.194546</pubDateParsed>
            <link>http://3rgb.com/entry/Rj6DazdT </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;
	TYPE (表示タイプの指定)&lt;/h3&gt;
&lt;p&gt;
	&lt;b&gt;FTP サーバー・サブコマンド&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;
	ファイル転送を行うときのファイル転送のタイプまたは表示方法を指定するには、 次の形式の TYPE FTP サーバー・サブコマンドを使用します。&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;table border=&#34;&#34;&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
				&lt;br /&gt;
				&lt;pre&gt;
 TYPE   [ A
        |  B [ 1 | 2 | 3 [A|R] | 4 [A|R  ] | 5 | 6 | 7]
        |  C ccsid#
        |  E
        |  F [ 1 ]
        |  I ]
&lt;/pre&gt;
				&lt;div&gt;
					&amp;nbsp;&lt;/div&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>RPG中数组和DS使用方法总结</title>
            <pubDate>2011-08-30 09:45:15.141165</pubDate>
            <pubDateParsed>2011-08-30 09:45:15.141165</pubDateParsed>
            <link>http://3rgb.com/entry/3yNTfD7W </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	&lt;font color=&#34;red&#34; style=&#34;word-wrap: break-word; line-height: normal; &#34;&gt;ARRAY&lt;/font&gt;&lt;br style=&#34;word-wrap: break-word; line-height: normal; &#34; /&gt;
	一 array与table的区别&lt;br style=&#34;word-wrap: break-word; line-height: normal; &#34; /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;Array：可以使用下标，进行顺序访问或随即访问&lt;br style=&#34;word-wrap: break-word; line-height: normal; &#34; /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;Table：不可以使用下标，只能顺序访问。只能以TABxxx开头。&lt;br style=&#34;word-wrap: break-word; line-height: normal; &#34; /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;注：table虽然和array的功能相似，但是array要比table灵活很多。Table可以淘汰了，了解table的原因是维护老的代码时可能会用到。&lt;br style=&#34;word-wrap: break-word; line-height: normal; &#34; /&gt;
	&lt;br style=&#34;word-wrap: break-word; line-height: normal; &#34; /&gt;
	二 array的类型和key word&lt;br style=&#34;word-wrap: break-word; line-height: normal; &#34; /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;1有三种类型的array，分别是compile time array、run time array、pre-run time array。&lt;br style=&#34;word-wrap: break-word; line-height: normal; &#34; /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br style=&#34;word-wrap: break-word; line-height: normal; &#34; /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;2与array相关的key word：&lt;br style=&#34;word-wrap: break-word; line-height: normal; &#34; /&gt;
	&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;DIM（number）&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;定义数组中元素的数量&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>RPGLE中REPLACE函数的用法</title>
            <pubDate>2011-08-26 15:05:59.416661</pubDate>
            <pubDateParsed>2011-08-26 15:05:59.416661</pubDateParsed>
            <link>http://3rgb.com/entry/SopNRgJK </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;
%REPLACE(replacement string: source string{:start position {:source
length to replace}})
&lt;/pre&gt;
&lt;p&gt;
	%REPLACE returns the character string produced by inserting a replacement string into the source string, starting at the start position and replacing the specified number of characters.&lt;/p&gt;
&lt;p&gt;
	The first and second parameter must be of type character, graphic, or UCS-2 and can be in either fixed- or variable-length format. The second parameter must be the same type as the first.&lt;/p&gt;
&lt;p&gt;
	The third parameter represents the starting position, measured in characters, for the replacement string. If it is not specified, the starting position is at the beginning of the source string. The value may range from one to the current length of the source string plus one.&lt;/p&gt;
&lt;p&gt;
	The fourth parameter represents the number of characters in the source string to be replaced. If zero is specified, then the replacement string is inserted before the specified starting position. If the parameter is not specified, the number of characters replaced is the same as the length of the replacement string. The value must be greater than or equal to zero, and less than or equal to the current length of the source string.&lt;/p&gt;
&lt;p&gt;
	The starting position and length may be any numeric value or numeric expression with no decimal positions.&lt;/p&gt;
&lt;p&gt;
	The returned value is varying length if the source string or replacement string are varying length, or if the start position or source length to replace are variables. Otherwise, the result is fixed length.&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>AS400安全相关命令</title>
            <pubDate>2011-08-10 11:04:47.322763</pubDate>
            <pubDateParsed>2011-08-10 11:04:47.322763</pubDateParsed>
            <link>http://3rgb.com/entry/v1MzJ2Zc </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	&amp;nbsp;&lt;/p&gt;

	&lt;p&gt;
		GRTOBJAUT&lt;/p&gt;
	&lt;p&gt;
		RVKOBJAUT&lt;/p&gt;
	&lt;p&gt;
		EDTOBJAUT&lt;/p&gt;
	&lt;p&gt;
		CRTAUTL&lt;/p&gt;
	&lt;p&gt;
		EDTAUTLE&lt;/p&gt;
	&lt;p&gt;
		WRKAUTL&lt;/p&gt;
	&lt;p&gt;
		&amp;nbsp;&lt;/p&gt;

&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>CL命令实现一个SRC-PF内所有MBR的内容查找，并导出LIST</title>
            <pubDate>2011-08-01 13:37:41.096582</pubDate>
            <pubDateParsed>2011-08-01 13:37:41.096582</pubDateParsed>
            <link>http://3rgb.com/entry/loU3E4Id </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	设计思路：&lt;/p&gt;
&lt;p&gt;
	1、使用FNDSTRPDM进行查找，查找结果PRINT到SPOOL FILE里&lt;/p&gt;
&lt;p&gt;
	2、将SPOOL FILE拷到PF-DTA内&lt;/p&gt;
&lt;p&gt;
	3、使用SQL语句更新PF-DTA得到结果&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>AS400命令行CALL程序时传递数字参数总结</title>
            <pubDate>2011-07-25 14:40:22.522468</pubDate>
            <pubDateParsed>2011-07-25 14:40:22.522468</pubDateParsed>
            <link>http://3rgb.com/entry/wXQlTM9a </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	对于S类型的参数，只要按照字符串的形式，在没有数字的位置补0，不用输入小数点，就可以得到正确的结果，如果是负数，在第一位输入负号 - 即可，但是会占用一个数字位，7位的负数就只能输入6位数字了。&amp;nbsp;&lt;br /&gt;
	&lt;br /&gt;
	对于P类型的参数，数字部分按照S类型的一样输入，还需要在字符串前加 X，并且如果长度为奇数，需要给字符串加 F 后缀，如果长度为偶数，需要在字符串的前后都加 F。如果是负数的，需要把字符串后面的F变为E。（X表示按16进制取值，由于P类型的数据存储方式是半个字节存储一个数字，所以需要在前后加其它的字母补齐空位。）&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>AS400调取子程序的画面挡住前画面的解决方法</title>
            <pubDate>2011-07-19 10:18:08.455117</pubDate>
            <pubDateParsed>2011-07-19 10:18:08.455117</pubDateParsed>
            <link>http://3rgb.com/entry/solution_of_anti_over_the_pre_dspf </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	只需要在子程序所使用的DSPF画面加入如下一个RECORD即可&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;pre&gt;
A*********************************************        
A**DUMMY SCREEN                                       
A*********************************************        
A          R DUMMY                     TEXT(&amp;#39;DUMY&amp;#39;)   
A                                      ASSUME         
A                                  1  2&amp;#39; &amp;#39; DSPATR(ND) 
&lt;/pre&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>DSPF中实现光标FOCUS后高亮显示</title>
            <pubDate>2011-07-13 10:38:47.834440</pubDate>
            <pubDateParsed>2011-07-13 10:38:47.834440</pubDateParsed>
            <link>http://3rgb.com/entry/change_status_of_field_in_dspf_on_focus </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	&amp;nbsp;&lt;/p&gt;

	&lt;p&gt;
		很简单，只需要在相应的filed下面加上这个属性&lt;/p&gt;
	&lt;p&gt;
		&amp;nbsp;&lt;/p&gt;
	&lt;pre&gt;
ENTFLDATR((*DSPATR&amp;nbsp;HI))&lt;/pre&gt;
	&lt;p&gt;
		&amp;nbsp;&lt;/p&gt;

&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;

            </description>
        </item>
        
        <item>
            <title>RPGLE中DS结构和数组结合的几种方式</title>
            <pubDate>2010-05-29 23:57:04.202645</pubDate>
            <pubDateParsed>2010-05-29 23:57:04.202645</pubDateParsed>
            <link>http://3rgb.com/entry/RPGLE_ds_and_array </link>
            <comments>0</comments>
            <description>
            &lt;p&gt;
	最近的项目中不段的用到配列（数组），二维配列以及DS等。将几种定义方式及区别列举如下：&lt;/p&gt;
&lt;p&gt;
	变量定义以T@或W@开头，分别带表是数 组还是普通WK变量。&lt;/p&gt;
&lt;pre&gt;
T@ARR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   DIM(10) QUALIFIED
 T@SUBARR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12A&amp;nbsp;&amp;nbsp;&amp;nbsp; DIM(20)&lt;/pre&gt;
&lt;p&gt;
	上 面这个就是一个二维数组，相当于DB中的横向20个字段，记录有10条。&lt;/p&gt;
&lt;p&gt;
	必须加&amp;ldquo;QUALIFIED&amp;quot;关键字。&lt;/p&gt;
&lt;pre&gt;
T@ARR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIM(10)
 W@SUB1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5A
 W@SUB2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5S 0&lt;/pre&gt;
&lt;p&gt;
	上 面这个是数组呢，相当于每条记录是由W@SUB1和W@SUB2组成的，也就是T@ARR的每条记录是一个10A的变量。&lt;/p&gt;
&lt;pre&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DS
T@ARR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20A&amp;nbsp;&amp;nbsp; DIM(10)
 T@ARR1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5A&amp;nbsp;&amp;nbsp; OVERLAY(T@ARR:1)&amp;nbsp; */OR OVERLAY(T@ARR:*NEXT)
 T@ARR2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5A&amp;nbsp;&amp;nbsp; OVERLAY(T@ARR:6)
 T@ARR3 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10S 0 OVERLAY(T@ARR:11)&lt;/pre&gt;
&lt;p&gt;
	上 面的也是T@ARR的每条记录由三个变量组成，但上面这种定义方法，可以将三个变量也形成一个DIM(10)的数组，这样对于DB中有规律的重复字段来说 就很有用。&lt;/p&gt;
&lt;pre&gt;
W@STR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10A
 T@ARR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIM(10)&lt;/pre&gt;
&lt;p&gt;
	上 面这个就是将变量W@STR分成一个单个元素长度为1A的数组。&lt;/p&gt;

            </description>
        </item>
        
    </channel>
</rss>