Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Information about the Shipmoney interface and SQL view is needed to enable Shipmoney to subtract information from the customer's database. ( APM) Adonis APM  →  Shipmoney

Table of Contents

Description

Shipmoney uses the APP API and the SQL view API_Shipmoney to subtract the member information. The below SQL statement, and the APP need to be installed on the shoreside. 

See How to consume Adonis API

Create view statement

In the line 'COMPANY_NAME' AS AgencyName remember to replace your COMPANY_NAME used by Shipmoney.

Code Block
CREATE VIEW [dbo].[API_Shipmoney] 
as 
SELECT 
p01.pin,org.name AS VesselName,
p01.FIRSTNAME AS FirstName, 
p01.LASTNAME AS LastName,
p01.[NAME] AS NAME,
NULL AS OtherSeafarerID,
p01.ADDRESS1 AS Address1,
p01.ADDRESS2 AS Address2,
p01.ADDRESS3 AS Address3,
p01.POSTCODE AS PostalCode,
CONVERT(VARCHAR,p01.birthdate,23) AS BirthDate,
p01.POSTPLACE AS City,
p01.NATIONALITY AS Citizenship,
p01.ADDRESS_COUNTRY AS CountryCode,
us.COUNTYNAME AS StateRegion,
c02.NAME AS Occupation,
'Passport' AS Passport,
p08.TDNUMBER AS IDValue,
CONVERT(VARCHAR,p08.DATETO,23) AS IDExpire,
scan.DOCNO AS IDImage,
phone.TELENO AS MobilePhoneNumber,
email.TELENO AS EmailAddress,
'COMPANY_NAME' AS AgencyName,
p01.CURRENCYFORPAYMENT AS ContractId,
CONVERT(VARCHAR,dbo.ad_signondate(p03.numorgid,p03.pin,p03.datefrom),23) AS SignOn,
CONVERT(VARCHAR,p03.dateto,23) AS ConfirmedSignOff,
CONVERT(VARCHAR,p03.todateestimated,23) AS plannedSignOff
FROM pw001p01 p01
LEFT JOIN (SELECT * FROM (SELECT *,ROW_NUMBER() OVER(PARTITION BY p03.PIN ORDER BY p03.DATEFROM DESC) AS Nr FROM pw001p03 p03 
WHERE EXISTS(SELECT 1 FROM pw001c12 c12 WHERE c12.CODE=p03.CODE AND c12.OPTIONS LIKE '%S%') AND ISNULL(p03.PLANNED,'N') <> 'Y') p03 
WHERE p03.Nr = 1) p03 ON p03.PIN=p01.PIN
LEFT JOIN (SELECT NUMORGID,dbo.ad_scanorgtree(NUMORGID, 3) AS VesselID FROM pworg WHERE ORGTYPE IN ('3', '4', '5')) ou ON ou.NUMORGID=p03.NUMORGID
LEFT JOIN pw001c12 c12 ON c12.CODE=p03.CODE
LEFT JOIN pworg org ON org.NUMORGID=ou.VesselID
LEFT JOIN pw001p0p p0p ON p01.PIN=p0p.PIN AND p0p.PNUMBER='A'
LEFT JOIN pw001c02 c02 ON c02.CODE=p0p.POSITIONID
LEFT JOIN PW001P08 AS p08 ON p08.PIN=p01.PIN AND EXISTS(SELECT 1 FROM PW001C23 C23 WHERE C23.CODE=P08.CODE AND C23.OPTIONS LIKE '%T%') 
AND NOT EXISTS (SELECT 1 FROM pw001p08 p08t JOIN PW001C23 C23t on c23t.code=p08t.code and c23t.options like '%T%' WHERE p01.PIN=p08t.PIN AND p08t.DATETO > p08.DATETO)
LEFT JOIN PW001OLEDOCS scan ON p08.scanneddocno=scan.DOCNO 
LEFT JOIN (SELECT * FROM (SELECT *,ROW_NUMBER() OVER(PARTITION BY P0T.PIN ORDER BY P0T.REPL_MODIFIEDDATE DESC) AS Nr 
FROM PW001P0T p0t WHERE P0T.TELETYPE IN (3)) p0t WHERE p0t.Nr=1) phone ON phone.PIN=p01.PIN
LEFT JOIN (SELECT * FROM (SELECT *,ROW_NUMBER() OVER(PARTITION BY P0T.PIN ORDER BY P0T.REPL_MODIFIEDDATE DESC) AS Nr 
FROM PW001P0T p0t WHERE P0T.TELETYPE IN (6)) p0t WHERE p0t.Nr=1) email ON email.PIN=p01.PIN
LEFT JOIN pwpost post ON post.POSTCODE=p01.POSTCODE AND post.COUNTRYCODE=p01.ADDRESS_COUNTRY AND post.[NAME]=p01.POSTPLACE
LEFT JOIN PWCOUNTY us ON us.COUNTYCODE=post.COUNTYCODE AND us.COUNTRYCODE=post.COUNTRYCODE WHERE P03.DATEFROM IS NOT NULL 
AND scan.docno is not null and p03.todateestimated is not null
GO

Drop view statement

If there is a need to rebuild the view the following statement can be run

Drop view [dbo].[API_Shipmoney] 

Afterward, the create statement can be sent again. 

View file
nameCreate view Shipmoney.txt

Shipmoney → Adonis APM

Common error

NOTE: Passport Scan and Estimated Estimated End date on the Current sea-service activity are mandatory for the crew to appear in the API Shipmoney view.

An error message that the users can have when a crew is missing one or both mentioned above: Data is not found:

Image RemovedImage Added


Solution: add Passport scan and/or Estimated End Date for the Current Sea-service activity.