Forum Replies Created
-
AuthorPosts
-
Hehe no problem. A second set of eyes always helps, especially when you’ve been staring at something for a few hours. I can’t count the number of times in C++, during a late night programming session, that I’ve written if(a=true) instead of (a==true).
Although there are advantages to doing it in .NET if you are more SQL familiar can you create a wrapper stored procedure. Create a stored procedure that calls the first and takes the output param and puts it into the others. Then you call only one sp from BizTalk.
Here is an example of what the data would look like very simplified. I have multiples of these types of fields and presently it works as long as the data is not quoted.
Bob, Smith, “Bob Smith”, ID1^50^5.00|ID7^10^30.00, 123 Way Street
Jen, Smith, “Jen Smith”, ID6^10^15.00, 123 Way Street
In this example the base file is comma delimited.
FirstName, LastName, FullName, Products Sold, Address
Inside Products Sold the data is represented with ^ for fields and | for repeating data
Part, Qty, Price.
So the schema is as follows for the first record.
<Customer>
<FirstName>Bob</FirstName>
<LastName>Smith</LastName>
<FullName>Bob Smith</FullName>
<Sales Information>
<Sale>
<ID>ID1</ID>
<Qty>50</Qty>
<Price>5.00</Price>
</Sale>
<Sale>
<ID>ID7</ID>
<Qty>10</Qty>
<Price>30.00</Price>
</Sale>
</Sales Information>
</Customer>
The problem arises in a situation with “” values like
Bob, Smith, “Bob Smith”, “ID1^50^5.00|ID7^10^30.00”, 123 Way Street
Because now it includes the “ on the First ID and the Last Price
There are other problems that arise as well. Since sometimes scenarios exist where there is no data and the parse of the flat file will fail because it reads the Quote mark as data and then looks for delimiters but really there is none.
I’d actually put it on a helper .net component and then reference it from your Orchestration.
Think of it like you are using a WinForm to make the SP calls. In fact, I usually use a WinForm to test the .net class. I think this sample would be good to look at: http://www.biztalkgurus.com/Samples/Debatch-Smaller-Batch-Orchestration.html It uses a helper class called from the Orchestration.
You would want to make sure your class is transactional and called inside an Atomic scope shape. I have done this before using Enterprise Services but I think using an ADO Transaction is better. Not real sure how to do that though
[quote:810a67125e=\”Joel\”]This probably isn’t it but:
<?xml … encoding=\\\”utf[b:810a67125e]=[/b:810a67125e]8\\\” ?>
should be:
<?xml … encoding=\\\”utf[b:810a67125e]-[/b:810a67125e]8\\\” ?>
Sorry, I haven’t played with custom SOAP headers very much but I just noticed that…[/quote:810a67125e]
LOL… Actually, that was the problem… Thanks!! I knew it had to be something silly I am overlooking.
This probably isn’t it but:
<?xml … encoding=\\\”utf[b:f40d874e7e]=[/b:f40d874e7e]8\\\” ?>
should be:
<?xml … encoding=\\\”utf[b:f40d874e7e]-[/b:f40d874e7e]8\\\” ?>
Sorry, I haven’t played with custom SOAP headers very much but I just noticed that…
Thanks for the info… I am also registered now!
[quote:91631eece1=\”Stephen W. Thomas\”]I’d just use .net code to call your SP’s. Then, call this .net code inside your Orchestration.
This would by pass the SQL Adapter all together for calling the SQL SP’s. This way you can set your transaction levels yourself inside your .net code. Make sense?[/quote:91631eece1]
Where would I write this code? In the BizTalk Expression Editor? Even though I don’t have any .net experience, I somewhat understand what you’re saying. I just need a little help with the \”.net code\” part.
Thank you in advance for your support.
Mike
I’d just use .net code to call your SP’s. Then, call this .net code inside your Orchestration.
This would by pass the SQL Adapter all together for calling the SQL SP’s. This way you can set your transaction levels yourself inside your .net code. Make sense?
Sorry about that. The spam filter will tell you the word it doesn’t like. It didn’t like the word “Price” you had in your sample code.
If you are a registered user, I add them to the spam bypass on a weekly basis so you would not have any problems.
The spam filer is very strict on posts from non-registered users. I get over 50 spam posts per day blocked, many with some really nasty stuff. So, unfortunately this level of restriction is necessary.
[quote:a6c039da3b=\”Anand \”]Hi,
Any Idea on Microsoft Technology Specialist exam 74-135 for BizTalk 2004? Where can I get course material and all? Info about 20 – 235 will also do. (Biztalk 2006)
Thanks in advance.
Anand[/quote:a6c039da3b]Contact Microsoft for this information.
http://www.microsoft.com is the URL
[quote:2c8e7e6965=\”CodeCola\”]This likely wont work or is very very difficult, use a Flat File schema.[/quote:2c8e7e6965]
What about EDI Validation?
There are a variety of syntax rules for each EDI message. Things like:
-this segment is required
-this element is required
-if element A is used element B is required
-one of the following Elements must be used
-the element value must be in the enumeration
etc…Not important?
I wish I could post more. But I have tried now 10 times (honestly 10 times) with different information and it just gets a general error blocked by spam filter. I can not get any sample posted… so I dont know how to get you a sample.
PS. They should really change the spam setup.. cause it gets way way to many false positives.
You can get quite creative using tag identifiers and delimiters, etc
Do you have any examples, with an explanation of the record/field structure?
You should put the custom pipeline in a seperate project, such as C# Library project. And create a strong name .snk file in the project, build it. Put the generated .dll file to GAC, can use command line or .NET Framework Configuration Tool.
And then copy the .dll file to \”your_biztalk_installation_folder\\Pipeline Component\”.
Add the custom pipeline to tool box. Then you can use it freely in your biztalk project.
-
AuthorPosts