SAP Integration Experts – DataXstream

SAP Data Migration – Answering the Important Questions (Part 1)

It is data migration time on your SAP business project.  Whether your project is implementation, acquisition, or merger, the goal is pretty much the same: the seamless inbound acquisition of master and transactional data from one or more external data sources while ensuring that this activity has minimal impact on the rest of the business.  This is where we attempt to move years of neglected master and transactional data from a loosely structured, anything-goes legacy system into a very tightly integrated and highly structured SAP system.  You must consider the likelihood that the concept of master data management had not been invented yet when the legacy or source system providing your data was implemented.

How much data to move? How much data to leave behind? What to automate, and what to execute manually?  How to gracefully orchestrate and execute a data migration cutover from one system to another?  Where and how to fit the data migration plan into the overall business implementation plan?  How to continue to run the business during the data migration phase of the business project implementation? These questions are all part of the planning fun!

Read more

Using Native SQL in an ABAP Proxy

Recently, I was looking at a requirements document to build an interface to an external system that wants to query customer master data by the customer first name and last name.  As I read this, there were a cacophony of thoughts, all demanding equal attention, racing through my head:

  • How will I ever match the inbound interface parameter “Tom” with “TOM”, or “tom”?
  • How will I ever match the inbound interface parameter “Smith” with “SMITH” or “smith”?
  • The ABAP WHERE clause is not case-INsensitive.
  • There could be hundreds of customers named Tom Smith.
  • KNA1-NAME1 and KNA1-NAME2 are not indexed fields.
  • And no, we are not storing any portion of either first or last name in an existing indexed field like SORTL.
  • There are well over one million customers in the database.
  • We have already decided to use PI for all interfaces.
  • I will have to buy the BASIS team a case of beer to get them to agree to create indices on the fields KNA1-NAME1 and KNA1-NAME2 in a table with over one million records.

I arrived at the conclusion that I need a case-insensitive database query, along with database indices created for the fields KNA1-NAME1 and KNA1-NAME2.

But, what is a case-insensitive WHERE clause?  A little research and help from colleagues revealed that many had gone before me, and this was nothing new.  To implement a case-insensitive WHERE clause in ABAP, you simply needed to use the native SQL UPPER() construct. The database system that is being used is Microsoft SQL Server, but the UPPER() function and its syntax is similar across different database platforms. This seemed like an easy nut to crack. But, as I soon found out, I actually had a lot to learn. Read more

The Ergonomic User Interface

Every Monday morning I hop on a plane, arrive at my destination city, pick up a rental car, and drive to my client’s site.  The car rental company gives me a different make and model car every week.  And yet, somehow, I am successfully able to open the car, adjust the seat and mirrors, start the car, shift gears, and drive.  I can also operate the radio, air conditioning, heat, windshield wipers, and headlights.

Now, put me behind a keyboard in front of a computer application which I have never seen before. My user experience is all over the map – somewhere in the continuum between most excellent and very poor.  Some application user interfaces are extremely intuitive, well-designed and easy to navigate, logically follow the business process flow, and provide real meaningful help when needed.  Other application user interfaces are extremely difficult to navigate, are not intuitive, do not follow a logical business process flow, and offer little or no meaningful help. And sometimes in these difficult user interfaces, not only has the location of the steering wheel been moved to a totally unsuspecting location, but its appearance has been changed so that, even when I see it, I do not even recognize it as being the application’s steering wheel.

A well-engineered user interface is no accident.  It doesn’t just magically happen.  It must be woven into the fabric of the design and the code; and it should never be shoe-horned into the application as an after-thought.   It takes a lot of up front planning, designing, testing, functional effort and technical effort to produce a really good application user interface.  And yes, designing, building, testing, and implementing a good user interface for your application will extend the delivery time of whatever it is that you are building.

Why is a well-designed and ergonomic user interface so important?  You could have built the best application ever developed.  But if it is unusable, it will never get very far.   Countless hours are lost every day as thousands of frustrated users spend extra time and effort wrestling with poorly designed user interfaces, rather than focusing on their jobs.  And when the frustration levels reach a certain trigger point, the users will seek out and find alternative ways to perform their duties.

Here are a few examples of some very interesting user interface experiences that I have personally encountered.

Read more

How To Implement Field-Level HRMD_A Reduction

I love ALE.  It is super-powerful and, once you get the hang of it, is a snap to configure.  Recently, I was setting up an HRMD_A interface for my client.  Everything was going smoothly until I ran into a requirement to filter out the social security number (PERID), birthdate (GBDAT), and gender (GESCH) for privacy reasons.  All of these fields are in segment E1P0002.  Initially, I thought that this requirement was easy enough to accomplish.  I just created a IDOC reduction in transaction BD53 and filtered out the three fields.  I soon found out that while entire segments were getting reduced from the IDOC as configured, the individually reduced fields were still showing up in the IDOC.  What’s going on?!? Read more

SAP Basis Consultant

Location: US-Multiple Locations

Essential Duties and Responsibilities:

  • Responsible for the installation, technical administration, tuning, and monitoring of SAP ERP (& related) software including R/3 4.7, ECC 5.0 & 6.0, BW, XI 3.0/PI 7.0 & Solution Manager. Also Oracle and Microsoft SQL Server implementations on Windows platform
  • Expertise in providing primary support for SAP R/3 related systems
  • Apply support packages, and add-ons
  • Provide 24×7 hour support for mission critical system software, possible on call schedule
  • Effectively communicate and interact with technical personnel in solving complex business and technical problems
  • Ability to complete tasks within critical timelines and work well in a high-energy environment
  • Prepare status reports and attend status meetings
  • Research and provide directions for SAP software corrections including SAP OSS notes and SAP support packages
  • Manage the SAP router configuration for SAP support
  • Design and document security administration policies and procedures (SOP) for the production environment and train the Helpdesk to perform basic operations tasks on SAP
  • Creation of client landscapes and client copies
  • Create and maintain RFC connections

Read more

Changing The Function Interface of Web Service Enabled Functions

Today, I got an email from one of my co-workers at my client with a very good question.  This developer had created an ABAP function to return SAP data.  Then, he exposed this function as a web service. Due to changes in functional scope, he had to change the function interface.  After he made all his changes and unit tested the ABAP code, he was surprised to find that his web service was still adhering to the old function interface.  He tried deleting and recreating the web service, but ran in to problems.  He was stuck in a pickle and needed a little push in the right direction.

Read more

SAP Interface Developer

Location: US – Multiple Locations

Essential Duties and Responsibilities:

  • Manages day-to-day maintenance of applications & interfaces
  • Develop, maintain and support interface scenarios
  • Manage technical design and functional specifications for interface scenarios, identify user requirements, use critical thinking to analyze & suggest alternative designs
  • Utilizes various methods and processes to determine requirements and design formal solutions in response to those requirements
  • Develop test cases, conduct informal and formal testing and document test results appropriately
  • Utilize technical expertise with various interfacing technologies, including IDOCs, BAPIs, ALE, EDI and applications such as XI, WebSphere DataStage TX (formerly known as Mercator), Gentran, MQ-Series, Seeberger, iWay etc.
  • Provide essential knowledge transfer to junior consultants and provide ad hoc guidance
  • Prepare status reports for project management and attend status meetings
  • Provide guidance and expertise with SAP’s development and integration technologies including: ALE design and implementation; transport layer, environment planning, upgrades, and risk mitigation
  • work with the Basis team and SAP on all aspects of system builds

Read more

SAP ABAP Developer

Location: US – Multiple Locations

Required Skills Summary

  • 5+ years in SAP ABAP software development
  • Strong ABAP skills with significant version experience in SAP 4.6c and higher
  • At least 5 full lifecycle SAP implementations
  • Full understanding of the SAP transport process
  • High level understanding of business processes in multiple SAP functional modules, e.g. FI, SD, MM, PP, HR, PS, PM, WM
  • Experience with Enterprise Portal, Web Dynpro, and Web Methods
  • SAP ABAP Certification
  • Experience with 3rd party applications within SAP, e.g. Sabrix, Vistex, Vertex, etc

Read more

SAP Middleware Developer

Location: US-Multiple Locations

Essential Duties and Responsibilities:

  • Manages (where applicable) day-to-day configuration/maintenance of middleware technologies, including SAP PI/XI, WebSphere DataStage TX (formerly known as Mercator) & Gentran
  • Manage middleware basis configuration
  • Responsible for designing, coding, testing and implementing middleware interfaces
  • Manages technical design and functional specifications for middleware technologies, identify user requirements, use critical thinking to analyze & make alternative suggestions, where applicable
  • Work within guidelines and broadly defined direction
  • Provide day-to-day direction to multiple team members. Tendency for functional- and tools- specialization in 1-3 different areas. Ability to effectively deal with 2-3 projects concurrently
  • Prepare status reports and attend status meetings

Read more

SAP Integration Experts – DataXstream