Skip to Content

This blog post is about SAP 9.1s new add-on packaging and deployment mechanisms.

In short, this recently introduced new set of tools and functionality allows less painful packaging and deployment

Have a look starting at Slide 27 of http://www.slideshare.net/indrayusak/sap-b1-91-highlights

Because there’s a lot of confusion about this new functionality (and the documentation is rather inadequate) I thought I’d clear some things up.

To start :

The new packaging tool is available under:

C:\Program Files (x86)\SAP\SAP Business One SDK\Tools\ExtensionPackage

Biggest benefits of this new packaging tool:

Better UI

Less of a hassle (fewer steps)

.ard gets autogenerated in the package.

You can easily include a 32bit, 64bit and SAP Hana version in the same package.

You will have 1 (one!) .zip file after pressing ‘Package’

Optional:

You can save the .ard file separately by pressing export.and then you can import this .ard file as well, so you can easily save the configuration settings for an addon. (careful; I’ve found that re-importing and then trying to export rather often makes the tool crash, I’m not sure what would be the cause of this)

The ExtensionManager deployment mechanism.

Accessing the ExtensionManager

It is available next to SAP B1 9.1s SLD.

I’ve found it’s easiest to navigate towards it using the SAP server’s tools SAP Business One Service Manager

-Select the license manager

-open settings

-click the ‘configure security’ button left-below

-Your browser will open and navigate to an url somewhat like https://<pc-name>:30010/ControlCenter

-You will most probably encounter a warning somewhat like NET::ERR_CERT_COMMON_NAME_INVALID (in chrome)

-Continue on to this page

-The system landscape directory page will appear

-Log in using your site user login and password (default: B1SiteUser and whatever password you gave in while setting up SAP server)

-Now you’ll be on a page with an url like https://<pc-name>:30010/ControlCenter/

-Modify this url to https://<pc-name>:30010/ExtensionManager/

-You will see another browser warning first and then asked to enter your SLD credentials again. Continue and do so.

Et voila, you’re now in the new Extension Manager

Using the ExtensionManager

This is pretty straightforward.

-Click import.

Select a zipped package you created using the ExtensionPackage packaging tool

Follow the steps

-Navigate to company assignment

-select a company left

-press “assign”

-follow the steps

And you’re done!

Enjoy using this new (and very nice) functionality!

For people having trouble using the ExtensionManager:

You’ll most likely come from an older SAP installation which you’ve upgraded to the more recent 9.1

In that case see comments below by Edy Simon, Gerardo Francini and Bryan Gomez

To report this post you need to login first.

10 Comments

You must be Logged on to comment or reply to a post.

  1. Edy Simon

    Hi Pieterjan,

    Thank you for sharing this.

    Alas, I got an error message while trying to import the package

    “Cannot reserve ID for invalid name ‘TaskProperty'”

    Do you happen to know where I did wrong ?

    My Ver is 9.1 PL5

    Thank you.

    Edy

    Updates :

    Looks to me like a 9.1 PL5 + 6 Bug.

    I trace the SQL under these tables :

    1. [SLDModel.SLDData].dbo.[Task]

    2. [SLDModel.SLDData].dbo.[TaskProperties]

    The PK column ID is set as an Identity column with seed=1 and increment=1.

    But, the extension registration is trying to insert an number into this ID column.

    Which eventually failed because such column is auto managed, you can not set the ID manually.

    For my testing environment, I modified these columns to set the Identity Column property as ‘No’ and it worked.

    More Updates :

    Looks like my tables were from the older version of SLD.

    I uninstalled my SLD and remove the SLDModel.SLDData Database.

    Re-install the SLD, and the new tables are having Identity Column = No.

    Regards

    Edy

    (0) 
  2. Gerardo Franchini

    Had the same error on 9.1 PL06 and not in 9.1 PL08. Seems corruption of the SLD even though the origin is not clear.

    Applied the below to 9.1 PL06 and it worked:

    1. Uninstall the SLD
    2. Delete the SLD DB.
    3. Reinstall the SLD again.
    4. Make the necessary setups in the SLD.
    5. Check the add-on deployment again.
    (0) 
  3. Chris Brooks

    Hi Pieterjan Spoelders – Thanks for the write up. I was wondering if you have had any experience with generating an automatic build using the new lightweight tool? If so, do you mind sharing your success?

    (0) 
    1. Pieterjan Spoelders Post author

      Hi Chris.

      Good question.

      I haven’t attempted this yet.

      As far as I know there isn’t a command line tool or something similar so that complicates things. I could be wrong though.

      ( Maybe the community should put some energy into this effort if SAP isn’t planning to release any additional tooling themselves. I’ve had a quick look with ILSpy at the .exe and it’s not obfuscated. Technically it’d be possible to reverse engineer the tool to a command line one but it will probably not be that simple and rather time consuming. )

      edit: when I took another glance at the AppMain of the tool it appears there is some form of

      commandline parameter handling.

      Not sure what it’s meant for tho

               [STAThread]

               public static void Main(string[] args)

               {

                   if (args.Length != 0)

                   {

                       Environment.ExitCode = AppMain.NoErr;

                       AppMain.isOnCommandMode = true;

                       for (int i = 0; i < args.Length; i++)

                       {

                          …

      (0) 
  4. Sebastian Pereira Cendan

    Hi¬†Pieterjan, I can¬īt install the¬†extensions for x64 client, the error message is shown when I log in, “Add-o MyAddOn: Installation failed” I tried builds for every target CPU. Do you know what could be wrong?

    Please help

    Best Regards

    (0) 

Leave a Reply