Friday, 28 December 2012

Date/time in EDI message

An UN/EDIFACT message contains several references to date/time but, first of all, you will find date/time into the UNB segment as S004.0017  / S004.0019:

    UNB+UNOA:2+SENDER-ID+RECEIVER-ID+090730:1323+1'

This data/time identifies when the full interchange was generated and it's a good practice to use the UTC format. 

UTC date/time allows to determine exactly when the interchange was generated without converting local date/time of the sender into local date/time of the receiver. 

For instance: 

    UNB+UNOA:2+SENDER-ID+RECEIVER-ID+090730:1323+1'
    UNH+2+COPARN:D:00B:UN:SMDG20'
    BGM+126+3+9'
    DTM+137:200907301523:203'
    RFF+BN:SAL/01'
    (...)

This interchange was generated on the 2009/07/30 at 13:23 hrs UTC but the local date/time of issue of the first document is 2009/07/30 at 15:23 hrs. It's reasonable to assume that the sender of the message lives in a GMT+2 time zone. 

Sunday, 18 November 2012

COARRI report vs time based COARRI

Basically there are two ways to send COARRI to an EDI customer: 
  1. Based a time interval (eg. every 5-minutes); 
  2. When all containers have been discharged/loaded from/to vessel. 
The first type of COARRI implies that an unpredictable number of interchanges have been sending to the EDI customer based a time interval. 

The second type of COARRI implies that up to two interchanges (eg. 1 COARRI discharge and 1 COARRI loading) have been sending to the EDI customer. 

Both the ways are valid but I manly use the first one for the following reasons: 
  1. To be updated, in (almost) real time, about vessel status is indeed big advantage; 
  2. In case containers discharged from vessel are going to be released before the end of vessel operations the EDI customer will still receive first the COARRI and then the CODECO; 
  3. Often, receiving COARRI in duly time allows EDI customer to cater the corresponding EDI (eg. COREOR) and speed-up Terminal operations without accumulating too many EDI to be processed at the very last minute.

Friday, 12 October 2012

Digital signature with INVOIC file

Following to my previous post about digital signature, I have gathered further information.

In Italy digital signature is mainly used with INVOIC files. 

A new friend, Mr. Matteo Maiorano employed at Derwid srl, sent me a very interesting sample: I have post it in the forum for your findings. 

Sunday, 7 October 2012

Digital signature

Time ago I received, from an EDI customer, an Interchange proposal concerning COREOR messages with a digital signature.

In the beginning it seemed to me a very good idea: the delivering of import containers is a rather delicate matter and a digital signature can: 
  • Prove that EDI message is created from a known sender; 
  • EDI message is not altered in transit.
Unfortunately, when I saw the sample COREOR  I could not believe my eyes; message looked, more or less, like this: 

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

UNB+UNOA:3+XXXX:ZZ+ITSALSCT:ZZ+120902:1055+3733'
(...)
UNZ+1+3733'
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAk5gmeYACgkQ3lkq35eQ2s+iowCggEuSTpVW5cxbpz+W9gnVCzU0
UxcAn3t2ZRUCkKIH/ElN/UmVAz0po21d
=aSjJ
-----END PGP SIGNATURE-----

For sure digital signature could be verified manually by means of an external program before processing the message but, at least in my very modest opinion, this was not the way to implement digital signature in an EDI protocol.

I spent some time to found out a consistent documentation and also discussed this issue in a Linkedin's group: I would like to share EANCOM (ie. a subset of UN/EDIFACT) documentation in case you need to handle a similar issue.

Sunday, 23 September 2012

Mapping a remark field into FTX segment

Mapping an internal remark field, from the source data base to a FTX segment of an out-coming EDI transaction, may be  an issue.

First of all you should wonder which kind of data the end user could store into the source data base as remark and if it is appropriate to send it to an external customer: while debugging some EDI transactions it happened me to find very funny data and even some telephone numbers to contact, at the transport stage of the container, in case of problems. 

Furthermore, piece of data into FTX segment, are often incompatible with the character set adopted in the interchange and, although unnecessary, prevent message to be properly processed. 

Here below some very common errors which happen in my EDI environment mainly based on the UNOA character set:

Lowercase characters
FTX+AAI+++clean container foodstuff quality'
Missing escape character "?" in conjunction with ":"
FTX+AAI+++RELEASE DATE FROM: 19/09/2012'  
 Not allowed character "\"
FTX+AAI+++CLEAN CONTAINER \ FOODSTUFF QUALITY'

Saturday, 1 September 2012

Main carriage transport in COPARN

An error that often I have to handle manually in my EDI environment concerns the 'Main Carriage Transport' declared in the H.TDT.TDT segment of some COPARN messages.

Let’s have a look at the following sample:

(...)
TDT+20+2036+1++XXX:172:166+++XXX:103::VESSEL NAME'
LOC+9+ITGOA:139:6:GENOA'
LOC+11+AUMEL:139:6:MELBOURNE'
DTM+133:201209030000:203'
NAD+CF+XXX:172:166'
NAD+MR+ITSALSCT’
EQD+CN++22GP:102:5++2+4'
RFF+SQ:001'
EQN+1'
LOC+163+AUMEL:139:6:MELBOURNE'
MEA+AAE+X+KGM:19250'
TDT+1+TRANSPORTER+3'
LOC+165+ITSAL:139:6:SALERNO'
(...)


That’s a COPARN concerning a container with the following characteristics:
  1. To be loaded onto a vessel qualified as 'Main Carriage Transport';
  2. Loading port: Genoa (ITGOA);
  3. Place/Port of discharge: Melbourne (AUMEL);
  4. Place/Port of destination for stowage purposes: Melbourne (AUMEL);
  5. Activity Location: Salerno (ITSAL).
So here is the final container route:
  1. Collected/Deivered at Salerno port;  
  2. Loaded from Salerno to Genoa Port by a feeder vessel;  
  3. Transhipped from Genoa to Melbourne Port by the mother vessel declared in the TDT segment.
Of course not always mother vessels, operational on external quays,  are stored into my system and unfortunately affected COPARN messages get rejected due to missing valid vessel call.

Monday, 27 August 2012

Restow in BAPLIE file

Some days ago I received the following complaint from an EDI customer:
"However everytime we receive a departure BAPLIE from your Terminal, where we have performed restows, we always get the restowed units showing as loaded from your port which clashes with the restowed unit."
In the beginning, I thought to have messed up some mapping rules but after having a look at the config file I realised that, at my end, everything was set-up properly. 

Here is the EQD segment group concerning a unit restowed by my Terminal:

(...)
LOC+147+0250208::5'
MEA+WT++KGM:6960'
LOC+9+ITSAL' 
>> Place/port of loading
LOC+11+PTLEI'
>> Place/port of discharge
LOC+83+PTLEI'
>> Place of delivery (by on carriage)
LOC+76+ILHFA'
>> Original port of loading
RFF+BM:1'
EQD+CN+ABCD1234567+22G1+++5'
(...)

I guess that customer's EDI translator has some issues in handling OPOL (Original Port of Loading) in conjunction with POL (Port of Loading): of course that's not up to me and, at least once, I was happy to close the support request without changing anything !