Cursors for strip chart controls?
I’m using a strip chart control to plot data during real-time. I allow the operator to pause the chart to view old data. The operators would like to be able to see a specific value when the chart is paused, either by enabling cursors, or clicking over a point on the chart with the mouse. I don’t see any way to do this for a strip chart control, or am I missing something?
Thanks!
Angie
Edited to add: I'm using CVI 2010.
Some ideas have been suggested here and here, may be it's of interest
Similar Messages
-
Text on xAxis for stacked chart
Hi All,
I am using the following code for stacked chart control. I am able to display the text along Yaxis but not able to do the same with xAxis. I am uding the following code. Please advice.
var testchart = new sap.viz.ui5.StackedColumn("oChart",{
width: "50%",
height: "50%",
title: { visible : true, text : 'Production Field1' },
xAxis : {
title : {
text: 'test',
visible : true
yAxis:{
title:{text: 'BOE (Thousands)', visible:true}
dataset: dataset
Thanks in advance.I was not aware that it was slower. It could be that, by trying to plot all four at one time, you are putting the processor through more work as opposed to updating four charts at different times. Even if they seem to update at the same time, they could not technically do this because execution would only run one at a time. Just a thought...
J.R. Allen -
Putting cursors on a strip chart
I have inheritated old code that records and diplays temperature over a few hours time with 20+ channels. I was hoping that there was a way to get a cursor on a strip chart that could display the x and y value at a given drag point of the cursor on the displayed data. I know that the cursor pallet is available on the plots but not on the charts. Finally, the way the data is broght in and handled a chart is the best way to display the data. Using a plot would require significant re-write. Any suggestions?
Solved!
Go to Solution.I found an example that relates to this issue:
https://decibel.ni.com/content/docs/DOC-8464
There is also an explanation of two options you have to recreate settings similar to a plot/graph:
http://digital.ni.com/public.nsf/allkb/B1B0877A28D75D4086257592002F0AB7?OpenDocument
Applications Engineer
National Instruments -
Hallo,
I have a little crazy question - is there some possibility to access strip chart history buffer?
I'm just lazy to develop data circular buffer management ....
Thanks a lot for any hint!
GeorgeHi, Evan,
thanks for reply.
My idea is use already used memory of the strip chart (not duplicate the amount of allocating memory) - mainly to export recorded traces - e.g. when user decided: "this is interesting - let's make some analysis of this, maybe at home".
The Strip Chart hasn't simple solution to use cursors - and by exporting the history buffer (traces) to some file / array is quite easy use standard graph with cursors etc.
Of course, the cicular buffer is OK.
George -
Replace the following open/fetch/close statements with a cursor FOR loop
Hi anyone could you please help me,
I would like to replace the following open/fetch/close statements with a cursor FOR loop.
Codes are:
CREATE OR REPLACE PROCEDURE COMOES.orchid_shipment_interface IS
-- get the com shipment header records
CURSOR c_com_shphdr ( p_dwn_end_dt DATE ) IS
SELECT custno client_id
, plheadno plheadno
, DECODE(carr_no,'FEDX',lading_no,'UPS',lading_no,carrier_pro_no) tracking_no
, carr_no||'/'||carr_method carrier_id
, plantid plant_id
, carr_no
, lading_no
, del_custaddr ship_to_id
, ol_type cfm_order_type
, del_custno
, shipterm freight_terms
, del_custattn attn_line
, custaddr
FROM com_plhead@com_pricing.world
WHERE status = '9'
AND (mod_dat) > p_dwn_end_dt;
-- get the com shipment address records
CURSOR c_com_shpadr (p_custaddr VARCHAR2) IS
SELECT name1 addr_name
, street1 addr_line1
, street2 addr_line2
, city city
, state state_cd
, zip zip
, country country_cd
, phone work_phone
, email email1
FROM com_address@com_pricing.world
WHERE addr_id = p_custaddr;
-- get the com shipment detail records
CURSOR c_com_shpdtl ( p_plheadno NUMBER) IS
SELECT pll.plheadno pllheadno
, pll.pllineno ord_line_no
, pll.ol_no erp_line_no
, pll.ol_segno
, pll.fg_id sku
, pll.qty_shipped ship_qty
, pll.ordno erp_ord_no
FROM com_plline@com_pricing.world pll
WHERE pll.plheadno = p_plheadno
AND NOT EXISTS (SELECT '1'
FROM com_pkg_int_interface@com_pricing.world cpi
WHERE pll.ordno = cpi.ordno
AND pll.ol_no = cpi.ol_no);
-- type declaration
-- type declaration of com table.
TYPE t_com_shphdr IS TABLE OF c_com_shphdr%ROWTYPE INDEX BY BINARY_INTEGER;
TYPE t_orchid_shphdr IS TABLE OF orchid_shipment_hdr_intf%ROWTYPE INDEX BY BINARY_INTEGER;
TYPE t_com_shpadr IS TABLE OF c_com_shpadr%ROWTYPE INDEX BY BINARY_INTEGER;
TYPE t_orchid_shpadr IS TABLE OF orchid_shipment_address_intf%ROWTYPE INDEX BY BINARY_INTEGER;
TYPE t_com_shpdtl IS TABLE OF c_com_shpdtl%ROWTYPE INDEX BY BINARY_INTEGER;
TYPE t_orchid_shpdtl IS TABLE OF orchid_shipment_dtl_intf%ROWTYPE INDEX BY BINARY_INTEGER;
lv_company_code com_customer.business_unit%TYPE;
lv_erp_ord_no com_plline.ordno%TYPE;
lv_actual_ship_date com_plline.confirm_date%TYPE;
lv_po_no com_oline.po_no%TYPE;
lv_ord_date com_oline.entrydate%TYPE;
lv_hdr_batch_ctrl_no download_batch_info.batch_ctrl_no%TYPE;
lv_adr_batch_ctrl_no download_batch_info.batch_ctrl_no%TYPE;
lv_dtl_batch_ctrl_no download_batch_info.batch_ctrl_no%TYPE;
lv_sku_desc com_salesitem.title%TYPE;
lv_ord_qty com_oldelseg.qty%TYPE;
lr_com_shphdr t_com_shphdr;
lr_orchid_shphdr t_orchid_shphdr;
lr_com_shpadr t_com_shpadr;
lr_orchid_shpadr t_orchid_shpadr;
lr_com_shpdtl t_com_shpdtl;
lr_orchid_shpdtl t_orchid_shpdtl;
-- variable declaration
ln_shphdr_seq NUMBER(10):= 0;
ln_shpadr_seg NUMBER(10):= 0;
ln_shpdtl_seq NUMBER(10):= 0;
cnt NUMBER(10):= 0;
cnt1 NUMBER(10):= 0;
ld_hdr_dwn_end_dt download_batch_info.download_end_tstamp%TYPE;
lc_hdr_dwn_status download_batch_info.dwn_status%TYPE;
ld_hdr_download_end_tstamp DATE;
ln_hdr_running_seq NUMBER(10) := 0;
ld_adr_dwn_end_dt download_batch_info.download_end_tstamp%TYPE;
lc_adr_dwn_status download_batch_info.dwn_status%TYPE;
ld_adr_download_end_tstamp DATE;
ln_adr_running_seg NUMBER(10) := 0;
ld_dtl_dwn_end_dt download_batch_info.download_end_tstamp%TYPE;
lc_dtl_dwn_status download_batch_info.dwn_status%TYPE;
ld_dtl_download_end_tstamp DATE;
ln_dtl_running_seq NUMBER(10) := 0;
BEGIN
-- get the batch control number details from batch information table for shipment header
BEGIN
SELECT batch_ctrl_no
, NVL(download_end_tstamp,TO_DATE('01/01/1980','MM/DD/YYYY'))
, dwn_status
INTO lv_hdr_batch_ctrl_no
, ld_hdr_dwn_end_dt
, lc_hdr_dwn_status
FROM comoes.download_batch_info
WHERE download_id = 'ORCHID_SHIPMENT_HDR_INTF';
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE (' No Data Found for ORCHID_SHIPMENT_HDR_INTF in Download Batch Info table...!!!');
RAISE;
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE (' Too Many Rows found for ORCHID_SHIPMENT_HDR_INTF in Download Batch Info table...!!!');
RAISE;
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE (' Following error occured while getting batch control number for ORCHID_SHIPMENT_HDR_INTF in Download Batch Info table...!!!'||SQLERRM);
RAISE;
END;
-- get the batch control number details from batch information table for shipment address
BEGIN
SELECT batch_ctrl_no
, NVL(download_end_tstamp,TO_DATE('01/01/1980','MM/DD/YYYY'))
, dwn_status
INTO lv_adr_batch_ctrl_no
, ld_adr_dwn_end_dt
, lc_adr_dwn_status
FROM comoes.download_batch_info
WHERE download_id = 'ORCHID_SHIPMENT_ADDRESS_INTF';
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE (' No Data Found for ORCHID_SHIPMENT_ADDRESS_INTF in Download Batch Info table...!!!');
RAISE;
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE (' Too Many Rows found for ORCHID_SHIPMENT_ADDRESS_INTF in Download Batch Info table...!!!');
RAISE;
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE (' Following error occured while getting batch control number for ORCHID_SHIPMENT_ADDRESS_INTF in Download Batch Info table...!!!'||SQLERRM);
RAISE;
END;
-- get the batch control number details from batch information table for shipment details
BEGIN
SELECT batch_ctrl_no
, NVL(download_end_tstamp,TO_DATE('01/01/1980','MM/DD/YYYY'))
, dwn_status
INTO lv_dtl_batch_ctrl_no
, ld_dtl_dwn_end_dt
, lc_dtl_dwn_status
FROM download_batch_info
WHERE download_id = 'ORCHID_SHIPMENT_DTL_INTF';
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE (' No Data Found for ORCHID_SHIPMENT_DTL_INTF in Download Batch Info table...!!!');
RAISE;
WHEN TOO_MANY_ROWS THEN
DBMS_OUTPUT.PUT_LINE (' Too Many Rows found for ORCHID_SHIPMENT_DTL_INTF in Download Batch Info table...!!!');
RAISE;
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE (' Following error occured while getting batch control number for ORCHID_SHIPMENT_DTL_INTF in Download Batch Info table...!!!'||SQLERRM);
RAISE;
END;
-- if previous run is not sucess then do nothing and return.
OPEN c_com_shphdr ( ld_hdr_dwn_end_dt ) ;
LOOP
-- delete the collection for every cycle
lr_com_shphdr.DELETE;
lr_orchid_shphdr.DELETE;
lr_com_shpadr.DELETE;
lr_orchid_shpadr.DELETE;
lr_com_shpdtl.DELETE;
lr_orchid_shpdtl.DELETE;
-- fetch the order header records to collection
FETCH c_com_shphdr BULK COLLECT INTO lr_com_shphdr LIMIT 500;
-- where there is no record in the collection the exit from the loop
EXIT WHEN lr_com_shphdr.COUNT = 0;
-- build your logic there to populate the data into order header collection.
FOR i IN 1..lr_com_shphdr.COUNT
LOOP
-- accumulate header running sequence number
ln_hdr_running_seq := ln_hdr_running_seq + 1;
ln_shphdr_seq := ln_hdr_running_seq;
-- Get the business unit for the customer from com_customer
BEGIN
SELECT business_unit
INTO lv_company_code
FROM com_customer@com_pricing.world
WHERE custno = lr_com_shphdr(i).del_custno;
EXCEPTION
WHEN OTHERS THEN
lv_company_code := NULL;
END;
-- Get the ordno, confirm_date from COM_PLLINE
BEGIN
SELECT ordno
, confirm_date
INTO lv_erp_ord_no
, lv_actual_ship_date
FROM com_plline@com_pricing.world cpl
WHERE cpl.plheadno = lr_com_shphdr(i).plheadno
AND ROWNUM = 1;
EXCEPTION
WHEN OTHERS THEN
lv_erp_ord_no := NULL;
lv_actual_ship_date := NULL;
END;
-- Get the po_no, Entry_date from COM_OLINE
BEGIN
SELECT po_no
, entrydate
INTO lv_po_no
, lv_ord_date
FROM com_oline@com_pricing.world col
WHERE col.ordno = lv_erp_ord_no
AND ROWNUM = 1;
EXCEPTION
WHEN OTHERS THEN
lv_po_no := NULL;
lv_ord_date := NULL;
END;
-- To assign the Bol Number from Lading Number
IF lr_com_shphdr(i).carr_no NOT IN ('FEDX','UPS') THEN
lr_orchid_shphdr(i).bol_no := lr_com_shphdr(i).lading_no;
ELSE
lr_orchid_shphdr(i).bol_no := NULL;
END IF;
-- For each order header get the Shipment Delivery Adderss
OPEN c_com_shpadr ( lr_com_shphdr(i).custaddr);
FETCH c_com_shpadr BULK COLLECT INTO lr_com_shpadr;
-- where there is no record in the collection the exit from the loop
EXIT WHEN lr_com_shpadr.COUNT = 0;
-- biuld your logic here to populate the del address collection.
FOR j IN 1..lr_com_shpadr.COUNT
LOOP
-- accumulate the loop count into temp variable, so that will through tell each set of order header.
cnt := cnt + 1;
-- accumolate the header running sequence number.
ln_adr_running_seg := ln_adr_running_seg + 1;
ln_shpadr_seg := ln_adr_running_seg;
-- move the order address data into collection.
lr_orchid_shpadr(cnt).client_id := lr_com_shphdr(i).del_custno;
lr_orchid_shpadr(cnt).ord_no := lr_com_shphdr(i).plheadno;
lr_orchid_shpadr(cnt).tracking_no := lr_com_shphdr(i).tracking_no;
lr_orchid_shpadr(cnt).addr_name := lr_com_shpadr(j).addr_name;
lr_orchid_shpadr(cnt).attn_line := lr_com_shphdr(i).attn_line;
lr_orchid_shpadr(cnt).addr_line1 := lr_com_shpadr(j).addr_line1;
lr_orchid_shpadr(cnt).addr_line2 := lr_com_shpadr(j).addr_line2;
lr_orchid_shpadr(cnt).addr_line3 := NULL;
lr_orchid_shpadr(cnt).addr_line4 := NULL;
lr_orchid_shpadr(cnt).addr_line5 := NULL;
lr_orchid_shpadr(cnt).city := lr_com_shpadr(j).city;
lr_orchid_shpadr(cnt).state_cd := lr_com_shpadr(j).state_cd;
lr_orchid_shpadr(cnt).zip := lr_com_shpadr(j).zip;
lr_orchid_shpadr(cnt).zip_ext := NULL;
lr_orchid_shpadr(cnt).country_cd := lr_com_shpadr(j).country_cd;
lr_orchid_shpadr(cnt).tax_geo_cd := NULL;
lr_orchid_shpadr(cnt).work_phone := lr_com_shpadr(j).work_phone;
lr_orchid_shpadr(cnt).email1 := lr_com_shpadr(j).email1;
lr_orchid_shpadr(cnt).cre_dat := SYSDATE;
lr_orchid_shpadr(cnt).cre_usr := USER;
lr_orchid_shpadr(cnt).batch_ctrl_no := lv_adr_batch_ctrl_no;
END LOOP;
CLOSE c_com_shpadr;
-- For each order header get the order detail/delivery segment data
OPEN c_com_shpdtl ( lr_com_shphdr(i).plheadno );
FETCH c_com_shpdtl BULK COLLECT INTO lr_com_shpdtl;
-- where there is no record in the collection the exit from the loop
EXIT WHEN lr_com_shpdtl.COUNT = 0;
-- build your logic here to populate the order detail collection
FOR k IN 1..lr_com_shpdtl.COUNT
LOOP
-- accumulate the loop count into a temp variable, so that will through till each set of Order Header.
cnt1 := cnt1 + 1;
-- accumulate header running sequence number
ln_dtl_running_seq := ln_dtl_running_seq + 1;
ln_shpdtl_seq := ln_dtl_running_seq;
-- Get Quantity for the delvery from delevery segment table.
BEGIN
SELECT NVL(Qty,0)
INTO lv_ord_qty
FROM com_oldelseg@com_pricing.world cds
WHERE cds.ordno = lr_com_shpdtl(k).erp_ord_no
AND cds.ol_no = lr_com_shpdtl(k).erp_line_no
AND cds.ol_segno = lr_com_shpdtl(k).ol_segno;
EXCEPTION
WHEN OTHERS THEN
lv_ord_qty := NULL;
END;
-- Get Title for the salesitem from the salesitem table.
BEGIN
SELECT Title
INTO lv_sku_desc
FROM com_salesitem@com_pricing.world cs
WHERE cs.fg_id = lr_com_shpdtl(k).sku;
EXCEPTION
WHEN OTHERS THEN
lv_sku_desc := NULL;
END;
-- move the Order detail data into collection
lr_orchid_shpdtl(cnt1).client_id := lr_com_shphdr(i).client_id;
lr_orchid_shpdtl(cnt1).ord_no := lr_com_shphdr(i).plheadno;
lr_orchid_shpdtl(cnt1).ord_line_no := lr_com_shpdtl(k).ord_line_no;
lr_orchid_shpdtl(cnt1).erp_line_no := lr_com_shpdtl(k).erp_line_no;
lr_orchid_shpdtl(cnt1).sku := lr_com_shpdtl(k).sku;
lr_orchid_shpdtl(cnt1).tracking_no := lr_com_shphdr(i).tracking_no;
lr_orchid_shpdtl(cnt1).container_no := NULL;
lr_orchid_shpdtl(cnt1).ord_qty := lv_ord_qty;
lr_orchid_shpdtl(cnt1).ship_qty := lr_com_shpdtl(k).ship_qty;
lr_orchid_shpdtl(cnt1).price_point := NULL;
lr_orchid_shpdtl(cnt1).pick_invoice_no := NULL;
lr_orchid_shpdtl(cnt1).cancel_qty := NULL;
lr_orchid_shpdtl(cnt1).bldg_id := NULL; --lr_com_shpdtl(k).bldg_id;
lr_orchid_shpdtl(cnt1).sku_company := NULL; --lr_com_shpdtl(k).sku_company;
lr_orchid_shpdtl(cnt1).sku_desc := lv_sku_desc;
lr_orchid_shpdtl(cnt1).icc_cd1 := NULL; --lr_com_shpdtl(k).icc_cd1;
lr_orchid_shpdtl(cnt1).erp_ord_no := lr_com_shpdtl(k).erp_ord_no;
lr_orchid_shpdtl(cnt1).cre_dat := SYSDATE;
lr_orchid_shpdtl(cnt1).cre_usr := USER;
lr_orchid_shpdtl(cnt1).batch_ctrl_no := lv_dtl_batch_ctrl_no;
END LOOP;
CLOSE c_com_shpdtl;
-- build the logic to populate Order Header
lr_orchid_shphdr(i).client_id := lr_com_shphdr(i).client_id;
lr_orchid_shphdr(i).ord_no := lr_com_shphdr(i).plheadno;
lr_orchid_shphdr(i).tracking_no := lr_com_shphdr(i).tracking_no;
lr_orchid_shphdr(i).container_no := NULL; -- container number is not maintained in COM
lr_orchid_shphdr(i).carrier_id := lr_com_shphdr(i).carrier_id;
lr_orchid_shphdr(i).plant_id := lr_com_shphdr(i).plant_id;
lr_orchid_shphdr(i).erp_ord_no := lv_erp_ord_no;
lr_orchid_shphdr(i).erp_ord_no2 := NULL;
lr_orchid_shphdr(i).po_no := lv_po_no;
lr_orchid_shphdr(i).ship_to_id := lr_com_shphdr(i).ship_to_id;
lr_orchid_shphdr(i).ship_to_addr_id := lr_com_shphdr(i).custaddr;
lr_orchid_shphdr(i).scac := NULL; --lr_com_shphdr(i).scac;
lr_orchid_shphdr(i).actual_ship_date := lv_actual_ship_date;
lr_orchid_shphdr(i).cfm_order_type := lr_com_shphdr(i).cfm_order_type;
lr_orchid_shphdr(i).company_code := lv_company_code;
lr_orchid_shphdr(i).no_of_order_lines := NULL; --lr_com_shphdr(i).no_of_order_lines;
lr_orchid_shphdr(i).pick_invoice_no := NULL;
lr_orchid_shphdr(i).ord_date := lv_ord_date;
lr_orchid_shphdr(i).orig_tender_date := NULL;
lr_orchid_shphdr(i).orig_delv_date := NULL;
lr_orchid_shphdr(i).delivery_flag := NULL;
lr_orchid_shphdr(i).delv_date_from := NULL;
lr_orchid_shphdr(i).delv_date_to := NULL;
lr_orchid_shphdr(i).orig_carr_cd := NULL;
lr_orchid_shphdr(i).routing_comment := NULL;
lr_orchid_shphdr(i).segment_type := NULL;
lr_orchid_shphdr(i).back_order_flag := NULL;
lr_orchid_shphdr(i).addr_override_flag := NULL;
lr_orchid_shphdr(i).fmx_assigned_carr := NULL;
lr_orchid_shphdr(i).fmx_assigned_ship_date := NULL;
lr_orchid_shphdr(i).fmx_assigned_delv_date := NULL;
lr_orchid_shphdr(i).freight_terms := lr_com_shphdr(i).freight_terms;
lr_orchid_shphdr(i).fmx_load_id := NULL;
lr_orchid_shphdr(i).asn_type := NULL;
lr_orchid_shphdr(i).icc_cd1 := NULL; --lr_com_shphdr(i).icc_cd1;
lr_orchid_shphdr(i).trans_type := NULL;
lr_orchid_shphdr(i).ref_no1 := NULL;
lr_orchid_shphdr(i).ref_no2 := NULL;
lr_orchid_shphdr(i).ref_no3 := NULL;
lr_orchid_shphdr(i).ref_no4 := NULL;
lr_orchid_shphdr(i).cre_dat := SYSDATE;
lr_orchid_shphdr(i).cre_usr := USER;
lr_orchid_shphdr(i).batch_ctrl_no := lv_hdr_batch_ctrl_no;
-- logic to get total boxes and weight.
BEGIN
SELECT SUM(no_cartons), SUM(weight)
INTO lr_orchid_shphdr(i).total_boxes
, lr_orchid_shphdr(i).weight
FROM com_plline@com_pricing.world pll
WHERE pll.plheadno = lr_com_shphdr(i).plheadno;
EXCEPTION
WHEN OTHERS THEN
lr_orchid_shphdr(i).total_boxes := NULL;
lr_orchid_shphdr(i).weight := NULL;
END;
END LOOP;
-- initialize the variables for next loop cycle.
cnt := 0;
cnt1 := 0;
-- populate the shipment header interface table.
FOR x IN 1..lr_orchid_shphdr.COUNT
LOOP
ld_hdr_download_end_tstamp := lr_orchid_shphdr(x).cre_dat;
INSERT INTO orchid_shipment_hdr_intf
(record_qualifier
,client_id
,ord_no
,tracking_no
,container_no
,bol_no
,carrier_id
,plant_id
,erp_ord_no
,erp_ord_no2
,po_no
,ship_to_id
,ship_to_addr_id
,scac
,actual_ship_date
,cfm_order_type
,company_code
,no_of_order_lines
,pick_invoice_no
,total_boxes
,weight
,ord_date
,orig_tender_date
,orig_delv_date
,delivery_flag
,delv_date_from
,delv_date_to
,orig_carr_cd
,routing_comment
,segment_type
,back_order_flag
,addr_override_flag
,fmx_assigned_carr
,fmx_assigned_ship_date
,fmx_assigned_delv_date
,freight_terms
,fmx_load_id
,asn_type
,upl_status
,icc_cd1
,trans_type
,ref_no1
,ref_no2
,ref_no3
,ref_no4
,cre_dat
,cre_usr
,batch_ctrl_no)
VALUES
( 10
,lr_orchid_shphdr(x).client_id
,lr_orchid_shphdr(x).ord_no
,lr_orchid_shphdr(x).tracking_no
,lr_orchid_shphdr(x).container_no
,lr_orchid_shphdr(x).bol_no
,lr_orchid_shphdr(x).carrier_id
,lr_orchid_shphdr(x).plant_id
,lr_orchid_shphdr(x).erp_ord_no
,lr_orchid_shphdr(x).erp_ord_no2
,lr_orchid_shphdr(x).po_no
,lr_orchid_shphdr(x).ship_to_id
,lr_orchid_shphdr(x).ship_to_addr_id
,lr_orchid_shphdr(x).scac
,lr_orchid_shphdr(x).actual_ship_date
,lr_orchid_shphdr(x).cfm_order_type
,lr_orchid_shphdr(x).company_code
,lr_orchid_shphdr(x).no_of_order_lines
,lr_orchid_shphdr(x).pick_invoice_no
,lr_orchid_shphdr(x).total_boxes
,lr_orchid_shphdr(x).weight
,lr_orchid_shphdr(x).ord_date
,lr_orchid_shphdr(x).orig_tender_date
,lr_orchid_shphdr(x).orig_delv_date
,lr_orchid_shphdr(x).delivery_flag
,lr_orchid_shphdr(x).delv_date_from
,lr_orchid_shphdr(x).delv_date_to
,lr_orchid_shphdr(x).orig_carr_cd
,lr_orchid_shphdr(x).routing_comment
,lr_orchid_shphdr(x).segment_type
,lr_orchid_shphdr(x).back_order_flag
,lr_orchid_shphdr(x).addr_override_flag
,lr_orchid_shphdr(x).fmx_assigned_carr
,lr_orchid_shphdr(x).fmx_assigned_ship_date
,lr_orchid_shphdr(x).fmx_assigned_delv_date
,lr_orchid_shphdr(x).freight_terms
,lr_orchid_shphdr(x).fmx_load_id
,lr_orchid_shphdr(x).asn_type
,00
,lr_orchid_shphdr(x).icc_cd1
,lr_orchid_shphdr(x).trans_type
,lr_orchid_shphdr(x).ref_no1
,lr_orchid_shphdr(x).ref_no2
,lr_orchid_shphdr(x).ref_no3
,lr_orchid_shphdr(x).ref_no4
,lr_orchid_shphdr(x).cre_dat
,lr_orchid_shphdr(x).cre_usr
,lr_orchid_shphdr(x).batch_ctrl_no);
END LOOP;
-- populate the shipment address interface table.
FOR y IN 1..lr_orchid_shpadr.COUNT
LOOP
ld_adr_download_end_tstamp := lr_orchid_shpadr(y).cre_dat;
INSERT INTO orchid_shipment_address_intf
( record_qualifier
, client_id
, ord_no
, tracking_no
, addr_name
, attn_line
, addr_line1
, addr_line2
, addr_line3
, addr_line4
, addr_line5
, city
, state_cd
, zip
, zip_ext
, country_cd
, tax_geo_cd
, work_phone
, email1
, cre_dat
, cre_usr
, batch_ctrl_no)
VALUES ( 14
, lr_orchid_shpadr(y).client_id
, lr_orchid_shpadr(y).ord_no
, lr_orchid_shpadr(y).tracking_no
, lr_orchid_shpadr(y).addr_name
, lr_orchid_shpadr(y).attn_line
, lr_orchid_shpadr(y).addr_line1
, lr_orchid_shpadr(y).addr_line2
, lr_orchid_shpadr(y).addr_line3
, lr_orchid_shpadr(y).addr_line4
, lr_orchid_shpadr(y).addr_line5
, lr_orchid_shpadr(y).city
, lr_orchid_shpadr(y).state_cd
, lr_orchid_shpadr(y).zip
, lr_orchid_shpadr(y).zip_ext
, lr_orchid_shpadr(y).country_cd
, lr_orchid_shpadr(y).tax_geo_cd
, lr_orchid_shpadr(y).work_phone
, lr_orchid_shpadr(y).email1
, lr_orchid_shpadr(y).cre_dat
, lr_orchid_shpadr(y).cre_usr
, lr_orchid_shpadr(y).batch_ctrl_no);
END LOOP;
-- populate the shipment detail interface table.
FOR z IN 1..lr_orchid_shpdtl.COUNT
LOOP
ld_dtl_download_end_tstamp := lr_orchid_shpdtl(z).cre_dat;
INSERT INTO orchid_shipment_dtl_intf
( record_qualifier
, client_id
, ord_no
, ord_line_no
, erp_line_no
, sku
, tracking_no
, container_no
, ord_qty
, ship_qty
, price_point
, pick_invoice_no
, cancel_qty
, bldg_id
, sku_company
, sku_desc
, icc_cd1
, erp_ord_no
, cre_dat
, cre_usr
, batch_ctrl_no)
VALUES ( 20
, lr_orchid_shpdtl(z).client_id
, lr_orchid_shpdtl(z).ord_no
, lr_orchid_shpdtl(z).ord_line_no
, lr_orchid_shpdtl(z).erp_line_no
, lr_orchid_shpdtl(z).sku
, lr_orchid_shpdtl(z).tracking_no
, lr_orchid_shpdtl(z).container_no
, lr_orchid_shpdtl(z).ord_qty
, lr_orchid_shpdtl(z).ship_qty
, lr_orchid_shpdtl(z).price_point
, lr_orchid_shpdtl(z).pick_invoice_no
, lr_orchid_shpdtl(z).cancel_qty
, lr_orchid_shpdtl(z).bldg_id
, lr_orchid_shpdtl(z).sku_company
, lr_orchid_shpdtl(z).sku_desc
, lr_orchid_shpdtl(z).icc_cd1
, lr_orchid_shpdtl(z).erp_ord_no
, lr_orchid_shpdtl(z).cre_dat
, lr_orchid_shpdtl(z).cre_usr
, lr_orchid_shpdtl(z).batch_ctrl_no);
END LOOP;
COMMIT;
END LOOP;
CLOSE c_com_shphdr;
-- set the status to success
UPDATE comoes.download_batch_info
SET batch_ctrl_no = orchid_plhead_btch_ctrl_seq.NEXTVAL
, dwn_status = '90'
, download_end_tstamp = NVL(ld_hdr_download_end_tstamp,SYSDATE)
WHERE download_id = 'ORCHID_SHIPMENT_HDR_INTF'
AND batch_ctrl_no = lv_hdr_batch_ctrl_no;
UPDATE comoes.download_batch_info
SET batch_ctrl_no = orchid_address_btch_ctrl_seq.NEXTVAL
, dwn_status = '90'
, download_end_tstamp = NVL(ld_hdr_download_end_tstamp,SYSDATE)
WHERE download_id = 'ORCHID_SHIPMENT_ADDRESS_INTF'
AND batch_ctrl_no = lv_adr_batch_ctrl_no;
UPDATE comoes.download_batch_info
SET batch_ctrl_no = orchid_plline_btch_ctrl_seq.NEXTVAL
, dwn_status = '90'
, download_end_tstamp = NVL(ld_dtl_download_end_tstamp,SYSDATE)
WHERE download_id = 'ORCHID_SHIPMENT_DTL_INTF'
AND batch_ctrl_no = lv_dtl_batch_ctrl_no;
-- Update the download status to success in the interface table.
-- Shipment Header
COMMIT;
EXCEPTION
WHEN OTHERS THEN
-- load is not sucess then set the status to fail
UPDATE comoes.download_batch_info
SET dwn_status = '99'
WHERE download_id = 'ORCHID_SHIPMENT_HDR_INTF'
AND batch_ctrl_no = lv_hdr_batch_ctrl_no;
UPDATE comoes.download_batch_info
SET dwn_status = '99'
WHERE download_id = 'ORCHID_SHIPMENT_ADDRESS_INTF'
AND batch_ctrl_no = lv_adr_batch_ctrl_no;
UPDATE comoes.download_batch_info
SET dwn_status = '99'
WHERE download_id = 'ORCHID_SHIPMENT_DTL_INTF'
AND batch_ctrl_no = lv_dtl_batch_ctrl_no;
COMMIT;
DBMS_OUTPUT.PUT_LINE('Following error occured while executing ORCHID_SHIPMENT_INTF procedure...!!!'||SQLERRM);
RAISE;
END orchid_shipment_interface;Edited by: BluShadow on 03-Aug-2011 13:28
added {noformat}{noformat} tags. Please read {message:id=9360002} to learn to do this yourself. &nbPlease read the Forum FAQ on how to ask a question, particularly how to format code
SQL and PL/SQL FAQ
SQL and PL/SQL FAQ
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE (' Following error occured while getting batch control number for ORCHID_SHIPMENT_HDR_INTF in Download Batch Info table...!!!'||SQLERRM);
RAISE;http://tkyte.blogspot.com/2008/01/why-do-people-do-this.html -
Is there a way to force the cursor into a string control when a vi is called
In a .vi I'm wrighting I need to input a new serail number at the beginning of each run. Is there a way to force the cursor into the string control box every time the start screen returns? eliminating the need for the operator to move the mouse around and click.
I would like to THANK all that have replied to my questions in the past. It has been a big help!
Thanks
TeBluesah, problem solved. what a community.
Message Edited by Space_Flight on 11-20-2006 10:08 AM
Attachments:
keyfocus.jpg 83 KB -
Dear all
I have connected chart control with SQL database but while loading the chart it displays following error please help me in finding
a solution for the error.
Thanks in advance
Conversion from string "Incident_Type to type 'integer is not valid
I don't know what is the mistake.
Private Sub RadioButton3_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton3.CheckedChanged
Try
If RadioButton3.Checked = True Then
Dim reader As SqlDataReader
cmd = New SqlCommand("Select * from ATRAForm", cn)
reader = cmd.ExecuteReader
While reader.Read
SCRChart.Series("Region_VS_Incident_Type").Points.AddXY(reader.GetString("Incident_Type"),reader.GetString("Region"))
End While
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
NademHi Mir Ahmad Raza Nadem,
As your issue is related to Chart, I'm moving your thread to a more appropriate
forum--Chart Forum for help. thanks for your understanding.
Regards,
Youjun Tang
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey. -
Change color in chart series (Chart Controls)?
Does anyone know if it's possible to change the color within a series in Microsoft Chart Controls? My data is X = test time and Y = response time using a column graph. Currently when the test to collect response time fails it does not
record a numerical value and when graphed it appears as though the response time was minimal. I want to make it stand out when a failure occurs, for example to draw a large column and change the color to red (other values are in blue).
I don't have much experience using Chart Controls yet. I know you can use an alternate color with a different series of data but it doesn't appear you can change it from within.
This is my chart series (when a test fails, the response matches "" and not $NULL):
[void]$chart1.Series.Add("ResponseTime")
$chart1.Series["ResponseTime"].ChartType = "Line"
$chart1.Series["ResponseTime"].BorderWidth = 1
$chart1.Series["ResponseTime"].IsVisibleInLegend = $true
$chart1.Series["ResponseTime"].chartarea = "ChartArea1"
$chart1.Series["ResponseTime"].color = "#0404B4"
$DATA | ForEach-Object {
If ($_.RESPONSE_MS -eq "") {
$chart1.Series["ResponseTime"].Points.addxy("FAIL",9999)
Else {
$chart1.Series["ResponseTime"].Points.addxy( $_.TIME.Remove(5) , ($_.RESPONSE_MS)) }
I tried changing the color within the if/else but the first .color value it picks up will be used throughout.Hi Tickermcse76,
To create a new line chart, please refer to this script:
function New-Chart
param ([int]$width,[int]$height,[int]$left,[int]$top,$chartTitle)
# create chart object
$global:Chart = New-object System.Windows.Forms.DataVisualization.Charting.Chart
$global:Chart.Width = $width
$global:Chart.Height = $height
$global:Chart.Left = $left
$global:Chart.Top = $top
# create a chartarea to draw on and add to chart
$chartArea = New-Object System.Windows.Forms.DataVisualization.Charting.ChartArea
$global:chart.ChartAreas.Add($chartArea)
[void]$global:Chart.Titles.Add($chartTitle)
# change chart area colour
$global:Chart.BackColor = [System.Drawing.Color]::Transparent
} #New-Chart
New-Chart -width $width -height $height -left $left -top $top -chartTile $chartTitle
[void]$global:Chart.Series.Add("Data")
# $global:Chart.Series["Data"].Points.AddXY($(get-date), $($ht.Values))
$global:Chart.Series["Data"].Points.DataBindXY($ht.Keys,$ht.Values)
#$global:Chart.Series["Data"].XValueType = [System.Windows.Forms.DataVisualization.Charting.ChartValueType]::Time
#$global:Chart.chartAreas[0].AxisX.LabelStyle.Format = "hh:mm:ss"
#$global:Chart.chartAreas[0].AxisX.LabelStyle.Interval = 1
#$global:Chart.chartAreas[0].AxisX.LabelStyle.IntervalType = [System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType]::Seconds
$global:Chart.Series["Data"].ChartType = [System.Windows.Forms.DataVisualization.Charting.SeriesChartType]::Line
#$global:chart.Series["Data"].IsValueShownAsLabel = $false
Reference from:
http://poshcode.org/1205
To change the chart color, please refer to this script:
Charting with PowerShell
I hope this helps. -
Error with cursor position on Chart
Hello
I'm getting an error with a simple Chart. I'm trying to show the chart position (using labels and a crosshair) and I'm getting an exception ONLY (it seems) when the program starts up with the cursor above the chart. If I move the cursor off to
the side or something I don't get the error.
Error: PositionToValue method cannot be called prior to calculating position of all chart area elements.
The error occurs in the MouseMove event handler.
private void crtPlotData_MouseMove(object sender, MouseEventArgs e)
Point mousePoint = new Point(e.X, e.Y);
crtPlotData.ChartAreas[0].CursorX.Interval = 0;
crtPlotData.ChartAreas[0].CursorY.Interval = 0;
crtPlotData.ChartAreas[0].CursorX.SetCursorPixelPosition(mousePoint, true);
crtPlotData.ChartAreas[0].CursorY.SetCursorPixelPosition(mousePoint, true);
lblXposition.Text = "Pixel X Position: " + crtPlotData.ChartAreas[0].AxisX.PixelPositionToValue(e.X).ToString();
lblYposition.Text = "Pixel Y Position: " + crtPlotData.ChartAreas[0].AxisY.PixelPositionToValue(e.Y).ToString();
HitTestResult result = crtPlotData.HitTest(e.X, e.Y);
if (result.PointIndex > -1 && result.ChartArea != null)
lblXvalue.Text = "X-Value: " + result.Series.Points[result.PointIndex].XValue.ToString();
lblYvalue.Text = "Y-Value: " + result.Series.Points[result.PointIndex].YValues[0].ToString();
}...etc.
The exception occurs at the "lblXposition.Text" statement.
For whatever reason if the cursor is above the chart at start up I get the error but I don't know how to prevent it long enough for "calculating position of all chart area elements".
Any help would be appreciated.
ThanksYet the event DOES work as long as the cursor is not within the chart boundaries at start up. ???
It happens to, but I would rely on the documentation. However, you can set a flag to true in the Paint event of the chart, and in the mouseMove handler, exit if the flag has not been set yet.
Armin -
How to use Chart control in VS2012 with 3.5 project
Hello.
I have 3.5 framework project with MS Chart, developed in vs 2008.
Now im moving to VS2012 and there is no chart control on tollbox in any projects below dotNet 4.0.
Is it possible to use MS Chart in dotNet 3.5 projects?I have the same problem updating 2008 project to 2013. Lots of errors loading the form.
Created a new project and had to drag and drop 3.5 onto the toolbox to get it to load. Could not add it or reference it. Dragged the tool onto form and it worked. Closed the form and opened it back up and get the same errors as the other project.
The variable 'ChartArea2' is either undeclared or was never assigned.
Instances of this error (1)
1. There is no stack trace or error line information available for this error.
Help with this error
MSDN Help
Forum posts about this error
Search the MSDN Forums for posts related to this error
The variable 'Legend2' is either undeclared or was never assigned.
Instances of this error (1)
1. There is no stack trace or error line information available for this error.
Help with this error
MSDN Help
Forum posts about this error
Search the MSDN Forums for posts related to this error
The variable 'Series2' is either undeclared or was never assigned.
Instances of this error (3)
1. There is no stack trace or error line information available for this error.
2. There is no stack trace or error line information available for this error.
3. There is no stack trace or error line information available for this error.
Help with this error
MSDN Help
Forum posts about this error
Search the MSDN Forums for posts related to this error
Could not find type 'System.Windows.Forms.DataVisualization.Charting.ChartArea'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully
built using settings for your current platform or Any CPU.
Instances of this error (1)
1. There is no stack trace or error line information available for this error.
Help with this error
Could not find an associated help topic for this error. Check Windows Forms Design-Time error list
Forum posts about this error
Search the MSDN Forums for posts related to this error
Could not find type 'System.Windows.Forms.DataVisualization.Charting.Legend'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully
built using settings for your current platform or Any CPU.
Instances of this error (1)
1. There is no stack trace or error line information available for this error.
Help with this error
Could not find an associated help topic for this error. Check Windows Forms Design-Time error list
Forum posts about this error
Search the MSDN Forums for posts related to this error
Could not find type 'System.Windows.Forms.DataVisualization.Charting.Series'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully
built using settings for your current platform or Any CPU.
Instances of this error (1)
1. There is no stack trace or error line information available for this error.
Help with this error
Could not find an associated help topic for this error. Check Windows Forms Design-Time error list
Forum posts about this error
Search the MSDN Forums for posts related to this error
Could not find type 'System.Windows.Forms.DataVisualization.Charting.Chart'. Please make sure that the assembly that contains this type is referenced. If this type is a part of your development project, make sure that the project has been successfully
built using settings for your current platform or Any CPU.
Instances of this error (1)
1. There is no stack trace or error line information available for this error.
Help with this error
Could not find an associated help topic for this error. Check Windows Forms Design-Time error list
Forum posts about this error
Search the MSDN Forums for posts related to this error
The variable 'Chart1' is either undeclared or was never assigned. -
To more specific class for waveform chart
Dear All
In the attached VI diagram the "To more specific class" gives an error messag:
LabVIEW: Type mismatch: Object cannot be type casted to the specified type.
so it can not work for my waveform chart. I think I changed some properties or some thing similar for my chart that can not work with this routine because it works for new instances of waveform charts but whatever I try to find the difference between my waveform chart and a new instance of waveform chart I don't not find any difference.
Do you have any clue?
Best regards
Afshin
Attachments:
VI2.JPG 59 KBTry to use the "Controls[]" and the "ClassName" property instead. See attachment.
Best regards
chris
CL(A)Dly bending G-Force with LabVIEW
famous last words: "oh my god, it is full of stars!"
Attachments:
WaveformChart.JPG 61 KB
WaveformChart_85.vi 18 KB
WaveformChart_85_CTL.ctl 9 KB -
Hi y'all
is there a way, besides just putting one strip chart on top of another strip chart and have it aligned just right to hide the x axis and be on the same x scale as the others. For example: Schart #1 represents the pressure in the system, Schart #2 current , Schart #3 voltage.
Now I could have all these on one strip chart but while acquiring data it is hard to determine one line from another when you have 16 channels scrolling past on the same strip chart.
What I am looking for is something like the digital graphs where you have multiple views on the same x axis.
Is there a way to do this besides stacking strip charts on top of one another?
Are there any proposed changes coming that would include this?
ThanksAs far as I know there is no possiblity to obtain your goal other than stacking more charts one on top of each other. The digital graph is lot more simple as digital signals can have only 0 or 1 value, so it is possible to plot them on the same graph with some y-offset without losing the real meaning of the signal itself. With analog signals this is considerably more complex, as each of them must reference to an analog scale.
Alternative ways to address your situation are to use the secondary Y-axis to hold some of the plots or to use the legend to permit hiding/showing individual plots to make easy to the user to read the chart.
Proud to use LW/CVI from 3.1 on.
My contributions to the Developer Zone Community
If I have helped you, why not giving me a kudos? -
I have a waveform graph with multiple plots and two cursors. I can use the "cursor->visible" property to control cursor #1 but I cannot seem to find a way to control the visible attribute for cursor #2. Is there a way to do this?
Thanks,
RGAThere's an "Active Cursor" property that allows you select which cursor the following actions operate on. Remember that property nodes "execute" from top to bottom...
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
How to set legend of strip chart in CVI8.0
Do somebody know how to set legend of strip chart in CVI8.0? I know that in CVI8.5 SettraceAttributeEx() can used to set legend of strip chart, but in CVI8.0, there is no the function. Thank you very much.
Hi Ravi,
If I am not wrong You are referring to article <b>Queues for Prioritized Message</b>. But this is about how to Prioritize message inside XI.
What I am intresetd in is to set a message priority (for example "2")for the message going to MQ. That is when the message reached the detination queue the priority of this message should be 2 in the queue.
Thanks
Abinash -
Htmlb chart control is not working
Hi All
I created chart using htmlb chart control as per documents given in pdk. but it is not displaying any thing on the browser,I am attaching code ,Please tell me where will the wrong
Thanks in advance
Gopal
Java:
create a new JCO table
JCO.Table table = new JCO.Table("DAX");
// add the info/header to the table. The header is defined by the column name,
// data type and length (see JCO table API for details).
table.addInfo("GROUPID", JCO.TYPE_CHAR, 50);
table.addInfo("X", JCO.TYPE_CHAR, 50);
table.addInfo("Y", JCO.TYPE_CHAR, 50);
table.addInfo("Z", JCO.TYPE_CHAR, 50);
table.addInfo("COLOR", JCO.TYPE_CHAR, 50);
table.addInfo("EXTENSION", JCO.TYPE_CHAR, 150);
// append a record to the table. setValue sets the value as string. The second
// parameter is the column. The numbers are according to the sequence of the
// definition of the header (see above).
table.appendRow();
table.setValue("07.2001",0);
table.setValue("SAP",1);
table.setValue("158",2);
table.setValue("20",3);
table.setValue("10",4);
table.setValue("href=\"http://www.sap-ag.de/\"",5);
// create a JCOChartModel and set the JCO table
IChartModel model = new JCOChartModel();
((JCOChartModel) model).setDataSrc(table);
myBean.setModel(model1);
JSP:
<jsp:useBean id="myBean" scope="session" class="com.sap.barchart.ModelBean" />
<hbj:content id="myContext" >
<hbj:page title="PageTitle">
<hbj:form id="myFormId" >
<hbj:chart
id="myChart1"
model="myBean.model"
visible="true"
displayObjectValues="true"
titleCategories="Company"
titleValues="Turnover"
title="Washers by Companies!"
chartType="BARS_3D"
colorOrder="DEFAULT"
height="200"
/>
</hbj:form>
</hbj:page>
</hbj:content>HI,
Check if the bean is null.
Try displaying it using classlib in the dynpage itself .
Regards
Bharathwaj
Maybe you are looking for
-
Hi Experts I am Converting smartform into PDF and send mail to the mailid mentioned in the vendor master. Upto PDF conversion its working fine, sending mail is the problem here, am getting value for sy-subrc is '2'. Iam attaching the code below, plea
-
Adding up multiple columns in report
On my rtf template I have 3 totals that show per row: <?BEGIN_SEATS?> <?MIN_SCHOOL2_BEG_SEATS?> <?MAX_SCHOOL2_BEG_SEATS?> I want to comput a total column for each row as well. I tried this: <?BEGIN_SEATS + MIN_SCHOOL2_BEG_SEATS + MAX_SCHOOL2_BEG_SEAT
-
Hi, Im a newbie to InDesign. I would really appreciate you guys to help me out of this technical problem. Scenario -> I have the page layout / images / text / frames,etc details in database. This skeletal view which are stored in database needs to be
-
IE vs. Firefox render help!!!
Hi there, I am having a problem getting my website to render properly in IE. www.msu.edu/~airforce You'll notice the drop down links (for example, all those under "links") are side by side. In firefox, however, they're laid out perfectly like a dro
-
TS1702 Apps not downloading just said waiting
Old apps and new one's when I try to download it just said waiting but the progress bar does not move I rebooted that did not help I logged out and back in to App Store and iTunes nothing working