Unreleased Segment Problem in SAP

For some standard IDOC, Sometimes, SAP team would hesitate to release all the segments due to maintenance overheads,

On the BizTalk side, To enable us to work with these Idoc’s we need to follow the below steps:

In the importing of the schema
Change the properties: GenerateFlatFileCompatible, ReceiveIdocFormat and FlatFileSegmentIndicator
Add the extension Flat File Extension to the schema generated

In the configuration of the receive port
Change the handling of the message body to a specific XPath
Use a pipeline with a Disassemble stage configured to use a Flat File Disassembler
Change the ReceiveIdocFormat property

Beyond the configuration steps above, we need to create one pipeline to each Idoc or at least add one more component in the Disassemble stage of the receiving pipeline for each Idoc.
I also looked if this schema generated in this specific way, is going to work even in case the SAP team does not release all the segments..

These are the configurations I did on the Receive Location:, Note ReceiveIdocFormat should be “String” not Typed (There is a mistake in the screenshot)

  • Where Path = “/*[local-name()=’ReceiveIdoc’]/*[local-name()=’idocData’]”

    For the schema importing process you should change the following properties:



Simplest way to get rid of your snapshot delta files in Vmware workstation 10

My initial vmdk file was 40GB, then I created 4 snapshots which added the file -0001.vmdk–>0002.vmdk—>0003.vmdk and finally 0004.vmdk. In my settings for VM, the hard disk was pointing to 0004.vmdk which had grown to the size of 50gb now.

That’s right, my original VM was about 40GB in total size and now with snapshots, it was taking almost 120GB.

The easiest workaround I found was to

  • BACK UP all my inside to the VM to as NAS drive.
  • Stop the VM
  • Edit the .vmx file in notepad and change the configuration to scsi0:0.fileName = “original.vmdk”
  •  Start the VM again

It started as it was in the fresh state before any of those snapshots were created.

Errors encountered in BRE deploying utility for SWIFT Schemas

Recently in one of my training session,  we encountered the following error, apparently it turns out to occur during the accidental double deployment of the policies for of an assembly.

Additionally, the environment which was on windows server 2012 did not seem to run the BRE utility, though it gave the success status message in the wizard, So we had to manually browse to the folder and all the appropriate vocabulary and policies.

Folder to find policies :- C:\Program Files (x86)\Microsoft BizTalk Accelerator for SWIFT 2013 Message Pack\SWIFT Messages\A4SWIFT-SRG2013\Base Policies


System.IndexOutOfRangeException: Index was outside the bounds of the array.
at Microsoft.Solutions.FinancialServices.SWIFT.Utilities.BreDeployment.DeploymentDriver.GetMessageTypesFromAssemblies(ObjectCollection objCollection)
at Microsoft.Solutions.FinancialServices.SWIFT.Utilities.BreDeployment.MainForm.Deploy()
at Microsoft.Solutions.FinancialServices.SWIFT.Utilities.BreDeployment.MainForm.btnDeploy_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Troubleshooting SAP connectivity Issues

  • Elevate the privileges to SAP user account the highest possible permissions temporarily.
  •  Make sure your IP address is in the SAP acceptable access range.
  •  Install network monitor tool like wireshark from wireshark.org to see if any interesting traffic is
  • flowing between the BizTalk server and SAP server.
  •  While configuring to receive IDOC, SAP Basis team should have the visibility whether the
  • connection is success/not.
  •  Make sure the SAP connection is configured as Unicode

Click here for the detailed document.

The document consists some of the hands on errors encountered while connecting with SAP and the procedure to resolve it. a sample of one such error is

Error in Wireshark
*ERR*.1.registration of tp BIZTALK from host WQDESB12 not allowed.720.SAPGateway.
720.2.gwxxrd.c.3641..Tue Nov 12 15:08:07 2013….3972841.SAP-Gateway on host
HYPLABSSECC01.HYPLABS.iadb.org / sapgw00…..*ERR*

Error in Eventlog
The adapter “WCF-Custom” raised an error message. Details “Microsoft.Adapters.SAP.RFCException: Details: ErrorCode=RFC_FAILURE.
AdapterErrorMessage=An exception has occurred on the listener while executing RfcWaitForRequest..
at Microsoft.ServiceModel.Channels.Common.Channels.AdapterReplyChannel.EndTryReceiveRequest(IAsyncResult result, RequestContext&
eceiveRequest(IAsyncResult result, RequestContext& context)
at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext& requestContext)”.


What DBA’s need to Know about BizTalk Server

As a BizTalk Architect, you would always come across a situation, where you need to convince the client’s DBA team about “BizTalk server database architecture and its nature in use of in-built jobs”.

Traditionally DBAs’ presume certain roles and responsibilities on any product (which has “database in the backend”) acquired by the company, while it is very good to do so. There are products like BizTalk server that gets shipped with the pre-scripted SQL jobs, which if configured properly, would save administration/DBA team from lots of fuss in terms of maintenance and optimization.

Before diving into, where DBA’s would need to get involved in-terms of BizTalk administration, let me explain, How BizTalk is different from other traditional applications

Feature BizTalk Server Other Applications( with database backend)
Has Multiple Databases Yes, Typically around 5, but may depend on BizTalk Configuration Yes( Depends on application)
DB Tuning Required? No (if configured correctly) Yes, Depends on the transactions
Transactional Data Transactional data in the Msgbox can be viewed more like a cache.Once the message completes Workflow, data has no significance Transactional data may grow and may have to be retained for long term( Depends on the company policy)
Indexing Columns Not needed, If the jobs are configured properly, the data is backed up correctly and the transactional database( MsgBox) is maintained to the minimum Yes, as the table size increases, appropriate DB tuning needs to be applied.
Backup DBs BizTalk Jobs, take care of it. These jobs do multiple things along with backing up the database. Usually achieved through custom / SQL server backing up tools.
Can the backup be achieved without BizTalk Jobs? Yes, But not worth the risk. These jobs are optimized to backup necessary DB and do other things. DBA’s have full control; they can adapt the best for the solution.

The differences being depicted in the table above, Let see, where the DBAs needs to get involved in terms of BizTalk administration.

  1. Make sure that all the Jobs configured and enabled and running properly.
  2. Do not forget to enable the jobs after any sort of maintenance.
  3. Make sure sufficient database storage is available for the backups.
  4. Maintain the overall health of the SQL server (if standalone) or SQL cluster (if clustered).

In conclusion, Though BizTalk uses SQL server backend, it is deemed to see the entire as a product setup and avoid digging deep and modifying the pre-scripted BizTalk jobs to include custom solutions.

BizTalk Server 2013 licensing model

BizTalk Server Licensing model has changed to per core basis, Below is the cost sheet advertised to public

Here are key points to consider while licensing a BizTalk server:

  • You must license all the cores used for the BizTalk server
  • Minimum of 4 core licenses required ( even if your server has less than 4 cores, ex: single core and dual core machines)
  • Core licenses can be purchased in pack of two.
  • Processor Cores are priced at 1/4 the cost of BizTalk 2010 processor license. BizTalk 2010 processor license was around $44,000, the new core license is $10,835. So if you are licensing a server with only quad core processor present, then the pricing is identical to BizTalk 2010 pricing.
  • Actual number of core licenses required may vary based on processor type and core factor.

    Also, May be most of you know this, BizTalk Server Developer edition is available license free and can be installed in Dev and Test environments. Dev edition also offers the fail-over clustering, so there by companies who wish to save on budget can install developer edition in their Test environments.

    Courtesy : http://blogs.biztalk360.com/understand-biztalk-server-2013-licensing/