Setting up a warehouse

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Setting up a warehouse

madppiper-2
Hey everybody,

I tried to read through the docs, but couldn't get my head arround this topic. I am currently trying to integrate our external logistics partner, who will be granted access to our productslist (for which I created an xml export function), and should receive notice about incoming shipments and general stock information.

Could anybody provide me with a basic overview this topic? How are exernal logistic partners integrated into the system? I would suppose that I need to add the warehouse to the facility list, add the partner itself as a party and then create inventory items for the warehouse, correct?

Salvete,
Paul

 
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

madppiper-2
Geez, i was really tired when I wrote that first email (I drank several cups of the good ol coffee and feeling better now), perhaps I should clarify :)

We got a logistics partner, who handles incoming stocks, warehousing and shipment of our products, which we now need to integrate into the system. For that we need to:

1. exchange a complete list of products in the database (i created an export function)
2. update the inventoryitems at hand (I will create a simple webservice for that)
3. create and exchange information about incoming shipments


Step 1+2 are rather simple to understand imho, so I think i know how to handle them, but the last one remains rather ambiguous to me. Presume that I got a shipment of shirts coming in from a Vendor V at Warehouse W, how would i do that in ofbiz? and as a followup, how would I exchange such information with the warehouse? Is a Webservice available or do I need to create on myself (which entities are related for that)?
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

BJ Freeman
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

have you looked at the OAGIS stuff.
that is it whole purpose.
Another approach I use is AS2
there is an open AS2 project on sourceforge.
This is the one i integrated into ofbiz (local copy) before the OAGIS
was put in.

madppiper sent the following on 3/23/2009 8:43 AM:

> Geez, i was really tired when I wrote that first email (I drank several cups
> of the good ol coffee and feeling better now), perhaps I should clarify :)
>
> We got a logistics partner, who handles incoming stocks, warehousing and
> shipment of our products, which we now need to integrate into the system.
> For that we need to:
>
> 1. exchange a complete list of products in the database (i created an export
> function)
> 2. update the inventoryitems at hand (I will create a simple webservice for
> that)
> 3. create and exchange information about incoming shipments
>
>
> Step 1+2 are rather simple to understand imho, so I think i know how to
> handle them, but the last one remains rather ambiguous to me. Presume that I
> got a shipment of shirts coming in from a Vendor V at Warehouse W, how would
> i do that in ofbiz? and as a followup, how would I exchange such information
> with the warehouse? Is a Webservice available or do I need to create on
> myself (which entities are related for that)?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJx8QUrP3NbaWWqE4RAhT1AJ9SY8yjtp7/HP//SPmATBYYl0zEXwCfcgsO
RrDDNZDfHp8wctsHXzGhGMo=
=fwWf
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

BJ Freeman
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

to clarify
the OAGIS is more the information to transport
and AS2 is the tranport method.
I used X12 EDI for information transport.
This will set you up for most supply chain communications I encountered.


BJ Freeman sent the following on 3/23/2009 10:17 AM:

> have you looked at the OAGIS stuff.
> that is it whole purpose.
> Another approach I use is AS2
> there is an open AS2 project on sourceforge.
> This is the one i integrated into ofbiz (local copy) before the OAGIS
> was put in.
>
> madppiper sent the following on 3/23/2009 8:43 AM:
>> Geez, i was really tired when I wrote that first email (I drank several cups
>> of the good ol coffee and feeling better now), perhaps I should clarify :)
>
>> We got a logistics partner, who handles incoming stocks, warehousing and
>> shipment of our products, which we now need to integrate into the system.
>> For that we need to:
>
>> 1. exchange a complete list of products in the database (i created an export
>> function)
>> 2. update the inventoryitems at hand (I will create a simple webservice for
>> that)
>> 3. create and exchange information about incoming shipments
>
>
>> Step 1+2 are rather simple to understand imho, so I think i know how to
>> handle them, but the last one remains rather ambiguous to me. Presume that I
>> got a shipment of shirts coming in from a Vendor V at Warehouse W, how would
>> i do that in ofbiz? and as a followup, how would I exchange such information
>> with the warehouse? Is a Webservice available or do I need to create on
>> myself (which entities are related for that)?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJx8nfrP3NbaWWqE4RAt34AKC4Oq/3scKZxflMfpqCB01sUsAIgACfTfMo
YV3o9HLoShPJ6GN15apCPxI=
=sSox
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

madppiper-2
Ah,

so in an overly-simplified manner: we'll simply exchange xml files as defined in the dtds directory using the oagis-services, correct? And any exchange will then be listed on the UI, right?

Well, if that's it, than you are perfectly right: it is exactly what I was looking for :)

A follow-up though: can I edit the dtds in a way that is more fitting to our logistics partner, or is the whole idea of OAGIS a standardized concept that has been agreed upon from the OAGIS Group?
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

David E Jones-3

On Mar 23, 2009, at 1:08 PM, madppiper wrote:

>
> Ah,
>
> so in an overly-simplified manner: we'll simply exchange xml files as
> defined in the dtds directory using the oagis-services, correct? And  
> any
> exchange will then be listed on the UI, right?
>
> Well, if that's it, than you are perfectly right: it is exactly what  
> I was
> looking for :)

Yeah, that's pretty much the idea.

> A follow-up though: can I edit the dtds in a way that is more  
> fitting to our
> logistics partner, or is the whole idea of OAGIS a standardized  
> concept that
> has been agreed upon from the OAGIS Group?

If you look at the specs you'll see elements designed specifically for  
extending the standard elements. Just be careful when you use those...  
make SURE there is nothing in the standard elements that meets your  
needs (this is a very common problem with such standards, ie people  
make stuff up instead of learning how the standard elements are meant  
to be used). Anyway, there are a few examples of using those in the  
OFBiz OAGIS message send/receive code.

-David

Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

BJ Freeman
In reply to this post by madppiper-2
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

the transport format is standard but you can translate it, which is the
way it normally is done, usually at the other site.

so say have a ftl template that converts it to their format then sends
it, if they are not able to do the conversion.




madppiper sent the following on 3/23/2009 12:08 PM:

> Ah,
>
> so in an overly-simplified manner: we'll simply exchange xml files as
> defined in the dtds directory using the oagis-services, correct? And any
> exchange will then be listed on the UI, right?
>
> Well, if that's it, than you are perfectly right: it is exactly what I was
> looking for :)
>
> A follow-up though: can I edit the dtds in a way that is more fitting to our
> logistics partner, or is the whole idea of OAGIS a standardized concept that
> has been agreed upon from the OAGIS Group?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJx+O9rP3NbaWWqE4RArr4AKCWx08/7VmyPo0t4T9/2QODJthHZACggUO+
KGv9XsV/lqxOFnZ64KTrwic=
=Ir+n
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

madppiper-2
Ah,

well, what I don't understand is why neither of the services is exportable (a webservice). So yes, we can call services that automatically send data to a specified url or create xml documents on the fly (which is great, because most of the reporting is done asynchroneously), but there is some exchange of information (eg the shipment status) from the logistics partner/warehouse to us, where I would have expected a simple webservice in place.


Perhaps it is also a good idea to specify the purpose of the services and later update the wiki/description with that information? So as far as I understand, here's a non complete list of services and their purpose:

1. oagisReceiveSyncInventory
Processes an XML document as defined in 068_sync_inventory_005.xsd (http://iscaservices.com/f1/scs_oagis_syncinventory_cyclecountinglistrequest.html , http://iscaservices.com/f1/scs_busdoc_oagis_sync_inventory_stocktakinglistresponse.html). Will sync the inventory of a given warehouse (specified by of:SITELEVEL) with the internal inventoryItems entity.
       
Structure Overview

        SYNC_INVENTORY (INVENTORY)
                INVENTORY ()



2. oagisReceiveShowShipment
Process an incoming Status-Message from your logistics partner. The Status Message is defined in 161_show_shipment_005.xsd. Will update the current shipment status of a given inventory.

Structure Overview

        SHOW_SHIPMENT (SHIPMENT, SHIPUNIT*)
                SHIPMENT ( PARTNER+, SHIPITEM+, ATTCHREF*, CHARGE*, DOCUMNTREF* )
                        SHIPITEM ( DOCUMNTREF*, INVDETAIL* )
                                DOCUMNTREF()
                                INVDETAIL()
                        DOCUMNTREF()
                SHIPUNIT ( PARTNER+, ATTCHREF*, CHARGE*, CONTAINER*, DOCUMNTREF*, INVITEM* )
                        CONTAINER( DOCUMNTREF*, INVITEM+ )
                                DOCUMNTREF()
                                INVITEM ( DOCUMNTREF*, INVDETAIL* )
                                        DOCUMNTREF()
                                        INVDETAIL()
                        DOCUMNTREF()
                        INVITEM ( DOCUMNTREF*, INVDETAIL* )
                                DOCUMNTREF()
                                INVDETAIL()

3. oagisSendReceiveDelivery
Creates a deliveryMessage as specified in 197_receive_delivery_001.xsd. Document location can be specified by path, document name and url. Will notify the warehouse of incoming deliveries defined in the shipment module.

Structure Overview

            RECEIVE_DELIVERY ( RECEIPTHDR, ((RECEIPTLN+, RECEIPTUNT*) | RECEIPTUNT+) )
                RECEIPTHDR ( ATTCHREF*, CHARGE*, DOCUMNTREF*, PARTNER*, RCPTDISCRP* )
                    RCPTDISCRP()
                RECEIPTLN ( ATTCHREF*, CHARGE*, DOCUMNTREF*, INVDETAIL*, RCPTDISCRP* )
                    INVDETAIL()
                    RCPTDISCRP()
                RECEIPTUNT ( ATTCHREF*, CHARGE*, DOCUMNTREF*, PARTNER*, RCPTDISCRP*, RECEIPTITM* )
                    RCPTDISCRP()
                    RECEIPTITM ( ATTCHREF*, CHARGE*, DOCUMNTREF*, INVDETAIL*, RCPTDISCRP* )
                        INVDETAIL()
                        RCPTDISCRP()



Please correct any of the above - I am still trying to put the pieces together ;)
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

BJ Freeman
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Paul:
I think first the flow of OAGIS is important to understand
it is done through sending (sendMessageText) to a URL and giving a URL
to return (oagisReceiveConfirmBod) the confirm message.


The difference btw OAGIS communications and AS2 it that in AS2 you
define a trading partner certificate that each has to validate and
define how and where to communicate.  This is now accepted by most
trading partners. OAGIS uses a properties and the way it is setup now,
in ofbiz, can only deal with one trading partner.  Check out the
oagis.properties.

if you look at oagisReceiveSyncInventory in the controller that is a URI
  the other trading partner will send to. the properties has the URL you
sent the messages to.

So there is no need for Webservices if you going to use this as it was
intended.

The Noun Verb in the OAGIS Documents defines the process like
CONFIRM (verb) BOD(Noun)
if you look at the OagisServices.java this will show you.

now as far as information, you have the standard forms and by using
those you can  send any information you want.
http://www.visualschema.com/vs/oagis/



madppiper sent the following on 3/24/2009 7:33 AM:

> Ah,
>
> well, what I don't understand is why neither of the services is exportable
> (a webservice). So yes, we can call services that automatically send data to
> a specified url or create xml documents on the fly (which is great, because
> most of the reporting is done asynchroneously), but there is some exchange
> of information (eg the shipment status) from the logistics partner/warehouse
> to us, where I would have expected a simple webservice in place.
>
>
> Perhaps it is also a good idea to specify the purpose of the services and
> later update the wiki/description with that information? So as far as I
> understand, here's a non complete list of services and their purpose:
>
> 1. oagisReceiveSyncInventory
> Processes an XML document as defined in 068_sync_inventory_005.xsd
> (http://iscaservices.com/f1/scs_oagis_syncinventory_cyclecountinglistrequest.html
> ,
> http://iscaservices.com/f1/scs_busdoc_oagis_sync_inventory_stocktakinglistresponse.html).
> Will sync the inventory of a given warehouse (specified by of:SITELEVEL)
> with the internal inventoryItems entity.
>
> Structure Overview
>
> SYNC_INVENTORY (INVENTORY)
> INVENTORY ()
>
>
>
> 2. oagisReceiveShowShipment
> Process an incoming Status-Message from your logistics partner. The Status
> Message is defined in 161_show_shipment_005.xsd. Will update the current
> shipment status of a given inventory.
>
> Structure Overview
>
> SHOW_SHIPMENT (SHIPMENT, SHIPUNIT*)
> SHIPMENT ( PARTNER+, SHIPITEM+, ATTCHREF*, CHARGE*, DOCUMNTREF* )
> SHIPITEM ( DOCUMNTREF*, INVDETAIL* )
> DOCUMNTREF()
> INVDETAIL()
> DOCUMNTREF()
> SHIPUNIT ( PARTNER+, ATTCHREF*, CHARGE*, CONTAINER*, DOCUMNTREF*, INVITEM*
> )
> CONTAINER( DOCUMNTREF*, INVITEM+ )
> DOCUMNTREF()
> INVITEM ( DOCUMNTREF*, INVDETAIL* )
> DOCUMNTREF()
> INVDETAIL()
> DOCUMNTREF()
> INVITEM ( DOCUMNTREF*, INVDETAIL* )
> DOCUMNTREF()
> INVDETAIL()
>
> 3. oagisSendReceiveDelivery
> Creates a deliveryMessage as specified in 197_receive_delivery_001.xsd.
> Document location can be specified by path, document name and url. Will
> notify the warehouse of incoming deliveries defined in the shipment module.
>
> Structure Overview
>
>    RECEIVE_DELIVERY ( RECEIPTHDR, ((RECEIPTLN+, RECEIPTUNT*) |
> RECEIPTUNT+) )
>        RECEIPTHDR ( ATTCHREF*, CHARGE*, DOCUMNTREF*, PARTNER*, RCPTDISCRP*
> )
>            RCPTDISCRP()
>        RECEIPTLN ( ATTCHREF*, CHARGE*, DOCUMNTREF*, INVDETAIL*,
> RCPTDISCRP* )
>            INVDETAIL()
>            RCPTDISCRP()
>        RECEIPTUNT ( ATTCHREF*, CHARGE*, DOCUMNTREF*, PARTNER*,
> RCPTDISCRP*, RECEIPTITM* )
>            RCPTDISCRP()
>            RECEIPTITM ( ATTCHREF*, CHARGE*, DOCUMNTREF*, INVDETAIL*,
> RCPTDISCRP* )
>                INVDETAIL()
>                RCPTDISCRP()
>
>
>
> Please correct any of the above - I am still trying to put the pieces
> together ;)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJyQgyrP3NbaWWqE4RAgVRAKCf07UYFOKa5xSz8+L7FO7lSL/4pQCgzhoV
8cDXghazxQs1YVNSy/CPs1o=
=e3PA
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

madppiper-2
I think this is finally clearing up now...

My real problem is, that our partner seems rather stubborn when it comes to this entire integration. So they will not be providing us with a url for a direct exchange of data (as OAGIS seems to be requiring), but an sftp server instead to which we shall upload those xml files.

While this is very much possible, I would like to know If this is a deal-breaker for using the OAGIS component at all, or if I can simply use the auth and url settings defined in oagis.properties to do the very same?
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

BJ Freeman
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I suggest you write you own component that deals with how you have to
communicate, and leverage the OAGIS forms, code. Of course then your
partner must be able to deal with OAGIS xml files.
Ofbiz does have an ftp library.
I have suppliers that use ftp.


madppiper sent the following on 3/25/2009 5:38 AM:

> I think this is finally clearing up now...
>
> My real problem is, that our partner seems rather stubborn when it comes to
> this entire integration. So they will not be providing us with a url for a
> direct exchange of data (as OAGIS seems to be requiring), but an sftp server
> instead to which we shall upload those xml files.
>
> While this is very much possible, I would like to know If this is a
> deal-breaker for using the OAGIS component at all, or if I can simply use
> the auth and url settings defined in oagis.properties to do the very same?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJyiohrP3NbaWWqE4RAmR2AJ92I5fyFyrF6Zd3CFALm1VHJLgmzQCfT+3t
Myy6ue2rbnqZxYwkKRbXHcM=
=1FWH
-----END PGP SIGNATURE-----
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

madppiper-2
Yup, looking up ftpPutFile as we speak.

Perhaps it really is easiest to write up a module of our own then. It is a bummer though. That OAGIS-stuff looks great!
Reply | Threaded
Open this post in threaded view
|

Re: Setting up a warehouse

BJ Freeman
In reply to this post by BJ Freeman
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I am guessing if they are using ftp that they have some xml format they
have already made up.
in that case just use ftl to translate ofbiz to their xml format.
put a service in you component to run as a sandbox job to pull there xml
 from the FTp and massage it at this end.


BJ Freeman sent the following on 3/25/2009 5:57 AM:

> I suggest you write you own component that deals with how you have to
> communicate, and leverage the OAGIS forms, code. Of course then your
> partner must be able to deal with OAGIS xml files.
> Ofbiz does have an ftp library.
> I have suppliers that use ftp.
>
>
> madppiper sent the following on 3/25/2009 5:38 AM:
>> I think this is finally clearing up now...
>
>> My real problem is, that our partner seems rather stubborn when it comes to
>> this entire integration. So they will not be providing us with a url for a
>> direct exchange of data (as OAGIS seems to be requiring), but an sftp server
>> instead to which we shall upload those xml files.
>
>> While this is very much possible, I would like to know If this is a
>> deal-breaker for using the OAGIS component at all, or if I can simply use
>> the auth and url settings defined in oagis.properties to do the very same?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJyiyErP3NbaWWqE4RAvK9AKDKsA8ygWOPVYkE2TJ6nsvnkET1QACeOALF
UZdV/3YvCF3TcFdNqZSB2MI=
=YETn
-----END PGP SIGNATURE-----