ASN script to Create Purchase order

ASN – Advance Shipment Notice is a tab delimited CSV file which has shipment details for the purchase orders. The file will be created in NetSuite file cabinet by an external application (data spider). The script is scheduled to run every 15 minutes daily.

The script creates a Purchase order from ASN according to the delivery number. if there is more than one delivery number then multiple PO is created.

ASN Script type is scheduled script. For domestic ASN there is a separate script called inbound delivery

Sample ASN

ORD_HEADER|R|20190523042357|AT124113|EXPTX_SHIPMENT|MPM_ECC|INVOICE|PENDING|5/20/2019 12:00:00 AM|US|JPY|Y|4/10/2019 12:00:00 AM|6300010205|6321-0057-904-011|6321-0057-904-011|Net 60 days from invoice date|||47.1858699|6778.53872|2034|48034527|SHIMIZU PORT|Delivered at Terminal||RICVG0929800
PTNR|0000098110|PTNR_PAYER|Nippon Covidien Ltd.|1217-1 TOMONAGA|FUKUROI-CITY|JP|22|SHIZUOKA|437-0004||||||||
PTNR|0000098110|PTNR_SOLD_TO|Nippon Covidien Ltd.|1217-1 TOMONAGA|FUKUROI-CITY|JP|22|SHIZUOKA|437-0004||||||||
PTNR|310|PTNR_EXPORTER|CARDINAL HEALTH 200 LLC|110 KENDALL PARK LANE|ATLANTA|US|GA||30336|Miller Holly|9157829704||||364095186||
PTNR|D1JP|PTNR_BILL_TO|NIPPON COVIDIEN LTD.|131 TOKUMITSU|FUKUROI-CITY|JP|22|SHIZUOKA|437-0054||||||||
PTNR|D1JP|PTNR_SHIP_TO|NIPPON COVIDIEN LTD.|131 TOKUMITSU|FUKUROI-CITY|JP|22|SHIZUOKA|437-0054|||||Y|||
PTNR|R0AL|PTNR_SHIP_FROM|Cardinal Health 200 LLC|110 Kendall Park Lane|Atlanta|US|GA|GEORGIA|30336||||||||
PTNR|R0AL|PTNR_VENDOR|Cardinal Health 200 LLC|110 Kendall Park Lane|Atlanta|US|GA||30336|Holly Miller|||||||
ITEM|80001|CR|3071LF-|STOCKINGS T.E.D. THIGH SML SHORT|0|CT|CT_DPR.25_KG0.52|4/10/2019 12:00:00 AM|0180049691|0.0861825||||N|6115100500|0.0907184||16896|4224|4|24|1827500104|8/26/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.25|6|6.25|18.415|15.24|15.875|0.18415|0.1524|0.15875
ITEM|80001|US|1270013000|EZEE-NEST SAMPLE CUPS 13MM|0|PK|PK_NO1000|4/17/2019 12:00:00 AM|0180049686|0.8164656||||N|3926909910|0.73481904||4000|1000|4|4|910101X|4/30/2024 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|13|10|2|33.02|25.4|5.08|0.3302|0.254|0.0508
ITEM|80001|MX|8944MF|CURITY ANT-REF 14FR WO PVPI|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049685|4.53592||||N|9018908000|4.53592||72160|4510|16|16|1905758264|10/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80001|MX|8944MF|CURITY ANT-REF 14FR WO PVPI|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049688|4.53592||||N|9018908000|4.53592||297660|4510|66|66|1905705464|10/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80001|MX|8888301606|N-C CONN TUBE 6MM X1.8M|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049687|4.762716||||N|9018390040|5.0575508||99200|6200|16|16|1832515764|11/30/2023 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|19.5|12.75|8|49.53|32.385|20.32|0.4953|0.32385|0.2032
ITEM|80001|CA|22750|750 MTRACE TP RT|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|2.1318824||||N|9018119000|1.814368||6500000|650000|10|10|822924X|7/31/2020 12:00:00 AM|
ITEM_ADDL||901811000|
ITEM_DIMEN|11|7|12.5|27.94|17.78|31.75|0.2794|0.1778|0.3175
ITEM|80002|CA|31050522|200 MEDI-TRACE 100 PK 1000 CA|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|1.6782904||||N|9018119000|1.360776||1200000|600000|2|2|909181X|4/4/2022 12:00:00 AM|
ITEM_ADDL||901811000|
ITEM_DIMEN|10.5|7|11|26.67|17.78|27.94|0.2667|0.1778|0.2794
ITEM|80002|US|1270013000|EZEE-NEST SAMPLE CUPS 13MM|0|PK|PK_NO1000|4/17/2019 12:00:00 AM|0180049686|0.8164656||||N|3926909910|0.73481904||96000|1000|96|96|910575X|4/30/2024 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|13|10|2|33.02|25.4|5.08|0.3302|0.254|0.0508
ITEM|80002|MX|7012MF|PRECISION 400FLTY 12FR WO PVPI|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049687|6.6224432||||N|9018908000|6.5090452||41550|8310|5|5|1905741364|8/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|15.5|13.75|17|39.37|34.925|43.18|0.3937|0.34925|0.4318
ITEM|80002|CR|3071LF-|STOCKINGS T.E.D. THIGH SML SHORT|0|CT|CT_DPR.25_KG0.52|4/17/2019 12:00:00 AM|0180049714|0.5216308||||N|6115100500|0.5443104||84480|4224|20|20|1827500104|8/26/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.25|6|6.25|18.415|15.24|15.875|0.18415|0.1524|0.15875
ITEM|80003|CA|31050522|200 MEDI-TRACE 100 PK 1000 CA|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|1.6782904||||N|9018119000|1.360776||28800000|600000|48|48|911309X|4/8/2022 12:00:00 AM|
ITEM_ADDL||901811000|
ITEM_DIMEN|10.5|7|11|26.67|17.78|27.94|0.2667|0.1778|0.2794
ITEM|80003|US|5110|5110 WEBCOL PREP L 2-PLY|0|CS|CS_KG7.64|4/17/2019 12:00:00 AM|0180049686|8.1192968|4.1|UN3175|SOLIDS CONTAINING FLAMMABLE LIQUID, N.O.S.|N|5603920010|7.257472||8000|4000|2|2|19C088362|4/30/2024 12:00:00 AM|
ITEM_ADDL||300590000|
ITEM_DIMEN|15|10.25|12|38.1|26.035|30.48|0.381|0.26035|0.3048
ITEM|80003|CR|9545-|SCD EXPRESS SLEEVE T L SMALL|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049687|1.8937466||||N|9019102090|1.70437194||275435|8885|31|31|1901300105|1/3/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|15.5|7|6|39.37|17.78|15.24|0.3937|0.1778|0.1524
ITEM|80003|CA|31078135|230 MEDI-TRACE 30 PK 600 CA|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|1.1793392||||N|9018119000|1.0886208||10800|5400|2|2|904204X|2/1/2022 12:00:00 AM|
ITEM_ADDL||901811000|
ITEM_DIMEN|10.25|9|6.75|26.035|22.86|17.145|0.26035|0.2286|0.17145
ITEM|80004|CA|31112496|130 MEDI-TRACE MINI 30 P 600 C|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|0.9343995||||N|9018119000|1.0886208||270000|5400|50|50|909125X|3/7/2022 12:00:00 AM|
ITEM_ADDL||901811000|
ITEM_DIMEN|10.25|6.75|9.25|26.035|17.145|23.495|0.26035|0.17145|0.23495
ITEM|80004|US|5110|5110 WEBCOL PREP L 2-PLY|0|CS|CS_KG7.64|4/17/2019 12:00:00 AM|0180049686|8.1192968|4.1|UN3175|SOLIDS CONTAINING FLAMMABLE LIQUID, N.O.S.|N|5603920010|7.257472||768000|4000|192|192|19C140662|4/30/2024 12:00:00 AM|
ITEM_ADDL||300590000|
ITEM_DIMEN|15|10.25|12|38.1|26.035|30.48|0.381|0.26035|0.3048
ITEM|80004|CR|9545-|SCD EXPRESS SLEEVE T L SMALL|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049687|1.8937466||||N|9019102090|1.70437194||1208360|8885|136|136|1904400081|1/25/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|15.5|7|6|39.37|17.78|15.24|0.3937|0.1778|0.1524
ITEM|80004|CA|31078135|230 MEDI-TRACE 30 PK 600 CA|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|1.1793392||||N|9018119000|1.0886208||253800|5400|47|47|906706X|3/4/2022 12:00:00 AM|
ITEM_ADDL||901811000|
ITEM_DIMEN|10.25|9|6.75|26.035|22.86|17.145|0.26035|0.2286|0.17145
ITEM|80005|MX|8888505172|YANKAUER OPEN TIP W  ON OFF CN|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|0.907184||||N|9018390040|0.907184||60120|3340|18|18|1905805564|2/29/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|13.5|5.25|6|34.29|13.335|15.24|0.3429|0.13335|0.1524
ITEM|80005|US|5110|5110 WEBCOL PREP L 2-PLY|0|CS|CS_KG7.64|4/17/2019 12:00:00 AM|0180049686|8.1192968|4.1|UN3175|SOLIDS CONTAINING FLAMMABLE LIQUID, N.O.S.|N|5603920010|7.257472||224000|4000|56|56|19C140962|4/30/2024 12:00:00 AM|
ITEM_ADDL||300590000|
ITEM_DIMEN|15|10.25|12|38.1|26.035|30.48|0.381|0.26035|0.3048
ITEM|80005|CR|9545-|SCD EXPRESS SLEEVE T L SMALL|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049687|1.8937466||||N|9019102090|1.70437194||293205|8885|33|33|1904400089|2/3/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|15.5|7|6|39.37|17.78|15.24|0.3937|0.1778|0.1524
ITEM|80005|CA|31078135|230 MEDI-TRACE 30 PK 600 CA|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|1.1793392||||N|9018119000|1.0886208||5400|5400|1|1|908108X|4/1/2022 12:00:00 AM|
ITEM_ADDL||901811000|
ITEM_DIMEN|10.25|9|6.75|26.035|22.86|17.145|0.26035|0.2286|0.17145
ITEM|80006|MX|6155MF|CURITY MONO-FLO 16 FR W O PVPI|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|4.989512||||N|9018908000|4.989512||28860|4810|6|6|1903649864|9/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80006|US|1050-|1050 TELFA PREPACK 1S 4X3|0|CS|CS_KG3.628|4/17/2019 12:00:00 AM|0180049686|3.628736||||N|3005905090|3.2658624||229500|15300|15|15|19C186662|4/1/2024 12:00:00 AM|
ITEM_ADDL||300590000|
ITEM_DIMEN|14.5|11.75|12|36.83|29.845|30.48|0.3683|0.29845|0.3048
ITEM|80006|CR|9789-|SCD EXPRESS SLEEVE K L LARGE|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049687|1.6107052||||N|9019102090|1.44963468||334400|8360|40|40|1901300118|12/31/2023 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|15.5|6.75|5.75|39.37|17.145|14.605|0.3937|0.17145|0.14605
ITEM|80006|MX|31142212|1105 SINGLE FOAM STRIPS|0|CS|CS_NO8_KG3.81|4/17/2019 12:00:00 AM|0180049714|5.6699||||N|3926909990|3.83194522||92160|9216|10|10|1824024464|8/31/2021 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|6.5|12.13|18.75|16.51|30.8102|47.625|0.1651|0.308102|0.47625
ITEM|80007|MX|6155MF|CURITY MONO-FLO 16 FR W O PVPI|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|4.989512||||N|9018908000|4.989512||615680|4810|128|128|1905600664|10/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80007|US|1238-|1238 TELFA PREPACK 1S 8X3|0|CS|CS_KG3.74|4/17/2019 12:00:00 AM|0180049686|3.742134||||N|3005905090|2.721552||240000|12000|20|20|19C134262|3/1/2024 12:00:00 AM|
ITEM_ADDL||300590000|
ITEM_DIMEN|21.75|10|10|55.245|25.4|25.4|0.55245|0.254|0.254
ITEM|80007|CR|9789-|SCD EXPRESS SLEEVE K L LARGE|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049687|1.6107052||||N|9019102090|1.44963468||8360|8360|1|1|1908400185|3/1/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|15.5|6.75|5.75|39.37|17.145|14.605|0.3937|0.17145|0.14605
ITEM|80007|MX|31142303|1330 DOUBLE FOAM STRIPS|0|CS|CS_NO96_KG3.9|4/17/2019 12:00:00 AM|0180049714|6.690482||||N|3926909990|4.00612454||144960|14496|10|10|1905742264|2/28/2022 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|6.6|12.4|18.8|16.764|31.496|47.752|0.16764|0.31496|0.47752
ITEM|80008|MX|6155MF|CURITY MONO-FLO 16 FR W O PVPI|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|4.989512||||N|9018908000|4.989512||317460|4810|66|66|1905600764|10/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80008|US|8881560141|60ML SYRINGE CATHETER TIP RP|0|CS|CS_NO100|4/17/2019 12:00:00 AM|0180049686|8.051258||||N|9018310080|7.3028312||45500|9100|5|5|907041X|4/30/2024 12:00:00 AM|
ITEM_ADDL||901831000|
ITEM_DIMEN|17.25|14.75|8|43.815|37.465|20.32|0.43815|0.37465|0.2032
ITEM|80008|CR|9789-|SCD EXPRESS SLEEVE K L LARGE|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049687|1.6107052||||N|9019102090|1.44963468||8360|8360|1|1|1908400186|3/2/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|15.5|6.75|5.75|39.37|17.145|14.605|0.3937|0.17145|0.14605
ITEM|80008|MX|31142378|1930 POPN COUNT|0|CS|CS_NO96_KG7.030682|4/17/2019 12:00:00 AM|0180049714|7.030676||||N|3926909990|6.44463514||138240|11520|12|12|1905716464|2/28/2022 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|19.375|12.125|12.25|49.2125|30.7975|31.115|0.492125|0.307975|0.31115
ITEM|80009|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|2.5401152||||N|9019102090|2.664853||26420|13210|2|2|90540Y01D|1/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80009|US|8044--|8044 SPG 4X4 4-PLY STR 2S|0|CS|CS_KG4.53|4/17/2019 12:00:00 AM|0180049687|4.53592||||N|3005905090|4.082328||18000|3600|5|5|18K048762|10/1/2023 12:00:00 AM|
ITEM_ADDL||300590000|
ITEM_DIMEN|18|14.25|17|45.72|36.195|43.18|0.4572|0.36195|0.4318
ITEM|80009|MX|31142451|1630 BLADEGUARD II DOUBLE|0|CS|CS_NO8_KG4.08|4/17/2019 12:00:00 AM|0180049714|4.082328||||N|3926909990|4.18030387||115584|8256|14|14|1818502864|7/31/2021 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|19|12.372|6.625|48.26|31.42488|16.8275|0.4826|0.3142488|0.168275
ITEM|80010|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|2.5401152||||N|9019102090|2.664853||713340|13210|54|54|90660Y01D|2/29/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80010|MX|8888505164|YANKAUER BULB TIP W  ON OFF CN|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|0.907184||||N|9018390040|0.907184||83000|3320|25|25|1905805464|2/29/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|13.5|5|6|34.29|12.7|15.24|0.3429|0.127|0.1524
ITEM|80011|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|2.5401152||||N|9019102090|2.664853||369880|13210|28|28|90780Y01D|2/29/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80011|MX|8888509703|POOLE TUBE ONLY|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|0.907184||||N|9018390040|0.907184||115000|1150|100|100|1903626664|2/29/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|13.5|5.25|6|34.29|13.335|15.24|0.3429|0.13335|0.1524
ITEM|80012|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/10/2019 12:00:00 AM|0180049691|2.5401152||||N|9019102090|2.664853||211360|13210|16|16|90790Y01D|2/29/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80012|MX|6155MF|CURITY MONO-FLO 16 FR W O PVPI|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|4.989512||||N|9018908000|4.989512||404040|4810|84|84|1905600664|10/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80013|MX|6155MF|CURITY MONO-FLO 16 FR W O PVPI|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|4.989512||||N|9018908000|4.989512||317460|4810|66|66|1905600764|10/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80014|MX|6308|6308 2000ML DRAIN BG W  SPOUT|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|4.989512||||N|9018908000|4.989512||37240|5320|7|7|1819139264|7/31/2023 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|15.63|13.25|8.25|39.7002|33.655|20.955|0.397002|0.33655|0.20955
ITEM|80015|MX|6308|6308 2000ML DRAIN BG W  SPOUT|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|4.989512||||N|9018908000|4.989512||47880|5320|9|9|1831706664|11/30/2023 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|15.63|13.25|8.25|39.7002|33.655|20.955|0.397002|0.33655|0.20955
ITEM|80016|MX|6308|6308 2000ML DRAIN BG W  SPOUT|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|4.989512||||N|9018908000|4.989512||47880|5320|9|9|1833025364|11/30/2023 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|15.63|13.25|8.25|39.7002|33.655|20.955|0.397002|0.33655|0.20955
ITEM|80017|CR|7203-|7203 TED STKG NYLON LARGE|0|CT|CT_DPR1_KG0.64|4/17/2019 12:00:00 AM|0180049714|0.6441006||||N|6115100500|0.0054431||172224|3588|48|48|1904400258|2/20/2024 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.25|5.85|6.25|18.415|14.859|15.875|0.18415|0.14859|0.15875
ITEM|80018|CR|7203-|7203 TED STKG NYLON LARGE|0|CT|CT_DPR1_KG0.64|4/17/2019 12:00:00 AM|0180049714|0.6441006||||N|6115100500|0.0054431||3588|3588|1|1|1904500492|2/19/2024 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.25|5.85|6.25|18.415|14.859|15.875|0.18415|0.14859|0.15875
ITEM|80019|DO|74011|SCD COMFORT THIGH LENGTH SM|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|2.4493968||||N|9019102090|2.4493968||132605|12055|11|11|90630Y05D|2/29/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.3|13.3|7|33.782|33.782|17.78|0.33782|0.33782|0.1778
ITEM|80020|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|2.5401152||||N|9019102090|2.664853||26420|13210|2|2|90540Y01D|1/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80021|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|2.5401152||||N|9019102090|2.664853||686920|13210|52|52|90630Y01D|2/29/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80022|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|2.5401152||||N|9019102090|2.664853||26420|13210|2|2|90640Y01D|2/29/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80023|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|2.5401152||||N|9019102090|2.664853||581240|13210|44|44|90720Y01D|2/29/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80024|DO|74042|SCD COMFORT TEAR-AWAY T L MED|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|2.26796||||N|9019102090|2.74876752||272000|13600|20|20|90560Y06D|1/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|7|13.3|13.3|17.78|33.782|33.782|0.1778|0.33782|0.33782
ITEM|80025|CR|7594|7594 TED STKG NYLON LL|0|CT|CT_DPR0.5_KG0.635|4/17/2019 12:00:00 AM|0180049714|0.625957||||N|6115100500|0.5443104||11160|3720|3|3|1829700213|9/29/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.25|5.75|6.25|18.415|14.605|15.875|0.18415|0.14605|0.15875
ITEM|80026|CR|7594|7594 TED STKG NYLON LL|0|CT|CT_DPR0.5_KG0.635|4/17/2019 12:00:00 AM|0180049714|0.625957||||N|6115100500|0.5443104||22320|3720|6|6|1829700267|9/30/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.25|5.75|6.25|18.415|14.605|15.875|0.18415|0.14605|0.15875
ITEM|80027|CR|7594|7594 TED STKG NYLON LL|0|CT|CT_DPR0.5_KG0.635|4/17/2019 12:00:00 AM|0180049714|0.625957||||N|6115100500|0.5443104||3720|3720|1|1|1829700269|10/5/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.25|5.75|6.25|18.415|14.605|15.875|0.18415|0.14605|0.15875
ITEM|80028|MX|777702|CONFIRM NOW CO2 DETECTOR|0|CT|CT_X|4/17/2019 12:00:00 AM|0180049714|0.4989512||||N|9027106000|0.44905608||56280|4690|12|12|190280008|8/23/2020 12:00:00 AM|
ITEM_ADDL||902710000|
ITEM_DIMEN|15|6.25|7.5|38.1|15.875|19.05|0.381|0.15875|0.1905
ITEM|80029|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|1.0886208||||N|9018320000|1.0886208||266400|1850|144|144|190320124|1/31/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80030|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|1.0886208||||N|9018320000|1.0886208||1850|1850|1|1|190460300|1/31/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80031|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|1.0886208||||N|9018320000|1.0886208||264550|1850|143|143|190460321|1/31/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80032|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|1.0886208||||N|9018320000|1.0886208||74000|1850|40|40|190460323|1/31/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80033|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/17/2019 12:00:00 AM|0180049714|1.0886208||||N|9018320000|1.0886208||133200|1850|72|72|190740365|2/28/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
TRACK_LOG|ACT_TIME_OF_ARRIVAL|
TRACK_LOG|ACT_TIME_OF_DEPARTURE|
TRACK_LOG|BOOKING_REQ_TO_CARRIER|
TRACK_LOG|CONTR_DROP_OFF|
TRACK_LOG|CONTR_PICK_UP|
TRACK_LOG|Canada Customs Hold|
TRACK_LOG|Carrier Released|
TRACK_LOG|Container Available Notice|
TRACK_LOG|Container Loading|
TRACK_LOG|Container Unloading|
TRACK_LOG|Customs Hold at Port of Discharge|
TRACK_LOG|Customs Hold at Port of Load|
TRACK_LOG|Customs Released|
TRACK_LOG|Cut-Off time at Origin|
TRACK_LOG|DEST_CONTR_RETURNED|
TRACK_LOG|DEST_CONTR_UNLOAD|
TRACK_LOG|DEST_CUSTOMS_CLEARANCE|
TRACK_LOG|DEST_CUSTOMS_INVOICE|
TRACK_LOG|DEST_DELIVERY_ORDER_ISSUE|
TRACK_LOG|DEST_INLAND_FRT_INVOICE|
TRACK_LOG|DOCS_FROM_CARRIER|
TRACK_LOG|DOCS_TO_BANK|
TRACK_LOG|DOCS_TO_CARRIER|
TRACK_LOG|DOCS_TO_CUSTOMER|
TRACK_LOG|DOM_TRANSPORT_INVOICE|
TRACK_LOG|EST_TIME_OF_ARRIVAL|6/4/2019 12:00:00 AM
TRACK_LOG|EST_TIME_OF_DEPARTURE|5/20/2019 12:00:00 AM
TRACK_LOG|Empty Container Delivery|
TRACK_LOG|Empty Container Returned|
TRACK_LOG|Empty OutGate from Inland or Interim Point|
TRACK_LOG|Empty OutGate from Ocean Terminal (CY or Port)|
TRACK_LOG|Estimated Arrival at Inland or Interim Point|
TRACK_LOG|Estimated Departure from Inland or Interim Point|
TRACK_LOG|FINAL_DEST_ARRIVAL|
TRACK_LOG|FORWARDER_FEE_INVOICE|
TRACK_LOG|Full Container Delivery|
TRACK_LOG|Full Container Discharged at Port of Discharge|
TRACK_LOG|Full Container Discharged for Transshipment|
TRACK_LOG|Full Container Loaded for Transshipment|
TRACK_LOG|Full Container Received at Place of Receipt|
TRACK_LOG|Full InGate at Inland or Interim Point|
TRACK_LOG|Full InGate at Ocean Terminal (CY or Port)|
TRACK_LOG|Full OutGate from Ocean Terminal (CY or Port)|
TRACK_LOG|Full Outgate from Inland or Interim Point|
TRACK_LOG|Held on Ground|
TRACK_LOG|Hold Released|
TRACK_LOG|INTL_TRANSPORT_INVOICE|
TRACK_LOG|Off Rail|
TRACK_LOG|On Rail|
TRACK_LOG|On-Board Vessel at Port of Loading|
TRACK_LOG|Pl of Rcpt Cut-Off Date|
TRACK_LOG|Rail Departed|
TRACK_LOG|SHPT_TO_CARRIER|
TRACK_LOG|SHPT_TO_FORWARDER|
TRACK_LOG|Shipment Delayed|
TRACK_LOG|UPDATED_TIME_OF_ARRIVAL|
TRACK_LOG|Updated Vessel Estimated Time of Arrival|
TRACK_LOG|Vessel Arrived at Port of Discharge|
TRACK_LOG|Vessel Arrived at Transship Point|
TRACK_LOG|Vessel Departed from Port of Loading|
TRACK_LOG|Vessel Departed from Transship Point|
TRACK_LOG|Vessel Estimated Time of Arrival|6/4/2019 12:00:00 AM
TRACK_LOG|Vessel Estimated Time of Departure|5/20/2019 12:00:00 AM
TRACK_LOG|WAREHOUSE_RECEIPT_DATE|
TRANS|FUKUROI-CITYJP|SEA - CONTAINERIZED|11|SHIMIZU, JAPAN|58878|LOS ANGELES, CA - CA|2704|LOS ANGELES, CA - CA|2704|Atlanta GA US||HAMBURG BRIDGE|059W|KHNN
DATA|JDE_ASN|310||||||
ORD_HEADER|R|20190523042357|AT130239|EXPTX_SHIPMENT|MPM_ECC|INVOICE|PENDING|5/22/2019 12:00:00 AM|US|JPY|Y|4/30/2019 12:00:00 AM|6300011264|6321-0057-904.027|6321-0057-904.027|Net 60 days from invoice date|||50.10425484|6468.0346008|2824|21979418|SHIMIZU|Delivered at Terminal||RICVK9591700
PTNR|0000098110|PTNR_PAYER|Nippon Covidien Ltd.|1217-1 TOMONAGA|FUKUROI-CITY|JP|22|SHIZUOKA|437-0004||||||||
PTNR|0000098110|PTNR_SOLD_TO|Nippon Covidien Ltd.|1217-1 TOMONAGA|FUKUROI-CITY|JP|22|SHIZUOKA|437-0004||||||||
PTNR|310|PTNR_EXPORTER|CARDINAL HEALTH 200 LLC|110 KENDALL PARK LANE|ATLANTA|US|GA||30336|Miller Holly|9157829704||||364095186||
PTNR|D1JP|PTNR_BILL_TO|NIPPON COVIDIEN LTD.|131 TOKUMITSU|FUKUROI-CITY|JP|22|SHIZUOKA|437-0054||||||||
PTNR|D1JP|PTNR_SHIP_TO|NIPPON COVIDIEN LTD.|131 TOKUMITSU|FUKUROI-CITY|JP|22|SHIZUOKA|437-0054|||||Y|||
PTNR|R0AL|PTNR_SHIP_FROM|Cardinal Health 200 LLC|110 Kendall Park Lane|Atlanta|US|GA|GEORGIA|30336||||||||
PTNR|R0AL|PTNR_VENDOR|Cardinal Health 200 LLC|110 Kendall Park Lane|Atlanta|US|GA||30336|Holly Miller|||||||
ITEM|80001|MX|8888301515|N-C CONN TUBE 5MM X1.8M|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.0369688||||N|9018390040|4.0369688||80000|4000|20|20|1908705764|3/31/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|15.5|11.75|6.25|39.37|29.845|15.875|0.3937|0.29845|0.15875
ITEM|80002|MX|8888301523|N-C CONN TUBE 5MM X3.1M|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|6.23689||||N|9018390040|6.23689||182700|6300|29|29|1908002664|3/31/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|8.25|13|19.75|20.955|33.02|50.165|0.20955|0.3302|0.50165
ITEM|80003|MX|8888301523|N-C CONN TUBE 5MM X3.1M|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|6.23689||||N|9018390040|6.23689||132300|6300|21|21|1908002764|3/31/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|8.25|13|19.75|20.955|33.02|50.165|0.20955|0.3302|0.50165
ITEM|80004|MX|8888301531|N-C CONN TUBE 5MM X3.7M|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|2.9029888||||N|9018390040|2.9029888||178920|2840|63|63|1906503964|3/31/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|16.25|8|7|41.275|20.32|17.78|0.41275|0.2032|0.1778
ITEM|80005|MX|8888301531|N-C CONN TUBE 5MM X3.7M|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|2.9029888||||N|9018390040|2.9029888||34080|2840|12|12|1909402864|4/30/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|16.25|8|7|41.275|20.32|17.78|0.41275|0.2032|0.1778
ITEM|80006|MX|8888301606|N-C CONN TUBE 6MM X1.8M|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.762716||||N|9018390040|5.0575508||130200|6200|21|21|1908007164|3/31/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|19.5|12.75|8|49.53|32.385|20.32|0.4953|0.32385|0.2032
ITEM|80007|MX|8888301606|N-C CONN TUBE 6MM X1.8M|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.762716||||N|9018390040|5.0575508||241800|6200|39|39|1908526564|3/31/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|19.5|12.75|8|49.53|32.385|20.32|0.4953|0.32385|0.2032
ITEM|80008|CR|3071LF-|STOCKINGS T.E.D. THIGH SML SHORT|0|CT|CT_DPR.25_KG0.52|4/30/2019 12:00:00 AM|0180051963|0.0861825||||N|6115100500|0.0907184||33792|4224|8|48|1827500104|8/26/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.25|6|6.25|18.415|15.24|15.875|0.18415|0.1524|0.15875
ITEM|80009|CR|3071LF-|STOCKINGS T.E.D. THIGH SML SHORT|0|EA||4/30/2019 12:00:00 AM|0180051963|0.0861825||||N|6115100500|0.0907184||1408|704|2|2|1829600124|9/21/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7|5|1|17.78|12.7|2.54|0.1778|0.127|0.0254
ITEM|80010|MX|31142170|1314 1 2 FOAM STRIPS|0|CS|CS_NO96_KG4.21|4/30/2019 12:00:00 AM|0180051963|4.2184056||||N|3926909990|4.4851177||14592|14592|1|1|1900242064|1/31/2022 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|19.5|13|7.5|49.53|33.02|19.05|0.4953|0.3302|0.1905
ITEM|80011|MX|31142196|1200 DOUBLE MAGNET|0|CS|CS_NO8_KG6.93|4/30/2019 12:00:00 AM|0180051963|6.9399576||||N|3926909990|6.9345145||10752|10752|1|1|1901544264|1/31/2022 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|18.75|12.25|6.5|47.625|31.115|16.51|0.47625|0.31115|0.1651
ITEM|80012|MX|31142352|1960 POPN COUNT|0|CS|CS_NO8_KG7.03|4/30/2019 12:00:00 AM|0180051963|7.030676||||N|3926909990|7.63486054||181440|12096|15|15|1834411664|12/31/2021 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|19|12.5|12.5|48.26|31.75|31.75|0.4826|0.3175|0.3175
ITEM|80013|MX|31142451|1630 BLADEGUARD II DOUBLE|0|CS|CS_NO8_KG4.08|4/30/2019 12:00:00 AM|0180051963|4.082328||||N|3926909990|4.18030387||8256|8256|1|1|1818502864|7/31/2021 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|19|12.372|6.625|48.26|31.42488|16.8275|0.4826|0.3142488|0.168275
ITEM|80014|MX|31142451|1630 BLADEGUARD II DOUBLE|0|CS|CS_NO8_KG4.08|4/30/2019 12:00:00 AM|0180051963|4.082328||||N|3926909990|4.18030387||8256|8256|1|1|1821929464|8/31/2021 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|19|12.372|6.625|48.26|31.42488|16.8275|0.4826|0.3142488|0.168275
ITEM|80015|MX|31142451|1630 BLADEGUARD II DOUBLE|0|CS|CS_NO8_KG4.08|4/30/2019 12:00:00 AM|0180051963|4.082328||||N|3926909990|4.18030387||16512|8256|2|2|1832408864|11/30/2021 12:00:00 AM|
ITEM_ADDL||392690029|
ITEM_DIMEN|19|12.372|6.625|48.26|31.42488|16.8275|0.4826|0.3142488|0.168275
ITEM|80016|MX|8881450004|450 SAL EJECTOR 3283|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.762716||||N|9018390040|4.989512||45000|5000|9|9|1909413264|5/8/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|13|10.25|5.75|33.02|26.035|14.605|0.3302|0.26035|0.14605
ITEM|80017|MX|8888509703|POOLE TUBE ONLY|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|0.907184||||N|9018390040|0.907184||69000|1150|60|60|1827520064|10/31/2023 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|13.5|5.25|6|34.29|13.335|15.24|0.3429|0.13335|0.1524
ITEM|80018|MX|8888509703|POOLE TUBE ONLY|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|0.907184||||N|9018390040|0.907184||46000|1150|40|40|1907114464|3/31/2024 12:00:00 AM|
ITEM_ADDL||901839021|
ITEM_DIMEN|13.5|5.25|6|34.29|13.335|15.24|0.3429|0.13335|0.1524
ITEM|80019|MX|6155MF|CURITY MONO-FLO 16 FR W O PVPI|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.989512||||N|9018908000|4.989512||158730|4810|33|33|1826819164|6/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80020|MX|6155MF|CURITY MONO-FLO 16 FR W O PVPI|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.989512||||N|9018908000|4.989512||509860|4810|106|106|1905600664|10/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80021|MX|6155MF|CURITY MONO-FLO 16 FR W O PVPI|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.989512||||N|9018908000|4.989512||293410|4810|61|61|1905600764|1/10/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80022|MX|6158MF|CURITY MONO-FLO 20FR WO PVPI|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.1050076||||N|9018908000|4.1050076||10040|5020|2|2|1823315964|1/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80023|MX|6158MF|CURITY MONO-FLO 20FR WO PVPI|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.1050076||||N|9018908000|4.1050076||110440|5020|22|22|1909312364|8/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80024|MX|6175MF|CURITY MON-FL ADDAFOLY WO PVPI|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.53592||||N|9018908000|4.53592||4640|4640|1|1|1905756764|10/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80025|MX|6308|6308 2000ML DRAIN BG W  SPOUT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.989512||||N|9018908000|4.989512||239400|5320|45|45|1818449064|7/31/2023 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|15.63|13.25|8.25|39.7002|33.655|20.955|0.397002|0.33655|0.20955
ITEM|80026|MX|6308|6308 2000ML DRAIN BG W  SPOUT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.989512||||N|9018908000|4.989512||239400|5320|45|45|1819129164|7/31/2023 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|15.63|13.25|8.25|39.7002|33.655|20.955|0.397002|0.33655|0.20955
ITEM|80027|MX|6308|6308 2000ML DRAIN BG W  SPOUT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.989512||||N|9018908000|4.989512||53200|5320|10|10|1819129264|7/31/2023 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|15.63|13.25|8.25|39.7002|33.655|20.955|0.397002|0.33655|0.20955
ITEM|80028|CR|7071|7071 TED STKG NYLON SMALL|0|CT|CT_DPR0.5_KG0.609|4/30/2019 12:00:00 AM|0180051963|0.4898794||||N|6115100500|0.5443104||82080|3420|24|24|1904400282|2/3/2024 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.5|6|6.6|19.05|15.24|16.764|0.1905|0.1524|0.16764
ITEM|80029|CR|7071|7071 TED STKG NYLON SMALL|0|CT|CT_DPR0.5_KG0.609|4/30/2019 12:00:00 AM|0180051963|0.4898794||||N|6115100500|0.5443104||253080|3420|74|74|1907800228|3/1/2024 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.5|6|6.6|19.05|15.24|16.764|0.1905|0.1524|0.16764
ITEM|80030|CR|7071|7071 TED STKG NYLON SMALL|0|CT|CT_DPR0.5_KG0.609|4/30/2019 12:00:00 AM|0180051963|0.4898794||||N|6115100500|0.5443104||17100|3420|5|5|1907800234|3/8/2024 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.5|6|6.6|19.05|15.24|16.764|0.1905|0.1524|0.16764
ITEM|80031|CR|7071|7071 TED STKG NYLON SMALL|0|CT|CT_DPR0.5_KG0.609|4/30/2019 12:00:00 AM|0180051963|0.4898794||||N|6115100500|0.5443104||800280|3420|234|234|1909400103|3/4/2024 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.5|6|6.6|19.05|15.24|16.764|0.1905|0.1524|0.16764
ITEM|80032|CR|7115-|7115 TED STKG NYLON MEDIUM|0|CT|CT_DPR0.5_KG0.49|4/30/2019 12:00:00 AM|0180051963|0.6350288||||N|6115100500|0.60418454||3456|3456|1|1|1829700210|10/2/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.35|6|6.4|18.669|15.24|16.256|0.18669|0.1524|0.16256
ITEM|80033|CR|7115-|7115 TED STKG NYLON MEDIUM|0|CT|CT_DPR0.5_KG0.49|4/30/2019 12:00:00 AM|0180051963|0.6350288||||N|6115100500|0.60418454||124416|3456|36|36|1831800141|10/26/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.35|6|6.4|18.669|15.24|16.256|0.18669|0.1524|0.16256
ITEM|80034|CR|7115-|7115 TED STKG NYLON MEDIUM|0|CT|CT_DPR0.5_KG0.49|4/30/2019 12:00:00 AM|0180051963|0.6350288||||N|6115100500|0.60418454||1617408|3456|468|468|1834000242|11/9/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.35|6|6.4|18.669|15.24|16.256|0.18669|0.1524|0.16256
ITEM|80035|CR|7115-|7115 TED STKG NYLON MEDIUM|0|CT|CT_DPR0.5_KG0.49|4/30/2019 12:00:00 AM|0180051963|0.6350288||||N|6115100500|0.60418454||373248|3456|108|108|1834000243|11/9/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.35|6|6.4|18.669|15.24|16.256|0.18669|0.1524|0.16256
ITEM|80036|CR|7115-|7115 TED STKG NYLON MEDIUM|0|CT|CT_DPR0.5_KG0.49|4/30/2019 12:00:00 AM|0180051963|0.6350288||||N|6115100500|0.60418454||300672|3456|87|87|1834000304|11/9/2023 12:00:00 AM|
ITEM_ADDL||611510929|
ITEM_DIMEN|7.35|6|6.4|18.669|15.24|16.256|0.18669|0.1524|0.16256
ITEM|80037|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|2.5401152||||N|9019102090|2.664853||488770|13210|37|37|90980Y01D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80038|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|2.5401152||||N|9019102090|2.664853||713340|13210|54|54|91000Y01D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80039|DO|74012-|SCD COMFORT THIGH LENGTH MED|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|2.5401152||||N|9019102090|2.664853||118890|13210|9|9|91010Y01D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|13.4|13.1|7.2|34.036|33.274|18.288|0.34036|0.33274|0.18288
ITEM|80040|DO|74021|SCD COMFORT KNEE LENGTH SM|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.13398||||N|9019102090|1.16346348||1208700|7900|153|153|90730Y05D|2/29/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|5.6|7|14.8|14.224|17.78|37.592|0.14224|0.1778|0.37592
ITEM|80041|DO|74021|SCD COMFORT KNEE LENGTH SM|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.13398||||N|9019102090|1.16346348||2417400|7900|306|306|90740Y05D|2/29/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|5.6|7|14.8|14.224|17.78|37.592|0.14224|0.1778|0.37592
ITEM|80042|DO|74021|SCD COMFORT KNEE LENGTH SM|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.13398||||N|9019102090|1.16346348||442400|7900|56|56|90930Y05D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|5.6|7|14.8|14.224|17.78|37.592|0.14224|0.1778|0.37592
ITEM|80043|DO|74021|SCD COMFORT KNEE LENGTH SM|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.13398||||N|9019102090|1.16346348||1208700|7900|153|153|90940Y05D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|5.6|7|14.8|14.224|17.78|37.592|0.14224|0.1778|0.37592
ITEM|80044|DO|74021|SCD COMFORT KNEE LENGTH SM|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.13398||||N|9019102090|1.16346348||1880200|7900|238|238|90950Y05D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|5.6|7|14.8|14.224|17.78|37.592|0.14224|0.1778|0.37592
ITEM|80045|DO|74021|SCD COMFORT KNEE LENGTH SM|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.13398||||N|9019102090|1.16346348||134300|7900|17|17|90960Y05D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|5.6|7|14.8|14.224|17.78|37.592|0.14224|0.1778|0.37592
ITEM|80046|DO|74021|SCD COMFORT KNEE LENGTH SM|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.13398||||N|9019102090|1.16346348||402900|7900|51|51|90970Y05D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|5.6|7|14.8|14.224|17.78|37.592|0.14224|0.1778|0.37592
ITEM|80047|DO|74021|SCD COMFORT KNEE LENGTH SM|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.13398||||N|9019102090|1.16346348||2417400|7900|306|306|90980Y05D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|5.6|7|14.8|14.224|17.78|37.592|0.14224|0.1778|0.37592
ITEM|80048|DO|74023|SCD COMFORT KNEE LENGTH LG|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.7690088||||N|9019102090|1.82117188||473290|10070|47|47|90940Y06D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|15|7|5.7|38.1|17.78|14.478|0.381|0.1778|0.14478
ITEM|80049|DO|74023|SCD COMFORT KNEE LENGTH LG|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.7690088||||N|9019102090|1.82117188||1540710|10070|153|153|90980Y06D|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|15|7|5.7|38.1|17.78|14.478|0.381|0.1778|0.14478
ITEM|80050|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.0886208||||N|9018320000|1.0886208||133200|1850|72|72|190250346|12/31/2021 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80051|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.0886208||||N|9018320000|1.0886208||133200|1850|72|72|190280031|12/31/2021 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80052|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.0886208||||N|9018320000|1.0886208||14800|1850|8|8|190390309|1/31/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80053|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.0886208||||N|9018320000|1.0886208||18500|1850|10|10|190530370|1/31/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80054|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.0886208||||N|9018320000|1.0886208||22200|1850|12|12|190670379|2/28/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80055|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.0886208||||N|9018320000|1.0886208||22200|1850|12|12|190670381|2/28/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80056|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.0886208||||N|9018320000|1.0886208||22200|1850|12|12|190740364|2/28/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80057|MX|8881225241|AW TRANSFER SET FOR BACT ALERT|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.0886208||||N|9018320000|1.0886208||3700|1850|2|2|191020300|3/31/2022 12:00:00 AM|
ITEM_ADDL||901832000|
ITEM_DIMEN|13|12|7.25|33.02|30.48|18.415|0.3302|0.3048|0.18415
ITEM|80058|MX|8944MF|CURITY ANT-REF 14FR WO PVPI|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|4.53592||||N|9018908000|4.53592||148830|4510|33|33|1907148564|8/1/2021 12:00:00 AM|
ITEM_ADDL||901890029|
ITEM_DIMEN|14.25|10.75|14|36.195|27.305|35.56|0.36195|0.27305|0.3556
ITEM|80059|MX|9528|SCD EXPRESS TUBING SET|0|PR|PR_X|4/30/2019 12:00:00 AM|0180051963|0.5443104||||N|9019102090|0.47173568||382000|764|500|500|1908514664|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|8.25|7.25|2.5|20.955|18.415|6.35|0.20955|0.18415|0.0635
ITEM|80060|MX|9528|SCD EXPRESS TUBING SET|0|PR|PR_X|4/30/2019 12:00:00 AM|0180051963|0.5443104||||N|9019102090|0.47173568||305600|764|400|400|1908514764|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|8.25|7.25|2.5|20.955|18.415|6.35|0.20955|0.18415|0.0635
ITEM|80061|MX|9528|SCD EXPRESS TUBING SET|0|PR|PR_X|4/30/2019 12:00:00 AM|0180051963|0.5443104||||N|9019102090|0.47173568||22920|764|30|30|1908514964|3/31/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|8.25|7.25|2.5|20.955|18.415|6.35|0.20955|0.18415|0.0635
ITEM|80062|MX|9528|SCD EXPRESS TUBING SET|0|PR|PR_X|4/30/2019 12:00:00 AM|0180051963|0.5443104||||N|9019102090|0.47173568||7640|764|10|10|1909416264|4/30/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|8.25|7.25|2.5|20.955|18.415|6.35|0.20955|0.18415|0.0635
ITEM|80063|MX|9528|SCD EXPRESS TUBING SET|0|PR|PR_X|4/30/2019 12:00:00 AM|0180051963|0.5443104||||N|9019102090|0.47173568||45840|764|60|60|1909416564|4/30/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|8.25|7.25|2.5|20.955|18.415|6.35|0.20955|0.18415|0.0635
ITEM|80064|CR|9789-|SCD EXPRESS SLEEVE K L LARGE|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.6107052||||N|9019102090|1.44963468||593560|8360|71|71|1908400187|3/3/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|15.5|6.75|5.75|39.37|17.145|14.605|0.3937|0.17145|0.14605
ITEM|80065|CR|9789-|SCD EXPRESS SLEEVE K L LARGE|0|CS|CS_X|4/30/2019 12:00:00 AM|0180051963|1.6107052||||N|9019102090|1.44963468||50160|8360|6|6|1908400199|3/5/2024 12:00:00 AM|
ITEM_ADDL||901910000|
ITEM_DIMEN|15.5|6.75|5.75|39.37|17.145|14.605|0.3937|0.17145|0.14605
TRACK_LOG|ACT_TIME_OF_ARRIVAL|
TRACK_LOG|ACT_TIME_OF_DEPARTURE|
TRACK_LOG|BOOKING_REQ_TO_CARRIER|
TRACK_LOG|CONTR_DROP_OFF|
TRACK_LOG|CONTR_PICK_UP|
TRACK_LOG|Canada Customs Hold|
TRACK_LOG|Carrier Released|
TRACK_LOG|Container Available Notice|
TRACK_LOG|Container Loading|
TRACK_LOG|Container Unloading|
TRACK_LOG|Customs Hold at Port of Discharge|
TRACK_LOG|Customs Hold at Port of Load|
TRACK_LOG|Customs Released|
TRACK_LOG|Cut-Off time at Origin|
TRACK_LOG|DEST_CONTR_RETURNED|
TRACK_LOG|DEST_CONTR_UNLOAD|
TRACK_LOG|DEST_CUSTOMS_CLEARANCE|
TRACK_LOG|DEST_CUSTOMS_INVOICE|
TRACK_LOG|DEST_DELIVERY_ORDER_ISSUE|
TRACK_LOG|DEST_INLAND_FRT_INVOICE|
TRACK_LOG|DOCS_FROM_CARRIER|
TRACK_LOG|DOCS_TO_BANK|
TRACK_LOG|DOCS_TO_CARRIER|
TRACK_LOG|DOCS_TO_CUSTOMER|
TRACK_LOG|DOM_TRANSPORT_INVOICE|
TRACK_LOG|EST_TIME_OF_ARRIVAL|6/4/2019 12:00:00 AM
TRACK_LOG|EST_TIME_OF_DEPARTURE|5/22/2019 12:00:00 AM
TRACK_LOG|Empty Container Delivery|
TRACK_LOG|Empty Container Returned|
TRACK_LOG|Empty OutGate from Inland or Interim Point|
TRACK_LOG|Empty OutGate from Ocean Terminal (CY or Port)|
TRACK_LOG|Estimated Arrival at Inland or Interim Point|
TRACK_LOG|Estimated Departure from Inland or Interim Point|
TRACK_LOG|FINAL_DEST_ARRIVAL|
TRACK_LOG|FORWARDER_FEE_INVOICE|
TRACK_LOG|Full Container Delivery|
TRACK_LOG|Full Container Discharged at Port of Discharge|
TRACK_LOG|Full Container Discharged for Transshipment|
TRACK_LOG|Full Container Loaded for Transshipment|
TRACK_LOG|Full Container Received at Place of Receipt|
TRACK_LOG|Full InGate at Inland or Interim Point|
TRACK_LOG|Full InGate at Ocean Terminal (CY or Port)|
TRACK_LOG|Full OutGate from Ocean Terminal (CY or Port)|
TRACK_LOG|Full Outgate from Inland or Interim Point|
TRACK_LOG|Held on Ground|
TRACK_LOG|Hold Released|
TRACK_LOG|INTL_TRANSPORT_INVOICE|
TRACK_LOG|Off Rail|
TRACK_LOG|On Rail|
TRACK_LOG|On-Board Vessel at Port of Loading|
TRACK_LOG|Pl of Rcpt Cut-Off Date|
TRACK_LOG|Rail Departed|
TRACK_LOG|SHPT_TO_CARRIER|
TRACK_LOG|SHPT_TO_FORWARDER|
TRACK_LOG|Shipment Delayed|
TRACK_LOG|UPDATED_TIME_OF_ARRIVAL|
TRACK_LOG|Updated Vessel Estimated Time of Arrival|
TRACK_LOG|Vessel Arrived at Port of Discharge|
TRACK_LOG|Vessel Arrived at Transship Point|
TRACK_LOG|Vessel Departed from Port of Loading|
TRACK_LOG|Vessel Departed from Transship Point|
TRACK_LOG|Vessel Estimated Time of Arrival|6/4/2019 12:00:00 AM
TRACK_LOG|Vessel Estimated Time of Departure|5/22/2019 12:00:00 AM
TRACK_LOG|WAREHOUSE_RECEIPT_DATE|
TRANS|FUKUROI-CITYJP|SEA - CONTAINERIZED|11|SHIMIZU, JAPAN|58878|OAKLAND, CA - CA|2811|OAKLAND, CA - CA|2811|Atlanta GA US||HAMBURG BRIDGE|060W|KHNN
DATA|JDE_ASN|310||||||

ASN Script

/* NOTE: THIS SCRIPT REQUIRES A CONNECTION TO utilities.js */

var WORKING_FOLDER = nlapiGetContext().getSetting('SCRIPT', 'custscript_tradeinformed_folder_id'); //71 is base id
var ARCHIVE_FOLDER = nlapiGetContext().getSetting('SCRIPT', 'custscript_tradeinformed_archive_id');
var ERROR_FOLDER = nlapiGetContext().getSetting('SCRIPT', 'custscript_tradeinformed_error_id');
var MAIL_FROM = nlapiGetContext().getSetting('SCRIPT', 'custscript_tradeinformed_mail_from');
var MAIL_TO = nlapiGetContext().getSetting('SCRIPT', 'custscript_tradeinformed_mail_to');

var FORMAT = "VAS";
var DEFAULT_ENTITY = 18974 //TEST VENDOR  /*  36332; // CARDINAL HEALTH CORDIS */

//var M0FKvendor = 24114 // (fukuroi factory)   50025393
var DEFAULT_EXPIRATIONDATE = '20991231';
var createdPOs = [];
//create search; alternatively nlapiLoadSearch() can be used to load a saved search
//var search = nlapiCreateSearch('item');
//var searchResults = search.runSearch();

var itemSearch = nlapiCreateSearch("item",
    [],
    [
        new nlobjSearchColumn("itemid").setSort(false),
        new nlobjSearchColumn("internalid")
    ]);

function cmnGetAllResultsOfSearch(search) {
    var resultSet = search.runSearch();
    var start = 0;
    var step = 1000;
    var resultArr = [];
    var results = resultSet.getResults(start, Number(start) + Number(step));
    while (results && results.length > 0) {
        resultArr = resultArr.concat(results);
        start = Number(start) + Number(step);
        results = resultSet.getResults(start, Number(start) + Number(step));
    }
    return resultArr;
}

function EDI_ERROR(message, line_value) {
    this.line_value = line_value || "";
    this.message = message;
    this.name = "EDI_ERROR";
}

function main() {
    var formatList = new Array();
    formatList.push(FORMAT);

    var mailToList = new Array();
    if (MAIL_TO != null && MAIL_TO != '') {
        mailToList = MAIL_TO.split(",");
    }
    fileFormatCheckSize(formatList, WORKING_FOLDER, ERROR_FOLDER, MAIL_FROM, mailToList);

    var file_dict = GetFiles(FORMAT, WORKING_FOLDER);
    nlapiLogExecution("DEBUG", "file_dict", JSON.stringify(file_dict));

    for (var key in file_dict) {
        if (file_dict.hasOwnProperty(key)) {

            var fileId = file_dict[key][0]["FILEID"];
            nlapiLogExecution("DEBUG", "fileId", fileId);
            var file = nlapiLoadFile(fileId);
            var FILENAME = file.getName(); //Used for error handling only.

            var DATA_ARRAY = SeperateData(fileId); //utilities.js - Splits the data into related chunks.

            arrlen = DATA_ARRAY.length;
            for (var l = 0; l < arrlen; l++) {
                //try
                //{
                ProcessLines(DATA_ARRAY[l], file);
                //}
                //catch (e)
                //{
                //  if(e.name == "EDI_ERROR")
                //  {
                //
                //      log_error(FILENAME, e.message, e.line_value);
                //  }
                //  else
                //  {
                //      log_error(FILENAME, e.message, "");
                //  }
                //  //Move this file to the error folder for later processing.
                //  file.setFolder(ERROR_FOLDER);
                //   nlapiSubmitFile(file);
                //  continue; //Go to the next file in the loop.
                //}
                var context = nlapiGetContext();
                var usageRemaining = context.getRemainingUsage();
                nlapiLogExecution("debug", "usageRemaining p", usageRemaining);
                //Move or delete processed file
                file.setFolder(ARCHIVE_FOLDER);
                var fileID = nlapiSubmitFile(file);

            }
        }
    }
}

function ProcessLines(DataLines, file) {
    //Data lines will come in as a block of data, rather than one line per row.
    //The first item will be the header line...
    //try
    //{
    //Split DataLine on delimiter |
    var addorupdate = RemBlank(DataLines.split('|')[1]); //For this type, action code is position 2
    switch (addorupdate) {
        case "R":
            AddNew(DataLines, file);
            break;
        case "A":
            AddNew(DataLines, file);
            break;
        default:
            log("SOMETHING ELSE");
            break;
    }
    //}
    //catch(e)
    //{
    //  throw new EDI_ERROR(e.message, "[ProcessLines]");
    //}
}

function AddNew(DataLines, file) {
    var ORD_HEADER_GROUP = [];
    var PTNR_GROUP = [];
    var ITEM_GROUP = [];
    var TRACK_LOG_GROUP = [];
    var CHARGE_GROUP = [];
    var TRANS_GROUP = [];
    var TRANS_USER_GROUP = [];
    var UNKNOWN_GROUP = [];
    var DATA_GROUP = [];
    try {
        var lines = DataLines.split('\n');
        var lineslen = lines.length;
        for (var x = 0; x < lineslen; x++) {
            var thisline = lines[x].split('|');
            switch (thisline[0]) {
                case "ORD_HEADER":
                    ORD_HEADER_GROUP.push(lines[x]);
                    break;
                case "PTNR":
                    PTNR_GROUP.push(lines[x]);
                    break;
                case "ITEM":
                case "ITEM_ADDL":
                case "ITEM_DIMEN":
                    ITEM_GROUP.push(lines[x]);
                    break;
                case "TRACK_LOG":
                    TRACK_LOG_GROUP.push(lines[x]);
                    break;
                case "CHARGE":
                    CHARGE_GROUP.push(lines[x]);
                    break;
                case "TRANS":
                    TRANS_GROUP.push(lines[x]);
                    break;
                case "TRANS_USER":
                    TRANS_USER_GROUP.push(lines[x]);
                    break;
                case "DATA":
                    DATA_GROUP.push(lines[x]);
                    break;
                default:
                    UNKNOWN_GROUP.push(lines[x]);
                    break;
            }
        }
        var itemPergroup = ItemsGroupToDicationaryArray(ITEM_GROUP);
        /*  nlapiLogExecution('DEBUG', 'itemPergroup edd', JSON.stringify(itemPergroup));*/
        var duplicateArray = [];
        var map = {};
        for (var x = 0; x < itemPergroup.length; x++) {
            var key = itemPergroup[x].ITEM.split("|")[9];
            if (map[key] != 0 && !map[key]) {
                duplicateArray.push([itemPergroup[x]]);
                map[itemPergroup[x].ITEM.split("|")[9]] = duplicateArray.length - 1;
            } else {
                var index = map[itemPergroup[x].ITEM.split("|")[9]];
                duplicateArray[index].push(itemPergroup[x]);
            }
        }
        // nlapiLogExecution('DEBUG', 'itemPergroup after delete edd', JSON.stringify(itemPergroup));
        for (var i = 0; i < duplicateArray.length; i++) {
            createdPOs = [];
            //Process each group...

            governanceYield();
            var PO_ID = AddPurchaseOrder(ORD_HEADER_GROUP, duplicateArray[i], CHARGE_GROUP, PTNR_GROUP, file);
            var context = nlapiGetContext();
            var usageRemaining = context.getRemainingUsage();
            nlapiLogExecution("debug", "usageRemaining inside For lOop", usageRemaining);
            Add_partner_data(PO_ID, PTNR_GROUP);
            Add_track_log(PO_ID, TRACK_LOG_GROUP);
            Add_trans(PO_ID, TRANS_GROUP);
            Add_trans_user(PO_ID, TRANS_USER_GROUP);
            Add_data(PO_ID, DATA_GROUP);
            log(PO_ID);
        }
        //for (var i = 0; i < duplicateArray.length; i++) {
        //  var PO_ID = UpdatePurchaseOrder(ORD_HEADER_GROUP, duplicateArray[i], CHARGE_GROUP, PTNR_GROUP);
        //  log("Update  " + PO_ID);
        //}
    } catch (e) {

        file.setFolder(ERROR_FOLDER);
        nlapiSubmitFile(file);

        log("Process Failed");
        deleteCreated(createdPOs);

        throw new EDI_ERROR(e.message, "[ProcessLines]");

        nlapiLogExecution('DEBUG', 'e in add', e.message);
        log("ERROR: " + e.message + " in AddNew");


        //throw new EDI_ERROR(e.message, "[AddNew]");
    }
}

function findDuplicates(arr) {
    var result = [];

    for (var i = 1; i < arr.length; i++) {
        if (arr[i] == arr[i - 1] && result.indexOf(arr[i]) == -1) {
            result.push(i);
        }
    }

    return result;
}

function ItemsGroupToDicationaryArray(ITEM_GROUP) {
    var ItemsDictArray = [];
    tempdict = {};
    itemlen = ITEM_GROUP.length;
    for (var x = 0; x < itemlen; x++) {
        //try
        //{
        if (x == 0) {
            //This is the first item so just add it without processing
            tempdict["ITEM"] = ITEM_GROUP[x];
        } else {
            var thisline = ITEM_GROUP[x].split('|');
            switch (thisline[0]) {
                case "ITEM":
                    ItemsDictArray.push(tempdict);
                    tempdict = {};
                    tempdict["ITEM"] = ITEM_GROUP[x];
                    break;
                case "ITEM_ADDL":
                    tempdict["ITEM_ADDL"] = ITEM_GROUP[x];
                    break;
                case "ITEM_DIMEN":
                    tempdict["ITEM_DIMEN"] = ITEM_GROUP[x];
                    break;
                default:
                    log("ItemsGroupToDicationaryArray encountered unknown element tag: " + thisline[0]);
                    break;
            }
        }
        //}
        //catch(e)
        //{
        //  throw new EDI_ERROR(e.message, "[ItemsGroupToDicationaryArray]");
        //}
    }
    ItemsDictArray.push(tempdict);
    return ItemsDictArray;
}

//Product and lineitem
function AddPurchaseOrder(HEADER_DATA_GROUP, ITEM_DATA, CHARGE_DATA, PARTNER_DATA) {
    //JQA
    var result = nlapiSearchRecord("customrecord_sw_wms_config", null, null, new nlobjSearchColumn("custrecord_wc_jqa"));
    var LOCATION = result[0].getValue("custrecord_wc_jqa");
    for (var i = 0; i < PARTNER_DATA.length; i++) {
        if (PARTNER_DATA[i].split('|')[2] == "PTNR_SHIP_TO" &&
            PARTNER_DATA[i].split('|')[3].indexOf("FUKUOKA") > -1) {
            LOCATION = 36;
            break;
        }
    }


    var HEADER_DATA = HEADER_DATA_GROUP[0].split('|'); //There should only be one, but it is still an array.
    var record = nlapiCreateRecord('purchaseorder');

    // Get entity id, if not found use default
    var vendorName = GetVendorName(PARTNER_DATA);
    nlapiLogExecution('DEBUG', "vendorName  " + vendorName.length, vendorName);

    //var LOCATION = GetLocationID_parser('N-YOTEI','internalid'); // the place was moved here
    var vendorId = QuickRecordSearch('vendor', 'entityid', vendorName, 'internalid');
    /* nlapiLogExecution('DEBUG', vendorName, vendorId);*/
    var tmpVendorId = 0;
    if (vendorName && vendorId) {
        record.setFieldValue('entity', vendorId);
        tmpVendorId = vendorId;
    } else // Use default
    {

        deleteCreated(createdPOs)

        throw new EDI_ERROR("No Vendor Found", 295);
        // record.setFieldValue('entity', DEFAULT_ENTITY); //Needs a value, this field is required.
        tmpVendorId = DEFAULT_ENTITY;
    }

    //record.setFieldValue('currencyname', HEADER_DATA[10]);    //comment //                                    // Currency Display
    record.setFieldValue('currency', getCurrencyOptionId(record, 'currency', HEADER_DATA[10])); // Currency
    //record.setFieldValue('currency', 2); //need a function to get the internal ID

    var nowData = getCreationDate();
    //if(HEADER_DATA[12]){ record.setFieldValue('trandate', FormatDate(HEADER_DATA[12])); } // TODO: ???????
    record.setFieldValue('trandate', FormatDate(nowData));
    record.setFieldValue('custbody_prb_asn_purchase_order_num', HEADER_DATA[3]); // 2017-03-24 ?d?l??X

    //ASN Header
    record.setFieldValue('custbody_prb_po_action_code', HEADER_DATA[1]);
    record.setFieldValue('custbody_prb_transaction_feed_version', FormatDateTime(HEADER_DATA[2])); //Alter function to deal with non delimited datetime formats as well.
    record.setFieldValue('custbody_prb_sales_order_num', HEADER_DATA[3]);

    record.setFieldValue('custbody_prb_export_date', FormatDateTime(HEADER_DATA[8])); // TODO: ???????
    //record.setFieldValue('custbody_prb_export_country', HEADER_DATA[9]);
    record.setFieldValue('custbody_prb_container_indicator', HEADER_DATA[11]);
    record.setFieldValue('custbody_prb_house_bill_of_lading_num', HEADER_DATA[14]);
    record.setFieldValue('custbody_prb_master_bill_of_lading', HEADER_DATA[15]);
    record.setFieldValue('custbody_prb_asn_payment_terms', HEADER_DATA[16]);
    record.setFieldValue('custbody_prb_reference_num', HEADER_DATA[17]);
    record.setFieldValue('custbody_prb_routed_exp_tran_indicator', HEADER_DATA[18] == 'NO' ? 0.0 : 1.0);
    record.setFieldValue('custbody_prb_total_cubic_meters', HEADER_DATA[19]);
    record.setFieldValue('custbody_prb_total_gross_weight_kilo', HEADER_DATA[20]);
    record.setFieldValue('custbody_prb_total_num_package', HEADER_DATA[21]);
    record.setFieldValue('custbody_prb_total_value', HEADER_DATA[22]);
    record.setFieldValue('custbody_prb_incoterms_ciity', HEADER_DATA[23]);
    record.setFieldValue('custbody_prb_incoterms', HEADER_DATA[24]);
    record.setFieldValue('custbody_prb_plant', HEADER_DATA[25]);
    record.setFieldValue('custbody_prb_bill_of_lading_nu', HEADER_DATA[26]);
    record.setFieldValue('location', LOCATION);

    itemlen = ITEM_DATA.length;
    //  var LOCATION = GetLocationID_parser('N-YOTEI','internalid');
    for (var x = 0; x < itemlen; x++) {
        try {
            var curitem = ITEM_DATA[x]['ITEM'].split('|');
            //if(!getItemID(curitem[3])) { continue; }
            if (!getItemId(curitem[3])) {
                log('Could not find item: ' + curitem[3] + '(ProductID)', 'ERROR');
            }
            if (x == 0) {
                var itemId = getItemId(curitem[3]);
                var M0FKflag = checkMofk(itemId);
                if (M0FKflag == true) {
                    var M0FKflag = findSpecialVendor();
                    nlapiLogExecution("DEBUG", "change vendor to m0fk", M0FKflag);
                    record.setFieldValue('entity', M0FKvendor);
                    record.setFieldValue('currency', 5); // Currency

                }
            }

            nlapiLogExecution("DEBUG", "curitem[3] ", curitem[3]);

            record.selectNewLineItem('item');
            var itemId = getItemId(curitem[3]);
            nlapiLogExecution("DEBUG", "itemId ", itemId);
            nlapiLogExecution("DEBUG", "curitem[3] ", curitem[3]);

            record.setCurrentLineItemValue('item', 'item', itemId); //
            record.setCurrentLineItemValue('item', 'custcol_sw_po_line_no', (1000 + 1000 * x));
            record.setCurrentLineItemValue('item', 'location', LOCATION); // Location 2017/04/10 btc add
            record.setCurrentLineItemValue('item', 'custcol_prb_asn_line_item_num', curitem[1]); // Line Item Number(Sales Order Line)
            record.setCurrentLineItemValue('item', 'custcol_prb_country_of_origin', curitem[2]); // Country of Origin
            //var tmpItemId = getItemIDTrade(curitem[3]);
            //record.setCurrentLineItemValue('item', 'custitem_sw_global_item_code', curitem[3]);                                               // Product ID(Item Code)
            record.setCurrentLineItemValue('item', 'description', curitem[4]); // Standard Description of Product
            record.setCurrentLineItemValue('item', 'custcol_prb_asn_ordered_quantity', curitem[5]); // Ordered Quantity  // ?u????v???X?H
            /*Updated by Edw For Conversion from Conversion Table */
            var customMeasure = GetUnitTypefromtable(itemId, curitem[6]);

            if (customMeasure == false) {

                nlapiLogExecution("DEBUG", curitem[3], curitem[6]);
                record.setCurrentLineItemValue('item', 'units', GetUnitTypeId(itemId, curitem[6])); // Unit of Measure(Transfer UOM)
                record.setCurrentLineItemValue('item', 'quantity', curitem[20]); // Quantity
                record.setCurrentLineItemValue('item', 'rate', curitem[19]); // Price Per Unit
            } else {
                /* log("unit Recived " + curitem[6]);*/
                /* log(customMeasure);
                 log(customMeasure.poUnit);*/
                nlapiLogExecution("DEBUG", "Convesion table found for  " + curitem[3], JSON.stringify(customMeasure));

                record.setCurrentLineItemText('item', 'units', customMeasure.poUnit); // Unit of Measure custom
                if (customMeasure.quantity_MULTIPLICATION >= 1) {
                    // nlapiLogExecution("DEBUG", "MULT_CONTEXT");
                    var customquantity = parseFloat(curitem[20]) * parseFloat(customMeasure.quantity_MULTIPLICATION);
                    record.setCurrentLineItemValue('item', 'quantity', parseFloat(customquantity)); // Quantity
                    record.setCurrentLineItemValue('item', 'rate', parseFloat(curitem[19]) / parseFloat(customMeasure.quantity_MULTIPLICATION)); // Price Per Unit
                } else {
                    //  nlapiLogExecution("DEBUG", "DIV_CONTEXT");
                    var customquantity = parseFloat(curitem[20]) / parseFloat(customMeasure.quantity_DIVISION);
                    record.setCurrentLineItemValue('item', 'quantity', parseFloat(customquantity)); // Quantity
                    record.setCurrentLineItemValue('item', 'rate', parseFloat(curitem[19]) * parseFloat(customMeasure.quantity_DIVISION)); // Price Per Unit
                }


            }



            //record.setCurrentLineItemValue('item', '?', curitem[7]);                                              // Unit of Measure Conversion ID // TODO: Ask About,????
            record.setCurrentLineItemValue('item', 'custcol_prb_cust_purchase_order_date', FormatDateTime(curitem[8])); // Customer's Purchase Order Date                       *BLANK*
            record.setCurrentLineItemValue('item', 'custcol_prb_cust_purchase_order_num', curitem[9]); // Customer's Purchase Order Number(Sales Order Number)
            record.setCurrentLineItemValue('item', 'custcol_prb_gross_weight_in_kilo_asn', curitem[10]); // Gross Weight in Kilograms
            record.setCurrentLineItemValue('item', 'custcol_prb_hazmat_class', curitem[11]); // HAZMAT Class                                            *BLANK*
            record.setCurrentLineItemValue('item', 'custcol_prb_hazmat_cde', curitem[12]); // HAZMAT Code                                           *BLANK*
            record.setCurrentLineItemValue('item', 'custcol_prb_hazmat_desc', curitem[13]); // HAZMAT Description                                   *BLANK*
            record.setCurrentLineItemValue('item', 'custcol_prb_hazmat_ind', curitem[14]); // HAZMAT Indicator
            record.setCurrentLineItemValue('item', 'custcol_prb_exp_hts_num', curitem[15]); // Export HTS Number
            record.setCurrentLineItemValue('item', 'custcol_prb_net_weight_in_kilo', curitem[16]); // Net Weight in Kilograms                               *BLANK*
            record.setCurrentLineItemValue('item', 'custcol_prb_sales_order_num_asn', curitem[17]); // Sales Order Number [Work Order]
            record.setCurrentLineItemValue('item', 'custcol_prb_extended_value_price', curitem[18]); // Extended Value Price
            if (curitem[21])
                record.setCurrentLineItemValue('item', 'custcol_prb_quantity_shipped', parseInt(curitem[21])); // Quantity Shipped(Shipped qty)
            record.setCurrentLineItemValue('item', 'custcol_prb_license_required_decision', curitem[24]); // License Required Decision
            //record.setCurrentLineItemValue('item', 'costcategory', curitem[2]);                                   // Charge or Cost Type                                  *NEED TO SEE THE EXAMPLE DATA*
            //record.setCurrentLineItemValue('item', '?', curitem[3]);                                              // Actual Freight Costs

            //  record.setCurrentLineItemValue('item', 'location', LOCATION);                                           // Location 2017/04/10 btc add

            // Must set the import number in two places
            if (ITEM_DATA[x]['ITEM_ADDL'] != undefined) {
                var tempdata = ITEM_DATA[x]['ITEM_ADDL'].split('|');
                if (tempdata[2] != undefined) {
                    record.setCurrentLineItemValue('item', 'custcol_prb_asn_import_hts_number', tempdata[2]); // Import HTS Number
                }
            }
            // Adding inventory details/assignment
            var fcKbn = nlapiLookupField('item', getItemId(curitem[3]), 'custitem_prb_fc_class');
            // 1??NC-MED?A2??NCordis
            if (fcKbn == '1') {
                if (curitem[22] != '') {
                    var subrecord = record.createCurrentLineItemSubrecord('item', 'inventorydetail');

                    subrecord.selectNewLineItem('inventoryassignment');
                    if (customMeasure == false) {
                        subrecord.setFieldValue('quantity', parseFloat(curitem[20])); // Must be the same as the inventoryassignment quantity

                        subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', parseFloat(curitem[20])); // Expected Goods Receipt Quantity
                    } else {
                        if (customMeasure.quantity_MULTIPLICATION >= 1) {
                            subrecord.setFieldValue('quantity', parseFloat(curitem[20]) * parseFloat(customMeasure.quantity_MULTIPLICATION)); // Must be the same as the inventoryassignment quantity

                            subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', parseFloat(curitem[20]) * parseFloat(customMeasure.quantity_MULTIPLICATION)); // Expected Goods Receipt Quantity


                        } else {
                            subrecord.setFieldValue('quantity', parseFloat(curitem[20]) / parseFloat(customMeasure.quantity_DIVISION)); // Must be the same as the inventoryassignment quantity
                            subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', parseFloat(curitem[20]) / parseFloat(customMeasure.quantity_DIVISION)); // Expected Goods Receipt Quantity

                        }
                    }
                    subrecord.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', curitem[22]); // Lot number
                    if (curitem[23] == '') {
                        //  subrecord.setCurrentLineItemValue('inventoryassignment', 'expirationdate', FormatDate(DEFAULT_EXPIRATIONDATE)); // Expiry Date
                    } else {
                        // subrecord.setCurrentLineItemValue('inventoryassignment', 'expirationdate', FormatDate(curitem[23])); // Expiry Date
                    }
                    subrecord.commitLineItem('inventoryassignment');
                    subrecord.commit();
                }
            } else {
                if (curitem[22] != '') {
                    var subrecord = record.createCurrentLineItemSubrecord('item', 'inventorydetail');
                    subrecord.selectNewLineItem('inventoryassignment');
                    if (customMeasure == false) {
                        subrecord.setFieldValue('quantity', parseFloat(curitem[20])); // Must be the same as the inventoryassignment quantity

                        subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', parseFloat(curitem[20])); // Expected Goods Receipt Quantity
                    } else {
                        if (customMeasure.quantity_MULTIPLICATION >= 1) {

                            subrecord.setFieldValue('quantity', parseFloat(curitem[20]) * parseFloat(customMeasure.quantity_MULTIPLICATION)); // Must be the same as the inventoryassignment quantity

                            subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', parseFloat(curitem[20]) * parseFloat(customMeasure.quantity_MULTIPLICATION)); // Expected Goods Receipt Quantity
                        } else {

                            subrecord.setFieldValue('quantity', parseFloat(curitem[20]) / parseFloat(customMeasure.quantity_DIVISION)); // Must be the same as the inventoryassignment quantity

                            subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', parseFloat(curitem[20]) / parseFloat(customMeasure.quantity_DIVISION)); // Expected Goods Receipt Quantity
                        }
                    }

                    subrecord.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', curitem[22]); // Lot number
                    // subrecord.setCurrentLineItemValue('inventoryassignment', 'expirationdate', FormatDate(curitem[23])); // Expiry Date
                    subrecord.commitLineItem('inventoryassignment');
                    subrecord.commit();
                }
            }

            record.commitLineItem('item');
        } catch (e) {

            log("Process Failed Due to the item :" + itemId);
            deleteCreated(createdPOs)

            throw new EDI_ERROR("Item Line Cannot be added", 475);

            log(e.message + " - Problem saving item data.");
        }
    }

    //Save the record to get the purchase order number...
    var purchase_order_id = nlapiSubmitRecord(record);

    log('Added Purchase Order: ' + purchase_order_id);

    for (var x = 0; x < itemlen; x++) {
        try {
            //Some records do not contain Additional Info or Dimension data...
            if (ITEM_DATA[x]['ITEM_ADDL'] != undefined) {
                var tempid = ITEM_DATA[x]['ITEM'][1];
                var itemadddata = ITEM_DATA[x]['ITEM_ADDL'].split('|');
                if (itemadddata.length > 0) {
                    var order_item_add_data = nlapiCreateRecord('customrecord_prb_asn_order_item_add_data');
                    order_item_add_data.setFieldValue('custrecord_prb_asn_order_item_add_p', purchase_order_id); // NS Purchase Order Reference
                    order_item_add_data.setFieldValue('custrecord_prb_oia_license_required', itemadddata[1]); // LICENSE REQUIRED
                    order_item_add_data.setFieldValue('custrecord_prb_pia_import_hts_num', itemadddata[2]); // IMPORT HTS NUMBER
                    order_item_add_data.setFieldValue('custrecord_prb_oia_category_num', itemadddata[3]); // CATEGORY NUMBER
                    var id = nlapiSubmitRecord(order_item_add_data);
                }
            }

            if (ITEM_DATA[x]['ITEM_DIMEN'] != undefined) {
                var tempid = ITEM_DATA[x]['ITEM'][1];
                var dimdata = ITEM_DATA[x]['ITEM_DIMEN'].split('|');
                if (dimdata.length > 0) {
                    var order_item_dim_data = nlapiCreateRecord('customrecord_prb_asn_order_item_dim_data');
                    order_item_dim_data.setFieldValue('custrecord_prb_asn_oid_po_num', purchase_order_id); // NS Purchase Order Reference
                    order_item_dim_data.setFieldValue('custrecord_prb_asn_oid_length_inch', dimdata[1]); // LENGTH IN INCHES
                    order_item_dim_data.setFieldValue('custrecord_prb_asn_oid_width_inch', dimdata[2]); // WIDTH IN INCHES
                    order_item_dim_data.setFieldValue('custrecord_prb_asn_oid_height_inch', dimdata[3]); // HEIGHT IN INCHES
                    order_item_dim_data.setFieldValue('custrecord_prb_asn_oid_length_centimete', dimdata[4]); // LENGTH IN CENTIMETERS
                    order_item_dim_data.setFieldValue('custrecord_prb_asn_oid_width_centimeter', dimdata[5]); // WIDTH IN CENTIMETERS
                    order_item_dim_data.setFieldValue('custrecord_prb_asn_oid_height_centimeter', dimdata[6]); // HEIGHT IN CENTIMETERS
                    order_item_dim_data.setFieldValue('custrecord_prb_asn_oid_length_meter', dimdata[7]); // LENGTH IN METERS
                    order_item_dim_data.setFieldValue('custrecord_prb_asn_oid_width_meter', dimdata[8]); // WIDTH IN METERS
                    order_item_dim_data.setFieldValue('custrecord_prb_asn_oid_height_meter', dimdata[9]); // HEIGHT IN METERS
                    var id = nlapiSubmitRecord(order_item_dim_data);
                }
            }
        } catch (e) {
            log(e.message + " - Problem saving Item's additional and dimensional data.");
        }
    }
    createdPOs.push(purchase_order_id);
    return purchase_order_id;
}

function Add_partner_data(po_id, datalines) {
    itemlen = datalines.length;
    for (var x = 0; x < itemlen; x++) {
        /* log('Saving partner data');*/
        var curitem = datalines[x].split('|');
        var order_partner_data = nlapiCreateRecord('customrecord_prb_order_partner_data');
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_purchase_order', po_id); // PURCHASE ORDER REF.
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_partner_id', curitem[1]); // PARTNER ID
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_partner_type', curitem[2]); // PARTNER TYPE
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_name1', curitem[13]); // NAME1
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_address1', curitem[4]); // ADDRESS1
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_city', curitem[5]); // CITY
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_county_code', curitem[6]); // COUNTRY CODE
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_state_code', curitem[7]); // STATE OR PROVINCE CODE
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_state_name', curitem[8]); // STATE OR PROVINCE NAME
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_postal_code', curitem[9]); // POSTAL CODE
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_contact_name', curitem[10]); // CONTACT NAME
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_contact_phone', curitem[11]); // CONTACT PHONE
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_bond_number', curitem[12]); // BOND NUMBER
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_bond_type', curitem[13]); // BOND TYPE
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_related_party_flg', curitem[14]); // RELATED PARTY FLAG
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_tax_id_num', curitem[15]); // TAX ID NUMBER
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_filer_num', curitem[16]); // FILER NUMBER
        order_partner_data.setFieldValue('custrecord_prb_asn_opd_ultimate_consigne', curitem[17]); // ULTIMATE CONSIGNEE FLAG
        var id = nlapiSubmitRecord(order_partner_data);
    }
}

function Add_track_log(po_id, datalines) {
    itemlen = datalines.length;
    for (var x = 0; x < itemlen; x++) {
        try {
            var curitem = datalines[x].split('|');
            var order_track_log_dat = nlapiCreateRecord('customrecord_prb_asn_order_track_log_dat');
            order_track_log_dat.setFieldValue('custrecord_prb_asn_otl_po_num', po_id); // PURCHASE ORDER REF.
            order_track_log_dat.setFieldValue('custrecord_prb_track_type', curitem[1]); // TRACK
            if (RemBlank(curitem[2])) {
                order_track_log_dat.setFieldValue('custrecord_prb_asn_otg_date', FormatDateTime(curitem[2])); // DATE
            }
            var id = nlapiSubmitRecord(order_track_log_dat);
        } catch (e) {
            log("Error in Add_Track_Log: " + e.message);
        }
    }
}

function Add_trans(po_id, datalines) {
    /*log("add trans");*/
    itemlen = datalines.length;
    for (var x = 0; x < itemlen; x++) {
        try {
            var curitem = datalines[x].split('|');
            var asn_transportation_data = nlapiCreateRecord('customrecord_prb_asn_transportation_data');
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_po_num', po_id); // PURCHASE ORDER REF.
            asn_transportation_data.setFieldValue('custrecord_prb_td_delivery_place', curitem[1]); // DELIVERY PLACE
            asn_transportation_data.setFieldValue('custrecord_prb_td_mode_of_transp_desc', curitem[2]); // MODE OF TRANSPORTATION DESCRIPTION
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_mode_of_tp_code', curitem[3]); // MODE OF TRANSPORTATION CODE/TYPE
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_port_dest_cd', curitem[4]); // PORT DESTINATION CODE
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_port_destination_i', curitem[5]); // PORT DESTINATION ID
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_port_of_exit_cd', curitem[6]); // PORT OF EXIT CODE
            asn_transportation_data.setFieldValue('custrecord_prb_asn_port_of_exit_id', curitem[7]); // PORT OF EXIT ID
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_port_of_lading_cd', curitem[8]); // PORT OF LADING CODE
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_port_of_lading_id', curitem[9]); // PORT OF LADING ID
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_receipt_place', curitem[10]); // RECEIPT PLACE
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_vessel_country_cd', curitem[11]); // VESSEL COUNTRY CODE
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_vessel_name', curitem[12]); // VESSEL NAME
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_voyage_number', curitem[13]); // VOYAGE NUMBER
            asn_transportation_data.setFieldValue('custrecord_prb_asn_td_carrier_scac', curitem[14]); // CARRIER SCAC
            var id = nlapiSubmitRecord(asn_transportation_data);
        } catch (e) {
            log("Error in Add_trans: " + e.message);
        }
    }
    /*  log("finished trans");*/
}

function Add_trans_user(po_id, datalines) {
    /*log("add trans user");*/
    itemlen = datalines.length;
    for (var x = 0; x < itemlen; x++) {
        try {
            var curitem = datalines[x].split('|');
            var asn_service_type_data = nlapiCreateRecord('customrecord_prb_asn_service_type');
            asn_service_type_data.setFieldValue('custrecord_prb_asn_service_type_p', po_id); // NS PO ID
            asn_service_type_data.setFieldValue('custrecord_prb_asn_record_id', curitem[0]); // Record ID
            asn_service_type_data.setFieldValue('custrecord_prb_asn_unloc_place_of_receip', curitem[1]); // UNLOC Place of Receipt
            asn_service_type_data.setFieldValue('custrecord_prb_ans_unloc_port_of_lans', curitem[2]); // UNLOC Port of Load
            asn_service_type_data.setFieldValue('custrecord_prb_ans_unloc_port_of_dischar', curitem[3]); // UNLOC Port of Discharge
            asn_service_type_data.setFieldValue('custrecord_prb_asn_unloc_place_of_delive', curitem[4]); // UNLOC Place of Delivery
            var id = nlapiSubmitRecord(asn_service_type_data);
        } catch (e) {
            log("Error in Add_trans_user: " + e.message);
        }
    }
    /*   log("finished trans user");*/
}

function Add_data(po_id, datalines) {
    /*log("add data");*/
    itemlen = datalines.length;
    for (var x = 0; x < itemlen; x++) {
        try {
            var curitem = datalines[x].split('|');
            var asn_data = nlapiCreateRecord('customrecord_prb_asn_data');

            asn_data.setFieldValue('custrecord_prb_asn_data_p', po_id); // PO_ID
            asn_data.setFieldValue('custrecord_prb_asn_data_data_type', curitem[1]); // Data type
            asn_data.setFieldValue('custrecord_prb_asn_data_value', curitem[2]); // Source location code
            asn_data.setFieldValue('custrecord_prb_asn_data_user_varchar1', curitem[3]); // Lot status
            asn_data.setFieldValue('custrecord_prb_asn_data_user_varchar2', curitem[4]); // Destination location code
            asn_data.setFieldValue('custrecord_prb_asn_data_user_varchar3', curitem[5]); // Program ID
            asn_data.setFieldValue('custrecord_prb_asn_user_varchar4', curitem[6]); // Sales order type  Note: There is no 'data' in the column name on the sandbox, error?
            asn_data.setFieldValue('custrecord_prb_asn_data_sys_varchar1', curitem[7]); // Process flag
            asn_data.setFieldValue('custrecord_prb_asn_data_sys_varchar2', curitem[8]); // Lot grade

            var id = nlapiSubmitRecord(asn_data);
        } catch (e) {
            log("Error in Add_data: " + e.message);
        }
    }
    /* log("finished data: " + id);*/
}

function Update(DataLines) {
    var ORD_HEADER_GROUP = [];
    var PTNR_GROUP = [];
    var ITEM_GROUP = [];
    var TRACK_LOG_GROUP = [];
    var CHARGE_GROUP = [];
    var TRANS_GROUP = [];
    var TRANS_USER_GROUP = [];
    var DATA_GROUP = [];
    var UNKNOWN_GROUP = [];
    try {
        var lines = DataLines.split('\n');
        var lineslen = lines.length;
        for (var x = 0; x < lineslen; x++) {
            var thisline = lines[x].split('|');
            switch (thisline[0]) {
                case "ORD_HEADER":
                    ORD_HEADER_GROUP.push(lines[x]);
                    break;
                case "PTNR":
                    PTNR_GROUP.push(lines[x]);
                    break;
                case "ITEM":
                case "ITEM_ADDL":
                case "ITEM_DIMEN":
                    ITEM_GROUP.push(lines[x]);
                    break;
                case "TRACK_LOG":
                    TRACK_LOG_GROUP.push(lines[x]);
                    break;
                case "CHARGE":
                    CHARGE_GROUP.push(lines[x]);
                    break;
                case "TRANS":
                    TRANS_GROUP.push(lines[x]);
                    break;
                case "TRANS_USER":
                    TRANS_USER_GROUP.push(lines[x]);
                    break;
                case "DATA":
                    DATA_GROUP.push(lines[x]);
                    break;
                default:
                    UNKNOWN_GROUP.push(lines[x]);
                    break;
            }
        }

        //Process each group...
        var PO_ID = UpdatePurchaseOrder(ORD_HEADER_GROUP, ItemsGroupToDicationaryArray(ITEM_GROUP), CHARGE_GROUP, PTNR_GROUP);

        // The following
        //Update_partner_data(PO_ID, PTNR_GROUP); // Temporary
        //Update_track_log(PO_ID, TRACK_LOG_GROUP);
        //Update_trans(PO_ID, TRANS_GROUP);
        //Update_trans_user(PO_ID, TRANS_USER_GROUP);
        //Update_data(PO_ID, DATA_GROUP); // ??X???t: 2017-02-27 ??????
    } catch (e) {
        log("Error: " + e.message + " in Update");
        //throw new EDI_ERROR(e.message, "[AddNew]");
    }
}

function UpdatePurchaseOrder(HEADER_DATA_GROUP, ITEM_DATA, CHARGE_DATA, PARTNER_DATA) {
    var HEADER_DATA = HEADER_DATA_GROUP[0].split('|'); //There should only be one, but it is still an array.
    //var PurchaseOrderNumber = HEADER_DATA[13];
    var PurchaseOrderNumber = HEADER_DATA[3]; // Specs changed
    /* nlapiLogExecution('DEBUG', 'ITEM_DATA edd', JSON.stringify(ITEM_DATA));*/

    /*  log('ITEM_DATA[9] ' + ITEM_DATA.ITEM.split("|")[9]);*/

    var results = nlapiSearchRecord("purchaseorder", null,
        [
            ["type", "anyof", "PurchOrd"],
            "AND",
            ["custcol_prb_cust_purchase_order_num", "is", ITEM_DATA.ITEM.split("|")[9]]
        ],
        [
            new nlobjSearchColumn("internalid"),
        ]);

    if (results) {
        var arrlen = results.length;
        /* log('ID: ' + results[0].getId());*/
        //There should be only one result.
        for (var r = 0; r < arrlen; r++) {
            log('Updating Purchase Order');

            var record = nlapiLoadRecord('purchaseorder', results[r].getValue('internalid'));
            //record.setFieldText('salestaxcode', '???'); //Needs a value, this field is required (suddenly)
            //record.setFieldValue('purchasetaxcode', ''); //Needs a value, this field is required (suddenly)

            // Get entity id, if not found use default
            var vendorName = GetVendorName(PARTNER_DATA);
            var vendorId = QuickRecordSearch('vendor', 'entityid', vendorName, 'internalid');
            var tmpVendorId = 0;
            if (vendorName && vendorId) {
                record.setFieldValue('entity', vendorId);
                tmpVendorId = vendorId;
            } else // Use default
            {
                record.setFieldValue('entity', DEFAULT_ENTITY); //Needs a value, this field is required.
                tmpVendorId = DEFAULT_ENTITY;
            }

            //    record.setFieldValue('currencyname', HEADER_DATA[10]);    //comment                                   // Currency display
            record.setFieldValue('currency', getCurrencyOptionId(record, 'currency', HEADER_DATA[10])); // Currency


            record.setFieldValue('custbody_prb_transaction_feed_version', FormatDateTime(HEADER_DATA[2])); //Alter function to deal with non delimited datetime formats as well.
            record.setFieldValue('custbody_prb_asn_purchase_order_num', HEADER_DATA[3]); // 2017-03-24 ?d?l??X
            record.setFieldValue('custbody_prb_sales_order_num', HEADER_DATA[3]);
            record.setFieldValue('custbody_prb_master_bill_of_lading', HEADER_DATA[15]);

            itemlen = ITEM_DATA.length;
            for (var x = 0; x < itemlen; x++) {
                try {
                    /* log('Updating Item');*/
                    var curitem = ITEM_DATA[x]['ITEM'].split('|');
                    rownumber = curitem[1];
                    record.selectLineItem('item', x + 1); // *Line items start at 1*
                    record.setCurrentLineItemValue('item', 'custcol_sw_po_line_no', (1000 + 1000 * x));
                    record.setCurrentLineItemValue('item', 'custcol_prb_country_of_origin', curitem[2]); // Country of Origin
                    //var tmpItemId = getItemIDTrade(curitem[3]);
                    var itemId = getItemId(curitem[3]);
                    record.setCurrentLineItemValue('item', 'item', itemId);
                    //record.setCurrentLineItemValue('item', 'custitem_sw_global_item_code', curitem[3]);                                       // Product ID(Item Code)
                    record.setCurrentLineItemValue('item', 'custcol_prb_asn_ordered_quantity', curitem[5]); // Ordered Quantity
                    /*Updated by Edw For Conversion from Conversion Table */
                    if (curitem[6] == "CT" || curitem[6] == "PK" || curitem[6] == "PR") {
                        record.setCurrentLineItemValue('item', 'units', GetUnitTypeId(itemId, curitem[6])); // Unit of Measure(Transfer UOM)

                        record.setCurrentLineItemValue('item', 'quantity', curitem[20]); // Quantity


                    } else {

                        log("unit Recived " + curitem[6]);

                        var customMeasure = GetUnitTypefromtable(itemId, curitem[6]);
                        /* log(customMeasure);
                         log(customMeasure.poUnit);*/

                        record.setCurrentLineItemText('item', 'units', customMeasure.poUnit); // Unit of Measure custom
                        var customquantity = parseInt(curitem[20]) * parseInt(customMeasure.quantity);
                        /*    log("customquantity   = " + customquantity);*/
                        record.setCurrentLineItemValue('item', 'quantity', parseInt(customquantity)); // Quantity   

                    }

                    //record.setLineItemValue('item', 'units', rownumber, GetUnitTypeID(curitem[6]));               // Unit of Measure(Transfer UOM)
                    //record.setLineItemValue('item', '?', curitem[7]);                                             // Unit of Measure Conversion ID
                    record.setCurrentLineItemValue('item', 'custcol_prb_exp_hts_num', curitem[15]); // Export HTS Number

                    record.setCurrentLineItemValue('item', 'rate', curitem[19]); // Price Per Unit
                    // record.setCurrentLineItemValue('item', 'quantity', curitem[20]); // Quantity
                    if (curitem[21])
                        record.setCurrentLineItemValue('item', 'custcol_prb_quantity_shipped', parseInt(curitem[21])); //  Quantity Shipped(Shipped qty)

                    // Must set the import number in two places
                    if (ITEM_DATA[x]['ITEM_ADDL'] != undefined) {
                        var tempdata = ITEM_DATA[x]['ITEM_ADDL'].split('|');
                        if (tempdata[2] != undefined) {
                            record.setCurrentLineItemValue('item', 'custcol_prb_asn_import_hts_number', tempdata[2]); // Import HTS Number
                        }
                    }

                    var fcKbn = nlapiLookupField('item', getItemId(curitem[3]), 'custitem_prb_fc_class');
                    var subrecord = record.editCurrentLineItemSubrecord('item', 'inventorydetail');
                    if (subrecord == null) {
                        if (fcKbn == '1') {
                            if (curitem[22] != '') {
                                subrecord = record.createCurrentLineItemSubrecord('item', 'inventorydetail');
                                subrecord.setFieldValue('quantity', curitem[21]);
                                subrecord.selectNewLineItem('inventoryassignment');
                                subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', curitem[20]);
                                subrecord.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', curitem[22]);
                                if (curitem[23] == '') {
                                    //   subrecord.setCurrentLineItemValue('inventoryassignment', 'expirationdate', FormatDate(DEFAULT_EXPIRATIONDATE));
                                } else {
                                    //   subrecord.setCurrentLineItemValue('inventoryassignment', 'expirationdate', FormatDate(curitem[23]));
                                }
                                subrecord.commitLineItem('inventoryassignment');
                                subrecord.commit();
                            }
                        } else {
                            if (curitem[22] != '') {
                                subrecord = record.createCurrentLineItemSubrecord('item', 'inventorydetail');
                                subrecord.setFieldValue('quantity', curitem[21]);
                                subrecord.selectNewLineItem('inventoryassignment');
                                subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', curitem[20]);
                                subrecord.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', curitem[22]);
                                //  subrecord.setCurrentLineItemValue('inventoryassignment', 'expirationdate', FormatDate(curitem[23]));
                                subrecord.commitLineItem('inventoryassignment');
                                subrecord.commit();
                            }
                        }
                    } else { // Netsuite does not like for us to edit inventory detail records

                        if (fcKbn == '1') {
                            if (curitem[22] != '') {
                                // So first we read the current values that we are not going to update
                                subrecord = record.viewCurrentLineItemSubrecord('item', 'inventorydetail');
                                subrecord.selectLineItem('inventoryassignment', '1');
                                var inventoryAssignmentQuantity = subrecord.getCurrentLineItemValue('inventoryassignment', 'quantity');

                                // Then delete it the current one
                                record.removeCurrentLineItemSubrecord('item', 'inventorydetail');

                                // And recreate it
                                subrecord = record.createCurrentLineItemSubrecord('item', 'inventorydetail');
                                subrecord.setFieldValue('quantity', inventoryAssignmentQuantity);
                                subrecord.selectNewLineItem('inventoryassignment');
                                subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', inventoryAssignmentQuantity);
                                subrecord.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', curitem[22]);
                                if (curitem[23] == '') {
                                    //   subrecord.setCurrentLineItemValue('inventoryassignment', 'expirationdate', FormatDate(DEFAULT_EXPIRATIONDATE));
                                } else {
                                    //   subrecord.setCurrentLineItemValue('inventoryassignment', 'expirationdate', FormatDate(curitem[23]));
                                }
                                subrecord.commitLineItem('inventoryassignment');
                                subrecord.commit();
                            } else {
                                record.removeCurrentLineItemSubrecord('item', 'inventorydetail');
                            }
                        } else {
                            if (curitem[22] != '') {
                                // So first we read the current values that we are not going to update
                                subrecord = record.viewCurrentLineItemSubrecord('item', 'inventorydetail');
                                subrecord.selectLineItem('inventoryassignment', '1');
                                var inventoryAssignmentQuantity = subrecord.getCurrentLineItemValue('inventoryassignment', 'quantity');
                                // Then delete it the current one
                                record.removeCurrentLineItemSubrecord('item', 'inventorydetail');
                                // And recreate it
                                subrecord = record.createCurrentLineItemSubrecord('item', 'inventorydetail');
                                subrecord.setFieldValue('quantity', inventoryAssignmentQuantity);
                                subrecord.selectNewLineItem('inventoryassignment');
                                subrecord.setCurrentLineItemValue('inventoryassignment', 'quantity', inventoryAssignmentQuantity);
                                subrecord.setCurrentLineItemValue('inventoryassignment', 'receiptinventorynumber', curitem[22]);
                                //subrecord.setCurrentLineItemValue('inventoryassignment', 'expirationdate', FormatDate(curitem[23]));
                                subrecord.commitLineItem('inventoryassignment');
                                subrecord.commit();
                            }
                        }
                    }

                    record.commitLineItem('item');
                } catch (e) {
                    log(e.message + " - Problem saving item data.");
                }
            }

            //Save the record to get the purchase order number...
            var purchase_order_id = nlapiSubmitRecord(record);

            log('Updated Purchase Order: ' + purchase_order_id);

            /* for(var x = 0; x < itemlen; x++){
            try{
            //Some records do not contain Additional Info or Dimension data...
            if(ITEM_DATA[x]['ITEM_ADDL'] != undefined){
            var tempid = purchase_order_id + "_" + ITEM_DATA[x]['ITEM'][1];
            var SearchField = 'custrecord_ylc_asn_order_item_add_p';
            var filters = [new nlobjSearchFilter(SearchField, null, 'is', tempid)];
            var columns = [new nlobjSearchColumn('internalid'), new nlobjSearchColumn(SearchField)];
            var results = nlapiSearchRecord('customrecord_ylc_asn_order_item_add_data', null, filters, columns);
            if(results){
            var arrlen = results.length;

            //There should be only one result.
            for(var r=0; r < arrlen; r++){
            var itemadddata = ITEM_DATA[x]['ITEM_ADDL'].split('|');
            var order_item_add_data = nlapiLoadRecord('customrecord_ylc_asn_order_item_add_data', results[r].getValue('internalid'));
            //order_item_add_data.setFieldValue('custrecord_ylc_asn_order_item_add_p', tempid);             // ?
            order_item_add_data.setFieldValue('custrecord_asn_oia_license_required', itemadddata[1]);       // LICENSE REQUIRED
            order_item_add_data.setFieldValue('custrecord_asn_pia_import_hts_num', itemadddata[2]);         // IMPORT HTS NUMBER
            order_item_add_data.setFieldValue('custrecord_asn_oia_category_num', itemadddata[3]);           // CATEGORY NUMBER
            var id =nlapiSubmitRecord(order_item_add_data);
            }
            }
            }

            if(ITEM_DATA[x]['ITEM_DIMEN'] != undefined){
            var tempid = purchase_order_id + "_" + ITEM_DATA[x]['ITEM'][1];
            var SearchField = 'custrecord_ylc_asn_order_item_add_p';
            var filters = [new nlobjSearchFilter(SearchField, null, 'is', tempid)];
            var columns = [new nlobjSearchColumn('internalid'), new nlobjSearchColumn(SearchField)];
            var results = nlapiSearchRecord('customrecord_ylc_asn_order_item_add_data', null, filters, columns);
            if(results){
            var arrlen = results.length;

            //There should be only one result.
            for(var r=0; r < arrlen; r++){
            var dimdata = ITEM_DATA[x]['ITEM_DIMEN'].split('|');
            var order_item_dim_data = nlapiLoadRecord('customrecord_ylc_asn_order_item_dim_data', results[r].getValue('internalid'));
            //order_item_dim_data.setFieldValue('custrecord_ylc_asn_oid_po_num', tempid);                       // ?
            order_item_dim_data.setFieldValue('custrecord_ylc_asn_oid_length_inch', dimdata[1]);            // LENGTH IN INCHES
            order_item_dim_data.setFieldValue('custrecord_ylc_asn_oid_width_inch', dimdata[2]);             // WIDTH IN INCHES
            order_item_dim_data.setFieldValue('custrecord_ylc_asn_oid_height_inch', dimdata[3]);            // HEIGHT IN INCHES
            order_item_dim_data.setFieldValue('custrecord_ylc_asn_oid_length_centimete', dimdata[4]);       // LENGTH IN CENTIMETERS
            order_item_dim_data.setFieldValue('custrecord_ylc_asn_oid_width_centimeter', dimdata[5]);       // WIDTH IN CENTIMETERS
            order_item_dim_data.setFieldValue('custrecord_ylc_asn_oid_height_centimeter', dimdata[6]);      // HEIGHT IN CENTIMETERS
            order_item_dim_data.setFieldValue('custrecord_ylc_asn_oid_length_meter', dimdata[7]);           // LENGTH IN METERS
            order_item_dim_data.setFieldValue('custrecord_ylc_asn_oid_width_meter', dimdata[8]);            // WIDTH IN METERS
            order_item_dim_data.setFieldValue('custrecord_ylc_asn_oid_height_meter', dimdata[9]);           // HEIGHT IN METERS
            var id =nlapiSubmitRecord(order_item_dim_data);
            }
            }
            }
            }
            catch(e){
            log(e.message + " - ERROR IN ITEM_DATA");
            }
            } */
            return purchase_order_id;
        }
    } else {
        AddPurchaseOrder(HEADER_DATA_GROUP, ITEM_DATA, CHARGE_DATA, PARTNER_DATA);
    }
}

function Update_partner_data(po_id, datalines) {
    /*log("Update_partner_data");*/
    var SearchField = 'custrecord_prb_asn_opd_purchase_order';
    log("Checking " + SearchField + " for id " + po_id);
    var filters = [new nlobjSearchFilter(SearchField, null, 'is', po_id)];
    var columns = [new nlobjSearchColumn('internalid'), new nlobjSearchColumn(SearchField)];
    var results = nlapiSearchRecord('customrecord_prb_order_partner_data', null, filters, columns);
    if (results) {
        /*log('found partner data');*/
        var arrlen = results.length;

        //There should be only one result.
        for (var r = 0; r < arrlen; r++) {
            itemlen = datalines.length;
            for (var x = 0; x < itemlen; x++) {
                var curitem = datalines[x].split('|');
                var order_partner_data = nlapiLoadRecord('customrecord_prb_order_partner_data', results[r].getValue('internalid'));
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_purchase_order', po_id); // PURCHASE ORDER REF.
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_partner_id', curitem[1]); // PARTNER ID
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_partner_type', curitem[2]); // PARTNER TYPE
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_name1', curitem[13]); // NAME1
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_address1', curitem[4]); // ADDRESS1
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_city', curitem[5]); // CITY
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_county_code', curitem[6]); // COUNTRY CODE
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_state_code', curitem[7]); // STATE OR PROVINCE CODE
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_state_name', curitem[8]); // STATE OR PROVINCE NAME
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_postal_code', curitem[9]); // POSTAL CODE
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_contact_name', curitem[10]); // CONTACT NAME
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_contact_phone', curitem[11]); // CONTACT PHONE
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_bond_number', curitem[12]); // BOND NUMBER
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_bond_type', curitem[13]); // BOND TYPE
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_related_party_flg', curitem[14]); // RELATED PARTY FLAG
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_tax_id_num', curitem[15]); // TAX ID NUMBER
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_filer_num', curitem[16]); // FILER NUMBER
                order_partner_data.setFieldValue('custrecord_prb_asn_opd_ultimate_consigne', curitem[17]); // ULTIMATE CONSIGNEE FLAG
                var id = nlapiSubmitRecord(order_partner_data);
            }
        }
    } else {
        log("No matching partner data found.");
    }
    log("END Update_partner_data");
}

function Update_track_log(po_id, datalines) {
    //When the Track Log is updated, we should first delete the records, then re-add them with the new data.
    DeleteTrackLog(po_id);

    //Re-add with new data
    Add_track_log(po_id, datalines);
}

function Update_trans(po_id, datalines) {
    var SearchField = 'custrecord_prb_asn_td_po_num';
    var filters = [new nlobjSearchFilter(SearchField, null, 'is', po_id)];
    var columns = [new nlobjSearchColumn('internalid'), new nlobjSearchColumn(SearchField)];
    var results = nlapiSearchRecord('customrecord_prb_asn_transportation_data', null, filters, columns);
    if (results) {
        var arrlen = results.length;

        //There should be only one result.
        for (var r = 0; r < arrlen; r++) {
            /* log("add trans");*/
            itemlen = datalines.length;
            for (var x = 0; x < itemlen; x++) {
                try {
                    var curitem = datalines[x].split('|');
                    var order_partner_data = nlapiLoadRecord('customrecord_prb_asn_transportation_data', results[r].getValue('internalid'));
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_po_num', po_id); // PURCHASE ORDER REF.
                    asn_transportation_data.setFieldValue('custrecord_prb_td_delivery_place', curitem[1]); // DELIVERY PLACE
                    asn_transportation_data.setFieldValue('custrecord_prb_td_mode_of_transp_desc', curitem[2]); // MODE OF TRANSPORTATION DESCRIPTION
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_mode_of_tp_code', curitem[3]); // MODE OF TRANSPORTATION CODE/TYPE
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_port_dest_cd', curitem[4]); // PORT DESTINATION CODE
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_port_destination_i', curitem[5]); // PORT DESTINATION ID
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_port_of_exit_cd', curitem[6]); // PORT OF EXIT CODE
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_port_of_exit_id', curitem[7]); // PORT OF EXIT ID
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_port_of_lading_cd', curitem[8]); // PORT OF LADING CODE
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_port_of_lading_id', curitem[9]); // PORT OF LADING ID
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_receipt_place', curitem[10]); // RECEIPT PLACE
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_vessel_country_cd', curitem[11]); // VESSEL COUNTRY CODE
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_vessel_name', curitem[12]); // VESSEL NAME
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_voyage_number', curitem[13]); // VOYAGE NUMBER
                    asn_transportation_data.setFieldValue('custrecord_prb_asn_td_carrier_scac', curitem[14]); // CARRIER SCAC
                    var id = nlapiSubmitRecord(asn_transportation_data);
                } catch (e) {
                    log("ERROR in Update_trans: " + e.message);
                }
            }
            /*  log("finished trans");*/
        }
    }
}

function Update_trans_user(po_id, datalines) {
    var SearchField = 'custrecord_prb_asn_record_id';
    var filters = [new nlobjSearchFilter(SearchField, null, 'is', po_id)];
    var columns = [new nlobjSearchColumn('internalid'), new nlobjSearchColumn(SearchField)];
    var results = nlapiSearchRecord('customrecord_prb_asn_service_type', null, filters, columns);
    if (results) {
        var arrlen = results.length;

        //There should be only one result.
        for (var r = 0; r < arrlen; r++) {
            /* log("add trans user");*/
            itemlen = datalines.length;
            for (var x = 0; x < itemlen; x++) {
                try {
                    var curitem = datalines[x].split('|');
                    var order_partner_data = nlapiLoadRecord('customrecord_prb_asn_service_type', results[r].getValue('internalid'));
                    asn_service_type_data.setFieldValue('custrecord_prb_asn_service_type_p', po_id); // NS PO ID
                    asn_service_type_data.setFieldValue('custrecord_prb_asn_record_id', curitem[1]); // Record ID
                    asn_service_type_data.setFieldValue('custrecord_prb_asn_unloc_place_of_receip', curitem[1]); // UNLOC Place of Receipt
                    asn_service_type_data.setFieldValue('custrecord_prb_ans_unloc_port_of_lans', curitem[2]); // UNLOC Port of Load
                    asn_service_type_data.setFieldValue('custrecord_prb_ans_unloc_port_of_dischar', curitem[3]); // UNLOC Port of Discharge
                    asn_service_type_data.setFieldValue('custrecord_prb_asn_unloc_place_of_delive', curitem[4]); // UNLOC Place of Delivery
                    var id = nlapiSubmitRecord(asn_service_type_data);
                } catch (e) {
                    log("ERROR in Update_trans_user: " + e.message);
                }
            }
            /* log("finished trans user");*/
        }
    }
}

function Update_data(po_id, datalines) {
    /* log("update data");*/
    itemlen = datalines.length;
    for (var x = 0; x < itemlen; x++) {
        try {
            var curitem = datalines[x].split('|');
            var asn_data = nlapiCreateRecord('customrecord_prb_asn_data');

            asn_data.setFieldValue('custrecord_prb_asn_data_p', po_id); // PO_ID
            asn_data.setFieldValue('custrecord_prb_asn_data_data_type', curitem[1]); // Data type
            asn_data.setFieldValue('custrecord_prb_asn_data_value', curitem[2]); // Source location code
            asn_data.setFieldValue('custrecord_prb_asn_data_user_varchar1', curitem[3]); // Lot status
            asn_data.setFieldValue('custrecord_prb_asn_data_user_varchar2', curitem[4]); // Destination location code
            asn_data.setFieldValue('custrecord_prb_asn_data_user_varchar3', curitem[5]); // Program ID
            asn_data.setFieldValue('custrecord_prb_asn_user_varchar4', curitem[6]); // Sales order type  Note: There is no 'data' in the column name on the sandbox, error?
            asn_data.setFieldValue('custrecord_prb_asn_data_sys_varchar1', curitem[7]); // Process flag
            asn_data.setFieldValue('custrecord_prb_asn_data_sys_varchar2', curitem[8]); // Lot grade

            var id = nlapiSubmitRecord(asn_data);
        } catch (e) {
            log("ERROR in Update_data: " + e.message);
        }
    }
    /*log("finished data");*/
}

/**
 * getCurrencyOptionId(record, field, value)
 * @param {nlobjRecord} record
 * @param {string} field
 * @param {string} value
 * @return {int}
 */
function getCurrencyOptionId(record, field, value) {
    try {
        nlapiLogExecution("DEBUG", "value", value);
        var recordField = record.getField(field);
        var fieldOptions = recordField.getSelectOptions();
        for (var option in fieldOptions) {
            var optionName = fieldOptions[option].getText();
            nlapiLogExecution("DEBUG", "optionName", optionName);
            if (optionName == value) {
                return fieldOptions[option].getId();
            }
        }
    } catch (e) {
        log('Error - getCurrencyOptionId():' + e.message);
        return '';
    }
}

//For TradeInformatedParser.js
function getItemIDTrade(ItemName) {
    // Get productBasic ID and use it to search for right item
    var productBasic = QuickRecordSearch('customrecord_prb_prod_basic', 'name', ItemName, 'internalid');

    return QuickRecordSearch('item', 'custitem_sw_global_item_code', productBasic, 'internalid');
}

// Used the get the correct vendor(entity for the Purchase Order)
function GetVendorName(partnerData) {
    try {
        var length = partnerData.length;

        for (var x = 0; x < length; x++) {
            var curitem = partnerData[x].split('|');
            if (curitem[2] == 'PTNR_EXPORTER') // This type of partner is the vendor(exporter) 'PTNR_EXPORTER'||
            {
                return (curitem[1] ? curitem[1] : null);
            }
        }

        // for (var x = 0; x < length; x++) {
        //     var curitem = partnerData[x].split('|');
        //     if (curitem[2] == 'PTNR_VENDOR') // This type of partner is the vendor(exporter) 'PTNR_EXPORTER'||
        //     {
        //         return (curitem[1] ? curitem[1] : null);
        //     }
        // }



    } catch (e) {
        log("ERROR in GetVendorName: " + e.message);
        return null;
    }
}

function DeleteTrackLog(po_id) {
    var SearchField = 'custrecord_prb_asn_otl_po_num';
    var filters = [new nlobjSearchFilter(SearchField, null, 'is', po_id)];
    var columns = [new nlobjSearchColumn('internalid')];
    var results = nlapiSearchRecord('customrecord_prb_asn_order_track_log_dat', null, filters, columns);
    if (results) {
        var arrlen = results.length;
        for (var r = 0; r < arrlen; r++) {
            var intid = results[r].getValue('internalid');
            nlapiDeleteRecord('customrecord_prb_asn_order_track_log_dat', intid);
        }
    } else {
        log("NO RESULTS");
    }
}

/**
 * ?d?g??????z?????g?????
 * @param id
 * @returns
 */
function getPurchaseprice(id, vendorId) {
    var purchaseprice = 0;
    var inventoryitemRec = nlapiLoadRecord("inventoryitem", id);
    if (inventoryitemRec != null) {
        var inventoryitemCount = inventoryitemRec.getLineItemCount('itemvendor');
        for (var i = 1; i <= inventoryitemCount; i++) {
            var tempVendorId = inventoryitemRec.getLineItemValue('itemvendor', 'vendor', i);
            if (tempVendorId == vendorId) {
                purchaseprice = purchaseprice + parseFloat(inventoryitemRec.getLineItemValue('itemvendor', 'purchaseprice', i));
            }
        }
    }
    return purchaseprice;
}
/*
function getItemId(itemSearch, productCode) {
var itemSearchArr = cmnGetAllResultsOfSearch(itemSearch);

for (var i = 0; i < itemSearchArr.length; i++) {
var item = itemSearchArr[i];
if (item.getValue('itemid') == productCode) {
return item.getValue('internalid');
}
}

return '';

}

 */

function getItemId(name) {
    var formulatext = "case when {custitem_sw_global_item_code} =\'" + name + "\'  then 'A' else 'B' end";
    var filter = new nlobjSearchFilter("formulatext", null, "startswith", "A");
    filter.setFormula(formulatext)
    var itemSearch = nlapiSearchRecord("item", null,
        [
            filter

        ],
        [
            new nlobjSearchColumn("internalid")
        ]);
    if (!itemSearch) {
        nlapiLogExecution("DEBUG", "Item With Global Code Not Found : ", name);
    }
    return itemSearch[0].getValue("internalid");
}

function GetUnitTypeId(itemId, unit_name) {
    var unittype = nlapiLookupField("item", itemId, "unitstype");

    if (unittype) {

        var customRec = nlapiLoadRecord('unitstype', unittype);
        var itemCount = customRec.getLineItemCount('uom');
        for (var i = 0; i < itemCount; i++) {
            var itemname = customRec.getLineItemValue('uom', 'abbreviation', i + 1);
            if (itemname == unit_name) {
                var internalid = customRec.getLineItemValue('uom', 'internalid', i + 1);
                return internalid;
            }
        }
    } else {
        //log('Invalid Unit Type [' + unit_name + '] - Please add the unit to the system.');
    }
    return false;
}

function GetUnitTypefromtable(itemId, unittype) {
    try {

        var Custrec = CustRecSearch(itemId);
        /* log(Custrec + " Custrec");*/
        //   nlapiLogExecution("DEBUG", "Custrec", Custrec)
        if (Custrec) {
            var ASN_Unit = Custrec[0].getText('custrecordsw_asn_uom_conversion_table');
            var PO_Unit = Custrec[0].getText('custrecordsw_po_uom_conversion_table');
            var UOM_Conversion_DIVISION = Custrec[0].getValue('custrecord_sw_conve_uom_conversion_table');
            var UOM_Conversion_MULTIPLE = Custrec[0].getValue('custrecord_sw_order_mult_conversion');
            if (ASN_Unit == unittype) {

                return {
                    quantity_DIVISION: UOM_Conversion_DIVISION,
                    quantity_MULTIPLICATION: UOM_Conversion_MULTIPLE,
                    poUnit: PO_Unit
                }
            } else {
                return false;
            }
        } else {
            return false;
        }


    } catch (e) {

        log(e + "in GetUnitTypefromtable ");

    }
}

function CustRecSearch(itemId, unittype) {
    try {
        var customrecord_sw_order_uom_conversionSearch = nlapiSearchRecord("customrecord_sw_order_uon_conversion", null,
            [
                ["custrecord_sw_item_uom_conversion_table.internalid", "is", itemId]
            ],
            [
                new nlobjSearchColumn("scriptid").setSort(false),
                new nlobjSearchColumn("custrecord_sw_item_uom_conversion_table"),
                new nlobjSearchColumn("custrecordsw_asn_uom_conversion_table"),
                new nlobjSearchColumn("custrecordsw_po_uom_conversion_table"),
                new nlobjSearchColumn("custrecord_sw_conve_uom_conversion_table"),
                new nlobjSearchColumn("custrecord_sw_order_mult_conversion")

            ]);
        return customrecord_sw_order_uom_conversionSearch;
    } catch (e) {

        log(e + "in CustRecSearch ");

    }

}

function checkMofk(itemdid) {
    try {

        //  nlapiLogExecution("DEBUG", "itemdid", itemdid);

        var inventoryitemSearch = nlapiSearchRecord("inventoryitem", null,
            [

                ["custitem_sw_special_order_flg", "is", "T"],
                "AND",
                ["internalid", "anyof", itemdid]
            ],
            [
                new nlobjSearchColumn("internalid")
            ]
        );
        if (inventoryitemSearch) {
            return true
        } else {
            return false
        }


    } catch (e) {
        nlapiLogExecution("DEBUG", "e", e);
    }

}



function governanceYield(key) {
    // ?K?o?i??g?X?`?F?b?N units9700?????g?\p???????Z?b?g
    if (parseInt(nlapiGetContext().getRemainingUsage()) <= 2500) {
        var state = nlapiYieldScript();
        if (state.status == 'FAILURE') {
            nlapiLogExecution('DEBUG', 'Failed to yield script.', key);
        } else if (state.status == 'RESUME') {
            nlapiLogExecution('DEBUG', 'Resuming script', key);
        }
    }
}


function deleteCreated(array) {
    for (var i = 0; array.length; i++) {
        governanceYield();
        nlapiDeleteRecord("purchaseorder", array[i]);
        log("removed PO == " + array[i]);
    }

}

function findSpecialVendor() {

    var vendorSearch = nlapiSearchRecord("vendor", null,
        [
            ["entityid", "is", "50010045"]
        ],
        [
            new nlobjSearchColumn("internalid")
        ]
    );


    return vendorSearch[0].getValue("internalid")


}

Leave a comment

Your email address will not be published. Required fields are marked *