Ask the board of directors for an arbitrary but large sum of money. (Suggestion: $300 million.)
Give half the money to consultants. Ask them to select an appropriate ERP package for your company. Consultants will audit your business processes for six months and then select SAP, which they happen to resell.
Form cross-functional implementation teams. Hold meetings.
Reengineer all your business processes to match the software’s model.
Give the other half of the money to consultants.
Install the software.
Train end users repeatedly.
Cross your fingers.
Turn on the software.
If you’re still in business, immediately return to Step 1 because it’s time for an upgrade.
Monday, April 28, 2008
Joke: ERP Implementation in 10 Easy Steps
Posted by Musarrat Husain at 6:16 AM 0 comments
Sunday, April 27, 2008
SAP PM and xMII
Here is presentation which talks about PM integration with xMII.
PM module of SAP is used to handle all the operations with plant. And a plant with intelligence (xMII enabled), should be able to take certain decisions on its own.
However I want to let you know that you can stay updated with the content on this site by subscribing to RSS feeds. And email updates are available too.
Posted by Musarrat Husain at 4:16 AM 0 comments
Thursday, April 10, 2008
Sending HTML using Dynamic data
I have been writing blogs on SDN. Thought I should share it here too.
Original post can be found here
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/8462
Communication in any industry has its own significance and email is a very powerful mode of communication where high tech industry is involved. xMII provides us with the facility of sending email whenever a crucial thing is involved. It has a basic email action block which can be used to send emails for important emails. In this blog I'm going to focus on two things:
- Configuring the basic ‘send email' action block.
- Using a trick to send the information in HTML format.
The prerequisite for the readers of this blog is to have basic knowledge of xMII action blocks and templates.
Configuring the send email action block
Configuring the send email action block is quite easy of a thing.

All he fields can be set dynamically(and ideally they should be used that way using link editor). But for the sake of simplicity, I'm hardcoding these values in this example.
Please note here that I've set message content type as text/html because we are going to use a html template.
Configuring The Data to be displayed
Now we are going to send the status of all the three fans(the default simulator) using email action block of BLS in HTML format.
Write a tag query using simulator with fan1, fan2 and fan3 as output and save it as ‘Demo/Fanstatus'.

Designing the HTML template
Now this trick has helped me a lot. Design a HTML template as shown in the picture. Save it as "d:\demotemp.html".

Here, you may see that I've given following keywords:
- date_it - this will be used for displaying the current date and time in the email.
Following keywords will be used for showing the fan state of the respective fans.
- fn1_st
- fn2_st
- fn3_st
Creating The Business Logic
Since we are done with the things requirement gathering ;). So, we have to develop a transaction which will be used for sending the email in HTML format.
- Go to logic editor and insert a tagquery action block. Call the ‘Demo/Fanstatus' query in it.
- Add a the html loader action block and the load the template(d:\demotemp.html).
- Create a new local string variable and name it ‘message'.
- Add an assignment action block and assign the string content value of html loader action to local variable message.

- Now add one more assignment action block and add the following code to local variable 'message'.
stringreplace(stringreplace(stringreplace(stringreplace(Local.message , "fn3_st", stringif( IllumTagQuery_0.Results{/Rowsets/Rowset/Row/Fan3}==1, "ON", "OFF" ) ) , "fn2_st", stringif( IllumTagQuery_0.Results{/Rowsets/Rowset/Row/Fan2}==1, "ON", "OFF" ) ) , "fn1_st", stringif( IllumTagQuery_0.Results{/Rowsets/Rowset/Row/Fan1}==1, "ON", "OFF" ) ) , "date_it", IllumTagQuery_0.Results{/Rowsets/Rowset/Row/DateTime} )
This code will modify the html template accordingly. It consists of two things:
stringreplace(Local.message , "fn3_st", stringif( IllumTagQuery_0.Results{/Rowsets/Rowset/Row/Fan3}==1, "ON", "OFF" ) )
this code will first search for the keyword called "fn_3st" in the HTML string and then it will replace it with ON or OFF depending on the value we get from fan3 status from the tag query.
- Now comes the final part. Configure an email action block as specified earlier and assign the message variable to the message part of the 'sendmail' action block.
And now run the transaction. The output email will be something like this.

This trick can be used to send detailed informations to the concerned person and can be used to handle more complex scenarios of table generation on the fly using XSLT.
Saturday, March 29, 2008
SAP BW Certification Test Simulation
A Really Good Video for guys who wanna do some BW thingy
Wanna subscribe to Sap Insider?
Tweaking Schedulers in xMII
SAP xApp Manufacturing Integration and Intelligence (SAP xMII) Business Logic Services includes its own scheduling service that allows you to execute transactions on different schedules.
- The Schedule Editor is used to set up all scheduled jobs.
- The Scheduler is used to view a schedule summary.
Schedulers can be used to perform the functions as defined by SAP but we can also use it to have a variety of other things.
Like when me and my teammate Rupesh were discussing about an MES simulation for a training demo, we were struck with the brilliant idea(;-)) of using scheduler to update the SQL table and display the values in LED. Now the LEDs(of the Grid) will be updated from a SQL table which is updated by a transaction.
What did we achieve
We achieved a grid which was somewhat like this.
The grid automatically changes according to the values in the SQL table. And yippie... we did simulated MES.
This is just a tweak that one can use to simulate some time bound action. I hope this also gives readers the idea to get the things done using schedulers. This is just for prototypes and shoudl not be used on real production environments.
What did we do?
- We created a table called stage_info using MySQL for simulating the stage activities. It has two columns:
- o LineID(alphanumeric)
- o Stage_ID (alphanumeric)
- o Stage_status(boolean)
- Another table line_info is created for holding the flag that whether the transaction is to be executed or not.
- o Line_id(alphanemric)
- o RunFlag(Boolean)
Here for the sake of simplicity, I'm using a Boolean value for stage_status(1 for in use and 0 for idle).
- We created a transaction which fulfils the following functionality.
- o First it will check the status of the flag for current line. If it is true then it will execute the rest of the transaction otherwise it will exit it.
- o reads the sql table and check the status of each stage and change the status of next stage and current stage.
- Then a scheduler is set to run for specific time interval and the transaction for this scheduler is set to the transaction that we created earlier.
- We created a columnlights grid with source as the field of the stage_status of stage_info table. Here we set the color context as
- o 1-Green
- o 0-Magenta
The refresh rate of the grid was set to 15 seconds.
Labels: sap, schedulers, tricks, xmii
Posted by Musarrat Husain at 1:44 AM 1 comments