cancel
Showing results for 
Search instead for 
Did you mean: 

Folder Structure for Workbench

Former Member
0 Kudos

We are currently implementing SAP MII. I am curious if anyone knows of a best practice document around the folder structure for the work-bench area.

Thanks

Skip Ford

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Skip,

I will assume you are implementing MII 12.0. I have not seen a best practice document for MII 12.0 from SAP and although there was one for MII 11.5, it is outdated especially in the folder structure area because of the changes that MII has undergone from 11.5 to 12.0. Let me give you an answer with the help of a generic example.

Lets say you are implementing MII 12.0 that will perform 3 transacations in SAP ERP, say create process order, release process order and goods receipt. I would setup the directory structure as follows:

//company or division/project name/transaction

//company or division/project name/CreateProcessOrder

//company or division/project name/ReleaseProcessOrder

//company or division/project name/GoodsReceipt

The additional of a "company or division" in your directory structure will help distinguish multiple MII implementations at your company in the future. This will also allow you to move code from Development to Quality to Production in a clean manner both before go-live and post go-live during support, e.g. if you are implementing an enhancement post go-live to one of the transactions you will want to minimize the propagation of code. This directory structure will help you in that regard.

I hope this helps you out.

Former Member
0 Kudos

Skip,

I would like to give some additional information to Chris.

In MII the root folder is called "Project" Folder and has a special function. You can extract and import the complete contents of the project (root folder including sub folders) using the MII Portal System area. This can help you transfer contents of a test server to a production server.

Inside this "project" folder you can build a structure that follows your needs, e.g. build folders according to functions or interfaces. For example:

/MyProject/ERP_TO_MES/...

/MyProject/MES_TO_ERP/...

Besides MII transactions you will create Queries and Displays. I found it helpful to separate my sources using these folders:

/MyProject/MES_TO_ERP/Displays/...

/MyProject/MES_TO_ERP/Queries/...

/MyProject/MES_TO_ERP/Transactions/...

Sometimes you will develop functions that can be used independently from projects. Those functions can be placed in a Common folder.

/MyProject/Common/Transactions/...

Web Content will be saved in the MII WEB area. Like the sources above the Web Content may be divided into some folders like:

/MyProject/WEB/MES_TO_ERP/CSS/...

/MyProject/WEB/MES_TO_ERP/HTML/...

/MyProject/WEB/MES_TO_ERP/IMAGES/...

/MyProject/WEB/MES_TO_ERP/JS/...

You should really take some minutes and think about naming conventions before you start the implementation, and stick to those conventions. That will keep you from searching for sources later.

Michael

Edited by: Michael Otto on Mar 16, 2009 7:47 PM

Former Member
0 Kudos

Some good inputs Michael.

I am aware of the project upload and download but post go-live I don't think this is the best option, especally if there are multiple fixes being developed at the same time. The risk of propagating a partial fix to production would be high.

The idea about subdividing into directories for templates and transactions is a best practice from 11.5 but because of the workbench provided in 12.0 this I feel is no longer needed. MII knows the difference between each and it is visible in the workbench and therefore to the developer. If post go-live you make a change to 1 business transaction that means changes to a query, display template and transaction you will be going to 3 different folders to pull the data; In my experience it has been easier to have them all in the one folder.

Former Member
0 Kudos

Chris,

you mention good points. After go live we do not transfer a whole project, but only single files to minimize volume and the risk to copy files that are not wished. Though you could also delete files from the zip archive MII creates.

Concerning the folder structure, having all files for a function in one place (transaction, query and display) is handy, if you have only few files. But if your project grows, and you also want to reuse components (queries for example), in my experience it helps to keep components together. Lets say you do not have only one function but a complete set of small functions that build a main functionality, I like to have the queries and displays separate from the transactions.

However, this is a question of how you are used to work. I think if you start a project, you will choose one possibly way of organizing the files and work with it. After the project run a while you will get a feeling what helps you best.

Anyway it is good to know alternatives and the pros and cons.

Michael

Answers (2)

Answers (2)

Former Member
0 Kudos

.

Former Member
0 Kudos

Skip,

Great question. Its good to see you are thinking about best practices in terms of setting up project structure. There will be a best practice guide for MII 12.X in the coming weeks. In the mean time, Chris's structure is something to follow. The Common folder should have utility queries which can be referenced for later use. On the Web tab, the CSS, HTML, Images, and JS can also be used in the project Common folder. Also, queries, display templates, and transactions should not be segregated due to the fact that they should be centered on a common purpose. For example, CreateProcessOrderQuery, CreateProcessOrderGrid, and CreateProcessOrderTrx in the same folder will allow the developer to easily find the linked MII objects for modification. Also, this becomes even more helpful when you have source control configured in MII 12.1 to check out those corresponding objects.

Regards,

Kevin