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.

BAM Portal Not working?

The server encountered a critical failure while trying to access the list of Views. The Business Management Web Service requires Administrator’s attention.

Use the navigation bar on the left to access Business Activity Monitoring views.
If the problem persists, contact your System Administrator.

 

Solution:

Reconfigure BAM using BizTalk configuration wizard, If the reconfiguration does not work then you may have to delete the app pool in IIS and the BAM website and try reconfiguration again.BAM Reconfiguration

 

ESB Exception Handling

To leverage the exception handling provided by the ESB toolkit, Below are the steps

Add the exception block to your Orchestration

Add the code as in the snapshot inside the exception block

ESBExceptionBlock

When the exception occurs, this block would publish the faultmsg to message box

By default, All fault messages are picked up by the send port “ALL.Exceptions” which populates the ESBExceptionDb. This can be viewed in ESB Management Portal

If you do not want this behavior, then you would have to subscribe the fault messages using “Application” or similar property and handle it in either sharepoint or any other custom mechanism.

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&
requestContext)
at
Microsoft.Adapters.Internal.LayeredChannelBindingElement.LayeredInboundChannel`1.System.ServiceModel.Channels.IReplyChannel.EndTryR
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.

How much do you invest on a BizTalk developer for hardware and software?

Recently, I had to analyze and provide per yearly cost incurred by the company to setup the Microsoft BizTalk Server development environment for its developers.

Assuming that each developer would be provided with individual virtual machine to remote in and work, below table depicts the costs that would typically incurred for “per developer per server”. All numbers below are approximation.

Software Cost – MSDN License
for Visual Studio Professional. Includes Operating system, SQL Server and BizTalk Server

$1200 for 1st year.

$799 recurring.

Hardware cost

 $2000 / Server

Recurring Server maintenance cost

 $600 / Year

VM maintenance cost

 $480 /Year

Total

Appr. $4280 / Developer per year

 

MSDN Subscription chart is found below or in the following link : http://msdn.microsoft.com/en-us/subscriptions/buy.aspx

 

Note:-

TFS – Team Foundation Server is included in the MSDN subscription, so you would not have to buy a separate license for the developers, who are already subscribed for MSDN.

For Non-developers, such as PMs, Bas, you need to purchase a CAL license individually or on volume licensing, which may typically cost around $300-400

 

Microsoft licensing white paper regarding TFS states as below.

Visual Studio Team Foundation Server 2012 can be obtained using MSDN subscriptions. Visual Studio Ultimate with MSDN, Visual Studio Premium with MSDN, Visual Studio Professional with MSDN, and Visual Studio Test Professional with MSDN subscribers can download and deploy one instance of Team Foundation Server 2012. These same MSDN subscribers are granted a Team Foundation Server 2012 CAL to be used within their organization (it is not valid for use of Team Foundation Server acquired by a different organization). ”

BizTalk Development Virtualization Models

Here’s the list of comparative factors between the two Development Virtualization Models discussed:

A)    Local Virtualized Machine loaded on the developer’s Computer, using technologies such as VM Ware Workstation.

B)    Hosted Machine, where developers remote into the servers and work remotely.

 
 

  

(A)  Local Virtual Machine

(B)  Hosted Machine

Ram upgrade required

Yes (min 4GB for VM)

N/A (min 4GB)

Hard Drive upgrade required

Yes(min 40GB for virtual disk)

N/A (min 40 GB)

Can develop offline

Yes

No

Can developer take snapshots

Yes

No

Server Team management

No

Yes

Can developer mount ISO

Yes

No

Backed up

No

Yes

Centralized

No

Yes

Cost

Hardware Upgrade

Server Hardware Maintenance

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/