Hi all,
We're now in the midst of doing up the BPSS for all TSC-documents. We'll
include an agenda item in subsequent TSC meetings as follow:-
1. CoO - 27 April
2. Packing List, Forwarding Instruction - 4 May
3. BL, Waybill, - 11 May
4. Status, Freight Invoice - 18 May
At the same time, we'll also try & seek input from ebBP TC.
Rgds
Kama
-----Original Message-----
From: Stephen Green [mailto:stephengreenubl@gmail.com]
Sent: Thursday, April 20, 2006 5:08 AM
To: ebXML BP
Subject: [ebxml-bp] First cut at a combination of two UBP process
definitions
Hi Monica, ebBP TC,
I just completed a first cut at combining a receipt advice notification
UBP
process definition with one for an invoice, to demonstrate (I hope,
please correct
if necessary) an invoice being triggered by a receipt advice (this can
happen by
the way, but is for illustration of course).
If I have time I'd like to show an order cancellation only allowed
after an order
has been given a successful 'order response simple' (with order
accepted)
and not after a despatch advice. I just think I will need help with the
latter,
more so as I haven't done much of a similar nature as yet. Plus I may
not
have time before the end of the week and I guess Monica would like
something
before then - so here is the simpler one in the meantime.
All the best
Steve
<?xml version="1.0" encoding="UTF-8"?>
<!--
FOR ILLUSTRATION
Demonstrates combination of several modular business process definitions (here using OASIS UBL Universal Business Process 1.0 definitions, (c) OASIS 2006 )
Created by Stephen Green, 2006
-->
<!-- remember to add XInclude namespace if XInclude is to be used -->
<ProcessSpecification name="Custom Process UBL 1.0 Small Business Subset ReceiptAdvice Invoice" nameID="CustomProcessUBL1SBSReceiptAdviceInvoice_PS" specificationVersion="2" instanceVersion="1.0.3" uuid="bpid:myuuid:cutom-process-ubl-1-sbs-receipt-advice-invoice" xmlns="http://docs.oasis-open.org/ebxml-bp/ebbp-2.0" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://docs.oasis-open.org/ebxml-bp/ebbp-2.0 ebbp-2.0.3.xsd">
<!-- in this case some copying and pasting is required even if XInclude is used -->
<!-- signals copied from either process definition -->
<Signal nameID="ra2" name="ReceiptAcknowledgement">
<Specification nameID="rabpss2" name="ReceiptAcknowledgement" location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0"/>
</Signal>
<Signal nameID="rae2" name="ReceiptAcknowledgementException">
<Specification nameID="raebpss2" name="Exception" location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0"/>
</Signal>
<Signal nameID="aa2" name="AcceptanceAcknowledgement">
<Specification nameID="aabpss2" name="AcceptanceAcknowledgement" location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0"/>
</Signal>
<Signal nameID="aae2" name="AcceptanceAcknowledgementException">
<Specification nameID="aaebpss2" name="Exception" location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0"/>
</Signal>
<Signal nameID="ge2" name="GeneralException">
<Specification nameID="gebpss2" name="Exception" location="http://docs.oasis-open.org/ebxml-bp/ebbp-signals-2.0"/>
</Signal>
<!-- business documents copied from receipt advice process definition -->
<BusinessDocument name="UBL 1.0 SBS Receipt Advice" nameID="ReceiptAdvice_UBL1SBSReceiptAdviceNotification_BD">
<Specification targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:ReceiptAdvice-1.0" name="Receipt Advice" nameID="ReceiptAdvice_UBL1SBSReceiptAdviceNotification_SP" location="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-ReceiptAdvice-1.0.xsd" type="schema"/>
<Specification externalDocumentDefRef="urn:oasis:names:tc:ubl:xpath:ReceiptAdvice-1.0:sbs-1.0" name="Receipt Advice SBS" nameID="ReceiptAdviceSBS_UBL1SBSReceiptAdviceNotification_SP" location="http://docs.oasis-open.org/ubl/cs-UBL-1.0-SBS-1.0/xpaths/xml/XPath/ReceiptAdvice-XPath.xml" type="other"/>
</BusinessDocument>
<!-- business documents copied from invoice process definition -->
<BusinessDocument name="UBL 1.0 SBS Invoice" nameID="Invoice_UBL1SBSInvoiceNotification_BD">
<Specification targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Invoice-1.0" name="Invoice" nameID="Invoice_UBL1SBSInvoiceNotification_SP" location="http://docs.oasis-open.org/ubl/cd-UBL-1.0/xsd/maindoc/UBL-Invoice-1.0.xsd" type="schema"/>
<Specification externalDocumentDefRef="urn:oasis:names:tc:ubl:xpath:Invoice-1.0:sbs-1.0" name="Invoice SBS" nameID="InvoiceSBS_UBL1SBSInvoiceNotification_SP" location="http://docs.oasis-open.org/ubl/cs-UBL-1.0-SBS-1.0/xpaths/xml/XPath/Invoice-XPath.xml" type="other"/>
</BusinessDocument>
<!-- xincludes to be used where supported by software -->
<!--
<xi:include href=""http://docs.oasis-open.org/ubl/cs-UBL-1.0-SBS-1.0/universal-business-process-1.0-ebBP/ebxmlbp-2.0_ubl-1-sbs-receipt-advice-notification-1.xml" parse="xml" xpointer="xpointer(/ProcessSpecification/Package[1])"/>
<xi:include href=""http://docs.oasis-open.org/ubl/cs-UBL-1.0-SBS-1.0/universal-business-process-1.0-ebBP/ebxmlbp-2.0_ubl-1-sbs-invoice-notification-1.xml" parse="xml" xpointer="xpointer(/ProcessSpecification/Package[1])"/>
-->
<!-- package with transaction copied from receipt advice process definition (equivalent to using XInclude) -->
<Package name="UBL1SBSReceiptAdviceNotification" nameID="UBL1SBSReceiptAdviceNotification">
<Documentation/>
<Notification name="Notify Receipt Advice" nameID="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_N" isGuaranteedDeliveryRequired="true">
<RequestingRole name="InitiatorUBL1SBSReceiptAdviceNotification" nameID="Initiator_UBL1SBSReceiptAdviceNotification"/>
<RespondingRole name="ResponderUBL1SBSReceiptAdviceNotification" nameID="Responder_UBL1SBSReceiptAdviceNotification"/>
<RequestingBusinessActivity name="Send Receipt Advice" nameID="SendReceiptAdvice_UBL1SBSReceiptAdviceNotification_ReqBA">
<DocumentEnvelope name="UBL 1.0 SBS Receipt Advice" nameID="ReceiptAdvice_UBL1SBSReceiptAdviceNotification_DE" businessDocumentRef="ReceiptAdvice_UBL1SBSReceiptAdviceNotification_BD" isAuthenticated="transient" isConfidential="transient" isTamperDetectable="transient"/>
<ReceiptAcknowledgement signalDefinitionRef="ra2" nameID="RA2_UBL1SBSReceiptAdviceNotification" name="RA2"/>
<ReceiptAcknowledgementException signalDefinitionRef="rae2" nameID="RAE2_UBL1SBSReceiptAdviceNotification" name="RAE2"/>
<AcceptanceAcknowledgement signalDefinitionRef="aa2" nameID="AA2_UBL1SBSReceiptAdviceNotification" name="AA2"/>
<AcceptanceAcknowledgementException signalDefinitionRef="aae2" nameID="AAE2_UBL1SBSReceiptAdviceNotification" name="AAE2"/>
</RequestingBusinessActivity>
<RespondingBusinessActivity name="Receive Receipt Advice" nameID="ReceiveReceiptAdvice_UBL1SBSReceiptAdviceNotification_ResBA"/>
</Notification>
<BusinessCollaboration name="Notify Receipt Advice" nameID="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_BC" pattern="Notification">
<Documentation/>
<Role name="Delivery" nameID="Delivery_UBL1SBSReceiptAdviceNotification"/>
<Role name="Despatch" nameID="Despatch_UBL1SBSReceiptAdviceNotification"/>
<TimeToPerform/>
<Start name="Start Forward Receipt Advice" nameID="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_ST">
<ToLink toBusinessStateRef="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_BTA"/>
</Start>
<BusinessTransactionActivity name="Notify Receipt Advice" nameID="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_BTA" businessTransactionRef="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_N" hasLegalIntent="true" isConcurrent="false">
<TimeToPerform/>
<Performs currentRoleRef="Delivery_UBL1SBSReceiptAdviceNotification" performsRoleRef="Initiator_UBL1SBSReceiptAdviceNotification"/>
<Performs currentRoleRef="Despatch_UBL1SBSReceiptAdviceNotification" performsRoleRef="Responder_UBL1SBSReceiptAdviceNotification"/>
</BusinessTransactionActivity>
<Success name="Success" nameID="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_Success">
<FromLink fromBusinessStateRef="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_BTA">
<ConditionExpression expressionLanguage="ConditionGuardValue" expression="Success"/>
</FromLink>
</Success>
<Failure name="Failure" nameID="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_Failure">
<FromLink fromBusinessStateRef="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_BTA">
<ConditionExpression expressionLanguage="ConditionGuardValue" expression="Failure"/>
</FromLink>
</Failure>
</BusinessCollaboration>
</Package>
<!-- package with transaction copied from invoice process definition (equivalent to using XInclude) -->
<Package name="UBL1SBSInvoiceNotification" nameID="UBL1SBSInvoiceNotification">
<Documentation/>
<Notification name="Present Invoice" nameID="PresentInvoice_UBL1SBSInvoiceNotification_N" isGuaranteedDeliveryRequired="true">
<RequestingRole name="InitiatorUBL1SBSInvoiceNotification" nameID="Initiator_UBL1SBSInvoiceNotification"/>
<RespondingRole name="ResponderUBL1SBSInvoiceNotification" nameID="Responder_UBL1SBSInvoiceNotification"/>
<RequestingBusinessActivity name="Send Invoice" nameID="SendInvoice_UBL1SBSInvoiceNotification_ReqBA">
<DocumentEnvelope name="UBL 1.0 SBS Invoice" nameID="Invoice_UBL1SBSInvoiceNotification_DE" businessDocumentRef="Invoice_UBL1SBSInvoiceNotification_BD" isAuthenticated="transient" isConfidential="transient" isTamperDetectable="transient"/>
<ReceiptAcknowledgement signalDefinitionRef="ra2" nameID="RA2_UBL1SBSInvoiceNotification" name="RA2"/>
<ReceiptAcknowledgementException signalDefinitionRef="rae2" nameID="RAE2_UBL1SBSInvoiceNotification" name="RAE2"/>
<AcceptanceAcknowledgement signalDefinitionRef="aa2" nameID="AA2_UBL1SBSInvoiceNotification" name="AA2"/>
<AcceptanceAcknowledgementException signalDefinitionRef="aae2" nameID="AAE2_UBL1SBSInvoiceNotification" name="AAE2"/>
</RequestingBusinessActivity>
<RespondingBusinessActivity name="Receive Invoice" nameID="ReceiveInvoice_UBL1SBSInvoiceNotification_ResBA"/>
</Notification>
<BusinessCollaboration name="Present Invoice" nameID="PresentInvoice_UBL1SBSInvoiceNotification_BC" pattern="Notification">
<Documentation/>
<Role name="Invoice Initiator" nameID="InvoiceInitiator_UBL1SBSInvoiceNotification"/>
<Role name="Invoice Receiver" nameID="InvoiceReceiver_UBL1SBSInvoiceNotification"/>
<TimeToPerform/>
<Start name="Start Present Invoice" nameID="PresentInvoice_UBL1SBSInvoiceNotification_ST">
<ToLink toBusinessStateRef="PresentInvoice_UBL1SBSInvoiceNotification_BTA"/>
</Start>
<BusinessTransactionActivity name="Present Invoice" nameID="PresentInvoice_UBL1SBSInvoiceNotification_BTA" businessTransactionRef="PresentInvoice_UBL1SBSInvoiceNotification_N" hasLegalIntent="true" isConcurrent="false">
<TimeToPerform/>
<Performs currentRoleRef="InvoiceInitiator_UBL1SBSInvoiceNotification" performsRoleRef="Initiator_UBL1SBSInvoiceNotification"/>
<Performs currentRoleRef="InvoiceReceiver_UBL1SBSInvoiceNotification" performsRoleRef="Responder_UBL1SBSInvoiceNotification"/>
</BusinessTransactionActivity>
<Success name="Success" nameID="PresentInvoice_UBL1SBSInvoiceNotification_Success">
<FromLink fromBusinessStateRef="PresentInvoice_UBL1SBSInvoiceNotification_BTA">
<ConditionExpression expressionLanguage="ConditionGuardValue" expression="Success"/>
</FromLink>
</Success>
<Failure name="Failure" nameID="PresentInvoice_UBL1SBSInvoiceNotification_Failure">
<FromLink fromBusinessStateRef="PresentInvoice_UBL1SBSInvoiceNotification_BTA">
<ConditionExpression expressionLanguage="ConditionGuardValue" expression="Failure"/>
</FromLink>
</Failure>
</BusinessCollaboration>
</Package>
<!-- new combined collaboration, the purpose of this custom, combination process definition -->
<!-- NOTE: there has to be careful use of nameID values to avoid id clashes -->
<!-- (the id values in the UBP definitions were chosen with such inclusions in mind) -->
<Package name="Custom Receipt Advice Invoice" nameID="CustomReceiptAdviceInvoice">
<BusinessCollaboration name="Custom Receipt Advice Invoice" nameID="CustomReceiptAdviceInvoice_CustomProcessUBL1SBSReceiptAdviceInvoice_BC" pattern="Notification">
<Documentation/>
<Role name="Delivery" nameID="Delivery_CustomProcessUBL1SBSReceiptAdviceInvoice"/>
<Role name="Despatch" nameID="Despatch_CustomProcessUBL1SBSReceiptAdviceInvoice"/>
<Role name="Invoice Initiator" nameID="InvoiceInitiator_CustomProcessUBL1SBSReceiptAdviceInvoice"/>
<Role name="Invoice Receiver" nameID="InvoiceReceiver_CustomProcessUBL1SBSReceiptAdviceInvoice"/>
<TimeToPerform/>
<Start name="Start Forward Receipt Advice" nameID="NotifyReceiptAdvice_CustomProcessUBL1SBSReceiptAdviceInvoice_ST">
<ToLink toBusinessStateRef="NotifyReceiptAdvice_CustomProcessUBL1SBSReceiptAdviceInvoice_BTA"/>
</Start>
<BusinessTransactionActivity name="Notify Receipt Advice" nameID="NotifyReceiptAdvice_CustomProcessUBL1SBSReceiptAdviceInvoice_BTA" businessTransactionRef="NotifyReceiptAdvice_UBL1SBSReceiptAdviceNotification_N" hasLegalIntent="true" isConcurrent="false">
<TimeToPerform/>
<Performs currentRoleRef="Delivery_CustomProcessUBL1SBSReceiptAdviceInvoice" performsRoleRef="Initiator_UBL1SBSReceiptAdviceNotification"/>
<Performs currentRoleRef="Despatch_CustomProcessUBL1SBSReceiptAdviceInvoice" performsRoleRef="Responder_UBL1SBSReceiptAdviceNotification"/>
</BusinessTransactionActivity>
<Transition name="Forward Receipt To Present Invoice" nameID="CustomReceiptAdviceInvoice_CustomProcessUBL1SBSReceiptAdviceInvoice_ST">
<FromLink fromBusinessStateRef="NotifyReceiptAdvice_CustomProcessUBL1SBSReceiptAdviceInvoice_ST" />
<ToLink toBusinessStateRef="CustomReceiptAdviceInvoice_CustomProcessUBL1SBSReceiptAdviceInvoice_BTA"/>
</Transition>
<BusinessTransactionActivity name="Present Invoice" nameID="CustomReceiptAdviceInvoice_CustomProcessUBL1SBSReceiptAdviceInvoice_BTA" businessTransactionRef="PresentInvoice_UBL1SBSInvoiceNotification_N" hasLegalIntent="true" isConcurrent="false">
<TimeToPerform/>
<Performs currentRoleRef="InvoiceInitiator_CustomProcessUBL1SBSReceiptAdviceInvoice" performsRoleRef="Initiator_UBL1SBSInvoiceNotification"/>
<Performs currentRoleRef="InvoiceReceiver_CustomProcessUBL1SBSReceiptAdviceInvoice" performsRoleRef="Responder_UBL1SBSInvoiceNotification"/>
</BusinessTransactionActivity>
<Success name="Success" nameID="CustomReceiptAdviceInvoice_CustomProcessUBL1SBSReceiptAdviceInvoice_Success">
<FromLink fromBusinessStateRef="CustomReceiptAdviceInvoice_CustomProcessUBL1SBSReceiptAdviceInvoice_BTA">
<ConditionExpression expressionLanguage="ConditionGuardValue" expression="Success"/>
</FromLink>
</Success>
<Failure name="Failure" nameID="CustomReceiptAdviceInvoice_CustomProcessUBL1SBSReceiptAdviceInvoice_Failure">
<FromLink fromBusinessStateRef="CustomReceiptAdviceInvoice_CustomProcessUBL1SBSReceiptAdviceInvoice_BTA">
<ConditionExpression expressionLanguage="ConditionGuardValue" expression="Failure"/>
</FromLink>
</Failure>
</BusinessCollaboration>
</Package>
</ProcessSpecification>
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.385 / Virus Database: 268.4.4/319 - Release Date: 19/04/2006