public void extractItemIdentificationLIN(Loop inLoop) throws OBOEException { Segment segment = null; boolean ignoreMissingLineInfo = Utility.isTrue( getTranslator() .getConfigurationProperty( RefCodeNames.ENTITY_PROPERTY_TYPE.IGNORE_MISSING_LINE_INFO)); // valid = false; try { segment = inLoop.getSegment("LIN"); } catch (Exception exc) { exc.printStackTrace(); } if (segment == null && !ignoreMissingLineInfo) { errorMsgs.add("Segment LIN missing"); setValid(false); return; } String orderLineNumS = getField(segment, 1, true, "Missing order line number in LIN segment"); if (orderLineNumS == null && !ignoreMissingLineInfo) { errorMsgs.add("Order Line Number in LIN segment is null"); setValid(false); return; } int orderLineNum = 0; try { orderLineNum = Integer.parseInt(orderLineNumS); } catch (Exception exc) { // JD China will use line num 3.1 for line 3 if order is split for shipment. int ix = orderLineNumS.indexOf('.'); if (ix > 0) { String orderLineNumSs = orderLineNumS.substring(0, ix); try { orderLineNum = Integer.parseInt(orderLineNumSs); } catch (Exception ex) { } } if (orderLineNum == 0 && !ignoreMissingLineInfo) { errorMsgs.add("Invalid value of order line number in LIN segment: " + orderLineNumS); setValid(false); return; } } ediInp856ItemVw.setPurchOrderLineNum(orderLineNum); for (int fieldNum = 1; fieldNum <= 7; fieldNum += 2) { try { String productNumQualifier = getField(segment, 1 + fieldNum, false, ""); if (productNumQualifier == null) { // errorMsgs.add("Product Service Id Qualifier is null"); // setValid(false); // return; break; } String productNum = getField(segment, 1 + fieldNum + 1, false, ""); if ("VP".equals(productNumQualifier) || "VN".equals(productNumQualifier)) { ediInp856ItemVw.setDistSkuNum(productNum); } } catch (Exception exc) { break; } } return; }