<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7155770508932192357</id><updated>2024-09-28T12:27:25.184+10:00</updated><category term="BDC"/><category term="SAP-MM"/><category term="Tip"/><category term="Trick"/><category term="consignment"/><category term="1580025"/><category term="1644491"/><category term="1655101"/><category term="ABAP Report"/><category term="Business process"/><category term="COPA"/><category term="Debugger"/><category term="Direct Input"/><category term="Download"/><category term="EKPO-UEBTK"/><category term="EKPV"/><category term="Forecast"/><category term="Formatting"/><category term="Hierarchy"/><category term="LSMW"/><category term="ME21N"/><category term="Master Data"/><category term="OMDQ"/><category term="Rounding off"/><category term="SAP"/><category term="SAP Workflow Report"/><category term="STO"/><category term="Sap Note"/><category term="Shipping Tab"/><category term="UEBTK"/><category term="handling unit"/><category term="hu"/><category term="mb01"/><category term="mb_cf0001"/><category term="mito"/><category term="reuse"/><category term="round"/><category term="side-effect"/><category term="update debugger"/><category term="vlmove"/><title type='text'>SAP Tips and Tricks</title><subtitle type='html'>This blog gives some very useful articles on SAP process, mapping business processes to SAP, simple tricks, development using ABAP and BADI, smartforms. Specific topics can be requested by posting a comment.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-4164814231109355784</id><published>2016-05-31T12:59:00.001+10:00</published><updated>2016-05-31T12:59:17.444+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Direct Input"/><category scheme="http://www.blogger.com/atom/ns#" term="LSMW"/><category scheme="http://www.blogger.com/atom/ns#" term="Master Data"/><category scheme="http://www.blogger.com/atom/ns#" term="reuse"/><category scheme="http://www.blogger.com/atom/ns#" term="SAP"/><category scheme="http://www.blogger.com/atom/ns#" term="SAP-MM"/><category scheme="http://www.blogger.com/atom/ns#" term="Tip"/><category scheme="http://www.blogger.com/atom/ns#" term="Trick"/><title type='text'>LSMW Tip</title><content type='html'>This tip is very useful for Master Data LSMWs that updates many fields. Usually it happens that during a specific project we realise a need to update specific fields. We design these LSMWs in such a way that these values supplied in the input file is updated in the master file. Later on we try to reuse the LSMW for updating a subset if these fields. If we leave the values of other fields blank in the input file, depending on how the LSMW conversion rules were designed, the the master data will be updated with initial values. Common practice in many organisations is to create a new LSMW for the new set of fields. This is not required if the LSMW uses Direct Input.&lt;br /&gt;
&lt;br /&gt;
Direct input uses a special character to denote no value. The default is &quot;/&quot;. This allows us to reuse the LSMW. Reformat the input text file and fill fields that are not to be disturbed with this character.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj88D6vIlP_cl-5lh0HXm1foIDzDow3oBAcWCMkdFg4xRZYmQmwNI7wbQ_mNumdpe33Aw1wGxRyQW-_aoW1lgddZ_oNjUb7POT5ei3xoEIE8OsEt5It8BqdBdYCc-RO41Cpi5Z1gSZlC0w/s1600/no+data.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;43&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj88D6vIlP_cl-5lh0HXm1foIDzDow3oBAcWCMkdFg4xRZYmQmwNI7wbQ_mNumdpe33Aw1wGxRyQW-_aoW1lgddZ_oNjUb7POT5ei3xoEIE8OsEt5It8BqdBdYCc-RO41Cpi5Z1gSZlC0w/s400/no+data.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
For example if the LSMW is for updating the following fields&lt;br /&gt;
1. storage bin&lt;br /&gt;
2. picking area&lt;br /&gt;
3. reorder point for sloc,&lt;br /&gt;
&lt;br /&gt;
Later on if you want to use this lsmw for updating storage bin only, create the input file and fill picking area and reorder point fields with &quot;/&quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/4164814231109355784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/4164814231109355784?isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/4164814231109355784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/4164814231109355784'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2016/05/lsmw-tip.html' title='LSMW Tip'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj88D6vIlP_cl-5lh0HXm1foIDzDow3oBAcWCMkdFg4xRZYmQmwNI7wbQ_mNumdpe33Aw1wGxRyQW-_aoW1lgddZ_oNjUb7POT5ei3xoEIE8OsEt5It8BqdBdYCc-RO41Cpi5Z1gSZlC0w/s72-c/no+data.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-743628153161762431</id><published>2016-04-12T19:20:00.000+10:00</published><updated>2018-04-11T15:27:45.759+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="BDC"/><category scheme="http://www.blogger.com/atom/ns#" term="Tip"/><category scheme="http://www.blogger.com/atom/ns#" term="Trick"/><title type='text'>Increase efficiency and speed of your sap support tasks with the help of  Microsoft Excel and VBA</title><content type='html'>&lt;b&gt;Background&lt;/b&gt;&lt;br /&gt;
SAP Tcode SM30, is a very widely used transaction. Many IMG activities are simply update of table views using SM30. For example MRP controller IMG activity is nothing but sm30 on sap table view V_T024D. Apart from IMG activities, most of the SAP installations use many custom tables which are maintained using SM30. usually, the volume of such IMG activities in a support environment is a few records. As mentioned earlier, the amount of &amp;nbsp;MRP controllers that needs to be created when a new plant is created is usually huge. Here comes the problem. Many medium sized companies use a couple of 100 mrp controllers. The same problem happens when the business wants to add a new MRP controller to all existing plants. This again is easily a couple of hundreds. Moreover MRP controller IMG activity is not a table control; it has to be added one by one. This trick explained in this blog is very useful and saves time if the number of records exceeds hundred. This is limited to inserting new records. Editing records using SM30 is out of scope of this article.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Concept&lt;/b&gt;&lt;br /&gt;
Speed is achieved using Excel and VBA. Apart from some minor differences, all SM30 transactions have a standard structure. If you look at the recording of any SM30 transaction, you will notice the following structure&lt;br /&gt;
&lt;br /&gt;
The tcode and the table/viewname and &amp;nbsp;OKCODE for selection of update option comprises the fixed portion of the recording. This is same for any SM30 view or table or even IMG. I have not encountered any thing different than this.&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; style=&quot;border-collapse: collapse; width: 570px;&quot;&gt;
 &lt;colgroup&gt;&lt;col style=&quot;mso-width-alt: 5944; mso-width-source: userset; width: 125pt;&quot; width=&quot;167&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 1280; mso-width-source: userset; width: 27pt;&quot; width=&quot;36&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 512; mso-width-source: userset; width: 11pt;&quot; width=&quot;14&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 7054; mso-width-source: userset; width: 149pt;&quot; width=&quot;198&quot;&gt;&lt;/col&gt;
 &lt;col style=&quot;mso-width-alt: 5518; mso-width-source: userset; width: 116pt;&quot; width=&quot;155&quot;&gt;&lt;/col&gt;
 &lt;/colgroup&gt;&lt;tbody&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt; width: 125pt;&quot; width=&quot;167&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;width: 27pt;&quot; width=&quot;36&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;width: 11pt;&quot; width=&quot;14&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;T&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;width: 149pt;&quot; width=&quot;198&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;SM30&lt;/span&gt;&lt;/td&gt;
  &lt;td style=&quot;width: 116pt;&quot; width=&quot;155&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;SAPMSVMA&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;0100&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;BDC_CURSOR&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;BDC_OKCODE&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;/00&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;VIEWNAME&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;table name=&quot;&quot; or=&quot;&quot; view=&quot;&quot;&gt;&lt;/table&gt;
&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;VIMDYNFLDS-LTD_DTA_NO&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;SAPMSVMA&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;0100&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;BDC_CURSOR&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;BDC_OKCODE&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;=UPD&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;VIEWNAME&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;table name=&quot;&quot; or=&quot;&quot; view=&quot;&quot;&gt;&lt;/table&gt;
&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;
  &lt;td height=&quot;19&quot; style=&quot;height: 14.4pt;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;VIMDYNFLDS-LTD_DTA_NO&lt;/span&gt;&lt;/td&gt;
  &lt;td&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;X&lt;/span&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;br /&gt;
This is s followed by multiple occurrences of BDC screens for each record added. This is different for each table/view.&lt;br /&gt;
&lt;br /&gt;
For MRP controller it looks like this&lt;br /&gt;
&lt;br /&gt;
SAPL0PP3&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;0060&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;X&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BDC_OKCODE&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;=NEWL&lt;br /&gt;
SAPL0PP3&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;0061&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;X&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BDC_OKCODE&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;=BACK&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;V_T024D-WERKS&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;plant&gt;&lt;/plant&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;V_T024D-DISPO&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;mrp con=&quot;&quot;&gt;&lt;/mrp&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;V_T024D-DSNAM&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;name&gt;&lt;/name&gt;&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
All that is required is a small VBA script which should get the fixed portion first and build the variable portion of the recording merging with the actual data.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;How to do steps&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;We need a microsoft excel workbook with three sheets&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;ul&gt;
&lt;li&gt;Sheet1 - Recording. This sheet should contain the skeleton of the sm30 recording. basically fixed portion and the repeating portion&lt;/li&gt;
&lt;/ul&gt;
&lt;/ol&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Fixed portion&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy0YY_YqQ5EnO2rnj70AK8d6FPxJPbGvi8BXK47s4z0d5e1tkuHHJMqlsLHQx41CucSCQXZvzEF54j88d1hTiysrcQw0GKPYsAXZ-G-T0l4F8_mBScz3K5OOsP1TMPB8vBnysBrE6Y0u4/s1600/bfc-fixed-portion.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;160&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy0YY_YqQ5EnO2rnj70AK8d6FPxJPbGvi8BXK47s4z0d5e1tkuHHJMqlsLHQx41CucSCQXZvzEF54j88d1hTiysrcQw0GKPYsAXZ-G-T0l4F8_mBScz3K5OOsP1TMPB8vBnysBrE6Y0u4/s400/bfc-fixed-portion.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
Repeating portion&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjChtEOg6yBatmyBY4BdvAajNHvQdAhZB0HGSp_Z6VKd-iZX1Hg3CiBf919jSB8DSnJY4HbjmoItCeOK61kX6bOAu52DsB8KjNX76jT_ysmv99Ltb3hyeS9dHvrpduWHua_a0mKpKtcy-E/s1600/bdc-repeating-portion.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;68&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjChtEOg6yBatmyBY4BdvAajNHvQdAhZB0HGSp_Z6VKd-iZX1Hg3CiBf919jSB8DSnJY4HbjmoItCeOK61kX6bOAu52DsB8KjNX76jT_ysmv99Ltb3hyeS9dHvrpduWHua_a0mKpKtcy-E/s400/bdc-repeating-portion.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;&lt;ul&gt;
&lt;li&gt;Sheet 2 - Structure. This should contain some details required to generate the BDC&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Program name - get it from the sm30 recording&lt;/li&gt;
&lt;li&gt;Table name - the table or view name&lt;/li&gt;
&lt;li&gt;screen number - of the repeating section. in some cases there 2 screen numbers (example MRP controller)&lt;/li&gt;
&lt;li&gt;table field names&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Sheet 3 - Data. Should have the actual data for the Sm30&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Enter the details in Sheet Structure, from the recording&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8JsXBe6TDh5_mxU80OCK6DUw9NPiVEBu3scqKmpc3SeM3Ao-F95n6SCeBpwMd4o_jsAR8x9m90zm6IK8dklu39vNVtKG2UP2y4HNVXc1SPlcWIbwQ50Bk_-zkYPCYWAT6LEPwKe3X5JE/s1600/bdc-get-details.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;275&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8JsXBe6TDh5_mxU80OCK6DUw9NPiVEBu3scqKmpc3SeM3Ao-F95n6SCeBpwMd4o_jsAR8x9m90zm6IK8dklu39vNVtKG2UP2y4HNVXc1SPlcWIbwQ50Bk_-zkYPCYWAT6LEPwKe3X5JE/s400/bdc-get-details.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;Structure sheet should specify the links to data column and the field name. The structure below shows that the data sheet contains Plant in column A MRP controller in column B and Name in Column C.It is assumed that the data sheet contains column header and so row 1 in data sheet is ignored.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHpy6F_UkRqCrxhUKILxdecBrL9jpJnYbHPuunLdiQ22jat0JfuSW5nJV6_Bl9sIdy6D5a1cW1qQdNeurqQz1ObZwVLvvHJaMN7Sd47MIVkX6IugfalEoWq1XF7wTYDeevhOGnUB051i8/s1600/bdc-structure.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHpy6F_UkRqCrxhUKILxdecBrL9jpJnYbHPuunLdiQ22jat0JfuSW5nJV6_Bl9sIdy6D5a1cW1qQdNeurqQz1ObZwVLvvHJaMN7Sd47MIVkX6IugfalEoWq1XF7wTYDeevhOGnUB051i8/s1600/bdc-structure.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Tables / Views where sm30 uses table control, requires suffix (01) to the field name. For example Weighting groups uses table control. field names should be&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;A - GEWGR(01)&lt;/li&gt;
&lt;li&gt;B - COUN2(01)&lt;/li&gt;
&lt;li&gt;C - GWFAK(01)&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtO2vNg17OagqxarFxJGbMbd_4V1CKKh-VKJaT4zsJlmYdrX_VLb8d0HTk3jID4NsMJ1UWu2CvKBw8UFQCOFirFGBjONshMzHR34wy2hzVzTI8nomQ_Kb8lW4R9QAPPwvbqZpxmRooOLg/s1600/bdc-suffx.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtO2vNg17OagqxarFxJGbMbd_4V1CKKh-VKJaT4zsJlmYdrX_VLb8d0HTk3jID4NsMJ1UWu2CvKBw8UFQCOFirFGBjONshMzHR34wy2hzVzTI8nomQ_Kb8lW4R9QAPPwvbqZpxmRooOLg/s1600/bdc-suffx.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Copy the data into the DATA sheet of this workbook and run macro Generate_bdc_session. This macro will create a new sheet &quot;Session&quot; with the BDC data for the transaction. Save this sheet as a text file and import into SHDB and process using option &quot;display Errors&quot;.&lt;/li&gt;
&lt;li&gt;Important thing to note here is that the data is not saved. After the process is complete you can check the created data and save if all ok.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
I am happy to share this sheet along with macro - send a request in the comment. I am happy if you refer back this blog.&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/743628153161762431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/743628153161762431?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/743628153161762431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/743628153161762431'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2016/04/increase-efficiency-and-speed-of-your.html' title='Increase efficiency and speed of your sap support tasks with the help of  Microsoft Excel and VBA'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy0YY_YqQ5EnO2rnj70AK8d6FPxJPbGvi8BXK47s4z0d5e1tkuHHJMqlsLHQx41CucSCQXZvzEF54j88d1hTiysrcQw0GKPYsAXZ-G-T0l4F8_mBScz3K5OOsP1TMPB8vBnysBrE6Y0u4/s72-c/bfc-fixed-portion.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-6616662931972733439</id><published>2012-07-06T17:11:00.000+10:00</published><updated>2012-07-06T17:11:24.349+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="1655101"/><category scheme="http://www.blogger.com/atom/ns#" term="EKPV"/><category scheme="http://www.blogger.com/atom/ns#" term="ME21N"/><category scheme="http://www.blogger.com/atom/ns#" term="Shipping Tab"/><category scheme="http://www.blogger.com/atom/ns#" term="STO"/><title type='text'>Shipping Tab disappears in STO!</title><content type='html'>Another side-effect&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Scenario&lt;/strong&gt;&lt;br /&gt;
While creating STO, before saving change any detail in the shippin tab like delivery priority, shipping condition, shipping point. ( I have to say that the following behaviour is observed only when the STO is created by copying an existing STO from document overview)&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Behaviour&lt;/strong&gt;&lt;br /&gt;
After saving the STO, the new STO created, does not have Shipping details tab.&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Solution&lt;/strong&gt;&lt;br /&gt;
This is a side-effect caused by SAP notes 1259225, 1345615, 1515654.&lt;br /&gt;
&lt;br /&gt;
Solution is provided in note 1655101.</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/6616662931972733439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/6616662931972733439?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/6616662931972733439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/6616662931972733439'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2012/07/shipping-tab-disappears-in-sto.html' title='Shipping Tab disappears in STO!'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-5271477212861978778</id><published>2012-07-06T17:01:00.000+10:00</published><updated>2012-07-06T17:01:15.649+10:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="1580025"/><category scheme="http://www.blogger.com/atom/ns#" term="1644491"/><category scheme="http://www.blogger.com/atom/ns#" term="EKPO-UEBTK"/><category scheme="http://www.blogger.com/atom/ns#" term="Sap Note"/><category scheme="http://www.blogger.com/atom/ns#" term="side-effect"/><category scheme="http://www.blogger.com/atom/ns#" term="UEBTK"/><title type='text'>Unlimited overdelivery tolerance flag is reset!</title><content type='html'>Haaaaa. &lt;br /&gt;
I am back after after a looooooong break. I have decided to keep posting more regularly now :-).&lt;br /&gt;
&lt;br /&gt;
This one is what we usually face after the stacks. I like to call it PSM (Post Stack Misbehaviour).&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;
Sap Note 1580025 in Stack 10 caused a problem where by, any change to Purchase Order item (delivery date, schedule qty, Purchase order qty, price etc.), resets the unlimited over delivery tolerance flag. Usually the unlimited over delivery tolerance flag is defaulted from Inforec. This might create nasty issues for the business, where business might be expecting the GR to go through smoothly, it will end up in error.The probelm is solved by applying note 1644491.</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/5271477212861978778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/5271477212861978778?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/5271477212861978778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/5271477212861978778'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2012/07/unlimited-overdelivery-tolerance-flag.html' title='Unlimited overdelivery tolerance flag is reset!'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-2413122215281181513</id><published>2011-01-18T09:30:00.000+11:00</published><updated>2011-01-18T09:30:34.633+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Debugger"/><category scheme="http://www.blogger.com/atom/ns#" term="mb01"/><category scheme="http://www.blogger.com/atom/ns#" term="mb_cf0001"/><category scheme="http://www.blogger.com/atom/ns#" term="mito"/><category scheme="http://www.blogger.com/atom/ns#" term="update debugger"/><title type='text'>Why some customer exits are not showing up in dubug?</title><content type='html'>Recently I designed a code in customer exit mb_cf0001 to capture some info from material docs in to a custom table. I set a breakpoint in the code and omg! Debugger does not stop. After playing around a little bit, I found that this exit is taken in the update task. As it is very sensitive place (also very dangerous), the debugger stops here only if the update debugger option is on. This can be set from the debugger screen. How? Easy. Enter /h in the command window, to bringup the debugger screen. From settings menu this option can be set. 
Noooo still the breakpoints are not active. I do not know why? But that is what happens. The debugger stops at the first line of code in the update task. The breakpoints that were set in abap editor before executing this tcode do not work. To work round this issue, this is what I did. I created a breakpoint from the debugger to the fm.

&lt;P&gt;I thought I was stupid not to know this after so many years experience in sap. I was not alone. &lt;/P&gt;

So this is for those who sail with me in the same boat....

&lt;P&gt;I appreciate if any you friends can answer the unanswered questions in this.&lt;/P&gt;</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/2413122215281181513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/2413122215281181513?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/2413122215281181513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/2413122215281181513'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2011/01/why-some-customer-exits-are-not-showing.html' title='Why some customer exits are not showing up in dubug?'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-5851248538072124641</id><published>2009-08-18T14:45:00.002+10:00</published><updated>2009-08-18T14:50:15.049+10:00</updated><title type='text'>Stock Differences in HU (Handling Unit)</title><content type='html'>This blog post might help you to solve the problem with these messages.
&lt;ul&gt;&lt;li&gt;HUGENERAL 017 Handling unit &amp;amp;1 has the status &quot;goods issue posted&quot;, cannot be changed&lt;/li&gt;&lt;li&gt;HUFUNCTIONS 251 No posting-relevant material items could be found&lt;/li&gt;&lt;/ul&gt;
Many times it happens that the standard functionality provided by SAP is not sufficient. IN HU if customisations have been done, it is possible that, you end up with some data inconsistancy. The worst part about this is that not much is available in SAP or even internet. I learnt these hard way. The solution might look very simple, but it has consumed quite a lot of tense days. This could be due to some MDE customisations also.

The above messages might appear if you are trying to transfer HU from blocked to unrestricted or vice versa using VLMOVE. Or if you are trying to pick a HU from stock. What happened in my case is that the inventory stock was transferred to Blocked stock, but the HU was not updated. So, the following standard transactions gives an error.
&lt;ul&gt;&lt;li&gt;Pack the stock in blocked stock&lt;/li&gt;&lt;li&gt;Stock adjustment (neither in HU nor in blocked stock)&lt;/li&gt;&lt;li&gt;MIGO to transfer from blocked to unrestricted&lt;/li&gt;&lt;li&gt;Physical inventory
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Enough of the story. The following step by step instructions will correct this&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Execute SAP program RHU_STOCK_DIFFERENCES. This will correct inventory stock based on HU. So this will add inventory stock in the unrestricted qty equal to HU qty.&lt;/li&gt;&lt;li&gt;Once this is done. using VLmove move the hu from unrestricted to blocked stock.&lt;/li&gt;&lt;li&gt;Now blocked inventory stock is more than that in HU. execute RHU_STOCK_DIFFERENCES again. THis will clear the excess inventory stock.&lt;/li&gt;&lt;li&gt;Move the HU from blocked stock to Unrestricted.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/5851248538072124641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/5851248538072124641?isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/5851248538072124641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/5851248538072124641'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2009/08/stock-differences-in-hu-handling-unit.html' title='Stock Differences in HU (Handling Unit)'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-5500747156642205559</id><published>2009-05-25T13:37:00.011+10:00</published><updated>2016-04-06T09:43:31.914+10:00</updated><title type='text'>How to use MS Word Mail merge to do mass updates in SAP</title><content type='html'>This article explains the step by step, a simple and effective trick to do mass updates/creations on SAP configurations. In many cases this can potentially save couple of days.  Conceptually it is very simple. Many IT professionals know how to use mail merge. For an SAP consultant, BDC is not a news. This will explain the steps to create a BDC session using recording and mail merge.&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt; &lt;strong&gt;1. Prepare the data&lt;/strong&gt; First step is to prepare your data. It is easy to explain using an example. We will use IMG configuration for MRP Controller. We will use Name and telephone field of the MRP controller. The data to be created will be created as an excel sheet. Let us save this file as mrpc.xls &lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_xFtgjpn67qEFHpF57gVApHwNbH8tSOfZgKLNEg2HFwzPbrSlDy7hqy_toNSiyDQAwkrfM2wTbKyKY7Er1ODdqlcNyngIFDhSPL5iu_qb7V4hcOf3Wzh0wfOJiqmNbSuZlm4N1Fm9WnU/s1600-h/blog_001.jpg&quot;&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5339602333202699154&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyTVH3YbwZXTJjfUo3zoQjNQubvCjFecvNuBIPmTGoxsan5xbCPQNl2xRKbbtvHbhZE51qT6wsk56xRNSuGzB_sokwMA4dbrEagfqJ8EFwez8A7Tb5rXjqiqew2cM-25STstpRkLV9UuI/s1600/blog_001.jpg&quot; style=&quot;float: left; margin: 0px 10px 10px 0px; text-align: center;&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Next step is to create the recording. Before proceeding, decide your naming conventions. This will help you in troubleshooting and analysis. We will be creating 3 files, The basic recording as a text file The mail merge document as a word document Finally the merged bdc session as a text file.  I use r_xxxx .txt (xxxx tcode or some other meaningful name) for basic recording, mm_xxxx.doc for the mail merge document and bdc_xxxx.txt for the merged session.  To create the recording, you need to know the tcode. Most of the consultants are used to navigating using menu. Some experienced consultants know the tcodes by heart. It is easy to find the tcode. In the IMG screen&amp;gt;Additional Information&amp;gt;Additional Information&amp;gt;Display Key&amp;gt;IMG Activity. This will display the tcode of the specific IMG activity.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Another point before actually proceeding to create the recording, it is better to create one MRP controller normally to create the transport request. If the transport request is already created or if you can create the transport request manually then this is not required.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSSPem9h-Dmt2TlBy_cm-VEvg_z3UvPVSTvDm-OxulyibVYtJ87DnC5Kk3LpKm9YtS8j8IScRikQNsce_hpM-WqkrpThNUhySmRN1u02ssKc3co3NrsX987z0Zl11daleXn2Ut0r5CanI/s1600-h/blog_002.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5339603043446134738&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSSPem9h-Dmt2TlBy_cm-VEvg_z3UvPVSTvDm-OxulyibVYtJ87DnC5Kk3LpKm9YtS8j8IScRikQNsce_hpM-WqkrpThNUhySmRN1u02ssKc3co3NrsX987z0Zl11daleXn2Ut0r5CanI/s400/blog_002.jpg&quot; style=&quot;height: 53px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Create the recording using the tcode SHDB. IN SHDB&amp;gt;New Recording, enter recording name and the tcode OMD0. Click Start Recording. You will get the actual MRP Controller maintenance screen. Create a new MRP Controller. When the transaction is completed, you will see the recording in the SHDB screen. Export the transaction to the desktop as a text file r_OMD0.txt.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp;Next step is to prepare the mail merger document. Open r_omd0.txt in ms word. You will see the text wrapped in 2 lines looking clumsy.&amp;nbsp;Not to worry. Select File&amp;gt;page Setup. Choose paper size A3, orientation landscape and all margins as 2.5cm. EDIT&amp;gt;Select all and change font size to 6. If the display is very small, change zoom setting to 150%.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB4l5W0WMHnALpSSy4td6_04yfhSJfJZq8bt4B-gYIUszdSC8SActFWKNu_ChnEPOB5U-G2OW7ChGl_sb9lvyQxvO0rUU_ujwprDguK0mlPr_qtLfmroirKd9Jy-_apx3XOa7xF4S0dL8/s1600-h/Image-0009.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5339603444836255938&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgB4l5W0WMHnALpSSy4td6_04yfhSJfJZq8bt4B-gYIUszdSC8SActFWKNu_ChnEPOB5U-G2OW7ChGl_sb9lvyQxvO0rUU_ujwprDguK0mlPr_qtLfmroirKd9Jy-_apx3XOa7xF4S0dL8/s400/Image-0009.jpg&quot; style=&quot;height: 135px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;&lt;/strong&gt; &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRsrOq4ba2EdsEb_DD0RyJ_z1xQCgLXBNmblPjn_3-2VTLDtfCaIQ1F-kZzwfxvJ8vQL_CVCwsy-3L6NtjDjgi0awrRlQ3lbGXiZTbhi8njVaz7UGSEH2Nio8U3TWa90k8KjfHTbPpGR4/s1600-h/Image-0010.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; id=&quot;BLOGGER_PHOTO_ID_5339603673831515410&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRsrOq4ba2EdsEb_DD0RyJ_z1xQCgLXBNmblPjn_3-2VTLDtfCaIQ1F-kZzwfxvJ8vQL_CVCwsy-3L6NtjDjgi0awrRlQ3lbGXiZTbhi8njVaz7UGSEH2Nio8U3TWa90k8KjfHTbPpGR4/s400/Image-0010.jpg&quot; style=&quot;height: 54px; width: 400px;&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;strong&gt;2. Mail Merge&lt;/strong&gt; With the file in the MS Word, select menu option tools&amp;gt;mail merge. Click on create and select form letters. Select active window to use the current document. The Get data button will become active now. Click get data&amp;gt;open data source and select your excel file you created in step 1 (mrpc.xls). A window will appear with the button &lt;edit&gt;. Click on this button will take you to the main document.   In this step you have to link the excel sheet fields to the place in document, so when the mail merge is executed, the main document contents are repeated for each record in the excel sheet replacing the linked field with values from excel sheet.  The mailmerge tool bar should appear. If not select view&amp;gt;toolbars&amp;gt;mail merge. All the fields that needs to be linked will be in the right hand side end in the recording. Highlight the plant number, click on &lt;insert&gt;from the tool bar and select plant. The plant number will be replaced with &amp;lt;&lt;plant&gt;&amp;gt;, indicating that it is a merge field. Like this insert the merge fields where ever required. Sometimes the same fields might appear in multiple lines. The merge field needs to inserted in all the lines.  Now click on &lt;merge&gt;button, enter the parameters in the window and click &lt;merge&gt;in the window. A new document window will open and create the merged document.  Save this file as text document. You can use md_omd0.txt as the naming convention. &lt;/merge&gt;&lt;/merge&gt;&lt;/plant&gt;&lt;/insert&gt;&lt;/edit&gt;&lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt; &lt;strong&gt;3. Run the Update &lt;/strong&gt;Login to configuration client and run tcode SHDB&amp;gt;new recording. Enter a name in recording field and leave the transaction code field blank and click on green tick. Click on icon to import the recording. In the file open dialog select the text file created in step 2 (md_omd0.txt). Click &lt;process&gt;to run the bdc session. An update: This can be used for any transaction that can be done using BDC. In case you are building a mail merge document with large volume of data, then it is better to save the imported mail merge file in SHDB &amp;nbsp;and create a session for that. This session in SM35 can be executed in background, which will run undsiturbed even if you close the SAp session.&lt;/process&gt;&lt;br /&gt;
&lt;process&gt;&lt;br /&gt;&lt;/process&gt;
&lt;process&gt;&lt;b&gt;4. Finishing touches&lt;/b&gt;&lt;/process&gt;&lt;br /&gt;
&lt;process&gt;Also it is a good practice to save the mail merge document of step 2 as a word document. In case you want to come back later and redo it.&lt;/process&gt;</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/5500747156642205559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/5500747156642205559?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/5500747156642205559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/5500747156642205559'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2009/05/how-to-use-ms-word-mail-merge-to-do.html' title='How to use MS Word Mail merge to do mass updates in SAP'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyTVH3YbwZXTJjfUo3zoQjNQubvCjFecvNuBIPmTGoxsan5xbCPQNl2xRKbbtvHbhZE51qT6wsk56xRNSuGzB_sokwMA4dbrEagfqJ8EFwez8A7Tb5rXjqiqew2cM-25STstpRkLV9UuI/s72-c/blog_001.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-2749268509918065445</id><published>2009-01-02T10:11:00.002+11:00</published><updated>2009-01-02T10:16:06.879+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="consignment"/><category scheme="http://www.blogger.com/atom/ns#" term="handling unit"/><category scheme="http://www.blogger.com/atom/ns#" term="hu"/><category scheme="http://www.blogger.com/atom/ns#" term="vlmove"/><title type='text'>Material Movement Consignment HU to own stock</title><content type='html'>&lt;p&gt;Move the quantity from consignment to own stock using VLMOVE. It is a bit tricky

&lt;/p&gt;&lt;ol&gt;&lt;li&gt;In Handling unit tab select 309 Transfer material to material . Enter plant, storage location and handling unit number.&lt;/li&gt;&lt;li&gt;Press enter, the details are copied to the material tab. &lt;/li&gt;&lt;li&gt;Navigate to the materials tab.
Change movement type to 411 and enter vendor number.&lt;/li&gt;&lt;li&gt;Click create delivery button, a delivery is created.&lt;/li&gt;&lt;li&gt;Click on change delivery and pick and confirm pick order.&lt;/li&gt;&lt;li&gt;Click post goods issue.

 &lt;/li&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/2749268509918065445/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/2749268509918065445?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/2749268509918065445'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/2749268509918065445'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2009/01/material-movement-consignment-hu-to-own.html' title='Material Movement Consignment HU to own stock'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-707165520624022265</id><published>2008-10-27T15:41:00.003+11:00</published><updated>2009-01-12T14:43:07.041+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="BDC"/><category scheme="http://www.blogger.com/atom/ns#" term="OMDQ"/><title type='text'>Consumption values in MM02</title><content type='html'>&lt;p&gt;&lt;span style=&quot;font-family:Arial;font-size:85%;&quot;&gt;Issue: A BDC updating consumption values in material master using MM02, presuming that by default the screen shows total consumption. You can switch to unplanned consumption using the button. But for some materials the initial consumption value is unplanned instead of total. So for these materials unplanned consumption is updated instead of total consumption.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family:Arial;font-size:85%;&quot;&gt;Solution: A parameter Consumption indicator of Forecast ( V438A-PROVB ) in MRP type configuration (OMDQ), decides the default consumption data.&lt;/span&gt;&lt;/p&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5261692312236585346&quot; style=&quot;DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 203px; CURSOR: hand; HEIGHT: 64px; TEXT-ALIGN: center&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuDuYrSXQofzLd621A0auH0JrT5p28aq1rBFdQxfhhCNcuWvuvydQbpEvDLxgAZRD5mADcuppc7ET4AXRnYAHdhs9SgAAsLsVXNrO9j5Rqy7mUUwzhmeqT4i5217zhQ2FM8v7J9ws3LjQ/s200/sap+screen.JPG&quot; border=&quot;0&quot; /&gt;

&lt;p&gt;
&lt;/p&gt;

&lt;p&gt;

&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/707165520624022265/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/707165520624022265?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/707165520624022265'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/707165520624022265'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2008/10/consumption-values-in-mm02.html' title='Consumption values in MM02'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuDuYrSXQofzLd621A0auH0JrT5p28aq1rBFdQxfhhCNcuWvuvydQbpEvDLxgAZRD5mADcuppc7ET4AXRnYAHdhs9SgAAsLsVXNrO9j5Rqy7mUUwzhmeqT4i5217zhQ2FM8v7J9ws3LjQ/s72-c/sap+screen.JPG" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-684128996363671971</id><published>2008-10-21T16:54:00.003+11:00</published><updated>2009-01-12T14:44:20.879+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Forecast"/><category scheme="http://www.blogger.com/atom/ns#" term="SAP-MM"/><title type='text'>Read Material Forecasts</title><content type='html'>Material forecasts are stored in PROW table. But it is not indexed by material number. It is indexed by pointer. The link to PROW is through PROP through MAPR.

MAPR-&gt; Get POinter for forecast Parameters (PNUM1)-&gt; Read PROP -&gt;Get Pointer for forecast results (PNUM2)-&gt;Read PROW using PNUM2.</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/684128996363671971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/684128996363671971?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/684128996363671971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/684128996363671971'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2008/10/read-material-forecasts.html' title='Read Material Forecasts'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-7450995750350037292</id><published>2007-11-25T18:55:00.000+11:00</published><updated>2007-11-25T21:48:52.474+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Business process"/><category scheme="http://www.blogger.com/atom/ns#" term="consignment"/><title type='text'>Vendor Consignment Business Process</title><content type='html'>&lt;p&gt;Wikipedia offers a very simple definition for &lt;a href=&quot;http://en.wikipedia.org/wiki/Consignment&quot;&gt;consignment&lt;/a&gt;. It is a process of placing a thing in the hand of another, but retaining the ownership until the goods are sold or used. In SAP consignment business process can be implemented very easily using the following steps.
&lt;span style=&quot;color:#cc6600;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;color:#cc6600;&quot;&gt;Activate Consignment inforecords using tcode OMEV. This activates the consignment prices to be picked up using the consignment info records. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color:#cc6600;&quot;&gt;configure a special procurement type using IMG-&gt;Production-&gt;MRP-&gt;Master Data-&gt;Define special procurement type. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color:#cc6600;&quot;&gt;In OBYC configure the consignment payables account (transaction KON). &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color:#cc6600;&quot;&gt;Assign the special procurement type created in step 2 to all the materials that are to use the consignment process. This is done in the MRP2 view of the material master maintenance transaction &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color:#cc6600;&quot;&gt;Create Consignment info record using tcode ME11. Select info category as consignment. Create general data, Purchase Org data and conditions. Conditions allow you to create time dependent prices. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color:#cc6600;&quot;&gt;Create PR/PO using the item category K. Due to the nature of these items, price is not applicable and so do not enter price. During consumption, the price will be picked from the consignment info record. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;color:#cc6600;&quot;&gt;The following transactions are used in consignemnt
MB54 - Consignment stock
MRKO - Settle consignment liabilities.
&lt;/span&gt;
Consignment stocks are not included in the company stock valuation. It is normal, as the ownership is still with the vendor.&lt;/li&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/7450995750350037292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/7450995750350037292?isPopup=true' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/7450995750350037292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/7450995750350037292'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2007/11/vendor-consignment-business-process.html' title='Vendor Consignment Business Process'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-2252877075998956450</id><published>2007-11-11T19:34:00.000+11:00</published><updated>2007-11-11T20:45:39.963+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ABAP Report"/><category scheme="http://www.blogger.com/atom/ns#" term="Download"/><category scheme="http://www.blogger.com/atom/ns#" term="Formatting"/><title type='text'>Develop Abap reports quickly and easily</title><content type='html'>Here is a piece of code to write ABAP reports and format them easily and quickly. The following code can be created as an include and used whenever required. This code uses the ABAP objects and created as local class.

This include can be used for printing Internal tables, either by passing the whole table or by passing individual lines. Using the following steps the report output can be easily formatted.


&lt;ol&gt;
&lt;li&gt;Create object with referance to lcl_report.&lt;/li&gt;
&lt;li&gt;Create column formats for individual columns by building the t_format structure and calling the method add_column as follows
call method x-&gt;add_column
exporting
l_format =
comp_print = &#39;K&#39; (to print the column with key color)
comp_print = &#39;H&#39; (to print the column as hotspot) &lt;/li&gt;
&lt;li&gt;Call method write_table for listing the whole internal table.
call method x-&gt;write_table
exporting
p_table = &lt;/li&gt;
&lt;li&gt;Call method write_line for listing one line at a time. May be used in cases where loop control is with the main program.
call method x-&gt;write_line
exporting
p_line = &lt;/li&gt;
&lt;li&gt;Call method write_header to print the page header. Will be used in the top-of-page event. The report title is picked up as follows.
for basic list - from the report title in the attributes
for drilldown lists - from text symbol TTN where N is the drill down level. For example drill down level 2 will look for TT2.&lt;/li&gt;
&lt;li&gt;call method X-&gt;format_line
exporting
p_line =
importing out_line =
&lt;/li&gt;&lt;/ol&gt;
&lt;a href=http://uma.ravi.googlepages.com/write_report_include.txt&gt;DOWNLOAD Include code&lt;/a&gt;

Also you can download the sample report created using this include from here.
&lt;a href=http://uma.ravi.googlepages.com/Sample_report1.txt&gt;DOWNLOAD Sample Report&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/2252877075998956450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/2252877075998956450?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/2252877075998956450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/2252877075998956450'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2007/11/develop-abap-reports-quickly-and-easily.html' title='Develop Abap reports quickly and easily'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-514787462180642635</id><published>2007-11-06T16:30:00.000+11:00</published><updated>2007-11-06T16:35:46.341+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="COPA"/><category scheme="http://www.blogger.com/atom/ns#" term="Hierarchy"/><title type='text'>COPA Characterestic Hierarchy</title><content type='html'>Many times in  the past, other application support teams and even business teams had requested for soft copy of the characteristic hierarchy, so that they can replicate information in the hierarchical way SAP is showing.

The following tables store the details of the tree structure
TKCHH                          SAP-EIS: Hierarchy header
TKCHHT                         SAP-EIS: Texts for hierarchy header
TKCHN                          SAP-EIS Hierarchy nodes
TKCHNT                         SAP-EIS: Hierarchy node texts
TKCHV                          SAP-EIS: Hierarchy variants
TKCHVT                         SAP-EIS: Description of hierarchy variants
TKCHW                          SAP-EIS: Hierarchy data

The tree structure can be replicated using the TKCHW table, which stores the tree relationship.</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/514787462180642635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/514787462180642635?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/514787462180642635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/514787462180642635'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2007/11/copa-characterestic-hierarchy.html' title='COPA Characterestic Hierarchy'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-487732391455735875</id><published>2007-10-21T21:50:00.000+10:00</published><updated>2007-10-30T17:31:29.484+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="round"/><category scheme="http://www.blogger.com/atom/ns#" term="Rounding off"/><title type='text'>Rounding off of Amount fields in SAP</title><content type='html'>I remember, when I learnt COBOL, our instructor used to give us problems to solve. One of the problems often repeated in all programming classes was to write the code for rounding off numbers, without using built in functions. In SAP it is a bit tricky, as SAP stores amout fields as currency types. These fields are stored internally with 2 decimals, irrespective of the currency used. It can be easily done using write statement if you want to round the amount field in the report. How to do it if you want to round it store it as a currency amount field itself. This is a problem in SAP query reports. In my case the user wanted to amount fields to appear rounded to nearest integer.

SAP has some built-in-functions like ceil, floor but they can not be used as it is, due to the fact that the amount is stored internally with 2 decimals. Most of the currencies are with 2 decimals and it is still not a problem. This can be easily achieved by the following operation.

A constant need to be defined with value 0.5.

rounding is achieved by amount = floor( amount + constant ).

How can this be done for currencies with other than 2 decimals. For example, Bahraini Dinar, Omani Riyal, Japanese Yen. The concept is same, but with an additional conversion. There is a BAPI function module to convert currency fields to external and vice the versa. Using these FMs convert the amount to first external format. Apply the formula as mentioned above and again using the BAPI FM convert it back to internal format.</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/487732391455735875/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/487732391455735875?isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/487732391455735875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/487732391455735875'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2007/10/roundinf-off-of-amount-fields-in-sap.html' title='Rounding off of Amount fields in SAP'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7155770508932192357.post-1437669219942864262</id><published>2007-10-18T22:17:00.000+10:00</published><updated>2007-11-04T21:24:05.704+11:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="SAP Workflow Report"/><title type='text'>Custom report from workflow log</title><content type='html'>&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge_2-ZBpL2dw12Kaa5hhgiuS5WT4Bb_NVVmz3j0Mvw_TQ3A_M2aAvRowFn5AEfhcbJKBm_7hyphenhyphen5T6xb6ls-S6V8Y1X2m_PrcBbFfrjWGoijRKS22pdlHqVyJoQ8SQRSI-kdXnoEPiDJOfo/s1600-h/Ravi+small.jpg&quot;&gt;&lt;/a&gt;
&lt;div&gt;I received this request in many forms from various users including auditors. Though it came in differant flavours, the basic requirement is to identify, the different approvars and the final approvar who caused the release of the document. In our company we are using workflow mainly for PR and PO approvals. All the previous instances I avoided looking into that saying that it is difficult to get our hands into the workflow system and it is complicated. Finally this time I thought, let me see how this can be done. After spending half a day, I realised that it is not that difficult at all.

There are two function modules, which satisfies my requirement. But this can be improved based on individual requirement.

The first function module is SAP_WAPI_WORKITEMS_TO_OBJECT. This one gives the list of work items for a specific object. This even allows to select based on a time frame. The output table contains the workitem ID of the workflow apart from many other details. Again in our company we have developed PR and PO workflow as main and subworkflows. It is possible to get the sub workflows also in this FM by passing the relevent parameters.

Next another FM needs to be executed to get the detailed log like, the status, approval agent, date etc. The FM for this is SWP_WORKFLOW_LOG_READ. Only the Workitem ID of the main workflow needs to be passed as a parameter. The output is returned as SWP_LOGTAB.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://raviinsap.blogspot.com/feeds/1437669219942864262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/7155770508932192357/1437669219942864262?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/1437669219942864262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7155770508932192357/posts/default/1437669219942864262'/><link rel='alternate' type='text/html' href='http://raviinsap.blogspot.com/2007/10/custom-report-on-from-workflow-log.html' title='Custom report from workflow log'/><author><name>Ravi Kalyana Sundaram</name><uri>http://www.blogger.com/profile/02172768138245143986</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsBdIiFpB39i5G4ZjQzhhQgGr28r6oQCENpF0BGKl0DjxbWProxOhKuYTz4IKsEkMCrmNQ7wvDHXLoBHrJfnMmgdZGk9YA1la_Xw1nurdHrp26n-X2tFx28sTbjDnVOw/s113/Ravi%2Bsmall.jpg'/></author><thr:total>0</thr:total></entry></feed>