Customer Statements with BI Publisher

Introduction

Everybody who has worked with Oracle Receivables has had to deal with customer statements. Customer statements show customer related transactions such as invoices, credit memos, payments, etc. Customer statements are printed with a predefined cycle. There is a special form which allows you to submit generation of a customer statement.

The form submits a standard process ARXSGP written in Pro-C.  This process gathers information about customer receivables activities for the reporting period throughout the Oracle eBusiness Suite, inserts the information into temporary tables and submits the report ARXSGPO to actually produce the output. The result of this operation is an ASCII file. Continue reading →

AIM Your Audience

Quality of design documents is the perpetual issue which I had to face on every implementation I had ever had a chance to work on.

On my very first Oracle eBusiness Suite implementation project my manager asked me to paste everything, including source code at 6pt, into one big Word document to make sure nobody reads it. I am very thankful to my manager because I learned how not to write design documents and I read AIM Guidelines, both volumes. Question to the audience: who has ever seen these documents? Continue reading →

Design Patterns

The other day I came across a web site www.javacamp.org which lists Java design patterns. Highly recommend to all software designers. Even if you do not do software design for Java, knowledge of design patterns is an invaluable resource of ideas for new applications you are building.

PIP Your AIA

AIA stands for Application Integration Architecture. Architecture (http://dictionary.reference.com/browse/Architecture) is a fundamental underlying design of computer hardware, software, or both. In other words it is an integrated set of tools and concepts which help you build new solutions.

All major software vendors have their own AIA delivered via the Application Servers, JBoss from RedHat, WebSphere from IBM, Oracle 10g AS from Oracle, WebLogic from BEA, NetWeaver from SAP, WebMethods. If you look into each of the AIA from each of the vendor, you will not see much difference in terms of delivered functionality. Each architecture includes an HTTP Server, a servlet container, an Enterprise Service Bus, a BPEL Engine, etc. What does differentiate one AIA from another? PIPs!!! Continue reading →

Going Live

Recently, I booked a room in a prestigous London hotel. Having previously requested an early check in at the time of my reservation, I arrived at their reception desk at 10 am after a cross Atlantic red eye flight. To my annoyance I was offered to pre-register!

Since their reservation system was going though an upgrade and therefore was not accessible they could not check me in. I was asked me to ‘come back a bit later’ - around 1 pm. Without much argument, I went to the office and arrived back to the hotel around 2 pm intent this time on accessing my room.

The same person who suggested I come back at 1 pm, now told me that they would not be able to check me in until 3 pm which was their regular check-in time. To cut a long story short, I eventually decamped to my room around 5 pm. Continue reading →

Identifying Address, Active & Primary Flags in the Customer Address

IDENTIFYING ADDRESS

The identifying address is an address which is held as a default address in the database against the Customer record. Customers are held in the Customer Architecture (known as Trading Community Architecture or ‘TCA’) as Parties, indicating that they are an entity in their own right. Only one address against a Party record can be flagged as an Identifying Address. This address is then used as a default when database level processes such as geographical searches are performed against all Parties held in the database. As a result there are a number of rules that relate to maintaining Identifying Addresses in against the Customer record: Continue reading →

Building Oracle ADF BC4J/JSF applications with Embedded Mule ESB

During implementations of packaged software, IT consultants always face the challenge of changing the program logic. Be it an ERP application or a bug tracking solution, each customer insists on its own ways of conducting business and requires that software supports it. In many cases consultants can configure the software to meet customer’s requirements. However, there are situations when consultants have to extend the software.

Software extensions are largely divided into two main categories: extensions and customizations. Extensions are formed by custom code which does not alter any of the standard code shipped with the software or which alters the code allowed to be changed, i.e. extension points. Customizations are formed by custom code which alters the standard code shipped with the software.

In this article I discuss a technique of building extension points into an ADF BC4J application using Mule ESB.

building-oracle-adf-applications-with-mule.pdf

Service Contracts XML Publisher Reports

Have you noticed the four OKS XML Publisher Reports which come with Oracle eBS 11.5.10? Have you noticed there is no published data source for it? Have you noticed that in the sample documents tax is hardcoded to 10%? We have. The XML generation mechanism is hardcoded inside ContractInfoAMImpl.java and some other classes with all the bugs which come with it.

We created published data sources for OKS documents so that you can modify them. We rewrote ContractInfoAMImpl.java so that we never had to come back to it. All the data you need comes from the published and tested data sources. If you are interested, please, contact us and we will install this extension for you.

Murphy’s Law & Offshore Development

Have you ever worked with offshore developers? Have you noticed that every onsite consultant is personally interviewed by the client or project manager, while offshore developers are just given in bulk? You cannot even request resume of offshore developers, probably, because it is as unimpressive as a new ream of paper. I noticed this practice on all projects with ‘blended’ delivery, (read, software development offshored to India) which I had a chance to be part of.

This inequality creates significant gap in experience between onsite consultants and offshore consultants. On one of the project an offshore ‘resource’ asked me for the meaning of my request to ‘keep the DFF compiled’. Now I am laughing over a mug of beer when I remember that conversation, however, at that time I was about to cry; I had to delivery a very complex project with this type of ‘resources’. Continue reading →

MD200

Many large scale projects hope to reduce the development cycle by combining design documents into one, so called ‘MD200′. In fact it not only delays code delivery, but also hinders the design flaws and solution interaction. Functional and technical design documents are completely different documents in terms of both contents and audience.

I suggest investing significant amount of time into the technical design documents. The technical design documents must contain a full set of UML diagrams to describe flows within the solution and inter solution dependencies; a complete set of pseudo logic, queries, error handling etc.

By the time technical design passes the acception by the technical lead or solution architect, it reaches the quality where a developer of any qualification can assemble an effective code within a short and manageable period of time. This is how high quality of the delivered code with offshore development centers must be achieved.