<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>SAPLAB-SAP Tips,ABAP Tips!</title>
	<atom:link href="http://www.saplab.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.saplab.net</link>
	<description>Love SAP!Love ABAP!</description>
	<pubDate>Wed, 02 Jul 2008 03:17:29 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>ABAP ALV Grid Control (BC-SRV-ALV) eBook</title>
		<link>http://www.saplab.net/2008/07/02/abap-alv-grid-control-bc-srv-alv-ebook/</link>
		<comments>http://www.saplab.net/2008/07/02/abap-alv-grid-control-bc-srv-alv-ebook/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 03:17:29 +0000</pubDate>
		<dc:creator>Jack Park</dc:creator>
		
		<category><![CDATA[ABAP Tips]]></category>

		<category><![CDATA[ABAP Tip]]></category>

		<category><![CDATA[ALV]]></category>

		<category><![CDATA[eBook]]></category>

		<guid isPermaLink="false">http://www.saplab.net/2008/07/02/abap-alv-grid-control-bc-srv-alv-ebook/</guid>
		<description><![CDATA[Below eBook is for ALV Grid Control (BC-SRV-ALV). If you need it, you can download it.
Download ALV Grid Control eBook

]]></description>
			<content:encoded><![CDATA[<p>Below eBook is for ALV Grid Control (BC-SRV-ALV). If you need it, you can download it.</p>
<p>Download <a href="http://www.mediafire.com/?rnqmzkwzz1j" target="_blank">ALV Grid Control eBook</a></p>
<p><a href="http://www.saplab.net/wp-content/uploads/2008/07/alv-control-ebook.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="354" alt="alv_control_ebook" src="http://www.saplab.net/wp-content/uploads/2008/07/alv-control-ebook-thumb.png" width="454" border="0"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.saplab.net/2008/07/02/abap-alv-grid-control-bc-srv-alv-ebook/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ABAP Create Excel Download button at Selection Screen</title>
		<link>http://www.saplab.net/2008/07/02/sap-abap-create-excel-download-button-at-selection-screen/</link>
		<comments>http://www.saplab.net/2008/07/02/sap-abap-create-excel-download-button-at-selection-screen/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 03:06:33 +0000</pubDate>
		<dc:creator>Jack Park</dc:creator>
		
		<category><![CDATA[ABAP Tips]]></category>

		<category><![CDATA[ABAP Tip]]></category>

		<category><![CDATA[CALL FUNCTION]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[Excel]]></category>

		<category><![CDATA[Excel Download]]></category>

		<category><![CDATA[Function]]></category>

		<category><![CDATA[Tip]]></category>

		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.saplab.net/2008/07/02/sap-abap-create-excel-download-button-at-selection-screen/</guid>
		<description><![CDATA[If you want to create Excel download button at selection screen, you can check below method.
TABLES: sscrfields.
INITIALIZATION.
PERFORM init_data.
PERFORM file_download.
*&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*
*&#38;      Form  INIT_DATA
*&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*
*       text
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
*  &#8211;&#62;  p1        text
*  &#60;&#8211;  p2        text
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
FORM INIT_DATA .
sscrfields-functxt_01 = text-f01.
ENDFORM.                    &#8221; INIT_DATA
*&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*
*&#38;      Form  FILE_DOWNLOAD
*&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*
*       text
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
*  &#8211;&#62;  p1        text
*  &#60;&#8211;  p2        text
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
FORM FILE_DOWNLOAD .
DATA : t_dfname   TYPE rlgrap-filename VALUE &#8216;C:\&#8217;,
t_filename TYPE string.
* download file [...]]]></description>
			<content:encoded><![CDATA[<p>If you want to create Excel download button at selection screen, you can check below method.</p>
<p>TABLES: sscrfields.</p>
<p>INITIALIZATION.</p>
<p>PERFORM init_data.</p>
<p>PERFORM file_download.</p>
<p>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<br />
*&amp;      Form  INIT_DATA<br />
*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<br />
*       text<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br />
*  &#8211;&gt;  p1        text<br />
*  &lt;&#8211;  p2        text<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br />
FORM INIT_DATA .</p>
<p>sscrfields-functxt_01 = text-f01.</p>
<p>ENDFORM.                    &#8221; INIT_DATA<br />
*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<br />
*&amp;      Form  FILE_DOWNLOAD<br />
*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<br />
*       text<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br />
*  &#8211;&gt;  p1        text<br />
*  &lt;&#8211;  p2        text<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br />
FORM FILE_DOWNLOAD .</p>
<p>DATA : t_dfname   TYPE rlgrap-filename VALUE &#8216;C:\&#8217;,<br />
t_filename TYPE string.</p>
<p>* download file name<br />
CALL FUNCTION &#8216;F4_FILENAME&#8217;<br />
EXPORTING<br />
program_name  = sy-repid<br />
dynpro_number = sy-dynnr<br />
IMPORTING<br />
file_name     = t_dfname.</p>
<p>* file name<br />
t_filename = t_dfname.</p>
<p>IF t_filename IS INITIAL OR<br />
t_filename = &#8216;C:\&#8217;.<br />
MESSAGE &#8216;파일 경로를 입력해 주세요.&#8217; TYPE &#8216;I&#8217;.<br />
STOP.<br />
ENDIF.</p>
<p>* download template<br />
CALL FUNCTION &#8216;GUI_DOWNLOAD&#8217;<br />
EXPORTING<br />
filename = t_filename<br />
filetype = &#8216;DAT&#8217;<br />
TABLES<br />
data_tab = &lt;gt_table&gt;.</p>
<p>CALL FUNCTION &#8216;MS_EXCEL_OLE_STANDARD_DAT&#8217;<br />
EXPORTING<br />
file_name                 = t_dfname<br />
TABLES<br />
data_tab                  = &lt;gt_table&gt;<br />
fieldnames                = it_head<br />
EXCEPTIONS<br />
file_not_exist            = 1<br />
filename_expected         = 2<br />
communication_error       = 3<br />
ole_object_method_error   = 4<br />
ole_object_property_error = 5<br />
invalid_pivot_fields      = 6<br />
download_problem          = 7<br />
OTHERS                    = 8.</p>
<p>IF sy-subrc &lt;&gt; 0.<br />
MESSAGE &#8216;Excel Open Error&#8217; TYPE &#8216;I&#8217;.                   &#8220;#EC NOTEXT<br />
STOP.<br />
ENDIF.</p>
<p>ENDFORM.                    &#8221; FILE_DOWNLOAD</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saplab.net/2008/07/02/sap-abap-create-excel-download-button-at-selection-screen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SAP中本地文件的upload和download的方法</title>
		<link>http://www.saplab.net/2008/06/26/upload-and-download/</link>
		<comments>http://www.saplab.net/2008/06/26/upload-and-download/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 15:27:44 +0000</pubDate>
		<dc:creator>Jack Park</dc:creator>
		
		<category><![CDATA[ABAP Tips]]></category>

		<category><![CDATA[ABAP Tip]]></category>

		<category><![CDATA[Download]]></category>

		<category><![CDATA[Upload]]></category>

		<guid isPermaLink="false">http://www.saplab.net/?p=87</guid>
		<description><![CDATA[无论是upload还是download,首先要确定文件的路径和名字。下面介绍几种使用文件选择框的方法：
－、使用FM F4_FILENAME
call function &#8216;F4_FILENAME&#8217;
importing
file_name = filename.
二、使用FM KD_GET_FILENAME_ON_F4
call function &#8216;KD_GET_FILENAME_ON_F4&#8242;
changing
file_name = p_pcfile.
三、使用FM TB_LIMIT_WS_FILENAME_GET
此FM可以指定默认选择路径，默认文件名，文件的打开目的（MODE，O为读，S为写）以及文件类型等，返回值FILENAME为文件的全路径。
四、使用FM WS_FILENAME_GET
功能同上。例子：
call function &#8216;WS_FILENAME_GET&#8217;
exporting
def_filename     = &#8216;invoice.txt&#8217;
def_path         = &#8216;c:\windata\&#8217;
mask             = &#8216;,*.TXT.&#8217;
mode             = &#8216;0&#8242;
title            = &#8216;Find the input file&#8217;
importing
filename         = t_filename
exceptions
inv_winsys       = 1
no_batch         = 2
selection_cancel = 3
selection_error  = 4
others           = 5.
五、使用Class cl_gui_frontend_services的静态方法file_open_dialog.
此方法功能强大，可以修饰文件选择框，指定默认选择路径，设置文件类型过滤，同时打开多个文件，返回用户操作等，例子：
call method cl_gui_frontend_services=&#62;file_open_dialog
exporting
window_title     = &#8216;Select File&#8217;
default_extension = &#8216;xls&#8217;
file_filter     = cl_gui_frontend_services=&#62;filetype_excel
multiselection   = &#8216; &#8216;
changing
file_table       = it_tab
rc               [...]]]></description>
			<content:encoded><![CDATA[<p>无论是upload还是download,首先要确定文件的路径和名字。下面介绍几种使用文件选择框的方法：<br />
－、使用FM F4_FILENAME<br />
call function &#8216;F4_FILENAME&#8217;<br />
importing<br />
file_name = filename.<br />
二、使用FM KD_GET_FILENAME_ON_F4<br />
call function &#8216;KD_GET_FILENAME_ON_F4&#8242;<br />
changing<br />
file_name = p_pcfile.<br />
三、使用FM TB_LIMIT_WS_FILENAME_GET<br />
此FM可以指定默认选择路径，默认文件名，文件的打开目的（MODE，O为读，S为写）以及文件类型等，返回值FILENAME为文件的全路径。<br />
四、使用FM WS_FILENAME_GET<br />
功能同上。例子：<br />
call function &#8216;WS_FILENAME_GET&#8217;<br />
exporting<br />
def_filename     = &#8216;invoice.txt&#8217;<br />
def_path         = &#8216;c:\windata\&#8217;<br />
mask             = &#8216;,*.TXT.&#8217;<br />
mode             = &#8216;0&#8242;<br />
title            = &#8216;Find the input file&#8217;<br />
importing<br />
filename         = t_filename<br />
exceptions<br />
inv_winsys       = 1<br />
no_batch         = 2<br />
selection_cancel = 3<br />
selection_error  = 4<br />
others           = 5.<br />
五、使用Class cl_gui_frontend_services的静态方法file_open_dialog.<br />
此方法功能强大，可以修饰文件选择框，指定默认选择路径，设置文件类型过滤，同时打开多个文件，返回用户操作等，例子：<br />
call method cl_gui_frontend_services=&gt;file_open_dialog<br />
exporting<br />
window_title     = &#8216;Select File&#8217;<br />
default_extension = &#8216;xls&#8217;<br />
file_filter     = cl_gui_frontend_services=&gt;filetype_excel<br />
multiselection   = &#8216; &#8216;</p>
<p>changing<br />
file_table       = it_tab<br />
rc               = gd_subrc.</p>
<p>文件UPLOAD方法(转成内表):<br />
一、最常用FM的是:GUI_UPLOAD<br />
有同等作用的是CLASS cl_gui_frontend_services的静态方法gui_upload，文件可以按二进制或文本格式上传，数值和日期等依赖于用户的设置。<br />
上传二进制文件时，内表通常定义为只含一个数据类型为X的field，如：<br />
data:begin of itab occurs 0,<br />
raw(255) type X,<br />
end fo itab.<br />
CALL FUNCTION &#8216;GUI_UPLOAD&#8217;<br />
exporting<br />
filetype =  &#8216;BIN&#8217;<br />
filename = &#8216;C:\DOWNLOAD.BIN&#8217;<br />
tables<br />
data_tab = itab.<br />
主要参数:输入有filename 要上传文件的完成路径，　filetype 包括&#8217;BIN&#8217; &#8216;DAT&#8217; &#8216;ASC&#8217;等，codepage 以数字编号的字符集，如8400是简体中文<br />
输出有data_tab 储存文件中数据的内表<br />
二、对上传excel数据可用FM TEXT_CONVERT_XLS_TO_SAP<br />
因为输出的I_TAB_CONVERTED_DATA类型为任意的standard table，所以此FM能方便的把excel中内容转化成格式相同的内表中。<br />
field-symbols: &lt;s_table&gt; type standard table.<br />
call function &#8216;TEXT_CONVERT_XLS_TO_SAP&#8217;<br />
exporting<br />
*         I_FIELD_SEPERATOR          =<br />
*         I_LINE_HEADER              =<br />
i_tab_raw_data             = raw_data<br />
i_filename                 = excel_file<br />
tables<br />
i_tab_converted_data       = &lt;s_table&gt;<br />
exceptions<br />
conversion_failed          = 1<br />
others                     = 2.<br />
参数i_tab_raw_data虽为改办field，但好像没什么作用，传入一个空数据也可正常使用。<br />
三、以另外途径上传excel文件：ALSM_EXCEL_TO_INTERNAL_TABLE<br />
call function &#8216;ALSM_EXCEL_TO_INTERNAL_TABLE&#8217;<br />
exporting<br />
filename                = p_file<br />
i_begin_col             = p_scol<br />
i_begin_row             = p_srow<br />
i_end_col               = p_ecol<br />
i_end_row               = p_erow<br />
tables<br />
intern                  = i_intern<br />
exceptions<br />
inconsistent_parameters = 1<br />
upload_ole              = 2<br />
others                  = 3.<br />
此FM可以限制从excel文件中第几行第几列开始，一次上传多少行多少列，但一次上传的最大行数为9999,是由接收数据的内表intern的定义来限制的。<br />
所以如果要上传多于9999行的数据，要编码分批上传实现的。而intern不是直接与excel数据格式相符的内表，是系统定义好的，包含了行号、列号、数据值等，具体的<br />
请参照系统定义，因此要想转成自己定义符合格式的内表，可用下面代码实现：<br />
field-symbols : &lt;$fs&gt;.<br />
data  exception type ref to cx_root.<br />
sort i_intern by row col.<br />
try.<br />
loop at i_intern.<br />
move i_intern-col to index.<br />
assign component index of structure i_table to &lt;$fs&gt;.<br />
move i_intern-value to &lt;$fs&gt;.<br />
at end of row.<br />
append i_table. &#8220;user defined internal table to store excel data<br />
clear i_table.<br />
endat.<br />
endloop.<br />
catch cx_root into exception.<br />
message &#8216;Excel data format is wrong,please check&#8217; type &#8216;E&#8217;.<br />
endtry.</p>
<p>文件DOWNLOAD方法(内表转成文件):<br />
一、最常用FM的是:GUI_UPLOAD<br />
CLASS cl_gui_frontend_services的静态方法gui_upload与此功效相同。重要参数有BIN_FILESIZE　FILENAME 　FILETYPE　APPEND　CODEPAGE　DATA_TAB等，正确传入这些参数即可满足大多常见的需求。<br />
参数简述：BIN_FILESIZE　　当要创建二进制的文件进，必须指定文件长度，但要下载成文本文件时，传入此参数会报 FILESIZE_NIT_ALLOWED　错误的。<br />
FILENAME 　要存放文件的完整路径，要保证路径有效并且如果文件存在的话没有被打开，否则会报错。<br />
FILETYPE　 &#8216;ASC&#8217; ASCII格式文件，此参数会受到CODEPAGE, TRUNC_TRAILING_BLANKS, 和 TRUNC_TRAILING_BLANKS_EOL等参数的影响。<br />
&#8216;IBM&#8217; ASCII文件，但只能包含IBM字符集的字符(CODEPAGE = &#8216;1103&#8242;)，这种格式的文件通常用在软盘上。<br />
&#8216;DAT&#8217; 具有单元格形式的文本文件，但直接用excel打开的话，文本内容会受单元格格式影响（如自动会去前导零等）。这种文件可直接再用gui_upload上传到SAP程序中。<br />
&#8216;DBF&#8217; dBase格式，对于要用excel打开的数据，此种格式更能保持数据原型，不受excel单元格格式的影响。<br />
&#8216;WK1&#8242; Lotus 1-2-3格式。<br />
&#8216;BIN&#8217; 二进制格式文件，没有格式和字体集的限制。<br />
APPEND　&#8217;X'以追加模式写文件，SPACE 当文件已存在时，以覆盖模式写文件。<br />
CODEPAGE 指定写文件时用的字符集<br />
DATA_TAB 内表，包含要下载成文件的数据</p>
<p>&#8230;</p>
<p>另注：当要上传在excel中存放的数据时，要注意sap系统中前导0的问题，解决方法可在excel文件中把0补全(调整单元格格式)，或者在使用此类数据前，程序做alpha转换，<br />
使用FM: CONVERSION_EXIT_ALPHA_INPUT, 相反作用的FM: CONVERSION_EXIT_ALPHA_OUTPUT</p>
<p>Via <a href="http://blog.csdn.net/hkj900/archive/2008/01/11/2038503.aspx" target="_blank">csdn</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.saplab.net/2008/06/26/upload-and-download/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ABAP ALV Double Click CO03</title>
		<link>http://www.saplab.net/2008/06/23/abap-alv-double-click-co03/</link>
		<comments>http://www.saplab.net/2008/06/23/abap-alv-double-click-co03/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 01:17:14 +0000</pubDate>
		<dc:creator>Jack Park</dc:creator>
		
		<category><![CDATA[ABAP Tips]]></category>

		<category><![CDATA[ABAP Tip]]></category>

		<category><![CDATA[ALV]]></category>

		<category><![CDATA[CO03]]></category>

		<category><![CDATA[Double Click]]></category>

		<guid isPermaLink="false">http://www.saplab.net/?p=86</guid>
		<description><![CDATA[Today, my customer ask me to add a function that when he double click order colum, he wants to see CO03.
Below is the ABAP code.
*&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*
*&#38;      Form  LINE_SELECTION
*&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*
*       text
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
*  &#8211;&#62;  p1        text
*  &#60;&#8211;  p2        text
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CHECK r_ucomm EQ &#8216;&#38;IC1&#8242; AND NOT rs_selfield-value IS INITIAL.
CASE rs_selfield-fieldname.
WHEN &#8216;AUFNR&#8217;.
SET PARAMETER ID &#8216;ANR&#8217; FIELD [...]]]></description>
			<content:encoded><![CDATA[<p>Today, my customer ask me to add a function that when he double click order colum, he wants to see CO03.</p>
<p>Below is the ABAP code.</p>
<p>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<br />
*&amp;      Form  LINE_SELECTION<br />
*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*<br />
*       text<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br />
*  &#8211;&gt;  p1        text<br />
*  &lt;&#8211;  p2        text<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*<br />
FORM user_command USING r_ucomm LIKE sy-ucomm<br />
rs_selfield TYPE slis_selfield.<br />
CHECK r_ucomm EQ &#8216;&amp;IC1&#8242; AND NOT rs_selfield-value IS INITIAL.<br />
CASE rs_selfield-fieldname.<br />
WHEN &#8216;AUFNR&#8217;.<br />
SET PARAMETER ID &#8216;ANR&#8217; FIELD rs_selfield-value.<br />
CALL TRANSACTION &#8216;CO03&#8242; AND SKIP FIRST SCREEN.<br />
ENDCASE.<br />
ENDFORM.                    &#8221; LINE_SELECTION</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saplab.net/2008/06/23/abap-alv-double-click-co03/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ABAP ALV Program</title>
		<link>http://www.saplab.net/2008/06/22/abap-alv-program/</link>
		<comments>http://www.saplab.net/2008/06/22/abap-alv-program/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 13:36:29 +0000</pubDate>
		<dc:creator>Jack Park</dc:creator>
		
		<category><![CDATA[Program]]></category>

		<category><![CDATA[ALV]]></category>

		<guid isPermaLink="false">http://www.saplab.net/2008/06/22/abap-alv-program/</guid>
		<description><![CDATA[REPORT zgrd_sd_flow_alv_001 .
TYPE-POOLS: slis.
TABLES: vbak,vbap, knvv, kna1, mara ,lips, vbrp.
TYPES: BEGIN OF record,
sdoc LIKE vbak-vbeln,
sitem LIKE vbap-posnr,
mcode LIKE mara-matnr,
mname LIKE vbap-arktx,
oquanti LIKE vbap-kwmeng,
ovalue LIKE vbap-netwr,
ocurrency LIKE vbap-waerk,
ddoc LIKE lips-vbeln,
ditem LIKE lips-posnr,
idoc LIKE vbrp-vbeln,
iitem LIKE vbrp-posnr,
END OF record.
DATA: itab TYPE STANDARD TABLE OF record WITH HEADER LINE.
DATA: name1 LIKE kna1-name1,
name2 LIKE kna1-name2.
DATA: i_fieldcat_alv TYPE slis_t_fieldcat_alv WITH [...]]]></description>
			<content:encoded><![CDATA[<p>REPORT zgrd_sd_flow_alv_001 .
<p>TYPE-POOLS: slis.
<p>TABLES: vbak,vbap, knvv, kna1, mara ,lips, vbrp.
<p>TYPES: BEGIN OF record,
<p>sdoc LIKE vbak-vbeln,
<p>sitem LIKE vbap-posnr,
<p>mcode LIKE mara-matnr,
<p>mname LIKE vbap-arktx,
<p>oquanti LIKE vbap-kwmeng,
<p>ovalue LIKE vbap-netwr,
<p>ocurrency LIKE vbap-waerk,
<p>ddoc LIKE lips-vbeln,
<p>ditem LIKE lips-posnr,
<p>idoc LIKE vbrp-vbeln,
<p>iitem LIKE vbrp-posnr,
<p>END OF record.
<p>DATA: itab TYPE STANDARD TABLE OF record WITH HEADER LINE.
<p>DATA: name1 LIKE kna1-name1,
<p>name2 LIKE kna1-name2.
<p>DATA: i_fieldcat_alv TYPE slis_t_fieldcat_alv WITH HEADER LINE,
<p>it_events TYPE slis_alv_event OCCURS 1 WITH HEADER LINE,
<p>alv_event TYPE slis_t_event,
<p>I_layout TYPE slis_layout_alv,
<p>i_fieldcat TYPE slis_fieldcat_alv,
<p>pos TYPE i VALUE 1,
<p>w_repid LIKE sy-repid.
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>* Selection-screen design *
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>SELECT-OPTIONS: o_date FOR vbak-erdat OBLIGATORY. &#8220;sales docu date
<p>PARAMETERS: customer LIKE vbak-kunnr OBLIGATORY
<p>DEFAULT &#8216;GCN00010&#8242;, &#8220;customer code
<p>material LIKE mara-matnr OBLIGATORY
<p>DEFAULT &#8216;000000000280012001&#8242;. &#8220;material number
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>* Start of selection event *
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>*START-OF-SELECTION.
<p>PERFORM data_selection.
<p>perform layout_build.
<p>PERFORM fields.
<p>PERFORM append_alv_event CHANGING alv_event.
<p>PERFORM display_data.
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>*form data_selection
<p>**
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>FORM data_selection.
<p>SELECT a~vbeln b~posnr c~matnr b~arktx b~kwmeng b~netwr b~waerk
<p>c~vbeln c~posnr d~vbeln d~posnr
<p>INTO (itab-sdoc, itab-sitem, itab-mcode, itab-mname,
<p>itab-oquanti,itab-ovalue,itab-ocurrency, itab-ddoc,
<p>itab-ditem, itab-idoc, itab-iitem)
<p>FROM ( ( lips AS c
<p>INNER JOIN vbrp AS d ON c~vbeln = d~vgbel
<p>AND c~posnr = d~vgpos
<p>INNER JOIN vbap AS b ON c~vgbel = b~vbeln
<p>AND c~vgpos = b~posnr )
<p>INNER JOIN vbak AS a ON a~vbeln = b~vbeln )
<p>WHERE a~erdat IN o_date AND a~kunnr = customer AND b~matnr = material.
<p>APPEND itab.
<p>ENDSELECT.
<p>IF sy-subrc NE 0.
<p>MESSAGE &#8216;No Corresponding Record!&#8217; TYPE &#8216;I&#8217;.
<p>ENDIF.
<p>ENDFORM. &#8220;data_selection
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>*form fields
<p>**
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>FORM fields.
<p>REFRESH i_fieldcat_alv.
<p>pos = 1.
<p>CLEAR i_fieldcat.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;SDOC&#8217;.
<p>i_fieldcat-seltext_l = &#8216;주문번호&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>pos = pos + 1.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;SITEM&#8217;.
<p>i_fieldcat-seltext_l = &#8216;아이템번호&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>pos = pos + 1.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;MCODE&#8217;.
<p>i_fieldcat-seltext_l = &#8216;제품코드&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>pos = pos + 1.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;MNAME&#8217;.
<p>i_fieldcat-seltext_l = &#8216;제품명&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>pos = pos + 1.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;OQUANTI&#8217;.
<p>i_fieldcat-seltext_l = &#8216;주문수량&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>pos = pos + 1.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;OVALUE&#8217;.
<p>i_fieldcat-seltext_l = &#8216;주문실적&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>pos = pos + 1.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;OCURRENCY&#8217;.
<p>i_fieldcat-seltext_l = &#8216;단위&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>pos = pos + 1.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;DDOC&#8217;.
<p>i_fieldcat-seltext_l = &#8216;납품문서번호&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>pos = pos + 1.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;DITEM&#8217;.
<p>i_fieldcat-seltext_l = &#8216;아이템&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>pos = pos + 1.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;IDOC&#8217;.
<p>i_fieldcat-seltext_l = &#8216;대금청구번호&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>pos = pos + 1.
<p>i_fieldcat-col_pos = pos.
<p>i_fieldcat-fieldname = &#8216;IITEM&#8217;.
<p>i_fieldcat-seltext_l = &#8216;아이템번호&#8217;.
<p>APPEND i_fieldcat TO i_fieldcat_alv.
<p>CLEAR i_fieldcat.
<p>ENDFORM. &#8220;fields
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>*form display_data
<p>**
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>FORM display_data.
<p>w_repid = sy-repid.
<p>CALL FUNCTION &#8216;REUSE_ALV_LIST_DISPLAY&#8217;
<p>EXPORTING
<p>i_callback_program = w_repid
<p>i_callback_user_command = &#8216;USER_COMMAND&#8217;
<p>is_layout = i_layout
<p>it_events = alv_event[]
<p>* i_save = &#8216; &#8216;
<p>it_fieldcat = i_fieldcat_alv[]
<p>TABLES
<p>t_outtab = itab.
<p>ENDFORM. &#8220;display_data
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>*form layout_build
<p>**
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>Form layout_build.
<p>* I_layout-detail_popup = &#8216;X&#8217;. &#8221; Display row in popup
<p>I_layout-get_selinfos = &#8216;X&#8217;. &#8221; Read selection screen in
<p>i_layout-colwidth_optimize = &#8216;X&#8217;.
<p>* layout-zebra = &#8216;X&#8217;. &#8220;striped pattern
<p>* I_layout-f2code = &#8216;&amp;ETA&#8217;.
<p>endform. &#8221; BUILD_LAYOUT
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>* &lt;&#8211;P_ALV_EVENT text
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>FORM append_alv_event CHANGING p_alv_event TYPE slis_t_event.
<p>DATA ls_events TYPE slis_alv_event.
<p>ls_events-name = &#8216;USER_COMMAND&#8217;.
<p>ls_events-form = &#8216;USER_COMMAND&#8217;.
<p>APPEND ls_events TO p_alv_event.
<p>* ls_events-name = &#8216;TOP_OF_PAGE&#8217;.
<p>* ls_events-form = &#8216;TOP_OF_PAGE&#8217;.
<p>* APPEND ls_events TO p_alv_event.
<p>ENDFORM. &#8221; append_alv_event
<p>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*
<p>*&amp; Form LINE_SELECTION
<p>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*
<p>* text
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>* &#8211;&gt; p1 text
<p>* &lt;&#8211; p2 text
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*
<p>FORM user_command USING r_ucomm LIKE sy-ucomm
<p>rs_selfield TYPE slis_selfield.
<p>CHECK r_ucomm EQ &#8216;&amp;IC1&#8242; AND NOT rs_selfield-value IS INITIAL.
<p>CASE rs_selfield-fieldname.
<p>WHEN &#8216;ITAB-SDOC&#8217;.
<p>SET PARAMETER ID &#8216;AUN&#8217; FIELD rs_selfield-valuE.
<p>CALL TRANSACTION &#8216;VA03&#8242; AND SKIP FIRST SCREEN.
<p>WHEN &#8216;ITAB-DDOC&#8217;.
<p>SET PARAMETER ID &#8216;VL&#8217; FIELD rs_selfield-value.
<p>CALL TRANSACTION &#8216;VL03N&#8217; AND SKIP FIRST SCREEN.
<p>WHEN &#8216;ITAB-IDOC&#8217;.
<p>SET PARAMETER ID &#8216;VF&#8217; FIELD rs_selfield-value.
<p>CALL TRANSACTION &#8216;VF03&#8242; AND SKIP FIRST SCREEN.
<p>ENDCASE.
<p>ENDFORM. &#8221; LINE_SELECTION
<p><a href="http://www.mediafire.com/?vdjfzyjoxva" target="_blank">Download ALV Program</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.saplab.net/2008/06/22/abap-alv-program/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ABAP Tips Block Input Area Tip</title>
		<link>http://www.saplab.net/2008/06/17/input-block-tip/</link>
		<comments>http://www.saplab.net/2008/06/17/input-block-tip/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 05:45:42 +0000</pubDate>
		<dc:creator>Jack Park</dc:creator>
		
		<category><![CDATA[ABAP Tips]]></category>

		<category><![CDATA[Block]]></category>

		<category><![CDATA[Input]]></category>

		<guid isPermaLink="false">http://www.saplab.net/2008/06/17/input-block-tip/</guid>
		<description><![CDATA[How to block input area? You can check below method.

PARAMETERS: p_werks LIKE mseg-werks OBLIGATORY DEFAULT &#8216;PHAS&#8217; MODIF ID bl2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = &#8216;P_WERKS&#8217; .
screen-input = &#8216;0&#8242;.
screen-output = &#8216;1&#8242;.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
]]></description>
			<content:encoded><![CDATA[<p>How to block input area? You can check below method.</p>
<p><a href="http://www.saplab.net/wp-content/uploads/2008/06/input.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.saplab.net/wp-content/uploads/2008/06/input-thumb.png" border="0" alt="input" width="274" height="133" /></a></p>
<blockquote><p>PARAMETERS: p_werks LIKE mseg-werks OBLIGATORY DEFAULT &#8216;PHAS&#8217; MODIF ID bl2.<br />
AT SELECTION-SCREEN OUTPUT.<br />
LOOP AT SCREEN.<br />
IF screen-name = &#8216;P_WERKS&#8217; .<br />
screen-input = &#8216;0&#8242;.<br />
screen-output = &#8216;1&#8242;.<br />
MODIFY SCREEN.<br />
ENDIF.<br />
ENDLOOP.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.saplab.net/2008/06/17/input-block-tip/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SAP函数</title>
		<link>http://www.saplab.net/2008/06/13/sap%e5%87%bd%e6%95%b0/</link>
		<comments>http://www.saplab.net/2008/06/13/sap%e5%87%bd%e6%95%b0/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 03:12:17 +0000</pubDate>
		<dc:creator>Jack Park</dc:creator>
		
		<category><![CDATA[ABAP Syntax]]></category>

		<category><![CDATA[SAP]]></category>

		<category><![CDATA[函数]]></category>

		<guid isPermaLink="false">http://www.saplab.net/2008/06/13/sap%e5%87%bd%e6%95%b0/</guid>
		<description><![CDATA[函数名 描述   SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息    EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=&#8220;*&#8221;重新组织    VIEW_MAINTENANCE_CALL 维护表视图    函数名 描述    DY_GET_FOCUS 获得屏幕焦点    DY_GET_SET_FIELD_VALUE 获得或者设置屏幕字段的值    函数名 描述    F4IF_INT_TABLE_VALUE_REQUEST 显示检索help    READ_TEXT 读取长文本    CONVERSION_EXIT_CUNIT_OUTPUT 单位转换    SJIS_DBC_TO_SBC [...]]]></description>
			<content:encoded><![CDATA[<p>函数名 描述   <br />SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息    <br />EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=&#8220;*&#8221;重新组织    <br />VIEW_MAINTENANCE_CALL 维护表视图    <br />函数名 描述    <br />DY_GET_FOCUS 获得屏幕焦点    <br />DY_GET_SET_FIELD_VALUE 获得或者设置屏幕字段的值    <br />函数名 描述    <br />F4IF_INT_TABLE_VALUE_REQUEST 显示检索help    <br />READ_TEXT 读取长文本    <br />CONVERSION_EXIT_CUNIT_OUTPUT 单位转换    <br />SJIS_DBC_TO_SBC 全角转半角    <br />SJIS_SBC_TO_DBC 半角转换为全角    <br />CO_R0_CHECK_DECIMAL_POINT 根据单位检查数据的小数位    <br />POSTAL_CODE_CHECK 检查邮政编码</p>
<p>函数名 描述   <br />CONVERSION_EXIT_ALPHA_INPUT 全数字则在前面补0    <br />CONVERSION_EXIT_ALPHA_INPUT 和上面相反    <br />GET_JOB_RUNTIME_INFO 获得job相关信息    <br />TERMINAL_ID_GET 获得端末id    <br />DATE_CONVERT_TO_FACTORYDATE 把输入日期转为工厂日历日期    <br />MESSAGE_TEXT_BUILD 把消息转为文本    <br />函数名 描述    <br />POPUP_TO_CONFIRM 弹出确认窗口    <br />函数名 描述    <br />CONVERSION_EXIT_MATN1_INPUT 物料号码转换函数    <br />CONVERSION_EXIT_MATN1_OUTPUT 同上相反    <br />CONVERT_TO_LOCAL_CURRENCY 按照指定日期汇率转换金额为指定货币类型    <br />SSF_FUNCTION_MODULE_NAME 根据form名取得对应的函数名(SmartForm)    <br />函数名 描述    <br />DATE_CHECK_PLAUSIBILITY 日期CHECK    <br />cl_gui_frontend_services=&gt;gui_upload 上传到服务器    <br />cl_gui_frontend_services=&gt;gui_download 下载到服本地    <br />SSF_FUNCTION_MODULE_NAME SMARTFORMS输出报表时，生成一个函数名称，然后CALL这个名称    <br />函数名 描述    <br />POPUP_TO_DECIDE_LIST 弹出供选择窗口    <br />ABAP_DOCU_DOWNLOAD &#8211; 以HTML格式下载ABAP文档。    <br />ARFC_GET_TID &#8211; 以十六进制形式返回终端的IP地址。    <br />BAL_* -容纳了SAP的应用程序日志所有的函数模块。    <br />BP_EVENT_RAISE &#8211;在 ABAP/4 程序中触发一个事件。    <br />BP_JOBLOG_READ &#8211;获得job log的执行结果。    <br />CLOI_PUT_SIGN_IN_FRONT &#8211; 将负号前置， SAP默认将负号放在数字后面。    <br />CLPB_EXPORT &#8211;从内表导入到剪贴板。    <br />CLPB_IMPORT &#8211; 从剪贴板导入内表。    <br />COMMIT_TEXT -To load long text into SAP 。    <br />CONVERSION_EXIT_ALPHA_INPUT - 数字串前补0    <br />example:    <br />input = 123    <br />output = 0000000000000。。。000000000000123    <br />CONVERSION_EXIT_ALPHA_OUTPUT &#8211; 消除数字串前的0    <br />example:    <br />input = 00000000000123    <br />output = 123    <br />CONVERT_OTF &#8211; 将SAP文档(SAP Script)转换成其他类型。    <br />example:    <br />CALL FUNCTION &#8216;CONVERT_OTF&#8217;    <br />EXPORTING    <br />FORMAT = &#8216;PDF&#8217;    <br />IMPORTING    <br />BIN_FILESIZE = FILE_LEN    <br />TABLES    <br />OTF = OTFDATA    <br />LINES = PDFDATA    <br />EXCEPTIONS    <br />ERR_MAX_LINEWIDTH = 1    <br />ERR_FORMAT = 2    <br />ERR_CONV_NOT_POSSIBLE = 3    <br />OTHERS = 4.    <br />DATE_GET_WEEK &#8211; 返回一个日期所在的周数。    <br />DATE_CHECK_PLAUSIBILITY &#8211; 检查一个日期是否是SAP的有效格式。    <br />DYNP_VALUES_READ &#8211; 读取SCREEN字段的值，也可以用来读取报表SELECTION SCREEN。    <br />DYNP_VALUES_UPDATE -更新屏幕字段的值。    <br />ENQUE_SLEEP &#8211;在继续处理之前等待一个指定的时间。    <br />ENQUEUE_ESFUNCTION &#8211; 锁定一个ABAP程序使它不可以被执行:    <br />RELID = &#8216;ZZ&#8217;    <br />SRTF2 = 0    <br />SRTF = (your report name)    <br />注意不要用SY-REPID来传递你的报表名字，当把SY-REPID作为参数传递给函数模块的时候，SY-REPID的值实际上已经发生了变化。    <br />EPS_GET_FILE_ATTRIBUTES &#8211; 获得文件属性。    <br />EPS_GET_DIRECTORY_LISTING &#8211; 返回一个本地或网络目录的文件列表。    <br />F4_DATE - 弹出一个窗口显示一个日历允许用户选择一个日期。    <br />F4IF_SHLP_EXIT_EXAMPLE &#8211; F4接口模块。    <br />FILENAME_GET &#8211; 弹出一个文件选择对话框。    <br />DATA out(60) TYPE c.    <br />CALL FUNCTION &#8216;FILENAME_GET&#8217;    <br />EXPORTING    <br />filename = &#8216;c:1.txt&#8217;    <br />title = &#8216;GET FILENAME&#8217;    <br />IMPORTING    <br />filename = OUT.    <br />FTP_CONNECT &#8211; 打开并登陆FTP服务器的连接。    <br />FTP_COMMAND &#8211; 在FTP服务器上执行一个命令。    <br />FTP_DISCONNECT &#8211;关闭指向FTP服务器的连接。    <br />FORMAT_MESSAGE - Takes a message id and number, and puts it into a variable。 Works better than WRITE_MESSAGE, since some messages use $ as a place holder, and WRITE_MESSAGE does not accommodate that, it only replaces the ampersands (&amp;) in the message。    <br />GET_GLOBAL_SYMBOLS &#8211; 返回一个程序的tables, select options, texts, etc 。甚至包含selection screen的文本定义。    <br />GET_INCLUDETAB &#8211; 获得一个程序的INCLUDES列表。    <br />GUI_CREATE_DIRECTORY &#8211;在显示服务器端创建一个目录 。    <br />GUI_DELETE_FILE &#8211; 在显示服务器端删除一个文件 。    <br />GUI_DOWNLOAD &#8211; 从应用服务器下载内表到显示服务器。    <br />GUI_EXEC &#8211; 调用一个文件或程序，取代了WS_EXECUTE。    <br />GUI_GET_DESKTOP_INFO &#8211; 获得客户端桌面信息，取代了WS_QUERY。    <br />GUI_REMOVE_DIRECTORY &#8211; 从显示服务器删除一个目录 。    <br />GUI_RUN &#8211; 启动一个文件或程序 。    <br />GUI_UPLOAD &#8211; 从显示服务器上传文件到应用服务器，取代了WS_UPLOAD。    <br />HELP_START &#8211; 为一个字段显示帮助。 Useful for doing AT SELECTION SCREEN ON VALUE REQUEST for those fields that do not provide F4 help at the DDIC level。    <br />HOLIDAY_GET &#8211; 基于Factory Calendar&amp;/ Holiday Calendar提供了一个节日表。    <br />INIT_TEXT &#8211;上传长文本到SAP。    <br />K_WERKS_OF_BUKRS_FIND &#8211; 返回一个特定公司代码的所有工厂。    <br />LIST_TO_ASCII &#8211;将ABAP报表从 OTF形式转换成ASCII 形式。    <br />LIST_FROM_MEMORY &#8211; Retrieves the output of a report from memory when the report was executed using SUBMIT。。。EXPORTING LIST TO MEMORY。 See also WRITE_LIST。    <br />MONTH_NAMES_GET &#8211; 获得所有的月和名字    <br />**** MS_EXCEL_OLE_STANDARD_OLE &#8211; 创建一个文件并自动启动Excel 。    <br />CONVERT_OTFSPOOLJOB_2_PDF - converts a OTF spool to PDF (i。e。 Sap script document)    <br />CONVERT_ABAPSPOOLJOB_2_PDF -convert ABAP spool output to PDF    <br />POPUP_TO_CONFIRM_LOSS_OF_DATA &#8211; 弹出一个对话框告知用户有可能丢失数据，询问是否操作继续。    <br />POPUP_TO_CONFIRM_STEP -弹出一个对话框询问用户是否操作继续。    <br />POPUP_TO_CONFIRM_WITH_MESSAGE 可以显示定制的提示信息的确认窗口 类似POPUP_TO_CONFIRM_STEP，只是多三行的文本错误诊断提示。    <br />POPUP_TO_CONFIRM_WITH_VALUE 用此函数可以建立一个对话框用于询问用户是否执行某步操作，该操作可能会丢失数据，用户可以选择Yes No 或者Cancel。该函数可以传入一个标题，两行的文本（提示问题）和一个对象值    <br />POPUP_TO_DECIDE 显示一个对话框，用户可以两个操作中的一个或者取消。可以传入三行提示文本    <br />POPUP_TO_DECIDE_WITH_MESSAGE 类似POPUP_TO_DECIDE    <br />POPUP_TO_DISPLAY_TEXT 显示多行信息的窗口    <br />POPUP_TO_SELECT_MONTH &#8211;弹出一个对话框供选择月。    <br />POPUP_WITH_TABLE_DISPLAY -Provide a display of a table for user to select one,    <br />with the value of the table line returned when selected。    <br />PRICING &#8211; 获得定价条件    <br />PROFILE_GET - 从INI文件读取一条记录    <br />PROFILE_SET &#8211; 往INI文件写一条记录    <br />READ_TEXT &#8211; 上传长文本    <br />REGISTRY_GET &#8211; 从注册表读取一条记录    <br />REGISTRY_SET &#8211; 在注册表里设置一条记录    <br />RFC_ABAP_INSTALL_AND_RUN &#8211; 当MODE参数值为&#8216;F&#8217;时运行PROGRAM表中的程序&#8217;.    <br />RH_GET_ACTIVE_WF_PLVAR &#8211; 获得激活的HR计划    <br />RH_START_EXCEL_WITH_DATA &#8211; 启动Excel并用内表给文件赋值    <br />RH_STRUC_GET &#8211;返回所有相关的组织信息    <br />RP_CALC_DATE_IN_INTERVAL &#8211; 年月日加减    <br />RP_LAST_DAY_OF_MONTHS &#8211; 获得一个月的最后一天    <br />RPY_DYNPRO_READ &#8211; 读取屏幕    <br />RPY_TRANSACTION_READ &#8211; 给定一个事务代码，获得其程序和屏幕；或给定一个程序和屏幕获得事务代码    <br />RS_COVERPAGE_SELECTIONS &#8211; 获得一个报表的选择参数列表。    <br />RS_REFRESH_FROM_SELECTOPTIONS &#8211;获得当前选择屏幕的内容    <br />RS_SEND_MAIL_FOR_SPOOLLIST &#8211; 在程序中给SAP office 发送消息    <br />RS_VARIANT_CONTENTS &#8211; 获得一个变式的内容    <br />RZL_SLEEP &#8211; 将当前程序挂起    <br />RZL_SUBMIT &#8211; 提交一个远程报表    <br />RZL_READ_DIR_LOCAL &#8211; 读取应用服务器的目录    <br />RZL_READ_DIR &#8211; 如果服务器名字左部为空，从本地读取目录，否则读取远程服务器的目录    <br />RZL_READ_FILE &#8211; 如果为给定服务器名字则读取本地文件，否则读取远程服务器文件。    <br />RZL_WRITE_FILE_LOCAL - 将内表保存到显示服务器(not PC). 不使用OPEN DATASET因此避免了授权检查。    <br />SAPGUI_PROGRESS_INDICATOR &#8211; 显示一个进度条    <br />SAVE_TEXT &#8211; 上传长文本    <br />SCROLLING_IN_TABLE &#8211;当编写模块池的时候可以用它来处理滚动    <br />SD_DATETIME_DIFFERENCE &#8211; 两日期作差    <br />SO_NEW_DOCUMENT_ATT_SEND_API1 - 将文档作为邮件的一部分发送    <br />SO_SPLIT_FILE_AND_PATH &#8211; 将一个包含路径的全文件名分割为文件名和路径    <br />SO_SPOOL_READ &#8211; 根据SPOOL号获得printer spool    <br />SO_WIND_SPOOL_LIST &#8211; 根据用户浏览printer spool号    <br />SX_OBJECT_CONVERT_OTF_PDF &#8211; 从OTF转换为PDF (SAP 脚本转换)    <br />SX_OBJECT_CONVERT_OTF_PRT &#8211; 从OTF转换为打印机格式(SAP 脚本转换)    <br />SX_OBJECT_CONVERT_OTF_RAW &#8211; 从OTF转换为ASCII(SAP 脚本转换)    <br />SXPG_CALL_SYSTEM - 检查用户是否有执行某个命令的权限    <br />SXPG_COMMAND_LIST_GET &#8211; 获得一个包含所有定义的外部OS命令的列表.    <br />SXPG_COMMAND_DEFINITION_GET &#8211; 从R/3系统数据库读取单个外部OS命令的定义    <br />SXPG_COMMAND_CHECK - 检查用户是否有执行某个命令的权限    <br />SXPG_COMMAND_EXECUTE -检查用户是否有执行某个命令的权限，拥有授权则执行命令    <br />TERMINAL_ID_GET &#8211;返回终端ID    <br />TH_DELETE_USER &#8211; 剔除一个用户，效果同SM04    <br />TH_ENVIRONMENT &#8211; 获得UNIX环境    <br />TH_POPUP &#8211;在特定用户屏幕上显示一个系统消息    <br />TH_REMOTE_TRANSACTION &#8211; 在远程服务器上运行事务代码    <br />TH_USER_INFO &#8211; 获得当前用户的信息 (会话，登陆的工作台等)    <br />TH_USER_LIST &#8211;显示登陆到应用服务器的用户列表    <br />UNIT_CONVERSION_SIMPLE &#8211;衡量单位转换    <br />UPLOAD &#8211;上传文件到显示服务器    <br />UPLOAD_FILES &#8211; 上传一个或多个文件    <br />WRITE_LIST &#8211;显示一个列表对象    <br />WS_DOWNLOAD &#8211;将内表下载到显示服务器    <br />WS_EXCEL &#8211;启动EXCEL    <br />WS_EXECUTE &#8211;执行一个程序    <br />WS_FILE_DELETE &#8211; 删除一个文件    <br />WS_FILENAME_GET &#8211;调用文件选择对话框    <br />WS_MSG &#8211;显示一个对话框显示在线消息    <br />WS_UPLOAD &#8211; 从显示服务器上传文件到内表    <br />WS_VOLUME_GET &#8211;获得终端设备标签    <br />WWW_LIST_TO_HTML &#8211; 运行一个报表之后，调用这个方法将列表输出转换成HTML    <br />SD_VBAP_READ_WITH_VBELN 根据销售订单读取表vbap中的信息    <br />EDIT_LINES 把READ_TEXT返回的LINES中的行按照TDFORMAT=&#8220;*&#8221;重新组织    <br />VIEW_MAINTENANCE_CALL 维护表视图    <br />DY_GET_FOCUS 获得屏幕焦点    <br />DY_GET_SET_FIELD_VALUE 获得或者设置屏幕字段的值    <br />F4IF_INT_TABLE_VALUE_REQUEST 显示检索help    <br />CONVERSION_EXIT_CUNIT_OUTPUT 单位转换    <br />SJIS_DBC_TO_SBC 全角转半角    <br />SJIS_SBC_TO_DBC 半角转换为全角    <br />CO_R0_CHECK_DECIMAL_POINT 根据单位检查数据的小数位    <br />POSTAL_CODE_CHECK 检查邮政编码 GET_JOB_RUNTIME_INFO 获得job相关信息    <br />TERMINAL_ID_GET 获得终端    <br />idDATE_CONVERT_TO_FACTORYDATE 把输入日期转为工厂日历日期    <br />MESSAGE_TEXT_BUILD 把消息转为文本    <br />CONVERT_TO_LOCAL_CURRENCY 按照指定日期汇率转换金额为指定货币类型    <br />SSF_FUNCTION_MODULE_NAME 根据form名取得对应的函数名(SmartForm)    <br />DATE_CHECK_PLAUSIBILITY 检查日期合法性    <br />CHECKcl_gui_frontend_services=&gt;gui_upload 上传到服务器    <br />cl_gui_frontend_services=&gt;gui_download 下载到本地    <br />SSF_FUNCTION_MODULE_NAME SMARTFORMS输出报表时，生成一个函数名称，然后CALL这个名    <br />通过这个日期得出那天是星期几    <br />DAY_IN_WEEK    <br />用来得到将来/过去的日期的    <br />RP_CALC_DATE_IN_INTERVAL    <br />日期的加减    <br />BKK_ADD_MONTH_TO_DATE    <br />一组有用的用户交互窗口函数    <br />POPUP_TO_CONFIRM_LOSS_OF_DATA 显示有YES/NO的弹出窗口，提示用户未保存的数据将丢失    <br />POPUP_TO_CONFIRM_STEP 提示是否确认操作的弹出窗口    <br />POPUP_TO_CONFIRM_WITH_MESSAGE 可以显示定制的提示信息的确认窗口    <br />POPUP_TO_CONFIRM_WITH_VALUE 显示确认用户对某个特定对象的操作的弹出窗口    <br />POPUP_TO_DECIDE 将待确认选项以单选按钮的方式显示的弹出窗口    <br />POPUP_TO_DECIDE_WITH_MESSAGE 带消息的确认窗口    <br />POPUP_TO_DISPLAY_TEXT 显示多行信息的窗口    <br />POPUP_TO_SELECT_MONTH 月份选择窗口    <br />POPUP_WITH_TABLE_DISPLAY 有表格对象的确认窗口    <br />一组操纵客户端文件系统的函数    <br />GUI_CREATE_DIRECTORY 在PC上建立文件目录    <br />GUI_DELETE_FILE 删除PC上的文件    <br />GUI_DOWNLOAD 文件下载函数    <br />GUI_EXEC 执行PC上的程序，或者打开文件    <br />GUI_GET_DESKTOP_INFO 得到PC客户端的系统信息，比如操作系统等    <br />GUI_REMOVE_DIRECTORY 删除PC目录    <br />GUI_RUN 运行PC程序（ShellExecute）    <br />GUI_UPLOAD 从PC上传程序    <br />判断某天是否是假日    <br />HOLIDAY_CHECK_AND_GET_INFO    <br />ABAP_DOCU_DOWNLOAD    <br />Download ABAP documentation in HTML format.    <br />GET_CURRENT_YEAR    <br />得到当前的财政年（fiscal year）    <br />察看某日期的属性，包括该日期是星期几，第几天（周2=2），是不是公共假期等，需要输入国家日历。    <br />DAY_ATTRIBUTES_GET    <br />Return useful information about a day. Will tell you the day of the week as a word (Tuesday), the day of the week (2 would be Tuedsay), whether the day is a holiday, and more.(provided by Francois Henrotte)?    <br />CLPB_IMPORT ：从剪贴板导入internal table    <br />CLPB_EXPORT ： 从internal table输入到剪贴板    <br />示例程序：GRCLPB_1    <br />在SE38环境下的程序名输入栏输入&#8217;DEMO*&#8217;后按F4，你可以查到SAP所有的DEMO示例程序，会学到很多ABAP功能的实现方法,输入&#8217;BCALV*&#8217;后按F4，你可以查到很多ALV示例程序</p>
<p> Via <a href="http://blog.chinaunix.net/u2/68743/showart_724975.html" target="_blank">web</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.saplab.net/2008/06/13/sap%e5%87%bd%e6%95%b0/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ABAP MONTH</title>
		<link>http://www.saplab.net/2008/06/11/abap-month/</link>
		<comments>http://www.saplab.net/2008/06/11/abap-month/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 02:24:14 +0000</pubDate>
		<dc:creator>Jack Park</dc:creator>
		
		<category><![CDATA[ABAP Tips]]></category>

		<category><![CDATA[LastDay]]></category>

		<category><![CDATA[Month]]></category>

		<guid isPermaLink="false">http://www.saplab.net/2008/06/11/abap-month/</guid>
		<description><![CDATA[月份的描述表T247,存储了不同语言的月份描述，实例：
REPORT ZEXAMPLE.
DATA: BEGIN OF MONTH_NAMES OCCURS 0.
INCLUDE STRUCTURE T247.
DATA: END OF MONTH_NAMES.
DATA: V_LASTDAY LIKE SY-DATUM,
V_NEXTMONTH LIKE SY-DATUM,
V_DAYTXT(15).
CALL FUNCTION &#8216;MONTH_NAMES_GET&#8217;
EXPORTING
LANGUAGE = SY-LANGU
TABLES
MONTH_NAMES = MONTH_NAMES
EXCEPTIONS
MONTH_NAMES_NOT_FOUND = 1
OTHERS = 2.
CALL FUNCTION &#8216;RP_LAST_DAY_OF_MONTHS&#8217;
EXPORTING
DAY_IN = SY-DATUM
IMPORTING
LAST_DAY_OF_MONTH = V_LASTDAY.
CALL FUNCTION &#8216;RH_GET_DATE_DAYNAME&#8217;
EXPORTING
LANGU = SY-LANGU
DATE = V_LASTDAY
IMPORTING
DAYTXT = V_DAYTXT.
READ TABLE MONTH_NAMES WITH KEY MNR = SY-DATUM+4(2).
WRITE:/&#8217;THE LAST DAY OF&#8217;, MONTH_NAMES-LTX, &#8216;IS THE&#8217;, V_LASTDAY, [...]]]></description>
			<content:encoded><![CDATA[<p>月份的描述表T247,存储了不同语言的月份描述，实例：</p>
<p>REPORT ZEXAMPLE.</p>
<p>DATA: BEGIN OF MONTH_NAMES OCCURS 0.</p>
<p>INCLUDE STRUCTURE T247.</p>
<p>DATA: END OF MONTH_NAMES.</p>
<p>DATA: V_LASTDAY LIKE SY-DATUM,</p>
<p>V_NEXTMONTH LIKE SY-DATUM,</p>
<p>V_DAYTXT(15).</p>
<p>CALL FUNCTION &#8216;MONTH_NAMES_GET&#8217;</p>
<p>EXPORTING</p>
<p>LANGUAGE = SY-LANGU</p>
<p>TABLES</p>
<p>MONTH_NAMES = MONTH_NAMES</p>
<p>EXCEPTIONS</p>
<p>MONTH_NAMES_NOT_FOUND = 1</p>
<p>OTHERS = 2.</p>
<p>CALL FUNCTION &#8216;RP_LAST_DAY_OF_MONTHS&#8217;</p>
<p>EXPORTING</p>
<p>DAY_IN = SY-DATUM</p>
<p>IMPORTING</p>
<p>LAST_DAY_OF_MONTH = V_LASTDAY.</p>
<p>CALL FUNCTION &#8216;RH_GET_DATE_DAYNAME&#8217;</p>
<p>EXPORTING</p>
<p>LANGU = SY-LANGU</p>
<p>DATE = V_LASTDAY</p>
<p>IMPORTING</p>
<p>DAYTXT = V_DAYTXT.</p>
<p>READ TABLE MONTH_NAMES WITH KEY MNR = SY-DATUM+4(2).</p>
<p>WRITE:/&#8217;THE LAST DAY OF&#8217;, MONTH_NAMES-LTX, &#8216;IS THE&#8217;, V_LASTDAY, &#8216;WHICH IS A&#8217;, V_DAYTXT.</p>
<p>CALL FUNCTION &#8216;MONTH_PLUS_DETERMINE&#8217;</p>
<p>EXPORTING</p>
<p>MONTHS = &#8216;1&#8242;</p>
<p>OLDDATE = SY-DATUM</p>
<p>IMPORTING</p>
<p>NEWDATE = V_NEXTMONTH.</p>
<p>READ TABLE MONTH_NAMES WITH KEY MNR = V_NEXTMONTH+4(2).</p>
<p>WRITE:/&#8217;NEXT MONTH IS&#8217;, MONTH_NAMES-LTX.</p>
<p>CALL FUNCTION &#8216;RE_ADD_MONTH_TO_DATE&#8217;</p>
<p>EXPORTING</p>
<p>MONTHS = &#8216;1&#8242;</p>
<p>OLDDATE = V_NEXTMONTH</p>
<p>IMPORTING</p>
<p>NEWDATE = V_NEXTMONTH.</p>
<p>READ TABLE MONTH_NAMES WITH KEY MNR = V_NEXTMONTH+4(2).</p>
<p>WRITE:/&#8217;THE MONTH AFTER THAT IS&#8217;, MONTH_NAMES-LTX.</p>
<p> via <a href="http://www.cnblogs.com/byfhd/archive/2007/08/08/847943.html" target="_blank">web</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.saplab.net/2008/06/11/abap-month/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ABAP Useful Function</title>
		<link>http://www.saplab.net/2008/06/06/abap-useful-function/</link>
		<comments>http://www.saplab.net/2008/06/06/abap-useful-function/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 06:58:33 +0000</pubDate>
		<dc:creator>Jack Park</dc:creator>
		
		<category><![CDATA[ABAP Syntax]]></category>

		<category><![CDATA[Function]]></category>

		<guid isPermaLink="false">http://www.saplab.net/2008/06/06/abap-useful-function/</guid>
		<description><![CDATA[1. 获取每个月的最后一天
&#160;&#160; CALL FUNCTION &#8216;LAST_DAY_OF_MONTHS&#8217;   &#160;&#160;&#160;&#160;&#160;&#160; EXPORTING    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; day_in&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = date    &#160;&#160;&#160;&#160;&#160;&#160; IMPORTING    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; last_day_of_month = date1.
2. 字符串前面去掉0
 call function &#8216;CONVERSION_EXIT_ALPHA_OUTPUT&#8217;   &#160;&#160;&#160;&#160;&#160;&#160; exporting    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; input&#160; = &#38;1    &#160;&#160;&#160;&#160;&#160;&#160;&#160; importing    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; output = &#38;1.
3. [...]]]></description>
			<content:encoded><![CDATA[<p>1. 获取每个月的最后一天</p>
<p>&#160;&#160; CALL FUNCTION &#8216;LAST_DAY_OF_MONTHS&#8217;   <br />&#160;&#160;&#160;&#160;&#160;&#160; EXPORTING    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; day_in&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = date    <br />&#160;&#160;&#160;&#160;&#160;&#160; IMPORTING    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; last_day_of_month = date1.</p>
<p>2. 字符串前面去掉0</p>
<p> call function &#8216;CONVERSION_EXIT_ALPHA_OUTPUT&#8217;   <br />&#160;&#160;&#160;&#160;&#160;&#160; exporting    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; input&#160; = &amp;1    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; importing    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; output = &amp;1.</p>
<p>3. 字符串前面自动补0</p>
<p>&#160; call function &#8216;CONVERSION_EXIT_ALPHA_INPUT&#8217;   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; exporting    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; input&#160; = &amp;1    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; importing    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; output = &amp;1.</p>
<p>4.&#160; 获取生产定单状态</p>
<p> call function &#8216;STATUS_TEXT_EDIT&#8217;   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; EXPORTING    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; flg_user_stat&#160;&#160;&#160; = &#8216;X&#8217;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; objnr&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = LO_OBJNR    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; only_active&#160;&#160;&#160;&#160;&#160; = &#8216;X&#8217;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; spras&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = sy-langu    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; IMPORTING    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; line&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = ls_statu    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; EXCEPTIONS    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; object_not_found = 01.</p>
<p>5. 金额转换成大写</p>
<p>CALL FUNCTION &#8216;SPELL_AMOUNT&#8217;   <br />&#160;&#160;&#160;&#160;&#160;&#160; EXPORTING    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; AMOUNT&#160;&#160;&#160; = T_AMOUNT10    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; CURRENCY&#160; = &#8216;RMB&#8217;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; LANGUAGE&#160; = &#8216;1&#8242;    <br />&#160;&#160;&#160;&#160;&#160;&#160; IMPORTING    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; IN_WORDS&#160; = S_AMWORD2    <br />&#160;&#160;&#160;&#160;&#160;&#160; EXCEPTIONS    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; NOT_FOUND = 1    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; TOO_LARGE = 2    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; OTHERS&#160;&#160;&#160; = 3.</p>
<p>6. 把SAP里的负号放到前面来的函数</p>
<p>&#160;&#160; DATA : t(10) TYPE c VALUE &#8216;65465-&#8217; .</p>
<p>&#160;&#160; CALL FUNCTION &#8216;CLOI_PUT_SIGN_IN_FRONT&#8217;   <br />&#160;&#160;&#160;&#160;&#160; CHANGING    <br />&#160;&#160;&#160;&#160;&#160;&#160; value = t.    <br />write : t .&#160;&#160; </p>
<p>7. 通过这个日期得出那天是星期几</p>
<p>&#160;&#160;&#160; DAY_IN_WEEK</p>
<p>8.&#160; 一组有用的用户交互窗口函数</p>
<p>POPUP_TO_CONFIRM_LOSS_OF_DATA 显示有YES/NO的弹出窗口，提示用户未保存的数据将丢失&#160; <br />&#160;&#160; POPUP_TO_CONFIRM_STEP 提示是否确认操作的弹出窗口&#160; <br />&#160;&#160; POPUP_TO_CONFIRM_WITH_MESSAGE 可以显示定制的提示信息的确认窗口&#160; <br />&#160;&#160; POPUP_TO_CONFIRM_WITH_VALUE 显示确认用户对某个特定对象的操作的弹出窗口&#160; <br />&#160;&#160; POPUP_TO_DECIDE 将待确认选项以单选按钮的方式显示的弹出窗口&#160; <br />&#160;&#160; POPUP_TO_DECIDE_WITH_MESSAGE 带消息的确认窗口&#160; <br />&#160;&#160; POPUP_TO_DISPLAY_TEXT 显示多行信息的窗口&#160; <br />&#160;&#160; POPUP_TO_SELECT_MONTH 月份选择窗口&#160; <br />&#160;&#160; POPUP_WITH_TABLE_DISPLAY 有表格对象的确认窗口</p>
<p>9. 判断某天是否是假日</p>
<p>HOLIDAY_CHECK_AND_GET_INFO</p>
<p>10.&#160; 在SE38环境下的程序名输入栏输入&#8217;DEMO*&#8217;后按F4，你可以查到SAP所有的DEMO示例程序</p>
<p>运行&#8220;ABAPDOCU&#8221;T-cdoe，你可以看到ABAP DOCUMENT及示例程序</p>
<p>在SE38环境下的程序名输入栏输入&#8217;BCALV*&#8217;后按F4，你可以查到很多ALV示例程序</p>
<p> (via Web)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saplab.net/2008/06/06/abap-useful-function/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ABAP ALV Report- SD FLOW ALV</title>
		<link>http://www.saplab.net/2008/06/05/abap-alv-report-sd-flow-alv/</link>
		<comments>http://www.saplab.net/2008/06/05/abap-alv-report-sd-flow-alv/#comments</comments>
		<pubDate>Thu, 05 Jun 2008 07:18:08 +0000</pubDate>
		<dc:creator>Jack Park</dc:creator>
		
		<category><![CDATA[Program]]></category>

		<category><![CDATA[ABAP Report]]></category>

		<category><![CDATA[ALV]]></category>

		<category><![CDATA[Program.SD]]></category>

		<category><![CDATA[Report]]></category>

		<guid isPermaLink="false">http://www.saplab.net/2008/06/05/abap-alv-report-sd-flow-alv/</guid>
		<description><![CDATA[
*&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*   *&#38; Report&#160; ZJACKTEST    *&#38;    *&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*    *&#38;    *&#38;    *&#38;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* 
REPORT&#160; ZJACKTEST. 
TYPE-POOLS: slis.   TABLES: vbak,vbap, knvv, kna1, mara ,lips, vbrp.    TYPES: BEGIN OF record,    &#160;&#160;&#160;&#160;&#160;&#160;&#160; sdoc LIKE vbak-vbeln,   [...]]]></description>
			<content:encoded><![CDATA[</p>
<p>*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*   <br />*&amp; Report&#160; ZJACKTEST    <br />*&amp;    <br />*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*    <br />*&amp;    <br />*&amp;    <br />*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;* </p>
<p>REPORT&#160; ZJACKTEST. </p>
<p>TYPE-POOLS: slis.   <br />TABLES: vbak,vbap, knvv, kna1, mara ,lips, vbrp.    <br />TYPES: BEGIN OF record,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; sdoc LIKE vbak-vbeln,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; sitem LIKE vbap-posnr,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; mcode LIKE mara-matnr,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; mname LIKE vbap-arktx,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; oquanti LIKE vbap-kwmeng,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ovalue LIKE vbap-netwr,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ocurrency LIKE vbap-waerk,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ddoc LIKE lips-vbeln,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ditem LIKE lips-posnr,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; idoc LIKE vbrp-vbeln,    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; iitem LIKE vbrp-posnr,    <br />&#160;&#160;&#160;&#160;&#160; END OF record. </p>
<p>DATA: itab TYPE STANDARD TABLE OF record WITH HEADER LINE.   <br />DATA:&#160; name1 LIKE kna1-name1,    <br />&#160;&#160;&#160;&#160;&#160;&#160; name2 LIKE kna1-name2.    <br />DATA: i_fieldcat_alv TYPE slis_t_fieldcat_alv WITH HEADER LINE,    <br />&#160;&#160;&#160;&#160;&#160; it_events TYPE slis_alv_event OCCURS 1 WITH HEADER LINE,    <br />&#160;&#160;&#160;&#160;&#160; alv_event&#160;&#160;&#160;&#160;&#160;&#160;&#160; TYPE slis_t_event,    <br />&#160;&#160;&#160;&#160;&#160; I_layout TYPE slis_layout_alv,    <br />&#160;&#160;&#160;&#160;&#160; i_fieldcat TYPE slis_fieldcat_alv,    <br />&#160;&#160;&#160;&#160;&#160; pos&#160;&#160;&#160;&#160;&#160;&#160;&#160; TYPE i VALUE 1,    <br />&#160;&#160;&#160;&#160;&#160; w_repid LIKE sy-repid.    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />* Selection-screen design&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; *    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-* </p>
<p>SELECT-OPTIONS: o_date FOR vbak-erdat OBLIGATORY.&#160;&#160;&#160;&#160; &quot;sales docu date </p>
<p>PARAMETERS: customer LIKE vbak-kunnr OBLIGATORY   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; DEFAULT &#8216;GCN00010&#8242;,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;customer code    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; material LIKE mara-matnr OBLIGATORY    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; DEFAULT &#8216;000000000280012001&#8242;.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;material number    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />* Start of selection event&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; *    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-* </p>
<p>*START-OF-SELECTION. </p>
<p>&#160; PERFORM data_selection.   <br />&#160; perform layout_build.    <br />&#160; PERFORM fields.    <br />&#160; PERFORM append_alv_event CHANGING alv_event.    <br />&#160; PERFORM display_data.    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />*form data_selection    <br />**    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-* </p>
<p>FORM data_selection.   <br /> SELECT a~vbeln b~posnr c~matnr b~arktx b~kwmeng b~netwr b~waerk    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; c~vbeln c~posnr d~vbeln d~posnr    <br /> INTO (itab-sdoc, itab-sitem, itab-mcode, itab-mname,    <br />&#160;&#160;&#160;&#160;&#160;&#160; itab-oquanti,itab-ovalue,itab-ocurrency, itab-ddoc,    <br />&#160;&#160;&#160;&#160;&#160;&#160; itab-ditem, itab-idoc, itab-iitem)    <br /> FROM ( ( lips AS c    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; INNER JOIN vbrp AS d ON c~vbeln = d~vgbel    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; AND c~posnr = d~vgpos    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; INNER JOIN vbap AS b&#160; ON c~vgbel = b~vbeln    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; AND&#160; c~vgpos = b~posnr )    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; INNER JOIN vbak AS a ON a~vbeln = b~vbeln )    <br /> WHERE a~erdat IN o_date AND a~kunnr = customer AND b~matnr = material.    <br />&#160;&#160;&#160; APPEND itab.    <br />&#160; ENDSELECT. </p>
<p>&#160; IF sy-subrc NE 0.   <br />&#160;&#160;&#160; MESSAGE &#8216;No Corresponding Record!&#8217; TYPE &#8216;I&#8217;.    <br />&#160; ENDIF.    <br />ENDFORM.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;data_selection    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />*form fields    <br />**    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />FORM fields.    <br />&#160; REFRESH i_fieldcat_alv.    <br />&#160; pos = 1.    <br />&#160; CLEAR i_fieldcat. </p>
<p>&#160; i_fieldcat-col_pos = pos.   <br />&#160; i_fieldcat-fieldname = &#8216;SDOC&#8217;.    <br />&#160; i_fieldcat-seltext_l = &#8216;주문번호&#8217;.    <br />&#160; APPEND i_fieldcat TO i_fieldcat_alv. </p>
<p>&#160; pos = pos + 1.   <br />&#160; i_fieldcat-col_pos&#160;&#160;&#160;&#160;&#160;&#160; =&#160; pos.    <br />&#160; i_fieldcat-fieldname&#160;&#160;&#160;&#160; = &#8216;SITEM&#8217;.    <br />&#160; i_fieldcat-seltext_l&#160;&#160;&#160;&#160; = &#8216;아이템번호&#8217;.    <br />&#160; APPEND i_fieldcat TO&#160; i_fieldcat_alv. </p>
<p>&#160; pos = pos + 1.   <br />&#160; i_fieldcat-col_pos&#160;&#160;&#160;&#160;&#160;&#160; =&#160; pos.    <br />&#160; i_fieldcat-fieldname&#160;&#160;&#160;&#160; = &#8216;MCODE&#8217;.    <br />&#160; i_fieldcat-seltext_l&#160;&#160;&#160;&#160; = &#8216;제품코드&#8217;.    <br />&#160; APPEND i_fieldcat TO&#160; i_fieldcat_alv. </p>
<p>&#160; pos = pos + 1.   <br />&#160; i_fieldcat-col_pos&#160;&#160;&#160;&#160;&#160;&#160; =&#160; pos.    <br />&#160; i_fieldcat-fieldname&#160;&#160;&#160;&#160; = &#8216;MNAME&#8217;.    <br />&#160; i_fieldcat-seltext_l&#160;&#160;&#160;&#160; = &#8216;제품명&#8217;.    <br />&#160; APPEND i_fieldcat TO&#160; i_fieldcat_alv. </p>
<p>&#160; pos = pos + 1.   <br />&#160; i_fieldcat-col_pos&#160;&#160;&#160;&#160;&#160;&#160; =&#160; pos.    <br />&#160; i_fieldcat-fieldname&#160;&#160;&#160;&#160; = &#8216;OQUANTI&#8217;.    <br />&#160; i_fieldcat-seltext_l&#160;&#160;&#160;&#160; = &#8216;주문수량&#8217;.    <br />&#160; APPEND i_fieldcat TO&#160; i_fieldcat_alv. </p>
<p>&#160; pos = pos + 1.   <br />&#160; i_fieldcat-col_pos&#160;&#160;&#160;&#160;&#160;&#160; =&#160; pos.    <br />&#160; i_fieldcat-fieldname&#160;&#160;&#160;&#160; = &#8216;OVALUE&#8217;.    <br />&#160; i_fieldcat-seltext_l&#160;&#160;&#160;&#160; = &#8216;주문실적&#8217;.    <br />&#160; APPEND i_fieldcat TO&#160; i_fieldcat_alv. </p>
<p>&#160; pos = pos + 1.   <br />&#160; i_fieldcat-col_pos&#160;&#160;&#160;&#160;&#160;&#160; =&#160; pos.    <br />&#160; i_fieldcat-fieldname&#160;&#160;&#160;&#160; = &#8216;OCURRENCY&#8217;.    <br />&#160; i_fieldcat-seltext_l&#160;&#160;&#160;&#160; = &#8216;단위&#8217;.    <br />&#160; APPEND i_fieldcat TO&#160; i_fieldcat_alv. </p>
<p>&#160; pos = pos + 1.   <br />&#160; i_fieldcat-col_pos&#160;&#160;&#160;&#160;&#160;&#160; =&#160; pos.    <br />&#160; i_fieldcat-fieldname&#160;&#160;&#160;&#160; = &#8216;DDOC&#8217;.    <br />&#160; i_fieldcat-seltext_l&#160;&#160;&#160;&#160; = &#8216;납품문서번호&#8217;.    <br />&#160; APPEND i_fieldcat TO&#160; i_fieldcat_alv. </p>
<p>&#160; pos = pos + 1.   <br />&#160; i_fieldcat-col_pos&#160;&#160;&#160;&#160;&#160;&#160; =&#160; pos.    <br />&#160; i_fieldcat-fieldname&#160;&#160;&#160;&#160; = &#8216;DITEM&#8217;.    <br />&#160; i_fieldcat-seltext_l&#160;&#160;&#160;&#160; = &#8216;아이템&#8217;.    <br />&#160; APPEND i_fieldcat TO&#160; i_fieldcat_alv. </p>
<p>&#160; pos = pos + 1.   <br />&#160; i_fieldcat-col_pos&#160;&#160;&#160;&#160;&#160;&#160; =&#160; pos.    <br />&#160; i_fieldcat-fieldname&#160;&#160;&#160;&#160; = &#8216;IDOC&#8217;.    <br />&#160; i_fieldcat-seltext_l&#160;&#160;&#160;&#160; = &#8216;대금청구번호&#8217;.    <br />&#160; APPEND i_fieldcat TO&#160; i_fieldcat_alv. </p>
<p>&#160; pos = pos + 1.   <br />&#160; i_fieldcat-col_pos&#160;&#160;&#160;&#160;&#160;&#160; =&#160; pos.    <br />&#160; i_fieldcat-fieldname&#160;&#160;&#160;&#160; = &#8216;IITEM&#8217;.    <br />&#160; i_fieldcat-seltext_l&#160;&#160;&#160;&#160; = &#8216;아이템번호&#8217;.    <br />&#160; APPEND i_fieldcat TO&#160; i_fieldcat_alv. </p>
<p>&#160; CLEAR i_fieldcat.   <br />ENDFORM.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;fields </p>
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*   <br />*form display_data    <br />**    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />FORM display_data.    <br />&#160; w_repid = sy-repid.    <br />&#160; CALL FUNCTION &#8216;REUSE_ALV_LIST_DISPLAY&#8217;    <br />&#160;&#160;&#160; EXPORTING    <br />&#160;&#160;&#160;&#160;&#160; i_callback_program = w_repid    <br />&#160;&#160;&#160;&#160;&#160; i_callback_user_command = &#8216;USER_COMMAND&#8217;    <br />&#160;&#160; is_layout = i_layout    <br />&#160;&#160; it_events = alv_event[]    <br />*&#160;&#160;&#160;&#160;&#160; i_save&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = &#8216; &#8216;    <br />&#160;&#160;&#160;&#160;&#160; it_fieldcat&#160;&#160;&#160;&#160;&#160;&#160;&#160; = i_fieldcat_alv[]    <br />&#160;&#160;&#160; TABLES    <br />&#160;&#160;&#160;&#160;&#160; t_outtab&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = itab.    <br />ENDFORM.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot;display_data    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />*form layout_build    <br />**    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />Form layout_build.    <br />*&#160;&#160; I_layout-detail_popup&#160;&#160;&#160;&#160;&#160; = &#8216;X&#8217;.&#160; &quot; Display row in popup    <br />&#160;&#160; I_layout-get_selinfos&#160;&#160;&#160;&#160;&#160; = &#8216;X&#8217;.&#160; &quot; Read selection screen in    <br />&#160;&#160; i_layout-colwidth_optimize = &#8216;X&#8217;.    <br />*&#160;&#160; layout-zebra&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = &#8216;X&#8217;.&#160; &quot;striped pattern    <br />*&#160;&#160; I_layout-f2code&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; = &#8216;&amp;ETA&#8217;. </p>
<p>endform.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot; BUILD_LAYOUT </p>
<p>*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*   <br />*&#160;&#160;&#160;&#160;&#160; &lt;&#8211;P_ALV_EVENT&#160; text    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />FORM append_alv_event CHANGING p_alv_event TYPE slis_t_event.    <br />&#160; DATA ls_events TYPE slis_alv_event.    <br />&#160; ls_events-name = &#8216;USER_COMMAND&#8217;.    <br />&#160; ls_events-form = &#8216;USER_COMMAND&#8217;.    <br />&#160; APPEND ls_events TO p_alv_event.    <br />*&#160; ls_events-name = &#8216;TOP_OF_PAGE&#8217;.    <br />*&#160; ls_events-form = &#8216;TOP_OF_PAGE&#8217;.    <br />*&#160; APPEND ls_events TO p_alv_event.    <br />ENDFORM.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &quot; append_alv_event    <br />*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*    <br />*&amp;&#160;&#160;&#160;&#160;&#160; Form&#160; LINE_SELECTION    <br />*&amp;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;*    <br />*&#160;&#160;&#160;&#160;&#160;&#160; text    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />*&#160; &#8211;&gt;&#160; p1&#160;&#160;&#160;&#160;&#160;&#160;&#160; text    <br />*&#160; &lt;&#8211;&#160; p2&#160;&#160;&#160;&#160;&#160;&#160;&#160; text    <br />*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-*    <br />FORM user_command USING r_ucomm LIKE sy-ucomm    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; rs_selfield TYPE slis_selfield.    <br />&#160; CHECK r_ucomm EQ &#8216;&amp;IC1&#8242; AND NOT rs_selfield-value IS INITIAL.    <br />&#160; CASE rs_selfield-fieldname.    <br />&#160;&#160;&#160; WHEN &#8216;ITAB-SDOC&#8217;.    <br />&#160;&#160;&#160;&#160;&#160; SET PARAMETER ID &#8216;AUN&#8217; FIELD rs_selfield-valuE.    <br />&#160;&#160;&#160;&#160;&#160; CALL TRANSACTION &#8216;VA03&#8242; AND SKIP FIRST SCREEN.    <br />&#160;&#160;&#160; WHEN &#8216;ITAB-DDOC&#8217;.    <br />&#160;&#160;&#160;&#160;&#160; SET PARAMETER ID &#8216;VL&#8217; FIELD rs_selfield-value.    <br />&#160;&#160;&#160;&#160;&#160; CALL TRANSACTION &#8216;VL03N&#8217; AND SKIP FIRST SCREEN. </p>
<p>&#160;&#160;&#160; WHEN &#8216;ITAB-IDOC&#8217;.   <br />&#160;&#160;&#160;&#160;&#160; SET PARAMETER ID &#8216;VF&#8217; FIELD rs_selfield-value.    <br />&#160;&#160;&#160;&#160;&#160; CALL TRANSACTION &#8216;VF03&#8242; AND SKIP FIRST SCREEN.    <br />&#160; ENDCASE.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.saplab.net/2008/06/05/abap-alv-report-sd-flow-alv/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
