﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-学无止境</title><link>http://www.cnblogs.com/zhumk/</link><description>好好学习，天天向上</description><language>zh-cn</language><lastBuildDate>Tue, 18 Nov 2008 14:33:25 GMT</lastBuildDate><pubDate>Tue, 18 Nov 2008 14:33:25 GMT</pubDate><ttl>60</ttl><item><title>如何卸载密码保护的Symantec Endpoint Protection</title><link>http://www.cnblogs.com/zhumk/archive/2008/10/27/1320843.html</link><dc:creator>zhumk</dc:creator><author>zhumk</author><pubDate>Mon, 27 Oct 2008 15:23:00 GMT</pubDate><guid>http://www.cnblogs.com/zhumk/archive/2008/10/27/1320843.html</guid><wfw:comment>http://www.cnblogs.com/zhumk/comments/1320843.html</wfw:comment><comments>http://www.cnblogs.com/zhumk/archive/2008/10/27/1320843.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhumk/comments/commentRss/1320843.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhumk/services/trackbacks/1320843.html</trackback:ping><description><![CDATA[<p>1.添加删除程序，卸载诺顿</p>
<p>2.弹出密码输入框</p>
<p>3.使用任务管理器，结束用户帐号运行的进程MSIEXEC （注意有2个该进程，一个是系统帐号运行的，一个是你当前登录的用户帐号运行的）</p>
<p>4.密码框消失，继续卸载</p>
<p>此方法适用于Norton其他版本的防病毒软件。</p>
<img src ="http://www.cnblogs.com/zhumk/aggbug/1320843.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43598/" target="_blank">[新闻]应用程序架构指导包2.0 Beta 2发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>Event in ABAP report </title><link>http://www.cnblogs.com/zhumk/archive/2008/10/19/1314370.html</link><dc:creator>zhumk</dc:creator><author>zhumk</author><pubDate>Sun, 19 Oct 2008 01:02:00 GMT</pubDate><guid>http://www.cnblogs.com/zhumk/archive/2008/10/19/1314370.html</guid><wfw:comment>http://www.cnblogs.com/zhumk/comments/1314370.html</wfw:comment><comments>http://www.cnblogs.com/zhumk/archive/2008/10/19/1314370.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhumk/comments/commentRss/1314370.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhumk/services/trackbacks/1314370.html</trackback:ping><description><![CDATA[<p>Event in ABAP report determine process flow of a program. The events are triggered depended on the way the output is generated. They begin after event keyword and end when the next event reached.<br />
<br />
Event keyword:<br />
INITIALIZATION.<br />
Occurs when report initialized.<br />
We can use it to check user authorization or prepare output for selection screen.<br />
<br />
<span class="fullpost"><br />
<br />
AT SELECTION-SCREEN OUTPUT : <br />
Occurs each time selection screen about to generated. <br />
We can use it to modify selection screen, for example hide / unhide parameter.<br />
<br />
AT SELECTION-SCREEN.<br />
Occurs each user command in selection screen. we can use it to perform checking on user input.<br />
<br />
START-OF-SELECTION<br />
Occurs after the standard selection screen has been processed.,<br />
data is read in this event.<br />
<br />
END-OF-SELECTION <br />
Occurs after start-of-selection.<br />
<br />
TOP-OF-PAGE<br />
Occurs when a new page starts.<br />
Use it for write report header.<br />
<br />
END-OF-PAGE<br />
Occurs when a page ends.<br />
Use it for write report footer.<br />
<br />
AT LINE-SELECTION<br />
Occurs when the user double-click on report.<br />
<br />
AT USER-COMMAND<br />
Occurs when the user push toolbar button.<br />
<br />
This is program to demonstrate how to use event properly.<br />
<blockquote><br />
REPORT ZAALGAL0008<br />
LINE-COUNT 10(1).<br />
<br />
*http://abap-gallery.blogspot.com<br />
<br />
TABLES: sflight.<br />
<br />
DATA: BEGIN OF t_report OCCURS 3,<br />
carrid LIKE sflight-carrid,<br />
connid LIKE sflight-connid,<br />
END OF t_report.<br />
<br />
*begin selection screen<br />
PARAMETERS p_datum LIKE sy-datum.<br />
PARAMETERS p_check AS CHECKBOX.<br />
*end selection screen<br />
<br />
INITIALIZATION.<br />
*begin initialization<br />
MOVE sy-datum TO p_datum.<br />
*end initialization<br />
<br />
AT SELECTION-SCREEN.<br />
*begin at selection-screen<br />
MESSAGE I888(sabapdocu) WITH 'At selection-screen'.<br />
IF p_check = 'X'.<br />
MESSAGE E888(sabapdocu) WITH 'Clear checkbox'.<br />
ENDIF.<br />
*end at selection-screen<br />
<br />
AT SELECTION-SCREEN OUTPUT.<br />
*begin at selection-screen output<br />
MESSAGE I888(sabapdocu) WITH 'At selection-screen output'.<br />
*end at selection-screen output<br />
<br />
START-OF-SELECTION.<br />
*begin start-of-selection.<br />
MESSAGE I888(sabapdocu) WITH 'start-of-selection'.<br />
SELECT * FROM sflight.<br />
MOVE sflight-carrid TO t_report-carrid.<br />
MOVE sflight-connid TO t_report-connid.<br />
APPEND t_report.<br />
ENDSELECT.<br />
*end start-of-selection.<br />
<br />
END-OF-SELECTION.<br />
*begin end-of-selection.<br />
MESSAGE I888(sabapdocu) WITH 'end-of-selection'.<br />
FORMAT COLOR col_normal.<br />
DO 30 TIMES.<br />
LOOP AT t_report.<br />
WRITE / t_report-carrid.<br />
WRITE t_report-connid.<br />
ENDLOOP.<br />
ENDDO.<br />
*end end-of-selection.<br />
<br />
TOP-OF-PAGE.<br />
FORMAT COLOR col_heading.<br />
WRITE 'This is header'.<br />
<br />
END-OF-PAGE.<br />
FORMAT COLOR col_total.<br />
WRITE 'This is footer'.<br />
<br />
AT LINE-SELECTION.<br />
WRITE: / 'Cursor Row:', sy-curow.<br />
WRITE: / 'Cursor Col:', sy-cucol.<br />
</blockquote>
<p></span>&nbsp;</p>
<p>原文<a href="http://abap-gallery.blogspot.com/2007/08/event-in-abap-report.html">http://abap-gallery.blogspot.com/2007/08/event-in-abap-report.html</a></p>
<img src ="http://www.cnblogs.com/zhumk/aggbug/1314370.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43597/" target="_blank">[新闻]推波助澜 微软推出“I'm a PC”商店</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>How to analyze missing translations / missing texts</title><link>http://www.cnblogs.com/zhumk/archive/2008/07/21/1247722.html</link><dc:creator>zhumk</dc:creator><author>zhumk</author><pubDate>Mon, 21 Jul 2008 07:13:00 GMT</pubDate><guid>http://www.cnblogs.com/zhumk/archive/2008/07/21/1247722.html</guid><wfw:comment>http://www.cnblogs.com/zhumk/comments/1247722.html</wfw:comment><comments>http://www.cnblogs.com/zhumk/archive/2008/07/21/1247722.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhumk/comments/commentRss/1247722.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhumk/services/trackbacks/1247722.html</trackback:ping><description><![CDATA[<div id="artbody">
<p>本篇文章引用自以下网址：http://www.saptechies.com/how-to-analyze-missing-translations-missing-texts/<br />
&nbsp;</p>
<p><strong></strong></p>
<p><strong>Summary</strong></p>
<p urtxtcrit="" style="white-space: nowrap;" ct="TextView"></p>
<p>Texts are not displayed in logon language. It is assumed that the respective translation is missing.</p>
<strong>Other terms</strong><br />
<p>missing translation, missing texts, language transport, smlt, language delivery</p>
<strong>Reason and Prerequisites</strong><br />
<p>SAP products are translated into up to 31 languages.<br />
Additional languages are supported. If a language is supported by SAP, it does not necessarily mean that SAP delivers translations for this particular language for a particular product and / or release.<br />
And even if translations are delivered by SAP there is an difference as to how "broadly" and "deeply" a particular language is translated.<br />
To ensure system stability with regard to texts in different<br />
languages, we recommend that you run language supplementation in client<br />
000 and in the working client (which is different from 000) after<br />
importing languages and after importing Support Packages and / or AddOn<br />
Packages.<br />
Only language EN is a "so called 100% language" where every text<br />
should exist.<br />
So EN is the preferred language for language supplementation.<br />
<br />
Please find further information about supported SAP languages at<br />
http://service.sap.com/globalization<br />
-&gt; Language Information<br />
<br />
This note gives you information on finding the reason for missing texts<br />
in an SAP system and provides a checklist for analyzing the issue and finding a feasible solution.<br />
There are steps which can / should be done by customers themselves.<br />
Other steps should be done by SAP Support.</p>
<strong>Solution</strong><br />
<ol>1. <strong>Language import - correct components? // Customer (and SAP Support)</strong><br />
    Check if the correct language file is imported.</ol>
    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;To check if the correct language file is imported please call transaction SMLT and expand all "language nodes".<br />
    Compare the imported language file with note: 330104<br />
    Please double check table CVERS (using SE16) for software components which are present in your SAP system versus those which are covered by the installed language file.<br />
    Please be aware that it is technically possible to import a language file for SAP NetWeaver (which covers SAP_BASIS,SAP_ABA and SAP_BW) into an SAP ERP or SAP CRM or an SAP SCM system. But this does NOT make any sense because than all "application specific translations" will be missing later on of course. And it is not necessary either because those language files for SAP ERP, SAP CRM, SAP SCM, and SAP SRM already contain the respective SAP NetWeaver texts anyway.<br />
    The texts for DE (German) and EN (English) are in every SAP system by default. Running an extra language import for DE / EN is usually not necessary.</p>
    <ol>2. <strong>Language import - correct sequence? // Customer (and SAP Support)</strong><br />
        Check if the language import has been carried out in the correct sequence concerning import of Support Packages and or further AddOn products.</ol>
        <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Usually the ideal sequence would be:<br />
        - Importing language then<br />
        - (Optionally installing AddOn , then)<br />
        - Applying Support Packages</p>
        <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If this ideal sequence is not used further steps have to be carried out after the language import is done.<br />
        There may be separate language files for AddOns. There is an SAP note for every AddOn which describes if there are separate language files and which languages are translated for the AddOn. If so, then these language files should be imported now.<br />
        On the other hand translations for an AddOn can be part of the AddOn installation / upgrade transport file. These translations have to be extracted from the data file now. The same applies for Support Packages. There the translations are part of the Support Package data file. Note 195442 describes how to extract those texts from Support Package / AddOn data files.</p>
        <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Starting with ERP 2005 (ECC 600) SAP introduced the so called "Switch Framework". So former AddOns became SAP standard and could be switched on or off (default).<br />
        There are texts which where delivered in BC Sets for "switched application parts". After importing an language file using SMLT these texts have to be "unpacked" / distributed from the BC Set tables into the target tables of the "switched application". This can be done using SFW5. See note 876718.</p>
        <ol>3. <strong>Client dependency of texts // Customer (and SAP Support)</strong><br />
            Are the texts missing in Client 000 or an Client other than 000?</ol>
            <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Language import has to be carried out in Client 000.<br />
            Parts of the texts are not client-dependent.<br />
            Other parts of texts are client-dependent.<br />
            Note 2857 describes how the different table classes are handled concerning client data.<br />
            The ideal sequence concerning language import and clients would be:<br />
            - Importing language (including AddOn languages and Support Packages)<br />
            - Doing the client copy<br />
            If the texts are present in Client 000 but are missing in an Client different from 000 there are different tools to bring the texts from client 000 into the Client other than 000.<br />
            <br />
            - RSTLAN_SUPPLEMENT_UNI, described in notes 43853 and 211226<br />
            - Client Maintenance function in SMLT<br />
            - (only valid up to SAP_BASIS 6.10: RSREFILL, described in note 48047)<br />
            &nbsp;</p>
            <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Please keep in mind:<br />
            Data in clients other than 000 are treated as customer data. Existing texts will not be overwritten there. (see Note 2857)</p>
            <ol>4. <strong>Runtime representation of texts // Customer and SAP Support</strong><br />
                The texts are present in Client 000 and Client different from 000 but are not displayed correctly.</ol>
                <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Before texts are displayed, a runtime representation is compiled for them.<br />
                To be sure that the runtime is current please run RSLANG20 as described in note 110910.</p>
                <p><br />
                If you belive that everything is fine up to here but the texts are still missing, then create a problem message for SAP.<br />
                <br />
                In this message please describe as accurately as possible which texts are missing and how to reproduce this in the system. Screen shots will only help in the last phase of analysis to identify the "missing texts" on a particular screen.<br />
                &nbsp;</p>
                <ol>5. <strong>Necessary information for a Problem Message // Customer</strong><br />
                    Helpful information in the customer problem message:</ol>
                    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Please attach a screen shot of the contents of table CVERS of the system. Contents of CVERS can be shown using SE16.</p>
                    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Please attach a screen shot of SMLT which should show all imported language packages for the language where the texts are missing.</p>
                    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Please provide logon data.</p>
                    <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Please put the message onto the application queue where the missing texts are probably located.<br />
                    Ask the application experts to clarify where the missing texts should technically come from / where they are stored / which technical objects they belong to.<br />
                    Ideally, the following information is required:<br />
                    - the transport object,<br />
                    - the software package and<br />
                    - the software component for which the texts are missing.</p>
                    <ol>6. <strong>Finding the Root Cause // SAP Support - Application Support</strong><br />
                        Please locate the development objects, table entries, programs, DYNPROs and so on where the translations are missing and the customer is complaining about.<br />
                        It is nearly impossible for SAP translation department (XX-TRANSL-&lt;ISO&gt;), "Language Transport Tool Queue" (BC-CTS-LAN) and "Translation Tool Queue" (BC-DOC-TTL) to do the detailed analysis for finding the texts which should have been translated if every before mentioned step did not help to find the reason for missing translations.<br />
                        These people are not familiar with the application itself and need the following information to proceed further:<br />
                        Ideally, the following information is required:<br />
                        - the transport object,<br />
                        - the software package and<br />
                        - the software component for which the texts are missing.<br />
                        - table where the "missing texts" are stored<br />
                        - table key for missing texts<br />
                        If this information is available, please include it in the customer's message and forward it to XX-TRANSL-&lt;ISO&gt;, where &lt;ISO&gt; is the ISO language sign for the language in which the translations are missing.</ol>
                        </div><img src ="http://www.cnblogs.com/zhumk/aggbug/1247722.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43596/" target="_blank">[新闻]火狐中国版正式发布</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>HOWTO:Implement a screen exit to a standard SAP transaction</title><link>http://www.cnblogs.com/zhumk/archive/2006/09/04/494188.html</link><dc:creator>zhumk</dc:creator><author>zhumk</author><pubDate>Mon, 04 Sep 2006 03:53:00 GMT</pubDate><guid>http://www.cnblogs.com/zhumk/archive/2006/09/04/494188.html</guid><wfw:comment>http://www.cnblogs.com/zhumk/comments/494188.html</wfw:comment><comments>http://www.cnblogs.com/zhumk/archive/2006/09/04/494188.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhumk/comments/commentRss/494188.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhumk/services/trackbacks/494188.html</trackback:ping><description><![CDATA[<h2><a href="http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction#Find_out_the_Required_Enhancements">http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction#Find_out_the_Required_Enhancements</a></h2>
<h2>Introduction</h2>
<p>SAP provides standard transactions to enter data into database. But a client may want to maintain some additional information in SAP other than what is provided. </p>
<p>To make provisions for this, additional screens have to be provided and additional fields must be added into appropriate database table. </p>
<p><br>To pave way for this, SAP has provided the option for screen exits. Usually, SAP provides the following: </p>
<ol>
    <li>An append structure in the database table with the new fields.
    <li>A subscreen area into the standard screen &#8211; where the programmer can attach his subscreen of his own program with the new fields.
    <li>A function group under which the new subscreen has to be created with the new fields.
    <li>Function exits to synchronize the PBO and PAI of the standard SAP program with the PBO and PAI of the subscreen &#8211; so that data can flow back and forth between the standard SAP program and the program written by the <a class=iAs style="PADDING-BOTTOM: 1px; COLOR: darkgreen; BORDER-BOTTOM: darkgreen 0.07em solid; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" href="http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction#" target=_blank itxtdid="2332066">developer</a> for the subscreen. These function modules also exist in the same function group under which the subscreen will have to be developed. </li>
</ol>
<p>Finally, a linkage has to be done between the subscreen area of standard SAP screen with the custom subscreen constructed by the developer. </p>
<p>Typically, SAP provides an enhancement in which the developer can create an append structure, use the function exits to synchronize the PBO and PAI of the standard SAP program and the custom subscreen program, and make the necessary linking( as mentioned above in step 4. But, again, this is not a hard and fast rule. Linking in some case, is also done by configurations.) SAP also usually provides the name of the function group under which the subscreen has to be developed. </p>
<p>Necessary guidance about implementing a screen exit development is usually available in the Documentation section of the enhancement ( can be availed by transaction SMOD). </p>
<h3>Pre-Requisites</h3>
<p>The developer to work on screen exit should have essential knowledge on the following: </p>
<ul>
    <li>DDIC concepts, including the knowledge of append structure.
    <li>Concept of SAP Enhancements and implementing them using Projects.
    <li>Concept of function exits.
    <li>Knowledge on Module Pool &#8211; including subscreens, Tabstrip controls etc. </li>
</ul>
<h2>Steps</h2>
<h3>Guidelines</h3>
<p>So, a developer can follow the guidelines mentioned below to implement a screen exit to a standard SAP transaction, as and when required: </p>
<h4>Find out the Required Enhancements</h4>
<ol>
    <li>Go to SMOD. Press F4 in the Enhancement field. In the next popup window, click pushbutton &#8216;SAP Applications&#8217;. A list will appear that contains information on all the enhancements, categorized under functional areas. Developer must search for the enhancements relevant to his functional area of interest &#8211; for e.g., Purchasing, Asset Accounting, etc.
    <li>Note down the enhancements. Then, come to the initial screen of SMOD and view the documentation of each enhancement to find out which one is required for your development. </li>
</ol>
<h4>Utilize the Enhancement in a Project</h4>
<p>After you have found one, do as directed in the documentation. Generally, the steps are as follows: </p>
<ol>
    <li>Create a project using CMOD including your enhancement.
    <li>Create the append structure with new fields.
    <li>Go to the desired function group and create a subscreen with the new fields. Write PBO and PAI for the subscreen, if required.
    <li>Use the function exits in the enhancement to link the PBO and PAI of the subscreen with that of the main SAP program supporting the SAP transaction.
    <li>Maintain necessary linkage between the subscreen area of standard SAP program with the custom subscreen developed along with the custom program name. This can be done in the project (developed by CMOD including the enhancement) or outside as a part of configuration.
    <li>Activate the project.
    <li>Test to ensure that required functionality are met. </li>
</ol>
<h3>Case Study 1</h3>
<p>Add three new custom fields for Asset master and maintain information for them </p>
<h4>Requirement</h4>
<p>Three fields in the legacy system have to be maintained in Asset master. These fields are: </p>
<ol>
    <li>Original Asset number &#8211; 20 characters
    <li>Location 2 &#8211; 15 Characters.
    <li>Model no &#8211; 20 characters </li>
</ol>
<p>Location 2 should start with &#8216;L&#8217;. </p>
<h4>Pre-Analysis</h4>
<h5>Finding out the Enhancement</h5>
<p>As described above, the enhancement is determined. It was found, that enhancement AIST0002 will serve the purpose. It contains the following components (can be viewed by transaction SMOD): </p>
<p>Exit Type Description EXIT_SAPL1022_001 Function Exit Check of User-Defined Fields when Using Create and Change BAPI EXIT_SAPLAIST_002 Function Exit Transfer Data for User Subscreens in PBO. EXIT_SAPLAIST_003 Function Exit Transfer of User-Defined Fields to SAP Master Data Transactions CI_ANLU Customizing Include Include structure to add new fields </p>
<h5>Studying the Function Exits</h5>
<p>The function module level documentation for the function exits are then viewed from transaction SE37. The documentation clearly laid out the purpose for their use: </p>
<p>EXIT_SAPLAIST_002 </p>
<h6>Function module Level Documentation</h6>
<p>This function module is called by asset master data maintenance at the start of the dialog. (When changing, it is called after reading of the data from the database; when creating it is called after the transfer of the default values from the asset class and reference asset.) The purpose of the function module is to enable this function group to recognize the master data. For interpreting or controlling master data fields that are important for user fields, it is possible to transfer to global variables at this point, so that they can be recognized when the user subscreens are processed. </p>
<h6>Import Parameters</h6>
<p><b>Understanding</b> </p>
<p>This function module is called at the PBO to pass the information retrieved from the database to pass them to the custom subscreen and its underlying program. Import parameter&nbsp;: I_ANLU will be populated with the values for user-defined fields which will be passed to the subscreen program. So, there must be some sort of variable assignment from I_ANLU. </p>
<p>EXIT_SAPLAIST_003 </p>
<p>Function module Documentation: This function module is called by SAP asset master data maintenance after the screens are processed, but before saving. The purpose of the function module is to transfer fields entered on user sub-screens of SAP asset data maintenance to the database for updating. The export parameter for this function module is: </p>
<p><b>Understanding</b> </p>
<p>This function module will be used to transfer the user entered data in the subscreen fields to the main SAP program, which will then be saved into the database. </p>
<h5>Studying the Documentation of the Enhancement</h5>
<p>The enhancement documentation (as is viewed from the initial screen of SMOD] also supports the idea. Moreover, it informs that we need to develop a subscreen under function group XAIS. This is the function group under which the two function exit modules also exist. So, if the custom subscreen refers to the global data of the function group XAIS, then those values will also be available to these function exits as well. </p>
<p>Going to SE80 and viewing the function group XAIS helps us to inform that there are three DDIC tables declared for it: </p>
<h5>Deciding the Final course of Action</h5>
<p>After making all the investigations, the final course of action was determined. </p>
<p>SrlNo Step Justification </p>
<ol>
    <li>A project has to be created using transaction CMOD where the enhancement AIST0002 will be included.
    <li>Customizing include CI_ANLU has to be created with the custom fields demanded When CI_ANLU will be developed, the custom fields will get appended to the database table ANLU. Also, these fields will be used to create screen fields in the new subscreen.
    <li>A custom subscreen, say, 9000 will be developed under function group XAIS. The screen group for the screen will be &#8216;CUST&#8217; (or any name). The three custom fields added to table ANLU (by creating CI_ANLU) will be used to create new fields in the screen. </li>
</ol>
<p>In the PAI of the subscreen, validation for Location to start with &#8216;L&#8217; will be added. The subscreen with three new fields has to be developed so that it can be attached to a subscreen area of the asset master screens. </p>
<ol>
    <li>In the custom include of the function exit module &#8216;EXIT_SAPLAIST_002&#8217;, the following code will be written:- </li>
</ol>
<p>ANLU = I_ANLU. I_ANLU is the import parameter of this FM. The value is assigned to the global variable ANLU, referring which the three new subscreen fields are developed. So, data retrieved from database table ANLU will be passed to this FM as I_ANLU by the standard SAP main program. The value will be taken and passed to the global variable of the function group XAIS, so that the three custom fields (referring to ANLU of XAIS) get populated. </p>
<ol>
    <li>In the custom include of the function exit module &#8216;EXIT_SAPLAIST_003&#8217;, the following code will be written:- </li>
</ol>
<p>E_ANLU = ANLU. The changed values in the subscreen fields exist in global variable ANLU for the function group XAIS. This function exit module will pass the data back to the SAP main program as E_ANLU. </p>
<ol>
    <li>Proper linkage/configuration has to be done so that the new subscreens get linked to the appropriate subscreen area of the Asset master screen. This has to be done &#8211; otherwise, the new custom subscreen will not be displayed in the Asset master screens. </li>
</ol>
<h4>Development</h4>
<h5>Creating a Project to include the enhancement</h5>
<ol>
    <li>Go to transaction CMOD and create a project.
    <li>Enter a description for the project. Then, click on the pushbutton &#8216;Enhancement Assignments&#8217; in the Application Toolbar.
    <li>Enter the name of the enhancement and Save.
    <li>Go to &#8216;Components&#8217;. </li>
</ol>
<h5>Creating Custom Include for ANLU</h5>
<p>The screen shown below will appear, showing all the enhancement components under the assignment AIST0002. Double-click on the name of the Include Structure to create it. </p>
<p>Create the include structure with three new fields, as required. Then, save and activate it. </p>
<h5>Develop the subscreen and the program</h5>
<p>Go to transaction SE80. For the function group XAIS, create a new subscreen 9000. </p>
<p>Create it as subscreen. </p>
<p>Then, go to the Layout of the screen and create three new fields from Database table ANLU. </p>
<p>Drag the fields in the screen body and place them. </p>
<p>Then, save and activate the screen and come back to screen flow editor. </p>
<p>Create the PAI module to add validation for field &#8220;Location 2&#8221;, as required . </p>
<p>Activate the whole function group and come out. </p>
<h5>Write code in the Function Exits to synchronize the programs</h5>
<p>Now, code has to be written in the function modules EXIT_SAPLAIST_002 and EXIT_SAPLAIST_003 so that data flows to and fro between the main SAP program and custom subscreen program. For that, go back to transaction CMOD and change the function exits. </p>
<p>Write code in the function module EXIT_SAPLAIST_002 called once at the beginning of the transaction: </p>
<p>Write code in EXIT_SAPLAIST_003 to pass the data from the subscreen to SAP main program. </p>
<p>Then, activate everything &#8211; the whole project and come out. </p>
<h4>Complete the configuration to link the subscreen</h4>
<p>The development portion is complete. Now, linking of the subscreen has to be done with the subscreen area of the main program. In most of the cases, this linking can be done in the enhancement itself. But, here, requirement is a bit different. It is done by configuration using SPRO. </p>
<p>Assets are created under Asset class. And for each asset class, there is a layout assigned to it. For a layout, there are multiple tab pages assigned to it. And, for each tab page, there are multiple screen groups/field groups assigned. </p>
<p>Here, the requirement is to create these three custom fields in the tab page &#8216;General&#8217; of asset master screen ( AS01/AS02/AS03/AS91). </p>
<h5>Determine the Layout</h5>
<p>To achieve this, first of all, we need to find out which layout is assigned to asset class 1000.For that, go to transaction AOLK( information has to be obtained from functional consultant).Select the Asset Class &#8216;1000&#8217; and click on folder &#8216;General Assignment of Layout&#8217;. </p>
<p>Here, for Asset class 1000, for all the user groups, tab layout SAP is assigned. Since layout &#8216;SAP&#8217; cannot be changed, it has to be copied and manipulated to include our screen group. Later, the new layout has to be assigned over here. </p>
<h5>Create new tab layout</h5>
<p>Go to transaction AOLA. Copy the tab layout &#8216;SAP&#8217; to create another layout, say, YSUB. </p>
<p>System will copy all the settings and will inform you about that. </p>
<p>Select your newly created layout and double-click on the folder &#8216;Tab page titles&#8217;. </p>
<p>You want to put your custom fields in the tab page &#8220;General&#8221;. So, select this tab page entry and double-click on the folder "Position of Groups". </p>
<p>Here, all the field groups currently residing in the tab-page &#8220;General&#8221; are shown. Add an entry for your newly created fields. </p>
<p>Select the group box from the list. An entry will come with &#8220;U&#8221; padded with the custom subscreen prepared by you. </p>
<p>Then, save and come out. </p>
<h5>Assign the new Layout to Asset Class</h5>
<p>Now, go to tcode AOLK and assign tab layout YSUB for asset class 1000. </p>
<p>Save and come out. </p>
<h5>Test the Exit</h5>
<p>Everything is over. Now, go to transaction code AS01/02/03 or AS91 to deal with an asset of asset class 1000. You will see your new fields added to the screen. Add values to them&#8230;save. Then, enter into the tcodes again to see whether the values entered by you are being displayed or not. </p>
<h2>Examples</h2>
<p>date </p>
<img src ="http://www.cnblogs.com/zhumk/aggbug/494188.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43595/" target="_blank">[新闻]微软：中国移动全球率先使用IE Mobile 6</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ABAP:How to Find Bapi for Particular Transaction in SAP </title><link>http://www.cnblogs.com/zhumk/archive/2006/08/10/473377.html</link><dc:creator>zhumk</dc:creator><author>zhumk</author><pubDate>Thu, 10 Aug 2006 07:18:00 GMT</pubDate><guid>http://www.cnblogs.com/zhumk/archive/2006/08/10/473377.html</guid><wfw:comment>http://www.cnblogs.com/zhumk/comments/473377.html</wfw:comment><comments>http://www.cnblogs.com/zhumk/archive/2006/08/10/473377.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhumk/comments/commentRss/473377.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhumk/services/trackbacks/473377.html</trackback:ping><description><![CDATA[How to find function module or Bapi for particular transaction in sap? <br><br>If you mean that you need to know what BAPI's a particular tranx uses, which I can only assume that's what you mean, then you should access the code behind the transaction and search for 'CALL'. That normally is the standard method that think that most people use. &nbsp;<br><br>Suppose you want to find the bapi for creating a sales order, you usually use transaction VA01 for this. &nbsp;<br><br>1. Find out the package of the transaction. &nbsp;<br>Start Va01 go to system --&gt; status. &nbsp;<br>Double click on transaction &nbsp;<br>Package is VA &nbsp;<br>Open this package in SE80 &nbsp;<br>Open business engineering--&gt;Business object types &nbsp;<br>Find the BO which sounds the most appropriate &nbsp;<br>I would suggest BUS2032 Sales Order &nbsp;<br>Double click. &nbsp;<br>Open methods. &nbsp;<br>Find the released method with from data or something similar in the name &nbsp;<br>, Createfromdat2 &nbsp;<br>Position the cursor in it and click the program button &nbsp;<br>Scroll down to find the bapi used in this method &nbsp;<br><br>With this way you can also find out programs and FM's &nbsp;<br><br>2. Start va01 go to system--&gt;status &nbsp;<br>Double click transaction VA01 &nbsp;<br>Double click on package &nbsp;<br>Read the application component. (this is SD-SLS Sales) &nbsp;<br>Then open the transaction BAPI &nbsp;<br>Sales and distribution--&gt;Sales--&gt;sales order &nbsp;<br>createfromdat2 &nbsp; <img src ="http://www.cnblogs.com/zhumk/aggbug/473377.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43594/" target="_blank">[新闻]消息汇总:迅雷人事变动 员工与公关部说法大相径庭</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ABAP:FTP Using SAP Functions</title><link>http://www.cnblogs.com/zhumk/archive/2006/02/27/338987.html</link><dc:creator>zhumk</dc:creator><author>zhumk</author><pubDate>Mon, 27 Feb 2006 09:45:00 GMT</pubDate><guid>http://www.cnblogs.com/zhumk/archive/2006/02/27/338987.html</guid><wfw:comment>http://www.cnblogs.com/zhumk/comments/338987.html</wfw:comment><comments>http://www.cnblogs.com/zhumk/archive/2006/02/27/338987.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhumk/comments/commentRss/338987.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhumk/services/trackbacks/338987.html</trackback:ping><description><![CDATA[本文示例如何使用SAP FTP Function将文件从应用服务器传输到另外一个FTP服务器上。<br><br>DATA: BEGIN OF ig_ftp_result OCCURS 0,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; line(100),<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; END OF ig_ftp_result.<br><br>DATA: l_path(128)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE c.&nbsp; "文件路径,必须以/结尾<br>DATA: l_filename(128)&nbsp;&nbsp; TYPE c.&nbsp; "文件名<br>DATA: l_ftpcommand(100) TYPE c.&nbsp; "FTP命令<br>DATA: l_handle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE i. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "HAND<br>"源路径，必须以/结尾<br>DATA: cons_source(128) TYPE c . " VALUE '/usr/sap/SY-SYSID/SYS/src/'.<br>DATA:&nbsp; cons_dens LIKE zftpt-zpath.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "目标路径<br><br>CONSTANTS cons_key TYPE i&nbsp; VALUE 26101957.<br><br>*// INITIALIZATION<br>INITIALIZATION.<br>*服务器上下载文件的路径<br>&nbsp; CONCATENATE '/usr/sap/' sy-sysid '/SYS/src/' INTO cons_source.<br><br>*// START OF SELECTION<br>START-OF-SELECTION.<br>&nbsp; PERFORM frm_ftp_file.<br><br><br>FORM frm_ftp_file .<br>&nbsp; DATA:<br>&nbsp;&nbsp;&nbsp; l_dstlen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE i,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "DESTINATION LEN<br>&nbsp;&nbsp;&nbsp; l_pw(64)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TYPE c.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "密码<br><br>* 连接FTP服务器<br>&nbsp; l_pw = 'password'.<br><br>*-- FTP_CONNECT requires an encrypted password to work
<br>*&nbsp;&nbsp; CREATE THE NEW PW BASE ON LOGIN FTP PASS WORD.<br>&nbsp; CALL 'AB_RFC_X_SCRAMBLE_STRING'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "PASS WORD BUILD FUNCTION<br>&nbsp;&nbsp;&nbsp; ID 'SOURCE'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FIELD l_pw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "PASS WORD<br>&nbsp;&nbsp;&nbsp; ID 'KEY'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FIELD cons_key&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "THE KEY TO CREATE NEW PW<br>&nbsp;&nbsp;&nbsp; ID 'SCR'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FIELD 'X'<br>&nbsp;&nbsp;&nbsp; ID 'DESTINATION' FIELD l_pw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "PASS WORD<br>&nbsp;&nbsp;&nbsp; ID 'DSTLEN'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FIELD l_dstlen.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "NEW PASS WORD LEN<br><br>&nbsp; DO 3 TIMES.<br>*&nbsp;&nbsp; OPEN THE FTP SERVER.<br>&nbsp;&nbsp;&nbsp; CALL FUNCTION 'FTP_CONNECT'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXPORTING<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; user&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 'username' &nbsp; "USER<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; password&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = l_pw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "PASS WORD<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; host&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = '192.168.1.10' &nbsp; <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rfc_destination = 'SAPFTPA'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "DEFAULT<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IMPORTING<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = l_handle<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXCEPTIONS<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; not_connected&nbsp;&nbsp; = 1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 2.<br><br>&nbsp;&nbsp;&nbsp; IF sy-subrc = 0.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXIT.<br>&nbsp;&nbsp;&nbsp; ENDIF.<br><br>&nbsp; ENDDO.<br><br>&nbsp; IF sy-subrc &lt;&gt; 0.<br>&nbsp;&nbsp;&nbsp; WRITE :/ sy-datum, sy-uzeit, sy-uname,&nbsp; 'CONNECT FTP FAILED!'.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "MESSAGEG<br>&nbsp;&nbsp;&nbsp; STOP.<br>&nbsp; ENDIF.<br><br><br>* Change local directory<br>&nbsp; CLEAR l_ftpcommand.<br>&nbsp; CONCATENATE 'lcd' cons_source INTO l_ftpcommand SEPARATED BY space.<br>&nbsp; PERFORM frm_ftp_command USING l_ftpcommand pr_return.<br>&nbsp; IF pr_return = '1'.<br>&nbsp;&nbsp;&nbsp; WRITE:/ sy-datum, sy-uzeit, sy-uname,&nbsp; 'FTP改变本地路径错误!'.<br>&nbsp;&nbsp;&nbsp; STOP.<br>&nbsp; ENDIF.<br><br>* Change ftp directory<br>&nbsp; IF cons_dens &lt;&gt; ''.<br>&nbsp;&nbsp;&nbsp; CLEAR l_ftpcommand.<br>&nbsp;&nbsp;&nbsp; CONCATENATE 'cd' cons_dens INTO l_ftpcommand SEPARATED BY space.<br>&nbsp;&nbsp;&nbsp; PERFORM frm_ftp_command USING l_ftpcommand pr_return.<br>&nbsp;&nbsp;&nbsp; IF pr_return = '1'.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; WRITE:/ sy-datum, sy-uzeit, sy-uname,&nbsp; '改变FTP路径出现错误!'.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; STOP.<br>&nbsp;&nbsp;&nbsp; ENDIF.<br>&nbsp; ENDIF.<br><br>* Change TRANSFER MODE<br>&nbsp; CLEAR l_ftpcommand.<br>*&nbsp; l_ftpcommand = 'binary'.<br>&nbsp; l_ftpcommand = 'ascii'.<br>&nbsp; PERFORM frm_ftp_command USING l_ftpcommand pr_return.<br>&nbsp; IF pr_return = '1'.<br>&nbsp;&nbsp;&nbsp; WRITE:/ sy-datum, sy-uzeit, sy-uname,&nbsp; '改变FTP传输模式出现错误!'.<br>&nbsp;&nbsp;&nbsp; STOP.<br>&nbsp; ENDIF.<br><br>* Put File into FTP SERVER<br>&nbsp; CLEAR l_ftpcommand.<br>&nbsp; CONCATENATE 'put'&nbsp; l_filename INTO l_ftpcommand SEPARATED BY space.<br>&nbsp; PERFORM frm_ftp_command USING l_ftpcommand pr_return.<br>&nbsp; IF pr_return = '1'.<br>&nbsp;&nbsp;&nbsp; WRITE:/ sy-datum, sy-uzeit, sy-uname,&nbsp; '文件传输中出现错误!'.<br>&nbsp;&nbsp;&nbsp; STOP.<br>&nbsp; ENDIF.<br><br>*&nbsp; 断开FTP服务器<br>&nbsp; CALL FUNCTION 'FTP_DISCONNECT'<br>&nbsp;&nbsp;&nbsp; EXPORTING<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handle = l_handle.<br><br>&nbsp; WRITE:/ sy-datum, sy-uzeit, sy-uname,&nbsp; '文件传输成功!'.<br><br>ENDFORM.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " FRM_FTP_FILE<br><br>************************************************************************<br>*&amp; FORM FRM_FTP_COMMAND&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *<br>************************************************************************<br>*&amp; FTP Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *<br>************************************************************************<br>FORM frm_ftp_command USING pr_command pr_ret.<br>&nbsp; CALL FUNCTION 'FTP_COMMAND'<br>&nbsp;&nbsp;&nbsp; EXPORTING<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handle&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = l_handle<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = pr_command<br>*&nbsp;&nbsp;&nbsp;&nbsp; COMPRESS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =<br>*&nbsp;&nbsp;&nbsp;&nbsp; RFC_DESTINATION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =<br>*&nbsp;&nbsp;&nbsp;&nbsp; VERIFY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =<br>*&nbsp;&nbsp; IMPORTING<br>*&nbsp;&nbsp;&nbsp;&nbsp; FILESIZE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =<br>*&nbsp;&nbsp;&nbsp;&nbsp; FILEDATE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =<br>*&nbsp;&nbsp;&nbsp;&nbsp; FILETIME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =<br>&nbsp;&nbsp;&nbsp; TABLES<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; data&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = ig_ftp_result<br>&nbsp;&nbsp; EXCEPTIONS<br>&nbsp;&nbsp;&nbsp;&nbsp; tcpip_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 1<br>&nbsp;&nbsp;&nbsp;&nbsp; command_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 2<br>&nbsp;&nbsp;&nbsp;&nbsp; data_error&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 3<br>&nbsp;&nbsp;&nbsp;&nbsp; OTHERS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 4<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .<br><br>* Disconnect<br>&nbsp; IF sy-subrc &lt;&gt; 0.<br>&nbsp;&nbsp;&nbsp; pr_ret = '1'.<br>&nbsp;&nbsp;&nbsp; CALL FUNCTION 'FTP_DISCONNECT'<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EXPORTING<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handle = l_handle.<br>&nbsp;&nbsp;&nbsp; EXIT.<br>&nbsp; ENDIF.<br><br>ENDFORM.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "FRM_FTP_COMMAND<br><br>

 <img src ="http://www.cnblogs.com/zhumk/aggbug/338987.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43592/" target="_blank">[新闻]Google iPhone语音识别程序已经上线</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ABAP:SAP And SAP Links</title><link>http://www.cnblogs.com/zhumk/archive/2006/02/27/338923.html</link><dc:creator>zhumk</dc:creator><author>zhumk</author><pubDate>Mon, 27 Feb 2006 08:31:00 GMT</pubDate><guid>http://www.cnblogs.com/zhumk/archive/2006/02/27/338923.html</guid><wfw:comment>http://www.cnblogs.com/zhumk/comments/338923.html</wfw:comment><comments>http://www.cnblogs.com/zhumk/archive/2006/02/27/338923.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhumk/comments/commentRss/338923.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhumk/services/trackbacks/338923.html</trackback:ping><description><![CDATA[本人接触SAP时间也较短，而且只是从ABAP编程开始，对于功能部分和SAP系统部分只是&#8220;七窍通了六窍&#8221;，我在开发方面的文章都是自己在实际工作中使用到的一些技术点。还有本人也很少光顾自己的Blog，因此有一些同行新手提出的问题未能及时发现看到（其实即使看到了也基本上回答不了<img src="http://www.cnblogs.com/Emoticons/emembarrassed.gif" align="absmiddle" border="0">），因此赶紧搜罗了一些相关站点，希望能够对大家有些帮助。<br><br>最强推荐<br><a target="_blank" href="http://sap.ionelburlacu.ro/abap/sap2/index.html">http://sap.ionelburlacu.ro/abap/sap2/index.html</a><br><br>下面的链接都是从上面这个网站直接Copy而来<br><table><tbody><tr valign="top"><td colspan="2"><a href="http://www.abap-cafe.com/"><b>ABAP Cafe</b></a>
        - 
        is an excellent resource, with a lot of source code to download.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="ABAP_Central"></a><a href="http://www.sapwired.com/ABAPCentral/"><b>ABAP Central</b></a>
        - 
        has some good info, and some really good links (it links to this site among others). ABAP Central has been recently
      updated, and now contains alot of useful code examples.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="ABAP_Development_Code_Efficiencies"></a><a href="http://www.geocities.com/Tokyo/Flats/6338/abapp.html"><b>ABAP Development Code Efficiencies</b></a>
        - 
        has many good examples of how to code ABAP properly, and efficiently. A good
      read.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="ABAP_4_Samples"></a><a href="http://www.mne.ksu.edu/%7Eholland/sap/abap/"><b>ABAP/4 Samples</b></a>
        - 
        A collection of ABAP reports written by Imre Kabai and Benny G. Sorensen.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="ABAP_Source_Code"></a><a href="http://www.ccnet.com/%7Egmauger/pgsapex.htm"><b>ABAP Source Code</b></a>
        - 
        has a number of sample reports that look interesting.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="BasisGuru.com"></a><a href="http://www.basisguru.com/"><b>BasisGuru.com</b></a>
        - 
        is a site that has some useful ABAPs in the Utilities section, and some useful FAQs.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="Bence_Toth's_Website"></a><a href="http://www.geocities.com/ResearchTriangle/1635/"><b>Bence Toth's Website</b></a>
        - 
        has sample ABAP programs, and is a good overall resource.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="CT_Software"></a><a href="http://www.ct-software.com/reports1.htm"><b>CT Software</b></a>
        - 
        offers several free reports. They may be of some use. Or maybe not...</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="Foro_de_Discussion_ABAP"></a><a href="http://members.es.tripod.de/abap4/"><b>Foro de Discussion ABAP</b></a>
        - 
        A Spanish language ABAP web site.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="Globe_Data"></a><a href="http://www.globedata.com/SAP/sap_internet.htm"><b>Globe Data</b></a>
        - 
        has a useful overview of using SAP and the internet.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="IntelligentERP"></a><a href="http://www.intelligenterp.com/"><b>IntelligentERP</b></a>
        - 
        has some good articles on various aspects of ABAP. They can be found in <a href="http://www.intelligenterp.com/feature/archive/index.shtml">Archived SAP ArticlesArchived SAP Articles</a>, and <a href="http://www.intelligenterp.com/columns/archive/index.shtml">Archived SAP COLUMNSArchived SAP COLUMNS</a>
</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="Logos_Informatic_"></a><a href="http://idocs.de/"><b>Logos Informatic </b></a>
        - 
        have some interesting papers on EDI, SAPScript, ALE, and WebRFCs.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="Object-Oriented_Language__ABAP_Objects"></a><a href="http://mini.net/cetus/oo_abap_objects.html"><b>Object-Oriented Language: ABAP Objects</b></a>
        - 
        Contains some good papers on ABAP Objects, the object oriented extension of
      ABAP/4</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="OSS_website"></a><a href="http://sapnet.sap-ag.de/"><b>OSS website</b></a>
        - 
        Access all of your favourite OSS content via the web. Requires an OSS userid.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="Popeys_Place"></a><a href="http://www.popey.com/"><b>Popeys Place</b></a>
        - 
        has technical tips, how to's, downloadable code, links, and more.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="Primestaff"></a><a href="http://www.primestaff.net/sapsearch.htm"><b>Primestaff</b></a>
        - 
        is offering a search service for archives of the SAP-R3-L mailing list.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP101"></a><a href="http://www.burleehost.net/FUNLETS/SAP101/INDEX.ASP"><b>SAP101</b></a>
        - 
        A good collection of information. Has useful tables, programs, and more. Has more of a BASIS
      slant.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP_and_ABAP_Goodies"></a><a href="http://members.aol.com/_ht_a/skarkada/sap/index.htm"><b>SAP and ABAP Goodies</b></a>
        - 
        has a collection of interesting (and useful) program examples.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP_Assist"></a><a href="http://sapassist.com/"><b>SAP Assist</b></a>
- has a site with a lot of information, some specifically for
developers. This includes links to relavant sites, and forums to
ask/answer questions. Also has a good selection of general SAP news.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP_Fans_Website"></a><a href="http://www.sapfans.com/"><b>SAP Fans Website</b></a>
        - 
        A good source for a general overview of SAP. Also contains a number of links. Some are useful, others are not so
      good.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP_Help_Files"></a><a href="http://help.sap.com/"><b>SAP Help Files</b></a>
        - 
        An SAP site that has most of the 4.0 helpfiles and printfiles online.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP_Labs_Website"></a><a href="http://www.saplabs.com/"><b>SAP Labs Website</b></a>
        - 
        This website has some useful downloads, plus links to the SAP Simplification Site</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP_Materials_web_site"></a><a href="http://members.xoom.com/pmvsr"><b>SAP Materials web site</b></a>
        - 
        A collection of technical documents related to ABAP, ABAP Query, ALE/BAPI and Basis.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP_Professionals_Home_Page"></a><a href="http://www.davatz.ch/"><b>SAP Professionals Home Page</b></a>
        - 
        has an excellent collection of SAP related links, and several other documents that have been handy to
      me.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP_R_3-ABAP4"></a><a href="http://users.cybercity.dk/%7Eccc29169/sapuk.html"><b>SAP R/3-ABAP4</b></a>
        - 
        This site has a great windows help file of ABAP tips, check out the ABAP Hints and Tips
      section.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP-R3-L_Archive"></a><a href="http://www.cpub.com/archives/searcharchives.asp?sc=/saplist_records"><b>SAP-R3-L Archive</b></a>
        - 
        Search the SAP-R3-L mailing list archive, very useful for finding answers to
      obscure problems.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP_Services_and_Pointers"></a><a href="http://www.brabandt.de/html/sap_and_r_3.html"><b>SAP Services and Pointers</b></a>
        - 
        has many good articles related to SAP and ABAP, as well as some excellent reference
      material.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAP_Simplification_Site"></a><a href="http://207.105.30.51/simpweb/index.html"><b>SAP Simplification Site</b></a>
        - 
        Good site with some excellent documentation on Data loads, Report Writing, and SAPScript.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SAPStuff"></a><a href="http://www.sapstuff.com/"><b>SAPStuff</b></a>
        - 
        Like the name says, lots of stuff about SAP. Has a focus on BASIS and ABAP.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="SearchSap"></a><a href="http://www.searchsap.com/"><b>SearchSap</b></a>
        - 
        They gave me a link, so I will give them one back.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="Subba_Rao's_SAP_Material_Site"></a><a href="http://www.sappoint.com/"><b>Subba Rao's SAP Material Site</b></a>
        - 
        This site has a lot of documents on ABAP and technical aspects of SAP.</td>
</tr>

    
<tr valign="top">
<td colspan="2"><a name="Wolfgang's_ABAP_Home"></a><a href="http://www.antarcon.de/"><b>Wolfgang's ABAP Home</b></a>
        - 
        is the best ABAP site that I have come across in my web wanderings.</td>
</tr>
    
<tr valign="top">
<td colspan="2"><a name="Henriks_ABAP_Page"></a><a href="http://www.geocities.com/henriks_abappage"><b>Henriks ABAP Page</b></a>
        - 
        A useful page with good info on ABAP Objects, examples of using EnjoySAP controls, and more.</td>
</tr>
    
<tr valign="top">
<td colspan="2"><a name="ABAP_Objects"></a><a href="http://www.ciudadfutura.com/sap/sap/info/abap_objects/"><b>ABAP Objects</b></a>
        - 
        Another site with good info on ABAP Objects</td>
</tr>
     
<tr valign="top">
<td colspan="2"><a name="Introduction_to_Object_Orientation"></a><a href="http://www.wisgurd.de/index3.html"><b>Introduction to Object Orientation</b></a>
        - 
        An Introduction to ABAP Objects</td>
</tr>
     
<tr valign="top">
<td colspan="2"><img alt="New Item" src="http://sap.ionelburlacu.ro/abap/sap2/graphics/new.gif" height="35" width="35"><a name="SAP_Hints_and_Tips_on_Configuration_and_Abap_4"></a><a href="http://sapr3.tripod.com/"><b>SAP Hints and Tips on Configuration and Abap/4</b></a>
- Configuration modules are Material Management, Production Planning,
Sales/Distribution, Financial, Controlling and Basis Components.</td></tr></tbody></table><br>

 <img src ="http://www.cnblogs.com/zhumk/aggbug/338923.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43592/" target="_blank">[新闻]Google iPhone语音识别程序已经上线</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ABAP:SAP系统中的计量单位的转换［预告］</title><link>http://www.cnblogs.com/zhumk/archive/2006/02/21/334932.html</link><dc:creator>zhumk</dc:creator><author>zhumk</author><pubDate>Tue, 21 Feb 2006 09:08:00 GMT</pubDate><guid>http://www.cnblogs.com/zhumk/archive/2006/02/21/334932.html</guid><wfw:comment>http://www.cnblogs.com/zhumk/comments/334932.html</wfw:comment><comments>http://www.cnblogs.com/zhumk/archive/2006/02/21/334932.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhumk/comments/commentRss/334932.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhumk/services/trackbacks/334932.html</trackback:ping><description><![CDATA[关于数量以及金额的计量单位的转换方法。<img src ="http://www.cnblogs.com/zhumk/aggbug/334932.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43591/" target="_blank">[新闻]为何Apple更精于UI设计 ？</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ABAP:Function 之 Read_Text函数的使用方法</title><link>http://www.cnblogs.com/zhumk/archive/2006/01/16/318375.html</link><dc:creator>zhumk</dc:creator><author>zhumk</author><pubDate>Mon, 16 Jan 2006 08:59:00 GMT</pubDate><guid>http://www.cnblogs.com/zhumk/archive/2006/01/16/318375.html</guid><wfw:comment>http://www.cnblogs.com/zhumk/comments/318375.html</wfw:comment><comments>http://www.cnblogs.com/zhumk/archive/2006/01/16/318375.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhumk/comments/commentRss/318375.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhumk/services/trackbacks/318375.html</trackback:ping><description><![CDATA[<p>&nbsp; <span>在</span><span lang=EN-US>SAP</span><span>系统中，有时候会有大段文本内容需要保存，例如：销售发货<b><span><span style="COLOR: red"><span><b><span>（</span></b></span><b><span lang=EN-US>VL03N</span></b><b><span>）</span></b></span></span></b></span><span>，在单据的概览中</span> <span>，有一个<b><span style="COLOR: red">［文本］</span></b>项，在此处可以填写单据的大段文本描述，那么该内容保存在哪里呢？</span></p>
<p><span>第一反应是找对应表的字段，那么你可能要失望了。在</span><span lang=EN-US>SAP</span><span>系统中，可以供我们使用的数据库字段最大长度是</span><span lang=EN-US>255</span><span>个文本字符<span style="FONT-SIZE: 8pt">（注：此处可能不正确），</span>对于很长的文本肯定是不能直接保存到某个表的字段中的<span style="FONT-SIZE: 8pt">（注：至于具体保存在何处，还需要请教</span>）。因此我们要使用系统函数</span><span lang=EN-US>Read_Text</span><span>来进行读取，以下是该函数的调用方法：</span></p>
<span><span><span style="FONT-FAMILY: Arial"><span style="FONT-SIZE: 8pt"><span><span style="BACKGROUND-COLOR: rgb(192,192,192)">
<p align=left><span><span><span style="FONT-FAMILY: Arial"><span style="FONT-SIZE: 8pt"><span>DATA: il_tline LIKE tline OCCURS 0 WITH HEADER LINE.</span></span></span></span></span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>vl_tdname LIKE thead-tdname.</span></p>
<p align=left><span><span></span></span></p>
<p align=left><span>CALL FUNCTION 'READ_TEXT'</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXPORTING</span></p>
<span><span><span style="COLOR: red">
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>client<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= sy-mandt</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>id<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 'Z001'</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;</span>language<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;</span>= '1'</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;</span>name<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= vl_tdname</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>object<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 'VBBK'</span></p>
<p align=left></p>
</span></span></span>
<p>&#160;</p>
<p align=left><span>*<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>ARCHIVE_HANDLE<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 0</span></p>
<p align=left><span>*<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>LOCAL_CAT<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= ' '</span></p>
<p align=left><span>*<span>&nbsp;&nbsp;&nbsp;&nbsp; </span>IMPORTING</span></p>
<p align=left><span>*<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>HEADER<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>=</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>TABLES</span></p>
<p align=left><span style="COLOR: red"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>lines<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= il_tline</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>EXCEPTIONS</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>id<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 1</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>language<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 2</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>name<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 3</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>not_found<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>= 4</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>object<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 5</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>reference_check<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 6</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>wrong_access_to_archive<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 7</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>OTHERS<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>= 8</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>.</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>IF sy-subrc &lt;&gt; 0.</span></p>
<p align=left><span>*<span>&nbsp;&nbsp;&nbsp;&nbsp; </span>MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO</span></p>
<p align=left><span>*<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.</span></p>
<p align=left><span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>ENDIF.</span></p>
<p align=left></p>
</span></span></span></span></span><span><span lang=EN-US>&nbsp;</span></span>
<p>&#160;</p>
<p align=left></p>
</span>
<p align=left><span></span></p>
<span>在上面的示例代码中，红色字体部分是需要输入以及输出的参数，调用这个函数的关键就是在于如何找到各输入参数应该填写的内容，下面就以销售发货／外向交货<b><span><span style="COLOR: red"><span><b><span>（</span></b></span><b><span lang=EN-US>VL03N</span></b><b><span>）</span></b></span></span></b></span><span>为例，介绍读取［计划员备注］文本是如何查找对应参数的。</span>
<p>&#160;</p>
<p><span lang=EN-US><span>1、<span>&nbsp; </span></span><span>输入</span><span lang=EN-US>TCODE</span><span>：</span><span lang=EN-US>VL03N</span><span>，显示一个凭证</span></span></p>
<p>&#160;</p>
<p><span lang=EN-US>&nbsp;<img src="http://www.cnblogs.com/images/cnblogs_com/zhumk/Read_Text01.jpg" border=0></span></p>
<p><span lang=EN-US><span>2、<span>&nbsp; </span></span><span>在<b><span style="COLOR: red">［<span style="COLOR: red">概览］</span></span></b>的<b><span style="COLOR: red">［文本］</span></b>处，进入修改状态，输入相应的段落文字，<b><span>双击</span></b>文本内容。</span></span></p>
<p>&#160;</p>
<p><span lang=EN-US>&nbsp;<img src="http://www.cnblogs.com/images/cnblogs_com/zhumk/Read_Text02.jpg" border=0></span></p>
<p><span lang=EN-US><span>3、<span>&nbsp; </span></span><span>进入文本内容行编辑器界面，点击菜单<b><span><span style="COLOR: red"><span><b><span>［转到］--&gt;</span></b></span><span lang=EN-US><b><span>［表头］</span></b></span></span></span></b></span><span lang=EN-US></span></span></p>
<p>&#160;</p>
<p><span lang=EN-US>&nbsp;<img src="http://www.cnblogs.com/images/cnblogs_com/zhumk/Read_Text03.jpg" border=0></span></p>
<p><span lang=EN-US><span>4、<span>&nbsp; </span></span><span>见下图，上面的四行就是需要输入的参数，其中：<br><img src="http://www.cnblogs.com/images/cnblogs_com/zhumk/Read_Text04.jpg" border=0><br><br></span></span></p>
<p>&#160;</p>
<p><span><span style="COLOR: red"><span>文本名　</span><span>：</span></span></span><span lang=EN-US>&#8217;<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="11000218" unitname="&#8217;">011000218&#8217;</st1:chmetcnv></span><span>，为凭证号，对应</span><span lang=EN-US style="COLOR: red">name</span><span>参数</span></p>
<p><span><span style="COLOR: red"><span>语　　言</span><span>：</span></span></span><span lang=EN-US>ZH</span><span>，但是此处参数类型为</span><span lang=EN-US>C(1)</span><span>，不能直接使用</span><span lang=EN-US>SY-LANGU</span><span>变量，根据系统配置不同，在我的系统中使用</span><span lang=EN-US>1</span><span>，对应</span><span lang=EN-US style="COLOR: red">language</span><span>参数，</span></p>
<p><span><span style="COLOR: red"><span>标　　识</span><span>：</span></span></span><span lang=EN-US>Z001</span><span>，该标识由</span><span lang=EN-US>SAP</span><span>系统配置而来，对应</span><span lang=EN-US style="COLOR: red">ID</span><span>参数</span></p>
<p><span><span style="COLOR: red"><span>文本对象</span><span>：</span></span></span><span lang=EN-US>VBBK</span><span>，对应</span><span lang=EN-US style="COLOR: red">object</span><span>参数</span></p>
<p><span lang=EN-US>&nbsp;相对于Read_Text函数,有一个Save_Text正好是用来往系统中写文本字段,具体用户和Read_Text基本相似.</span></p>
<img src ="http://www.cnblogs.com/zhumk/aggbug/318375.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43590/" target="_blank">[新闻]全球最快计算机排名 上海“魔方”进前十</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>ABAP:ABAP Performance Examples</title><link>http://www.cnblogs.com/zhumk/archive/2006/01/16/318272.html</link><dc:creator>zhumk</dc:creator><author>zhumk</author><pubDate>Mon, 16 Jan 2006 07:13:00 GMT</pubDate><guid>http://www.cnblogs.com/zhumk/archive/2006/01/16/318272.html</guid><wfw:comment>http://www.cnblogs.com/zhumk/comments/318272.html</wfw:comment><comments>http://www.cnblogs.com/zhumk/archive/2006/01/16/318272.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/zhumk/comments/commentRss/318272.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/zhumk/services/trackbacks/318272.html</trackback:ping><description><![CDATA[摘要: 本文章的内容根据SAP系统所带的教程整理而来，查看该性能教程的步骤为：SE38事物代码&#224;Environment菜单&#224;Examples&#224;Performance Examples一、 SQL Interface1. Select ... Where vs. Select + Check用Select &#8230; Where语句效率比Select + Check语句要高&nbsp;&nbsp;<a href='http://www.cnblogs.com/zhumk/archive/2006/01/16/318272.html'>阅读全文</a><img src ="http://www.cnblogs.com/zhumk/aggbug/318272.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43590/" target="_blank">[新闻]全球最快计算机排名 上海“魔方”进前十</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>