Multiple Sales Order Duplication

qngo
qngo Member Posts: 58
I'm having a problem where I need to generate a X amount of sales orders per a customer request. I would like to use the functionality of Copy Document for a Sales Order to copy the Header Info. but I need a way to generate X number without having to do Copy Document X number of times. I'm trying to create a report using Repeat..Until to generate, but is there a way to copy the header information with having to define each field. Like SalesHeaderRec := "Sales Header", I'm using INCRSTR("No.") to increment the Sales Order number X number of times. Any Ideas? ](*,)

Comments

  • DenSter
    DenSter Member Posts: 8,307
    This sounds like a good fit for blanket orders. Have your solution center explain this to you.
  • Savatage
    Savatage Member Posts: 7,142
    qngo wrote:
    I would like to use the functionality of Copy Document for a Sales Order to copy the Header Info.

    it sounds like you just "really need" a bunch of sales headers for this customer and the lines are not important.

    Is this the case?
  • qngo
    qngo Member Posts: 58
    I can't really use a Blanket oder because the customer is requesting a range of sales orders i.e. SO000001 - SO000050 to be assigned to them. Blanket order was an option, but does not work for customer.
  • Savatage
    Savatage Member Posts: 7,142
    Here's another thought - We used a dataport to create mass orders by vendor using the item table. Perhaps a version of it can work here too.

    First you create a dataport that exports the sales header & line's to a file
    c:\myfile.txt
    Then you can use the dataport to import the order back in with a loop for the number of times you need a copy.

    SalesHeader.INSERT will take care of the order numbers.

    Put a Command button on your sales order form or add a menu item to access the dataport.

    whaddaya think?

    Note: this is a very basic description, but it should work.
  • DenSter
    DenSter Member Posts: 8,307
    If you're looking at custom development anyway, I'd try to capture the generic requirement that you could apply to more customers. It would be possible to assign a numbering series to a customer that will be used for that customer only that could be used in the 'make order' function off of the blanket order. Then again, a quick report to create an x number of orders could also be done.
  • Savatage
    Savatage Member Posts: 7,142
    edited 2006-12-20
    DenSter wrote:
    Then again, a quick report to create an x number of orders could also be done.

    yeah, that too 8)
    window.OPEN('No. of copies #1########.');
    IF window.INPUT(1,Copies) <> 0 THEN BEGIN
      window.CLOSE;
      YourReport(Copies,TRUE,FALSE); blah blah
      EXIT;
    END;
    
    window.CLOSE;
    
  • nav_nav
    nav_nav Member Posts: 33
    qngo wrote:
    I'm having a problem where I need to generate a X amount of sales orders per a customer request. I would like to use the functionality of Copy Document for a Sales Order to copy the Header Info. but I need a way to generate X number without having to do Copy Document X number of times. I'm trying to create a report using Repeat..Until to generate, but is there a way to copy the header information with having to define each field. Like SalesHeaderRec := "Sales Header", I'm using INCRSTR("No.") to increment the Sales Order number X number of times. Any Ideas? ](*,)

    You could decide to do SalesHeaderRec := "Sales Header", or use transferfields but that is only true when the customer card did not change meanwhile. Suppose your copy starts out of a sales order 6months ols and meanwhile the accounting department decide to change payment terms on the customer cards => you will be using the wrong settings.

    Just write in code what a user would do => call the no series mngt function to get a new number out of the no series. Validate sell-to and bill-to and maybe some other fields. And put this in a repeat until.
  • DenSter
    DenSter Member Posts: 8,307
    Nah it's even easier than that. Do INSERT(TRUE) x number of times, and blank out the No. field before each INSERT.
  • nav_nav
    nav_nav Member Posts: 33
    DenSter wrote:
    Nah it's even easier than that. Do INSERT(TRUE) x number of times, and blank out the No. field before each INSERT.

    True.
  • themave
    themave Member Posts: 1,058
    Never mind