<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Indra Dewaji</title>
	<atom:link href="http://indradewaji.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://indradewaji.wordpress.com</link>
	<description>SAP ABAP Consultant</description>
	<lastBuildDate>Tue, 31 May 2011 05:57:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='indradewaji.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Indra Dewaji</title>
		<link>http://indradewaji.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://indradewaji.wordpress.com/osd.xml" title="Indra Dewaji" />
	<atom:link rel='hub' href='http://indradewaji.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Dynamic Query Program for HR (PA &amp; Payroll)</title>
		<link>http://indradewaji.wordpress.com/2011/05/31/dynamic-query-program-for-hr-pa-payroll/</link>
		<comments>http://indradewaji.wordpress.com/2011/05/31/dynamic-query-program-for-hr-pa-payroll/#comments</comments>
		<pubDate>Tue, 31 May 2011 05:44:24 +0000</pubDate>
		<dc:creator>indradewaji</dc:creator>
				<category><![CDATA[ABAP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[abap program]]></category>
		<category><![CDATA[query prog]]></category>
		<category><![CDATA[sap query]]></category>

		<guid isPermaLink="false">http://indradewaji.wordpress.com/?p=98</guid>
		<description><![CDATA[This article only give an Idea to create a program dynamically call many Infotype or Cluster table (RT) listed on customizing tables that we create. Developer can create many reports just with a small enhancement. Output Layout and Screen Flow: Selection Screen: Standard selection screen for LDB PNP Report Generated: Standard ALV Layout Download to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=98&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This article only give an Idea to create a program dynamically call many Infotype or Cluster table (RT) listed on customizing tables that we create. Developer can create many reports just with a small enhancement.</p>
<p><span id="more-98"></span>Output Layout and Screen Flow:</p>
<p>Selection Screen: Standard selection screen for LDB PNP<br />
Report Generated: Standard ALV Layout<br />
Download to Excel: Excel in place using BDS technology</p>
<p>Tables</p>
<p>Create tables listed below. You should create a maintenance table or view cluster (Please refer to other documentation on SDN how to create a maintenance table or view cluster) to make an easy user interface.</p>
<p>ZHQUE_TCODE</p>
<p>MANDT MANDT CLNT 3<br />
TCODE TCODE CHAR 20<br />
STEXT STEXT CHAR 40</p>
<p>2. ZHQUE_FIELDS</p>
<p>MANDT MANDT CLNT 3<br />
TCODE TCODE CHAR 20<br />
INFTY INFTY CHAR 4<br />
TABNAME TABNAME CHAR 30<br />
FIELDNAME FIELDNAME CHAR 30<br />
FIELDALIAS ZDE_FIELDALIAS CHAR 30<br />
FIELDNMPY ZDE_FIELDNMPY CHAR 30<br />
FIELDTEXT STEXT CHAR 40<br />
SEQNR SEQNR NUMC 3</p>
<p>3. ZHQUE_WGTYP</p>
<p>MANDT MANDT CLNT 3<br />
FIELDNAME FIELDNAME CHAR 30<br />
OPERATION ZDE_OPERATION CHAR 1<br />
DESCRIPTION TEXT80 CHAR 80<br />
LGART01 ZDE_LGNM CHAR 4<br />
LGART02 ZDE_LGNM CHAR 4<br />
LGART03 ZDE_LGNM CHAR 4<br />
LGART04 ZDE_LGNM CHAR 4<br />
LGART05 ZDE_LGNM CHAR 4<br />
LGART06 ZDE_LGNM CHAR 4<br />
LGART07 ZDE_LGNM CHAR 4<br />
LGART08 ZDE_LGNM CHAR 4<br />
LGART09 ZDE_LGNM CHAR 4<br />
LGART10 ZDE_LGNM CHAR 4<br />
LGART11 ZDE_LGNM CHAR 4<br />
LGART12 ZDE_LGNM CHAR 4<br />
LGART13 ZDE_LGNM CHAR 4<br />
LGART14 ZDE_LGNM CHAR 4<br />
LGART15 ZDE_LGNM CHAR 4<br />
LGART16 ZDE_LGNM CHAR 4<br />
LGART17 ZDE_LGNM CHAR 4<br />
LGART18 ZDE_LGNM CHAR 4<br />
LGART19 ZDE_LGNM CHAR 4<br />
LGART20 ZDE_LGNM CHAR 4</p>
<p>Data Selection Logic</p>
<p>Choose parameters<br />
Click execute in ALV Grid will be displayed<br />
Download to excel, and excel in place will be displayed</p>
<p>Program Code</p>
<p>1. Create program names ZHQU01 (You may change as you like<br />
2. Create screen 9000 and insert Container names &#8220;CONTAINER&#8221;<br />
3. Create BDS Assignment using TCode SBDSV1 for ZSOFFICEINTEGRATION copied from SOFFICEINTEGRATION<br />
4. Create BDS Template :<br />
a. Class Name : ZSOFFICEINTEGRATION<br />
b. Class Type : OT<br />
c. Object Key : GLOBALREPORT<br />
d. Table Template : Excel File with Name Global Report</p>
<p>5. Create GUI Status with Download to excel button</p>
<p>*********************</p>
<p>MAIN PROGRAM</p>
<p>*********************</p>
<p><!-- SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L1S31 { font-style: italic; color: #808080; } .L1S52 { color: #0000FF; } --> REPORT zhque01 NO STANDARD PAGE HEADING<br />
MESSAGE-ID aq.<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
* Global data include<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
INCLUDE zhque01top.<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
* SAP ABAP standard include<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
INCLUDE zibds_top.<br />
INCLUDE zibds.<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
* Payroll Standard Include<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
*&#8211; International Include<br />
INCLUDE rpc2rx09. &#8220;Cluster RP data definition internat. part<br />
INCLUDE rpc2cd09. &#8220;Cluster CD data definition<br />
INCLUDE rpppxd00. &#8220;Data definition buffer PCL1/PCL2<br />
INCLUDE rpppxd10. &#8220;Common part buffer PCL1/PCL2<br />
INCLUDE rpppxm00. &#8220;Buffer handling routine<br />
*&#8211; Country Specific Include (Malaysia)<br />
INCLUDE rpc2rll0. &#8220;Cluster RQ data definition</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;&#8211;<br />
* User Defined Include<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
INCLUDE zhque01f01.<br />
INCLUDE zhque01i01.<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
* Events<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
INITIALIZATION.<br />
PERFORM f_initialization.</p>
<p>TOP-OF-PAGE.<br />
* perform f_top_of_page.</p>
<p>END-OF-PAGE.<br />
* perform f_end_of_page.<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
* Start-Of-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;&#8211;<br />
START-OF-SELECTION.<br />
PERFORM f_init_data.</p>
<p>GET pernr.<br />
PERFORM f_get_data.</p>
<p>END-OF-SELECTION.<br />
PERFORM f_layout.<br />
PERFORM f_fieldcat.<br />
PERFORM f_display_alv.</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;&#8211;<br />
* Events on selection screens<br />
*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
AT SELECTION-SCREEN.</p>
<p>******************</p>
<p>ZIBDS_TOP</p>
<p>******************</p>
<p><!-- SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L1S31 { font-style: italic; color: #808080; } .L1S32 { color: #3399FF; } .L1S33 { color: #4DA619; } .L1S52 { color: #0000FF; } --> TYPE-POOLS: soi, &#8220;Desktop-Office-Integration: Type-Pool<br />
sbdst. &#8220;Business Document Services: Type-Pool</p>
<p>TYPES: BEGIN OF document_descr,<br />
document_name(80),<br />
END OF document_descr.<br />
DATA: ranges TYPE soi_range_list,<br />
contents TYPE soi_generic_table,<br />
cells TYPE soi_cell_table,<br />
rangesdef TYPE soi_dimension_table.</p>
<p>DATA: struc_ranges TYPE soi_range_item,<br />
struc_generic TYPE soi_generic_item,<br />
struc_cells TYPE soi_cell_item,<br />
struc_rangesdef TYPE soi_dimension_item.</p>
<p>DATA: i_descriptions TYPE STANDARD TABLE OF document_descr.<br />
*DATA: ok_code LIKE sy-ucomm.</p>
<p>*&#8212;&#8212;bds:<br />
DATA: obj_bds TYPE REF TO cl_bds_document_set.<br />
* tables and was:<br />
DATA: i_bds_signature TYPE sbdst_signature,<br />
i_bds_signature_2 TYPE sbdst_signature,<br />
wa_bds_signature LIKE LINE OF i_bds_signature,<br />
i_bds_components TYPE sbdst_components,<br />
wa_bds_components LIKE LINE OF i_bds_components,<br />
i_bds_properties TYPE sbdst_properties,<br />
wa_bds_properties LIKE LINE OF i_bds_properties,<br />
i_bds_uris TYPE sbdst_uri,<br />
wa_bds_uris LIKE LINE OF i_bds_uris,<br />
i_bds_mimetype TYPE bapicompon-mimetype.<br />
* Keys:<br />
DATA: s_bds_classname TYPE sbdst_classname VALUE &#8216;CM_DEMO1&#8242; ,<br />
s_bds_classtype TYPE sbdst_classtype VALUE &#8216;OT&#8217;,<br />
s_bds_object_key TYPE sbdst_object_key VALUE &#8216;CM100000&#8242;,<br />
v_doc_ver_no TYPE bapisignat-doc_ver_no VALUE &#8217;00000001&#8242;,<br />
v_doc_var_id TYPE bapisignat-doc_var_id VALUE &#8217;00000001&#8242;,<br />
v_doc_count TYPE bapicompon-doc_count,<br />
v_comp_count TYPE bapicompon-comp_count,<br />
v_comp_id TYPE bapicompon-comp_id.</p>
<p>DATA: s_doc_descr(80) VALUE &#8216;CM document description&#8217;,<br />
s_doc_url LIKE bapiuri-uri.<br />
* Dynpro-Fields:<br />
DATA: n_doc_ver_no TYPE i, n_doc_var_id TYPE i, s_doc_var_tg(2),<br />
s_mimetype(128).</p>
<p>*==================================================================<br />
* &#8212;&#8211;DOI Constants from Type Goup SOI<br />
DATA: s_retcode TYPE soi_ret_string,<br />
document_type TYPE soi_document_type,<br />
document_format TYPE soi_document_type<br />
VALUE soi_docformat_compound.</p>
<p>DATA: h_control TYPE REF TO i_oi_container_control,<br />
h_container TYPE REF TO cl_gui_custom_container,<br />
h_proxy TYPE REF TO i_oi_document_proxy.</p>
<p>DATA: d_excel TYPE REF TO i_oi_spreadsheet,<br />
d_error TYPE REF TO i_oi_error.</p>
<p>******************</p>
<p>ZIBDS</p>
<p>******************</p>
<p><!-- SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L1S31 { font-style: italic; color: #808080; } .L1S32 { color: #3399FF; } .L1S33 { color: #4DA619; } .L1S52 { color: #0000FF; } --> *&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 f_display_bds_document<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 />
FORM f_display_bds_document USING value(fu_clsname)<br />
value(fu_clstype)<br />
value(fu_objkey)<br />
value(fu_screen).</p>
<p>s_bds_classname = fu_clsname.<br />
s_bds_classtype = fu_clstype.<br />
s_bds_object_key = fu_objkey.</p>
<p>CALL SCREEN fu_screen.</p>
<p>ENDFORM. &#8221; f_display_bds_document<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; Module m_status_9000 OUTPUT<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 />
MODULE m_status_bds OUTPUT.</p>
<p>SET PF-STATUS d_screen.<br />
SET TITLEBAR d_screen WITH c_title.</p>
<p>PERFORM f_initilization USING d_container.<br />
PERFORM f_open_document.<br />
PERFORM f_formating_output.</p>
<p>ENDMODULE. &#8221; m_status_bds OUTPUT<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 F_initialization.<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 />
FORM f_open_document.</p>
<p>TYPES: BEGIN OF typeline,<br />
oleline(128) TYPE c,<br />
END OF typeline.</p>
<p>DATA: oletypes TYPE TABLE OF typeline.<br />
DATA: oletype TYPE typeline,<br />
version(10) TYPE c VALUE &#8216; &#8216;.</p>
<p>CLEAR: wa_bds_signature, wa_bds_components, wa_bds_uris, s_doc_descr.<br />
CLEAR: i_bds_signature, i_bds_signature_2, i_bds_components,<br />
i_bds_uris, i_descriptions.</p>
<p>* Availability of document checked<br />
wa_bds_signature-prop_name = &#8216;DESCRIPTION&#8217;.<br />
wa_bds_signature-prop_value = d_doc.<br />
APPEND wa_bds_signature TO i_bds_signature.</p>
<p>CALL METHOD obj_bds-&gt;get_info<br />
EXPORTING<br />
classname = s_bds_classname<br />
classtype = s_bds_classtype<br />
object_key = s_bds_object_key<br />
CHANGING<br />
components = i_bds_components<br />
signature = i_bds_signature<br />
EXCEPTIONS<br />
nothing_found = 1<br />
error_kpro = 2<br />
internal_error = 3<br />
parameter_error = 4<br />
not_authorized = 5<br />
not_allowed = 6.</p>
<p>IF sy-subrc NE 0 AND sy-subrc NE 1.<br />
MESSAGE e001(aq) WITH &#8216;Error in the Business Document Service (BDS)&#8217;.<br />
ENDIF.<br />
IF sy-subrc = 1.<br />
MESSAGE e001(aq) WITH &#8216;There are no documents that meet the search criteria&#8217;.<br />
ENDIF.</p>
<p>*_Get Url Address Of Document.<br />
CALL METHOD obj_bds-&gt;get_with_url<br />
EXPORTING<br />
classname = s_bds_classname<br />
classtype = s_bds_classtype<br />
object_key = s_bds_object_key<br />
CHANGING<br />
uris = i_bds_uris<br />
signature = i_bds_signature<br />
EXCEPTIONS<br />
nothing_found = 1<br />
error_kpro = 2<br />
internal_error = 3<br />
parameter_error = 4<br />
not_authorized = 5<br />
not_allowed = 6.<br />
IF sy-subrc NE 0 AND sy-subrc NE 1.<br />
MESSAGE e001(aq) WITH &#8216;Error in the Business Document Service (BDS)&#8217;.<br />
ENDIF.<br />
IF sy-subrc = 1.<br />
MESSAGE e001(aq) WITH &#8216;There are no documents that meet the search criteria&#8217;.<br />
ENDIF.</p>
<p>READ TABLE i_bds_uris INTO wa_bds_uris INDEX 1.<br />
READ TABLE i_bds_components INTO wa_bds_components INDEX 1.</p>
<p>i_bds_mimetype = wa_bds_components-mimetype.<br />
s_doc_url = wa_bds_uris-uri.</p>
<p>CASE i_bds_mimetype.<br />
WHEN &#8216;application/msword&#8217;.<br />
document_format = soi_docformat_compound.<br />
WHEN &#8216;application/vnd.ms-excel&#8217;.<br />
document_format = soi_docformat_compound.<br />
WHEN &#8216;application/vnd.visio&#8217;.<br />
document_format = soi_docformat_compound.<br />
WHEN &#8216;application/x-rtf&#8217; OR &#8216;text/rtf&#8217;.<br />
document_format = soi_docformat_rtf.<br />
WHEN &#8216;application/x-oleobject&#8217;.<br />
document_format = soi_docformat_compound.<br />
WHEN &#8216;text/plain&#8217;.<br />
document_format = soi_docformat_text.<br />
WHEN OTHERS.<br />
document_format = soi_docformat_native.<br />
ENDCASE.</p>
<p>CALL METHOD c_oi_container_control_creator=&gt;mime_to_ole<br />
EXPORTING<br />
mimetype = i_bds_mimetype<br />
version = version<br />
IMPORTING<br />
oletypes = oletypes.<br />
READ TABLE oletypes INTO document_type INDEX 1.</p>
<p>*__Open Document.<br />
CALL METHOD h_control-&gt;get_document_proxy<br />
EXPORTING<br />
document_type = document_type<br />
document_format = document_format<br />
IMPORTING<br />
document_proxy = h_proxy<br />
retcode = s_retcode.<br />
IF s_retcode NE c_oi_errors=&gt;ret_ok.<br />
EXIT.<br />
ENDIF.</p>
<p>CALL METHOD h_proxy-&gt;open_document<br />
EXPORTING<br />
document_url = s_doc_url<br />
open_inplace = &#8216;X&#8217;<br />
protect_document = &#8216;X&#8217;<br />
IMPORTING<br />
retcode = s_retcode.<br />
IF s_retcode NE c_oi_errors=&gt;ret_ok.<br />
EXIT.<br />
ENDIF.</p>
<p>CALL METHOD h_control-&gt;set_focus.</p>
<p>***_Create Interface.<br />
CALL METHOD h_proxy-&gt;get_spreadsheet_interface<br />
IMPORTING<br />
sheet_interface = d_excel<br />
retcode = s_retcode.</p>
<p>CALL METHOD c_oi_errors=&gt;show_message<br />
EXPORTING<br />
type = &#8216;E&#8217;.</p>
<p>ENDFORM. &#8220;f_open_document</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 F_initialization.<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 />
FORM f_initilization USING value(fu_container).</p>
<p>*__BDS initialization<br />
IF obj_bds IS INITIAL.<br />
CREATE OBJECT obj_bds.<br />
ENDIF.</p>
<p>*__DOI initialization<br />
IF h_control IS INITIAL.<br />
CALL METHOD c_oi_container_control_creator=&gt;get_container_control<br />
IMPORTING<br />
control = h_control<br />
retcode = s_retcode.<br />
CALL METHOD c_oi_errors=&gt;raise_message<br />
EXPORTING<br />
type = &#8216;E&#8217;.<br />
ENDIF.</p>
<p>IF h_container IS INITIAL.<br />
CREATE OBJECT h_container<br />
EXPORTING container_name = fu_container.</p>
<p>CALL METHOD h_control-&gt;init_control<br />
EXPORTING<br />
r3_application_name = &#8216;BDS-DOI&#8217;<br />
inplace_enabled = &#8216;X&#8217;<br />
inplace_scroll_documents = &#8216;X&#8217;<br />
parent = h_container<br />
IMPORTING<br />
retcode = s_retcode.</p>
<p>CALL METHOD c_oi_errors=&gt;raise_message<br />
EXPORTING<br />
type = &#8216;E&#8217;.<br />
ENDIF.</p>
<p>ENDFORM. &#8220;f_initilization<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 Create_DOI_Document<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 />
* Create a document using the SAP DOI framework<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 f_create_doi_document .</p>
<p>PERFORM f_close_doi_document.</p>
<p>CALL METHOD h_control-&gt;get_document_proxy<br />
EXPORTING<br />
document_type = document_type<br />
document_format = document_format<br />
IMPORTING<br />
document_proxy = h_proxy<br />
retcode = s_retcode.<br />
IF s_retcode NE c_oi_errors=&gt;ret_ok.<br />
EXIT.<br />
ENDIF.</p>
<p>CALL METHOD h_control-&gt;set_focus.</p>
<p>CALL METHOD h_proxy-&gt;create_document<br />
EXPORTING<br />
open_inplace = &#8216;X&#8217;<br />
IMPORTING<br />
retcode = s_retcode.<br />
IF s_retcode NE c_oi_errors=&gt;ret_ok.<br />
EXIT.<br />
ENDIF.</p>
<p>CALL METHOD c_oi_container_control_creator=&gt;ole_to_mime<br />
EXPORTING<br />
oletype = document_type<br />
IMPORTING<br />
mimetype = i_bds_mimetype.<br />
* set handler me-&gt;on_close_document for proxy.</p>
<p>ENDFORM. &#8221; Create_DOI_Document<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 Close_DOI_Document<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 />
FORM f_close_doi_document .</p>
<p>IF NOT h_proxy IS INITIAL.<br />
CALL METHOD h_proxy-&gt;close_document<br />
EXPORTING<br />
do_save = &#8221;<br />
IMPORTING<br />
retcode = s_retcode.<br />
IF s_retcode NE c_oi_errors=&gt;ret_ok.<br />
EXIT.<br />
ENDIF.</p>
<p>CALL METHOD h_proxy-&gt;release_document<br />
IMPORTING<br />
retcode = s_retcode.<br />
* set handler me-&gt;on_close_document for proxy activation &#8216; &#8216;.<br />
ELSE.<br />
s_retcode = c_oi_errors=&gt;ret_document_not_open.<br />
ENDIF.<br />
* Force a reinitialization of document interface<br />
CLEAR h_proxy.<br />
ENDFORM. &#8220;f_close_doi_document<br />
*<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; Module m_user_command_9000 INPUT<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 />
MODULE m_user_command_bds INPUT.<br />
CASE sy-ucomm.<br />
WHEN &#8216;BACK&#8217; OR &#8216;CANCEL&#8217; OR &#8216;EXIT&#8217;.<br />
PERFORM f_close_doi_document.<br />
IF sy-ucomm = &#8216;EXIT&#8217; OR sy-ucomm = &#8216;CANCEL&#8217;.<br />
LEAVE PROGRAM.<br />
ELSE.<br />
LEAVE TO SCREEN 0.<br />
ENDIF.<br />
ENDCASE.<br />
ENDMODULE. &#8221; m_user_command_9000 INPUT<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 f_set_content<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 />
FORM f_set_content USING value(fu_col)<br />
value(fu_row)<br />
fu_value.</p>
<p>DATA: ld_value(255).</p>
<p>struc_generic-column = fu_col.<br />
struc_generic-row = fu_row.<br />
WRITE fu_value TO ld_value.<br />
CONDENSE ld_value.<br />
PERFORM f_convert_minus CHANGING ld_value.<br />
struc_generic-value = ld_value.<br />
APPEND struc_generic TO contents.</p>
<p>ENDFORM. &#8221; f_set_content<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 f_formating_def_tab<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 />
FORM f_formating_def_tab.</p>
<p>LOOP AT contents INTO struc_generic.<br />
struc_rangesdef-rows = 1.<br />
struc_rangesdef-columns = 1.<br />
struc_rangesdef-row = struc_generic-row.<br />
struc_rangesdef-column = struc_generic-column.<br />
struc_generic-row = &#8217;1&#8242;.<br />
struc_generic-column = &#8217;1&#8242;.<br />
MODIFY contents FROM struc_generic INDEX sy-tabix.</p>
<p>APPEND struc_rangesdef TO rangesdef.</p>
<p>ENDLOOP.</p>
<p>ENDFORM. &#8221; f_formating_def_tab<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 f_Replace_words<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 />
FORM f_replace_words .</p>
<p>CALL METHOD d_excel-&gt;set_ranges_data<br />
EXPORTING<br />
ranges = ranges<br />
rangesdef = rangesdef<br />
contents = contents<br />
IMPORTING<br />
retcode = s_retcode.</p>
<p>CALL METHOD c_oi_errors=&gt;show_message<br />
EXPORTING<br />
type = &#8216;I&#8217;.</p>
<p>CLEAR : contents, rangesdef, ranges.<br />
REFRESH : contents, rangesdef, ranges.<br />
ENDFORM. &#8221; f_Replace_words<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 f_format_excel_sheet<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 />
FORM f_format_excel_sheet .</p>
<p>CALL METHOD h_proxy-&gt;execute_macro<br />
EXPORTING<br />
macro_string = &#8216;Module1.grid&#8217;<br />
IMPORTING<br />
retcode = s_retcode.</p>
<p>CALL METHOD c_oi_errors=&gt;show_message<br />
EXPORTING<br />
type = &#8216;E&#8217;.</p>
<p>CALL METHOD h_proxy-&gt;execute_macro<br />
EXPORTING<br />
macro_string = &#8216;Module1.clear&#8217;<br />
IMPORTING<br />
retcode = s_retcode.</p>
<p>CALL METHOD c_oi_errors=&gt;show_message<br />
EXPORTING<br />
type = &#8216;E&#8217;.</p>
<p>ENDFORM. &#8221; f_format_excel_sheet<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 f_convert_minus<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 />
FORM f_convert_minus CHANGING fc_value.</p>
<p>DATA : ld_len TYPE i,<br />
ld_value(50),<br />
ld_min(1).</p>
<p>CLEAR : ld_len, ld_value, ld_min.</p>
<p>ld_len = STRLEN( fc_value ).<br />
ld_len = ld_len &#8211; 1.<br />
IF ld_len GE 0.<br />
IF fc_value+ld_len(1) EQ &#8216;-&#8217;.<br />
SPLIT fc_value AT &#8216;-&#8217; INTO ld_value ld_min.<br />
CONCATENATE &#8216;-&#8217; ld_value INTO fc_value.<br />
ENDIF.<br />
ENDIF.</p>
<p>ENDFORM. &#8221; f_convert_minus</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 f_create_range<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 />
* Create a range dynamically in excel sheet<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;l_top Begin on row<br />
* &#8211;&gt;l_left Begin on column<br />
* &#8211;&gt;l_row No of rows<br />
* &#8211;&gt;l_column No of columns<br />
* &#8211;&gt;l_range Range Name<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 f_create_range USING l_top TYPE i<br />
l_left TYPE i<br />
l_row TYPE i<br />
l_column TYPE i<br />
l_range TYPE char255.</p>
<p>* Select area for entries to be displayed<br />
CALL METHOD d_excel-&gt;set_selection<br />
EXPORTING<br />
top = l_top<br />
left = l_left<br />
rows = l_row<br />
columns = l_column.</p>
<p>* Define Range<br />
CALL METHOD d_excel-&gt;insert_range<br />
EXPORTING<br />
name = l_range<br />
rows = l_row<br />
columns = l_column<br />
IMPORTING<br />
error = d_error.</p>
<p>IF d_error-&gt;has_failed = abap_true.<br />
CALL METHOD d_error-&gt;raise_message<br />
EXPORTING<br />
type = &#8216;E&#8217;.<br />
ENDIF.</p>
<p>ENDFORM. &#8221; f_create_range</p>
<p>******************</p>
<p>ZHQUE01F01</p>
<p>******************</p>
<p><!-- SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L1S31 { font-style: italic; color: #808080; } .L1S32 { color: #3399FF; } .L1S33 { color: #4DA619; } .L1S52 { color: #0000FF; } --> *&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 F_GET_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 f_get_data .<br />
FIELD-SYMBOLS: TYPE STANDARD TABLE,<br />
.<br />
DATA: ldy_table TYPE REF TO data,<br />
ldy_line TYPE REF TO data,<br />
ld_table(5) TYPE c,<br />
ld_field(20).</p>
<p>rp-provide-from-last p0000 space pn-begda pn-endda.<br />
CHECK pnp-sw-found = 1.<br />
IF p_all EQ &#8216;X&#8217;.<br />
ELSEIF p_actv EQ &#8216;X&#8217;.<br />
CHECK p0000-stat2 = &#8217;3&#8242;.<br />
ELSEIF p_inac EQ &#8216;X&#8217;.<br />
CHECK p0000-stat2 NE &#8217;3&#8242;.<br />
ENDIF.</p>
<p>d_date_input = pn-begda.</p>
<p>ld_field = &#8216;BEGDA&#8217;.<br />
LOOP AT t_infotype.<br />
CONCATENATE &#8216;P&#8217; t_infotype-infty INTO ld_table.<br />
CREATE DATA ldy_table TYPE STANDARD TABLE OF (ld_table)<br />
WITH NON-UNIQUE DEFAULT KEY.<br />
ASSIGN ldy_table-&gt;* TO .<br />
CREATE DATA ldy_line LIKE LINE OF .<br />
ASSIGN ldy_line-&gt;* TO .<br />
* Read Infotype<br />
CALL FUNCTION &#8216;HR_READ_INFOTYPE&#8217;<br />
EXPORTING<br />
pernr = pernr-pernr<br />
infty = t_infotype-infty<br />
begda = pn-begda<br />
endda = pn-endda<br />
TABLES<br />
infty_tab =<br />
EXCEPTIONS<br />
infty_not_found = 1<br />
OTHERS = 2.<br />
IF sy-subrc 0.<br />
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO<br />
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.<br />
ENDIF.<br />
IF NOT [] IS INITIAL.<br />
SORT BY (ld_field) DESCENDING.<br />
READ TABLE INDEX 1 INTO .<br />
PERFORM f_move_corresponding USING t_infotype-infty</p>
<p>CHANGING .<br />
ENDIF.<br />
CLEAR: , ldy_table.<br />
REFRESH: .<br />
ENDLOOP.</p>
<p>******Get Payroll Cluster*******<br />
** check authority reading payroll cluster for Malaysia<br />
AUTHORITY-CHECK OBJECT &#8216;P_PCLX&#8217;<br />
ID &#8216;RELID&#8217; FIELD &#8216;RL&#8217;<br />
ID &#8216;AUTHC&#8217; FIELD &#8216;R&#8217;.</p>
<p>IF sy-subrc EQ 0.</p>
<p>CALL FUNCTION &#8216;Z_SALARY_RETROACTIVE_THISMONTH&#8217;<br />
EXPORTING<br />
fi_pernr = pernr-pernr<br />
fi_date = d_date_input<br />
TABLES<br />
ft_data = t_salary<br />
EXCEPTIONS<br />
OTHERS = 1.</p>
<p>PERFORM f_calculate_salary CHANGING .</p>
<p>ENDIF.</p>
<p>******* Put BADI here ********<br />
* break indra.<br />
GET BADI badi_interface<br />
FILTERS<br />
flt_val = d_tcode.</p>
<p>CALL BADI badi_interface-&gt;get_data<br />
EXPORTING<br />
flt_val = d_tcode<br />
pernr = pernr-pernr<br />
begda = pn-begda<br />
endda = pn-endda<br />
CHANGING<br />
dyn_table = .<br />
******************************<br />
APPEND TO .<br />
CLEAR .<br />
ENDFORM. &#8221; F_GET_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 F_LAYOUT<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 />
* 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 f_fieldcat .<br />
DATA: lt_lvc_t_fcat TYPE lvc_t_fcat.<br />
DEFINE lm_fieldcat.<br />
t_fieldcat-fieldname = &amp;1.<br />
t_fieldcat-seltext_l = &amp;2.<br />
t_fieldcat-key = &amp;3.<br />
append t_fieldcat.<br />
clear t_fieldcat.<br />
END-OF-DEFINITION.</p>
<p>SORT t_fields BY seqnr.<br />
LOOP AT t_fields INTO x_fields.<br />
IF x_fields-fieldnmpy EQ &#8221;.<br />
IF x_fields-fieldalias EQ &#8221;.<br />
lm_fieldcat x_fields-fieldname x_fields-fieldtext &#8221;.<br />
ELSE.<br />
lm_fieldcat x_fields-fieldalias x_fields-fieldtext &#8221;.<br />
ENDIF.<br />
ELSE.<br />
lm_fieldcat x_fields-fieldnmpy x_fields-fieldtext &#8221;.<br />
ENDIF.<br />
ENDLOOP.</p>
<p>CALL FUNCTION &#8216;LVC_TRANSFER_FROM_SLIS&#8217;<br />
EXPORTING<br />
it_fieldcat_alv = t_fieldcat[]<br />
IMPORTING<br />
et_fieldcat_lvc = lt_lvc_t_fcat<br />
TABLES<br />
it_data =<br />
EXCEPTIONS<br />
it_data_missing = 1<br />
OTHERS = 2.<br />
IF sy-subrc 0.<br />
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO<br />
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.<br />
ENDIF.</p>
<p>******* Put BADI here ********<br />
* break indra.</p>
<p>GET BADI badi_interface<br />
FILTERS<br />
flt_val = d_tcode.</p>
<p>CALL BADI badi_interface-&gt;field_catalog<br />
EXPORTING<br />
flt_val = d_tcode<br />
CHANGING<br />
field_cat = lt_lvc_t_fcat.<br />
******************************</p>
<p>CALL FUNCTION &#8216;LVC_TRANSFER_TO_SLIS&#8217;<br />
EXPORTING<br />
it_fieldcat_lvc = lt_lvc_t_fcat<br />
IMPORTING<br />
et_fieldcat_alv = t_fieldcat[]<br />
EXCEPTIONS<br />
it_data_missing = 1<br />
it_fieldcat_lvc_missing = 2<br />
OTHERS = 3.<br />
IF sy-subrc 0.<br />
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO<br />
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.<br />
ENDIF.<br />
ENDFORM. &#8221; F_FIELDCAT<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 F_DISPLAY_ALV<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 f_display_alv .<br />
CALL FUNCTION &#8216;REUSE_ALV_GRID_DISPLAY&#8217;<br />
EXPORTING<br />
i_callback_program = sy-repid<br />
is_layout = x_layout<br />
i_callback_pf_status_set = &#8216;SET_PF_STATUS&#8217;<br />
i_callback_user_command = &#8216;F_USER_COMMAND&#8217;<br />
i_callback_top_of_page = &#8216;F_TOP_OF_PAGE&#8217;<br />
it_fieldcat = t_fieldcat[]<br />
i_save = &#8216;X&#8217;<br />
is_variant = x_alv_varnt<br />
* i_grid_title = lv_header<br />
TABLES<br />
t_outtab =<br />
EXCEPTIONS<br />
program_error = 1<br />
OTHERS = 2.<br />
IF sy-subrc 0.<br />
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno<br />
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.<br />
ENDIF.<br />
ENDFORM. &#8221; F_DISPLAY_ALV</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 set_pf_status<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 />
FORM set_pf_status USING fu_rt_extab TYPE slis_t_extab.<br />
DATA ld_extab TYPE LINE OF slis_t_extab.<br />
SET PF-STATUS &#8216;STANDARD&#8217; EXCLUDING fu_rt_extab.<br />
ENDFORM. &#8221; set_pf_status</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 USER_COMMAND<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 />
FORM f_user_command USING fu_ucomm LIKE sy-ucomm<br />
fu_selfield TYPE slis_selfield.<br />
DATA ld_ans(1).</p>
<p>CASE fu_ucomm.<br />
WHEN &#8216;&amp;IC1&#8242;.<br />
CASE fu_selfield-sel_tab_field.<br />
WHEN &#8216;T_DATA-FIELD&#8217;.<br />
ENDCASE.<br />
WHEN &#8216;DOWN&#8217;.<br />
PERFORM f_download_excel.<br />
WHEN &#8216;&amp;F03&#8242; OR &#8216;&amp;F15 &#8216; OR &#8216;&amp;F12&#8242;.<br />
LEAVE TO SCREEN 0.<br />
ENDCASE.<br />
fu_selfield-re</p>
<br />Filed under: <a href='http://indradewaji.wordpress.com/category/programming/abap/'>ABAP</a>, <a href='http://indradewaji.wordpress.com/category/programming/'>Programming</a> Tagged: <a href='http://indradewaji.wordpress.com/tag/abap-program/'>abap program</a>, <a href='http://indradewaji.wordpress.com/tag/query-prog/'>query prog</a>, <a href='http://indradewaji.wordpress.com/tag/sap-query/'>sap query</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/indradewaji.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/indradewaji.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/indradewaji.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/indradewaji.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/indradewaji.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/indradewaji.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/indradewaji.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/indradewaji.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/indradewaji.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/indradewaji.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/indradewaji.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/indradewaji.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/indradewaji.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/indradewaji.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=98&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://indradewaji.wordpress.com/2011/05/31/dynamic-query-program-for-hr-pa-payroll/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d1aee9dd4a2a59a0f1e18ae325447b61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Indra Dewaji</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Dynpro ABAP, Fundamental Concept</title>
		<link>http://indradewaji.wordpress.com/2009/05/20/web-dynpro-abap-fundamental-concept/</link>
		<comments>http://indradewaji.wordpress.com/2009/05/20/web-dynpro-abap-fundamental-concept/#comments</comments>
		<pubDate>Wed, 20 May 2009 02:29:21 +0000</pubDate>
		<dc:creator>indradewaji</dc:creator>
				<category><![CDATA[ABAP]]></category>
		<category><![CDATA[Book Recomendation]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[wda concept]]></category>
		<category><![CDATA[wda fundamental]]></category>
		<category><![CDATA[web dynpro abap]]></category>

		<guid isPermaLink="false">http://indradewaji.wordpress.com/?p=87</guid>
		<description><![CDATA[Web dynpro ABAP, a new technology from SAP, a web based application, has objectives : Model-based UI development  Enforce clear separation between UI logic and business logic  Little coding, lots of design  Declarative UI development Future Proof UI Declaration  Browser, Web Dynpro Client, Mobile Device,…  Client technology independent meta data [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=87&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Web dynpro ABAP, a new technology from SAP, a web based application, has objectives :<br />
Model-based UI development<br />
 Enforce clear separation between UI logic and business logic<br />
 Little coding, lots of design<br />
 Declarative UI development</p>
<p>Future Proof UI Declaration<br />
 Browser, Web Dynpro Client, Mobile Device,…<br />
 Client technology independent meta data</p>
<p>Central implementation of user interface standards<br />
 Accessibility support<br />
 Adobe Forms integration<br />
 Centrally provided UI elements<br />
 Internationalization support</p>
<p>Supports major platforms<br />
 Java (NetWeaver 2004), ABAP (NetWeaver 2004s)</p>
<p><span id="more-87"></span>You can see slide show from SAP at download link below.</p>
<p><a title="Web Dynpro ABAP" href="http://www.ziddu.com/download/4820767/WDA_FUNDAMENTAL_CONCEPT.pdf.html" target="_blank">Download</a></p>
<br />Posted in ABAP, Book Recomendation, Java, Programming, Web Design Tagged: wda concept, wda fundamental, web dynpro abap <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/indradewaji.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/indradewaji.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/indradewaji.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/indradewaji.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/indradewaji.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/indradewaji.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/indradewaji.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/indradewaji.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/indradewaji.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/indradewaji.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/indradewaji.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/indradewaji.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/indradewaji.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/indradewaji.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=87&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://indradewaji.wordpress.com/2009/05/20/web-dynpro-abap-fundamental-concept/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d1aee9dd4a2a59a0f1e18ae325447b61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Indra Dewaji</media:title>
		</media:content>
	</item>
		<item>
		<title>Difference between ABAP and HR ABAP</title>
		<link>http://indradewaji.wordpress.com/2009/03/02/difference-between-abap-and-hr-abap/</link>
		<comments>http://indradewaji.wordpress.com/2009/03/02/difference-between-abap-and-hr-abap/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 06:52:51 +0000</pubDate>
		<dc:creator>indradewaji</dc:creator>
				<category><![CDATA[ABAP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://indradewaji.wordpress.com/2009/03/02/difference-between-abap-and-hr-abap/</guid>
		<description><![CDATA[by Ramakrishna ABAP vs HR ABAP The following concepts are defined in ABAP HR which is different with other modules. - Use of Infotypes - The use of Logical Database - Use of Macros and Provide statement - Storage and Access of data - Authorization checks There is nothing much difference between abap and hr [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=83&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>by Ramakrishna<br />
ABAP vs HR ABAP</p>
<p>The following concepts are defined in ABAP HR which is different with other modules.<br />
<span id="more-83"></span><br />
-      Use of Infotypes<br />
-      The use of Logical Database<br />
-      Use of Macros and Provide statement<br />
-      Storage and Access of data<br />
-      Authorization checks</p>
<p>There is nothing much difference between abap and hr abap. The way we retrieve the data from data base is deferent. </p>
<p>In general ABAP data is stored in Tables, but coming to HR ABAP employee data is sorted through Infotypes. The way we retrieve the data from infotypes is deferent in hr abap.</p>
<p>In general ABAP we use Logical data base very rare, as in HR ABAP most of the programs use Logical data base to select data from Infotypes by using Get event.</p>
<p>In ABAP we use read statement to read particular record, still in HR ABAP we do use read statement apart from that we have Macros and provide statement.</p>
<p>Macro is pre defined code (like function module) which reads data from internal table (internal infotype) based on dates.</p>
<p>Provide statement is like Select statement but selects data from internal table</p>
<p>Storage and access of data in hr abap is completely deferent in hr abap comparing with ABAP. We use transaction code PA20 and PA30 to maintain data in infotypes.  </p>
<p>PA20 is display mode and PA30 is change mode. We can create, change, display, copy, and delete in infotypes with PA30 transaction.</p>
<p>For Infotypes authorizations can be maintained infotype and subtype (field) level as HR data is more sensitive and secrete.  </p>
<p>http://abaphr.com/?p=231</p>
<br />Posted in ABAP, Programming  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/indradewaji.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/indradewaji.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/indradewaji.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/indradewaji.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/indradewaji.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/indradewaji.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/indradewaji.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/indradewaji.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/indradewaji.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/indradewaji.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/indradewaji.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/indradewaji.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/indradewaji.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/indradewaji.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=83&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://indradewaji.wordpress.com/2009/03/02/difference-between-abap-and-hr-abap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d1aee9dd4a2a59a0f1e18ae325447b61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Indra Dewaji</media:title>
		</media:content>
	</item>
		<item>
		<title>Rapid Design Comping</title>
		<link>http://indradewaji.wordpress.com/2009/02/11/rapid-design-comping/</link>
		<comments>http://indradewaji.wordpress.com/2009/02/11/rapid-design-comping/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 02:59:25 +0000</pubDate>
		<dc:creator>indradewaji</dc:creator>
				<category><![CDATA[Book Recomendation]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[rapid design comping]]></category>

		<guid isPermaLink="false">http://indradewaji.wordpress.com/2009/02/11/rapid-design-comping/</guid>
		<description><![CDATA[The term is a bit of a play on the term Rapid Prototyping which had become very popular at the time this design process emerged for me, which is indeed inspired by, and bears some similarities to Rapid Prototyping. The following is the overview; we&#8217;ll go over each step in detail afterwards: 1. Sketch It: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=81&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The term is a bit of a play on the term Rapid Prototyping which had become very popular at the time this design process emerged for me, which is indeed inspired by, and bears some similarities to Rapid Prototyping.</p>
<p>The following is the overview; we&#8217;ll go over each step in detail afterwards:<span id="more-81"></span></p>
<p>1. Sketch It: Napkins are great! I usually use the other side of a recycled piece of photocopied paper—the more basic the better. No fine artist skills required! Perk: Using this sketch you can not only get your graphic interface ideas down, but you can already start to think about how the user will interact with your theme design and re-sketch any new ideas or<br />
changes accordingly.<br />
2. Start with the Structure: I create an ideal, un-styled semantic XHTML document structure and attach a bare bones CSS sheet to it.<br />
3. Add the Text: Lots of text, the more the better! A sample of actual content is best, but Lorem Ipsum is fine too.<br />
4. CSS Typography: Think of your Typography and assign your decisions to the stylesheet. Review! Don&#8217;t like how the formatted text looks in-line? Being separated into columns with fancy background graphics won&#8217;t make it any better. Get your text to look nice and read well now before moving on to layout.<br />
5. CSS Layout: Set up the Layout—this is where you&#8217;ll see upfront if your layout idea from your sketch will even work. Any problems here and you can re-think the design&#8217;s layout into something more realistic (and usually more clean and elegant). Perk: Your client will never see, much less become attached to, a layout that would cause you problems down the road in CSS.<br />
6. CSS Color Scheme: Assign your color scheme basics to the CSS. We&#8217;re close to needing Photoshop anyway, so you might as well open it up. I sometimes find it useful to use Photoshop to help me come up with a color scheme and get the hex numbers for the stylesheet.<br />
7. Take a Screenshot: Time for Photoshop! Paste the screenshot of your basic layout into your Photoshop file.<br />
8. Photoshop: Have fun creating the graphical interface elements that will be applied to this layout over your screenshot.<br />
9. Send for Approval: Export a .jpg or .png format of the layout and send it to the client. Perk: If the client has text changes, just make them in your CSS (which will update your text globally—no layer hunting for all your headers or links, etc.) and resnap a screenshot to place back in the Photoshop file with the graphic elements. If they have a graphical interface change, well that&#8217;s what Photoshop does best! Make the changes and resend for approval.<br />
10. Production: Here&#8217;s the best part; you&#8217;re more than halfway there! Slice and export the interface elements you created over (or under) your screenshot and apply them with the background image rules in your CSS. Because you worked directly over a screenshot of the layout, slicing the images to the correct size is easier and you won&#8217;t discover that you need to tweak the layout of the CSS as much to accommodate the graphic elements.</p>
<p>Reference: WordPress Theme Design by Tessa Blakeley Silver (Page 22)</p>
<br />Posted in Book Recomendation, SEO, Web Design Tagged: rapid design comping, Web Design <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/indradewaji.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/indradewaji.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/indradewaji.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/indradewaji.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/indradewaji.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/indradewaji.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/indradewaji.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/indradewaji.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/indradewaji.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/indradewaji.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/indradewaji.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/indradewaji.wordpress.com/81/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/indradewaji.wordpress.com/81/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/indradewaji.wordpress.com/81/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=81&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://indradewaji.wordpress.com/2009/02/11/rapid-design-comping/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d1aee9dd4a2a59a0f1e18ae325447b61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Indra Dewaji</media:title>
		</media:content>
	</item>
		<item>
		<title>Find User Exit Program</title>
		<link>http://indradewaji.wordpress.com/2008/12/30/find-user-exit-program/</link>
		<comments>http://indradewaji.wordpress.com/2008/12/30/find-user-exit-program/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 05:48:09 +0000</pubDate>
		<dc:creator>indradewaji</dc:creator>
				<category><![CDATA[ABAP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[find user exit program]]></category>
		<category><![CDATA[find userexit program]]></category>
		<category><![CDATA[program user exit]]></category>
		<category><![CDATA[user exit]]></category>
		<category><![CDATA[user exit program]]></category>
		<category><![CDATA[userexit]]></category>

		<guid isPermaLink="false">http://indradewaji.wordpress.com/?p=78</guid>
		<description><![CDATA[In the last posting, I&#8217;ve posted How to find user exit using function. Now I&#8217;ll share you, how to find user exit using program. Create new program using SE 38. You may create as temporary program, or transported program based on your environment policy. Then apply the code below. Execute and find user exit based [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=78&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In the last posting, I&#8217;ve posted How to find user exit using function. Now I&#8217;ll share you, how to find user exit using program.</p>
<p>Create new program using SE 38. You may create as temporary program, or transported program based on your environment policy. Then apply the code below. <span id="more-78"></span>Execute and find user exit based on TCode. Have a nice try.</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  ZFIND_USER_EXIT<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  ZFIND_USER_EXIT no standard page heading.<br />
tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.<br />
tables : tstct.<br />
data : jtab like tadir occurs 0 with header line.<br />
data : field1(30).<br />
data : v_devclass like tadir-devclass.<br />
parameters : p_tcode like tstc-tcode obligatory.</p>
<p>select single * from tstc where tcode eq p_tcode.<br />
if sy-subrc eq 0.<br />
select single * from tadir where pgmid = &#8216;R3TR&#8217;<br />
and object = &#8216;PROG&#8217;<br />
and obj_name = tstc-pgmna.<br />
move : tadir-devclass to v_devclass.<br />
if sy-subrc ne 0.<br />
select single * from trdir where name = tstc-pgmna.<br />
if trdir-subc eq &#8216;F&#8217;.<br />
select single * from tfdir where pname = tstc-pgmna.<br />
select single * from enlfdir where funcname =<br />
tfdir-funcname.<br />
select single * from tadir where pgmid = &#8216;R3TR&#8217;<br />
and object = &#8216;FUGR&#8217;<br />
and obj_name eq enlfdir-area.</p>
<p>move : tadir-devclass to v_devclass.<br />
endif.<br />
endif.<br />
select * from tadir into table jtab<br />
where pgmid = &#8216;R3TR&#8217;<br />
and object = &#8216;SMOD&#8217;<br />
and devclass = v_devclass.<br />
select single * from tstct where sprsl eq sy-langu and<br />
tcode eq p_tcode.<br />
format color col_positive intensified off.<br />
write:/(19) &#8216;Transaction Code &#8211; &#8216;,<br />
20(20) p_tcode,<br />
45(50) tstct-ttext.<br />
skip.<br />
if not jtab[] is initial.<br />
write:/(95) sy-uline.<br />
format color col_heading intensified on.<br />
write:/1 sy-vline,<br />
2 &#8216;Exit Name&#8217;,<br />
21 sy-vline ,<br />
22 &#8216;Description&#8217;,<br />
95 sy-vline.<br />
write:/(95) sy-uline.<br />
loop at jtab.<br />
select single * from modsapt<br />
where sprsl = sy-langu and<br />
name = jtab-obj_name.<br />
format color col_normal intensified off.<br />
write:/1 sy-vline,<br />
2 jtab-obj_name hotspot on,<br />
21 sy-vline ,<br />
22 modsapt-modtext,<br />
95 sy-vline.<br />
endloop.<br />
write:/(95) sy-uline.<br />
describe table jtab.<br />
skip.<br />
format color col_total intensified on.<br />
write:/ &#8216;No of Exits:&#8217; , sy-tfill.<br />
else.<br />
format color col_negative intensified on.<br />
write:/(95) &#8216;No User Exit exists&#8217;.<br />
endif.<br />
else.<br />
format color col_negative intensified on.<br />
write:/(95) &#8216;Transaction Code Does Not Exist&#8217;.<br />
endif.</p>
<p>at line-selection.<br />
get cursor field field1.<br />
check field1(4) eq &#8216;JTAB&#8217;.<br />
set parameter id &#8216;MON&#8217; field sy-lisel+1(10).<br />
call transaction &#8216;SMOD&#8217; and skip first   screen.</p>
<p>*&#8212;End of Program</p>
<br />Posted in ABAP, Programming Tagged: find user exit program, find userexit program, program user exit, user exit, user exit program, userexit <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/indradewaji.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/indradewaji.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/indradewaji.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/indradewaji.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/indradewaji.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/indradewaji.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/indradewaji.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/indradewaji.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/indradewaji.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/indradewaji.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/indradewaji.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/indradewaji.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/indradewaji.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/indradewaji.wordpress.com/78/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=78&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://indradewaji.wordpress.com/2008/12/30/find-user-exit-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d1aee9dd4a2a59a0f1e18ae325447b61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Indra Dewaji</media:title>
		</media:content>
	</item>
		<item>
		<title>Find data in your SAP system and know which tables do what</title>
		<link>http://indradewaji.wordpress.com/2008/12/16/find-data-in-your-sap-system-and-know-which-tables-do-what/</link>
		<comments>http://indradewaji.wordpress.com/2008/12/16/find-data-in-your-sap-system-and-know-which-tables-do-what/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 08:56:00 +0000</pubDate>
		<dc:creator>indradewaji</dc:creator>
				<category><![CDATA[ABAP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[find abap table]]></category>
		<category><![CDATA[find sap data]]></category>
		<category><![CDATA[find sap table]]></category>
		<category><![CDATA[sap data system]]></category>
		<category><![CDATA[sap table]]></category>
		<category><![CDATA[tables sap]]></category>

		<guid isPermaLink="false">http://indradewaji.wordpress.com/?p=75</guid>
		<description><![CDATA[Taken from: www.toolbox.com Introduction Many people ask where they can find data in their SAP system. Because SAP is so often highly customised, the best answer is &#8220;Ask your SAP system itself&#8221; Which leads on to the question &#8220;How do I do that?&#8221; Steps If you do not know the transaction code in which the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=75&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Taken from: www.toolbox.com</p>
<p>Introduction</p>
<p>Many people ask where they can find data in their SAP system. Because SAP is so often highly customised, the best<br />
<span id="more-75"></span><br />
answer is &#8220;Ask your SAP system itself&#8221; Which leads on to the question &#8220;How do I do that?&#8221;<br />
Steps</p>
<p>If you do not know the transaction code in which the data is used: then use the Data Dictionary tables, in</p>
<p>particular, DD02L and DD02T. Accounts Payable. See examples below.</p>
<p>If you do know any transaction in which (related) data is used: 1) start the transaction 2) position the cursor on</p>
<p>the field you want to have info about 3) press F1, then F9 4) now you see the technical information of the data</p>
<p>element, such as table name and field name. 5) if the table mentioned is what you&#8217;re looking for, you&#8217;re done. It is</p>
<p>also possible that the data element is in a structure and not in a table. Now you can either analyze the structure</p>
<p>via trx SE11, or you can double click on the &#8216;data element&#8217; field. In the next screen, use the &#8216;Where used&#8217; button</p>
<p>to find the tables in which this data element is used.</p>
<p>Additional tip: if you have found the table name, you can use trx SE36 or SLDB or ALDD ( also u can click on the</p>
<p>help u will get information about logical data base tables)to see the relationships of this table to other tables.</p>
<p>You can use these relationships when defining queries, designing custom ABAP programs, etc. If you&#8217;re lucky, one or</p>
<p>more standard SAP logical database exist which contain the table you found in the previous steps. Proceed as</p>
<p>follows: 1) start trx SE36 2) use the search help for the logical database name 3) enter the name of the table in</p>
<p>the search help 4) press enter and, if you&#8217;re lucky, you&#8217;ll see a list of logical databases. Select one, press</p>
<p>enter, select the radio button &#8216;Structure&#8217; and press the view button. Now you&#8217;ll see how this table is related to</p>
<p>other tables.<br />
[edit]<br />
Examples</p>
<p>The following is a (theorectically) complete ABAP dic list.</p>
<p>DD0102V | Generated table for view DD0102V |</p>
<p>DD01D | Dynpro fields for domain |</p>
<p>DD01L | Domains |</p>
<p>DD01LV | Generated table for view DD01LV |</p>
<p>DD01T | R/3 DD: domain texts |</p>
<p>DD01TV | Versioning: foreign languages for domains |</p>
<p>DD01V | Generated table for view DD01V |</p>
<p>DD01VD | Version display: Domain |</p>
<p>DD01VV | Generated table for view DD01VV |</p>
<p>DD01V_OLD | DD01V with old names |</p>
<p>DD02ALL | Table Parameters for ALLBASE |</p>
<p>DD02D | Screen Fields for Table |</p>
<p>DD02DB2 | DB2/390: Table Parameters |</p>
<p>DD02DB6 | Table Parameters for DB2 Version 2 |</p>
<p>DD02INF | Table Parameters for INFORMIX, Version 6 |</p>
<p>DD02L | SAP tables |</p>
<p>DD02MSS | Table Parameters for Microsoft SQL Server |</p>
<p>DD02ORA | Table parameters for ORACLE, version 6 |</p>
<p>DD02SYB | Storage Parameters for Tables in SYBASE |</p>
<p>DD02T | R/3 DD: SAP table texts |</p>
<p>DD02TV | Versioning: foreign languages for tables |</p>
<p>DD02V | Generated table for view DD02V |</p>
<p>DD02VD | Version display: table header |</p>
<p>DD02VV | Generated table for view DD02VV |</p>
<p>DD02V_OLD | DD02V with old names |</p>
<p>DD03D | Dynpro fields for table fields |</p>
<p>DD03K | Generated table for view DD03K |</p>
<p>DD03L | Table Fields |</p>
<p>DD03L_F | BAPI field names for update |</p>
<p>DD03M | Generated table for view DD03M |</p>
<p>DD03MI | Index structure for view DD03M |</p>
<p>DD03N | Generated table for view DD03N |</p>
<p>DD03P | Structure |</p>
<p>DD03P_D | Dictionary Maintenance: Attributes of Structure Fields |</p>
<p>DD03T | DD: Texts for fields (language dependent) |</p>
<p>DD03TV | Versioning: foreign languages for fields |</p>
<p>DD03V | Table fields view |</p>
<p>DD03VT | Generated Table for View DD03VT |</p>
<p>DD03VV | Generated Table for View DD03VV |</p>
<p>DD04D | Dynpro fields for Data Element |</p>
<p>DD04L | Data elements |</p>
<p>DD04T | R/3 DD: Data element texts |</p>
<p>DD04TV | Versioning: foreign languages for data elements |</p>
<p>DD04V | Generated Table for View DD04V |</p>
<p>DD04VD | Version display: Data element |</p>
<p>DD04VV | Generated table for view DD04VV |</p>
<p>DD04VVL | Generated table for view DD04VVL |</p>
<p>DD04VVT | Generated table for view DD04VVT |</p>
<p>DD05M | Interface Structure for DD_TBFK_GET |</p>
<p>DD05P | Generated Table for the View DD05P |</p>
<p>DD05Q | Generated Table for the View DD05Q |</p>
<p>DD05S | Foreign key fields |</p>
<p>DD05V | View on foreign key fields |</p>
<p>DD05VD | Version display: Foreign key fields |</p>
<p>DD06D | Screen fields for SQL table |</p>
<p>DD06L | Pool/cluster structures |</p>
<p>DD06T | R/3 DD: texts on SQL tables |</p>
<p>DD06TV | Versioning: foreign languages for SQL tables |</p>
<p>DD06V | Generated table for view DD06V |</p>
<p>DD06VD | Version display: SQL table |</p>
<p>DD06VV | Generated table for view DD06VV |</p>
<p>DD07D | Screen fields for domain values |</p>
<p>DD07L | R/3 DD: values for the domains |</p>
<p>DD07T | DD: Texts for Domain Fixed Values (Language-Dependent) |</p>
<p>DD07TV | Versioning: foreign languages for domain fixed values |</p>
<p>DD07V | Generated Table for View DD07V |</p>
<p>DD07VD | Version display: Domain fixed values |</p>
<p>DD07VT | DD: Temp. Replacement Structure for VIEW DD07TV |</p>
<p>DD08D | Screen Fields for Foreign Keys |</p>
<p>DD08L | R/3 DD: relationship definitions |</p>
<p>DD08T | Texts on the relationship definitions |</p>
<p>DD08TV | Texts on the relationship definitions |</p>
<p>DD08V | Generated table for view DD08V |</p>
<p>DD08VD | Version display: foreign key |</p>
<p>DD08VV | Generated table for view DD08VV |</p>
<p>DD08VVT | Generated table for view DD08VVT |</p>
<p>DD092526V | Generated table for view DD092526V |</p>
<p>DD09C | ABAP/4: Sytem-dependent attributes of tech. settings |</p>
<p>DD09L | DD: Technical settings of tables |</p>
<p>DD09V | Interface: Technical Settings Table/View |</p>
<p>DD09VD | Version display: Technical settings |</p>
<p>DD09VV | Generated table for View DD09VV |</p>
<p>DD09VVT | Generated table for view DD09VVT |</p>
<p>DD10L | Lock table for DD activation |</p>
<p>DD12D | Screen fields for index maintenance |</p>
<p>DD12DB2 | DB2/390: Index Parameters |</p>
<p>DD12DB6 | Index Parameters for DB2 Universal Database Version 2 |</p>
<p>DD12INF | Index parameter for INFORMIX |</p>
<p>DD12L | R/3 S_SECINDEX: secondary indexes, header; |</p>
<p>DD12MSS | Index Parameters for MS SQL Server |</p>
<p>DD12ORA | Index Parameters for ORACLE |</p>
<p>DD12SYB | Index Parameters for SYBASE System_10 |</p>
<p>DD12T | Text Table for DD12L (Short Descriptions of Sec. Indexes) |</p>
<p>DD12TV | Versioning: foreign languages for secondary indexes |</p>
<p>DD12V | Generated Table for View DD12V |</p>
<p>DD12VD | Version display: index |</p>
<p>DD12VVT | ABAP/4 Repository Information System: Index work structure |</p>
<p>DD14S | R/3 DD: components of SAP objects |</p>
<p>DD14V | R/3 DD: view on SAP object structure |</p>
<p>DD15L | R/3 DD: SAP objects |</p>
<p>DD15T | R/3 DD: texts on SAP objects |</p>
<p>DD15V | R/3 DD: view on SAP objects |</p>
<p>DD16D | Screen fields for SQL table fields |</p>
<p>DD16S | R/3 DD: SQL table fields |</p>
<p>DD16V | Generated table for view DD16V |</p>
<p>DD16VD | Version display: Fields of SQL tables |</p>
<p>DD17S | R/3 S_SECINDEX: secondary indexes, fields |</p>
<p>DD17V | Secondary index fields with language key |</p>
<p>DD20L | Matchcode objects |</p>
<p>DD20T | AS400-T_MCOBJECT: MC Object Texts |</p>
<p>DD20TV | AS400-T_MCOBJECT: MC Object Texts |</p>
<p>DD20V | Generated table for DD20V view |</p>
<p>DD20VD | Version display: matchcode objects |</p>
<p>DD20VVT | Generated table for view DD20VVT |</p>
<p>DD21S | S-MCIDTABLE: Tables for a MC ID |</p>
<p>DD21V | V-MCIDTABLE: View of Tables for a MC ID |</p>
<p>DD21V_VAR1 | Special View on DD21V Tailored to Matchcode ID Generation |</p>
<p>DD22V | Generated table for view DD22V |</p>
<p>DD22VD | Version display: Lock object header |</p>
<p>DD23H | Generated table for view DD23H |</p>
<p>DD23L | Matchcode ID |</p>
<p>DD23LS | Generated table for View DD23LS |</p>
<p>DD23T | AS400_L-MCID: Matchcode ID Texts |</p>
<p>DD23TV | Versioning: foreign languages for matchcode IDs |</p>
<p>DD23V | Generated table for view DD23V |</p>
<p>DD23VD | Matchcode ID |</p>
<p>DD23VVT | Generated table for view DD23VVT |</p>
<p>DD24A | Generated table for view DD24A |</p>
<p>DD24H | Help System View on Fields of a MC ID |</p>
<p>DD24S | Fields of a matchcode ID |</p>
<p>DD24V | S-MCIDFIELD: View of MC ID Fields |</p>
<p>DD2526V | Generated table for view DD2526V |</p>
<p>DD25D | Screen fields for view |</p>
<p>DD25L | Aggregate Header (Views, MC Objects, Lock Objects) |</p>
<p>DD25LS | Generated table for view DD25LS |</p>
<p>DD25T | Short Texts for Views and Lock Objects |</p>
<p>DD25TV | Versioning: foreign languages for views and lock objects |</p>
<p>DD25V | Generated table for view DD25V |</p>
<p>DD25VD | Version display: View header |</p>
<p>DD25VV | Generated table for view DD25VV |</p>
<p>DD25VVT | Generated table for view DD25VVT |</p>
<p>DD25Z | Assignment of superview to subview &#8211; no longer required &#8211; |</p>
<p>DD26D | Screen fields for lock object maintenance |</p>
<p>DD26E | Interface Structure for Base Tables of a Lock Object |</p>
<p>DD26EVD | Version display: base tables of a lock object |</p>
<p>DD26I | Generated table for view DD26I |</p>
<p>DD26S | Base tables and foreign key relationships for a view |</p>
<p>DD26V | V-VIEWTABLE: View of Base Tables of a View |</p>
<p>DD26VD | Version display: Base tables |</p>
<p>DD27D | Screen fields for view fields |</p>
<p>DD27I | Generated table for view DD27I |</p>
<p>DD27M | Generated table for view DD27M |</p>
<p>DD27P | View of Fields in an SAP Table View |</p>
<p>DD27S | Fields in an Aggregate (View, MC Object, Lock Object) |</p>
<p>DD27SV | Generated table for view DD27SV |</p>
<p>DD27V | V-VIEWFIELD: View of Fields in an SAP View |</p>
<p>DD27VD | Version display: View fields, lock arguments, matchcode fld. |</p>
<p>DD27VV | Generated table for view DD27VV |</p>
<p>DD27VVT | Generated table for view DD27VVT |</p>
<p>DD27VVTSTR | Repository Infosystem: Structure via DD27VVT: View fields |</p>
<p>DD28J | Internal structure for joins of views |</p>
<p>DD28JVD | Version display: Joins of views |</p>
<p>DD28S | Lines of a selection condition |</p>
<p>DD28V | View on a Selection Condition |</p>
<p>DD28VD | Version display: Selection conditions |</p>
<p>DD29L | Selection Condition for Views and MC IDs |</p>
<p>DD29T | AS400_L-SELCOND: Selection Condition Texts |</p>
<p>DD29V | V-SELCOND: View on Header for a Selection Condition |</p>
<p>DD30L | Search helps |</p>
<p>DD30T | Search help texts |</p>
<p>DD30TV | Versioning: foreign languages for search helps |</p>
<p>DD30V | Generated table for view DD30V |</p>
<p>DD30VD | Version Display: General Attributes of Search Helps |</p>
<p>DD30VV | Generated table for view DD30VV |</p>
<p>DD31D | Search help inclusions with texts of included |</p>
<p>DD31S | Assignment of search helps to collective search helps |</p>
<p>DD31V | Assignment of search helps to collective search helps |</p>
<p>DD32P | Interface structure for search help parameters |</p>
<p>DD32S | Search Help Parameter |</p>
<p>DD32V | Search help fields |</p>
<p>DD32VD | Search help fields |</p>
<p>DD33S | Assignment of search help fields |</p>
<p>DD33V | Assignment of search help parameters for srch help inclusion |</p>
<p>DD35L | Search help attachments to structures: Headers |</p>
<p>DD35V | Assignment of structure fields and search helps: Headers |</p>
<p>DD35VD | Version display: search help attachm. to structures: header |</p>
<p>DD35VV | Generated table for view DD35VV |</p>
<p>DD36M | Interface structure for field assignments table-search help |</p>
<p>DD36Q | Generated table for view DD36Q |</p>
<p>DD36S | Parameter-field assignments for search help attachment |</p>
<p>DD36V | Assignment of structure fields and search helps: Fields |</p>
<p>DD36VD | Version display: parameter-field assignm. for s.h. attachm. |</p>
<p>DD40D | Screen Fields for Table Types |</p>
<p>DD40L | Table types (internal tables defined in DD) |</p>
<p>DD40T | Text on table types |</p>
<p>DD40TV | Versioning: foreign languages for table types |</p>
<p>DD40V | DD: Interface structure for table types |</p>
<p>DD40VD | Version display: table types |</p>
<p>DD40VV | Generated table for view DD40VV |</p>
<p>DD41V | Generated table for view DD41V |</p>
<p>DD42S | Key fields for table types (internal tab. defined in DD) |</p>
<p>DD42V | DD: Interface structure for table type key fields (TTKF) |</p>
<p>DD42VD | Version display: table type key fields (TTKF) |</p>
<p>DD42V_EXT | DD: Key Field of a Table Incl. Further Information |</p>
<p>DD50D | Screen Fields for Type Groups |</p>
<p>DD51D | Screen Fields for Lock Objects (Same Fields: DD25D Views) |</p>
<p>DD52D | Interface Structure for Base Tables of a Lock Object |</p>
<p>DD53D | Screen Fields for Lock Object Fields |</p>
<p>DD90L | Header Information for External Index |</p>
<p>DD90T | R/3-DD: Text for External Index |</p>
<p>DD90V | Generated Table for View DD90V |</p>
<p>DD91S | DocID Key Definition of External Index |</p>
<p>DD91V | DocID Key Definition of External Index |</p>
<p>DD92S | Mapping of R/3 Data on External Index |</p>
<p>DD92V | Mapping of R/3 Data on External Index |</p>
<p>DD93S | Attribute of an External Index |</p>
<p>DD93V | Attribute of an External Index |</p>
<p>DD94S | Languages of an Index Category |</p>
<p>DD94V | Languages of an Index Category |</p>
<p>DD96S | Synchronization Tables |</p>
<p>DD96V | Synchronization Tables of an External Index |</p>
<p>DD97S | Statements for Trigger and Stored Procedures |</p>
<p>DDACL | Exclusion times for ABAP/4 Dictionary actions |</p>
<p>DDACTIONS | DD: Structure for display ACTION -&gt; text |</p>
<p>DDACTRES | DD: Activation result incl. dependent propagation |</p>
<p>DDALIAS | DD: Second name for accessing tables |</p>
<p>DDALTER | Information about Reasons for ALTER TABLE |</p>
<p>DDAPPSRC | SE11: Append origin of for. keys and src. help attachments |</p>
<p>DDART | DD: Data Class in Technical Settings |</p>
<p>DDATCHK | Field structure for screen 100 RUTATCHK |</p>
<p>DDAUTHCTRL | Control structure for authorization checks |</p>
<p>DDAUTHTAB | ABAP/4: database actions and flag if this is permitted |</p>
<p>DDBOOK | Output control table manual |</p>
<p>DDBOOL | Reference Structure for Interfaces |</p>
<p>DDBTCMPTIT | Column information for comparison of repeat groups |</p>
<p>DDBT_CFLD | Description of a non-elementary component of a structure |</p>
<p>DDBT_DATA | Information about a component of a complex data object |</p>
<p>DDBT_DATD | Type for packing complex data |</p>
<p>DDBT_FDDES | Type and position of contents of a field |</p>
<p>DDBT_FLD | Information about an elementary component |</p>
<p>DDBT_STDEF | Description of a structured type |</p>
<p>DDBUF | DD: For transferring the new buffering parameters |</p>
<p>DDBYTE | DD: X-fields for each bit of a byte |</p>
<p>DDB_AST | Table Structure for Author. Segm. Trigger |</p>
<p>DDB_AW | Configuration Transac. Data: Fact for Simple Characteristic |</p>
<p>DDB_AZW | Configuration Transaction Data: Fact for Restrictable Char. |</p>
<p>DDB_C00 | Transaction Data: DDDB_HAS_INST |</p>
<p>DDB_C01 | Transaction Data: DDDB_HAS_VAL |</p>
<p>DDB_C02 | DDB Change Messages (Configuration) |</p>
<p>DDB_C03 | Configuration Transac. Data: General Value Set |</p>
<p>DDB_C04 | Value Structure for Reading Characteristic Values from DDB |</p>
<p>DDB_C05 | Presentation Messages for DDB Instances |</p>
<p>DDB_C06 | Describes a characteristic value, as in priority tables |</p>
<p>DDB_C07 | Price Factors for Variant Conditions |</p>
<p>DDB_ITP | DDB: General Object Type |</p>
<p>DDB_PO | Part-of Structure in Configuration (DDB) |</p>
<p>DDB_TO | DDB Configuration: TYPE_OF-Fakt |</p>
<p>DDCACHE | DD: Control String for Read Routines |</p>
<p>DDCCOND | Conditions for Status Switch during Conversion |</p>
<p>DDCCURRSTA | DD: Conversion, statistics, intermediate values |</p>
<p>DDCDIM | DD: Conversion, number of table lines |</p>
<p>DDCHKMESS | ABAP/4 Dict.: contains messages for NA checks |</p>
<p>DDCHK_CNT | DD: Mass Check Statistics Counter |</p>
<p>DDCHK_CTRL | DD: Parameter for (Parallel) Mass Check Program |</p>
<p>DDCLASSES | DD: Structure for mapping CLASS -&gt; text |</p>
<p>DDCLAUSE | SQL clause |</p>
<p>DDCLIENT | Structure for Clients |</p>
<p>DDCNODE | DD: Nodes in Status Graphs of Conversion |</p>
<p>DDCNV | Information why Conversion |</p>
<p>DDCNVBODY | DD: Definition of conversion steps &#8211; local attribute |</p>
<p>DDCNVCTRL | DD: Structure for parameters of ICNV |</p>
<p>DDCNVDEFS | DD: Definition of Conversion Steps |</p>
<p>DDCNVEXIT | DD: External conversion methods |</p>
<p>DDCNVKEY | Definition of Conversion Scenario &#8211; Key |</p>
<p>DDCNVOPT | Stsructure for Conversion Options |</p>
<p>DDCNVREF | DD: Reference structure for conversion requirements |</p>
<p>DDCNVRESS | DD: Structure for results of FB DD_ICNV_UPGRADE |</p>
<p>DDCNVSTAT | DD: Statistical Data for Conversion |</p>
<p>DDCNVTABL | DD: Contains incr. conv. tables depend. on release/component |</p>
<p>DDCNVTIMES | DD: Exclusion times for conversion |</p>
<p>DDCNVUPGR | DD: Control structure for ICNV steps during upgrade |</p>
<p>DDCNVUSR | DD: Exception table of converter |</p>
<p>DDCOMPARE | Return from generic comparison tool: RS_VERS_COMPARE_TAB |</p>
<p>DDCOMTOTAB | Comment on the Table Rows |</p>
<p>DDCON | Condition for IN operator |</p>
<p>DDCONH | Storage Parameter (condition) |</p>
<p>DDCPRO | DD: Conversion projects |</p>
<p>DDCPROGRES | DD: Conversion, statistics, intermediate values |</p>
<p>DDCPROT | DD: Text on conversion projects |</p>
<p>DDCPROTAB | DD: Table for conversion projects |</p>
<p>DDCPYSTAT | DD: Statistics data for table copy |</p>
<p>DDCQUEUE | DD: Queue for CNV Operations |</p>
<p>DDCSCANSTA | DD: Conversion, scan history |</p>
<p>DDCSTA | DD: Conversion, number of table lines |</p>
<p>DDCSTAT | DD: Statistics table for conversions |</p>
<p>DDCSTAT_I | DD: Statistics Data for Conversions |</p>
<p>DDCSTAT_K | DD: Statistics Data for Conversions &#8211; Key Part |</p>
<p>DDCSTAT_T | DD: Statistics Data for Conversions |</p>
<p>DDCT_TYPE | Type Information for LOW and High of a Range Type |</p>
<p>DDCURSOR | DD: Reference structure for cursor area |</p>
<p>DDCVERTIC | Link of Status Graph of Conversion Program |</p>
<p>DDDBOPERA | Virtual table of outstanding DB operations |</p>
<p>DDDBOPS | Virtual table of outstanding DB operations |</p>
<p>DDDBSPACE | Structure for DBSpaces/Tablespaces |</p>
<p>DDDBUTMREQ | Interface for mass processing requests |</p>
<p>DDDBUTREFS | DD: Database utility reference fields |</p>
<p>DDDECIDE | Information about Structure Changes to DB Objects |</p>
<p>DDDEPDESCR | Internal Description of a Dependent Object |</p>
<p>DDDEPRES | DD: result of handling of dependent objects |</p>
<p>DDDEPTAB | DD: Dependencies Sorted By Dependent Objects |</p>
<p>DDDOACTRES | DD: Status of domains (activation result) |</p>
<p>DDDOMSTATE | DD: Status of domains |</p>
<p>DDDOSTATE | Status of Objects |</p>
<p>DDDTRENUPG | DD: Table for Renaming Data Elements During Upgrade |</p>
<p>DDDTSTATE | DD: Status of Data Elements |</p>
<p>DDENA | Lock argument fields |</p>
<p>DDENQS | Lock object structure for Dictionary objects (inc. index) |</p>
<p>DDENQ_LIKE | Ref. Fields for Parameters of the ENQUEUE Function Module |</p>
<p>DDERR | R/3 DDIC: Error Code From Modules |</p>
<p>DDERR_O | Return code structure in consistency layer of the DD |</p>
<p>DDEXTIDXS2 | DocID Key Definition of External Index |</p>
<p>DDEXTIDXS3 | Mapping of R/3 Data on External Index |</p>
<p>DDEXTIDXS4 | Attribute of an External Index |</p>
<p>DDEXTIDXS5 | Synchronization Tables with Stored Proc. for External Index |</p>
<p>DDF4ATTRVA | Document Attribute with Value for Indexing/De-indexing |</p>
<p>DDF4DBTRIG | Tables and Triggers |</p>
<p>DDF4EXIXS3 | Mapping of R/3 Data on External Index |</p>
<p>DDF4IDCTRL | Control Structure for Data Selection for an External Index |</p>
<p>DDF4IDPROT | Structure for Log Table for Updating External Indexes |</p>
<p>DDF4IDXCON | Document Contents for External Index |</p>
<p>DDF4KEYTAB | Key for Selection Module / Search Engines |</p>
<p>DDF4LBBUF1 | List Box Buffer: GUID and Time Stamp for a Table |</p>
<p>DDF4PSALLS | Structure for General Personalization of Search Helps |</p>
<p>DDF4PSINDX | Contains Information for Personalizing the F4 Help |</p>
<p>DDF4SEKEYS | Structure for Document Key of Log Table |</p>
<p>DDF4SERFC | RFC Destinations of a Search Server Relation |</p>
<p>DDF4SYNCIV | Synchronization Interval for External Index |</p>
<p>DDF4TRACE | INDX Structure for Holding F4 Trace (List Box) |</p>
<p>DDF4TRADAT | Data to be Stored in DDF4TRACE |</p>
<p>DDF4TRIGTR | Structure for Tree Representation of DB Trigger |</p>
<p>DDFIELD | DB-relevant description of DD table fields |</p>
<p>DDFIXVALUE | Description of a Fixed Value |</p>
<p>DDFKEYRC | DD: Message numbers for foreign key violations |</p>
<p>DDFLDNAM | Name of a DD table field |</p>
<p>DDFLDSPATH | DD: field information and field name with entire path |</p>
<p>DDFLG1 | Flag byte 1 of nametab for field attributes |</p>
<p>DDFLG2 | Flag byte 2 in nametab for field attributes |</p>
<p>DDFLG3 | Flag Byte 3 of Nametab for Field Attributes |</p>
<p>DDFLG4 | Flag byte 4 of nametab for field attributes? |</p>
<p>DDFLGBYTE | Table attributes in nametab header |</p>
<p>DDFTX | Run-time object with Screen Painter texts |</p>
<p>DDFTYP | DD: Structure to test fields without data elements |</p>
<p>DDGENTAB | DD: Structure of Gentab (Mass Activation Program) |</p>
<p>DDGR_NAME | DD: Names of DD objects for graphic algorithms |</p>
<p>DDGR_OBJ | DD: Object lists for graphic algorithms |</p>
<p>DDGR_REL | DD: Relations list for graphic algorithms |</p>
<p>DDGR_RELIX | DD: Relation over object index for graphic algorithms |</p>
<p>DDHDFLG3 | DD: Header flag 3 expanded |</p>
<p>DDHDFLG4 | DD: Header flag 4 expanded |</p>
<p>DDHDFLG5 | DD: Header flag 5 expanded |</p>
<p>DDHDFLG6 | DD: Header flag 6 expanded |</p>
<p>DDHELPSTRT | Table Fields for Reference |</p>
<p>DDICNVCHE | DD: Condition variables for incremental conversion |</p>
<p>DDICNVCTRL | Control String for Transaction ICNV |</p>
<p>DDICNVDAYS | DD: Days of Week |</p>
<p>DDICNVDIST | Distribution of data records of base tables |</p>
<p>DDICNVENQ | DD: Structure to lock the ICNV |</p>
<p>DDICNVLST | Contains information on converter exits |</p>
<p>DDICNVMON | DD: Structure for ICNV monitor |</p>
<p>DDICNVPREP | DD: Control Structure for ICNV in Upgrade |</p>
<p>DDICNVPROS | Process information for incremental conversion |</p>
<p>DDICNVREF | Reference structure for interfaces of ICNV |</p>
<p>DDICNVRES | DD: Results of ICNV Checks in Upgrade |</p>
<p>DDICNVUPGR | DD: ICNV Control for Upgrade Phase PREPARE |</p>
<p>DDIDELCHK | Control String for Check Whether Fields May Be Deleted |</p>
<p>DDIKEYCHK | Control String for Checking the Key |</p>
<p>DDILTYCHK | Control String for Checking Long Fields |</p>
<p>DDINDEX | Information for indexes |</p>
<p>DDINDXACT | Information what kind of Index is Required in DB |</p>
<p>DDINFO | DD: Info Part of the Navigation Table for DD Objects |</p>
<p>DDINNUCHK | Control String for Checking NOT NULL Flags |</p>
<p>DDIPCLCHK | Control String for Table Type Test with Pool/Cluster |</p>
<p>DDIPOOCHK | Control String for Additional Tests for Pooled Table |</p>
<p>DDIREFCHK | Control String for Checking Reference Fields |</p>
<p>DDIREL | Relation Source and Target Tables in the ICNV |</p>
<p>DDISAACHK | Control String for Checking Fields for SAA Standard |</p>
<p>DDISAHCHK | Control String for Checking Header for SAA Standard |</p>
<p>DDITANCHK | Control String for Table Name Tests (Except SAA) |</p>
<p>DDITEHCHK | Control String for Checking DD02L &lt;-&gt; DD09L/Header Checks |</p>
<p>DDITESCHK | Control String for Checking DD02L &lt;-&gt; DD09L/Field Checks |</p>
<p>DDIVAHCHK | Control String for Checking the Fixed Values (Header) |</p>
<p>DDIVALCHK | Control String for Checking the Fixed Values (Fields) |</p>
<p>DDKONTEXT | Context of DD Maintenance |</p>
<p>DDLBBUFTST | Test: Recognize Access to Buffered Tables |</p>
<p>DDLCH | Logical Channel Info from the R/3 Repos. &#8211; Standard Version |</p>
<p>DDLOAD | DD: Reference structure for loading/unloading tables |</p>
<p>DDLOADD | R3load-data table for migration |</p>
<p>DDLOADH | R3load-header table for migration |</p>
<p>DDLOGDEF | DD: Formal definition of log and trace output |</p>
<p>DDLREF | Log Reference in Dictionary &#8211; Standard Output |</p>
<p>DDMASS | DD: Structure for mass activator parameters |</p>
<p>DDMASSAC | DD: Control operations for DD objects during mass activation |</p>
<p>DDMASSCTRL | DD: Control Input Par. for DD_MASS_ACT_PARALLEL |</p>
<p>DDMASSTST | DD: Control Structure for Test Mode Mass Activation Program |</p>
<p>DDMATASKCT | DD: Control Parameter for Mass Act. for Each Task |</p>
<p>DDMESS | Message in non-expanded form |</p>
<p>DDMSACTRC | DD: Return Information about Activation |</p>
<p>DDMSCHK | Structure for screen variables of mass checks |</p>
<p>DDMSG | DD: Structure for Messages |</p>
<p>DDMUTEX | DD: Table for implementing reciprocal exclusions |</p>
<p>DDNAMECONF | Return structure for function module DD_NAME_CONFLICT_AREA |</p>
<p>DDNAMES | Structure for Dictionary Checks |</p>
<p>DDNAMETAB | Structure for Display Nametab |</p>
<p>DDNMB | DD: Data records per extent (minimum/maximum number) |</p>
<p>DDNTFLAG | Structure for Explaining Nametab Flags |</p>
<p>DDNTHEADER | Structure for Nametab Header |</p>
<p>DDNTHIST | DD: history nametabs in time interval |</p>
<p>DDNTSACT | DD: Possible actions on nametab byte |</p>
<p>DDNTTHISTS | Nametab history: table information on DB table DDNTT_HIST |</p>
<p>DDNUMFVAL | DD: Structure for numeric fixed values |</p>
<p>DDOBJ | DD: Name of an ABAP Dictionary object |</p>
<p>DDOBJCLASS | Classification of ABAP Dictionary objects |</p>
<p>DDOBJCOST | DD: Relative costs per DD object type |</p>
<p>DDOBJDIR | DD: Structure for Objects in Mass Checks |</p>
<p>DDOBJKEY | DD: Key of DD Objects (Type Name) |</p>
<p>DDOBJPOS | DD: Position of an object |</p>
<p>DDOBJTEXT | Dictionary Objects: Texts |</p>
<p>DDOCC | Occurrence of Table/Field in Aggregates or as Reference |</p>
<p>DDOP | DD: Specification of DDL Operations |</p>
<p>DDOPADMIN | DD: Management Information on an DD/DB Operation |</p>
<p>DDOPER | Lock arguments for DD processes |</p>
<p>DDOPKEY | DD: Key of a DD/DB Operation |</p>
<p>DDOPOBJ | DD: Object on which a DD/DB Operation is Performed |</p>
<p>DDOPTIME | DD: Time of a DD/DB Operation |</p>
<p>DDPAMSCTRL | DD: Controls Parallel Handling during Mass Activation |</p>
<p>DDPAR | R/3 Dict: table of internal parameters |</p>
<p>DDPARLIST | Control structure for outputting parameter values |</p>
<p>DDPART | DD: Partitioned form of TBATG |</p>
<p>DDPARTKEY | DD: Global attributes of table DDPART |</p>
<p>DDPATH | DD: Definition of access paths |</p>
<p>DDPCH | Physical Channel Info from the R3/Repos. &#8211; Standard Version |</p>
<p>DDPOPUPT2F | DD: Description of a dialog box with 2 columns and 1 flag |</p>
<p>DDPRH | R/3 DD: Log header |</p>
<p>DDPRH_ALV | Structure for DDPRH for Display with ALV Grid |</p>
<p>DDPRID | DD: Representation of a list of log IDs |</p>
<p>DDPRLOCK | DD: Lock granularity for standard output |</p>
<p>DDPRMASQUE | DD: Mask for overlaying a log line |</p>
<p>DDPROF | DD: Settings for DDIC programs |</p>
<p>DDPROPVAL | DD: Attribute value pairs |</p>
<p>DDPROTOBJ | DD: Object Table for Log Entries in DDPRH, DDPRS |</p>
<p>DDPRS | R/3 DD: log lines |</p>
<p>DDPRT | Structure of ABAP/4 Dictionary logs |</p>
<p>DDPRTENQ | Control string: print lock objects |</p>
<p>DDPRTGEN | Interface: general print options |</p>
<p>DDPRTLIST | Input list for printing DD objects |</p>
<p>DDPRTMC | Control string: print option for matchcodes |</p>
<p>DDPRTPARA | Parameter for print editing |</p>
<p>DDPRTSHLP | Control string: print options for search helps |</p>
<p>DDPRTTAB | Control string: print options for tables |</p>
<p>DDPRTUVAR | User settings for printing DD objects |</p>
<p>DDPRTVIEW | Control string: print options for views |</p>
<p>DDPRTXT | R/3 DD: Log texts |</p>
<p>DDPRT_FRM | Format Definitions for Printing Dictionary Objects |</p>
<p>DDPRT_I | Interface for ABAP/4 Dictionary logger |</p>
<p>DDRANGE | Reference structure for ranges in the ABAP Dictionary |</p>
<p>DDREF | Table/Field and Associated Reference Table/Field |</p>
<p>DDREFSTRUC | DD: General Reference Structure in ABAP Dictionary |</p>
<p>DDREFTAB | ABAP/4 D: Dependencies Sorted by Referenced Objects |</p>
<p>DDRELSTRUC | DD: Relationships between DD objects |</p>
<p>DDRELTAB | DD Dict.: structure for relations |</p>
<p>DDSCR | DD Interface: View of Field Attributes in the Nametab |</p>
<p>DDSECHKKEY | Structure for Comparing Definition of Log Table |</p>
<p>DDSECHKPRT | Log Display Admin. Search Index |</p>
<p>DDSERVERIF | DD: Info for Application Server for Parallel Processing |</p>
<p>DDSERVPERF | DD: Performance Key Figures of Server for Par. Execution |</p>
<p>DDSESELOPT | Selopt Structure for the F4 Help with Search Engines |</p>
<p>DDSETSTATE | Status of Objects |</p>
<p>DDSETYPTAB | Search Type Search Engine |</p>
<p>DDSEVMAP | DD: Map severity for level/STDO |</p>
<p>DDSEVSUM | DD: |</p>
<p>DDSHBUTTON | Buttons on the Hit List |</p>
<p>DDSHCUMAR | Information on Cursor Position and Markings |</p>
<p>DDSHDEFLT | Description of a default value for search help fields |</p>
<p>DDSHDEFSH | Default value &#8211; search help per user and collective s.h. |</p>
<p>DDSHDESCR | Interface: elementary search helps of a search help |</p>
<p>DDSHENTITY | Table of data elements which need the value table help |</p>
<p>DDSHEXMPL1 | Structure for F4 help example RUTSHEXP |</p>
<p>DDSHF4CTRL | Control Structure for F4 Process with Search Help Exit |</p>
<p>DDSHF4ENV | Program Environment for F4 Field |</p>
<p>DDSHFPROP | Characteristics of search help parameters |</p>
<p>DDSHHVALUE | Historic Help Values |</p>
<p>DDSHICON | Management of Icon Information |</p>
<p>DDSHIFACE | Interface description of a F4 help method |</p>
<p>DDSHLDB1 | Interface structure search help &lt;-&gt; logical DBs |</p>
<p>DDSHLPVERS | Current Version of Search Help Activator |</p>
<p>DDSHOCXINT | Communications between F4 process and search help OCX |</p>
<p>DDSHOFFLD | Shared buffer for search help for a DDIC field |</p>
<p>DDSHOUTFLD | Interface structure for FM to search help selection |</p>
<p>DDSHPVALUE | Personal Help Values |</p>
<p>DDSHRETVAL | Interface Structure Search Help &lt;-&gt; Help System |</p>
<p>DDSHSELOPT | Selection options for value selection with search help |</p>
<p>DDSHTECINF | Technical information about a search help |</p>
<p>DDSPAR | Storage clause for tables and indexes |</p>
<p>DDSPAR1 | Storage clause for tables and indexes |</p>
<p>DDSPAR2 | Storage clause for tables and indexes |</p>
<p>DDSTATE | Status of Objects |</p>
<p>DDSTATHIST | DD: Statistical Data for Conversion |</p>
<p>DDSTEXTIDX | Header Information of External Index |</p>
<p>DDSTORAGE | Storage clause for tables and indexes |</p>
<p>DDSTORAGE1 | Storage clause for tables and indexes |</p>
<p>DDSTORAGE2 | Storage clause for tables and indexes |</p>
<p>DDSYM10TAB | Symbol table (CHAR10) |</p>
<p>DDSYMTAB | Symbol table (as reference structure) |</p>
<p>DDSYN | Parameters for Buffer Synchronization |</p>
<p>DDTABFDS | DD: Structure/table name &#8211; field name with lengths |</p>
<p>DDTABLE | Structure for Table Information |</p>
<p>DDTABNAME | Only table name |</p>
<p>DDTABTVAL | DD: Control string for TABT values checks |</p>
<p>DDTBCLASS | DD: Control String for Checking TABCLASS &lt;-&gt; SQLTAB |</p>
<p>DDTBFD | DD: Table Name, Field Assignment |</p>
<p>DDTBFDCHK | Control String for Table Checks (Fields) |</p>
<p>DDTBFKCHK | Control String for Foreign Key Checks in Table Activator |</p>
<p>DDTBHDCHK | Control String for Table Checks (Header) |</p>
<p>DDTBIXCHK | Control String for the Index Checks |</p>
<p>DDTCCT | DD: Cluster Tables -&gt; Table Clsuter &#8211; Assignment |</p>
<p>DDTEMPL | DD: Structure for mapping SKIND -&gt; text |</p>
<p>DDTEXTDATA | Data cluster as text |</p>
<p>DDTIMER | DD: Basic tools, timer structure |</p>
<p>DDTRKORR | DD: Structure for Transport Requests |</p>
<p>DDTTACTRES | DD: Status of Table Types (Activator Results) |</p>
<p>DDTTSTATE | DD: Result when reading the TABT activation set |</p>
<p>DDTYPEDESC | Description of an ABAP Dictionary Type |</p>
<p>DDTYPEGET | Control structure for DD_TYPEINFO_GET |</p>
<p>DDTYPES | Table of all Dictionary types and classes |</p>
<p>DDTYPET | ABAP/4 Dictionary: Texts for type groups |</p>
<p>DDUDMPAR | Parameters for attribute maintenance / partial objects |</p>
<p>DDUDT | DD: Include for user, date, time |</p>
<p>DDVAL | Generated table for view DDVAL |</p>
<p>DDVE1 | Value Table for Domain DDVERINT4 |</p>
<p>DDVEPR | Check Table with Two Key Fields |</p>
<p>DDWHERECND | DD: Lines of where condition |</p>
<p>DDXTF | Nametab field structure for delayed writing |</p>
<p>DDXTT | Nametab header structure for delayed writing |</p>
<p>DDYN | Interface Between ABAPhelp and Help Processor |</p>
<p>DDYTF | Substitution Nametab (shadow-shadow-nametab for DDXTF) |</p>
<p>DDYTT | Substitution Nametab (shadow-shadow-nametab for DDXTT) |</p>
<p>DD_LB_TEST | Generated Table for View DD_LB_TEST |</p>
<p>Conclusion</p>
<p>It is thus possible to use these tables. Please feel free to add or correct any of the above.</p>
<p>Rgds,</p>
<p>Nic</p>
<br />Posted in ABAP, Programming Tagged: find abap table, find sap data, find sap table, sap data system, sap table, tables sap <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/indradewaji.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/indradewaji.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/indradewaji.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/indradewaji.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/indradewaji.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/indradewaji.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/indradewaji.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/indradewaji.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/indradewaji.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/indradewaji.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/indradewaji.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/indradewaji.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/indradewaji.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/indradewaji.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=75&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://indradewaji.wordpress.com/2008/12/16/find-data-in-your-sap-system-and-know-which-tables-do-what/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d1aee9dd4a2a59a0f1e18ae325447b61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Indra Dewaji</media:title>
		</media:content>
	</item>
		<item>
		<title>How to Code BDC on ABAP</title>
		<link>http://indradewaji.wordpress.com/2008/12/10/how-to-code-bdc-on-abap/</link>
		<comments>http://indradewaji.wordpress.com/2008/12/10/how-to-code-bdc-on-abap/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 02:06:46 +0000</pubDate>
		<dc:creator>indradewaji</dc:creator>
				<category><![CDATA[ABAP]]></category>
		<category><![CDATA[Business Proccess]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[abap bdc]]></category>
		<category><![CDATA[bdc abap]]></category>
		<category><![CDATA[code bdc]]></category>
		<category><![CDATA[how to bdc]]></category>
		<category><![CDATA[how to code bdc]]></category>
		<category><![CDATA[sampe bdc code]]></category>
		<category><![CDATA[sample bdc program]]></category>

		<guid isPermaLink="false">http://indradewaji.wordpress.com/?p=72</guid>
		<description><![CDATA[What is BDC BDC ( Batch Data Communication ) is used for uploading mass data into SAP system. In SAP system BDC also referred to batch input or data tranfer. Typical Uses Typical uses of batch input include the one-time import of data from a legacy system into a newly installed R/3 System. Another typical [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=72&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>What is BDC</p>
<p>BDC ( Batch Data Communication ) is used for uploading mass data into SAP system. In SAP system BDC also referred to batch input or data tranfer.<br />
<span id="more-72"></span><br />
Typical Uses</p>
<p>Typical uses of batch input include the one-time import of data from a legacy system into a newly installed R/3 System. Another typical use is for periodic transfers of data from external systems or legacy systems that are still in use into SAP.</p>
<p>Background of BDC</p>
<p>To ensure data consistency in SAP system, we must not update SAP data directly from ABAP program. We must upload data through similar program flow compared to manual input by user. SAP provide this by BDC. BDC works by simulating the user input from transactional screen via an ABAP program. This means that you do not bypass any of the standard SAP consistency checks, authorisations, update conjunction tables, etc.</p>
<p>How it works</p>
<p>Data input entered by user simulated in BDC by data packet. The transaction then started using this internal table as the input and executed in the background.</p>
<p>Data packet is an internal table has a structure of BDCDATA, it has fields:<br />
1. PROGRAM (program name)<br />
2. DYNPRO (screen number)<br />
3. DYNBEGIN (New screen start) X=new screen<br />
4. FNAM (Field name)<br />
5. FVAL (Field value)<br />
Data packet contain of screen by screen packets. One screen packet contain:<br />
1. Screen no<br />
2. Cursor position<br />
3. User command<br />
4. Input fields</p>
<p>It implemented in internal table in this format:<br />
PROGRAM    DYNPRO    DYNBEGIN    FNAM    FVAL<br />
program1    screen1    X<br />
BDC_CURSOR    pos1<br />
BDC_OKCODE    comm1<br />
fieldname1    fieldvalue1<br />
fieldname2    fieldvalue2<br />
program2    screen2    X<br />
BDC_CURSOR    pos1<br />
BDC_OKCODE    comm1<br />
fieldname1    fieldvalue1<br />
fieldname2    fieldvalue2</p>
<p>For example, we want to create a BDC to change ABAP program title.<br />
Here is what we do manually: Go to screen SE38, enter program, select radiobutton &#8220;Attributes&#8221;, then click &#8220;Change&#8221;. After that, change title then press &#8220;Save&#8221; button.<br />
In BDC, we simulate this by following internal table:<br />
PROGRAM    DYNPRO    DYNBEGIN    FNAM    FVAL<br />
SAPLWBABAP    100    X<br />
BDC_CURSOR    RS38M-FUNC_HEAD<br />
BDC_OKCODE    =CHAP<br />
RS38M-PROGRAMM    ZAALTESTBDC<br />
RS38M-FUNC_EDIT<br />
RS38M-FUNC_HEAD    X<br />
SAPLSEDTATTR    200    X<br />
BDC_CURSOR    RS38M-REPTI<br />
BDC_OKCODE    =CONT<br />
RS38M-REPTI    Test change title BDC<br />
TRDIR-SUBC    1<br />
TRDIR-FIXPT    X<br />
SAPLWBABAP    100    X<br />
BDC_CURSOR    RS38M-PROGRAMM<br />
BDC_OKCODE    =BACK<br />
RS38M-PROGRAMM    ZAALTESTBDC<br />
RS38M-FUNC_HEAD    X</p>
<p>To accomodate you to build data packet, SAP provide BDC recording in tcode SHDB.<br />
Do following action:<br />
1. Go to tcode SHDB<br />
2. click &#8220;New recording&#8221;, enter recording name to identified your record, and TCode to be recorded.<br />
3. You will enter recording mode of the transaction, simulate action you want to perform in this transaction<br />
4. At the end it will result internal table ready to upload to data transfer methods (Call transaction or BDC sessions).</p>
<p>After internal table created then we pass this to data transfer methods. There are two alternatives of data transfer methods, using Call Transaction or BDC session.<br />
Call transaction performed by calling command ‘Call Transaction’. ABAP program must do the error handling based on returning table from call transaction command. It is used for real-time interfaces and custom error handling &amp; logging features. This is suitable when processing sequential update, it means, next data will depend on previous data.<br />
In BDC Sessions, the ABAP program creates a session with all the transactional data, and this session can be viewed, scheduled and processed (using Transaction SM35) at a later time. The latter technique has a built-in error processing mechanism too.</p>
<p>Above explanation taken from http://abap-gallery.blogspot.com.</p>
<p>Here are a complete sample BDC program on ABAP. The sample will update net price of PO item 00010.</p>
<p>*Code used to create BDC<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; Report  ZBDC_EXAMPLE                                                *<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; Example BDC program, which updates net price of item 00010 of a     *<br />
*&amp; particular Purchase order(EBELN).                                   *<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 />
REPORT  ZBDC_EXAMPLE  NO STANDARD PAGE HEADING<br />
LINE-SIZE 132.</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;&#8211;<br />
* Data declaration<br />
TABLES: ekko, ekpo.</p>
<p>TYPES: BEGIN OF t_ekko,<br />
ebeln TYPE ekko-ebeln,<br />
waers TYPE ekko-waers,<br />
netpr TYPE ekpo-netpr,<br />
err_msg(73) TYPE c,<br />
END OF t_ekko.</p>
<p>DATA: it_ekko  TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,<br />
wa_ekko  TYPE t_ekko,<br />
it_error TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,<br />
wa_error TYPE t_ekko,<br />
it_success TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,<br />
wa_success TYPE t_ekko.</p>
<p>DATA: w_textout            LIKE t100-text.<br />
DATA: gd_update TYPE i,<br />
gd_lines TYPE i.</p>
<p>*Used to store BDC data<br />
DATA: BEGIN OF bdc_tab OCCURS 0.<br />
INCLUDE STRUCTURE bdcdata.<br />
DATA: END OF bdc_tab.</p>
<p>*Used to stores error information from CALL TRANSACTION Function Module<br />
DATA: BEGIN OF messtab OCCURS 0.<br />
INCLUDE STRUCTURE bdcmsgcoll.<br />
DATA: END OF messtab.</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;&#8211;<br />
*Screen declaration<br />
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME<br />
TITLE text-001. &#8220;Purchase order Num<br />
SELECT-OPTIONS: so_ebeln FOR ekko-ebeln OBLIGATORY.</p>
<p>SELECTION-SCREEN END OF BLOCK block1.</p>
<p>SELECTION-SCREEN BEGIN OF BLOCK block2 WITH FRAME<br />
TITLE text-002. &#8220;New NETPR value<br />
PARAMETERS:  p_newpr(14)   TYPE c obligatory.  &#8220;LIKE ekpo-netpr.<br />
SELECTION-SCREEN END OF BLOCK block2.</p>
<p>************************************************************************<br />
*START-OF-SELECTION<br />
START-OF-SELECTION.</p>
<p>* Retrieve data from Purchase order table(EKKO)<br />
SELECT ekko~ebeln ekko~waers ekpo~netpr<br />
INTO TABLE it_ekko<br />
FROM ekko AS ekko INNER JOIN ekpo AS ekpo<br />
ON ekpo~ebeln EQ ekko~ebeln<br />
WHERE ekko~ebeln IN so_ebeln AND<br />
ekpo~ebelp EQ &#8217;10&#8242;.</p>
<p>************************************************************************<br />
*END-OF-SELECTION<br />
END-OF-SELECTION.</p>
<p>* Check data has been retrieved ready for processing<br />
DESCRIBE TABLE it_ekko LINES gd_lines.<br />
IF gd_lines LE 0.<br />
*   Display message if no data has been retrieved<br />
MESSAGE i003(zp) WITH &#8216;No Records Found&#8217;(001).<br />
LEAVE TO SCREEN 0.<br />
ELSE.<br />
*   Update Customer master data (instalment text)<br />
LOOP AT it_ekko INTO wa_ekko.<br />
PERFORM bdc_update.<br />
ENDLOOP.<br />
*   Display message confirming number of records updated<br />
IF gd_update GT 1.<br />
MESSAGE i003(zp) WITH gd_update &#8216;Records updated&#8217;(002).<br />
ELSE.<br />
MESSAGE i003(zp) WITH gd_update &#8216;Record updated&#8217;(003).<br />
ENDIF.</p>
<p>* Display Success Report<br />
* **********************<br />
*   Check Success table<br />
DESCRIBE TABLE it_success LINES gd_lines.<br />
IF gd_lines GT 0.<br />
*     Display result report column headings<br />
PERFORM display_column_headings.<br />
*     Display result report<br />
PERFORM display_report.<br />
ENDIF.</p>
<p>* Display Error Report<br />
* ********************<br />
*   Check errors table<br />
DESCRIBE TABLE it_error LINES gd_lines.<br />
*   If errors exist then display errors report<br />
IF gd_lines GT 0.<br />
*     Display errors report<br />
PERFORM display_error_headings.<br />
PERFORM display_error_report.<br />
ENDIF.<br />
ENDIF.</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  DISPLAY_COLUMN_HEADINGS<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 />
*       Display column headings<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_column_headings.<br />
WRITE:2 &#8216; Success Report &#8216;(014) COLOR COL_POSITIVE.<br />
SKIP.<br />
WRITE:2 &#8216;The following records updated successfully:&#8217;(013).<br />
WRITE:/ sy-uline(42).<br />
FORMAT COLOR COL_HEADING.<br />
WRITE:/      sy-vline,<br />
(10) &#8216;Purchase Order&#8217;(004), sy-vline,<br />
(11) &#8216;Old Netpr&#8217;(005), sy-vline,<br />
(11) &#8216;New Netpr&#8217;(006), sy-vline.<br />
WRITE:/ sy-uline(42).<br />
ENDFORM.                    &#8221; DISPLAY_COLUMN_HEADINGS</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  BDC_UPDATE<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 />
*       Populate BDC table and call transaction ME22<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 bdc_update.<br />
PERFORM dynpro USING:<br />
&#8216;X&#8217;   &#8216;SAPMM06E&#8217;        &#8217;0105&#8242;,<br />
&#8216; &#8216;   &#8216;BDC_CURSOR&#8217;      &#8216;RM06E-BSTNR&#8217;,<br />
&#8216; &#8216;   &#8216;RM06E-BSTNR&#8217;     wa_ekko-ebeln,<br />
&#8216; &#8216;   &#8216;BDC_OKCODE&#8217;      &#8216;/00&#8242;,                      &#8220;OK code</p>
<p>&#8216;X&#8217;   &#8216;SAPMM06E&#8217;        &#8217;0120&#8242;,<br />
&#8216; &#8216;   &#8216;BDC_CURSOR&#8217;      &#8216;EKPO-NETPR(01)&#8217;,<br />
&#8216; &#8216;   &#8216;EKPO-NETPR(01)&#8217;  p_newpr,<br />
&#8216; &#8216;   &#8216;BDC_OKCODE&#8217;      &#8216;=BU&#8217;.                      &#8220;OK code</p>
<p>* Call transaction to update customer instalment text<br />
CALL TRANSACTION &#8216;ME22&#8242; USING bdc_tab MODE &#8216;N&#8217; UPDATE &#8216;S&#8217;<br />
MESSAGES INTO messtab.<br />
* Check if update was succesful<br />
IF sy-subrc EQ 0.<br />
ADD 1 TO gd_update.<br />
APPEND wa_ekko TO it_success.<br />
ELSE.<br />
*   Retrieve error messages displayed during BDC update<br />
LOOP AT messtab WHERE msgtyp = &#8216;E&#8217;.<br />
*     Builds actual message based on info returned from Call transaction<br />
CALL FUNCTION &#8216;MESSAGE_TEXT_BUILD&#8217;<br />
EXPORTING<br />
msgid               = messtab-msgid<br />
msgnr               = messtab-msgnr<br />
msgv1               = messtab-msgv1<br />
msgv2               = messtab-msgv2<br />
msgv3               = messtab-msgv3<br />
msgv4               = messtab-msgv4<br />
IMPORTING<br />
message_text_output = w_textout.<br />
ENDLOOP.</p>
<p>*   Build error table ready for output<br />
wa_error = wa_ekko.<br />
wa_error-err_msg = w_textout.<br />
APPEND wa_error TO it_error.<br />
CLEAR: wa_error.<br />
ENDIF.</p>
<p>* Clear bdc date table<br />
CLEAR: bdc_tab.<br />
REFRESH: bdc_tab.<br />
ENDFORM.                    &#8221; BDC_UPDATE</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 DYNPRO                                                   *<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 />
*       stores values to bdc table                                    *<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;  DYNBEGIN                                                      *<br />
*  &#8211;&gt;  NAME                                                          *<br />
*  &#8211;&gt;  VALUE                                                         *<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 dynpro USING    dynbegin name value.<br />
IF dynbegin = &#8216;X&#8217;.<br />
CLEAR bdc_tab.<br />
MOVE:  name TO bdc_tab-program,<br />
value TO bdc_tab-dynpro,<br />
&#8216;X&#8217;  TO bdc_tab-dynbegin.<br />
APPEND bdc_tab.<br />
ELSE.<br />
CLEAR bdc_tab.<br />
MOVE:  name TO bdc_tab-fnam,<br />
value TO bdc_tab-fval.<br />
APPEND bdc_tab.<br />
ENDIF.<br />
ENDFORM.                               &#8221; DYNPRO</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  DISPLAY_REPORT<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 />
*       Display Report<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_report.<br />
FORMAT COLOR COL_NORMAL.<br />
* Loop at data table<br />
LOOP AT it_success INTO wa_success.<br />
WRITE:/      sy-vline,<br />
(10) wa_success-ebeln, sy-vline,<br />
(11) wa_success-netpr CURRENCY wa_success-waers, sy-vline,<br />
(11) p_newpr, sy-vline.<br />
CLEAR: wa_success.<br />
ENDLOOP.<br />
WRITE:/ sy-uline(42).<br />
REFRESH: it_success.<br />
FORMAT COLOR COL_BACKGROUND.<br />
ENDFORM.                    &#8221; DISPLAY_REPORT</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  DISPLAY_ERROR_REPORT<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 />
*       Display error report 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 display_error_report.<br />
LOOP AT it_error INTO wa_error.<br />
WRITE:/      sy-vline,<br />
(10) wa_error-ebeln, sy-vline,<br />
(11) wa_error-netpr CURRENCY wa_error-waers, sy-vline,<br />
(73) wa_error-err_msg, sy-vline.<br />
ENDLOOP.<br />
WRITE:/ sy-uline(104).<br />
REFRESH: it_error.<br />
ENDFORM.                    &#8221; DISPLAY_ERROR_REPORT</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  DISPLAY_ERROR_HEADINGS<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 />
*       Display error report headings<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_error_headings.<br />
SKIP.<br />
WRITE:2 &#8216; Error Report &#8216;(007) COLOR COL_NEGATIVE.<br />
SKIP.<br />
WRITE:2 &#8216;The following records failed during update:&#8217;(008).<br />
WRITE:/ sy-uline(104).<br />
FORMAT COLOR COL_HEADING.<br />
WRITE:/      sy-vline,<br />
(10) &#8216;Purchase Order&#8217;(009), sy-vline,<br />
(11) &#8216;Netpr&#8217;(010), sy-vline,<br />
(73) &#8216;Error Message&#8217;(012), sy-vline.<br />
WRITE:/ sy-uline(104).<br />
FORMAT COLOR COL_NORMAL.<br />
ENDFORM.                    &#8221; DISPLAY_ERROR_HEADINGS</p>
<br />Posted in ABAP, Business Proccess, Programming Tagged: abap bdc, bdc abap, code bdc, how to bdc, how to code bdc, sampe bdc code, sample bdc program <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/indradewaji.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/indradewaji.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/indradewaji.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/indradewaji.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/indradewaji.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/indradewaji.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/indradewaji.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/indradewaji.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/indradewaji.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/indradewaji.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/indradewaji.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/indradewaji.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/indradewaji.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/indradewaji.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=72&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://indradewaji.wordpress.com/2008/12/10/how-to-code-bdc-on-abap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d1aee9dd4a2a59a0f1e18ae325447b61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Indra Dewaji</media:title>
		</media:content>
	</item>
		<item>
		<title>ABAP Select Statement and Performance</title>
		<link>http://indradewaji.wordpress.com/2008/12/09/abap-select-statement-and-performance/</link>
		<comments>http://indradewaji.wordpress.com/2008/12/09/abap-select-statement-and-performance/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 03:50:38 +0000</pubDate>
		<dc:creator>indradewaji</dc:creator>
				<category><![CDATA[ABAP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[abap select]]></category>
		<category><![CDATA[abap select. performance select]]></category>
		<category><![CDATA[select query]]></category>
		<category><![CDATA[select statement]]></category>

		<guid isPermaLink="false">http://indradewaji.wordpress.com/?p=68</guid>
		<description><![CDATA[Contributed by Henrik Frank For all entries The for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of entries in the driver table is larger than rsdb/max_blocking_factor, several similar SQL statements are executed to limit the length of the WHERE clause. The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=68&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><!--[if gte mso 9]&gt;  Normal 0     false false false  EN-US X-NONE X-NONE              MicrosoftInternetExplorer4              &lt;![endif]--><!--[if gte mso 9]&gt;                                                                                                                                             &lt;![endif]--></p>
<p class="MsoNormal">Contributed by <a href="http://www.henrikfrank.dk/">Henrik Frank</a></p>
<p class="MsoNormal" style="margin-left:.5in;text-indent:-.25in;"><!--[if !supportLists]--></p>
<p class="H2">For all entries</p>
<p class="MsoNormal">The for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of entries in the driver table is larger than rsdb/max_blocking_factor, several similar SQL statements are executed to limit the length of the WHERE clause.<span id="more-68"></span></p>
<p class="MsoNormal">The plus</p>
<ul style="margin-top:0;" type="disc">
<li class="MsoNormal">Large amount of data</li>
<li class="MsoNormal">Mixing processing and      reading of data</li>
<li class="MsoNormal">Fast internal reprocessing      of data</li>
<li class="MsoNormal">Fast</li>
</ul>
<p class="MsoNormal">The Minus</p>
<ul style="margin-top:0;" type="disc">
<li class="MsoNormal">Difficult to      program/understand</li>
<li class="MsoNormal">Memory could be critical      (use FREE or PACKAGE size)</li>
</ul>
<p class="MsoNormal">Some steps that might make FOR ALL ENTRIES more efficient:</p>
<ul style="margin-top:0;" type="disc">
<li class="MsoNormal">Removing duplicates from      the driver table</li>
<li class="MsoNormal">Sorting the driver table</li>
<li class="MsoNormal">If possible, convert the      data in the driver table to ranges so a BETWEEN statement is used instead      of and OR statement:</li>
</ul>
<p class="Preformatted" style="margin-left:.5in;"><span> </span>FOR ALL ENTRIES IN i_tab</p>
<p class="Preformatted" style="margin-left:.5in;"><span> </span>WHERE mykey &gt;= i_tab-low and</p>
<p class="Preformatted" style="margin-left:.5in;"><span> </span>mykey &lt;= i_tab-high.</p>
<p class="H2" style="margin-left:.5in;">Nested selects</p>
<p class="MsoNormal" style="margin-left:.5in;">The plus:</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Small amount of data</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Mixing processing and reading of data</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Easy to code &#8211; and understand</p>
<p class="MsoNormal" style="margin-left:.5in;">The minus:</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Large amount of data</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->when mixed processing isn’t needed</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Performance killer no. 1</p>
<p class="H2" style="margin-left:.5in;">Select using JOINS</p>
<p class="MsoNormal" style="margin-left:.5in;">The plus</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Very large amount of data</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Similar to Nested selects &#8211; when the accesses are planned by the programmer</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->In some cases the fastest</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Not so memory critical</p>
<p class="MsoNormal" style="margin-left:.5in;">The minus</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Very difficult to program/understand</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Mixing processing and reading of data not possible</p>
<p class="H2" style="margin-left:.5in;">Use the selection criteria</p>
<p class="Preformatted" style="margin-left:.5in;">SELECT * FROM SBOOK.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>CHECK: SBOOK-CARRID = &#8216;LH&#8217; AND<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>SBOOK-CONNID = &#8217;0400&#8242;.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDSELECT.<span> </span><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><strong>SELECT * FROM SBOOK<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>WHERE CARRID = &#8216;LH&#8217; AND<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>CONNID = &#8217;0400&#8242;.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>ENDSELECT.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="H2" style="margin-left:.5in;">Use the aggregated functions</p>
<p class="Preformatted" style="margin-left:.5in;">C4A = &#8217;000&#8242;.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">SELECT * FROM T100<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>WHERE SPRSL = &#8216;D&#8217; AND<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>ARBGB = &#8217;00&#8242;.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>CHECK: T100-MSGNR &gt; C4A.</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>C4A = T100-MSGNR.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">ENDSELECT.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>SELECT MAX( MSGNR ) FROM T100 INTO C4A<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>WHERE SPRSL = &#8216;D&#8217; AND<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span><span> </span>ARBGB = &#8217;00&#8242;.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="H2" style="margin-left:.5in;">Select with view</p>
<p class="Preformatted" style="margin-left:.5in;">SELECT * FROM DD01L<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>WHERE DOMNAME LIKE &#8216;CHAR%&#8217;<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>AND AS4LOCAL = &#8216;A&#8217;.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>SELECT SINGLE * FROM DD01T<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>WHERE<span> </span>DOMNAME<span> </span>= DD01L-DOMNAME<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>AND AS4LOCAL<span> </span>= &#8216;A&#8217;<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>AND AS4VERS<span> </span>= DD01L-AS4VERS<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>AND DDLANGUAGE = SY-LANGU.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDSELECT.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>SELECT * FROM DD01V<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>WHERE DOMNAME LIKE &#8216;CHAR%&#8217;<span> </span><span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>AND DDLANGUAGE = SY-LANGU.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>ENDSELECT.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="H2" style="margin-left:.5in;">Select with index support</p>
<p class="Preformatted" style="margin-left:.5in;">SELECT * FROM T100<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>WHERE<span> </span>ARBGB = &#8217;00&#8242;<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>AND MSGNR = &#8217;999&#8242;.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDSELECT.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>SELECT * FROM T002.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>SELECT * FROM T100<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>WHERE<span> </span>SPRSL = T002-SPRAS </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>AND ARBGB = &#8217;00&#8242;<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>AND MSGNR = &#8217;999&#8242;.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>ENDSELECT.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>ENDSELECT.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="H2" style="margin-left:.5in;">Select … Into table</p>
<p class="Preformatted" style="margin-left:.5in;">REFRESH X006.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">SELECT * FROM T006 INTO X006.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>APPEND X006.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDSELECT</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>SELECT * FROM T006 INTO TABLE X006.</strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="H2" style="margin-left:.5in;">Select with selection list</p>
<p class="Preformatted" style="margin-left:.5in;">SELECT * FROM DD01L<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>WHERE DOMNAME LIKE &#8216;CHAR%&#8217;<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>AND AS4LOCAL = &#8216;A&#8217;.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDSELECT</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>SELECT DOMNAME FROM DD01L<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>INTO DD01L-DOMNAME<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>WHERE DOMNAME LIKE &#8216;CHAR%&#8217;<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>AND AS4LOCAL = &#8216;A&#8217;.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>ENDSELECT</strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="H2" style="margin-left:.5in;">Key access to multiple lines</p>
<p class="Preformatted" style="margin-left:.5in;">LOOP AT TAB.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>CHECK TAB-K = KVAL.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>&#8221; &#8230;<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDLOOP.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>LOOP AT TAB WHERE K = KVAL.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>&#8221; &#8230;<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>ENDLOOP.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="H2" style="margin-left:.5in;">Copying internal tables</p>
<p class="Preformatted" style="margin-left:.5in;">REFRESH TAB_DEST.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">LOOP AT TAB_SRC INTO TAB_DEST.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>APPEND TAB_DEST.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDLOOP.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>TAB_DEST[] = TAB_SRC[].</strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="H2" style="margin-left:.5in;">Modifying a set of lines</p>
<p class="Preformatted" style="margin-left:.5in;">LOOP AT TAB.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>IF TAB-FLAG IS INITIAL.</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>TAB-FLAG = &#8216;X&#8217;.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>ENDIF.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>MODIFY TAB.<span> </span><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDLOOP.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>TAB-FLAG = &#8216;X&#8217;.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>MODIFY TAB TRANSPORTING FLAG<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>WHERE FLAG IS INITIAL. </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="H2" style="margin-left:.5in;">Deleting a sequence of lines</p>
<p class="Preformatted" style="margin-left:.5in;">DO 101 TIMES.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>DELETE TAB_DEST INDEX 450.</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDDO.<span> </span><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>DELETE TAB_DEST FROM 450 TO 550.</strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="H2" style="margin-left:.5in;">Linear search vs. binary</p>
<p class="Preformatted" style="margin-left:.5in;">READ TABLE TAB WITH KEY K = &#8216;X&#8217;.</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>READ TABLE TAB WITH KEY K = &#8216;X&#8217; BINARY SEARCH.</strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="H2" style="margin-left:.5in;">Comparison of internal tables</p>
<p class="Preformatted" style="margin-left:.5in;">DESCRIBE TABLE: TAB1 LINES L1,<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>TAB2 LINES L2.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">IF L1 &lt;&gt; L2.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>TAB_DIFFERENT = &#8216;X&#8217;.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ELSE.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>TAB_DIFFERENT = SPACE.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">LOOP</p>
<p class="Preformatted" style="margin-left:.5in;"><span> </span>AT TAB1.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>READ TABLE TAB2 INDEX SY-TABIX.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>IF TAB1 &lt;&gt; TAB2.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>TAB_DIFFERENT = &#8216;X&#8217;. EXIT.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>ENDIF.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>ENDLOOP.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDIF.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">IF TAB_DIFFERENT = SPACE.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>&#8221; &#8230;<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDIF.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>IF TAB1[] = TAB2[].<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>&#8221; &#8230;<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>ENDIF.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="H2" style="margin-left:.5in;">Modify selected components</p>
<p class="Preformatted" style="margin-left:.5in;">LOOP AT TAB.<span> </span><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>TAB-DATE = SY-DATUM.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>MODIFY TAB.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDLOOP.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>WA-DATE = SY-DATUM.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>LOOP AT TAB.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong><span> </span>MODIFY TAB FROM WA TRANSPORTING DATE. </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>ENDLOOP.<span> </span></strong></p>
<p class="Preformatted" style="margin-left:.5in;"><strong> </strong></p>
<p class="H2" style="margin-left:.5in;">Appending two internal tables</p>
<p class="Preformatted" style="margin-left:.5in;">LOOP AT TAB_SRC.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>APPEND TAB_SRC TO TAB_DEST.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDLOOP</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>APPEND LINES OF TAB_SRC TO TAB_DEST.</strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="H2" style="margin-left:.5in;">Deleting a set of lines</p>
<p class="Preformatted" style="margin-left:.5in;">LOOP AT TAB_DEST WHERE K = KVAL.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span>DELETE TAB_DEST.<span> </span></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">ENDLOOP</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="Preformatted" style="margin-left:.5in;"><strong>DELETE TAB_DEST WHERE K = KVAL.</strong></p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;"><span> </span></p>
<p class="H2" style="margin-left:.5in;">Tools available in SAP to pin-point a performance problem</p>
<p class="Preformatted" style="margin-left:.5in;">·<span> </span>The runtime analysis (SE30)</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">·<span> </span>SQL Trace (ST05)</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">·<span> </span>Tips and Tricks tool</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="Preformatted" style="margin-left:.5in;">·<span> </span>The performance database</p>
<p class="Preformatted" style="margin-left:.5in;">
<p class="H2" style="margin-left:.5in;">Optimizing the load of the database</p>
<p class="H3" style="margin-left:.5in;">Using table buffering</p>
<p class="MsoNormal" style="margin-left:.5in;">Using buffered tables improves the performance considerably. Note that in some cases a statement can not be used with a buffered table, so when using these statements the buffer will be bypassed. These statements are:</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Select DISTINCT</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->ORDER BY / GROUP BY / HAVING clause</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->Any WHERE clause that contains a sub query or IS NULL expression</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->JOIN s</p>
<p class="MsoNormal" style="margin-left:1in;text-indent:-.25in;"><!--[if !supportLists]--><span style="font-family:Symbol;"><span>·<span style="font-family:&quot;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;"> </span></span></span><!--[endif]-->A SELECT&#8230; FOR UPDATE</p>
<p class="MsoNormal" style="margin-left:.5in;">If you wan t to explicitly bypass the buffer, use the BYPASS BUFFER addition to the SELECT clause.</p>
<p class="H3" style="margin-left:.5in;">Use the ABAP SORT Clause Instead of ORDER BY</p>
<p class="MsoNormal" style="margin-left:.5in;">The ORDER BY clause is executed on the database server while the ABAP SORT statement is executed on the application server. The database server will usually be the bottleneck, so sometimes it is better to move the sort from the database server to the application server.</p>
<p class="MsoNormal" style="margin-left:.5in;">If you are not sorting by the primary key ( E.g. using the ORDER BY PRIMARY key statement) but are sorting by another key, it could be better to use the ABAP SORT statement to sort the data in an internal table. Note however that for very large result sets it might not be a feasible solution and you would want to let the database server sort it.</p>
<p class="H3" style="margin-left:.5in;">Avoid the SELECT DISTINCT Statement</p>
<p class="MsoNormal" style="margin-left:.5in;">As with the ORDER BY clause it could be better to avoid using SELECT DISTINCT, if some of the fields are not part of an index. Instead use ABAP SORT + DELETE ADJACENT DUPLICATES on an internal table, to delete duplicate rows.</p>
<p class="MsoNormal">
<br />Posted in ABAP, Programming Tagged: abap select, abap select. performance select, select query, select statement <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/indradewaji.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/indradewaji.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/indradewaji.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/indradewaji.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/indradewaji.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/indradewaji.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/indradewaji.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/indradewaji.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/indradewaji.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/indradewaji.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/indradewaji.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/indradewaji.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/indradewaji.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/indradewaji.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=68&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://indradewaji.wordpress.com/2008/12/09/abap-select-statement-and-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d1aee9dd4a2a59a0f1e18ae325447b61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Indra Dewaji</media:title>
		</media:content>
	</item>
		<item>
		<title>Find SAP User Exit</title>
		<link>http://indradewaji.wordpress.com/2008/12/09/find-sap-user-exit/</link>
		<comments>http://indradewaji.wordpress.com/2008/12/09/find-sap-user-exit/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 03:34:11 +0000</pubDate>
		<dc:creator>indradewaji</dc:creator>
				<category><![CDATA[ABAP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[find abap user exit]]></category>
		<category><![CDATA[find user exit]]></category>
		<category><![CDATA[sap user exit]]></category>
		<category><![CDATA[user exit]]></category>
		<category><![CDATA[user exit function]]></category>

		<guid isPermaLink="false">http://indradewaji.wordpress.com/?p=64</guid>
		<description><![CDATA[I found a tips how to find user exit on the internet, and I&#8217;ll share it for you. To find user exit use function module MOD_SAP_GET_FUNCEXITS in SE37 and execute. Enter the program name (after you find it on SE93 &#8211; search base on T-Code) you want to find exit for and execute. A list [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=64&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I found a tips how to find user exit on the internet, and I&#8217;ll share it for you. To find user exit use function module MOD_SAP_GET_FUNCEXITS in SE37 and execute. Enter the program name (after you find it on SE93 &#8211; search base on T-Code) you want to find exit for and execute. A list of all user exits for that program will be displayed.</p>
<p>Have a nice try.</p>
<br />Posted in ABAP, Programming Tagged: find abap user exit, find user exit, sap user exit, user exit, user exit function <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/indradewaji.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/indradewaji.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/indradewaji.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/indradewaji.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/indradewaji.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/indradewaji.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/indradewaji.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/indradewaji.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/indradewaji.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/indradewaji.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/indradewaji.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/indradewaji.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/indradewaji.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/indradewaji.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=64&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://indradewaji.wordpress.com/2008/12/09/find-sap-user-exit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d1aee9dd4a2a59a0f1e18ae325447b61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Indra Dewaji</media:title>
		</media:content>
	</item>
		<item>
		<title>Joomla Design Tutorial</title>
		<link>http://indradewaji.wordpress.com/2008/12/08/joomla-design-tutorial/</link>
		<comments>http://indradewaji.wordpress.com/2008/12/08/joomla-design-tutorial/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 04:12:55 +0000</pubDate>
		<dc:creator>indradewaji</dc:creator>
				<category><![CDATA[Book Recomendation]]></category>
		<category><![CDATA[Business Proccess]]></category>
		<category><![CDATA[E-commerce]]></category>
		<category><![CDATA[Ebook]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[joomla design]]></category>
		<category><![CDATA[joomla template]]></category>
		<category><![CDATA[joomla template tutorial]]></category>
		<category><![CDATA[joomla themes]]></category>
		<category><![CDATA[joomla tutorial]]></category>

		<guid isPermaLink="false">http://indradewaji.wordpress.com/?p=62</guid>
		<description><![CDATA[This free ebook will give you a complete tutorial on Joomla Design. An easy way, how to develop a nice site with joomla CMS. Please fill free to download on the link below. Download here Posted in Book Recomendation, Business Proccess, E-commerce, Ebook, SEO, Web Design Tagged: joomla design, joomla template, joomla template tutorial, joomla [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=62&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>This free ebook will give you a complete tutorial on Joomla Design. An easy way, how to develop a nice site with joomla CMS. Please fill free to download on the link below.</p>
<p><a title="Joomla Design Tutorial" href="http://www.ziddu.com/download/2865893/JoomlaTemplateTutorial.zip.html" target="_blank">Download here</a></p>
<br />Posted in Book Recomendation, Business Proccess, E-commerce, Ebook, SEO, Web Design Tagged: joomla design, joomla template, joomla template tutorial, joomla themes, joomla tutorial <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/indradewaji.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/indradewaji.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/indradewaji.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/indradewaji.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/indradewaji.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/indradewaji.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/indradewaji.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/indradewaji.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/indradewaji.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/indradewaji.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/indradewaji.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/indradewaji.wordpress.com/62/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/indradewaji.wordpress.com/62/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/indradewaji.wordpress.com/62/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=indradewaji.wordpress.com&amp;blog=2047284&amp;post=62&amp;subd=indradewaji&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://indradewaji.wordpress.com/2008/12/08/joomla-design-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d1aee9dd4a2a59a0f1e18ae325447b61?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Indra Dewaji</media:title>
		</media:content>
	</item>
	</channel>
</rss>
