Skip to Content

Editing System Forms SAP B1

Since Edit Form UI was introduced, alot of hussle has been skipped when it came to creating additional items on a form but, currently what i face is rather a question of what i should be using for editing an active form.

Scenario 1;

I tried editing active form using SAP B1 Studio

Results below show that the tabs get misplaced before even i start doing anything to the form. Every tab shows Pane 1 and all settings seem lost. When i run it you can see what happens.

Scenario 2;

I tried editing active form using Visual Studio.

Results were the same as shown below

Scenario 3

From SAP B1 Client while in the Activity Form, Tools → Edit Form UI and add tab

all good, tabs are in correct order and everything. Save the form, exit edit mode. Edit Active form in Visual Studio.

General tab still misplaced and New Tab appears. Good news. Assigned a new Pane level to that tab and added a combobox. Lets see what happens...

*POOF* gone.

And this is the momment where i start messing in XML code trying to move things left or right to adjust tab positioning and everything. But still not working.

Then again. There is always the old fashioned way of having an item event only that would sniff if the active form is the activity form and load the extra tab and combobox and set oItem = this Cast left to right from SAPbouiCOM ComboBox and oItem.Validvalues etc but i would generally like to see if there is a more modern way to deal with current system form edits and additions.

Alas, I turn to you experts. How would you approach editing system forms? Is there an official SAP course that i didn't see in LearningHub ? The forums mostly contain information on the old fashioned way and i prefer not to go by that.

P.S. Not to mention that if you add a tab on the form the old fashioned way, you get the visual bug that shows the previously selected tab as the selected one but the pane shifts to the clicked one! oh-boy!

b1studio.png (220.8 kB)
screenshot-3.png (187.3 kB)
screenshot-4.png (101.7 kB)
screenshot-7.png (186.9 kB)
screenshot-8.png (169.8 kB)
screenshot-5.png (139.6 kB)
Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    Mar 13, 2017 at 03:02 PM

    As an update to the above thread which seemed to be a really hectic incident, i have achieved (at long last) to replicate the tab groupper along with the tabs and make them appear with the correct order.... slight problem though...... see image below

    it shows your groupper and it also shows the system one. All of them function correctly with the ONLY difference;

    Set a custom Unique ID for each tab from B1 Studio,

    Bind them on your own User Data source (with short text 2 → to avoid having a maximum of 9 tabs only)

    use the group with tag on setCustomInit. (this.Folder1.GroupWith("gen");)

    and ensure you hide the system items by using: this.GetItem("24").Visible = false;

    and voila:

    Add comment
    10|10000 characters needed characters exceeded

  • Jan 31, 2017 at 02:58 PM

    Hi Varnavas,

    The "issue" with this question is that it looks for the right way to do it. However, the right way is dependent on what you need to do.

    An example, if you're adding a tab and a combo box why bother with XML? There isn't much of a penalty for using code.

    If you're adding multiple (more than 5) items use XML.

    I don't use the Edit Active Form much because it's tricky (meaning every time I tried I failed to make it work properly).

    There are some gotchas when adding tabs. Tabs are bound to a datasource, and the length of the datasource will affect how many tabs you can add. The order of tabs is also tricky, they seem to depend on the GroupWith tag (but sometimes it fails anyway).

    I'm sorry not to have a straight answer for you, but once you have a way that works for your situation use that. And only change if the situation requires it (performance issues, not working, etc...)

    ps: although I'm biased towards using XML, don't take that as an "it's the best solution". It's just my preferred way of handling it.

    Pedro Magueija

    LinkedIn | Twitter | Blog

    Add comment
    10|10000 characters needed characters exceeded