What are ABAP and SAP? [closed] - sap

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 2 years ago.
Improve this question
What are SAP and ABAP? I searched and got a bunch of different acronyms that don't quite make sense.
Is SAP a database engine?
Is ABAP a programming language?
Or are they nothing of that nature?
What are they primarily used for?

I have worked with SAP since 1998. SAP is a type of software called ERP (Enterprise Resource Planning) that large companies use to manage their day to day affairs. On the macro, the software can be split into two categories: Technical and Functional
Let's go Technical first, as it answers the "What is ABAP" part of your question.
Technical
There are two technical "stacks" within the SAP software, the first is the ABAP stack which is inclusive of all the original technology that SAP was. ABAP is the proprietary coding language for SAP to develop RICEFW objects (Reports, Interfaces, Conversions, Extensions, Forms and Workflows) within the ABAP stack.
The ABAP stack is traditionally navigated via Transaction Codes (T-Codes) to take you to different screens within the SAP Environment. From a technical perspective, you will do all of your performance and tuning of the WORK PROCESSES in the SAP system here, as well as configuring all of the system RFCs, building user profiles and also doing the necessary interfacing between the OS (usually Windows or HPUX) and the Oracle Database (currently Enterprise 11g).
The JAVA stack controls the "Netweaver" aspect of SAP which encapsulates SAP's ability to be accessed via the Internet via SAP Portal and it's ability to interface with other SAP and non-SAP legacy systems via Process Integration (PI).
SAP also has extensive capabilities in the Business Intelligence Field (BI) by accessing information stored within the Business Warehouse (BW). Currently, there is a new technology called HANA 1.0 that compresses the time to run reports against these repositories.
There are two primarily technologists that run ALL of these functions, they are called SAP Basis (Netweaver) Administrators and ABAP Developers.
Functional
SAP has specific pre-populated functional packages for different business areas. For example, Exxon runs the "IS Oil & Gas" package while Bank of America runs the "Banking" package, while further still Lockheed Martin runs the "Aerospace & Defense" package. These packages were developed over time by the amalgamation of intelligent functional customizations that could be intelligently ported to the system via inclusion in dot releases.
However, there are some vanilla functional modules that almost all entities run, regardless of their specific industry:
HR: Human Resources
PM: Project Management
FI: Financial
CO: Controllers
MM: Materials Management
SD: Sales and Distribution
PP: Production Planning
and finally the biggie:
MDM: Master Data Management which encapsulates the data for customer/vendor/material etc.

SAP is a company and offers a full Enterprise Resource Planning (ERP) system, business platform, and the associated modules (financials, general ledger, &c).
ABAP is the primary programming language used to write SAP software and customizations. It would do it injustice to think of it as COBOL and SQL on steroids, but that gives you an idea. ABAP runs within the SAP system.
SAP and ABAP abstract the DB and run atop various underlying DBMSs.
SAP produces other things as well and even publicly says they dabble in Java and even produce a J2EE container, but tried-and-true SAP is ABAP through-and-through.

Attempt to provide simplified explanation:
SAP
Firstly it is a product.
Owner company, derives its name with the product name "SAP"
It is a management system (i.e. referred as ERP). Which means, this is a tool used for "managing the system" (domain specific - finance etc.).
Now, that SAP has created an environment around SAP. In order to operate in SAP environment (i.e. for customisations etc.), language-abstraction was required. Here comes ABAP.
ABAP
It is a language (high level), which is used in the SAP environment for customisations or new feature implementations.
It is high-level, because, it is known only in SAP environment.
Therefore, any customisation on the basic version of SAP given to some customer of SAP would require ABAP usage, otherwise, just delivered SAP is good enough for usage (i.e. no ABAP required).
Now is another term HANA.
HANA
This is an in-memory RDBMS.
Another tool/product by SAP, you would say, and its prime focus is to facilitate "analytics".
The way, this is designed, gives high compression (column-wise storage) and hence is majorly used for "READ" operations, which is why it is associated with "analysis".
SAP and HANA together abstracts the underlying complexity of database-access queries and UI (developed in java), together, to make the user experience good for the management system (used majorly in analytics, and so that the main focus stays in analytics). This very specific tool/product, is said as "technology", as it has an environment of its own (terminologies etc.). ABAP facilitates further development of the SAP-ERP.
The underlying development is in C, C++ (and ABAP) for SAP.

SAP SE is a German multinational that makes enterprise software. It is best known for SAP ERP and its predecessors (SAP R/2 & SAP R/3). As the name suggests, SAP ERP is an ERP system, which basically means that it supports a wide range of business processes from warehouse management and sales to HR, business intelligence, etc.
Although SAP ERP isn't the only software sold by SAP, people are typically refering to SAP ERP when they say "they're using SAP at work". It's important to note, though, that SAP is the name of the company and no software is sold or licensed as just "SAP".
ABAP is a 4GL programming language created by SAP, and commonly compared with OpenEdge ABL or COBOL. Much of SAP's software is written in ABAP. SAP provides an ABAP Workbench, which is a collection of tools that allows third party developers to develop, test and run custom ABAP programs within the SAP ERP system. The ABAP Workbench is typically used only when business logic cannot be implemented in SAP ERP by means of mere configuration.

with SAP, you might be referring to a popular business software:
http://en.wikipedia.org/wiki/SAP_AG
And according to Wikipedia, ABAP is a programming language (short for Advanced Business Application Programming) created by SAP AG.

In addition to all the regular confusion around SAP issues might also stem form the fact that SAP used to have their own DBMS ..
It used to be called Adabas (marketed originally by Nixdorf and then by Software AG) and was a quite popular DBMS for smaller SAP (the ERP solution) installations in Germany. At some point (AFAIK around 2000) SAP started to co-develop/support/take over Adabas and marketed it as SAP DB and later MaxDB under commercial and open-source licenses. There also was/is some agreement with MySQL.
But when people talk about SAP, they usually refer to the ERP solution as the other posters have noted.

SAP is just a company name and Abap or Abap/4 is a language programming. SAP company has a lot of products: ERP(material, sales, costs, financial), CRM, SRM, SCM and all of them are customizing and programmed with ABAP and Java. Basically is it.

See http://en.wikipedia.org/wiki/SAP_AG.
In short, SAP is a modular based application that sits on top of a database (as many applications do). Many people mistake SAP as being a database, but in fact it is just the application.
By 'modular based application' I mean that 'SAP Netweaver' is a bit like 'Microsoft Office' in that it is an application or set of applications that contains many components/modules. With SAP you can add modules (such as Finance, HR, Banking, Logistics, etc.) to meet your business requirements.
ABAP is a bespoke programming language that is used within SAP. SAP also now has components that are purely ABAP based, purely JAVA based or a mixture of the two. SAP can also integrate with other technologies such as .net and PHP.

SAP is really a big Company that offers incredible solutions oriented to medium-large companies.
Actually, I can say that the main IT products are: ERP, WEB, Human Resources, Integration, BI, Reports, Machine Learning, Mobile, Cloud, Robotics, and so on.
On the cloud, you can even find solutions using Cloud Foundry, NodeJS, HTML5, Java, etc.
It's really huge the solutions that offers to their customers.

Related

How do SAP and Navision interact with third-party applications?

I am developing a business application and, provided that many companies look for integration, I would like to make it "compatible" with business systems like SAP or Navision. What mechanisms do these systems use for importing/exporting/syncing data with third-party applications?
There exist software tools known as EAI (Enterprise Application Integration) whose purpose is to act as middleware to enable the integration of applications across a company.
Apache Camel is an example of such framework, but there exist many of them. You can find a comparison list here: http://en.wikipedia.org/wiki/Comparison_of_business_integration_software
As the user nmiranda pointed out, in the case of SAP, the framework used for data interchange is SAP PI (SAP NetWeaver Process Integration).
I think your question was actually aimed to find this "starting point", wasn't it? I faced the same question some years ago and I also wondered if there was any "standard" interface to integrate applications. In such case, I hope have helped you.
There are multiple ways to integrate with ERP data sources. You can do batch integration where you setup a query that pulls the data from the source ERPs on a scheduled bases. ETL tools like Informatica and Talend shines on this front.
If you want online data integration when you want live data in your business application then you need to look at Data Virtualization solutions like Denodo, VirtDB or Composite.
Prices, feature sets, performance and flexibility highly differ. One distinguishing factor in my practice is security. Solutions tend to extract data into file system, which makes a problem when sensitive data is extracted. In real projects, implementors usually start a long process replicating the source system security objects in the target application.

Can I develop external Apps to a company with ABAP out of SAP software?

I am a recent graduate in Systems Engineering (with a symbolic 2 years work experience in my area).
I'm loving the programming, development (web, mobile and desktop) applications.
I'm thinking of doing the certification SAP: ABAP. My question is: after obtaining the certification, Can I develop something more besides SAP Modules with the knowledge provided by the course and certification? I mean, Can I develop an App XY for an company C even if this one dont have any module like Basis, Bi, etc?
Unfortunately not. ABAP is a proprietary language maintained by SAP, so it will only run within an SAP environment. However, like all programming languages, the experience you get writing ABAP will still make you a better programmer if you decide to develop in something else (e.g. Java).
I would only get the certification if I knew for certain the costs would pay off. Where I live, it's very expensive, and most companies don't require it among their developers.

Can someone tell me basic difference b/w MQL4 and MT4?

Please illustrate the difference with code.I am new in it.
Thanks in advance.
MT4- Meta Trader is the application, MQL is the programming language in MT4.
MT4 is an abbreviation of a MetaTrader software. It has a Server part -- a MetaTrader Server suite, which is licensed from MetaQuotes, Inc., for being run at the Broker-side, and there are also MetaTrader terminals, the Client-side, programmes, that are typically "White-Labeled/branded" by the respective broker company, so as to be allowed to be used by their investors / customers. These two parts together ( Client/Server ) setup an investor's access to the FOREX market.
MQL4 stands for MetaQuotes Language 4, which is a programming language, that a MetaTrader Terminal can understand and can become automated / controlled by several different types of software. These principal types are called MQL4-Expert Advisor for automated trading functions, MQL4-Custom Indicator for non-trading calculations alike computation and presentation of graphical output of Technical Analysis indicator lines, MQL4-Script for one-stop calculations being executed independently of the previous two principal types of mql4-code(s)

Integrating my RESTful web app with clients' SAP installations

My company runs a couple of B2B apps (written in Rails) dealing with parts and inventory and we've been trying to figure out the best way to integrate with some of our bigger users. We already offer the REST-style API that comes with Rails, but that, of course requires an IT Department on their end to decide to integrate it, so we'd like to lower that barrier if possible.
From what we've found, most of them are on SAP systems. Now, pretty much all I know about SAP is it's 1) expensive, 2) huge, 3) and does everything and anything you could ever need for your gigantic business to run. Naturally, this is all a bit imposing, and the resources on the site are a cross between impenetrable buzz-word laden sales material, and impenetrable jargon laden advanced technical material with little for the new, but technically competent user to be able to sink his teeth into.
So what I'm wondering is: as a 3rd party, that's not running a SAP installation, is there a way for us to offer access to our site's data through a web service or other API? Is it just a matter of providing or implementing a certain WSDL (and what would that be)? Is this feasible for someone without in-depth experience with SAP? Or is this a complete non-starter?
I'd say it's not possible without someone who knows the SAP system. You probably won't need to hire someone with in-depth SAP knowledge, but at least for the initial implementation, you'll need both the knowledge and a working system you can develop against. Technically speaking, it's not really that hard, but considering the fact that SAP systems are designed to handle multiple organizations, countries, legal systems, localizations and several thousands of users simultaneously, things are bound to be a bit more complex than almost any other software around - and most of the time not even bloated, it's just easy to get lost in that kind of flexibility.
My recommendation would be to find a customer (or a prospective customer) who has someone in their IT department with the necessary technical and processual knowledge and who is interested in conducting a development project. This way, you'd get access to a real system (testing of course) and someone who can explain to you the basics of the system. But, as I said, be prepared for complexity.
vwegert makes some excellent points.
As to this part of your question:
So what I'm wondering is: as a 3rd
party, that's not running a SAP
installation, is there a way for us to
offer access to our site's data
through a web service or other API? Is
it just a matter of providing or
implementing a certain WSDL (and what
would that be)?
Technically it is possible to expose any of your system's services as web-services to a client's SAP system. In order to do this you do not need any prior knowledge of SAP. (SAP should be able to import a WSDL, although there may be some limitations in the earlier pre-ECC5 systems).
For example a service that provides meter reads, airport departure schedules, industry trends etc is not dependend of what is in the user's system or how they set it up. However as soon as there is a need to initiate updates to the client system's data is when you need access to more specialised SAP knowledge.
Also note that many SAP functions can also be exposed as web services, but generally you do need someone with SAP (ABAP) knowledge to do this.
The ABAP language is actually fairly simple, but there is a huge learning curve to understand the data model and the myriad of configurable options in SAP.

Pentaho vs SAP Business Objects

Is there anyone out there that used these two technologies and could give me some comparison in the form of advantages and disadvantages of both? I'm currently working with BO and I have heard that open source Pentaho does pretty good job as well.
Thanks in advance!
Pentaho is a full-fledged BI suite, meaning it can handle everything from reports, OLAP, dashboards, etc.
I've only briefly dealt with the reporting side of BO, but I haven't looked to any other systems since starting to work with Pentaho three years ago. It's a very powerful system (and FOSS). There's also a very vibrant and active community. Being FOSS, Pentaho also encourages the community to contribute back. Some recent examples of this are Saiku (previously called Pentaho Analysis Tool; 1.0 is around the corner, already usable as a plugin into the BI server) and the Community Dashboard Framework (which is now a core component of the suite).
The best suggestion I can make is to download the test server from Sourceforge and start playing with the toolset. It's free, so there's no trial expiration to worry about.
Pentaho also provides support packages for both individual components and the full suite. The last time I checked the prices, it was like $2.5k for a component and $10k for up to 10 developers on a single server.
With Business objects you created Universes which are a subject oriented semantic layer on a data base. You do that with BO Designer. These universes are then used with the reporting tool by just grabbing the objects in the semantic layer. The thing is that as the Universe contents a subject oriented semantic, any user knowing the subject can easily create a report by dragging and dropping the elements of the Universe within the report. No need to know sql. Users, reports and Universes are then managed in a repository where you can defined endless combinations of security between all of it. The reporting and the security management can be done via a web app.
Additionally, you have BODS which is the ETL tool that enables the creation and feeding of the reporting databases/data warehouses/data marts/EIS/ODS/.......
There are other tools which a didn't use. I've just used BODS (ETL), BO DESIGNER (Universes), DESKTOP INTELLIGENCE (reports) and the Central Management Console (CMC) for security.
Cheers