<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_老猫的窝</title><subtitle type="text">静守一晚，只为那瞬间的出击……</subtitle><id>http://feed.cnblogs.com/blog/u/25123/rss</id><updated>2011-09-23T07:57:40Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/25123/rss"/><entry><id>http://www.cnblogs.com/highmayor/archive/2011/07/25/2116274.html</id><title type="text">Screen numbers</title><summary type="text">Screen numbers greater than 9000 are reserved for SAP customers. Screen numbers 1000 through 1010 are reserved for the maintenance screens of ABAP Dictionary tables and the standard selection screens of reports.选择屏幕编号范围：1000-1999录入屏幕编号范围：1－999子屏幕编号范围：3000－4999在HR中你只能定义9000以上的屏幕号。</summary><published>2011-07-25T07:50:00Z</published><updated>2011-07-25T07:50:00Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><link rel="alternate" href="http://www.cnblogs.com/highmayor/archive/2011/07/25/2116274.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/archive/2011/07/25/2116274.html"/><content type="html">&lt;p&gt;Screen numbers greater than 9000 are reserved for SAP customers. Screen numbers 1000 through 1010 are reserved for the maintenance screens of ABAP Dictionary tables and the standard selection screens of reports.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;选择屏幕编号范围：1000-1999&lt;br /&gt;录入屏幕编号范围：1－999&lt;br /&gt;子屏幕编号范围：3000－4999&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;在HR中你只能定义9000以上的屏幕号。&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/highmayor/aggbug/2116274.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/highmayor/archive/2011/07/25/2116274.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/highmayor/archive/2011/06/17/2083288.html</id><title type="text">ABAP 培训笔记 part 7</title><summary type="text">子屏幕建立步骤:1.先建立一个新的程序以存放子屏幕screentype---subscreen2.在主程序屏幕中建立子屏幕区域(名称一定要大写)3.在屏幕的PBO中调用子屏幕callsubscreen[屏幕区域名]including‘[子屏幕程序名]’‘[子屏幕号]’.4.在PAI中调用子屏幕区域Callsubscreen[屏幕区域名].可能每一个事业部有一个SAP系统,不同的程序适合不同的事业部机会!!!!(子屏幕没出现)---没把握住机会…..从新建立,成功了..选项卡tabstripcontrol选项卡分两种:点击按钮不出现对应的子屏幕(没有实际价值)和点击按钮出现子屏幕注意:选项卡组成</summary><published>2011-06-17T01:11:00Z</published><updated>2011-06-17T01:11:00Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><link rel="alternate" href="http://www.cnblogs.com/highmayor/archive/2011/06/17/2083288.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/archive/2011/06/17/2083288.html"/><content type="html">&lt;strong&gt;子屏幕&lt;wbr&gt;&lt;br /&gt;&lt;/strong&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;建立步骤&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;:&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;先建立一个新的程序以存放子屏幕&lt;strong&gt;&lt;wbr&gt;screen&amp;nbsp;type&amp;nbsp;---subscreen&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在主程序屏幕中&amp;nbsp;建立子屏幕区域(&lt;strong&gt;&lt;wbr&gt;名称一定要大写&lt;/strong&gt;&lt;wbr&gt;)&lt;br /&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在屏幕的PBO中&amp;nbsp;调用子屏幕&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;call&amp;nbsp;subscreen&amp;nbsp;[屏幕区域名]&amp;nbsp;including&amp;nbsp;&amp;#8216;[子屏幕程序名]&amp;#8217;&amp;nbsp;&amp;#8216;[子屏幕号]&amp;#8217;.&lt;br /&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在PAI中&amp;nbsp;调用子屏幕区域&lt;br /&gt;Call&amp;nbsp;subscreen&amp;nbsp;[屏幕区域名].&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;可能每一个事业部&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;有一个&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;SAP&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;系统&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;,&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;不同的程序适合不同的事业部&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;机会&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;!!!!(&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;子屏幕没出现&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;)---&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;没把握住机会&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;&amp;#8230;..&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;从新建立&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;,&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;成功了&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;..&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;选项卡&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;tabstrip&amp;nbsp;control&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;选项卡分两种:&amp;nbsp;点击按钮不出现对应的子屏幕&lt;strong&gt;&lt;wbr&gt;(&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;没有实际价值&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;)&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;和&amp;nbsp;点击按钮出现子屏幕&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;注意&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;:&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;选项卡组成部分&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;,&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;按钮&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;屏幕区域&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;内容&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;(&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;子屏幕&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;)&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;建立&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;tabstrip&amp;nbsp;control&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;步骤&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;:&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;1.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;先选择&amp;nbsp;tabstrip控件&lt;br /&gt;2.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;为控件起名&lt;strong&gt;&lt;wbr&gt;(&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;大写&lt;/strong&gt;&lt;wbr&gt;)&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;3.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;为按钮控件起名&amp;nbsp;并填写重要参数&lt;br /&gt;&amp;nbsp;&amp;nbsp;fctcode&amp;nbsp;=&amp;nbsp;TAB1.&amp;nbsp;&amp;nbsp;&amp;nbsp;(该按钮的OK_CODE)&lt;br /&gt;Ref.&amp;nbsp;Field&amp;nbsp;[区域名](引用区域)&amp;nbsp;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;(&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;重点&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;)fctype&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;变为&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;P&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;p:local&amp;nbsp;gui&amp;nbsp;function(&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;把&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;TAB&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;下载在本地增加效率&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;)&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;空格&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;:&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;到了服务器&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;4.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;建立其他按钮控件&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;5.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;controls&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;定义&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;tabstrip&amp;nbsp;:&amp;nbsp;controls&amp;nbsp;&amp;nbsp;tabstrip&amp;nbsp;&amp;nbsp;type&amp;nbsp;&amp;nbsp;tabstrip.&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;6.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在PBO区域中加入子程序&amp;nbsp;&amp;nbsp;call&amp;nbsp;subscreen&amp;nbsp;[区域名]&amp;nbsp;including&amp;nbsp;&amp;#8216;[子屏幕程序名]&amp;#8217;&amp;nbsp;&amp;#8216;[屏幕号]&amp;#8217;&lt;br /&gt;7.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PBI&amp;nbsp;中&amp;nbsp;放入call&amp;nbsp;subscreen&amp;nbsp;sub3.&lt;br /&gt;8.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在PBO中写入&amp;nbsp;显示MODULE&amp;nbsp;语句:&amp;nbsp;module&amp;nbsp;tabstrip_display.&lt;br /&gt;9.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TAB中的按钮标题&amp;nbsp;tabstrip-activetab&amp;nbsp;(tab活动的标题)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;定义&amp;nbsp;一个data&amp;nbsp;dynnr&amp;nbsp;type&amp;nbsp;sy-dynnr.(系统所指的页面)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;tabstrip-activetab.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;When&amp;nbsp;&amp;#8216;TAB1&amp;#8217;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dynnr&amp;nbsp;=&amp;nbsp;&amp;#8216;101&amp;#8217;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;When&amp;nbsp;&amp;#8216;TAB2&amp;#8217;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dynnr&amp;nbsp;=&amp;nbsp;&amp;#8216;102&amp;#8217;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;When&amp;nbsp;others.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dynnr&amp;nbsp;=&amp;nbsp;&amp;#8216;101&amp;#8217;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tabstrip-activetab&amp;nbsp;=&amp;nbsp;&amp;#8216;TAB1&amp;#8217;.&lt;br /&gt;&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;&amp;nbsp;&amp;nbsp;Endcase.&lt;br /&gt;10.&amp;nbsp;&amp;nbsp;&amp;nbsp;当点击&amp;nbsp;按钮&amp;nbsp;的时候&amp;nbsp;要在PAI执行程序&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;ok_code.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;When&amp;nbsp;&amp;#8216;TAB1&amp;#8217;&amp;nbsp;or&amp;nbsp;&amp;#8216;TAB2&amp;#8217;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;Tabstrip-activetab&amp;nbsp;=&amp;nbsp;OK_CODE.&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;case.&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;又出现机会了&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;!!!!&amp;nbsp;&amp;nbsp;SUB2&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;跑出来了&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;Table&amp;nbsp;control&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;使用向导&amp;nbsp;可以非常简便&lt;br /&gt;在layout中使用&amp;nbsp;table&amp;nbsp;control向导&lt;br /&gt;Name&amp;nbsp;of&amp;nbsp;table&amp;nbsp;control&amp;nbsp;&amp;nbsp;建立名称&lt;br /&gt;Table&amp;nbsp;name&amp;nbsp;&amp;nbsp;dictionary&amp;nbsp;table&amp;nbsp;EKPO&lt;br /&gt;Internal&amp;nbsp;program&amp;nbsp;table&amp;nbsp;(内表)it_EKPO&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;Output&amp;nbsp;only&amp;nbsp;仅仅输出&lt;br /&gt;&amp;nbsp;&amp;nbsp;Scroll&amp;nbsp;可以是滚动的&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Set&amp;nbsp;includes所包含的地方&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;输出后&amp;nbsp;没有数据&lt;br /&gt;&amp;nbsp;&lt;br /&gt;数内表的行数&amp;nbsp;需要用describe&amp;nbsp;table&amp;nbsp;it_ekpp&amp;nbsp;lines&amp;nbsp;tab_con-lines.&lt;br /&gt;通过行数建立table&amp;nbsp;control&lt;br /&gt;需要添家&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;在&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;loop&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;内表之前&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;Select&amp;nbsp;*&amp;nbsp;from&amp;nbsp;ekpo&amp;nbsp;into&amp;nbsp;corresponding&amp;nbsp;fields&amp;nbsp;of&amp;nbsp;&amp;nbsp;table&amp;nbsp;it_ekpo.&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;Table&amp;nbsp;control&amp;nbsp;运作原理&lt;br /&gt;&amp;nbsp;&amp;nbsp;要想显示数据&amp;nbsp;&amp;nbsp;先从数据库表中把数据放到数据库内表中&lt;br /&gt;然后屏幕&amp;nbsp;逐行&amp;nbsp;出现&amp;nbsp;数据.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;填充过程&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;又有机会了&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;~~~&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;做向导时&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;不出现&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;tablecontrol&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;当拉动数值滚动条时&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;会跳到下一屏幕&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;如果停留在&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;本屏幕&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;就可以拉动了&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;SAP系统实现的形式&lt;br /&gt;Business&amp;nbsp;Engineer&amp;nbsp;tools&lt;br /&gt;Customizing定制:A1&amp;nbsp;带有模板的R/3&amp;nbsp;实施要比普通R/3要便宜&lt;br /&gt;Personalization&amp;nbsp;个性化设定&lt;br /&gt;&amp;nbsp;&lt;br /&gt;技术人员&amp;nbsp;自行开发&lt;br /&gt;Modification(修订)---更改系统程序---&lt;br /&gt;Enhancement&amp;nbsp;(增强)----增加系统功能&lt;br /&gt;Customer&amp;nbsp;development&amp;nbsp;(用户开发)---自行开发报表&lt;br /&gt;&amp;nbsp;&lt;br /&gt;尽可能不修订(需要后期升级)&lt;br /&gt;尽可能多使用系统功能&lt;br /&gt;&amp;nbsp;&lt;br /&gt;蓝图阶段&amp;nbsp;&amp;nbsp;一般不进入ABAP&lt;br /&gt;&amp;nbsp;&lt;br /&gt;业务顾问实力&amp;nbsp;取决于&amp;nbsp;跟过的项目&amp;nbsp;&amp;nbsp;&lt;br /&gt;ABAP&amp;nbsp;程序员&amp;nbsp;实力取决于&amp;nbsp;开发的时间&lt;br /&gt;&amp;nbsp;&lt;br /&gt;实施SAP现要先培训一些精英用户---关键用户.&lt;br /&gt;业务顾问的前身---关键用户.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;学生刚到的时候&amp;nbsp;就是关键用户.&amp;#8217;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;深圳的公司SD的业务&amp;nbsp;非常复杂&amp;nbsp;MM会较为轻松&lt;br /&gt;&amp;nbsp;&lt;br /&gt;关键用户&amp;nbsp;给&amp;nbsp;&amp;nbsp;一般用户授课.&lt;br /&gt;&amp;nbsp;&lt;br /&gt;业务顾问&amp;nbsp;和&amp;nbsp;关键用户&amp;nbsp;编写&amp;nbsp;操作手册&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;沟通的能力&lt;/strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;strong&gt;&lt;wbr&gt;还耐心&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;!!!!!!!!!&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;ABAP---&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;业务顾问&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;----&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;项目经理&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;&amp;nbsp;&lt;/strong&gt;&lt;wbr&gt;&lt;br /&gt;先接到功能设计书&amp;nbsp;和业务顾问沟通&lt;br /&gt;&amp;nbsp;&lt;br /&gt;会计基础知识&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;strong&gt;&lt;wbr&gt;英语&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;!!!!!!!!!!!!!!!&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;口语&lt;/strong&gt;&lt;wbr&gt;&lt;strong&gt;&lt;wbr&gt;!!!!!!!!!!!!!!!!&lt;/strong&gt;&lt;wbr&gt;&lt;img src="http://www.cnblogs.com/highmayor/aggbug/2083288.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/highmayor/archive/2011/06/17/2083288.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/highmayor/archive/2011/06/07/2074382.html</id><title type="text">更改选择屏幕的GUI STATUS---RS_SET_SELSCREEN_STATUS</title><summary type="text">REPORTZEXAMPLE.DATA:BEGINOFP_EXTABOCCURS0,FCODELIKESY-PFKEY,ENDOFP_EXTAB.PARAMETERSP_FCODELIKESY-PFKEY.P_EXTAB-FCODE=P_FCODE.APPENDP_EXTAB.INITIALIZATION.CALLFUNCTION'RS_SET_SELSCREEN_STATUS'EXPORTINGP_STATUS='Z_SELSCREEN'"自定义的GUISTATUSTABLESP_EXCLUDE=P_EXTABEXCEPTIONSOTHERS=1.I</summary><published>2011-06-07T08:02:00Z</published><updated>2011-06-07T08:02:00Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><link rel="alternate" href="http://www.cnblogs.com/highmayor/archive/2011/06/07/2074382.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/archive/2011/06/07/2074382.html"/><content type="html">&lt;div&gt;&lt;span class="L0S52"&gt;REPORT&amp;nbsp;&lt;/span&gt;ZEXAMPLE.&lt;br /&gt;&lt;br /&gt;DATA:&amp;nbsp;&lt;span class="L0S52"&gt;BEGIN&amp;nbsp;&lt;/span&gt;&lt;span class="L0S52"&gt;OF&amp;nbsp;&lt;/span&gt;P_EXTAB&amp;nbsp;&lt;span class="L0S52"&gt;OCCURS&amp;nbsp;&lt;/span&gt;0,&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FCODE&amp;nbsp;&lt;span class="L0S52"&gt;LIKE&amp;nbsp;&lt;/span&gt;SY-PFKEY,&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="L0S52"&gt;END&amp;nbsp;&lt;/span&gt;&lt;span class="L0S52"&gt;OF&amp;nbsp;&lt;/span&gt;P_EXTAB.&lt;br /&gt;&lt;br /&gt;&lt;span class="L0S52"&gt;PARAMETERS&amp;nbsp;&lt;/span&gt;P_FCODE&amp;nbsp;&lt;span class="L0S52"&gt;LIKE&amp;nbsp;&lt;/span&gt;SY-PFKEY.&lt;br /&gt;&lt;br /&gt;P_EXTAB-FCODE&amp;nbsp;=&amp;nbsp;P_FCODE.&lt;br /&gt;&lt;br /&gt;&lt;span class="L0S52"&gt;APPEND&amp;nbsp;&lt;/span&gt;P_EXTAB.&lt;br /&gt;&lt;br /&gt;INITIALIZATION.&lt;br /&gt;&lt;br /&gt;&lt;span class="L0S52"&gt;CALL&amp;nbsp;&lt;/span&gt;&lt;span class="L0S52"&gt;FUNCTION&amp;nbsp;&lt;/span&gt;&lt;span class="L0S33"&gt;'RS_SET_SELSCREEN_STATUS'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="L0S52"&gt;EXPORTING&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;P_STATUS&amp;nbsp;&amp;nbsp;=&amp;nbsp;&lt;span class="L0S33"&gt;'Z_SELSCREEN'&lt;/span&gt;&lt;span class="L0S31"&gt;"自定义的GUI&amp;nbsp;STATUS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="L0S52"&gt;TABLES&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;P_EXCLUDE&amp;nbsp;=&amp;nbsp;P_EXTAB&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="L0S52"&gt;EXCEPTIONS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class="L0S52"&gt;OTHERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;=&amp;nbsp;&lt;span class="L0S32"&gt;1.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="L0S52"&gt;IF&amp;nbsp;&lt;/span&gt;SY-SUBRC&amp;nbsp;&lt;span class="L0S52"&gt;EQ&amp;nbsp;&lt;/span&gt;&lt;span class="L0S32"&gt;0.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;WRITE:/&amp;nbsp;&lt;span class="L0S33"&gt;'FUNCTION'&lt;/span&gt;,&amp;nbsp;P_FCODE,&amp;nbsp;&lt;span class="L0S33"&gt;'HAS&amp;nbsp;BEEN&amp;nbsp;DISABLED'&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;ELSE.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;WRITE:/&amp;nbsp;&lt;span class="L0S33"&gt;'COULD&amp;nbsp;NOT&amp;nbsp;DISABLE'&lt;/span&gt;,&amp;nbsp;P_FCODE.&lt;br /&gt;&lt;br /&gt;ENDIF. &lt;/div&gt;&lt;img src="http://www.cnblogs.com/highmayor/aggbug/2074382.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/highmayor/archive/2011/06/07/2074382.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/highmayor/archive/2011/06/07/2074381.html</id><title type="text">隐藏标准选择屏幕的执行按钮</title><summary type="text">关键字: abap CONSTANTS cns_exec(4) TYPE c VALUE 'ONLI'. DATA td_exclude TYPE TABLE OF sy-ucomm. PARAMETER p_1 TYPE lifnr. AT SELECTION-SCREEN OUTPUT. APPEND cns_exec TO td_exclude. CALL FUNCTION 'RS_SET_SELSCREEN_STATUS' EXPORTING p_status = sy-pfkey TABLES p_exclude = td_exclude.</summary><published>2011-06-07T08:01:00Z</published><updated>2011-06-07T08:01:00Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><link rel="alternate" href="http://www.cnblogs.com/highmayor/archive/2011/06/07/2074381.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/archive/2011/06/07/2074381.html"/><content type="html">关键字: abap &lt;div class="blog_content"&gt;CONSTANTS cns_exec(4)&amp;nbsp;&amp;nbsp; TYPE&amp;nbsp; c&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VALUE 'ONLI'. &lt;br /&gt;DATA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; td_exclude&amp;nbsp;&amp;nbsp;&amp;nbsp; TYPE TABLE OF sy-ucomm. &lt;br /&gt;&lt;br /&gt;PARAMETER p_1 TYPE lifnr. &lt;br /&gt;&lt;br /&gt;AT SELECTION-SCREEN OUTPUT. &lt;br /&gt;&amp;nbsp; APPEND cns_exec TO td_exclude. &lt;br /&gt;&amp;nbsp; CALL FUNCTION 'RS_SET_SELSCREEN_STATUS' &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXPORTING &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p_status&amp;nbsp; = sy-pfkey &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TABLES &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p_exclude = td_exclude. &lt;/div&gt;&lt;img src="http://www.cnblogs.com/highmayor/aggbug/2074381.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/highmayor/archive/2011/06/07/2074381.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/highmayor/archive/2011/05/13/2045569.html</id><title type="text">SAP秀才-FI速成手册</title><summary type="text">http://scola.wang.blog.163.com/blog/static/886636482009481471613/</summary><published>2011-05-13T07:25:00Z</published><updated>2011-05-13T07:25:00Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><link rel="alternate" href="http://www.cnblogs.com/highmayor/archive/2011/05/13/2045569.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/archive/2011/05/13/2045569.html"/><content type="html">http://scola.wang.blog.163.com/blog/static/886636482009481471613/&lt;img src="http://www.cnblogs.com/highmayor/aggbug/2045569.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/highmayor/archive/2011/05/13/2045569.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/highmayor/archive/2011/03/15/1984426.html</id><title type="text">FOR ALL ENTRIES的效率问题</title><summary type="text">今天与jgtang82讨论FOR ALL ENTRIES与JOIN问题 SAP的数据字典对FOR ALL ENTRIES的封装也并不那么聪明。 关于效率问题，恰好有个不错的文章 记下来，以后可以备考 FOR ALL ENTRIES vs DB2 JOIN http://blogs.ittoolbox.com/sap/db2/archives/for-all-entries-vs-db2-join-8912 All abap programers and most of the dba's that support abap programmers are familiar with t</summary><published>2011-03-15T01:20:00Z</published><updated>2011-03-15T01:20:00Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><link rel="alternate" href="http://www.cnblogs.com/highmayor/archive/2011/03/15/1984426.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/archive/2011/03/15/1984426.html"/><content type="html">&lt;div class="blog_content"&gt;今天与jgtang82讨论FOR ALL ENTRIES与JOIN问题 &lt;br /&gt;SAP的数据字典对FOR ALL ENTRIES的封装也并不那么聪明。 &lt;br /&gt;关于效率问题，恰好有个不错的文章 &lt;br /&gt;记下来，以后可以备考 &lt;br /&gt;&lt;strong&gt;FOR ALL ENTRIES vs DB2 JOIN &lt;br /&gt;http://blogs.ittoolbox.com/sap/db2/archives/for-all-entries-vs-db2-join-8912&lt;/strong&gt; &lt;br /&gt;&lt;br /&gt;All abap programers and most of the dba's that support abap programmers are familiar with the abap clause "for all entries". Most of the web pages I visited recently, discuss 3 major drawbacks of the "for all entries" clause: &lt;br /&gt;&lt;br /&gt;1. duplicate rows are automatically removed &lt;br /&gt;2. if the itab used in the clause is empty , all the rows in the source table will be selected . &lt;br /&gt;3. performance degradation when using the clause on big tables. &lt;br /&gt;&lt;br /&gt;In this post I'd like to shed some light on the third issue. Specifically i'll discuss the use of the "for all entries" clause as a means to join tables in the abap code instead of in db2. &lt;br /&gt;&lt;br /&gt;Say for example you have the following abap code: &lt;br /&gt;Select * from mara &lt;br /&gt;For all entries in itab &lt;br /&gt;Where matnr = itab-matnr. &lt;br /&gt;&lt;br /&gt;If the actual source of the material list (represented here by itab) is actually another database table, like: &lt;br /&gt;select matnr from mseg &lt;br /&gt;into corresponding fields of table itab &lt;br /&gt;where ? &lt;br /&gt;&lt;br /&gt;Then you could have used one sql statement that joins both tables. &lt;br /&gt;Select t1.* &lt;br /&gt;From mara t1, mseg t2 &lt;br /&gt;Where t1.matnr = t2.matnr &lt;br /&gt;And T2?. &lt;br /&gt;&lt;br /&gt;So what are the drawbacks of using the "for all entires" instead of a join ? &lt;br /&gt;&lt;br /&gt;At run time , in order to fulfill the "for all entries " request, the abap engine will generate several sql statements (for detailed information on this refer to note 48230). &lt;span style="color: red"&gt;Regardless of which method the engine uses (union all, "or" or "in" predicates) If the itab is bigger then a few records, the abap engine will break the itab into parts, and rerun an sql statement several times in a loop. This rerun of the same sql statement , each time with different host values, is a source of resource waste because it may lead to re-reading of data pages.&lt;/span&gt; &lt;br /&gt;returing to the above example , lets say that our itab contains 500 records and that the abap engine will be forced to run the following sql statement 50 times with a list of 10 values each time. &lt;br /&gt;Select * from mara &lt;br /&gt;Where matnr in ( ...) &lt;br /&gt;&lt;br /&gt;Db2 will be able to perform this sql statement cheaply all 50 times, using one of sap standard indexes that contain the matnr column. But in actuality, if you consider the wider picture (all 50 executions of the statement), you will see that some of the data pages, especially the root and middle-tire index pages have been re-read each execution. &lt;br /&gt;&lt;br /&gt;Even though db2 has mechanisms like buffer pools and sequential detection to try to minimize the i/o cost of such cases, those mechanisms can only minimize the actual i/o operations , not the cpu cost of re-reading them once they are in memory. Had you coded the join, db2 would have known that you actually need 500 rows from mara, it would have been able to use other access methods, and potentially consume less getpages i/o and cpu. &lt;br /&gt;&lt;br /&gt;In other words , when you use the "for all entries " clause instead of coding a join , you are depriving the database of important information needed to select the best access path for your application. Moreover, you are depriving your DBA of the same vital information. When the DBA monitors &amp;amp; tunes the system, he (or she) is less likely to recognize this kind of resource waste. The DBA will see a simple statement that uses an index , he is less likely to realize that this statement is executed in a loop unnecessarily. &lt;br /&gt;&lt;br /&gt;In conclusion I suggest to "think twice" before using the "for all entries" clause and to evaluate the use of database views as a means to: &lt;br /&gt;a. simplify sql &lt;br /&gt;b. simplify abap code &lt;br /&gt;c. get around open sql limitations. &lt;br /&gt;&lt;br /&gt;Omer Brandis &lt;br /&gt;DB2 DBA &amp;amp; SAP Basis professional (and all around nice guy) &lt;br /&gt;omerb@srl.co.il &lt;br /&gt;&lt;br /&gt;&lt;span style="color: red"&gt;&lt;strong&gt;另外，附上NOTE 48230&lt;/strong&gt;&lt;/span&gt; &lt;br /&gt;Summary &lt;br /&gt;&lt;br /&gt;Symptom &lt;br /&gt;Performance problems with the open SQL statement "SELECT ... FOR ALL ENTRIES ...". &lt;br /&gt;&lt;br /&gt;Other terms &lt;br /&gt;FOR_ALL_ENTRIES &lt;br /&gt;&lt;br /&gt;Reason and Prerequisites &lt;br /&gt;The open SQL statement "SELECT ... FOR ALL ENTRIES ..." is an ABAP-specific enhancement of the SQL standard. This variant of the SELECT statement allows the ABAP programmer to join an internal program table with one or several database tables. (For a detailed description of that statement type please refer to the corresponding ABAP documentation.) &lt;br /&gt;Since there is no analogous statement in the SQL standard, the open SQL statement has to be mapped from the database interface of the ABAP environment to one or several semantically equivalent SELECT statements which can be processed by the DB platform. Several profile parameters allow a definition of how the database interface should carry out this mapping with regard to the database. This note describes the parameters that can be used to control the "SELECT ... FOR ALL ENTRIES" statement and their effect. &lt;br /&gt;&lt;br /&gt;Solution &lt;br /&gt;The parameters mentioned in this note have considerable effects on most of the critical database commands and influence the performance of the whole system to a great extent. For this reason, before changing the parameters described in this note, a detailed problem analysis by experienced SAP consultants or the support team is required. Please note in particular that changing the parameters may often solve a local performance problem but it may also cause a still bigger problem to occur at another place. For this reason, prior to changing the profile parameters - which has a global effect on all statements - you should check first whether the performance problem might be caused by one or two positions in the corresponding application which can be corrected by a local change of the critical SQL statements. &lt;br /&gt;&lt;br /&gt;The following profile parameters are available: &lt;br /&gt;&lt;br /&gt;rsdb/prefer_join (ab Release 7.0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you set this parameter to "1" the SELECT ... FOR ALL ENTRIES is implemented using a join. Note that this variant is only supported by the DB6 (DB2 UDB) and MS SQL Server database platforms. &lt;br /&gt;&lt;br /&gt;rsdb/prefer_union_all &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; You can override this parameter using rsdb/prefer_join = 1. The following remarks relate to rsdb/prefer_join = 0. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Setting this parameter to "1" generates a linking of entire statements with UNION; setting it to "0" generates an OR link of conditions in the WHERE clause. Each of the linked partial statements/conditions represents an entry of the input table [itab]. &lt;br /&gt;&lt;br /&gt;For Example: &lt;br /&gt;The open SQL statement &lt;br /&gt;&lt;br /&gt;SELECT ... FOR ALL ENTRIES IN itab WHERE f = itab-f. &lt;br /&gt;&lt;br /&gt;is mapped to an SQL statement which is consistent with the standard: &lt;br /&gt;&lt;br /&gt;rsdb/prefer_union_all&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 0 &lt;br /&gt;=&amp;gt; &lt;br /&gt;SELECT ... WHERE f = itab[1]-f &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OR&amp;nbsp;&amp;nbsp;&amp;nbsp; f = itab[2]-f &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OR&amp;nbsp;&amp;nbsp;&amp;nbsp; f = itab[N]-f &lt;br /&gt;&lt;br /&gt;rsdb/prefer_union_all&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 1 &lt;br /&gt;=&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT ... WHERE f = itab[1]-f &lt;br /&gt;UNION ALL SELECT ... WHERE f = itab[2]-f &lt;br /&gt;.... &lt;br /&gt;UNION ALL SELECT ... WHERE f = itab[N]-f &lt;br /&gt;&lt;br /&gt;Where N is the number of rows in itab, and itab[i]-f is the value of &lt;br /&gt;field f in the i-th table row. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;rsdb/prefer_in_itab_opt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If this parameter is set to "1", a statement where only one field in the WHERE clause depends on the converted internal table is reflected by a statement with an IN clause. However, this is only possible if the field reference and the WHERE condition are simple enough: in essential the field reference must be a not negated EQ condition. &lt;br /&gt;&lt;br /&gt;For Example: &lt;br /&gt;If parameter rsdb/prefer_in_itab_opt is set to "1", the open SQL &lt;br /&gt;&lt;br /&gt;SELECT ... FOR ALL ENTRIES IN itab WHERE f = itab-f. &lt;br /&gt;&lt;br /&gt;is mapped to the following SQL statement: &lt;br /&gt;&lt;br /&gt;SELECT ... WHERE f IN (itab[1]-f, itab[2]-f, ..., itab[N]-f) &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;rsdb/max_blocking_factor &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This parameter specifies an upper limit for the number of entries taken in from [itab] to be processed in one statement. This means that if the internal table specified in the FOR ALL ENTRIES clause contains more than rsdb/max_blocking_factor rows, the open SQL statement is split into several statements for the database the results of which are collected in the DB interface and then returned as an overall result to the ABAP program. For an internal table with N rows &lt;br /&gt;&lt;br /&gt;N / "rsdb/max_blocking_factor" + 1 &lt;br /&gt;&lt;br /&gt;individual SELECT statements are issued for the database. However, this parameter has no effect on the translation to IN (...) (for prefer_in_itab_opt). &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Additionally the technical maximum blocking factor is calculated for each statement, so no limits of the database system are exceeded. If the limit of the blocking factor is lower than max_blocking_factor, the limit is used implicitely. &lt;br /&gt;&lt;br /&gt;rsdb/max_in_blocking_factor &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This parameter, analogously to rsdb/max_blocking_factor, gives the upper limit for the number of entries to be processed from [itab] if the concrete statement is reflected on an IN clause (see prefer_in_itab_opt). &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Analogously to rsdb/max_blocking_factor also the limit of the blocking factor is used instead of rsdb/max_in_blocking_factor, if otherwise the upper limits of the database system would be exceeded. &lt;br /&gt;&lt;br /&gt;rsdb/prefer_fix_blocking &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If the number of entries in [itab] is not divisible by max_blocking_factor, less entries (conditions) are allocated to the last statement which has been generated for processing the FOR ALL ENTRIES statement. The result is a new statement. &lt;br /&gt;If the same FOR ALL ENTRIES statement is executed very frequently with a different number of entries in the input table [itab], different statements are created up to the maximum of max_blocking_factor statements. &lt;br /&gt;This can be avoided by the above profile parameter. &lt;br /&gt;If this parameter is set to "1", at most two statements of different length are generated. This is achieved by repeating the last value in the input table as if [itab] has been padded to the blocking factor ([itab] is not really modified). &lt;br /&gt;&lt;br /&gt;rsdb/min_blocking_factor &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If this parameter is set to a value larger than "0" AND if rsdb/prefer_fix_blocking is set, 2 different blocking factors are used: a smaller (min_blocking_factor) and a larger factor (max_blocking_factor). &lt;br /&gt;However, the min_blocking_factor is only used if there are only a few entries in [itab]: A little simplified, if the following applies: "Entries [itab] &amp;lt; max_blocking_factor / 2" &lt;br /&gt;&lt;br /&gt;rsdb/min_in_blocking_factor &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; This parameter works in conjunction with rsdb/min_blocking_factor, for the case that the addition FOR ALL ENTRIES has been implemented with an IN clause (see prefer_in_itab_opt). &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Control over FOR ALL ENTRIES Hints &lt;br /&gt;Under the heading Database Interface Hints, Note 129385 describes the options you have for influencing the database interface by entering hints. The hints are evaluated in the database interface itself and are not passed on to the database. &lt;br /&gt;&lt;br /&gt;Starting with kernel Release 4.6B all the above mentioned FOR ALL ENTRIES parameters can be set via such a hint for a single statement. In the example: &lt;br /&gt;&amp;nbsp; SELECT * FROM [..] FOR ALL ENTRIES IN [..] WHERE [..] &lt;br /&gt;&amp;nbsp; %_HINTS ORACLE '&amp;amp;prefer_in_itab_opt 1&amp;amp;&amp;amp;prefer_fix_blocking -1&amp;amp;'. &lt;br /&gt;This way, the boolean parameter 'prefer_in_itab_opt' is explictly set and the boolean parameter 'prefer_fix_blocking' is set to its default value. &lt;br /&gt;&lt;br /&gt;FOR ALL ENTRIES hints, like hints are generally only used as a a corrective device in emergency situations; Note 129385 goes into this. The hints described here should only be used with careful consideration. &lt;/div&gt;&lt;img src="http://www.cnblogs.com/highmayor/aggbug/1984426.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/highmayor/archive/2011/03/15/1984426.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/highmayor/archive/2011/02/24/1963386.html</id><title type="text">SAP学习笔记(HR Develepment学习笔记1)</title><summary type="text">SAP HR一般会有很多开发。而这个模块数据的特点也让它的开发和其它模块有些不同。HR的所有数据都是以信息类型来保存的，每个信息类型的数据都和时间段紧密相连。HR开发一般使用sap提供的Logic database pnp.用起来也非常简单。只需要在新建程序时，加上pnp。然后在程序里加上Tables: PERNR.需要用到哪些信息类型加上就可以了。 比如我需要用到个人数据(2)这个信息类型的数据。那么程序就这样写：view plaincopy to clipboardprint?TABLES:PERNR. INFOTYPES:0002. GETPERNR. PROVIDE*FROMP0001</summary><published>2011-02-24T00:21:00Z</published><updated>2011-02-24T00:21:00Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><link rel="alternate" href="http://www.cnblogs.com/highmayor/archive/2011/02/24/1963386.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/archive/2011/02/24/1963386.html"/><content type="html">SAP HR一般会有很多开发。而这个模块数据的特点也让它的开发和其它模块有些不同。HR的所有数据都是以信息类型来保存的，每个信息类型的数据都和时间段紧密相连。HR开发一般使用sap提供的Logic database pnp.用起来也非常简单。只需要在新建程序时，加上pnp。然后在程序里加上Tables: PERNR.需要用到哪些信息类型加上就可以了。 &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 比如我需要用到个人数据(2)这个信息类型的数据。那么程序就这样写：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;view plain&lt;/font&gt;&lt;/a&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;copy to clipboard&lt;/font&gt;&lt;/a&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;print&lt;/font&gt;&lt;/a&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#c5aa7f"&gt;&lt;/font&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;TABLES:&amp;nbsp;PERNR. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;INFOTYPES:&amp;nbsp;0002. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;GET&amp;nbsp;PERNR. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;PROVIDE&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;P0001 &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BETWEEN&amp;nbsp;PN-BEGDA&amp;nbsp;AND&amp;nbsp;PN-ENDDA. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WRITE... &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;ENDPROVIDE.&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;TABLES: PERNR.INFOTYPES: 0002.GET PERNR. PROVIDE * FROM P0001 BETWEEN PN-BEGDA AND PN-ENDDA. WRITE... ENDPROVIDE. &lt;/p&gt;&lt;p&gt;Join&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 上面这是一个最简单的HR报表了。它的语法确实很简单。但是刚开始必须要把HR数据的结构弄明白，否则复杂一些就晕了。HR的数据有一个共同点，所有的记录都有一个起始日期和结束日期。可以用Join的语法来把多个信息类型放在一起来取数。但是必须注意数据的时间段的用法，如下图1：&lt;/p&gt;&lt;p&gt;&lt;img title="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" border="0" alt="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" src="http://p.blog.csdn.net/images/p_blog_csdn_net/starshus/EntryImages/20090114/jp__1633675570972500000.JPG" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 第一种，该信息类型的数据不允许日期存在间隔或重叠。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 第二种，信息类型的数据允许存在间隔，但是不允许重叠。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 第三种，信息类型的数据即允许有间隔也允许有重叠。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 对于取数的时候，某个特定的时间段如果有重复的数据实际是没有意义的，所以用join的时候只允许针对前两种情况来。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Join的语法也很简单，比如需要同时取组织分配(1)和个人数据(2)的数，那么程序可以这样写：&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;view plain&lt;/font&gt;&lt;/a&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;copy to clipboard&lt;/font&gt;&lt;/a&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;print&lt;/font&gt;&lt;/a&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#c5aa7f"&gt;&lt;/font&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;TABLES:&amp;nbsp;PERNR. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;INFOTYPES:&amp;nbsp;0001,0002. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;GET&amp;nbsp;PERNR. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;PROVIDE&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;P0001 &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;P0002 &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BETWEEN&amp;nbsp;PN-BEGDA&amp;nbsp;AND&amp;nbsp;PN-ENDDA. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WRITE... &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;ENDPROVIDE.&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;TABLES: PERNR.INFOTYPES: 0001,0002.GET PERNR. PROVIDE * FROM P0001 * FROM P0002 BETWEEN PN-BEGDA AND PN-ENDDA. WRITE... ENDPROVIDE. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 那么如果两个信息记录的数据如果时间段不是严格匹配的，这也是非常正常的情况，那么程序会如何输出呢？如下图2所示：&lt;/p&gt;&lt;p&gt;&lt;img title="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" border="0" alt="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" src="http://p.blog.csdn.net/images/p_blog_csdn_net/starshus/EntryImages/20090114/jp__2.JPG" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 员工名字叫Andy Wang，他在2008.1.1被雇佣，地址是Shanghai，在2008.1.10才录入系统。报表需要输出员工的姓名和地址。那么必须取两个信息类型:个人信息和地址信息。在Join两个信息类型的时候，系统会自动按照每个时间点分为多条记录。这个例子的话，会自动分成两段：2008.1.1 - 2008.1.9， 2008.1.10 - 9999.12.31。然后如果某个信息记录在某个时间段有数的话，自动生成的变量PXXX_VALID就会被赋值'X'。那么如果用户屏幕上输入查询日期：2008.1.5 - 2008.1.31。程序输出就是：2008.1.10 - 2008.1.31 Andy Wang, Shanghai。之所以这样输出，是由于2008.1.10之前是没有地址的。所以在2008.1.1-2008.10这个时间段p0006_valid为空值。&lt;/p&gt;&lt;p&gt;所有程序代码:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;view plain&lt;/font&gt;&lt;/a&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;copy to clipboard&lt;/font&gt;&lt;/a&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;print&lt;/font&gt;&lt;/a&gt;&lt;a href="http://yspcyj.blog.163.com/blankEditor.html#"&gt;&lt;font color="#c5aa7f"&gt;?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;font color="#c5aa7f"&gt;&lt;/font&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;TABLES:&amp;nbsp;PERNR. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;INFOTYPES:&amp;nbsp;0002,0006. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;GET&amp;nbsp;PERNR. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;PROVIDE&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;P0002 &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;FROM&amp;nbsp;P0006 &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;BETWEEN&amp;nbsp;PN-BEGDA&amp;nbsp;AND&amp;nbsp;PN-ENDDA. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;IF&amp;nbsp;P0006_VALID&amp;nbsp;=&amp;nbsp;'X'. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WRITE:P0002-BEGDA,&amp;nbsp;P0002-ENDDA,&amp;nbsp;P0002-NACHN,&amp;nbsp;P0002-VORNA,&amp;nbsp;P0006-ORT01. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ENDIF. &amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;li&gt;&amp;nbsp;&amp;nbsp;ENDPROVIDE.&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;TABLES: PERNR.INFOTYPES: 0002,0006.GET PERNR. PROVIDE * FROM P0002 * FROM P0006 BETWEEN PN-BEGDA AND PN-ENDDA. IF P0006_VALID = 'X'. WRITE:P0002-BEGDA, P0002-ENDDA, P0002-NACHN, P0002-VORNA, P0006-ORT01. ENDIF. ENDPROVIDE. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 再看另外一个例子，如下图3所示，假设该员工地址只在时间段2008.1.10 - 2008.1.31有值。那么如果用户在输入选择条件2008.1.5 - 2008.2.15,输出应该是2008.1.10 - 2008.1.31 Andy Wang, Shanghai。之所以这样输出，是由于在1.10号以前和1.31号以后都没有地址。这样输出是正确的。&lt;/p&gt;&lt;p&gt;&lt;img title="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" border="0" alt="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" src="http://p.blog.csdn.net/images/p_blog_csdn_net/starshus/EntryImages/20090114/jp__3.JPG" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 继续将这个例子复杂化，该员工在2008.2.10以后改名叫Jacky Wang，而不同时间段的地址也不一样，那么程序会如何输出呢。如下图4所示：&lt;/p&gt;&lt;p&gt;&lt;img title="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" border="0" alt="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" src="http://p.blog.csdn.net/images/p_blog_csdn_net/starshus/EntryImages/20090115/join_projection_fix.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 对于该员工，假设选择条件是2007.12.1 - 2008.2.31，那么系统会分成以下时间段：&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2008.1.1&amp;nbsp; - 2008.1.9 (无地址信息，p0006_valid为空)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2008.1.10 - 2008.1.31 (Andy Wang, Shanghai)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2008.2.1&amp;nbsp; - 2008.2.10 (Andy Wang, Beijing)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2008.2.11 - 2008.2.31 (Jacky Wang, Beijing)&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Projection&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 除了Join，另外一个重要的语法就是Projection了。在将信息类型的所有字段都取出来叫Join，如果只取个别字段就叫Projection。而系统会自动将根据该字段来做时间合并。比如如下图5所示：一个用户的组织分配信息类型有2条记录。分别是1.1-1.31 和 2.1 - 9999.12.31。这两条记录只有job发生了变化，而该员工的position并没有改变。那么如果根据Projection来只取job和只取postion是不同的。取job字段的时候，还是会分为两个时间段。&lt;/p&gt;&lt;p&gt;&lt;img title="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" border="0" alt="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" src="http://p.blog.csdn.net/images/p_blog_csdn_net/starshus/EntryImages/20090114/jp__5.JPG" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 但是在用position只取position字段的时候，由于postion并没有发生变化，所以系统会自动将它们合并，如下图6所示:&lt;/p&gt;&lt;p&gt;&lt;img title="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" border="0" alt="SAP学习笔记(HR Develepment学习笔记1)  - *.兲涳啲囩.  - yspcyj 的博客" src="http://p.blog.csdn.net/images/p_blog_csdn_net/starshus/EntryImages/20090114/jp__6.JPG" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 如果掌握了HR的基本概念以及它的数据结构组成，就可以使用Join和Projection来做简单的HR开发了 &lt;/p&gt;&lt;img src="http://www.cnblogs.com/highmayor/aggbug/1963386.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/highmayor/archive/2011/02/24/1963386.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/highmayor/archive/2011/01/10/1931748.html</id><title type="text">程序间的调用</title><summary type="text">一，同步调用从一个程序同步调用其他的ABAP程序，有2种方式：1，调用程序被打断，当被调用程序执行完毕之后，调用程序继续执行。如：CALL FUNCTION &lt;function&gt;SUBMIT &lt;program&gt; AND RETURNCALL TRANSACTION &lt;tcode&gt;使用CALL FUNCTION ‘AAA’调用FM的时候，相应的FUNCTION GROUP被加载到调用程序所在的internal session。当FM执行完毕，接着执行调用程序。FUNCTION GROUP和其GLOBAL DATA会一直保存在这个internal session直到调用程序结束。当调用程序再次调用</summary><published>2011-01-10T03:12:00Z</published><updated>2011-01-10T03:12:00Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><link rel="alternate" href="http://www.cnblogs.com/highmayor/archive/2011/01/10/1931748.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/archive/2011/01/10/1931748.html"/><content type="html">&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;一，同步调用&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;从一个程序同步调用其他的&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;ABAP&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;程序，有&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;2&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;种方式：&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;1&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;，调用程序被打断，当被调用程序执行完毕之后，调用程序继续执行。如：&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; color: #0080ff; font-size: 10pt"&gt;CALL FUNCTION &amp;lt;function&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; color: #0080ff; font-size: 10pt"&gt;SUBMIT &amp;lt;program&amp;gt; AND RETURN&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; color: #0080ff; font-size: 10pt"&gt;CALL TRANSACTION &amp;lt;tcode&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;使用&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;CALL FUNCTION &amp;#8216;AAA&amp;#8217;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;调用&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;FM&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;的时候，相应的&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;FUNCTION GROUP&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;被加载到调用程序所在的&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;。当&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;FM&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;执行完毕，接着执行调用程序。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;FUNCTION GROUP&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;和其&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;GLOBAL DATA&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;会一直保存在这个&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;直到调用程序结束。当调用程序再次调用这个&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;FM&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;的时候，不会再次加载相应的&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;FUNCTION GROUP&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;。这个&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;FUNCTON GROUP&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;的&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 9pt"&gt;GLOBAL DATA&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 9pt"&gt;和第一次调用它时的内容是一样的。&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;使用&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt"&gt;SUBMIT &amp;lt;program&amp;gt; AND RETURN&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;或者&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt"&gt;CALL TRANSACTION &amp;lt;tcode&amp;gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;的时候，实际是插入了一个新的&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;，当被调用的程序执行完毕之后，新插入的&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;会被删除，继续执行调用程序。可以使用&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt"&gt;leave program&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;语句来结束程序。&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;2,&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;调用程序被结束，被调用程序开始执行。如：&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; color: #0080ff; font-size: 10pt"&gt;SUBMIT &amp;lt;program&amp;gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; color: #0080ff; font-size: 10pt"&gt;LEAVE TO TRANSACTION &amp;lt;tcode&amp;gt;.&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;使用&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;SUBMIT&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;语句之后，调用程序从所在的&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;中被删除了，被调用的程序被加载到这个&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;使用&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;LEAVE TO TRANSACTION &amp;lt;tcode&amp;gt;&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;之后，当前&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;external session&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;中的所有&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;会被删除，并产生一个新的&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;，被调用的&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;tcode&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;会加载到这个新的&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;中。特别要注意的是，使用这个语句之后，&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;ABAP MEMORY&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;会被初始化，意思就是你不可以通过&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;ABAP MEMORY&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;向被调用的&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;tcode&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;传值。&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;二，&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt"&gt;FUNCTION MODULE&lt;/span&gt;&lt;span style="font-family: 宋体; font-size: 10pt"&gt;的异步调用&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt"&gt;CALL FUNCTION &amp;#8216;AAA&amp;#8217; STARTING NEW TASK &amp;lt;taskname&amp;gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt"&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;PERFORMING&amp;nbsp;&amp;lt;subroutine&amp;gt; &lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: blue; font-size: 10pt"&gt;ON&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New''; color: blue; font-size: 10pt"&gt;END&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New''; color: blue; font-size: 10pt"&gt;OF&lt;/span&gt;&amp;nbsp;&lt;span style="font-family: 'Courier New''; color: blue; font-size: 10pt"&gt;TASK&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPORTING &lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;#8230;..&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;使用上面语句之后，&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;AAA&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;和调用其的程序会并行运行。可以在&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;&amp;lt;subroutine&amp;gt;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;中使用&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;RECEIVE RESULTS FROM FUNCTION &amp;#8216;AAA&amp;#8217;&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;语句来获得&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;FUNCTION&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;运行的结果。值得注意的是，用&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;STARTING NEW TASK&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;形式的&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;FM&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;的&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;processing type&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;必须要是&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;REMOTE-CAPABLE MODULE.&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;三，&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;LOGICAL MEMORY&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;一个用户&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;可以有多个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;external session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;，可以理解你开了几个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;SAP&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;的窗口，就有几个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;external session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;，一般设置为&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;6&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;个。&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;一个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;external session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;里可以有多个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;（最多&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;20&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;个，想想&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;LIST&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;的&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;LSIND&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;为什么不能超过&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;20&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;）。一个程序一般来说是在一个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;里处理的。&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;可以用&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;ABAP MEMORY(EXPORT/IMPORT)&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;和&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;SAP MEMORY&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;（&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;GET/SET&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;）在不同的程序之间传递数据。&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;一个用户&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;有一个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;SAP MEMORY&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;，这个用户&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;里所有&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;都可以访问&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;SAP MEMORY&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;，但是&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;SAP MEMORY&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;一般用于不同&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;external session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;间的&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;传值。&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;每个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;external session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;包含一个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;ABAP MEMORY&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;，属于这个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;external session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;的&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;都可以访问这个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;ABAP MEMORY&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;，&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;ABAP MEMORY&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;适合在一个&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;external session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;的不同&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;internal session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;间传值。&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;当&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;external session&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;终止的时候，自动会释放其&lt;/span&gt;&lt;span style="font-family: 'Courier New''; color: black; font-size: 10pt"&gt;ABAP MEMORY&lt;/span&gt;&lt;span style="font-family: 宋体; color: black; font-size: 10pt"&gt;。&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/highmayor/aggbug/1931748.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/highmayor/archive/2011/01/10/1931748.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/highmayor/archive/2010/12/31/1922910.html</id><title type="text">abap技术问题中文</title><summary type="text">问题一：锁对象（Lock Object）和 FM（Function Module）激活锁定对象时，产生的 FM 的名字是什么？答案：首先要在 ABAP 字典中创建锁对象，然后才能在 ABAP 程序中设锁。创建锁对象时，系统会自动生成两个 FM 来进行锁管理。用于设锁的 FM 为： ENQUEUE_&lt;锁对象名&gt;。它用于在锁表（Lock Table）中生成一个锁项（Lock Entry）。若设锁不成功的话，就会在 Return 中反映出来。用于释放锁的 FM 为：DEQUEUE_&lt;锁对象名&gt;。它用于从锁表中删除一个锁项。在 ABAP 程序中，只需使用 "CALL FUNCITION ..." 语句</summary><published>2010-12-31T03:54:00Z</published><updated>2010-12-31T03:54:00Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><link rel="alternate" href="http://www.cnblogs.com/highmayor/archive/2010/12/31/1922910.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/archive/2010/12/31/1922910.html"/><content type="html">&lt;p align="left"&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题一：锁对象（&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;Lock Object&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;）和&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt; FM&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;（&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;Function Module&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;）&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;激活锁定对象时，产生的&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; FM &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;的名字是什么？&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;：首先要在&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;字典中创建锁对象，然后才能在&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;程序中设锁。创建锁对象时，系统会自动生成两个&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; FM &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;来进行锁管理。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;用于设锁的&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; FM &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;为：&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="ZH-CN"&gt; &lt;/span&gt;&lt;span style="font-family: Verdana; color: red; font-size: 10pt" lang="EN-US"&gt;ENQUEUE_&amp;lt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: red; font-size: 10pt" lang="ZH-CN"&gt;锁对象名&lt;/span&gt;&lt;span style="font-family: Verdana; color: red; font-size: 10pt" lang="EN-US"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: red; font-size: 10pt" lang="ZH-CN"&gt;。&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;它用于在锁表（&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;Lock Table&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;）中生成一个锁项（&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;Lock Entry&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;）。若设锁不成功的话，就会在&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; Return &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;中反映出来。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;用于释放锁的&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; FM &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;为：&lt;/span&gt;&lt;span style="font-family: Verdana; color: red; font-size: 10pt" lang="EN-US"&gt;DEQUEUE_&amp;lt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: red; font-size: 10pt" lang="ZH-CN"&gt;锁对象名&lt;/span&gt;&lt;span style="font-family: Verdana; color: red; font-size: 10pt" lang="EN-US"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: red; font-size: 10pt" lang="ZH-CN"&gt;。&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;它用于从锁表中删除一个锁项。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;在&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;程序中，只需使用&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; "CALL FUNCITION ..." &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;语句就可以调用它们。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;这两个锁&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; FM &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;是在&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;系统的一个特殊工作进程中执行的，专门进行锁管理。它运行在一个单独的服务器上，而该服务器专门用于维护整个&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;系统的主锁表（&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;Central Locak Table&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;）。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;有两种锁类型：&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;共享锁&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;只读锁，一个用户正在读数据时，阻止其他用户更改该数据。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;独占锁&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;可写锁，一个用户正在修改数据时，阻止其他用户更改该数据。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题二：更新方面的&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt; FM&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;更新&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; FM &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;分为&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; V1 &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;和&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; V2&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;，那么首先会执行哪一种更新类型呢？每种类型又是以哪种模式（异步、同步或本地）执行的呢？&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;：&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;V1 &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;更新类型比&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; V2 &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;更新类型的优先级高，因此，&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;V1 &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;比&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; V2 &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;行执行。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;V1 &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;的执行模式可以为异步、同步或本地；&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;V2 &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;只能为异步执行。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题三：&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;内存（&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;ABAP Memory&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;）交换&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;在使用&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;内存的程序间进行数据交换时用到的两个语句是什么？&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;：&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;EXPORT to MEMORY ID &amp;lt;id&amp;gt; &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;用于将数据复制到&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;内存，&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;IMPORT from MEMORY ID &amp;lt;id&amp;gt; &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;用于将数据从&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;内存复制到程序中。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;在&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;内存间进行交换的数据必须在两个程序中都进行声明，并包含同样的数据声明。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题四：授权对象（&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;Authorization Objects&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;）&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;什么是授权对象？在&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;程序中使用哪条语句进行授权检查？&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案：&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;授权对象由一组字段组成，这些字段中的值将被用于进行授权检查。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;程序中使用&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; AUTHORITY-CHECK &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;语句根据授权对象进行授权检查。在&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; AUTHORITY-CHECK &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;语句中，必须指明授权对象的所有字段，但有一个例外，可以用&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; DUMMY &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;关键字来绕过某个字段的检查。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;一个授权对象中最多可以定义&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; 10 &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;个字段。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题五：修改（&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;Modifications&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;）&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;在&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;系统中是怎样定义&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;"&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;修改&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;"&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;的？它们对更新（&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;upgrade&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;）有怎样的影响？&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;：修改是指用户对&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;发布的库对象（&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Repository Object&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;）进行的更改。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;必须在更新期间对修改进行评审（&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Review&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;），来决定是否应该使用新的&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;对象，以及将来使用时是否需要进一步修改该对象。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题六：修改助手（&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;Modification Assistant&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;）&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;什么是修改助手？&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;：修改助手是&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; 4.5 &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;版中引入的一个工具，用于简化更新过程。可以通过&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;编辑器触发修改助手，它会记录对系统进行的修改。修改助手支持通过&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;编辑器、&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Screen Painter&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;、&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Menu Painter&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;、文本元素维护、&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Function Builder &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;和&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;字典进行的修改。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题七：功能模块出口（&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;Function Module Exit&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;）&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;实现功能模块出口时&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;应用程序中应使用哪条语句？&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;：某些&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;应用程序中存在功能模块出口，它使用户能够向&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;程序中添加一些功能。通过搜索&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; "CALL CUSTOMER" &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;可以发现是否存在功能模块出口。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题八：事务变式（&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;Transaction Variants&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;）&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;什么是事务变式？为何要使用它？&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;：事务变式是一组屏幕变式，用于预定义屏幕行为和默认值。通过使用变式功能，可以将用户不需要的字段、子屏幕及全屏幕从用户视图中取消。可以给任何输入字段设置默认值，字段也可以不用带&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; "Ready for Input" &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;状态。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;只能为对话和报表事务创建事务变式；变式中只能包含普通屏幕、子屏幕及对话屏幕。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;开发人员可以使用&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; GuiXT &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;脚本语言通过事务变式维护对屏幕进行修改。修改屏幕布局的方式有：插入按钮、值帮助（&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Value Helps&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;）、移动对象、插入屏幕等等。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题九：更改&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;（&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;Changing SAP&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;）&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;请列出用户修改&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;标准功能的不同方式。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;：&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;SAP Standard &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;可以通过&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; Personalization&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;、&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Customizing&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;、&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Modifications&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;、&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Enhancements &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;及自定义&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;程序进行更改。这些方式的示例如下：&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;Personalization&amp;#8212;&amp;#8212;Personalization &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;技术包含创建变式、设置&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;/&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;获取参数及活动组（&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Activity Groups&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;）。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;Customizing &amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;是最常用的使用&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;工具（如&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; R/3 Reference Model and Implementation Guide&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;）更改&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; SAP Standard &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;的方式。可以认为&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; Customizing &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;是实施&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; R/3 &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;所必需的，通常由&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; Functional Team &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;来执行。&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;Enhancements&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;常由开发&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; Team &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;执行，包含的活动有：字典增强、&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;Funciton Module Exits&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;、菜单和屏幕出口及&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt; Business Add-ins &lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;（&lt;/span&gt;&lt;span style="font-family: Verdana; color: black; font-size: 10pt" lang="EN-US"&gt;BADI&lt;/span&gt;&lt;span style="font-family: SimSun; color: black; font-size: 10pt" lang="ZH-CN"&gt;）。&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="left"&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;自定义&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;程序&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;可以与&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;对象或自定义开发的对象一起工作。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;Modifications&amp;#8212;&amp;#8212;&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;不建议对&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;对象使用&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; Modifications&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;。使用&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; SSCR &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;（&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;SAP Software Change Registration&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;）注册所有对&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;对象的手动修改。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题十：添加字段&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;向&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;表中添加字段的方法是哪两种？&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;：这两种方法是：&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;Append &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;结构（&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;Append Structure&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;）和自定义&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; Include&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;（&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;Customizing Include&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;）。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;Append &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;结构是在向表尾添加字段时创建的，自定义&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; Include &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;由&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;开发人员指定，以使用户可以创建新字段。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;问题十一：什么是&lt;/span&gt;&lt;span style="font-family: Verdana; color: blue; font-size: 10pt" lang="EN-US"&gt; BADI&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;？&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; color: blue; font-size: 10pt" lang="ZH-CN"&gt;答案&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;：&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;BADI &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;是&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; Business Add-in &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;的缩写。它是一种新的功能增强概念，使用&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; ABAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;对象技术。这是一种使用面向对象的方法来进行&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;增强。实现&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; BADI &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;要用到类、接口及方法等面向对象的概念。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;要对一个&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;应用程序进行增强，必须首先定义&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; BADI&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;。为&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt; BADI &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;创建一个接口，接着创建一个适配器类（&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;Adapter Class&lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;）来实现这个接口，&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="ZH-CN"&gt; &lt;/span&gt;&lt;span style="font-family: SimSun; font-size: 10pt" lang="ZH-CN"&gt;然后创建这个适配器类的实例。&lt;/span&gt;&lt;span style="font-family: Verdana; font-size: 10pt" lang="EN-US"&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/highmayor/aggbug/1922910.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/highmayor/archive/2010/12/31/1922910.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/highmayor/archive/2010/10/09/1846419.html</id><title type="text">函数组的文件结构</title><summary type="text">初学 ABAP 函数模块的的朋友经常会被函数组整体的复杂结构搞晕，弄不清楚函数模块跟函数组有什么关系，全局数据又是什么东西，其实只要稍微整理一下，函数组的整体结构就很清楚了，下面我就用一个实例说明一下。 假设，函数组的名称为 &lt;fgroup&gt;，其中包含两个函数模块 &lt;fmodule1&gt; &lt;fmodule2&gt;。这里用尖括号是为了更好的区分 SAP 自动添加的命名规...</summary><published>2010-10-09T02:58:00Z</published><updated>2010-10-09T02:58:00Z</updated><author><name>highmayor</name><uri>http://www.cnblogs.com/highmayor/</uri></author><link rel="alternate" href="http://www.cnblogs.com/highmayor/archive/2010/10/09/1846419.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/highmayor/archive/2010/10/09/1846419.html"/><content type="html">&lt;p&gt;&lt;font color="#4b4b4b" size="2" face="宋体"&gt;&lt;span style="line-height: 160%; color: #4b4b4b; font-size: 11pt"&gt;初学&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt; &lt;a name="baidusnap0"&gt;&lt;/a&gt;&lt;strong style="background-color: #ffff66; color: black"&gt;ABAP&lt;/strong&gt; &lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;函数模块的的朋友经常会被&lt;strong style="background-color: #a0ffff; color: black"&gt;函数组&lt;/strong&gt;整体的复杂结构搞晕，弄不清楚函数模块跟&lt;strong style="background-color: #a0ffff; color: black"&gt;函数组&lt;/strong&gt;有什么关系，全局数据又是什么东西，其实只要稍微整理一下，&lt;strong style="background-color: #a0ffff; color: black"&gt;函数组&lt;/strong&gt;的整体结构就很清楚了，下面我就用一个实例说明一下。&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="宋体"&gt;&lt;span style="line-height: 160%; color: #4b4b4b; font-size: 11pt"&gt;假设，&lt;strong style="background-color: #a0ffff; color: black"&gt;函数组&lt;/strong&gt;的名称为&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt; &amp;lt;fgroup&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;，其中包含两个函数模块&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt; &amp;lt;fmodule1&amp;gt; &amp;lt;fmodule2&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;。这里用尖括号是为了更好的区分&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt; SAP &lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;自动添加的命名规则和用户定义的名称。&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="宋体"&gt;&lt;span style="line-height: 160%; color: #4b4b4b; font-size: 11pt"&gt;则整个&lt;strong style="background-color: #a0ffff; color: black"&gt;函数组&lt;/strong&gt;就包含下列文件（&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;strong style="background-color: #ffff66; color: black"&gt;ABAP&lt;/strong&gt; &lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;概念的文件，或者叫程序更准确一些）。&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="Verdana"&gt;&lt;span style="line-height: 160%; font-family: Verdana; color: #4b4b4b; font-size: 11pt" lang="EN-US"&gt;SAPL&amp;lt;fgroup&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;：这个是&lt;strong style="background-color: #a0ffff; color: black"&gt;函数组&lt;/strong&gt;主文件，内容如下：&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="3" face="Verdana"&gt;&lt;span style="line-height: 160%; font-family: Verdana; color: #4b4b4b; font-size: 12pt" lang="EN-US"&gt;&lt;span&gt;&lt;span style="display: none"&gt;Code&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="black" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: black" lang="EN-US"&gt;&lt;span&gt;&lt;/span&gt;*******************************************************************&lt;br /&gt;*???System-defined?Include-files.?????????????????????????????????*&lt;br /&gt;*******************************************************************&lt;br /&gt;??INCLUDE?L&amp;lt;fgroup&amp;gt;&lt;a name="baidusnap3"&gt;&lt;/a&gt;&lt;strong style="background-color: #ff9999; color: black"&gt;TOP&lt;/strong&gt;.???????????????????????&lt;/span&gt;&lt;/font&gt;&lt;font color="maroon" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: maroon" lang="EN-US"&gt;"?Global?Data&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="black" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: black" lang="EN-US"&gt;??INCLUDE?L&amp;lt;fgroup&amp;gt;UXX.???????????????????????&lt;/span&gt;&lt;/font&gt;&lt;font color="maroon" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: maroon" lang="EN-US"&gt;"?Function?Modules&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="black" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: black" lang="EN-US"&gt;&lt;br /&gt;*******************************************************************&lt;br /&gt;*???User-defined?Include-files?(&lt;/span&gt;&lt;/font&gt;&lt;font color="blue" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: blue" lang="EN-US"&gt;if&lt;/span&gt;&lt;/font&gt;&lt;font color="black" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: black" lang="EN-US"&gt;?necessary).????????????????????*&lt;br /&gt;*******************************************************************&lt;br /&gt;*?INCLUDE?L&amp;lt;fgroup&amp;gt;F???????????????????????&lt;/span&gt;&lt;/font&gt;&lt;font color="maroon" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: maroon" lang="EN-US"&gt;"?Subprograms&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="black" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: black" lang="EN-US"&gt;*?INCLUDE?L&amp;lt;fgroup&amp;gt;O???????????????????????&lt;/span&gt;&lt;/font&gt;&lt;font color="maroon" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: maroon" lang="EN-US"&gt;"?PBO-Modules&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="black" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: black" lang="EN-US"&gt;*?INCLUDE?L&amp;lt;fgroup&amp;gt;I???????????????????????&lt;/span&gt;&lt;/font&gt;&lt;font color="maroon" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: maroon" lang="EN-US"&gt;"?PAI-Modules&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="Verdana"&gt;&lt;span style="line-height: 160%; font-family: Verdana; color: #4b4b4b; font-size: 11pt" lang="EN-US"&gt;?&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="宋体"&gt;&lt;span style="line-height: 160%; color: #4b4b4b; font-size: 11pt"&gt;然后，包含文件&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt; L&amp;lt;fgroup&amp;gt;&lt;strong style="background-color: #ff9999; color: black"&gt;TOP&lt;/strong&gt; &lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;中是&lt;strong style="background-color: #a0ffff; color: black"&gt;函数组&lt;/strong&gt;定义和全局数据，内容如下：&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="3" face="Verdana"&gt;&lt;span style="line-height: 160%; font-family: Verdana; color: #4b4b4b; font-size: 12pt" lang="EN-US"&gt;&lt;span&gt;&lt;span style="display: none"&gt;Code&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="black" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: black" lang="EN-US"&gt;&lt;span&gt;&lt;/span&gt;FUNCTION-POOL?zmdtext.??????????????????????&lt;/span&gt;&lt;/font&gt;&lt;font color="maroon" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: maroon" lang="EN-US"&gt;"MESSAGE-ID?..&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="black" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: black" lang="EN-US"&gt;&lt;br /&gt;*?Other?Globle?Data&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="Verdana"&gt;&lt;span style="line-height: 160%; font-family: Verdana; color: #4b4b4b; font-size: 11pt" lang="EN-US"&gt;?&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="宋体"&gt;&lt;span style="line-height: 160%; color: #4b4b4b; font-size: 11pt"&gt;而包含文件&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt; L&amp;lt;fgroup&amp;gt;UXX &lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;中则又包含了两个包含文件，并且它是不允许用户手工修改，而是&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt; SAP?&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;自动管理：&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="Verdana"&gt;&lt;span style="line-height: 160%; font-family: Verdana; color: #4b4b4b; font-size: 11pt" lang="EN-US"&gt;?&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="3" face="Verdana"&gt;&lt;span style="line-height: 160%; font-family: Verdana; color: #4b4b4b; font-size: 12pt" lang="EN-US"&gt;&lt;span&gt;&lt;span style="display: none"&gt;Code&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="black" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: black" lang="EN-US"&gt;&lt;span&gt;&lt;/span&gt;*****************************************************************&lt;br /&gt;*???THIS?FILE?IS?GENERATED?BY?THE?FUNCTION?LIBRARY.?????????????*&lt;br /&gt;*???NEVER?CHANGE?IT?MANUALLY,?PLEASE!???????????????????????????*&lt;br /&gt;*****************************************************************&lt;br /&gt;INCLUDE?L&amp;lt;fgroup&amp;gt;U01.&lt;br /&gt;????????????????????&lt;/span&gt;&lt;/font&gt;&lt;font color="maroon" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: maroon" lang="EN-US"&gt;"&amp;lt;fmodule1&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="black" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: black" lang="EN-US"&gt;INCLUDE?L&amp;lt;fgroup&amp;gt;U02.&lt;br /&gt;????????????????????&lt;/span&gt;&lt;/font&gt;&lt;font color="maroon" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: maroon" lang="EN-US"&gt;"&amp;lt;fmodule2&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt;&lt;p&gt;&lt;font color="#4b4b4b" size="2" face="Verdana"&gt;&lt;span style="line-height: 160%; font-family: Verdana; color: #4b4b4b; font-size: 11pt" lang="EN-US"&gt;?&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="宋体"&gt;&lt;span style="line-height: 160%; color: #4b4b4b; font-size: 11pt"&gt;名为&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;? L&amp;lt;fgroup&amp;gt;Uxx &lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;的包含程序则每个包含了一个函数模块的定义&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt; FUNCTION?&amp;lt;fmodulexx&amp;gt; ... ENDFUNCTION&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="宋体"&gt;&lt;span style="line-height: 160%; color: #4b4b4b; font-size: 11pt"&gt;用户还可以在&lt;strong style="background-color: #a0ffff; color: black"&gt;函数组&lt;/strong&gt;的主程序中添加其它包含文件或代码，用来存储子程序、&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;PAI&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;、&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;PBO &lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;等数据。&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="宋体"&gt;&lt;span style="line-height: 160%; color: #4b4b4b; font-size: 11pt"&gt;用一个树型结构展开如下：&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="#4b4b4b" size="2" face="Verdana"&gt;&lt;span style="line-height: 160%; font-family: Verdana; color: #4b4b4b; font-size: 11pt" lang="EN-US"&gt;SAPL&amp;lt;fgroup&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;　&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;L&amp;lt;fgroup&amp;gt;&lt;strong style="background-color: #ff9999; color: black"&gt;TOP&lt;/strong&gt; &lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;　&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;L&amp;lt;fgroup&amp;gt;UXX&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;L&amp;lt;fgroup&amp;gt;U01&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;L&amp;lt;fgroup&amp;gt;U02&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;L&amp;lt;fgroup&amp;gt;U....&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;　&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;L&amp;lt;fgroup&amp;gt;F&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;　&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;L&amp;lt;fgroup&amp;gt;O&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b"&gt;&lt;span style="color: #4b4b4b"&gt;　&lt;/span&gt;&lt;/font&gt;&lt;font color="#4b4b4b" face="Verdana"&gt;&lt;span style="font-family: Verdana; color: #4b4b4b" lang="EN-US"&gt;L&amp;lt;fgroup&amp;gt;I&lt;/span&gt;&lt;/font&gt; &lt;p&gt;&lt;font color="black" size="3" face="宋体"&gt;&lt;span style="color: black; font-size: 12pt" lang="EN-US"&gt;?&lt;/span&gt;&lt;/font&gt; &lt;div&gt;&lt;p&gt;&lt;font color="black" size="2" face="宋体"&gt;&lt;span style="color: black; font-size: 10pt" lang="EN-US"&gt;?&lt;/span&gt;&lt;/font&gt; &lt;/p&gt;&lt;/div&gt; &lt;img src="http://www.cnblogs.com/highmayor/aggbug/1846419.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/highmayor/archive/2010/10/09/1846419.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
