BAM APIs and TPE in BizTalk

Hi - i have been assigned work related to tracking data using BAM (its like Purchase Order, Sending/receiving Invoice, for Property related work)
I know TPE is used to track only at Ports level which is not always helpful and if there is looping involved it doesnt work.
BAM APIs is better way to approach as it can be customisable as per requirement. 
Is there any real good detailed example of showing  using BAM for tracking # of Received files, # of loop records, tracking within Orchestration, Sent delivery , and lot other stuff.
Please let me know.
MBH

There are few SDK samples available for learning about BAM
API:
From BizTalk SDK samples:
BAM
API(BizTalk
Server Sample)
Instrumenting a Solution: Step-by-Step
APIUsage
BAM
APIfrom
an Orchestration Expression (BizTalk Server Sample)
For looping records:
Capturing BizTalk 2006 BAM Data On Looping Process
I would also recommend this book,
Pro BAM in BizTalk Server 2009
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

Similar Messages

  • BAM Deployment error - Microsoft.BizTalk.Bam.Management.BamManagerException: The BAM deployment failed. --- Microsoft.BizTalk.Bam.Management.BamManagerException: Encountered error while executing command on SQL Server "ServerName".

    HI,
    I am getting below error while deploying BAM activity ...Pls help me resolve this issue.
    Microsoft.BizTalk.Bam.Management.BamManagerException: The BAM deployment failed. ---> Microsoft.BizTalk.Bam.Management.BamManagerException: Encountered error while executing command on SQL Server
    "ServerName". ---> System.Data.SqlClient.SqlException: An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or
    [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed.
    Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias
    to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An
    object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column
    name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing
    or empty. For SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For
    SELECT INTO statements, verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements,
    verify each column has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column
    has a name. For other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For
    other statements, look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.An object or column name is missing or empty. For SELECT INTO statements, verify each column has a name. For other statements,
    look for empty alias names. Aliases defined as "" or [] are not allowed. Change the alias to a valid name.   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) 
     at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock,
    Boolean asyncClose)   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)   at
    System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)   at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean
    sendToPipe, Int32 timeout, Boolean asyncWrite)   at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()   at Microsoft.BizTalk.Bam.Management.SqlHelper.ExecuteBatches(String cmdText)   at Microsoft.BizTalk.Bam.Management.SqlHelper.ExecuteNonQuery(String
    cmdText, CommandType cmdType, Boolean inTransaction, Transaction transaction)   --- End of inner exception stack trace ---   at Microsoft.BizTalk.Bam.Management.SqlHelper.ExecuteNonQuery(String cmdText, CommandType cmdType, Boolean inTransaction,
    Transaction transaction)   at Microsoft.BizTalk.Bam.Management.ViewModule.Create(XmlDocument defXmlDoc)   at Microsoft.BizTalk.Bam.Management.WorkerModule.DispatchOperation(OperationType operation, XmlDocument defXmlDoc)   at
    Microsoft.BizTalk.Bam.Management.BamManager.ProcessOneBamArtifactType(BamArtifactType bamArtifact, OperationType operation)   at Microsoft.BizTalk.Bam.Management.BamManager.ManageInfrastructure(OperationType operation)   at Microsoft.BizTalk.Bam.Management.BamManager.Deploy() 
     --- End of inner exception stack trace ---   at Microsoft.BizTalk.Bam.Management.BamManager.Deploy()   at Microsoft.BizTalk.Bam.Management.BamManagementUtility.BamManagementUtility.HandleDeployAll()   at Microsoft.BizTalk.Bam.Management.BamManagementUtility.BamManagementUtility.DispatchCommand() 
     at Microsoft.BizTalk.Bam.Management.BamManagementUtility.BamManagementUtility.Run()   at Microsoft.BizTalk.Bam.Management.BamManagementUtility.BamManagementUtility.Main(String[] args)

    Your View Name, OLAP Cube Name and certain other restrictions listed @http://msdn.microsoft.com/en-us/library/aa561577.aspx
    Please review your BAM Definitons.
    Regards.

  • Error while enabling dimension for OLAP API and BI Beans

    Hi, I've created some dimensions in OLAP Catalog using CWM2 packages. These dimensions have only one hierarchy and one or two levels.
    I also have an Analytic Workspace, and I've created these dimensions in this A.W. using CREATE_AWDIMENSION method from DBMS_AWM package.
    Everything ok at this point.
    Next, I've tried to enable these aw dimensions for the OLAP Api and BI Beans, using CREATE_AWDIMENSION_ACCESS_FULL/CREATE_AWDIMENSION_access methods from DBMS_AWM. Strangely, dimensions whith two levels are enabled ok, but dimensions with only one level can't be enabled. If I use CREATE_AWDIMENSION_ACCESS and I execute generated script, an error appears when trying VALIDATE_DIMENSION, with a text like this:
    .ENTITY TYPE ENTITY NAME STATUS COMMENT
    . Dimension AW1.DIM1      INVALID ERROR: Component entity.
    - Default Display Hierarchy: "J0".
    . Hierarchy J0 INVALID ERROR: Hierarchy Top Level not found.
    My database ir 9.2.0.6. What is failing ? Some idea ? Thanks by your help.

    Not sure if it's valid to have a dimension with 1 hierarchy and 1 level in that hierarchy. The hierarchy may have to have at least 2 levels. If you want the configuration of a dimension with 1 hierarchy and 1 level, CWM2 may want you to omit the hierarchy, thus creating the dimension with only 1 level.

  • BAM HA and Data Consistency

    Hi,
    I need to preserve consistency of data in BAM, meaning BAM itself does not require HA, but I need to guaranty there is no loss of data (even if BAM server is down). I have a single BAM server and a cluster of WLS where the JMS queues/topics are located (data is read from JMS queues/topics using EMS).
    Using any kind of topic means loss of data once BAM server is down.
    BAM does not reconnect after migration so using a queue on a migrate-able JMS server also does not seem to work.
    Using a distributed queue requires a queue for each EMS instead of using a single queue with Message Selector. And anyways there is no reconnection in this case as well.
    What would be the preferred approach than?
    Any suggestions are highly appreciated.
    Regards.

    Hi
    There are a couple of performance related measures that you can take :
    - Creating aggregates on 3-4 objects which are very popular in terms of reporting. Make sure that you don' t go overboard with this as maintaining  too many aggregates could create a memory issue.
    - If you are using BI 7.0 , then go for 'Repartitioning'.  Would help you in loading data as well as during reporting.
    - Compressing / Indexing are always available and good options.
    - I don't compressing could create an issue even if your Info cube gets populated thru multiple data sources.
    Cheers
    Umesh

  • JAVA API AND ABAP API SIMPLE SCENARIO

    Hello MDM gurus
    I have never used any Java API or ABAP API to leverage and present MDM functionalities on front end systems like portal,etc...
    Could you please give me all the required to play around with JAVA api and ABAP api's.
    Points will be given to every valuable answer.
    Thanks

    Hi Nazeer,
    In order to use Portal you need Java APIs and to start with refer the MDM Java docs to get the basic idea of various classes and methods to be used in developing the simple java application and access it using portal.
    http://help.sap.com/saphelp_mdm550/helpdata/en/47/9f23e5cf9e3c5ce10000000a421937/frameset.htm
    Sample code for Duplicating Repository
    public class TestDuplicateRepository
               public static ConnectionPool simpleConnection;
               public static RepositoryIdentifier repIdentifier,repIdentifier1;
         public static String session;
         public static String connection = "MDMServer_Test";
         public static String repository1 = "Test_Repository";
         public static String repository2 = "Test_Duplicate";
              public static DBMSType dbmsType = DBMSType.MS_SQL;
         public static void main(String[] args)throws CommandException, ConnectionException
                   //Creating Connection.
                   simpleConnection = ConnectionPoolFactory.getInstance(connection);     
                   //Establishing connection with Repository.
                   repIdentifier = new RepositoryIdentifier(repository1, connection, dbmsType);
                   repIdentifier1 = new RepositoryIdentifier(repository2, connection, dbmsType);
                   //Creation Sever Session.
                   CreateServerSessionCommand createServerSessionCmd = new CreateServerSessionCommand(simpleConnection);
                   createServerSessionCmd.execute();
                   session = createServerSessionCmd.getSession();
                   //Authenticating Server Session.                    
                   AuthenticateServerSessionCommand auth= new AuthenticateServerSessionCommand(simpleConnection);
                   auth.setSession(session);
                   auth.setUserName("Admin");
                   auth.setUserPassword("Admin");
                   auth.execute();
                   session = auth.getSession();     
                   //Duplicate Repository Command
                   DuplicateRepositoryCommand duplRepCmd = new DuplicateRepositoryCommand(simpleConnection);
                   duplRepCmd.setDBMSUserName("sa");
                   duplRepCmd.setDBMSUserPassword("abc");
                   duplRepCmd.setSession(session);
                   duplRepCmd.setSourceRepositoryIdentifier(repIdentifier);
                   duplRepCmd.setTargetRepositoryIdentifier(repIdentifier1);
                   duplRepCmd.execute();
    Similarly you can try with Getting server version, Archive repository and then move on to adding,modifying records etc.
    For ABAP APIs refer the below link
    http://help.sap.com/saphelp_mdm550/helpdata/en/44/93aa6e31381053e10000000a422035/frameset.htm
    Regards,
    Jitesh Talreja

  • BPM 11g: JAVA API and Webservice API

    Who knows BPM 11g: JAVA API and Webservice API?
    Customer want to call BPM 11g between Heterogeneous systems, such .net framework. One way is use webservice API, I think, but where can find it? thank you

    When you create a BPM application in 11g, you're actually creating a SOA composite application with a BPMN component in the composite. From within the BPMN editor, you can specify the interface (parameters) of each start node in the process. If you select a start node, look at the implementation tab, you'll see a properties group that lets you define the interface one property at a time, or by selecting an interface from the catalog.
    By defining these properties you're also defining the shape of the Web Service interface that will automatically be created in the composite. If you switch to the composite view, you'll see your BPMN process with a wire to it from a Web Service that's generated from the interface defined in the BPMN editor. The naming convention is the BPMN process name with ".service" appended. When you deploy the BPMN process, the web service will also be deployed, since it's also part of the composite. From Enterprise Manager (EM) you can test the service and get the WSDL, which could be used by other applications (e.g. .NET) to start and interact with a process instance.
    This is one of the advantages of the 11g architecture. The composite exposes services to consumers/clients. The implementation could have been BPEL, BPMN, a Mediator, Java/EJBs, or any combination working together. To the consumer, it's just a web service.
    In case your next question was about security ... you won't see properties about security in the BPMN editor. You use Web Service Manager to apply security or other constraints to the web service endpoint.

  • Java IDE (JBuilder) cannot find J2ME's API and packages

    Hi,
    could anyone help me with this?
    I went to sun's java web site, and I downloaded and install the latest version of the wireless toolkit. I need to create a windows application that can send/receive MMS messenges, and hence the need for the J2ME's API and also WMA's API.
    However, even after I installed the wireless toolkit, my Java IDE (JBuilder 2005) cannot detect any packages like "javax.microedition.*" or "javax.wireless.*" etc etc
    Is there a place where I can download/purchase J2ME. Please be patient with me because I am a newbie in the world of J2ME... thanks :)

    When you configuring your project in JBuilder just add some jar (which you need) from wtk library in section "include"
    Project properties
    Paths
    Required libries
    and add here addition j2me libraries.

  • MDM 5.5 SP04 Java API and Web Service Documentation

    Is there documentation available that reflects the SP04 changes to the Java API, and the web services that are now available?
    As of this morning, service marketplace contained spotty SP04 docs.
    Thanks in advance,
    Mike

    Mike,
    A cookbook would be wonderful (I think our developers would throw a party)!
    An updated object model (as a preface to the user guide) for the legacy API (MDM4J.jar) AND the new "rebranded" API (mdm-*.jar) would also work.
    I've been reduced to comparing the SP3 & SP4 javadocs
    One fun approach that appears to be working for us, is to model each process using the DataManager, and try to duplicate that exactly via the corresponding API objects (e.g. the simple Connect-Find Table-Search Table-View Result Set-View Record-CheckOut/Upsert/Validate/CheckIn dance).  New features in the DataManager reveal themselves a little more readily
    Good luck,
    ...Dee

  • XI Integration Builder API and Javadocs

    Hi
    I have been asked to produce a standalone app that will change the XSL files in a software component on XI.
    This requires the component to be made writeable, edited, and then its change list be submitted.
    I have tried to find an API that offers these functions, but the search was unsuccessful. I think that asking the question here may give me a definitive answer.
    Does anyone know if there is such an API, and where it could be found?
    Thanks
    Bill Logan

    Hi Kirk,
    What you can (and proberbly should) do is setup a local adapter engine (local J2EE installation) inside your DMZ (where the proxy is located). The internet server can than access your local adapter engine directl (preferably via HTTPS). The connection between you integration server (XI) and the local adapter engine must be opened through all firewalls (again you might want to use HTTTPS).
    You can maintain the local adapter engine through the integration server, but servers on the internet can only access the local adapter engine.
    You also might want some extra security using username/password or client certificates on the local adapter engine in the DMZ.
    In my opinion using an ITS or a reverse proxy is making things to complicated.
    Hopes this helps,
    Christiaan Schaake.

  • Pull large amounts of data using odata, client API and so takes a long time in project server 2013

    We are trying to pull large amounts of data in project server 2013 using both client API and odata calls, but it seem to take a long time. How is this done
    In project server 2010 we did this creating SQL views in both the reporting database and for list creating a view in the content database. Our IT dept is saying we can't do this anymore. How does a view in Project database or content database create issues?
    As long as we don't add a field in the table. So how's one to do this with creating a view?

    Hello,
    If you are using Project Server 2013 on premise I would recommend using T-SQL against the dbo. schema in the Project Web Database for your reports, this will be far quicker that the APIs. You can create custom objects in the dbo. schema, see the link below:
    https://msdn.microsoft.com/en-us/library/office/ee767687.aspx#pj15_Architecture_DAL
    It is not supported to query the SharePoint content database directly with T-SQL or add any custom objects to the content database.
    Paul
    Paul Mather | Twitter |
    http://pwmather.wordpress.com | CPS |
    MVP | Downloads

  • Steps for java apis and mdm

    Hi all ,
    How we can work with JAVA APIs and MDM .
    Please tell step by step ways.
    thanks in advance.
    Thnks
    nm

    Hi Man,
    You have to specify the correct JAR files in the classpath of the Java Virtual Machine (JVM). The API consists of five JAR files:
    1. mdm-admin.jar
    2. mdm-common.jar
    3. mdm-core.jar
    4. mdm-data.jar
    5. mdm-protocol.jar
    These files in one single archive file with the name MDMJavaAPI_Ver<buildnumber>.zip. you can download this file from the service market place by using mentioned below link:
    http://service.sap.com/swdc
    then goto Download>Support Packages and Patches> Entry by application group -->SAP NetWeaver -->SAP MDM -->SAPMDM5.5 -->Java API
    for the Java API documentation, you can download it from the link below:
    http://help.sap.com/javadocs/MDM/current
    But remember one thing that this JAVA API Version file must be compitable with your MDM Server version.you can verify this as per the build version.
    Hope this will help you.
    TNR,
    Saurabh...
    Edited by: Saurabh Kumar Sahu on Feb 1, 2008 8:09 AM
    Edited by: Saurabh Kumar Sahu on Feb 4, 2008 7:49 AM

  • Compiler API  and Tomcat

    Hi!
    I am using the new compiler api to compile dynamically generated classes.
    To get the compiler tool i call:
    JavaCompiler compilerTool = ToolProvider.getSystemJavaCompiler(); when I run this from eclipse with the integrated tomcat everyhing works fine but if I deploy the application on the external tomcat i get a null pointer exception because getSystemJavaCompiler(); always returns null.
    Somebody got an idea why?

    sigh, NEVER put ANYTHING in the jre/lib/ext directory.
    It's a bad thing that it's even there, as it causes systems to become mutually incompatible and to behave unpredictably when different versions of classes are needed/present.
    The compiler API (and others) that depend on the local filesystem are disallowed by application servers for security reasons.
    You've just given access to every cracker in the world to your system by allowing them to compile and run code on your machine with root privileges. Your boss will thank you.

  • Javascript API and Player Control

    Spent hours the last few days digging through the forums, documentation, and WIKI to see if I could find some answers.  Unofrtunately, thus far, the data is sparse.  Can somebody direct me to some documentation on the Javascript API and what events ara available to control the player?  For example, how do I send the player an event to "mute" the volume?  Or, how do I send the player an event to "seek" to a point in time in the video?  Or, how do I "listen" for a point in time in the video and then use javascript to do something else (like play another clip).
    I have found some very sparse information on the use of JQuery, but, we do not use that (at least, not yet).  Simple javascript through an API is ideal.  Any help would be greatly appreciated.

    <html>
      <head>
      $("#PlayerHolder").html("<span id='PlayerDiv'></span>");
      x = x.replace(/&/g,'%26')
      var flashvars = {};
      flashvars.verbose="true";
      flashvars.poster="http://"+server+"/thumbnails/thumb_"+x+".png";
      flashvars.plugin_watermark="swfs/WatermarkPlugin.swf";
      flashvars.watermark_namespace="http://osmf.realeyes.com/plugins/watermark";
      flashvars.watermark_url="ct-vector_small4.png";
      flashvars.watermark_vAlign="top";
      flashvars.watermark_hAlign="right";
      flashvars.key="hello";
      flashvars.optimizeBuffering=false;
      flashvars.bufferTime=5;
      flashvars.urlIncludesFMSApplicationInstance=cloudfront;
      var parameters = {};
      if(rtmpt){
      parameters.flashvars="src=rtmpt://"+server+"/recorder/s3/vid_"+x;
      }else{
      parameters.flashvars="src=rtmp://"+server+"/recorder/s3/vid_"+x;
      parameters.allowscriptaccess="always";
      parameters.wmode="direct";
      parameters.allowfullscreen="true";
      var attributes = {};
      attributes.name="player";
      attributes.id="player";
      swfobject.embedSWF("StrobeMediaPlayback.swf?ID="+Math.random()*100,"PlayerDiv","470","320 ","11.2","scripts/expressInstall.swf", flashvars, parameters, attributes);
      function thisMovie(movieName) {
      if(navigator.appName.indexOf("Microsoft") != -1) {
      return window[movieName];
      } else {
      return document[movieName];
      function doPlay(){
      thisMovie("player").play2();
      </script>
      </head>
      <body>
      <input type="button" value="doPlay" onClick="doPlay()"/>
    </body>
    </html>
    Try something like this.

  • What is the difference between private API and public API??

    Hi,
    I came accross the terms private API and Public API ?
    what are these APIs and what is the difference between them??
    Thanks and Regards,
    Soham

    Soham,
    Publicly Callable Business Process APIs are the list of supported and published APIs. Direct calls to any other routines are not supported, unless explicitly specified, because API validation and logic steps will be bypassed. Many other packages include procedures and functions, which may be called from the API code itself.
    Note:216838.1 - Oracle HRMS Product Family Publicly Callable Business Process APIs (A Reference Consolidation)
    Regards,
    Greg

  • [svn:bz-trunk] 20695: Tomcat 7 Valve/ LoginCommand changes due to the ValveBase API and Realm API change.

    Revision: 20695
    Revision: 20695
    Author:   [email protected]
    Date:     2011-03-08 13:32:45 -0800 (Tue, 08 Mar 2011)
    Log Message:
    Tomcat 7 Valve/LoginCommand changes due to the ValveBase API and Realm API change.
    rename valve name as Tomcat7Valve
    will need to merge the build.xml after the build machine can fork a JDK 1.6 build
    Checkintests pass
    Modified Paths:
        blazeds/trunk/modules/opt/build.xml
    Added Paths:
        blazeds/trunk/modules/opt/src/tomcat/flex/messaging/security/Tomcat7Valve.java
    Removed Paths:
        blazeds/trunk/modules/opt/src/tomcat/flex/messaging/security/TomcatValve708.java

Maybe you are looking for

  • HDMI No Signal !

    Hi guys ,  my Computer  Hp G62 253tu is not conecting to my TV , the problem in not on the  HDMI Cable ... , On the Tv says no Signal ... How can i make it work ??  IM using windows 7 King regards

  • Re: Parcel Tracking data

    Hi gurus, I am trying to find a database table where the Parcel tracking is stored for an outbound delivery. I wanted to use the associated data for parcel tracking like Tracking number, no of parcels ... etc. Can anyone suggest me the details. Thank

  • My display is non hdcp compliant after Yosemite install

    My display is non hdcp compliant after Yosemite install, fix this?

  • Creation and Change date in T Tables

    Hi When entries are made in SAP tables like T001  , T001L ,T001W etc. Creation of company code, plant is there a creation date , change date maintained ? Where can i retrieve this information from? Preferbly an SAP table -Dexter

  • Printables & Print Apps

    Hi all, So, I just purchased a HP Photosmart 6520 series printer today and I noticed they provide free printables. When I tried to access the apps by pressing the "Get More" option, it gives me a page that says something along the lines of "go to hpe