Go to primary content
Agile Product Lifecycle Management Integration Pack for SAP: Design to Release Implementation Guide
Release 3.6
E88840-01
  Go To Table Of Contents
Contents

Previous
Previous
 
Next
Next
 

3 Process Integration for New Part Request

This chapter provides an overview about new part numbers and describes the new part request process in Agile and SAP, discusses integration solution assumptions, integration sequence of events, Oracle Application Integration Architecture (Oracle AIA) services, and integration customization points.

3.1 Overview

New part numbers may originate in a system outside of Agile, which is easily understood when looking at the interactions of various roles that can be involved in the process of generating new part numbers.

An engineer designing an electronic assembly, a circuit board for example, may require a part, such as a new resistor, which cannot be found in the system. The engineer raises a new part request (NPR) to document control to route the request to the materials manager for review. A buyer looks into catalogs offered by approved manufacturers and finds a part that meets the criteria. The buyer then contacts the manufacturer, confirms availability, procures specifications, and then approves the NPR with the new manufacturer part number attached to it. Document control compiles all the information and assigns an internal part number corresponding to the manufacturer part and informs the engineer.

The process integration allows you to trigger a NPR process on demand. This is a synchronous process, which reserves and fetches the part number from the SAP system.

3.2 NPR Process in Agile

A New Part Request process in Agile is executed using an object of the Engineering Change Requests (ECR) class. Since the part number(s) being requested do not exist yet in Agile, there are no affected items on this ECR. A number of variants of this process are possible:

  • A single item number is reserved in SAP per ECR

  • Multiple item numbers are reserved in SAP per ECR

3.2.1 On Demand New Part Request

The synchronous on-demand NPR process allows you to achieve the following:

A new part number is required, which is to be used on a design. In Agile, the user clicks on the New Object icon to create a new item for a given subclass such as Part or Document. The on-demand NPR process compliments or replaces the new item creation process in Agile by providing the user a Process Extension (PX) that a user can use to trigger the creation of a new item.

The overall process flow is as follows:

  1. User calls a PX from Agile's auto number menu on the Create New Item popup. This option is available whenever the part number generation process is generic (mainly using a sequence).

  2. Since a SAP material type is required to get the next available sequence number from SAP, the item type (subclass) is passed as a parameter as part of this process. In DVM (Domain Value Mapping) the Agile's subclass is mapped to the corresponding SAP material type.

  3. The PX requests a new part number from SAP. This process reserves the next available part number in SAP.

  4. New reserved part number is sent back to Agile.

  5. The new part number is returned to the calling PX and the Agile New Part Creation process is executed as usual from there onwards. If an error is encountered during PX execution, then the error message is displayed as a popup window in Agile.

For detail error information, log on to Business Process Execution Language (BPEL) console.

3.3 NPR Process in SAP

It is assumed that the internal number range assignments are configured in SAP for those Material types that are mapped to the corresponding Part or Document subclass of Agile, which requires auto number generation.

When the synchronous auto number PX is executed from Agile, it calls a standard SAP application programming language (API) with input as Material type.

SAP checks if there is a valid internal number range defined for the provided Material type. If yes, the program returns the next available number to the calling program. If no valid internal number range is defined, it returns an error to the calling program.

This complete process is synchronous; therefore, the user does not experience the SAP processes at all as they run in the background to return the SAP assigned number. For the user, the process appears similar to the auto number assignment within Agile.

3.4 NPR Process Integration Solution Assumptions

The following are the assumptions for the NPR process:

  1. The Item type or Agile subclass type is mapped to Material type (MARA-MTART) in SAP.

  2. For a given valid Material type, internal number range assignment is already configured in SAP.

3.5 NPR Integration Sequence

This figure shows the process flow from Agile to SAP for the NPR process.

Figure 3-1 NPR Process Flow

Surrounding text describes Figure 3-1 .

This figure shows the sequence of events that occur when creating a NPR:

Figure 3-2 Sequence for creating a new part number

Surrounding text describes Figure 3-2 .

3.5.1 NPR Integration Flow

The NPR process is triggered from a PX. It is a synchronous process and therefore the process is designed based on the Requestor - Provider pattern as shown in this figure:

Figure 3-3 Process flow from Agile to SAP for new part number

Surrounding text describes Figure 3-3 .

The PX creates the Agile request Application Business Message (ABM) (AgileCreateItemABM) for the CreateItemAgileReqABCS and invokes it:

The request AgileCreateItemABM is transformed to the Enterprise Business Message CreateItemEBM for NPR process.

  1. Using the Asynchronous Message Pattern, the NPR process is invoked by the CreateItemAgileReqABCSImpl with the CreateItemEBM as input.

  2. The CreateItemEBM is routed to the ReserveItemSAPProvABCS with the CreateItemEBM as input.

  3. The ReserveItemSAPProvABCS implements the business logic for generating the new part number in SAP.

  4. A response CreateItemResponseEBM with New Part Number is returned and routed back to the CreateItemAgileReqABCSImpl.

  5. The CreateItemAgileReqABCSImpl transforms the response CreateItemResponseEBM to Agile response AgileCreateItemResponseABM.

  6. CreateItemAgileReqABCS receives AgileCreateItemResponseABM and returns back to the PX.

  7. The Part Number from the AgileCreateItemResponseABM is returned to the web client and displayed in the Number field in the Create Item screen.

3.5.2 NPR Services Orchestration

The NPR Process itself is an asynchronous process, whereas PX expects the response synchronously. Therefore, there may be a delayed response from the provider as the CreateItemAgileReqABCSImpl is implemented as an asynchronous BPEL Composite. To facilitate this, the synchronous BPEL Composite CreateItemAgileReqABCS is used to invoke the CreateItemAgileReqABCSImpl and receive the response back. CreateItemAgileReqABCS is invoked by the PX synchronously.

Between the CreateItemAgileReqABCS and CreateItemAgileReqABCSImpl ABMHeader Id is used as the correlation ID.

This figure shows the sequence of events during NPR services orchestration:

Figure 3-4 Sequence of events during NPR services orchestration

Surrounding text describes Figure 3-4 .

AutoNumber PX

This table describes the activities involved when creating a NPR:

#
Activity Remarks
1 Agile NPRAutonumberPX is triggered The Agile NPRAutonumberPX is triggered by an Agile user from the Agile Web client as part of New Part creation in Agile.
2 Invoke CreateItemAgileReqABCS with AgileCreateItemABM as input NPRAutonumberPX process invokes the CreateItemAgileReqABCS with AgileCreateItemABM ABM as input.
3 Invoke CreateItemAgileReqABCSImpl with AgileCreateItemABM as input NPRAutonumberPX process invokes the CreateItemAgileReqABCSImpl with AgileCreateItemABM ABM as input.
4 CreateItemAgileReqABCSImpl invokes the ReserveItemSAPProvABCS An invoke activity in CreateItemAgileReqABCSImpl transforms the AgileCreateItemABM ABM to CreateItemReqMsg EBM and invokes the ReserveItemSAPProvABCS with CreateItemReqMsg as the input.

CreateItemReqMsg will be routed to SAP ReserveItemSAPProvABCS.

5 ReserveItemSAPProvABCS on the SAP first transforms & then calls the SAP service ReserveItemSAPProvABCS will first transform CreateItemReqMsg into the input of SAP Service to reserve the item in SAP and then calls that service. This would create an Item in using a generic part number generation process (mainly using a sequence).

Similirarly CreateItemResponseMsg is an input that is routed back to the CreateItemAgileReqABCSImpl.

6 CreateItemAgileReqABCSImpl first transforms & then returns the response to CreateItemAgileReqABCS CreateItemAgileReqABCSImpl will first transform CreateItemResponseMsg to AgileCreateItemResponseABM and returns the same to CreateItemAgileReqABCS.
7 CreateItemAgileReqABCS returns AgileCreateItemResponseABM to NPRAutonumberPX.
8 NPRAutonumberPX returns the partNumber to New Part Creation UI in Agile NPRAutonumberPX gets the partNumber from the AgileCreateItemResponseABM and returns it to the New Part Creation UI in Agile web client which gets displayed in the Number field.

3.6 Oracle AIA Services for NPR

The process integration for NPR uses the following industry components:

Core components for NPR

EBOs ItemEBO
EBMs CreateItemEBM

CreateItemResponseEBM


Core Components Locations

EBO and EBM XSD files $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseObjectLibrary/Core/EBO/Item
WSDL files $AIA_HOME/AIAMetaData/AIAComponents/EnterpriseBusinessServiceLibrary/Core/EBO/Item

For detailed documentation of individual Enterprise Business Objects (EBOs), click EBO Name link on the Integration Scenario Summary page in the Oracle AIA Console. You can also use the Integration Scenario Summary page to search for and view integration scenarios that utilize a particular EBO or EBS.

EBOs can be extended, for instance, to add new data elements. These extensions are protected, and remain intact after a patch or an upgrade.

For more information, see Oracle Application Integration Architecture - Foundation Pack: Integration Developer's Guide, "Extensibility for AIA Artifacts."

3.6.1 Agile and SAP Components for NPR

This table contains the Agile and SAP components for NPR:

Services Agile (Requester) SAP (Provider)
ABMs AgileCreateItemABM

AgileCreateItemResponseABM

BAPI_STDMATERIAL_GETINTNUMBER

BAPI_STDMATERIAL_GETINTNUMBERResponse

ABCS CreateItemAgileReqABCS

CreateItemAgileReqABCSImpl

ReserveItemSAPProvABCS

Component Locations

ABO XSD files $AIA_HOME/AIAMetaData/AIAComponents/ApplicationObjectLibrary/Agile/V1/schemas
ABM XSD files $AIA_HOME/AIAMetaData/AIAComponents/ApplicationObjectLibrary/Agile/V1/schemas

$AIA_HOME/AIAMetaData/AIAComponents/ApplicationObjectLibrary/SAP/Release1/Core/ABM/Ite


3.7 Integration Services

Below are the integration services for NPR:

  • CreateItemAgileReqABCSImpl

  • ReserveItemSAPProvABCS

3.7.1 CreateItemAgileReqABCSImpl

The CreateItemAgileReqABCSImpl transforms the Agile message (AgileCreateItemABM) into CreateItemEBM calls the routing service to Create Item and get the CreateItemResponseEBM response from SAP. It then transforms the CreateItemResponseEBM response from the routing EBS back to an Agile message (AgileCreateItemResponseABM) and sends it to CreateItemAgileReqABCS which returns it to the calling Agile PX.

Flow

Receives AgileCreateItemABM from CreateItemAgileReqABCS, which gets the same from NPRAutonumberPX process extensions.

  1. Transforms this message into the CreateItemEBM -

    • Populates the EBM header

    • Determines Target System ID(s) and adds them into the EBM header to control routing

    • Validates required fields

    • Maps to EBM

  2. Call Target ReserveItemSAPProvABCS with the operation initiate

  3. Transform CreateItemResMsg Response EBM (CreateItemResponseEBM) to AgileCreateItemResponseABM Agile message.

  4. Send AgileCreateItemResponseABM back to CreateItemAgileReqABCS, which in turn sends it back to the respective PX.

  5. CreateItemAgileReqABCSImpl has the following transformation:

    AgileCreateItemABM_to_CreateItemEBM2.

    CreateItemResponseEBM_to_AgileCreateItemResponseABM

3.7.2 ReserveItemSAPProvABCS

ReserveItemSAPProvABCS is a single operation service. it accepts a Material type of an Item information message as a request and returns a response.

In the Agile to SAP flow, ReserveItemSAPProvABCS is used for transforming CreateItemEBM into BAPI_STDMATERIAL_GETINTNUMBER ABM, which invokes the Reserve Item operation in SAP.

In the return flow, BAPI_STDMATERIAL_GETINTNUMBER sends BAPI_STDMATERIAL_GETINTNUMBERResponseABM, which is transformed by ReserveItemSAPProvABCS into CreateItemResponseEBM.

This service is implemented as an asynchronous BPEL Composite.

3.8 NPR Integration Customization Points

These are the NPR integration customization points:

Agile

Property Name Description
CreateItemAgileReqABCSImpl(Agile Process Item requestor flow) AgileCreateItemABM_to_CreateItemEBM_Custom.xsl Request ABM to Request EBM
CreateItemEBM_EBMHeader_Custom.xsl Request EBM to EBM Header

SAP

Property Name Description
ReserveItemSAPProvABCS GenerateItemEBMtoABM_Custom.xsl Request EBM to Request ABM
GenerateItemABMtoEBM_Custom.xsl ResponseABM to ResponseEBM

3.9 Properties and DVMs

The ITEM_PRIMARYCLASSIFICATIONCODE property must be set for the NPR in the AIAConfigProperties.xml to work.