~Custom order confirmations & acknowledgements

Former Member
Former Member $organization

Surely someone out there can share their custom LP_ORDER_ACK? I'd be looking for the Infomaker form piece as well.

I'm looking to add seating information to the order acknowledgements the Box Office prints/emails.

Come on and help me out! Pullllllezzzzzzz!

  • Unknown said:

    Surely someone out there can share their custom LP_ORDER_ACK? I'd be looking for the Infomaker form piece as well.

    I've done several of these, but they are so heavily customized I doubt they'd be useful to you. I'd be happy to provide tips re: rolling your own. Is it the SQL part or the IM that's giving you trouble?

  • Former Member
    Former Member $organization in reply to Chris Jensen

    I got the basic instructions from support. I just hate starting from scratch on something that should be fairly standardized in process.

     


    From: Tessitura Technical Forum [mailto:forums-technical@tessituranetwork.com] On Behalf Of Chris Jensen
    Sent: Tuesday, September 01, 2009 5:52 PM
    To: Parnell LaLonde
    Subject: Re: [Tessitura Technical Forum] ~Custom order confirmations & acknowledgements

     

    Parnell E. LaLonde IV:

    Surely someone out there can share their custom LP_ORDER_ACK? I'd be looking for the Infomaker form piece as well.

    I've done several of these, but they are so heavily customized I doubt they'd be useful to you. I'd be happy to provide tips re: rolling your own. Is it the SQL part or the IM that's giving you trouble?

    From: Parnell E. LaLonde IV <bounce-parnelllalondeiv2018@tessituranetwork.com>
    Sent: 9/1/2009 2:33:41 PM

    Surely someone out there can share their custom LP_ORDER_ACK? I'd be looking for the Infomaker form piece as well.

    I'm looking to add seating information to the order acknowledgements the Box Office prints/emails.

    Come on and help me out! Pullllllezzzzzzz!




    This message was sent automatically to you by www.tessituranetwork.com because you subscribed to the Tessitura Technical Forum. You may reply to this message to post to the Technical forum or visit the site to search, read and post to the forums. In the interest of keeping the forum posts from becoming cluttered, we encourage you to delete previous message text from your reply before sending. Thank you!

  • Parnell,

    It's been so long I'm a bit fuzzy about this, but I think I created a nested report in infomaker to give the detail. Here is the SQL code for that nested (sub) report. I hope this helps.

    Christian

     

    ALTER  proc [dbo].[lp_tech_order_ack_

    detail]

    @order_no int

    -- exec [dbo].[lp_tech_order_ack_detail] 132567

    -- grant exec on lp_tech_order_ack_detail to impusers


    as

    select     max(s.due_amt) as total_per_ticket,
        sum(s.due_amt) as total_per_line,
        s.price_type,
        y.description as price_type_desc,
        s.perf_no,
        s.zone_no,
        z.description,
        d.section,
        n.print_desc as section_print_desc,
        b.base_price,
        f.perf_dt,
        i.description as perf_desc,
        f.perf_code,
        count(*) as num_seats,
        s.order_no,
        max(case when d.smap_no = 4 then z.description
            when d.smap_no= 3 then o.custom_3
    else right(convert(varchar,f.perf_dt,100),7) end) as start_time

    from     t_sub_lineitem s
        /*JOIN (    select e.*
            from t_sli_detail e join t_pmap p on e.pmap_no = p.pmap_no
            where p.price_category = 1) e on s.sli_no = e.sli_no*/
           
        join t_seat d on s.seat_no = d.seat_no
        join tr_price_type y on s.price_type = y.id
        join t_zone z on  s.zone_no = z.zone_no
        join tr_section n on d.section = n.id
        join (    select c.zone_no,sum(price) as base_price,p.perf_no
            from     tx_perf_pmap p
                join t_pmap m on p.pmap_no = m.pmap_no
                join t_zmap z on m.zmap_no = z.zmap_no
                join t_zone e on z.zmap_no = e.zmap_no
                join t_subprice c on c.zmap_no = e.zmap_no and c.zone_no = e.zone_no and c.pmap_no = m.pmap_no

            where     p.base_ind = 'Y' /*and m.price_category=1*/

            group by c.zone_no,p.perf_no) b on s.perf_no = b.perf_no and s.zone_no = b.zone_no
        join t_perf f on s.perf_no = f.perf_no
        join t_inventory i on f.perf_no = i.inv_no
        join t_order o on s.order_no=o.order_no
    where     o.order_no=@order_no
    and     sli_status in (2,3,12)

    group by     s.due_amt,
            s.price_type,
            s.perf_no,
            s.zone_no,
            d.section,
            y.description,
            z.description,
            n.print_desc,
            b.base_price,
            f.perf_code,
            f.perf_dt,
            i.description,
            s.order_no

    /*
    select right(convert(varchar,perf_dt,100),7),perf_dt
    from t_perf
    */

    /*
    select o.order_no from tx_perf_seat s join t_seat d on s.seat_no = s.seat_no
    join t_order o on s.order_no = o.order_no
    where smap_no=4
    and o.mos=4

    select * from t_smap
    */
  • Hi All,

    Good day.

    I am a bit confused here. if we use order confirmation acknowledgements, then the 'print' button will be hit, and tp_order_ack will be called. I haven't find my chance to run a LP_Oder_ack?

    Question 1, How could you tell tp_order_ack to run your LP?

    Question 2, there are four different types in the dropdown list (in our system: email X2 , print screen X2). How could you separate them in log files( if you can have them)?

    the only way I can see is modifying tp_order_ack, do you have another way to do this? 

    Thank you for your time.

    have fun.

    Ben

     

     



    [edited by: Ben Gu at 7:15 PM (GMT -6) on 10 Sep 2009]
  • Unknown said:

    Question 1, How could you tell tp_order_ack to run your LP?

    [...]

    the only way I can see is modifying tp_order_ack, do you have another way to do this? 

    The way to do this is to call tp_order_ack from within your custom lp, feeding the output from it to a custom table that matches its output exactly, e.g.

    insert #order_ack
    EXEC dbo.TP_ORDER_ACK @order_start_dt,
    [etc, etc]

    From there, you do basically whatever you want, tp_order_ack has already inserted it's t_order_seat_hist line re: "ack printed", and you proceed to pull in whatever custom data you need to get with a join to the custom table.

    Be sure the prompts for your custom lp match tp_order_ack exactly.

  • Hi Chris,

    Good day.

    If you run TP_Order_ack, inside TP_ORDER_ACK, you call your LP_order_ACK, like some of the TPs do, I think your LP can be called as customized one, because it is inside the logical circle.

    but if you use LP to call TP_ORDER_ACK, it means you have to run it from a report, or a custom tab.

    That is another story.

    The question can be why you still use TP_ORDER_ACK to save records into your cutom table? This can cause unwanted duplicates in system tables.

    So my point view is that TP_ORDER_ACK is not allowed to be customized, the reason is when you click the print button, nothing is happening in your custom table.

    So, we need to ask Tessitura Network to open the door to customize this area.

    have fun.

    Ben

  • Unknown said:


    I am a bit confused here. if we use order confirmation acknowledgements, then the 'print' button will be hit, and tp_order_ack will be called. I haven't find my chance to run a LP_Oder_ack?



    You create a custom report via t_format info, and choose that when you click the print button -> Acks.

    Unknown said:


    Question 1, How could you tell tp_order_ack to run your LP?



    It's the other way around. tp_order_ack doesn't run the lp, the lp runs tp_order_ack.

    Unknown said:


    Question 2, there are four different types in the dropdown list (in our system: email X2 , print screen X2). How could you separate them in log files( if you can have them)?



    You could write logging into your lp, I suppose.

    Unknown said:


    The only way I can see is modifying tp_order_ack, do you have another way to do this?



    No, the way I described involves no customization of tp_order_ack.

    Unknown said:

    The question can be why you still use TP_ORDER_ACK to save records into your cutom table? This can cause unwanted duplicates in system tables.

    No, the method I described uses no custom table, and creates no duplicates.

    --Chrisj

  • Hi Chris,

    Good day.

    Thank you very much for your time.

    but I still don't think that is a customization of TP_ORDER_ACK.

    because I think if you use a custom report to do this, there are another way to achieve this.

    You can record infos into a custom table, and use LP_CONTACT_LOG to display it in the "contact log" screen.

    have fun.

    Ben

  • Unknown said:

    but I still don't think that is a customization of TP_ORDER_ACK.

    I never said it was. Just the opposite, the method I described allows a custom order acknowledgment *without* customizing tp_order_ack.

  • Hi Chris,

    Good day.

    I was asked to customize the order ackowledgement and I spent quite a bit time on this issue before. At last, I found out I could do nothing without modifying the TP_ORDER_ACK.

    my task was printing a subscription postcard using this acknowledgement screen, and I was asked to keep a record whose postcard was printed.

    the only way I can find is modifying TP_ORDER_ACK, add a statement exec LP_ORDER_ACK @allParameters=@allParameters at the begining of the TP_ORDER_ACK.

    Another interesting thing is that in this acknowledgement screen infomaker file does not have a linked table or a stored procedure. The values are passed directly by the TP_ORDER_ACK through datawindow.

    This is another reason I have to modify the TP_ORDER_ACK.

    and you see custom report doesn't fit in this circumstance, user only want to click the print button.

    So if I modify TP_ORDER_ACK, then I can record the info into a custom table, after that use LP_CONTACT__LOG display in the contact log screen. If I need a summary, then I create a custom report to show it. That is my logic.

    have fun.

     

    Ben



    [edited by: Ben Gu at 12:39 AM (GMT -6) on 17 Sep 2009]
  • Unknown said:

    my task was printing a subscription postcard using this acknowledgement screen, and I was asked to keep a record whose postcard was printed.

    [...]

    and you see custom report doesn't fit in this circumstance, user only want to click the print button.

     

    Our custom acknowledgements are run from the Print button also. No need to go to the report menu, and no customizations to tp_order_ack.

    Everything you describe could be done via a custom IM "report" object, running an lp stored proc that runs tp_order_ack within it as described above, listed in t_format_info as a "Order Ack/Conf", and then invoked via the order Print button, choosing Acknowledgment, and then selecting the custom Ack "format"/report set up in t_format_info.

    As long as the custom lp matches the prompts of tp_order_ack, you can run the standard proc within yours, dump the output to a tmp table, and do whatever you want from there, including logging, adding more or different output fields, or whatever.

  • Hi Chris,

    Good day.

    Thank you very much for your time.

    I did some Test on this.

    1, I replaced IM report with a new ld_tp_ack_order,  in the IM report, I linked it with LP_TP_ORDER_ACK @all_LP_Parameters=@all_TP_Parameters. LP is a full copy of TP, except the name.

    2, then I pick up the fields I need put them on the report, they are order_no, customer_no,esal1_desc,esal2_desc,street1,street2, an computed field ( city + '  '+ state +'  '+ postal_code ), country.

    3,run the report from print button.

    4, Yes, I got something, but I also got something else.

    somehow 'delivery' field was on the report. ??? I didn't include this.

    5, So I modified the LP_TP_ORDER_ACK only export the fields I need. this time street1 and  computed field for address were missing.

    6, So I rolled back LP_TP_ORDER_ACK, only use computed fields instead of all the report fields. this time it worked.

    finally I think this is not very good practice, as something behind the datawindow makes the screen acting weirdly. but it can work.

    Thank you Chris, I learn something about Tessitura.

    Thank you for your time.

    have fun

    Ben



    [edited by: Ben Gu at 12:59 AM (GMT -6) on 18 Sep 2009]
  • Unknown said:

    I did some Test on this.

    1, I replaced IM report with a new ld_tp_ack_order,  in the IM report, I linked it with LP_TP_ORDER_ACK @all_LP_Parameters=@all_TP_Parameters. LP is a full copy of TP, except the name.

    [...]

    finally I think this is not very good practice, as something behind the datawindow makes the screen acting weirdly. but it can work.

    Sounds like you are close, but did you create a new custom IM report/format to go along with your new LP? It sounds like maybe the number or order of fields was not what the IM object was expecting. If give your lp the same prompts as tp_order_ack, then run tp_order_ack within your lp, sending the output to a tmp table, and from there only sending the fields you want to your new IM "report", you will hopefully avoid any garbled fields.