How to update SAP database from Asp.net App - sap-basis

I have a asp.net web app and i want to update SAP whenever a particular transaction happens with my asp.net app. I want to know if any SAP API or Web Service available from SAP using which i can update SAP .
If anyone knows it plz let me know.
Thanks,
Chandan

Well, I can talk only for R/3 but I'll make my best shot.
You can make inserts, updates and deletes to SAP tables through IDOCs, webservices, 3rd party SAP Connectors and intermediate tables.
An IDOC is an SAP standard document format for data interchange with other systems. This process is known as Inbound/Outbound in SAP and basically is a common interface where SAP and other systems share files with a established structure. In our company for example we comunicate with a satellite system sending XML files where SAP first takes the IDOCs and transform them before sending. Another case is where a system place text files in a carpet through FTP and SAP takes and transforms them to IDOCs to consume and extract the data to update the system.
However this configuration is very complex and requires study, analysis and experience to make this works fine. For deep insight I recommend you to visit http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm.
For webservices it is needed Netweaver integration (Web Services based) where you can manage this service, but basically you can program a web service with the Web Application Builder with transaction SE80.
The other thing you can use is a .Net Connector where you can integrate with .Net the RFC calls of SAP function modules. You can check an example with a SAP .Net Connector here for more information.
Finally a technique that would be helpful is to create intermediate tables in a database where your system and SAP can communicate. The approach consists in creating custom tables where your program adds data and SAP reads it making connection to the database. To make a connection to a database you can check this example.
As I stated before I just can talk for SAP R/3 to share data but I can't talk for SAP Business One.
Hope it helps.

Related

Can I deploy web-form asp.net web application to cloud?

I know such questions have already been asked many times, but I am here with my scenario. Kindly do not delete or vote to close.
I have an asp.net application with L2S and SQL 2008 R2 as backend
Using N-Layered architectured
Mostly normal crud operations to be performed.
Use of Sessions and View States
Manual Login / Logout(User and Roles management) , no .net Membership has been used.
No services used yet, might be a later part.
Third Party controls like Telerik or Infragistics also are in use.
I want to know:
Do i need to change entire application to Azure Web Application?
If not, is it possible to deploy it directly over the cloud , on MS or any other, as we normally do in IIS?
If not, Is there any third party migration tool available to make my plain old web application cloud-compatible, without affecting existing codes ?
I want cost effective and easy to go steps?
Thanks in advance
Yes that should be possible. You almost certainly do NOT have to change your whole application.
Linq2SQL is fine, I run an Azure site with L2S without any problems
You'll have to deploy your DB to a SQL Azure database. There are some restrictions, like all of your tables must have a primary key. A bigger list is here: http://msdn.microsoft.com/en-us/library/windowsazure/ee336245.aspx.
Also, when generating your SQL scripts, be sure to select SQL Azure as the database engine type: http://mooneyblog.mmdbsolutions.com/index.php/2011/09/22/generating-azure-friendly-sql-scripts/
What do your N-layers look like? If they are DLLs, it's fine. If they are web services, you'll need to create web roles for them. If they are windows services, you'll need to port them to a worker role.
Most crud and view state and manual authentication code is fine
For session, it depends on what you are doing (memory vs database). But you'll have the same challenges that you would have if you deployed to any web farm
For Telerik, I'm sure they have to have some support for Azure, and I don't think they would be doing anything crazy that would not work Azure. You should check out their website to verify compatibility.
Also, make sure you are not writing to the hard drive anywhere and expecting it to be there later, because instances can be started and stopped and reimaged at any point. If you're doing that, you'll need to change it to use something else like blob storage.
I have an ongoing series of blog posts that walk through some of the steps, which should help: http://mooneyblog.mmdbsolutions.com/index.php/category/azure/
Good luck!
I don't see any hassles to deploy your web application into the cloud.
You don't need to convert your entire application to anything else.
After all you can just try to deploy it now with the trial subscription in Windows Azure which is free for three months.
There is a fairly big stuff of new technology in Windows Azure such as service bus, azure storage, access control service, etc. However it's not necessary to use all them right now. It's prety easy just to move the existing app into the cloud.
You can deploy it to Azure web site.
That should be easier if you don't want to use SQL Azure and cloud storage.

SQL Server and iPad app interaction

I have to write an app for iPad that would take data from SQL Server and post it to the iPad. I looked up on this over the Internet and found that i have to write a web service to expose the data from SQL server using ASP.NET. I did an app previously in android that would take data from my dropbox a/c and display it to the user. I made use of the drop-box api available. I was wondering if anything like that exists for SQL? Also, i have to code in Obj-C for the iPad, so how will
i write ASP.NET code? I have more doubts.
Thanks in advance.
There are many options for web services. If you are developing in ASP.NET and don't want to invest to much time in just accessing the data I would suggest some software that will help you generate the source code.
WSSF (Web Service Software Factory) is software that will assist you in creating a SOAP web service and it generates source code for you. I do recommend however working through a tutorial first before just jumping into using this. WSSF uses visual studio as well.
Once you have a web service that packages your SQL data for communication through http requests. You will need to parse the data communicated in Objective-C. For this you'll find SudzC to be very helpful.
SudzC generates all the source code for accessing your web service in Objective-C, given the WSDL.xml file of your web service (a file that lays out the design of your web service).
Although these software will save you a lot of coding, I wish I could tell you that this will be a short and easy process. However this is vary rarely the case, developing this will take you a couple of days.
I do know that people often use RESTful web services when dealing with the iOS enviroment, although I do not have the same kind of experience with them as I do SOAP web services. I hope that this information is helpful to you.
I've done this. The best way is to use .NET 3.5 or higher to create a WCF (Windows Communication Foundation) project. These projects will let you communicate with your mobile application using REST or SOAP. They also let you send data in XML or JSON format. You will then need to create a REST or SOAP client in your IPad application to communicate with the server.
Use OData. See Creating an OData API for StackOverflow including XML and JSON in 30 minutes for how to publish your SQL Server data as an OData service. See Consuming OData using Objective-C for how to consume the OData service from your iPhone app.

Connecting iPhone to an ODBC Database

I'm new to iOS development. I have to make an application that connects to a Sybase database. My bet would be to use ODBC. Does anyone know how to connect to an ODBC enabled database from within objective C.
I've encountered applications that can do this but I don't seem to find any specific iOS related documentation or source code examples. Does anyone have even the slightest idea?
Thanks in advance!
There is a new ODBC SDK for iOS available at http://ODBCrouter.com/ipad complete with screenshots and an app you may download and use with the online demonstration system.
Mostly you want to get to remote databases through a web service layer. The app I'm currently working on does a TON of database interaction, and I wrote a number of PHP scripts that live on a web server on the same machine with the database. My PHP receives web requests from the app, does the DB work, and responds with JSON objects. You can obviously use any web layer you want--asp, perl, you name it--and respond with XML if you prefer. Doesn't matter.
I don't know of anybody actually interacting live with a database interface, ODBC or otherwise, directly from the phone. The way people seem to be going about it is via an intermediate web app layer.
iPhone SDK can use SQLite I am unsure of others. Perhaps the best choice will to be to free it of the ODBC issue and write a web service façade to provide the database access.
WCF Data Services /w Entity Framework and the OData client library for iOS will give you full CRUD access to the schema.

Publishing Access database reports to the web

Client has a bunch of Access databases and associated reports.
He wants to make the reports available (live, not snapshots) via a secure extranet.
He's willing to recreate the reports using a proprietary GUI if necessary, but ideally would like a solution that exports his reports "as is" to the web.
Had a look at Caspio Bridge. It's pretty slick but doesn't appear to offer grouping and summing (key requirement) without a nasty Javascript hack - seems like a rather glaring omission to me!
Any suggestions?
I'm an ASP.NET developer so if there's coding involved, an ASP.NET based solution would be preferred.
You can try Access Reporter.
http://www.ssw.com.au/ssw/AccessReporter/Default.aspx
You might like to consider Access 2010, point 3 of the linked document says:
Access your application, data, or
forms from virtually anywhere.
Extend your database to the Web so
that users without an Access client
can open Web forms and reports via a
browser and changes are automatically
synchronized.1 Or work on your Web
database offline, make your design and
data changes, and then sync them to
Microsoft SharePoint Server 2010 when
you’re reconnected. With Access 2010
and SharePoint Server 2010, your data
can be protected centrally to meet
data compliance, backup, and audit
requirements, providing you with
increased accessibility and
manageability.
-- http://www.microsoft.com/office/2010/en/access/default.aspx
SQL Server Express edition is free. It includes Reporting Services
http://www.microsoft.com/Sqlserver/2005/en/us/express.aspx
You can connect to the MS Access database (or any other database that you have OLEDB or ODBC connectivity for)
For your existing reports, here is a link on how to migrate just the reports to SQL Server (leave data in MS Access)
http://technet.microsoft.com/en-us/library/cc966391.aspx
Actually, the suggestion being given here is to move your back and data up to SQL server , but keep your front end application part as is in Access.
So the suggestion isn’t to move your application to SQL server. The suggestion here is to move only the data part of your application to SQL server but continue to use the desktop access application.
So, you link your tables to sql server, and continue to use the access application.
What this means that is you can use SQL server reporting services, or some other web based interface that pulls the data from SQL server. So your access application will be directly updating the data on that SQL server.
This setup works well since you not tying to shuttle data between two separate systems. I know a number of companies that successfully migrated their backend data to SQL server for this very purpose of allowing the Executives and the company Managers to view reports on a web based system.
However, they did not have to throw out or lose the investment and time they spent building the access application part.

ASP.NET web application - UI, business and database layers clarification

.
Hi,
We are building an ASP.NET application (with C#.net as language) and will be hosting on Windows Server 2003 Operating System with MS SQL Server 2008 as database.
Here I need a clarification.
The main project contains Web Application Project and few other projects such as PeriodicEmailing Service Project (A service which send emails to registered users on a periodic basis).
In case of web application project we have UI, business and database layers. In case of PeriodicEmailing Service project we need to perform some business and database functions.
So now my doubt is that … While designing PeriodicEmailing Service Project (as a best practice) do we need to implement the new business and database functions in the web application project’s business and database layers or explicit business and database layers to be designed with this PeriodicEmailing Service project itself?
Thank you for your time and your help will be greatly appreciated.
Many Thanks,
Regards,
Venkat.
.
If i understand what you're asking correctly, you could compile your business and data layer into separate assembly. This way both your website and your service can reference them without duplicating your DAL code.
Try to use existing Business Layer and Data Access Layer. If you need to add new logic, add it to your existing libraries.
That's why we use separate layers. You'll get advantage of existing code, and in future, it'll be easier to maintain your both applications.

Resources