SAP is the real thing in ERP systems. It has modules that implement all data needs for business. This is not the case for most of it's compeditors, some of whom claim ERP status for little more than Invoices & Inventory control.
As a Programmer I have personally dealt with the Sales, Purchasing, Inventory Management, Production Planning, Quality Management, and Human Resources functionality in R/3. They all work togather, and they all have a huge amount of flexibility in how they can be made to work. This is both good and bad.
The good news is that you don't have use them all if you don't want to. Every company I have ever heard of implements the stuff they need as they need it over several years. SAP is extremely stable and scales up to, literally, any size business.
The bad news is that SAP is very complicated to configure. This problem is solved by throwing a lot of money into getting everything set up correctly. Super flexibility requires Super understanding of business needs.
As far as programming goes, SAP's internal language is called ABAP. It is a proprietary, data-centric, scripting language that resembles PASCAL or FoxPro. The best way to learn it is to buy the book "ABAP Objects" (ISBN#0201750805) and work through the examples. SAP functions can be called from other languages using DCOM or Java, and there is a movement afoot to allow some of the internal programming of SAP programs to be written in Java. Eventually. For now you need to know ABAP.