I know this was a topic on the list servs but I'm still having problems with orders not completely printing. In a multiple ticket order, only one might print or maybe just the header.
Any thoughts?
Stories PART A: my story We raised a help ticket on this kind of issue yesterday. and I found a quick fix. maybe you can try it. what happen is when final page send out by Tessitura to the printer, there is a table from sql server. in this table there are two columns are in charge. they are ele_type and val. when ele_type is "T", val cannot be NULL. if the row in print table returned from SQL server has a NULL value in val when ele_type is "T", the application will crash. the stored procedure returning the final table from SQL server can be TP_GET_TICKET_ORD_ELEMENTS or TP_GET_RECEIPT_INFO or TP_GET_HEADER_ELEMENTS. (You can catch them from sql profiler.) so what we can do about these SPs? find this part of code " select @val = substring( case when @t_ele_type = 'T' then @t_text_val "
Stories
PART A: my story
We raised a help ticket on this kind of issue yesterday. and I found a quick fix. maybe you can try it.
what happen is when final page send out by Tessitura to the printer, there is a table from sql server.
in this table there are two columns are in charge.
they are ele_type and val.
when ele_type is "T", val cannot be NULL.
if the row in print table returned from SQL server has a NULL value in val when ele_type is "T", the application will crash.
the stored procedure returning the final table from SQL server can be TP_GET_TICKET_ORD_ELEMENTS or TP_GET_RECEIPT_INFO or TP_GET_HEADER_ELEMENTS.
(You can catch them from sql profiler.)
so what we can do about these SPs?
find this part of code
"
select @val = substring( case when @t_ele_type = 'T' then @t_text_val
select @val =
substring(
case
when @t_ele_type = 'T' then @t_text_val
in those SPs.
Do this:
REPLACE
when @t_ele_type = 'T' then @t_text_val WITH
WITH
when @t_ele_type = 'T' then isnull(@t_text_val,'')
Then Try it again.
Sorry, you have to remember, do it in TEST only.
have fun.
PART B: it is your turn.
For mutliple tickets in same order,
you can also use sql profiler catch the statements.
like this:
execute
dbo.TP_GET_TICKET_ORD_ELEMENTS @li_seq_no = 448630, @print_unprinted = 'Y', @reprint_printed = 'Y', @sli_req_no = 0, @au_set_no =0
run this in SQL management studio.
then you can find out how many tickets should return.
The returned table will show all details sent to the printer through Tessitura PowerBuilder.
SPs, let's have a look again.
this is ticket sp :
TP_GET_TICKET_ORD_ELEMENTS
this is receipt sp:
TP_GET_RECEIPT_INFO
this is header sp:
TP_GET_HEADER_ELEMENTS
Catch them if you can.
:-) :-) :-)
Ben,
Thanks for the reply. I don't know if I'm at a point to dig through the code yet but if I do, I now know where to look.
Thanks,
John