There are no record selections list in the report. There are two selection criteria-by appointment and by number. The customer wants to see anything on an order that is picked and ready to ship. If there is nothing picked of that item they want totals but no info for the order. (That was the latest change). The procedure is below if you think you might have an idea.
drop procedure sp_lodbyitm;
CREATE PROCEDURE sp_lodbyitm(Appointment CHAR(30), Order CHAR(15))
RETURNING
CHAR(15),
INTEGER,
CHAR(15),
CHAR(30),
INTEGER,
CHAR(10),
CHAR(4),
CHAR(20),
DECIMAL(12,2),
CHAR(1),
CHAR(1),
INTEGER,
CHAR(40),
CHAR(40),
DECIMAL(12,2),
CHAR(20),
CHAR(15),
CHAR(4),
DECIMAL(12,2),
CHAR(6),
CHAR(15),
INTEGER,
DECIMAL(12,2),
INTEGER,
INTEGER;
DEFINE l_status CHAR(15);
DEFINE l_stop_seq LIKE om_f.stop_seq;
DEFINE l_shipment LIKE om_f.shipment;
DEFINE l_appt LIKE om_f.appt;
dEFINE l_loc LIKE cn_f.loc;
DEFINE l_cntype LIKE cn_f.cntype;
DEFINE l_cont LIKE iv_f.cont;
DEFINE l_qty LIKE od_f.cmp_qty;
DEFINE l_xo_bol LIKE xo_f.on_bol;
DEFINE l_xd_bol LIKE xd_f.on_bol;
DEFINE l_xd_lno LIKE xd_f.ob_lno;
DEFINE l_xo_cmt LIKE xo_f.cmt;
DEFINE l_xd_cmt LIKE xd_f.cmt;
DEFINE l_ord_qty LIKE od_f.ord_qty;
DEFINE l_sku LIKE od_f.sku;
DEFINE l_iv_ob_oid LIKE iv_f.ob_oid;
DEFINE l_hold LIKE od_f.hold;
DEFINE l_rsn_qty LIKE od_f.rsn_qty;
DEFINE l_ob_type LIKE od_f.ob_type;
DEFINE l_ob_oid LIKE om_f.ob_oid;
DEFINE l_ob_lno LIKE od_f.ob_lno;
DEFINE l_pk_qty LIKE iv_f.qty;
DEFINE l_num1,l_num2 LIKE xo_f.num;
DEFINE err_num SMALLINT;
ON EXCEPTION IN (-958) SET err_num
IF err_num = -206 THEN
DROP TABLE loaditmtmp;
END IF;
END EXCEPTION WITH RESUME;
SET ISOLATION TO DIRTY READ;
IF Appointment != "%" THEN
SELECT "Picked " as status,
om_f.stop_seq,
om_f.shipment,
om_f.appt,
cn_f.loc,
cn_f.cntype,
iv_f.cont,
od_f.cmp_qty as qty,
xo_f.on_bol as xo_bol,
xd_f.on_bol as xd_bol,
xd_f.ob_lno as xd_lno,
xo_f.cmt as xo_cmt,
xd_f.cmt as xd_cmt,
od_f.ord_qty as ord_qty,
od_f.sku,
iv_f.ob_oid as iv_ob_oid,
od_f.hold,
od_f.rsn_qty as rsn_qty,
om_f.ob_type,
om_f.ob_oid,
od_f.ob_lno,
Sum(iv_f.qty) as pk_qty,
xo_f.num as num1,
xd_f.num as num2
FROM om_f, od_f,OUTER xo_f,iv_f,OUTER xd_f, cn_f
WHERE om_f.appt LIKE upper(Appointment)
AND om_f.ob_oid LIKE upper(Order)
AND om_f.ob_oid = od_f.ob_oid
AND om_f.ob_type = od_f.ob_type
AND om_f.ob_oid = xo_f.ob_oid
AND om_f.ob_type = xo_f.ob_type
AND od_f.ob_lno = xd_f.ob_lno
AND od_f.ob_oid = xd_f.ob_oid
AND od_f.ob_type = xd_f.ob_type
AND od_f.ob_oid = iv_f.ob_oid
AND od_f.ob_type = iv_f.ob_type
AND od_f.sku = iv_f.sku
AND iv_f.cont = cn_f.cont
AND iv_f.ob_lno = od_f.ob_lno
GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24
INTO TEMP loaditmtmp WITH NO LOG;
INSERT INTO loaditmtmp
SELECT "Planned" as status,
om_f.stop_seq,
om_f.shipment,
om_f.appt,
" ",
" ",
iv_f.cont,
od_f.cmp_qty as qty,
xo_f.on_bol as xo_bol,
xd_f.on_bol as xd_bol,
xd_f.ob_lno as xd_lno,
xo_f.cmt as xo_cmt,
xd_f.cmt as xd_cmt,
od_f.ord_qty as ord_qty,
od_f.sku,
iv_f.ob_oid as iv_ob_oid,
od_f.hold,
od_f.rsn_qty as rsn_qty,
om_f.ob_type,
om_f.ob_oid,
od_f.ob_lno,
Sum(iv_f.qty) as pk_qty,
xo_f.num as num1,
xd_f.num as num2
FROM om_f, od_f,OUTER xo_f,iv_f,OUTER xd_f
WHERE om_f.appt LIKE upper(Appointment)
AND om_f.ob_oid LIKE upper(Order)
AND om_f.ob_oid = od_f.ob_oid
AND om_f.ob_type = od_f.ob_type
AND om_f.ob_oid = xo_f.ob_oid
AND om_f.ob_type = xo_f.ob_type
AND od_f.ob_lno = xd_f.ob_lno
AND od_f.ob_oid = xd_f.ob_oid
AND od_f.ob_type = xd_f.ob_type
AND od_f.ob_oid = iv_f.ob_oid
AND od_f.ob_type = iv_f.ob_type
AND od_f.sku = iv_f.sku
AND iv_f.ob_lno = od_f.ob_lno
AND (NOT EXISTS ( SELECT 1 FROM cn_f
WHERE cn_f.cont = iv_f.cont))
GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24;
INSERT INTO loaditmtmp
SELECT "Unplanned" as status,
om_f.stop_seq,
om_f.shipment,
om_f.appt,
'' as loc,
'' as cntype,
'' as cont,
0 as qty,
xo_f.on_bol as xo_bol,
xd_f.on_bol as xd_bol,
xd_f.ob_lno as xd_lno,
xo_f.cmt as xo_cmt,
xd_f.cmt as xd_cmt,
od_f.ord_qty as ord_qty,
od_f.sku,
'' as iv_ob_oid,
od_f.hold,
od_f.rsn_qty as rsn_qty,
om_f.ob_type,
om_f.ob_oid,
od_f.ob_lno,
0 as pk_qty,
xo_f.num as num1,
xd_f.num as num2
FROM om_f, od_f, OUTER xd_f, OUTER xo_f
WHERE om_f.appt LIKE upper(Appointment)
AND om_f.ob_oid LIKE upper(Order)
and om_f.ob_oid = od_f.ob_oid
AND om_f.ob_type = od_f.ob_type
AND od_f.ob_oid = xd_f.ob_oid
AND od_f.ob_type = xd_f.ob_type
AND od_f.ob_lno = xd_f.ob_lno
AND od_f.ob_oid = xo_f.ob_oid
AND od_f.ob_type = xo_f.ob_type
AND (NOT EXISTS ( SELECT 1 FROM iv_f
WHERE od_f.ob_lno = iv_f.ob_lno
AND od_f.ob_oid = iv_f.ob_oid
AND od_f.ob_type = iv_f.ob_type))
GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24;
ELSE
SELECT "Picked " as status,
om_f.stop_seq,
om_f.shipment,
om_f.appt,
cn_f.loc,
cn_f.cntype,
iv_f.cont,
od_f.cmp_qty as qty,
xo_f.on_bol as xo_bol,
xd_f.on_bol as xd_bol,
xd_f.ob_lno as xd_lno,
xo_f.cmt as xo_cmt,
xd_f.cmt as xd_cmt,
od_f.ord_qty as ord_qty,
od_f.sku,
iv_f.ob_oid as iv_ob_oid,
od_f.hold,
od_f.rsn_qty as rsn_qty,
om_f.ob_type,
om_f.ob_oid,
od_f.ob_lno,
Sum(iv_f.qty) as pk_qty,
xo_f.num as num1,
xd_f.num as num2
FROM om_f, od_f,OUTER xo_f,iv_f,OUTER xd_f, cn_f
WHERE om_f.ob_oid LIKE upper(Order)
AND om_f.ob_oid = od_f.ob_oid
AND om_f.ob_type = od_f.ob_type
AND om_f.ob_oid = xo_f.ob_oid
AND om_f.ob_type = xo_f.ob_type
AND od_f.ob_lno = xd_f.ob_lno
AND od_f.ob_oid = xd_f.ob_oid
AND od_f.ob_type = xd_f.ob_type
AND od_f.ob_oid = iv_f.ob_oid
AND od_f.ob_type = iv_f.ob_type
AND od_f.sku = iv_f.sku
AND iv_f.cont = cn_f.cont
AND iv_f.ob_lno = od_f.ob_lno
GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24
INTO TEMP loaditmtmp WITH NO LOG;
INSERT INTO loaditmtmp
SELECT "Planned" as status,
om_f.stop_seq,
om_f.shipment,
om_f.appt,
" ",
" ",
iv_f.cont,
od_f.cmp_qty as qty,
xo_f.on_bol as xo_bol,
xd_f.on_bol as xd_bol,
xd_f.ob_lno as xd_lno,
xo_f.cmt as xo_cmt,
xd_f.cmt as xd_cmt,
od_f.ord_qty as ord_qty,
od_f.sku,
iv_f.ob_oid as iv_ob_oid,
od_f.hold,
od_f.rsn_qty as rsn_qty,
om_f.ob_type,
om_f.ob_oid,
od_f.ob_lno,
Sum(iv_f.qty) as pk_qty,
xo_f.num as num1,
xd_f.num as num2
FROM om_f, od_f,OUTER xo_f,iv_f,OUTER xd_f
WHERE om_f.ob_oid LIKE upper(Order)
AND om_f.ob_oid = od_f.ob_oid
AND om_f.ob_type = od_f.ob_type
AND om_f.ob_oid = xo_f.ob_oid
AND om_f.ob_type = xo_f.ob_type
AND od_f.ob_lno = xd_f.ob_lno
AND od_f.ob_oid = xd_f.ob_oid
AND od_f.ob_type = xd_f.ob_type
AND od_f.ob_oid = iv_f.ob_oid
AND od_f.ob_type = iv_f.ob_type
AND od_f.sku = iv_f.sku
AND iv_f.ob_lno = od_f.ob_lno
AND (NOT EXISTS ( SELECT 1 FROM cn_f
WHERE cn_f.cont = iv_f.cont))
GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24;
INSERT INTO loaditmtmp
SELECT "Unplanned" as status,
om_f.stop_seq,
om_f.shipment,
om_f.appt,
'' as loc,
'' as cntype,
'' as cont,
0 as qty,
xo_f.on_bol as xo_bol,
xd_f.on_bol as xd_bol,
xd_f.ob_lno as xd_lno,
xo_f.cmt as xo_cmt,
xd_f.cmt as xd_cmt,
od_f.ord_qty as ord_qty,
od_f.sku,
'' as iv_ob_oid,
od_f.hold,
od_f.rsn_qty as rsn_qty,
om_f.ob_type,
om_f.ob_oid,
od_f.ob_lno,
0 as pk_qty,
xo_f.num as num1,
xd_f.num as num2
FROM om_f, od_f, OUTER xd_f, OUTER xo_f
WHERE om_f.ob_oid LIKE upper(Order)
and om_f.ob_oid = od_f.ob_oid
AND om_f.ob_type = od_f.ob_type
AND od_f.ob_oid = xd_f.ob_oid
AND od_f.ob_type = xd_f.ob_type
AND od_f.ob_lno = xd_f.ob_lno
AND od_f.ob_oid = xo_f.ob_oid
AND od_f.ob_type = xo_f.ob_type
AND (NOT EXISTS ( SELECT 1 FROM iv_f
WHERE od_f.ob_lno = iv_f.ob_lno
AND od_f.ob_oid = iv_f.ob_oid
AND od_f.ob_type = iv_f.ob_type))
GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,23,24;
END IF;
FOREACH
SELECT status, stop_seq, shipment, appt,loc,cntype,cont,
qty,xo_bol,xd_bol,xd_lno, xo_cmt, xd_cmt, ord_qty,sku, iv_ob_oid,
hold, rsn_qty, ob_type, ob_oid, ob_lno,pk_qty,num1,num2
INTO l_status, l_stop_seq,l_shipment,l_appt,l_loc,
l_cntype,l_cont,l_qty,l_xo_bol,l_xd_bol,l_xd_lno,l_xo_cmt,l_xd_cmt,
l_ord_qty,l_sku,l_iv_ob_oid,l_hold,l_rsn_qty,l_ob_type,l_ob_oid,
l_ob_lno,l_pk_qty,l_num1,l_num2
FROM loaditmtmp
RETURN l_status, l_stop_seq,l_shipment,l_appt," ",l_loc,
l_cntype,l_cont,l_qty,l_xo_bol,l_xd_bol,l_xd_lno,l_xo_cmt,l_xd_cmt,
l_ord_qty,l_sku,l_iv_ob_oid,l_hold,l_rsn_qty,l_ob_type,l_ob_oid,
l_ob_lno,l_pk_qty,l_num1,l_num2
WITH RESUME;
END FOREACH;
DROP TABLE loaditmtmp;
END PROCEDURE;