Beispiel #1
0
  /** Extract all segments included in ST - SE Segment */
  public void extract() throws OBOEException {
    ediInp856Vw = EdiInp856View.createValue();
    ediInp856Vw.setItems(new EdiInp856ItemViewVector());

    Table table = ts.getHeaderTable();

    if (table != null) {
      extractHeaderBSN(table);
    }
    table = ts.getDetailTable();
    if (table != null) {
      int HLLoopSize = table.getLoopCount("HL");
      for (int i = 0; i < HLLoopSize; i++) {
        Loop loop = table.getLoop("HL", i);
        Segment segment = loop.getSegment("HL");
        String levelCode =
            getField(segment, 3, true, "Missing Hierarchical Level Code in segment HL*" + i);
        if (levelCode == null) {
          errorMsgs.add("Level Code is null");
          setValid(false);
          continue;
        }
        if (i == 0) {
          if (!"S".equals(levelCode)) {
            errorMsgs.add("Invalid Hierarchical Level Code in segment HL*0 : " + levelCode);
            setValid(false);
            continue;
          }
          extractShipmentLevelREF(loop);
          extractShipmentDTM(loop);
          extractShipmentTD5(loop);
          extractShipByN1(loop);
        } else if (i == 1) {
          if (!"O".equals(levelCode)) {
            errorMsgs.add("Invalid Hierarchical Level Code in segment HL*1 : " + levelCode);
            setValid(false);
            continue;
          }
          extractPurchaseOrderReferencePRF(loop);
          extractReferenceIdentificationREF(loop);
        } else {
          if ("O".equals(levelCode)) {
            extractPurchaseOrderReferencePRF(loop);
            extractReferenceIdentificationREF(loop);
          } else if (!"I".equals(levelCode)) {
            errorMsgs.add(
                "Invalid value of Hierarchical Level Code in segment HL *" + i + " : " + levelCode);
            setValid(false);
            continue;
          } else {
            ediInp856ItemVw = EdiInp856ItemView.createValue();
            ediInp856Vw.getItems().add(ediInp856ItemVw);
            extractItemIdentificationLIN(loop);
            extractItemShipmentDetailSN1(loop);
            extractItemIdentificationREF(loop);
          }
        }
      }
    }
    table = ts.getSummaryTable();
    if (table != null) {
      // extractHeaderTDS(table);
      // extractHeaderSAC(table);
    }
  }