HI ,
Oracle db 10g rel2 , windows 7 ,
CREATE TABLE CURRENCIES
(
ID NUMBER,
NAME VARCHAR2(50 BYTE),
DESCRIPTION VARCHAR2(100 BYTE),
ACTIVE NUMBER(1)
);
ALTER TABLE CURRENCIES ADD (
CONSTRAINT CURRENCIES_PK
PRIMARY KEY
(ID));
CREATE TABLE SUPPLIERS_AND_CUSTOMERS
(
ID NUMBER CONSTRAINT NNC_CUSTOMERSV1_CUSTOMER_NO NOT NULL,
NAME VARCHAR2(100 BYTE),
WEBSITE VARCHAR2(50 BYTE),
NOTES VARCHAR2(200 BYTE),
FIRM VARCHAR2(70 BYTE),
TYPE NUMBER,
ACCOUNT_TYPE NUMBER,
EMAIL VARCHAR2(90 BYTE)
);
COMMENT ON COLUMN SUPPLIERS_AND_CUSTOMERS.ACCOUNT_TYPE IS 'CUSTOMER , SUPPLIER , CUSTOMER_AND_SUPPLIER = 1 ,2 ,3 RESPECTIVELY .';
COMMENT ON COLUMN SUPPLIERS_AND_CUSTOMERS.TYPE IS '??? ?????? ?? ??????, ???? ????? , ???? ???? , ????';
ALTER TABLE SUPPLIERS_AND_CUSTOMERS ADD (
CONSTRAINT SUPPLIER_PK
PRIMARY KEY
(ID));
CREATE TABLE SALES_ORDER
(
ORDER_ID NUMBER,
CUSTOMER_ID NUMBER,
SALE_DATE DATE,
PAYMENT_METHOD VARCHAR2(1 BYTE),
STATUS VARCHAR2(1 BYTE),
DISCOUNT NUMBER,
NOTES VARCHAR2(100 BYTE),
INSTALLMENTS_NUMBER NUMBER,
DISCOUNT_UNIT NUMBER,
CREATED_BY VARCHAR2(50 BYTE),
MODIFIED_BY VARCHAR2(50 BYTE),
MODIFY_DATE DATE,
REP VARCHAR2(50 BYTE),
SALE_CUR NUMBER
);
COMMENT ON COLUMN SALES_ORDER.REP IS 'Representative';
ALTER TABLE SALES_ORDER ADD (
CONSTRAINT SALES_ORDER_PK
PRIMARY KEY
(ORDER_ID));
ALTER TABLE SALES_ORDER ADD (
CONSTRAINT SO_CURR_SALECUR_FK
FOREIGN KEY (SALE_CUR)
REFERENCES CURRENCIES (ID));
CREATE TABLE SALES_ORDER_DETAIL
(
ORDER_ID NUMBER,
UNIT_PRICE NUMBER(5,2),
DISCOUNT NUMBER(5,2),
BONUS NUMBER,
EXPIRY_DATE DATE,
QTY NUMBER,
SALE_UNIT_CODE NUMBER,
SERIAL NUMBER,
SALE_TAX NUMBER,
DISCOUNT_UNIT NUMBER,
ITEM_ID NUMBER,
CREATED_BY VARCHAR2(50 BYTE),
MODIFIED_BY VARCHAR2(50 BYTE),
MODIFY_DATE DATE,
CREATE_DATE DATE
);
ALTER TABLE SALES_ORDER_DETAIL ADD (
CONSTRAINT ORDRID_ITMID_EXPDATE_CPK
PRIMARY KEY
(ORDER_ID, ITEM_ID, EXPIRY_DATE));
ALTER TABLE SALES_ORDER_DETAIL ADD (
CONSTRAINT SOD_SO_ORDERID_FK
FOREIGN KEY (ORDER_ID)
REFERENCES SALES_ORDER (ORDER_ID)
ON DELETE CASCADE);
CREATE TABLE SALES_ORDER_PAYMENTS
(
PAYMENT_ID NUMBER,
ORDER_ID NUMBER,
PAYMENT_DATE DATE,
PAYMENT_AMOUNT NUMBER,
CREATED_BY VARCHAR2(50 BYTE),
MODIFIED_BY VARCHAR2(50 BYTE),
MODIFY_DATE DATE,
ADVANCE NUMBER(1),
NOTES VARCHAR2(200 BYTE)
);
ALTER TABLE SALES_ORDER_PAYMENTS ADD (
CONSTRAINT PO_PAYMENTS_PK
PRIMARY KEY
(PAYMENT_ID));
ALTER TABLE SALES_ORDER_PAYMENTS ADD (
CONSTRAINT SO_SOP_ORDERID_FK
FOREIGN KEY (ORDER_ID)
REFERENCES SALES_ORDER (ORDER_ID));
CREATE TABLE SALES_RETURN
(
ORDER_ID NUMBER,
CUSTOMER_ID NUMBER,
SALE_DATE DATE,
NOTES VARCHAR2(100 BYTE),
CREATED_BY VARCHAR2(50 BYTE),
MODIFIED_BY VARCHAR2(50 BYTE),
MODIFY_DATE DATE,
RETURN_DATE DATE,
RETURN_REASON_ID NUMBER,
SALES_RETURN_ID NUMBER,
STATUS VARCHAR2(1 BYTE),
REP VARCHAR2(90 BYTE),
CUR NUMBER
);
COMMENT ON COLUMN SALES_RETURN.STATUS IS 'TEMP OR PERMANENT';
ALTER TABLE SALES_RETURN ADD (
CONSTRAINT SALES_RETURN_PK
PRIMARY KEY
(SALES_RETURN_ID));
ALTER TABLE SALES_RETURN ADD (
CONSTRAINT SR_SO_ORDERID_FK
FOREIGN KEY (ORDER_ID)
REFERENCES SALES_ORDER (ORDER_ID));
ALTER TABLE SALES_RETURN ADD (
CONSTRAINT SR_CUSTOMERID_FK
FOREIGN KEY (CUSTOMER_ID)
REFERENCES SUPPLIERS_AND_CUSTOMERS (ID));
ALTER TABLE SALES_RETURN ADD (
CONSTRAINT SR_CUR_ID_FK
FOREIGN KEY (CUR)
REFERENCES CURRENCIES (ID));
CREATE TABLE SALES_RETURN_DETAIL
(
ORDER_ID NUMBER,
EXPIRY_DATE DATE,
QTY NUMBER,
RETURN_UNIT_CODE NUMBER,
SERIAL NUMBER,
ITEM_ID NUMBER,
CREATED_BY VARCHAR2(50 BYTE),
MODIFIED_BY VARCHAR2(50 BYTE),
MODIFY_DATE DATE,
CREATE_DATE DATE,
SALES_RETURN_ID NUMBER,
UNIT_PRICE NUMBER
);
ALTER TABLE SALES_RETURN_DETAIL ADD (
CONSTRAINT SRD_SR_ORDER_ITM_EXP
PRIMARY KEY
(SALES_RETURN_ID, ORDER_ID, ITEM_ID, EXPIRY_DATE));
ALTER TABLE SALES_RETURN_DETAIL ADD (
CONSTRAINT SR_SRD_FK
FOREIGN KEY (SALES_RETURN_ID)
REFERENCES SALES_RETURN (SALES_RETURN_ID)
ON DELETE CASCADE);
SET DEFINE OFF;
Insert into CURRENCIES
(ID, NAME, DESCRIPTION, ACTIVE)
Values
(2, 'L.E', 'جنيه مصرى', 0);
Insert into CURRENCIES
(ID, NAME, DESCRIPTION, ACTIVE)
Values
(3, '$', NULL, 0);
Insert into CURRENCIES
(ID, NAME, DESCRIPTION, ACTIVE)
Values
(4, 'S.R', NULL, 1);
COMMIT;
SET DEFINE OFF;
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(4, 'حسن بدوى', 'ثقثث', 'ءؤرءؤ', 'يبيس',
NULL, 3, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(1, 'ماهر', 'ق ق ق tt', 'ض ض', 'ثق ثق ثق',
NULL, 2, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(8, 'مورد ماهر', NULL, NULL, NULL,
NULL, 3, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(10, 'يس', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(13, 'ه', 'dfij', 'هثتق', 'منت',
2, 1, 'Es@Gmail.Com');
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(14, 'سيسس', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(15, 'يبيب', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(16, 'سيسي', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(17, 'يب', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(18, 'ي', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(19, 'يب', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(20, 'يص', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(21, 'ثقث', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(22, 'يب', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(23, 'يبي', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(24, 'ثقث', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(25, 'سيسي', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(7, 'raed', NULL, NULL, 'يب',
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(5, 'سامح', 'شيسب', 'يب', 'يبي',
NULL, 3, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(11, 'يبيب', NULL, NULL, NULL,
NULL, 1, NULL);
Insert into SUPPLIERS_AND_CUSTOMERS
(ID, NAME, WEBSITE, NOTES, FIRM,
TYPE, ACCOUNT_TYPE, EMAIL)
Values
(9, 'بييب', NULL, NULL, NULL,
NULL, 1, NULL);
COMMIT;
SET DEFINE OFF;
Insert into SALES_ORDER
(ORDER_ID, CUSTOMER_ID, SALE_DATE, PAYMENT_METHOD, STATUS,
DISCOUNT, NOTES, INSTALLMENTS_NUMBER, DISCOUNT_UNIT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, REP, SALE_CUR)
Values
(28, 7, TO_DATE('04/20/2016 15:25:06', 'MM/DD/YYYY HH24:MI:SS'), 'I', 'P',
1, 'صثص يبي بيبي', 4, 0, NULL,
NULL, NULL, NULL, 4);
Insert into SALES_ORDER
(ORDER_ID, CUSTOMER_ID, SALE_DATE, PAYMENT_METHOD, STATUS,
DISCOUNT, NOTES, INSTALLMENTS_NUMBER, DISCOUNT_UNIT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, REP, SALE_CUR)
Values
(31, 10, TO_DATE('05/08/2016 00:02:50', 'MM/DD/YYYY HH24:MI:SS'), 'I', 'T',
NULL, 'ننت منهت هتها', 1, NULL, NULL,
NULL, NULL, NULL, 4);
Insert into SALES_ORDER
(ORDER_ID, CUSTOMER_ID, SALE_DATE, PAYMENT_METHOD, STATUS,
DISCOUNT, NOTES, INSTALLMENTS_NUMBER, DISCOUNT_UNIT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, REP, SALE_CUR)
Values
(25, 7, TO_DATE('04/23/2016 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'C', 'P',
NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, 4);
Insert into SALES_ORDER
(ORDER_ID, CUSTOMER_ID, SALE_DATE, PAYMENT_METHOD, STATUS,
DISCOUNT, NOTES, INSTALLMENTS_NUMBER, DISCOUNT_UNIT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, REP, SALE_CUR)
Values
(26, 7, TO_DATE('04/22/2016 15:16:14', 'MM/DD/YYYY HH24:MI:SS'), 'C', 'P',
NULL, NULL, NULL, NULL, NULL,
NULL, TO_DATE('04/22/2016 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, 4);
Insert into SALES_ORDER
(ORDER_ID, CUSTOMER_ID, SALE_DATE, PAYMENT_METHOD, STATUS,
DISCOUNT, NOTES, INSTALLMENTS_NUMBER, DISCOUNT_UNIT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, REP, SALE_CUR)
Values
(27, 7, TO_DATE('04/21/2016 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 'I', 'P',
NULL, NULL, 3, NULL, NULL,
NULL, NULL, NULL, 4);
Insert into SALES_ORDER
(ORDER_ID, CUSTOMER_ID, SALE_DATE, PAYMENT_METHOD, STATUS,
DISCOUNT, NOTES, INSTALLMENTS_NUMBER, DISCOUNT_UNIT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, REP, SALE_CUR)
Values
(32, 5, TO_DATE('05/08/2016 00:04:01', 'MM/DD/YYYY HH24:MI:SS'), 'I', 'T',
NULL, NULL, 1, NULL, NULL,
NULL, NULL, NULL, 4);
Insert into SALES_ORDER
(ORDER_ID, CUSTOMER_ID, SALE_DATE, PAYMENT_METHOD, STATUS,
DISCOUNT, NOTES, INSTALLMENTS_NUMBER, DISCOUNT_UNIT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, REP, SALE_CUR)
Values
(30, 4, TO_DATE('05/07/2016 20:21:18', 'MM/DD/YYYY HH24:MI:SS'), 'C', 'T',
NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, 4);
Insert into SALES_ORDER
(ORDER_ID, CUSTOMER_ID, SALE_DATE, PAYMENT_METHOD, STATUS,
DISCOUNT, NOTES, INSTALLMENTS_NUMBER, DISCOUNT_UNIT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, REP, SALE_CUR)
Values
(29, 7, TO_DATE('05/07/2016 19:59:05', 'MM/DD/YYYY HH24:MI:SS'), 'C', 'T',
NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, 4);
COMMIT;
SET DEFINE OFF;
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(28, 7, NULL, NULL, TO_DATE('10/10/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
4, 1, 1142, NULL, NULL,
4, NULL, NULL, NULL, TO_DATE('04/22/2016 15:25:27', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(25, 3, NULL, NULL, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
1, 1, 1141, NULL, NULL,
3, NULL, NULL, NULL, TO_DATE('04/22/2016 15:11:30', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(25, 5, NULL, NULL, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
2, 1, 1083, NULL, NULL,
1, NULL, NULL, NULL, TO_DATE('04/22/2016 15:14:55', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(26, 1, 0.5, NULL, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
4, 1, 1126, NULL, 4,
2, NULL, NULL, NULL, TO_DATE('04/22/2016 15:16:14', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(26, 7, 1, NULL, TO_DATE('10/10/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
3, 1, 1142, NULL, 0,
4, NULL, NULL, NULL, TO_DATE('04/22/2016 15:16:36', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(27, 5, NULL, NULL, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
10, 1, 1083, NULL, NULL,
1, NULL, NULL, NULL, TO_DATE('04/22/2016 15:22:17', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(28, 1, NULL, NULL, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
11, 1, 1126, NULL, NULL,
2, NULL, NULL, NULL, TO_DATE('04/22/2016 15:25:06', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(31, 6, NULL, NULL, TO_DATE('10/10/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
1, 4, 11, NULL, NULL,
1, NULL, NULL, NULL, TO_DATE('05/08/2016 00:02:51', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(31, 1, NULL, NULL, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
1, 4, 1126, NULL, NULL,
2, NULL, NULL, NULL, TO_DATE('05/08/2016 00:03:20', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(32, 1, NULL, NULL, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
1, 4, 1126, NULL, NULL,
2, NULL, NULL, NULL, TO_DATE('05/08/2016 00:04:01', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(32, 6, NULL, NULL, TO_DATE('10/10/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
1, 4, 11, NULL, NULL,
1, NULL, NULL, NULL, TO_DATE('05/08/2016 00:04:48', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(32, 7, NULL, NULL, TO_DATE('10/10/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
1, 1, 1142, NULL, NULL,
4, NULL, NULL, NULL, TO_DATE('05/08/2016 00:05:07', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(30, 6, NULL, NULL, TO_DATE('10/10/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
1, 4, 11, NULL, NULL,
1, NULL, NULL, NULL, TO_DATE('05/07/2016 20:21:18', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(30, 1, NULL, NULL, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
1, 4, 1126, NULL, NULL,
2, NULL, NULL, NULL, TO_DATE('05/07/2016 20:21:34', 'MM/DD/YYYY HH24:MI:SS'));
Insert into SALES_ORDER_DETAIL
(ORDER_ID, UNIT_PRICE, DISCOUNT, BONUS, EXPIRY_DATE,
QTY, SALE_UNIT_CODE, SERIAL, SALE_TAX, DISCOUNT_UNIT,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE)
Values
(29, 5, NULL, NULL, TO_DATE('10/10/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'),
1, 1, 11, NULL, NULL,
1, NULL, NULL, NULL, TO_DATE('05/07/2016 19:59:05', 'MM/DD/YYYY HH24:MI:SS'));
COMMIT;
SET DEFINE OFF;
Insert into SALES_ORDER_PAYMENTS
(PAYMENT_ID, ORDER_ID, PAYMENT_DATE, PAYMENT_AMOUNT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, ADVANCE, NOTES)
Values
(1, 27, TO_DATE('04/22/2016 15:23:26', 'MM/DD/YYYY HH24:MI:SS'), 1, NULL,
NULL, NULL, 1, NULL);
Insert into SALES_ORDER_PAYMENTS
(PAYMENT_ID, ORDER_ID, PAYMENT_DATE, PAYMENT_AMOUNT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, ADVANCE, NOTES)
Values
(2, 28, TO_DATE('04/22/2016 15:27:52', 'MM/DD/YYYY HH24:MI:SS'), 3, NULL,
NULL, NULL, 1, NULL);
Insert into SALES_ORDER_PAYMENTS
(PAYMENT_ID, ORDER_ID, PAYMENT_DATE, PAYMENT_AMOUNT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, ADVANCE, NOTES)
Values
(3, 28, TO_DATE('04/22/2016 15:27:53', 'MM/DD/YYYY HH24:MI:SS'), 2, NULL,
NULL, NULL, 2, NULL);
Insert into SALES_ORDER_PAYMENTS
(PAYMENT_ID, ORDER_ID, PAYMENT_DATE, PAYMENT_AMOUNT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, ADVANCE, NOTES)
Values
(4, 31, TO_DATE('05/08/2016 00:03:53', 'MM/DD/YYYY HH24:MI:SS'), 2, NULL,
NULL, NULL, 1, NULL);
Insert into SALES_ORDER_PAYMENTS
(PAYMENT_ID, ORDER_ID, PAYMENT_DATE, PAYMENT_AMOUNT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, ADVANCE, NOTES)
Values
(5, 32, TO_DATE('05/08/2016 00:05:39', 'MM/DD/YYYY HH24:MI:SS'), 3, NULL,
NULL, NULL, 1, NULL);
Insert into SALES_ORDER_PAYMENTS
(PAYMENT_ID, ORDER_ID, PAYMENT_DATE, PAYMENT_AMOUNT, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, ADVANCE, NOTES)
Values
(6, 32, TO_DATE('05/08/2016 00:05:40', 'MM/DD/YYYY HH24:MI:SS'), 4, NULL,
NULL, NULL, 2, NULL);
COMMIT;
SET DEFINE OFF;
Insert into SALES_RETURN
(ORDER_ID, CUSTOMER_ID, SALE_DATE, NOTES, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, RETURN_DATE, RETURN_REASON_ID, SALES_RETURN_ID,
STATUS, REP, CUR)
Values
(25, 7, TO_DATE('04/22/2016 15:11:29', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL,
NULL, NULL, TO_DATE('04/25/2016 20:11:43', 'MM/DD/YYYY HH24:MI:SS'), NULL, 1,
'T', NULL, 4);
Insert into SALES_RETURN
(ORDER_ID, CUSTOMER_ID, SALE_DATE, NOTES, CREATED_BY,
MODIFIED_BY, MODIFY_DATE, RETURN_DATE, RETURN_REASON_ID, SALES_RETURN_ID,
STATUS, REP, CUR)
Values
(28, 7, TO_DATE('04/22/2016 15:25:06', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL,
NULL, NULL, TO_DATE('04/25/2016 20:12:09', 'MM/DD/YYYY HH24:MI:SS'), 1, 2,
'T', NULL, 4);
COMMIT;
SET DEFINE OFF;
Insert into SALES_RETURN_DETAIL
(ORDER_ID, EXPIRY_DATE, QTY, RETURN_UNIT_CODE, SERIAL,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE,
SALES_RETURN_ID, UNIT_PRICE)
Values
(25, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 2, 1, 1083,
1, NULL, NULL, NULL, NULL,
1, 5);
Insert into SALES_RETURN_DETAIL
(ORDER_ID, EXPIRY_DATE, QTY, RETURN_UNIT_CODE, SERIAL,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE,
SALES_RETURN_ID, UNIT_PRICE)
Values
(25, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1, 1, 1141,
3, NULL, NULL, NULL, NULL,
1, 3);
Insert into SALES_RETURN_DETAIL
(ORDER_ID, EXPIRY_DATE, QTY, RETURN_UNIT_CODE, SERIAL,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE,
SALES_RETURN_ID, UNIT_PRICE)
Values
(28, TO_DATE('10/10/2019 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 11, 1, 1126,
2, NULL, NULL, NULL, NULL,
2, 1);
Insert into SALES_RETURN_DETAIL
(ORDER_ID, EXPIRY_DATE, QTY, RETURN_UNIT_CODE, SERIAL,
ITEM_ID, CREATED_BY, MODIFIED_BY, MODIFY_DATE, CREATE_DATE,
SALES_RETURN_ID, UNIT_PRICE)
Values
(28, TO_DATE('10/10/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 4, 1, 1142,
4, NULL, NULL, NULL, NULL,
2, 7);
COMMIT;
the problem is all about customer_id=4 ,currency_id= 4 and sales_order.order_id=30 ,
that customer has a sales_order number 30 with total of 7 S.R(currency) , and the order has no rows in the sales_return , or sales_order_payments .
- the script i use is ,
SELECT (SUM(SUM_SO.ORDER_TOTAL) - nvl(SUM(SRD.QTY * SRD.UNIT_PRICE),0) ) - NVL(SUM(SOP.PAYMENT_AMOUNT),0) DEBTOR
FROM
(SELECT so.order_id,
DECODE(so.discount_unit,0,sod.items_total * (1 - 0.01 * NVL(so.discount,0)), NULL,sod.items_total, sod.items_total - so.discount ) order_total
FROM sales_order so,
(SELECT order_id,
SUM(DECODE(discount_unit,0,unit_price * qty * (1 - 0.01 * NVL(discount,0)), NULL,unit_price * qty, (unit_price - NVL(discount,0)) * qty ) ) items_total
FROM sales_order_detail
GROUP BY order_id
) sod
WHERE so.order_id = sod.order_id
AND TRUNC(so.sale_date) BETWEEN NVL(:from_date,TRUNC(so.sale_date)) AND NVL(:to_date,TRUNC(sysdate))
AND so.sale_cur = :p_currency_id
AND so.customer_id = :p_supplier_customer_id
) SUM_so ,
SALES_RETURN SR , SALES_RETURN_DETAIL SRD , SALES_ORDER_PAYMENTS sop
where ( SR.ORDER_ID(+) = SUM_so.ORDER_ID )
and (SR.SALES_RETURN_ID = SRD.SALES_RETURN_ID)
and (sum_so.order_id = sop.order_id(+) ) ;
- results i get = null
- results i expect :
Debtor
------------
7