Order/Purchase Order Detail Records

How does I get the detail record of an order or purchase order if I only have the item number? Item Number is not a Key field.

Rob

  • Your question is ambiguous.  "SELECT * FROM POPORL WHERE ITEMNO = 'XXX'" is the basic query.

  • Thank you but I am looking for. which I didn't specify, how to do it in Sage using c#/Sage.

    I thought something like this would work:

    orderFields.FieldByName("ORDNUMBER").SetValue(orderNumber, true);
    orders.Order = 1;
    orders.Read(false);
    orderDetailFields.Browse($"ITEMNO = \"{itemNumber}\"", true);
    orderDetailFields.Fetch(false);
    orderDetailFields.Read(false);
  • in reply to Rob Trainer

    If you don't .Compose those views, then you'll have to put ORDUNIQ in the .Browse for the detail.

  • in reply to Jay Converse Acumen

    Here is the code that I am working with:

    View orders = _sessionReadWriteCompanyDB.OpenView("OE0520");
    View orderDetails = _sessionReadWriteCompanyDB.OpenView("OE0500"); //1
    View orderPaymentSchedules = _sessionReadWriteCompanyDB.OpenView("OE0740"); //2
    View orderComments = _sessionReadWriteCompanyDB.OpenView("OE0180"); //3
    View orderFromQuotes = _sessionReadWriteCompanyDB.OpenView("OE0526"); //4
    View orderOptionalFields = _sessionReadWriteCompanyDB.OpenView("OE0522"); //5
    View orderDetailSerialNumbers = _sessionReadWriteCompanyDB.OpenView("OE0508"); //6
    View orderDetailLotNumbers = _sessionReadWriteCompanyDB.OpenView("OE0507"); //7
    View orderDetailOptionalFields = _sessionReadWriteCompanyDB.OpenView("OE0501"); //8
    View orderKittingDetails = _sessionReadWriteCompanyDB.OpenView("OE0502"); //9
    View orderKittingSerialNumbers = _sessionReadWriteCompanyDB.OpenView("OE0504"); //10
    View OrderKittingDetailLotNumbers = _sessionReadWriteCompanyDB.OpenView("OE0506"); //11
    View orderBOMDetails = _sessionReadWriteCompanyDB.OpenView("OE0503"); //12

    orders.Compose(new[] { orderDetails, null, orderComments, orderPaymentSchedules, orderFromQuotes, orderOptionalFields });

    ViewFields orderFields = orders.Fields;

    orderDetails.Compose(new[] { orders, orderDetailOptionalFields, orderBOMDetails, orderKittingDetails, orderDetailSerialNumbers, orderDetailLotNumbers }); //1
    ViewFields orderDetailFields = orderDetails.Fields;

    orderFields.FieldByName("ORDNUMBER").SetValue(orderNumber, true);
    orders.Order = 1;
    orders.Read(false);
    orderDetailFields.Browse($"ITEMNO = \"{itemNumber}\"", true);
    orderDetailFields.Fetch(false);
    orderDetailFields.Read(false);
  • in reply to Rob Trainer

    So what exactly is your problem?

  • in reply to Jay Converse Acumen

    The detail record is not populated with the correct data.

  • in reply to Rob Trainer

    Single step your program for some debugging.  Make sure orderDetail.fetch returns true.  orderDetail.read is unnecessary.