<?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/35128/rss</id><updated>2012-05-07T09:11:57Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/35128/rss"/><entry><id>http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487693.html</id><title type="text">ABAP:SMARTFORMS 之一：数据从程序中传送到Form中</title><summary type="text">ABAP:SMARTFORMS 之一：数据从程序中传送到Form中</summary><published>2012-05-07T09:11:00Z</published><updated>2012-05-07T09:11:00Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487693.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487693.html"/><content type="html">&lt;div id="cnblogs_post_body"&gt;&lt;p&gt;SMARTFORMS和SAPSCRIPT FORM都是SAP中设计打印报表的工具，但是SAPScript需要手工一条一条的根据坐标和长、高画表格线，这样极为不方便，而SmartForms有一个GUI来直接画界面，因此，总的来说，使用SmartForms来设计报表打印要简单很多。而且SAPSrcipt在不同的Client中需要传输，测试起来也不方便。传输SAPScript的事务代码为：&lt;strong&gt;SCC1&lt;/strong&gt;，对应程序名为 &lt;strong&gt;RSTXSCRP&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;事务代码：&lt;strong&gt;SMARTFORMS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;在SAP的ABAP编程中，一般开发过程都是在Report程序中取出所有需要的数据，将数据进行相应的处理以后保存到输出内表中，再打印内表中的数据，但是SmartForms是一个独立的外部Function Module，对于程序内部定义的内表数据不能直接传递，需要定义外部的数据结构Structure或者使用标准的表结构，如果程序变更，需要传递的数据发生变化，那么该Sturcture也需要修改，这是SmartForms中不方便的地方。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;当然我们也可以在SmartForms内部写取数据的逻辑，但是在SmartForms中编程总不是很方便，而且有时我们的数据需要首先以List或者ALV List的方式显示，然后再打印，所以在smartforms中书写取数据逻辑只能对一些要求非常简单的场合适用。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;我们决定还是在Report程序中进行取数逻辑，然后想办法将数据传递到SMARTFORMS中。我们知道在SAP中可以将一个对象Export到内存或者数据库中，我们就可以根据一个类似于句柄的字符串再次取出该数据，传送一个字符串到SmartForms中是没有任何问题的，所以我们只需要Export内表到内存或者数据库中，将句柄传递到SmartForms中，在SmartForms中首先定义完全相同类型的内表，再将数据Impor到内表中即可完全恢复数据，这样就完成的数据的传递工作。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;以下是Import和Export的Include程序：&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;span style="color: #000000"&gt;*&amp;amp;---------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&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;ZINC_SF_HELPER&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;&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="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;---------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;TYPES&amp;nbsp;buffer_id(&lt;/span&gt;&lt;span style="color: #000000"&gt;80&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;TYPE&amp;nbsp;c.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;DATA&amp;nbsp;wa_indx&amp;nbsp;TYPE&amp;nbsp;indx.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;DEFINE&amp;nbsp;savebuffer.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;perform&amp;nbsp;save_to_buffer&amp;nbsp;using&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;END&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;OF&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;DEFINITION.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;DEFINE&amp;nbsp;clearbuffer.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;perform&amp;nbsp;clear_buffer&amp;nbsp;using&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;END&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;OF&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;DEFINITION.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;--------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form&amp;nbsp;&amp;nbsp;Get_Unique_Id&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;--------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*---------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*---------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;FORM&amp;nbsp;get_unique_id&amp;nbsp;USING&amp;nbsp;typeid&amp;nbsp;TYPE&amp;nbsp;c&amp;nbsp;CHANGING&amp;nbsp;id&amp;nbsp;TYPE&amp;nbsp;c.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;DATA:&amp;nbsp;m_buff(&lt;/span&gt;&lt;span style="color: #000000"&gt;32&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;TYPE&amp;nbsp;c.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;CALL&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;FUNCTION&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;TH_GET_SESSION_ID'&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IMPORTING&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;session_id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;m_buff&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;**&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ID_LEN&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&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;.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;CONCATENATE&amp;nbsp;sy&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;repid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;_'&amp;nbsp;m_buff&amp;nbsp;typeid&amp;nbsp;INTO&amp;nbsp;id.&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;ENDFORM.&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;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;Get_Unique_Id&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;--------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form&amp;nbsp;&amp;nbsp;Save_To_Buffer&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;--------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*---------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;T&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;BUFF_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*---------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;FORM&amp;nbsp;save_to_buffer&amp;nbsp;USING&amp;nbsp;t&amp;nbsp;TYPE&amp;nbsp;table&amp;nbsp;typeid&amp;nbsp;TYPE&amp;nbsp;c&amp;nbsp;.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;wa_indx&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;aedat&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sy&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;datum.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;wa_indx&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;usera&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sy&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;uname.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;wa_indx&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;pgmid&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sy&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;repid.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;PERFORM&amp;nbsp;get_unique_id&amp;nbsp;USING&amp;nbsp;buff_id&amp;nbsp;CHANGING&amp;nbsp;buff_id.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;EXPORT&amp;nbsp;t&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;TO&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;DATABASE&amp;nbsp;indx(hk)&amp;nbsp;ID&amp;nbsp;typeid&amp;nbsp;from&amp;nbsp;wa_indx.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;ENDFORM.&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;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;Save_To_Buffer&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;--------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Form&amp;nbsp;&amp;nbsp;Clear_Buffer&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&amp;amp;--------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*---------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;--&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;BUFF_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*---------------------------------------------------------------------*&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;FORM&amp;nbsp;clear_buffer&amp;nbsp;USING&amp;nbsp;buffid&amp;nbsp;TYPE&amp;nbsp;c.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&amp;nbsp;&amp;nbsp;DELETE&amp;nbsp;FROM&amp;nbsp;DATABASE&amp;nbsp;indx(hk)&amp;nbsp;ID&amp;nbsp;buffid.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;ENDFORM.&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;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;Clear_Buffer&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;form&amp;nbsp;Restor_buffer&amp;nbsp;using&amp;nbsp;typeid&amp;nbsp;type&amp;nbsp;c&amp;nbsp;changing&amp;nbsp;t&amp;nbsp;type&amp;nbsp;table.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;import&amp;nbsp;t&amp;nbsp;from&amp;nbsp;database&amp;nbsp;indx(hk)&amp;nbsp;id&amp;nbsp;typeid.&lt;br /&gt;&lt;img alt="" src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" /&gt;endform.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;下面是调用示例：&lt;br /&gt;&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;form&amp;nbsp;frm_print_data&amp;nbsp;.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;DATA:&amp;nbsp;headername(&lt;/span&gt;&lt;span style="color: #000000"&gt;18&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;TYPE&amp;nbsp;c.&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;DATA:&amp;nbsp;itemsname(&lt;/span&gt;&lt;span style="color: #000000"&gt;18&lt;/span&gt;&lt;span style="color: #000000"&gt;)&amp;nbsp;TYPE&amp;nbsp;c.&lt;br /&gt;&amp;nbsp; " 在句柄中加上服务器当前时间作为句柄名称，防止多人同时使用该程序，导致句柄名称相同&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONCATENATE&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;ZSPMMF1002HD'&amp;nbsp;SY-UZEIT&amp;nbsp;INTO&amp;nbsp;headername&amp;nbsp;.&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONCATENATE&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;ZSPMMF1002IT'&amp;nbsp;SY-UZEIT&amp;nbsp;INTO&amp;nbsp;itemsname.&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;savebuffer&amp;nbsp;ig_output_h[]&amp;nbsp;headername. "ig_output_h是保存输出表单表头数据的内表&lt;br /&gt;&amp;nbsp;&amp;nbsp;savebuffer&amp;nbsp;ig_output_d[]&amp;nbsp;itemsname.&amp;nbsp;&amp;nbsp; "ig_output_d是保存输出数据明细的内表，与表头数据有关联字段&lt;br /&gt;&amp;nbsp; &lt;br /&gt;DATA: wl_fmname TYPE rs38l_fnam.&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;* 通过SmartForms的名称取得编译以后的对应的Function Module的名称&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXPORTING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; formname&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; = 'ZSPMMF1007X'&amp;nbsp;&amp;nbsp;&amp;nbsp; "SmartForms的名称&lt;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VARIANT&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;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DIRECT_CALL&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;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMPORTING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fm_name&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; = wl_fmname&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXCEPTIONS&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; no_form&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; = 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; no_function_module&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 2&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OTHERS&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; = 3&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; .&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IF sy-subrc &amp;lt;&amp;gt; 0.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&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; WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ENDIF.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;CALL&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;FUNCTION&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;font color="#000000"&gt;wl_fmname&lt;/font&gt;&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;EXPORTING&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ARCHIVE_INDEX&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ARCHIVE_INDEX_TAB&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ARCHIVE_PARAMETERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;CONTROL_PARAMETERS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAIL_APPL_OBJ&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAIL_RECIPIENT&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;MAIL_SENDER&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OUTPUT_OPTIONS&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;USER_SETTINGS&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000"&gt;'&lt;/span&gt;&lt;span style="color: #008000"&gt;X'&lt;/span&gt;&lt;span style="color: #008000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ptr_header&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;headername&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ptr_items&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;itemsname&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;IMPORTING&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;DOCUMENT_OUTPUT_INFO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;JOB_OUTPUT_INFO&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;*&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;JOB_OUTPUT_OPTIONS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;EXCEPTIONS&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;FORMATTING_ERROR&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;1&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;INTERNAL_ERROR&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;2&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;SEND_ERROR&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;3&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;USER_CANCELED&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="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;4&lt;/span&gt;&lt;span style="color: #000000"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;OTHERS&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;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;=&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;5&lt;/span&gt;&lt;span style="color: #000000"&gt;&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;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;IF&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;sy&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;subrc&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;lt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;0&lt;/span&gt;&lt;span style="color: #000000"&gt;.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;MESSAGE&amp;nbsp;ID&amp;nbsp;SY&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;MSGID&amp;nbsp;TYPE&amp;nbsp;SY&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;MSGTY&amp;nbsp;NUMBER&amp;nbsp;SY&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;MSGNO&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;&lt;/span&gt;&lt;span style="color: #0000ff"&gt;WITH&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;SY&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;MSGV1&amp;nbsp;SY&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;MSGV2&amp;nbsp;SY&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;MSGV3&amp;nbsp;SY&lt;/span&gt;&lt;span style="color: #000000"&gt;-&lt;/span&gt;&lt;span style="color: #000000"&gt;MSGV4.&lt;br /&gt;&amp;nbsp;&amp;nbsp;ENDIF.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;clearbuffer&amp;nbsp;headername.&amp;nbsp; "调用完毕以后，删除数据&lt;br /&gt;&amp;nbsp;&amp;nbsp;clearbuffer&amp;nbsp;itemsname.&lt;br /&gt;&lt;br /&gt;endform.&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;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000"&gt;"&lt;/span&gt;&lt;span style="color: #000000"&gt;&amp;nbsp;frm_print_data&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;将数据Export到内存可以取得较好的效率，但是一般SAP的应用服务器都会使用群集，因此我们Export数据到数据库中会保险一些。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;在系列文章之二，说明SmartForms的设计。&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/panjun-Donet/aggbug/2487693.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487693.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487678.html</id><title type="text">如何调整ABAP程序的性能</title><summary type="text">如何调整ABAP程序的性能</summary><published>2012-05-07T09:03:00Z</published><updated>2012-05-07T09:03:00Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487678.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487678.html"/><content type="html">&lt;div class="blog_content"&gt;&lt;p&gt;1、使用where语句&amp;nbsp;&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;&amp;nbsp; Select * from zflight.&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; Check : zflight-airln = &amp;#8216;LF&amp;#8217; and zflight-fligh = &amp;#8216;BW222&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; Endselect.&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;&amp;nbsp; Select * from zflight where airln = &amp;#8216;LF&amp;#8217; and fligh = &amp;#8216;222&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; Endselect.&lt;/p&gt;&lt;p&gt;2、使用聚合函数&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;&amp;nbsp; Maxnu = 0.&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; Select * from zflight where airln = &amp;#8216;LF&amp;#8217; and cntry = &amp;#8216;IN&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; Check zflight-fligh &amp;gt; maxnu.&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; Maxnu = zflight-fligh.&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; Endselect.&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;&amp;nbsp; Select max( fligh ) from zflight into maxnu where airln = &amp;#8216;LF&amp;#8217; and cntry = &amp;#8216;IN&amp;#8217;.&lt;/p&gt;&lt;p&gt;3、使用视图代替基本表查询&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; Select * from zcntry where cntry like &amp;#8216;IN%&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; Select single * from zflight where cntry = zcntry-cntry and airln = &amp;#8216;LF&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; Endselect.&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;&amp;nbsp; Select * from zcnfl where cntry like &amp;#8216;IN%&amp;#8217; and airln = &amp;#8216;LF&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; Endselect.&lt;/p&gt;&lt;p&gt;4、使用INTO table 代替select endselect&lt;br /&gt;不推荐&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Refresh: int_fligh.&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; Select * from zflight into int_fligh.&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; Append int_fligh. Clear int_fligh.&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; Endselect.&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;&amp;nbsp; Refresh: int_fligh.&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; Select * from zflight into table int_fligh.&lt;/p&gt;&lt;p&gt;5、使用批量修改内表代替逐行修改&lt;br /&gt;不推荐&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop at int_fligh.&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; If int_fligh-flag is initial.&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Int_fligh-flag = &amp;#8216;X&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; Endif.&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; Modify int_fligh.&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; Endloop.&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;&amp;nbsp; Int_fligh-flag = &amp;#8216;X&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; Modify int_fligh transporting flag where flag is initial.&lt;/p&gt;&lt;p&gt;6、使用二分法查询，提高查询内表数据速度&lt;br /&gt;不推荐&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Read table int_fligh with key&amp;nbsp; airln = &amp;#8216;LF&amp;#8217;.&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;&amp;nbsp; Read table int_fligh with key&amp;nbsp; airln = &amp;#8216;LF&amp;#8217; binary search.&lt;/p&gt;&lt;p&gt;7、两个内表添加使用批量增加代替逐行&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;&amp;nbsp; Loop at int_fligh1.&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; Append int_fligh1 to int_fligh2.&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; Endloop.&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;&amp;nbsp; Append lines of int_fligh1 to int_fligh2.&lt;/p&gt;&lt;p&gt;8、使用table buffering&lt;br /&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;Use of buffered tables is recommended to improve the performance considerably. The buffer is bypassed while using the following statements&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;Select distinct &lt;br /&gt;Select &amp;#8230; for update &lt;br /&gt;Order by, group by, having clause &lt;br /&gt;Joins &lt;br /&gt;Use the Bypass buffer addition to the select clause in order to explicitly bypass the buffer while selecting the data.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;9、 使用FOR ALL Entries&lt;br /&gt;不推荐&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop at int_cntry.&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&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; Select single * from zfligh into int_fligh&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&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; where cntry = int_cntry-cntry.&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&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;Append int_fligh.&amp;nbsp;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Endloop.&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;&amp;nbsp; Select * from zfligh appending table int_fligh&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; For all entries in int_cntry &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; Where cntry = int_cntry-cntry.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;10、正确地使用where语句，使查询能使用索引&lt;br /&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;When a base table has multiple indices, the where clause should be in the order of the index, either a primary or a secondary index&lt;br /&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;To choose an index, the optimizer checks the field names specified in the where clause and then uses an index that has the same order of the fields. One more tip is that if a table begins with MANDT, while an index does not, there is a high possibility that the optimizer might not use that index.&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;&lt;span lang="EN-US"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;span lang="EN-US"&gt;11、正确地使用MOVE语句&lt;br /&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;Instead of using the move-corresponding clause it is advisable to use the move statement instead. Attempt should be made to move entire internal table headers in a single shot, rather than moving the fields one by one.&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span lang="EN-US"&gt;&lt;span lang="EN-US"&gt;&lt;font size="2"&gt;12、正确地使用&lt;/font&gt;&lt;font size="3"&gt;inner join&lt;/font&gt;&lt;/span&gt;&lt;br /&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt; Let us take an example of 2 tables, zairln and zflight. The table zairln has the field airln, which is the airline code and the field lnnam, which is the name of the airline. The table zflight has the field airln, the airline code and other fields which hold the details of the flights that an airline operates.&lt;br /&gt;&amp;nbsp;&amp;nbsp; Since these 2 tables a re logically joined by the airln field, it is advisable to use the inner join.&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; Select a~airln a~lnnam b~fligh b~cntry into table int_airdet&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; From zairln as a inner join zflight as b on a~airln = b~airln.&lt;br /&gt;&amp;nbsp;In order to restrict the data as per the selection criteria, a where clause can be added to the above inner join.&lt;/p&gt;&lt;p&gt;13、使用sort by 代替order by&lt;/p&gt;&lt;p&gt;14、避免使用SELECT DISTINCT语句&lt;br /&gt;&amp;nbsp;使用的 &lt;span class="hilite1"&gt;&lt;span class="hilite1"&gt;ABAP&lt;/span&gt;&lt;/span&gt; SORT + DELETE ADJACENT DUPLICATES&amp;nbsp;代替.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/panjun-Donet/aggbug/2487678.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487678.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487647.html</id><title type="text">传输表内容</title><summary type="text">传输表内容</summary><published>2012-05-07T08:50:00Z</published><updated>2012-05-07T08:50:00Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487647.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487647.html"/><content type="html">&lt;div id="cnblogs_post_body"&gt;&lt;div style="margin: 15px" id="art" width="100%"&gt;&lt;div&gt;像传输请求那样把一个系统的表项目传输到另外一个系统。&lt;/div&gt;&lt;div&gt;如果是可维护的表，SE16，执行，选中项目，然后：表条目-&amp;gt;传输条目。&lt;/div&gt;&lt;div&gt;对于不可维护的表：SE16N,加那个修改符，执行，选中需要传输的项目，然后：TableEntry-&amp;gt;传送&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;注：由于一个尚未知的原因，有些系统里面自己创建的可维护的表在SE16里面也不可以传输(菜单为灰色)，这时可以把表定义为"W"类型，即可&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/panjun-Donet/aggbug/2487647.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panjun-Donet/archive/2012/05/07/2487647.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panjun-Donet/archive/2012/04/13/2445565.html</id><title type="text">CALL TRANSACTION - bdc_options</title><summary type="text">CALL TRANSACTION - bdc_options</summary><published>2012-04-13T04:17:00Z</published><updated>2012-04-13T04:17:00Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panjun-Donet/archive/2012/04/13/2445565.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/archive/2012/04/13/2445565.html"/><content type="html"> &lt;a href="http://www.cnblogs.com/clsoho/archive/2010/03/08/1680827.html"&gt;http://www.cnblogs.com/clsoho/archive/2010/03/08/1680827.html&lt;/a&gt;&lt;img src="http://www.cnblogs.com/panjun-Donet/aggbug/2445565.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panjun-Donet/archive/2012/04/13/2445565.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panjun-Donet/archive/2012/04/13/2445519.html</id><title type="text">SAP BDC（Batch Data Conversion ）技术之我见</title><summary type="text">SAP BDC（Batch Data Conversion ）技术之我见</summary><published>2012-04-13T03:48:00Z</published><updated>2012-04-13T03:48:00Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panjun-Donet/archive/2012/04/13/2445519.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/archive/2012/04/13/2445519.html"/><content type="html"> &lt;p&gt;一、概述&lt;br /&gt;在SAP系统里，重复输入数据时，（数据不同，但是操作是相同的，典型的情形就是主数据导入），大致过程不外乎是这样： &lt;br /&gt;输入一个t-code，&lt;br /&gt;进入一个某个屏幕，然后输入一个值（有时还要加上一些附加的checkbox选项等），点执行或者确定按钮，&lt;br /&gt;进入另一个屏幕，在某些字段输入值（也可能是标注checkbox选中或者不选中）或者修改这些字段里的值。&lt;br /&gt;然后按&amp;#8220;Eneter&amp;#8221;&amp;#8230;&amp;#8230;&lt;br /&gt;最后按&amp;#8220;SAVE&amp;#8221;&amp;#8230;&amp;#8230;，&lt;br /&gt;一条记录完成了，继续下一条，如此循环。 &lt;br /&gt;&lt;br /&gt;如果数据量非常大的话，让一个&amp;#8220;人&amp;#8221;来做的话，可能是真是受不了的。但是对于计算机来说，就很简单了。&lt;br /&gt;SAP通过一个特殊的程序（T-code:SHDB）把用户的一次业务操作的所有过程记录下来。&lt;br /&gt;从用户输入transaction &lt;br /&gt;code(事务代码)，点下&amp;#8220;Start &lt;br /&gt;Recording&amp;#8221;开始，对于用户的来说是一次普通的业务操作，但是SAP却在记录：&lt;br /&gt;1．光标放到哪个字段，（在程序中不用改变）&lt;br /&gt;2．填入了什么值，（变量，循环中的Internal &lt;br /&gt;Table &lt;br /&gt;某个字段）&lt;br /&gt;3．点击了什么按钮（在程序中不用改变）&lt;br /&gt;本次操作的作为一个&amp;#8220;代表&amp;#8221;，是一个&amp;#8220;模板&amp;#8221;，告诉SAP系统以怎样的方式来执行程序，也就是用计算机的语言来描述如果手工操作的话应该是怎样的一个过程。&lt;br /&gt;在实际应用中，有两种方法生成BDC数据，一种就是上面提到的先把数据导入到内表中，另一种就是直接通过程序中处理的数据循环调用BDC子程序。&lt;br /&gt;BDC中的两个非常重要的子例程是&lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Start new screen&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;*&lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;FORM &lt;br /&gt;BDC_DYNPRO USING PROGRAM DYNPRO.&lt;br /&gt;&amp;nbsp; CLEAR BDCDATA.&lt;br /&gt;&amp;nbsp; BDCDATA-PROGRAM&amp;nbsp; = &lt;br /&gt;PROGRAM.&lt;br /&gt;&amp;nbsp; BDCDATA-DYNPRO&amp;nbsp;&amp;nbsp; = DYNPRO.&lt;br /&gt;&amp;nbsp; BDCDATA-DYNBEGIN = 'X'.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;APPEND BDCDATA.&lt;br /&gt;ENDFORM.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;*----------------------------------------------------------------------*&lt;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Insert field&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;*&lt;br /&gt;*----------------------------------------------------------------------*&lt;br /&gt;FORM &lt;br /&gt;BDC_FIELD USING FNAM FVAL.&lt;br /&gt;&amp;nbsp; IF FVAL &amp;lt;&amp;gt; NODATA.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLEAR &lt;br /&gt;BDCDATA.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BDCDATA-FNAM = FNAM.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; BDCDATA-FVAL = FVAL.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; APPEND &lt;br /&gt;BDCDATA.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;ENDIF.&lt;br /&gt;ENDFORM.&lt;br /&gt;第一个子程序是记录当前程序进入了哪个屏幕，第二个程序是记录用户想要在屏幕字段上输入的字段值，&lt;br /&gt;只要循环调用这两个子程序，即可生成bdcdata.&lt;br /&gt;生成bdcdata之后，调用事务码如下：&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;CALL TRANSACTION 'MEK1' USING bdcdata MODE 'E' UPDATE 'S'&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; &lt;br /&gt;MESSAGES INTO itab_msg.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;以上两个子程序可以被直接COPY到自己的程序中使用，碰到特殊数据时进行修改使用，这是BDC 的核心程序。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;要仔细研究！&lt;br /&gt;二、实例&lt;br /&gt;具体步骤是：t-code:shdb--&amp;gt;new recording--&amp;gt;record &lt;br /&gt;name,tranzaction code--&amp;gt;enter(start recording)&lt;br /&gt;回车之后就会进入你想要调用的事务码中&lt;br /&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/clsoho/bdc1.jpg" width="681" height="520" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;图1&lt;br /&gt;一步一步完成需要的操作，就会出现你刚才操作的记录，这记录你操作的整个过程，包含你的输入值，你操作的功能码等等。如图2.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/clsoho/bdc2.jpg" width="703" height="580" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;退出到shdb界面。保存刚才的操作点--&amp;gt;program，输入程序名--&amp;gt;&lt;br /&gt;程序描述--&amp;gt;点源代码进入程序&lt;br /&gt;&lt;img border="0" alt="" src="http://images.cnblogs.com/cnblogs_com/clsoho/bdc3.jpg" width="702" height="57" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;刚才的所有操作就会生成BDC程序，其实包含你所输入的数据，以及你所操作的功能码&lt;br /&gt;参考生成的程序，调用BDC进行数据操作。具体生成的代码如下：&lt;br /&gt;report &lt;br /&gt;ZZZZ&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; no standard page heading line-size 255.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;include bdcrecx1.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;parameters: dataset(132) lower case.&lt;br /&gt;***&amp;nbsp;&amp;nbsp;&amp;nbsp; DO NOT CHANGE - the generated &lt;br /&gt;data section - DO NOT CHANGE&amp;nbsp;&amp;nbsp;&amp;nbsp; ***&lt;br /&gt;*&lt;br /&gt;*&amp;nbsp;&amp;nbsp; If it is nessesary to change the &lt;br /&gt;data section use the rules:&lt;br /&gt;*&amp;nbsp;&amp;nbsp; 1.) Each definition of a field exists of two &lt;br /&gt;lines&lt;br /&gt;*&amp;nbsp;&amp;nbsp; 2.) The first line shows exactly the comment&lt;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '* data &lt;br /&gt;element: ' followed with the data element&lt;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; which describes the &lt;br /&gt;field.&lt;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you don't have a data element use the&lt;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; comment &lt;br /&gt;without a data element name&lt;br /&gt;*&amp;nbsp;&amp;nbsp; 3.) The second line shows the fieldname of &lt;br /&gt;the&lt;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; structure, the fieldname must consist of&lt;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a fieldname &lt;br /&gt;and optional the character '_' and&lt;br /&gt;*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; three numbers and the field length &lt;br /&gt;in brackets&lt;br /&gt;*&amp;nbsp;&amp;nbsp; 4.) Each field must be type C.&lt;br /&gt;*&lt;br /&gt;*** Generated data &lt;br /&gt;section with specific formatting - DO NOT CHANGE&amp;nbsp; ***&lt;br /&gt;data: begin of &lt;br /&gt;record,&lt;br /&gt;* data element: KSCHA&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KSCHL_001(004),&lt;br /&gt;* data element: &lt;br /&gt;EKORG&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EKORG_002(004),&lt;br /&gt;* data element: WERKS_D&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;WERKS_003(004),&lt;br /&gt;* data element: ELIFN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LIFNR_004(010),&lt;br /&gt;* data &lt;br /&gt;element: EMLIF&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ZZEMLIF_005(010),&lt;br /&gt;* data element: MATNR&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;MATNR_01_006(018),&lt;br /&gt;* data element: KODATAB&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAB_007(010),&lt;br /&gt;* &lt;br /&gt;data element: KODATBI&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATBI_008(010),&lt;br /&gt;* data element: &lt;br /&gt;KSTBM&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KSTBM_01_009(019),&lt;br /&gt;* data element: KSTBM&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;KSTBM_02_010(019),&lt;br /&gt;* data element: KBETR&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KBETR_01_011(016),&lt;br /&gt;* &lt;br /&gt;data element: KBETR&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; KBETR_02_012(016),&lt;br /&gt;* data element: &lt;br /&gt;KODATAB&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DATAB_013(010),&lt;br /&gt;* data element: KODATBI&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;DATBI_014(010),&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end of record.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;*** End generated data section ***&lt;/p&gt;&lt;br /&gt;&lt;p&gt;start-of-selection.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;perform open_dataset using dataset.&lt;br /&gt;perform open_group.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;do.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;read dataset dataset into record.&lt;br /&gt;if sy-subrc &amp;lt;&amp;gt; 0. exit. endif.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: red;"&gt;perform bdc_dynpro&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;/span&gt;&lt;span style="color: rgb(255, 255, 153);"&gt;'SAPMV13A' '0100'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using '&lt;/span&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;BDC_CURSOR'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 153, 255);"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;'RV13A-KSCHL'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;'BDC_OKCODE'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(128, 128, 128);"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/00'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using 'RV13A-KSCHL'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-KSCHL_001.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_dynpro&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;/span&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;'SAPMV13A' '1506'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;/span&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;'BDC_CURSOR'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 153, 255);"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;'KOMG-MATNR(01)'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;using 'BDC_OKCODE'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/00'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using 'KOMG-EKORG'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-EKORG_002.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using 'KOMG-WERKS'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-WERKS_003.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using 'KOMG-LIFNR'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-LIFNR_004.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using 'KOMG-ZZEMLIF'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt; record-ZZEMLIF_005.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;br /&gt;'KOMG-MATNR(01)'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-MATNR_01_006.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_dynpro&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;/span&gt;&lt;span style="color: rgb(255, 255, 0);"&gt;'SAPMV13A' '1506'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;/span&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;'BDC_CURSOR'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 153, 255);"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;'TEXT_DEFAULT-TEXT(01)'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform &lt;br /&gt;bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using 'BDC_OKCODE'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '=PSTF'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_dynpro&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;/span&gt;&lt;span style="color: rgb(255, 255, 153);"&gt;'SAPMV13A' '0303'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;/span&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;'BDC_CURSOR'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 153, 255);"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;'KONM-KBETR(02)'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;using 'BDC_OKCODE'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '/00'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using 'RV13A-DATAB'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; re&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;cord-DATAB_007.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using 'RV13A-DATBI'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-DATBI_008.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;br /&gt;'KONM-KSTBM(01)'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-KSTBM_01_009.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;br /&gt;'KONM-KSTBM(02)'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-KSTBM_02_010.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;br /&gt;'KONM-KBETR(01)'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-KBETR_01_011.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;br /&gt;'KONM-KBETR(02)'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-KBETR_02_012.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_dynpro&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;/span&gt;&lt;span style="color: rgb(255, 255, 153);"&gt;'SAPMV13A' '0303'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using &lt;/span&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;'BDC_CURSOR'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(204, 153, 255);"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;'KONM-KSTBM(01)'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;using 'BDC_OKCODE'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; '=SICH'.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using 'RV13A-DATAB'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-DATAB_013.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_field&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; using 'RV13A-DATBI'&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&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;&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="color: rgb(0, 0, 255);"&gt;record-DATBI_014.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: red;"&gt;perform bdc_transaction using 'MEK1'.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;enddo.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;perform close_group.&lt;br /&gt;perform close_dataset using dataset.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;代码说明：&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: red;"&gt;代码中红色部分就是生成的BDC操作，你可以根据需要进行必要的修改，以实现你需要的功能。&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;代码中蓝色的部分就是需要提供的输入值，你可以把值上传到BDC &lt;br /&gt;RECORD中，也可以从程序的内表中&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;读取你所需要填入的值。如果是只导入数据，比如是主数据导入 &lt;br /&gt;，就可以把数据先上传到内表中，然后进行BDC操作。&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;如果是调用事务码进行某些操作，只要把数据填到适当的位置就可以了。&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;代码中黄色的部分是指当前正在处理的程序名以及屏幕号。&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;代码中紫色的部分是指当前光标所在的位置。即屏幕上第几行的哪个字段上。也就是当前是往这个字段填值。&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;代码中&amp;#8220;表名－字段名（编号）&amp;#8221;是指当前是在往屏幕上的这个字段的第几行填值。在这里，如果有多行需要数据输入，可以采用循环的方式进行，但是循环的时候需要用concatenate字符串连接来实现（）内编号的递增。保证填入数据的正确性。这是一个细致的工作，但是只要按步骤来，应该不会出错的。&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;例如表itab中存放着所有需要的数据。并且屏幕上需要输入5行数据,每行三个字段。这时我们可以这样实现。&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;data: t1,t2,t3. &lt;br /&gt;"注t1,t2,t3与每行的三个字段类型相一致&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;data m type c.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;perform bdc_dynpro &lt;br /&gt;using '程序名' '屏幕号'.&amp;nbsp;&amp;nbsp;&amp;nbsp; "进入屏幕&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;perform bdc_field &lt;br /&gt;using 'BDC_CURSOR' '表名-字段名(01)'.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;perform bdc_field &lt;br /&gt;using 'BDC_OKCODE' '功能码'.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;loop at itab into wa.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;m = sy-tabix.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;concatenate '表名-字段名(' m ')' into t1.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;concatenate &lt;br /&gt;'表名-字段名(' m ')' into t2.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;concatenate &lt;br /&gt;'表名-字段名(' m ')' into t3.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;perform bdc_field using&amp;nbsp; t1 wa-t1.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;perform bdc_field &lt;br /&gt;using&amp;nbsp; t2 wa-t2.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;perform bdc_field using&amp;nbsp; t3 wa-t3.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;endloop.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;对于多行输入或者从一个屏幕进入另一个屏幕之后需要多行输入的可以使用这种循环嵌套的方法实现&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(204, 153, 255);"&gt;减少了代码重复。对于数据量很小的可以直接逐行填值。&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(128, 128, 128);"&gt;代码中灰色部分&amp;#8220;BDC_OKCODE&amp;#8220; &lt;br /&gt;&amp;#8221;/00&amp;#8220;等是指你所操作的功能码。包括回车，保存，双击等。分清功能码也是一项非常重要的工作。当这些工作都做完之后。所需要的bdcdata也就生成了。这时只需要使用bdcdata调用事务码就可以了。&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="color: rgb(128, 128, 128);"&gt; CALL TRANSACTION 'MEK1' USING bdcdata MODE 'E' &lt;br /&gt;UPDATE 'S'&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; MESSAGES INTO itab_msg.&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;三、问题&lt;/p&gt;&lt;br /&gt;&lt;p&gt;当然，有时会遇到这样的情况，就是在遇到金额或者单位或者数量时，往往会出现错误提示：输入的字段比实际字段长。这时我们想明明输入的值和字段字义是一样的，为什么会出现这种错误提示呢？&lt;br /&gt;其实这是做BDC的时候最需要注意的事，因为字段类型虽然一样，但是我们保存到BDCDaTA中的时候，数值等是按照默认长度保存的，但是我们输入的时候需要都这些多余的字符串删除掉，这时我们就需要对数据进行处理，有两种处理方法，一种就是用SHIFT移位操作删除多余的字符串，也可以通过修改子例程BDC_FIELD来实现。 &lt;br /&gt;假设我们需要输入金额，用第二种方法来实现，就可以这么修改子例程BDC_FIELD。&lt;br /&gt;&amp;nbsp; DATA: it LIKE &lt;br /&gt;bsid-dmbtr,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fval2(13) TYPE c.&lt;br /&gt;&amp;nbsp; IF fval &amp;lt;&amp;gt; it.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOVE &lt;br /&gt;fval TO fval2.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLEAR bdcdata.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bdcdata-fnam = fnam.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;bdcdata-fval = fval2.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; APPEND bdcdata.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;ENDIF.&lt;br /&gt;调用的时候遇到金额、数量或者单位时，就定义这样一个子例程来供调用。就不会出现错误提示了。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;对于出现单位在中文中没有定义的错误，可以参考&lt;a href="http://www.cnblogs.com/clsoho/archive/2010/03/08/1680614.html" target="_blank"&gt;&lt;font color="#4371a6"&gt;http://www.cnblogs.com/clsoho/archive/2010/03/08/1680614.html&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/panjun-Donet/aggbug/2445519.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panjun-Donet/archive/2012/04/13/2445519.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panjun-Donet/archive/2012/04/12/2443424.html</id><title type="text">ABAP中查找代码的标准程序</title><summary type="text">ABAP中查找代码的标准程序</summary><published>2012-04-12T01:58:00Z</published><updated>2012-04-12T01:58:00Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panjun-Donet/archive/2012/04/12/2443424.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/archive/2012/04/12/2443424.html"/><content type="html"> RPR_ABAP_SOURCE_SCAN 可以用于搜索SAP中的程序代码，一般使用时填写开发类、程序名及需要查找的字符串即可，选择屏幕布局和功能很简单，熟悉ABAP代码的人一看就明白了，不多解释了，使用方法及截图如下。选择范围太大的话很慢，可以考虑放到后台运行，结束了再看结果。&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 用这个程序查看某些特征的代码很有效，比如查找所有程序中BREAK ##这样的代码等。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1 SE38回车&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 程序名：RPR_ABAP_SOURCE_SCAN&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 F8 Execute&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.alicenalex.com/wp-content/uploads/2010/08/abap41.jpg"&gt;&lt;img style="border: 0px currentColor; display: inline;" title="abap-4-1" border="0" alt="abap-4-1" src="http://www.alicenalex.com/wp-content/uploads/2010/08/abap41-thumb.jpg" width="582" height="484" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;图1：选择屏幕&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.alicenalex.com/wp-content/uploads/2010/08/abap42.jpg"&gt;&lt;img style="border: 0px currentColor; display: inline;" title="abap-4-2" border="0" alt="abap-4-2" src="http://www.alicenalex.com/wp-content/uploads/2010/08/abap42-thumb.jpg" width="644" height="438" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;图2：执行结果&lt;/p&gt;&lt;img src="http://www.cnblogs.com/panjun-Donet/aggbug/2443424.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panjun-Donet/archive/2012/04/12/2443424.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panjun-Donet/archive/2012/01/06/2315203.html</id><title type="text">Why use ABAP OO with Workflow?</title><summary type="text">ABAP OO with Workflow</summary><published>2012-01-06T14:02:00Z</published><updated>2012-01-06T14:02:00Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panjun-Donet/archive/2012/01/06/2315203.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/archive/2012/01/06/2315203.html"/><content type="html">&lt;div&gt;&lt;div&gt;&lt;a href="http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=55566"&gt;http://wiki.sdn.sap.com/wiki/pages/viewpage.action?pageId=55566&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/panjun-Donet/aggbug/2315203.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panjun-Donet/archive/2012/01/06/2315203.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305474.html</id><title type="text">ABAP ALE&amp;amp;IDoc&amp;amp; EDI技巧</title><summary type="text">ALE&amp;IDoc&amp; EDI技巧</summary><published>2011-12-28T15:30:00Z</published><updated>2011-12-28T15:30:00Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305474.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305474.html"/><content type="html">&lt;p&gt;我在新环境中，学到的最多的东西就是接口技术，也是我觉得很有用的一些知识。&lt;/p&gt;&lt;p&gt;由于公司业务复杂，第三方系统很多，有很多业务系统在上面跑。SAP引入之后，就需要和第三方系统做接口，比如订单、物流什么的。不过有一个很好的趋势，很多老系统在被淘汰，原来的一些核心业务正在向SAP移植，可见SAP还是不错的，这口饭还有得吃。&lt;/p&gt;&lt;p&gt;我这边的接口类型有不少，比如ALE/IDoc，PI，FTP等。但是PI主要还是在某几个模块上进行使用（感觉有点试验的性质），FTP也是在特定的业务中使用，而ALE/IDoc已经广泛使用了。ALE/IDoc广泛使用的原因有很多，一方面是基于EDI标准，同时这个技术经过时间的考验已经相当成熟。我接下来会主要讲讲ALE/IDoc，其间可能会提到一些EDI和PI。&lt;/p&gt;&lt;p&gt;IDoc(Intermediate Document)，顾名思义，就是用作中间媒介的一种文件。是一种通用的标准格式，这样可以方便第三方软件对IDoc进行处理。&lt;/p&gt;&lt;p&gt;ALE(Application Link Enabling)，主要用于同一个企业不同SAP系统之间的数据交换。一个企业比较大的话，会设有多个SAP系统，光R/3可能就要好几台服务器，再加上BI，PI啊，多的去了，这个就是ALE的用武之地。国外这样的情况很多，你可以上上国外的一些SAP论坛，ALE/IDoc的问题天天有人问。&lt;/p&gt;&lt;p&gt;EDI（Electronic Data Interchange），名字上来看就是电子数据交换，用于不同企业间的电子数据的交换。比如，你要用DHL进行发货，那么就可以直接通过EDI来通知DHL，并且进行反馈。这里的IDoc是符合EDI标准的，需要用EDI子系统进行转换。&lt;/p&gt;&lt;p&gt;这里我要说一下分布式，听起来很玄乎的一个词。简单点来说就是，由于服务器性能和地域的限制，一个公司不可能把所有的业务都在一台机器上做，那么就要分开来。分开来之后，就有了几台，几十台，甚至几百台的服务器中。不同机器存储着相关的主数据，也就是说牵一发，而动全身，改动一台中的数据，就要使其他服务器上的数据也要做相应改动。如果人工来干这件事情的话，可想而知这个工作量和风险了，这是我们就引入了ALE/IDoc。有了这个技术，可以做到分布式主数据自动修改，只要有一台机器改动了，就会自动向其他相关服务器发出消息，说&amp;#8216;Hi, Let&amp;#8217;s update together!&amp;#8217;，结合SAP的Job技术，所有的一切都是自动的。这个对于跨区域的大型公司来说是很有用的！&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font face="Times New Roman"&gt;ALE/IDoc&lt;/font&gt;的实践性很强的技术，也就是说你做得越多，碰到的问题越多，提高也就越多，光是理论是没什么用得。&lt;/font&gt; &lt;/p&gt;&lt;div&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;所以先把一般配置一套&lt;font face="Times New Roman"&gt;ALE/IDoc&lt;/font&gt;的流程总结一下，以后再把经验性、总结性的东西慢慢添加进去。&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp; 有两个比较有用的&lt;font face="Times New Roman"&gt;Menu T-code&lt;/font&gt;：&lt;font face="Times New Roman"&gt;WEDI, SALE&lt;/font&gt;。分别用来配置&lt;font face="Times New Roman"&gt;IDoc/EDI, &lt;/font&gt;和&lt;font face="Times New Roman"&gt;ALE&lt;/font&gt;的。&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;自定义&lt;font face="Times New Roman"&gt;IDoc&lt;/font&gt;流程：&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;Create Segment: WE31&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;Create IDoc Type: WE30&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;Create IDoc Message Type: WE81&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;Assign Message Type to IDoc Type: WE82&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;font face="Times New Roman"&gt;&lt;/font&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;font face="Times New Roman"&gt;ALE&lt;/font&gt;配置：&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code SALE&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;Define Logical System&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;Assign Logical System to Client&lt;/font&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;div align="left"&gt;&lt;img alt="ABAP ALEIDoc EDI技巧之2--一般流程.doc - 天涯倦客 - 天涯倦客的博客" src="http://blogimg.chinaunix.net/blog/upfile2/080801100346.jpg" border="0" __1325086183062__="ev_5555319545" /&gt;&lt;/div&gt;&lt;p&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code&amp;nbsp;: SM59 Create RFC connections&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/div&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;div align="left"&gt;&lt;img alt="ABAP ALEIDoc EDI技巧之2--一般流程.doc - 天涯倦客 - 天涯倦客的博客" src="http://blogimg.chinaunix.net/blog/upfile2/080801100415.jpg" border="0" __1325086183062__="ev_6611057716" /&gt;&lt;/div&gt;&lt;p&gt;&lt;/font&gt;&amp;nbsp;&lt;/p&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code&amp;nbsp;: WE21&amp;nbsp;Port definition&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code&amp;nbsp;: BD64 Create Distribution Model&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code&amp;nbsp;: WE20 Partner profile&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;font face="Times New Roman"&gt;IDoc&lt;/font&gt;的测试&lt;font face="Times New Roman"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code&amp;nbsp;: WE19&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;IDoc的显示&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code: WE02&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;Outbound Processing:&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code&amp;nbsp;: WE41 Outbound process code&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;&lt;/font&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;Inbound Processing:&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code: BD51 ALE Attributes&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code: WE57 Message/application object&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font face="Times New Roman" size="2"&gt;T-code: WE42 Inbound process code&lt;/font&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/panjun-Donet/aggbug/2305474.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305474.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305454.html</id><title type="text">【ABAP】Cross client master/business data transfer guide(ALE &amp;amp;I Doc)</title><summary type="text">Cross client master/business data transfer guide(ALE &amp;I Doc)</summary><published>2011-12-28T14:53:00Z</published><updated>2011-12-28T14:53:00Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305454.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305454.html"/><content type="html">&lt;p&gt;在项目实施中经常遇到这样的问题，有2个client 800和810，需要把800的配置和一部分业务数据拷贝到810。配置可以用SCC1来实现，业务数据导入办法也多种多样，当然比较省心的就是用ALE了。&lt;/p&gt;&lt;p&gt;以下用本地的IDES系统介绍一下物料主数据传递的方式，Client 800 -&amp;gt; Client 810&lt;/p&gt;&lt;p&gt;1. &amp;nbsp;SM59 配置RFC destenation&lt;/p&gt;&lt;p&gt;MACCLNT800和MACCLNT810, 这个配置是Client independent的&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/zjjmac/1.jpg" /&gt;&lt;/p&gt;&lt;p&gt;在Logon/sSecurity页中输入Client登陆信息，用户必须要有RFC的权限。&lt;/p&gt;&lt;p&gt;2. SALE-&amp;gt;Logical systems-&amp;gt;Define Logical systems&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 分别定义逻辑系统MACCLNT800和MACCLNT810（名字可以和RFC destination不同，本例是一致的）&lt;/p&gt;&lt;p&gt;3. SALE-&amp;gt;Logical systems-&amp;gt;Assgin Client to Logical systems&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp; MACCLNT800-&amp;gt;Client 800；MACCLNT810-&amp;gt;Client 810, 这个配置是Client independent的&lt;/p&gt;&lt;p&gt;4. WE21 Port definition&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/zjjmac/2.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在Client 800和810中互相定义连接到对方的端口&lt;/p&gt;&lt;p&gt;5. BD64&amp;nbsp;创建分配模型&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 先'Create model view'，然后'Add message type'&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img alt="http://p.blog.csdn.net/images/p_blog_csdn_net/zjjmac/3.jpg" src="http://p.blog.csdn.net/images/p_blog_csdn_net/zjjmac/3.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;6. WE20 Parter profile&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在Client800中定义LS parter 'MACCLNT810'，Outbound parameter MATMAS&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/zjjmac/4.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 在Client810中定义LS parter 'MACCLNT800'，inbound parameter MATMAS&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/zjjmac/5.jpg" /&gt;&lt;/p&gt;&lt;p&gt;7.&amp;nbsp;所有的ALE设置做好之后，BD10 发送物料&amp;nbsp;&lt;/p&gt;&lt;p&gt;8. 在发送和接收Client端查看IDoc，WE02。若有错误可以查看IDoc中的status segment解释&lt;/p&gt;&lt;p&gt;9.&amp;nbsp;可以用SM58,BD87来查看tRFC和ALE的错误, MM90可以查看物料在接受方(Client810)创建日志，若一切顺利那么在Client 810就能用MM03成功看到这个传递过来的物料主数据了。&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/panjun-Donet/aggbug/2305454.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305454.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305435.html</id><title type="text">【FI/CO】FI/CO模块的一些基本概念</title><summary type="text">FI/CO模块的一些基本概念</summary><published>2011-12-28T14:16:00Z</published><updated>2011-12-28T14:16:00Z</updated><author><name>sap技术顾问</name><uri>http://www.cnblogs.com/panjun-Donet/</uri></author><link rel="alternate" href="http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305435.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305435.html"/><content type="html">&lt;p&gt;SAP R/3财务基本概念及集成性浅释---总帐等概念&lt;/p&gt;&lt;p&gt;1，科目表的建立及分配 &lt;/p&gt;&lt;p&gt;在SAP中，科目表的层次较公司代码高，也就是说先创建好科目表，然后可以分配给不同的公司使用。在同一集团范围内，为了使各个集团范围内的公司使用的科目表都能一致，通常是先创建一个虚拟的公司及科目表，然后集团范围内公司都可从其拷贝。科目表中的科目就是在总帐的主数据中分别创建的。这里值得一提是，在SAP中的科目表与传统的手工方式在科目体系中有了很大的不同。传统的帐务体系将会计科目分为1级科目、2级科目、3级科目等。但在SAP已没有这样分法了。除了应收、应付、固定资产等统驭科目外，所有的明细或2、3科目上升为总帐科目（当然在使用之前，应进行有关主数据的设置），如传统的银行存款&amp;#8212;工商银行XX支行XX帐号，这只是银行存款的一个子科目，但在SAP中，此时已设置为一个总帐科目了，科目代码是根据企业会计制度中的有关编码扩充至8位编码，如一个企业有许多银行存款，在SAP中就变成了有许多总帐科目。在总帐层次显示时，是分别显示的，但到报表层次时，则根据所有银行科目中的前四位代码汇集成一个科目银行存款进行披露。管理费用也一样，在SAP中有非常多管理费用的总帐科目（如工资、奖金、津贴等）。但在总帐还包含有从其他模块中过入的金额，如统驭科目，统驭如应付/收及固定资产的明细科目，因此在SAP的总帐科目表中，我们看到的就不是目前的五、六十个科目，而是将近五百个的总帐科目。由于应收、应付、固定资产有各自独立的模块，所以有各自的明细帐。但反映在总帐及报表层次时，分别为细分的统驭科目（如应收帐款可根据企业管理的需要分为应收国内的款项与应收国外的款项等）。SAP所有的财务信息都是即时的，当记录一笔总帐分录时，相应的总帐、报表都已生成，当应收明细帐生成时，通过统驭科目就可即时过入总帐与报表。也就是说，在SAP的帐务里，任何时点都会产生新的总帐与新的报表（注意该总帐与报表并不完全体现法人的资产负债损益情况，尚有折旧、预提待摊因素要考虑）。 &lt;/p&gt;&lt;p&gt;2，统驭科目的概念及分类，统驭科目的变更 &lt;/p&gt;&lt;p&gt;统驭科目（reconciliation account）指的就是将明细科目归集起来的意思。前面我们说到，系统总帐科目表中包括统驭科目，该统驭科目是与应收模块、应付模块、固定资产模块有关的，其中长、短期借款运用了应付模块的功能，也成为了统驭科目。在实际业务过程，我们可能会发生统驭科目选用错误，此时就要用到统驭科目的变更功能。如客户A的统驭科目被误选为11310101，并有一笔分录输入，假设为1000元，此时的总帐科目11310101就有1000元余额，事后发现用错统驭科目，为此在此客房的主数据中更改统驭科目假设为113102101（注意这并不会更改已过入11310101的1000元），更改完毕后，至月末（假设本月只有一笔分录及余额为1000元）运行客户重组程序，系统会产生借：11310299（系11310201的调整科目，但非统驭科目）1000贷：11310199（系11310101的调整科目，但非统驭科目）1000，在报表层次上11310101与11310199被安排在一行后余额变为0，11310201与11310299被安排在一行后余额变为1000，这样在报表层次就将由于选错统驭科目而产生的错误纠正了。第二个月初，系统会自动运行相反的调整分录，借：11310199（系11310101的调整科目，但非统驭科目）1000贷：11310299（系11310201的调整科目，但非统驭科目）1000.直到选错统驭科目的金额被支付出去后，才不需运行上述程序。 &lt;/p&gt;&lt;p&gt;3，凭证的输入规则： &lt;/p&gt;&lt;p&gt;在SAP中，总帐科目在输入分录是需要遵循传统的记帐方法，&amp;#8220;有借必有贷，借贷必相等&amp;#8221;。但对于应收、应付的发票输入（即作会计分录）单边则可，如在应付模块作发票输入，填入供应商的号码，日期、金额后，其次填写行项目，此时的行项目的字段中已经默认了借方，用户只需选择适当的总帐科目（如管理费用&amp;#8212;XX）、金额、成本中心即可。产生的分录即为借贷皆具的双边分录了。应收模块的发票输入也同样。在应收、应付模块中除了后勤模块的&amp;#8220;发票校验程序&amp;#8221;及销售模块的&amp;#8220;出具发票程序&amp;#8221;自动过入应付、应收帐款外，尚有许多处如&amp;#8220;过帐&amp;#8221;、&amp;#8220;清帐&amp;#8221;也具有半自动生成会计分录的功能。另外，在SAP中，凭证具有较宽泛的意义，如后勤模块的产生的收货单据，在SAP中也称为凭证，发票也称凭证，因此财务人员在实际操作中应注意区别。 &lt;/p&gt;&lt;p&gt;4，凭证的类别 &lt;/p&gt;&lt;p&gt;传统的会计核算中，将凭证的类别分为收、付、转三类或直接就是一类记帐凭证。SAP对凭证的分类基本上也遵循收、付、转三类的原则，即总帐凭证（类似转帐凭证）SA，与供应商有关的凭证（类似于付款凭证）：KR（应付供应商的凭证）、KG（供应商转来的红字发票，SAP称为贷记凭证）、KZ（付款给供应商的凭证），与客户有关的凭证（类似于收款凭证）：DR（开具发票给顾客的凭证）、DG（开具红字发票给顾客的凭证）、DZ（向顾客收款的凭证），与固定资产交易有关的凭证AA等。 &lt;/p&gt;&lt;p&gt;5，记帐码&lt;/p&gt;&lt;p&gt;在手工的会计核算过程中，我们通过用记帐符号&amp;#8220;借&amp;#8221;与&amp;#8220;贷&amp;#8221;来描述资产、负债的增、减。但在SAP中，却变得有些复杂了，比如，对于总帐科目的凭证，用符号40来表示总帐的借方，用50来表示总帐的贷方，分录例示如下：40：10010101（现金）50：50150101（营业外收入）；对于与供应商发票有关的凭证输入，主要与应付帐款有关的借贷方就比较复杂了，如贷方用31、32、33、34、35、36、37、38、39，借方用21、22、23、24、25、26、27、28、29，如供应商发票输入分录为：40：50100101（营业费用-电费）31：10100037（表示通过主数据创建的供应商编号）。对于与应收帐款有关的，其应收帐款的借贷方所用的记帐码：用01、02、03、04、05、06、07、08、09表示借方，用11、12、13、14、15、16、17、18、19表示贷方，如输入一笔与客户发票有关的分录：01：客户有关的号码50：其他业务收入。与固定资产有关的业务，用70表示借方，用75表示贷方，假设通过应付模块采购固定资产，70：固定资产号码31：10100037.与存货有关的业务，用89表示借方，用99表示贷方，如89：存货贷：50：GR/IR，退货时，40：GR/IR 99：存货（与存货有关的会计业务，大部分是系统自动产生的，因此少了一道麻烦！）。记帐码在SAP中实际上起到如下的作用：在行项目中决定可输入的科目的类别；行项目是以借方或贷输入；决定其他字段的状态。 &lt;/p&gt;&lt;p&gt;6，凭证号码的产生&lt;/p&gt;&lt;p&gt;在SAP中，凭证号码可以由系统产生也可由手工产生，但系统产生的凭证号是连续的，手工产生的号码难免会产生跳号等失误，因此对系统设置时采用的凭证号码是由系统自动产生的。同时，对不同类别的凭证，系统对其产生的号码的范围不尽一致，如输入供应商发票产生的凭证号在1900000000-1999999999之间，付款给供应商的的凭证产生的凭证号在1500000000-1599999999，与固定资产有关的凭证产生的凭证号在0100000000-0199999999之间，开具发票给客户产生的凭证号在1600000000-1699999999之间等等！尚有其他号码范围，可参照总帐蓝图中的有关叙述。当然，号码范围是与年度有关的，即开始新一个会计年度时，号码区间又会被重新选用，从而避免号码被用尽的可能。 &lt;/p&gt;&lt;p&gt;7，记帐期间变式，&lt;/p&gt;&lt;p&gt;会计年度与特殊期间记帐期间变式是较难理解的一个内容。通过手工的做法是，在某一期间内所有交易都必须在同一时点结帐，以便总帐及财务报表的生成。但在系统中，由于每一时点都可以产生一个即时会计报表，因此某些类型的凭证可以在期间结束时予以关帐，而某些却又可以继续开着，即某些类型凭证可在8月份入七月份的帐。当然从严格的角度说，这是不合适的。这就是记帐期间变式。特殊会计期间，在系统中，会计期间基本上分为12个期间，这与正常手工核算无二，但由于在年度的会计期间结束后（此时12月31日会计报表已产生），仍然存在应当调整的事项，如审计时发现有些费用的确认不尽合理，有些交易金额必须重新确认（如某些资产负债表日后事项），这时的调整就在特殊期间进行。SAP的特殊会计期间分为4个，即13-16期间。但有些资产负债表业务却又难以在特殊期间实现，如资产负债后日后发生的上一年度的退货，由于这涉及到集成的业务，所以在SAP较难实现（具体参见后述）。 &lt;/p&gt;&lt;p&gt;8，初级成本要素与次级成本要素&lt;/p&gt;&lt;p&gt;初级成本要素与次级成本要素。SAP除总帐的及时集成外，它的另一个特点是与控制模块的及时集成。在SAP中所有的总帐中的费用科目都被要求创建成为初级成本要素。这样，当输入一个总帐的费用分录时，系统会要求输入一个成本中心，即表示此时系统已将该初级成本要素分配给了某一成本中心。即通过一个分录就将总帐与控制模块的要求同时满足，这就是SAP的无缝集成。当然控制模块中只有该要素的金额，而不是像总帐的记录是通过双边分录来实现的，因此某成本心的费用报表是各个初级成本要素总汇。次级成本要素是指，某一成本中心的费用要素可整理成为次级的费用要素（项目），并将其通过一定的比例分摊给不同的成本中心。控制模块就是通过这两个要素反映了企业内外部间的资金流动情况。在SAP中，初级成本要素就类似于科目表，它可以分配给任何一个成本中心，包括法人间的成本中心，即不同的成本中心可能包括的初级成本要素是一模一样的，但金额却不尽相同。 &lt;/p&gt;&lt;p&gt;9，分配与分摊分配与分摊&lt;/p&gt;&lt;p&gt;对于成本要素的来说是一个很重要的功能。并且这功能就类似于固定资产折旧一样，一月只能执行一次。分配的功能是与初级成本要素相关的，分摊的功能是与次级成本要素的功能相关的。这两个功能同样都可用到计划（预算）与实际发生额中。如可创建一个循环，将某成本中心（可超过一个以上）的初级成本要素（可超过一个以上），按一定的比例分配给其他成本中心（可超过一个以上），当然也将这循环分为几个段，各段间相应的要求可以不一样，这样每月末执行时，就可以很好地反映初级成本要素的流向情况。同样的，也可创建一个分摊循环，将某成本中心（可超过一个以上）的初级成本要素（可超过一个以上）重新组合成为一个次级成本要素，然后再将其按一定的比例分配给其他成本中心（可超过一个以上），当然也将这循环分为几个段，各段间相应的要求可以不一样，这样每月末执行时，就可以很好地反映次级成本要素的流向情况。分配与分摊的区别在于，分配是将某一成本中心的初级成本要素分给另一成本心，被分配的初级成本要素会与被分配的成本中心的相同的初级成本要素一并反映，而分摊则是将次级成本要素分摊到另一成本中心，与被分摊的成本中心的初级成本要素一同反映，这样有利于区分本成本中心的发生的费用与分摊过来的费用的界限。需要说明的是，同一利润中心下的成本中心的分配或分摊，并不影响该利润中心的利润额，但跨利润中心进行分配或分摊，则影响了不同利润中心的利润额，两种方法产生（分配或分摊的规则相同时）的影响一致。&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;词汇表&lt;/p&gt;&lt;p&gt;科目维护: 在某一科目中结算未清项。 &lt;/p&gt;&lt;p&gt;科目管理: 总分类帐如何管理的说明, 包括未清项管理和行项目显示。 &lt;/p&gt;&lt;p&gt;科目类型: 指定某科目所属会计范围的代码。资产、客户、供应商和总分类帐均是科目类型的范例。因为帐号可用于每一科目类型，因此为了确定某科目，除要求帐号外还需要科目类型。 &lt;/p&gt;&lt;p&gt;会计凭证: 会计凭证总是包含一个凭证抬头和至少两个凭证行项目。凭证余额必须为零。当您记帐会计凭证时，记帐科目的交易额得以更新。会计凭证在系统中代表原始凭证。 &lt;/p&gt;&lt;p&gt;待摊和预提: 对组织收入和支出期间的分配，目的是计算期间利润。对预收付递延收入进行区分。预收付是在结算日前的任何支出，它表示在该日期之后一特定期间的支出。递延收入是在结算日之前的收入，它表示该日期之后一特定期间的收入。 &lt;/p&gt;&lt;p&gt;余额: 来自某科目或凭证的借方和贷方间差异的金额。如果贷方数值大则称&amp;#8220;贷项余额&amp;#8221;，如果借方数值大则称&amp;#8220;借项余额&amp;#8221;。 &lt;/p&gt;&lt;p&gt;余额核对: 用于检查某会计凭证是否正确输入的程序。为满足此要求，凭证中的借项金额必须等于贷项金额。 &lt;/p&gt;&lt;p&gt;资产负债表: 某一时间点的公司结算余额（资产负债表结算日）。此凭证根据会计原则以资产(ASSETS －资产负债表的贷方)和资本(LIABILITIES －资产负债表的借方)比较的形式被构建。余额：某期间的损益。&lt;/p&gt;&lt;p&gt;预算资产负债表: 某一结算日期中出自所有部分计划（销售计划），主生产计划表，投资计划，人力资源计划，现金流量表的资产负债表。&lt;/p&gt;&lt;p&gt;会计科目表: 按会计原则定义的所有总分类帐主记录和成本要素的系统化排序清单。会计科目表包括帐户号码、帐户名称和每个总分类帐主记录的控制信息。每个客户可创建几个会计科目表。每个公司代码必须被分配给一个会计科目表。 &lt;/p&gt;&lt;p&gt;支票/汇票: 帮助买方借钱的会计程序。买方付支票并让卖方同时为他开一张汇票。他接受汇票并递交给银行以贴现。 &lt;/p&gt;&lt;p&gt;结帐操作: 准备和执行以下结帐所需的所有程序：日末结帐、月末结帐、年末结帐 &lt;/p&gt;&lt;p&gt;公司代码: 客户范围内的独立的会计单位。符合法律要求的资产负债表和利润表＋在公司代码等级上创建。每个客户可以建立几个公司代码以同时管理各个独立组织机构的帐户。 &lt;/p&gt;&lt;p&gt;成本: 用于商品和服务的生产和销售，以及工厂和机器的购置和维护的有形和无形经济商品的使用价值。 &lt;/p&gt;&lt;p&gt;贷项凭证: 扣除应收款或应付款的记帐。 &lt;/p&gt;&lt;p&gt;凭证记帐: 人工或自动将凭证记入SAP系统。人工记入是通过为业务往来输入而专门设计的屏幕实现的；自动记入由联机接口完成。 &lt;/p&gt;&lt;p&gt;凭证原则: 据此原则，记帐总是以凭证的形式保存（无凭证就无记帐）。凭证作为完整单元保留，可在任意时刻显示，直至归档。 &lt;/p&gt;&lt;p&gt;费用: 公司某期间内的花费包括使用的物品，外部服务，和财政收费，这些根据收入在利润表中抵销。 &lt;/p&gt;&lt;p&gt;财政预算: 考虑销售计划、主生产计划、采办计划、投资计划及人力资源计划的结果和/或要求，针对可用财政资源的中期及长期应用程序的规则说明。 &lt;/p&gt;&lt;p&gt;会计年度: 一般说来，十二个月为一个期间，公司为此期间定期创建存货和资产负债表。会计年度对应于公历年，但并非必须如此。在某些情况下，小于12个月的会计年度也是允许的（短会计年度）。 &lt;/p&gt;&lt;p&gt;总分类帐: 为创建法定结算报表用的分类帐（资产负债表和利润表）。总分类帐是来自总分类帐帐户的交易额的记录。总以适当的本位币记帐。 总公司帐户: 用于表示总公司/分公司关系的帐户，此关系针对SAP系统中的某客户和供应商而存在。收付从总公司帐户执行，而采购定单，产品交付或发票则记入分公司帐户。 &lt;/p&gt;&lt;p&gt;进项税: 由供应商收取的税。进项税的可减除部分可从当局税务机构要求。 &lt;/p&gt;&lt;p&gt;日记帐: 可在任一点及时创建的周期内的所有记帐清单。 &lt;/p&gt;&lt;p&gt;分类帐: 在某种程度上显示交易额的特殊结构。它与一定的会计范围和一定的报告或评估目的相关联。例如对于总分类帐，总是在会计系统内管理一分类帐。 &lt;/p&gt;&lt;p&gt;负债: 债务，待摊项和预提项、以及公司权益的总和。它显示在资产负债表的右侧（如资本、盈余准备金、预备金、供应商负债）。 &lt;/p&gt;&lt;p&gt;月末结算: 所有的工作在记帐期末进行。 &lt;/p&gt;&lt;p&gt;一次性帐户: 记录来自您只与其做过一性业务或偶尔有业务来往的客户/供应商组的交易额之帐户。所有一次性帐户需要一个特殊主记录。客户/供应商的指定数据如地址和银行数据不输入到主记录，而是输入到自身凭证中。 &lt;/p&gt;&lt;p&gt;未清项管理: 对科目中的项目，必须由科目中其它项目结算的规定。涉及结算程序的项目总额须为零。因而科目余额总是等于未清项总额。 &lt;/p&gt;&lt;p&gt;原始凭证: 证明已正确完成记帐的凭证。 &lt;/p&gt;&lt;p&gt;销项税: 在生产及贸易的各等级上对客户征收的税金。它代表对于税务局的纳税义务。 &lt;/p&gt;&lt;p&gt;记帐冻结: 冻结记帐帐户的标识。可为所有公司代码集中冻结或为一公司代码局部冻结一帐户。 &lt;/p&gt;&lt;p&gt;记帐,自动的: 以特定程序自动创建的记帐。例如，它包括：销项税与进项税记帐、汇率差额记帐、贴现支出和收入记帐。每一自动记帐都作为单独的凭证行项目显示。 &lt;/p&gt;&lt;p&gt;损益表: 特定期间内的收入和支出的比较，目的是确立由组织获得的利润及其来源。损益表是年末结算的必需部分。 &lt;/p&gt;&lt;p&gt;获利段调整: 具有支出和收入的获利段（业务部门、利润中心、成本中心等）的借记。这些支出和收入是在支付客户或供应商发票时产生的。这种收入/支出的两种主要形式是贴现额和汇率差额。获利段调整是作为一给定结算日的部分结算操作来进行的。 &lt;/p&gt;&lt;p&gt;应收帐款: 在收到提供的商品或服务时，对收付的要求权。应收款在&amp;#8220;流动资产下&amp;#8221;用进一步的细目显示在资产负债表中，例如，来自商品和服务的应收款和来自合并公司的应收款。 &lt;/p&gt;&lt;p&gt;余项: 表示结算未清项目时产生的任何差额的项目。余项转帐至留有原始未清项目的帐户。 &lt;/p&gt;&lt;p&gt;营业收入科目: 将正常的业务往来营业收入记入其中的科目。 &lt;/p&gt;&lt;p&gt;冲销: 通过向对方科目记帐等值金额来消除一笔记帐。 冲销凭证: 冲销一笔记帐时生成的凭证。 &lt;/p&gt;&lt;p&gt;调节税: 某些国家除销项税之外的记帐税。它由供应商计算，向那些免除销售/购置税的客户征收。供应商向税务局支付该调节税。 &lt;/p&gt;&lt;p&gt;样本帐户: 特殊主记录。通过它可以为总分类帐记录中的公司码特定数据的输入预定义值。还必须定义数据传送规则，这可确定这些值是如何从样本帐户传送的。 &lt;/p&gt;&lt;p&gt;样本凭证: 参考凭证的特殊类型。它的数据可在会计凭证输入屏幕中缺省。与会计凭证不同，样本凭证不更新交易额。它只作为会计凭证的数据来源。 样本主记录: 作为设置其它主记录之输入辅助的主记录样本。 &lt;/p&gt;&lt;p&gt;明细分类帐: 为表示具有客户或供应商的业务往来的分类帐。资产会计核算中的明细分类帐是表示资产值变化的分类帐。 &lt;/p&gt;&lt;p&gt;明细分类帐会计核算: 明细分类帐等级上的会计核算，此分类帐包含的帐户有客户、供应商或资产帐户。在总分类帐中，明细分类帐提供了所有有关记帐到统驭科目中的详情。 &lt;/p&gt;&lt;p&gt;销售/购置税: 进项税和销项税的一般术语。 &lt;/p&gt;&lt;p&gt;代扣所得税: 供应商发票中开票金额部分。在一些国家中，某些供应商必须持有开票金额部分，并且支付给或报告税收机构，不提供用于这些供应商的代扣所得税减免。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/panjun-Donet/aggbug/2305435.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/panjun-Donet/archive/2011/12/28/2305435.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
