## Procurement Manager Web Service

This chapter provides an overview of the Procurement Manager web service, lists prerequisites, and discusses these web service operations:

- processPurchaseOrder

- processPurchaseOrderAcknowledge

- getPurchaseOrder

### Understanding the Procurement Manager Web Service

The ProcurementManager web service (JP430000) manages the processing of procurement-related web service operations. This table includes a description of the procurement web service operations:

Operation | Description
processPurchaseOrder (J4300010) | Use this operation to add, change or cancel a purchase order within the JD Edwards EnterpriseOne Procurement system.
processPurchaseOrderAcknowledge (J4300020) | Use this operation to synchronize sales orders in the source system to the corresponding purchase orders in the JD Edwards EnterpriseOne Procurement system.
getPurchaseOrder (J4300030) | Use this operation to query the JD Edwards EnterpriseOne database for existing purchase order information.

Accessing Javadoc

To access Javadoc for the Procurement Manager web service and its related operations, review these Javadoc packages:

- JP430000 (ProcurementManager)

- J4300010 (processPurchaseOrder)

- J4300020 (processPurchaseOrderAcknowledge)

- J4300030 (getPurchaseOrder)

Reviewing Input and Response Interfaces

To review information about the classes and fields that are used by these web service operations, you can review the input and response interface tables. Input and response interface tables list the classes and fields used by each operation, the key fields, the data types of each fields, and which fields or classes are required for each action.

See Accessing Additional Information about Business Services, Appendix A: Input and Response Interfaces.

### Prerequisites

Before using the Procurement Manager web service, or any of the related web service operations, you must install and configure the JD Edwards EnterpriseOne Procurement system.

See Getting Started with JD Edwards EnterpriseOne Procurement Management.

### processPurchaseOrder

This section provides an overview of the processPurchaseOrder web service operation.

#### Understanding the processPurchaseOrder Web Service Operation

The processPurchaseOrder web service operation is an inbound transaction operation that enables consumers to process purchase order information within the JD Edwards EnterpriseOne system. The consumer can add, change or cancel a purchase order in the JD Edwards EnterpriseOne Procurement system.

If the operation is successful, the system returns a confirmation message which includes purchase order data to the consumer. If the operation fails, the system returns an error message to the consumer.

Supported Functionality

This section discusses the functionality that the processPurchaseOrder operation supports.

Note. If functionality is not explicitly documented as supported functionality, it is to be understood that the functionality is not supported by the integration solution.

The processPurchaseOrder operation supports add, change or cancel of purchase orders, blanket orders, quote orders, requisition orders, and subcontracts. In Change mode the processPurchaseOrder operation supports add, change or cancel of detail lines for purchase orders, blanket orders, quote orders, requisition orders, and subcontracts.

The processPurchaseOrder web service operation does not support:

- Requisition self service.

- Purchase order generation.

- Suffix input at the header level.

  Although the suffix field is supported at the header level and is part of the key in JD Edwards World, the value in the suffix field for purchase orders in JD Edwards EnterpriseOne is always 000. By preventing input of the suffix at the header level, the integration may not be compatible when integrating with JD Edwards World.

Setup Considerations

Before you use this operation, you can set business service properties to specify how the system processes purchase order information. This table includes information about the business service properties that the processPurchaseOrder web service operation uses:

Group | Key | Description | Default Value
J4300010 | J4300010_PO_MBF_VERSION | Use this business service property to specify which version of the Purchase Orders program (P4310) the operation uses. See Setting Processing Options for Purchase Orders (P4310). | ZJDE0001
J4300010 | J4300010_BYPASS_BSFN_WARNINGS | Use this business service property to specify whether the system ignores warnings during processing. | 1 Note. The system does not treat warnings as errors so the system keeps processing.
J4300010 | J4300010_PREFIX_1 | Use this business service property to specify the prefix value the operation uses for error messages on purchase order detail lines. | Line No. Sent in:

Implementation Details

The following table includes information that can help determine whether the processPurchaseOrder operation is functioning correctly:

Question | Answer
How can I tell if the operation completes successfully? | If the operation completes successfully, the system returns a confirmation message to the consumer. The return message includes all the fields that are listed in the response interface for this operation. However, some of those fields can contain blank or zero values, depending on the data that exists in the JD Edwards EnterpriseOne system. At a minimum, the system returns non-zero values for these fields: documentNumber documentCompany documentTypeCode documentSuffix purchaseOrderLineNumber If the operation completes successfully, the system returns the confirm value object and no exception is thrown.
If I encounter errors while processing a transaction, do I need to reverse the transaction? | This operation uses standard transaction processing. Therefore, if you encounter errors during processing, the system does not update any information in the JD Edwards EnterpriseOne system. No manual update is necessary.
Does this operation use record reservation? | This operation calls the PurchaseOrderInit business function (B4305320). This function reserves records in the JD Edwards EnterpriseOne system when the operation is changing or deleting existing data.

### processPurchaseOrderAcknowledge

This section provides an overview of the processPurchaseOrderAcknowledge web service operation and lists prerequisites.

#### Understanding the processPurchaseOrderAcknowledge Web Service Operation

The processPurchaseOrderAcknowledge web service operation is an inbound transaction operation that enables consumers to process purchase order acknowledgements within the JD Edwards EnterpriseOne system. The consumer can synchronize sales orders in the source system to the corresponding purchase orders in the JD Edwards EnterpriseOne Procurement system.

If the operation is successful, the system returns a confirmation message which includes purchase order acknowledgement data to the consumer. If the operation fails, the system returns an error message to the consumer.

If the operation is successful, the system returns purchase order header and line keys to the caller through the ConfirmProcurementOrderAcknowledge web service operation. The system returns exceptions to the caller. The minimum required fields to acknowledge a purchase order in JD Edwards EnterpriseOne are:

- Header

  - statusOrderCode

  - purchaseOrderKey

- Detail (optional)

  - statusOrderCode

  - purchaseOrderLineKey

The processPurchaseOrderAcknowledge operation enables the consumer to specify the statusOrderCode at the header and detail level. The statusOrderCode indicates the type of operation that is being performed on the purchase order and is required. The status order codes are:

1: Accept

2: Accept with change

3: Pending

4: Product already shipped

5: Reject

This table includes information about the JD Edwards EnterpriseOne purchase order acknowledgement scenarios used by the processPurchaseOrderAcknowledge operation:

Status Order Code in Header | Status Order Code in Detail | Comment | Result
1 | 1 | Accept | Only the detail status is changed and no data is updated.
1 | 2 | Accept | The detail status is changed and other data is updated.
2 | 1 | Accept | Only the detail status is changed and the data in the header is updated.
2 | 2 | Accept with change | The detail status is changed, and the header and detail data is updated.
3 | 3 | Pending | The status is changed to Pending as set in the processing options.
4 | 4 | Product already shipped | There is no change in the EnterpriseOne system.
5 | 1, 2, 3, 4, 5 | Reject | All the lines are rejected.
1 | 3 |  | The header is not updated, the status is changed to Pending as set in the processing options, and the VR01 field in the detail is changed.
2 | 3 |  | The header data is updated, the status is changed to Pending as set in the processing options, and the VR01 field in the detail is changed.
2 | 4 |  | The header data is updated but no fields in the detail are updated.
2 | 5 |  | The header data is updated and the status is changed.
3 | 2 |  | The header is not updated, the detail status is changed, and other data is updated.
4 | 5 |  | The data in the header is not updated and the status fields are changed.

Supported Functionality

This section discusses the functionality that the processPurchaseOrderAcknowledge operation supports.

Note. If functionality is not explicitly documented as supported functionality, it is to be understood that the functionality is not supported by the integration solution.

The processPurchaseOrderAcknowledge operation enables a purchase order to be acknowledged, acknowledged and changed, appended, or rejected. The operation also supports sales order line splits. When the operation sends line split information to the JD Edwards EnterpriseOne system, it must be sent as an acknowledge with change so that a line is added to the purchase order. Two lines must be sent to split a line, both as an acknowledge with change. If a related sales order is not added, the operation performs a call in rejection mode and the corresponding JD Edwards EnterpriseOne purchase order is cancelled.

The processPurchaseOrderAcknowledge web service operation does not allow the status of cancelled lines to change.

Setup Considerations

Before you use this operation, you can set business service properties to specify how the system processes purchase order acknowledgment information. This table includes information about the business service properties used by the processPurchaseOrderAcknowledge operation:

Group | Key | Description | Default Value
J4300020 | J4300020_PO_MBF_VERSION | Use this business service property to specify which version of the Purchase Orders program (P4310) the operation uses. See Setting Processing Options for Purchase Orders (P4310). | ZJDE0001
J4300020 | J4300020_BYPASS_BSFN_WARNINGS | Use this business service property to specify whether the system ignores warnings during processing. | 1 The system does not treat warnings as errors so the system keeps processing.
J4300020 | J4300020_PREFIX_1 | Use this business service property to specify the prefix value the operation uses for error messages on purchase order detail lines. | Line No. Sent in:

Implementation Details

The following table includes information that can help determine whether the processPurchaseOrderAcknowledge operation is functioning correctly:

Question | Answer
How can I tell if the operation completes successfully? | If the operation completes successfully, the system returns a confirmation message to the consumer. The return message includes all of the fields that are listed in the response interface for this operation. However, some of those fields can contain blank or zero values, depending on the data that exists in the JD Edwards EnterpriseOne system. At a minimum, the system returns non-zero values for these fields: documentNumber documentCompany documentTypeCode documentLineNumber documentSuffix If the operation completes successfully, the system returns the confirm value object and no exception is thrown.
If I encounter errors while processing a transaction, do I need to reverse the transaction? | This operation uses standard transaction processing. Therefore, if you encounter errors during processing, the system does not update any information in the JD Edwards EnterpriseOne system. No manual update is necessary.
Does this operation use record reservation? | This operation calls the PurchaseOrderAcknowledgeNotify business function (B4302190). This function reserves records in the JD Edwards EnterpriseOne system when the operation synchronizes sales orders in the source system with their corresponding purchase orders in the JD Edwards EnterpriseOne Procurement system.

#### Prerequisites

Before using the processPurchaseOrderAcknowledge web service operation, you must:

- Set the 3. Acknowledged Order Status Code, 4. Acknowledged With Change Order Status Code, and 5. Pending Order Status Code processing options on the Order Statuses tab of the Purchase Order XPI program (P43XPI).

  See Setting Processing Options for Purchase Order XPI (P43XPI).

- Set the Order Type to OP and Line Type for stock, non-stock or service lines in the Order Activity Rules from the Procurement System Setup menu (G43A41).

  See Setting Up Order Activity Rules.

### getPurchaseOrder

This section provides an overview of the getPurchaseOrder web service operation.

#### Understanding the getPurchaseOrder Web Service Operation

The getPurchaseOrder web service operation is a database query operation that enables consumers to query the JD Edwards EnterpriseOne Procurement system to retrieve existing purchase order information.

If the operation is successful, the system returns zero to many records to the consumer. You can specify the maximum number of records to return during a query using the Max Rows business service property. If the operation fails, the system returns an error message to the consumer.

The database query operation uses the V4301XPI business view which returns only the fields from the Purchase Order Header (F4301) and Purchase Order Detail File (F4311) tables that are needed for processing. Use of the business view allows retrieval of all required fields in a single optimized call.

Field retrieval is based on the selection criteria specified in the value object. The query published value object contains fields which filter the purchase order information retrieved by the JD Edwards EnterpriseOne operation.

This flow supports querying purchase order information in JD Edwards EnterpriseOne. The getPurchaseOrder web service operation enables source systems to query JD Edwards EnterpriseOne purchase order information in a real-time fashion. . The selectPurchaseOrder adapter service is invoked to retrieve purchase order information from the V4301XPI business view in JD Edwards EnterpriseOne based on the selection criteria specified in the GetPurchaseOrder published interface document. Retrieved results are grouped together with header and detail information and mapped to the ShowPurchaseOrder published interface document and delivered back to the source application.

The query published interface contains fields that can be used to filter the purchase order information that is retrieved. At minimum, any of the purchase order keys (documentNumber, documentCompany, or documentType) or the item (short item number), or any combination of these fields, is required to process the getPurchaseOrder integration.

Optional fields to include in the filter are:

- BusinessUnit

- CurrencyCode

- Buyer

- Supplier

- ShipTo

- PaymentTermsCode

Note. Preceding spaces are already padded to the businessUnit value in the getPurchaseOrder web service operation. The JD Edwards EnterpriseOne date format is used to query purchase orders based on dates in the getPurchaseOrder operation.

Supported Functionality

This section discusses the functionality that the getPurchaseOrder operation supports.

Note. If functionality is not explicitly documented as supported functionality, it is to be understood that the functionality is not supported by the integration solution.

The getPurchaseOrder web service operation enables consumers to query the JD Edwards EnterpriseOne Procurement system to retrieve existing purchase order information.

The getPurchaseOrder operation does not support the wildcard (asterisk (*)) for search criteria.

Setup Considerations

Before you use this operation, you can set business service properties to specify how many records the system returns when you query the JD Edwards EnterpriseOne database. This table includes information about the business service properties used by the getPurchaseOrder operation:

Group | Key | Description | Default Value
J4300030 | J4300030_MAX_ROWS | Use this business service property to define the maximum number of rows that the operation returns when querying the JD Edwards EnterpriseOne database. | 100

Note. It is strongly recommended that you set this business service property to a value other than 0 (zero). If you leave this value set to 0, the system returns all matching records. Additionally, it is recommended that you specify selection criteria when you query the JD Edwards EnterpriseOne database. The system returns an error if you perform a query with no selection criteria and this business service property is set to 0.

Implementation Details

The following table includes information that can help determine whether the getPurchaseOrder operation is functioning correctly:

Question | Answer
How can I tell if the operation completes successfully? | If the operation completes successfully, the system returns records that match your search criteria. These records include all of the fields that are listed in the response interface for this operation. However, some of those fields can contain blank or zero values, depending on the data that exists in the JD Edwards EnterpriseOne system. At a minimum, if the query finds matching records, the system returns non-zero values for these fields: documentNumber documentTypeCode documentCompany orderSuffix businessUnit orderedBy orderTakenBy documentLineNumber documentSuffix itemId itemProduct itemCatalog If a business service exception is not thrown, then the operation completed successfully.
If I encounter errors while processing a transaction, do I need to reverse the transaction? | This is a database query operation that does not perform transactions. If you encounter errors during processing, review your search criteria and business service property settings and try your query again. If the operation does not return any records, verify that records matching your query exist in the JD Edwards EnterpriseOne database.
Does this operation use record reservation? | No. This operation does not reserve records that are returned in a query.