Advertisement
Advertisement
There are currently no qualifying experts in Interbase / Firebird
| 08.31.2008 at 09:31AM PDT, ID: 23692260 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: |
CREATE TABLE MM_ITRGSV (
OBJID D_OBJID,
HEADER_ID INTEGER NOT NULL,
TR_CODE D_CHAR15 NOT NULL,
DOC_ID INTEGER NOT NULL,
ITEM_ID INTEGER NOT NULL,
QTY D_FLOAT NOT NULL,
INPRICE D_FLOAT_NODEF,
EXPRICE D_FLOAT_NODEF,
USERFIELD1 D_CHAR30,
USERFIELD2 D_CHAR30,
USERFIELD3 D_CHAR30,
USERFIELD4 D_CHAR30,
USERFIELD5 D_CHAR30
);
CREATE PROCEDURE UPDATE_ITEMREGSV
AS
DECLARE VARIABLE VAR_TRCODE VARCHAR(15) CHARACTER SET NONE;
DECLARE VARIABLE VAR_HDID INTEGER;
DECLARE VARIABLE VAR_DOCID INTEGER;
DECLARE VARIABLE VAR_DOCCODE VARCHAR(30) CHARACTER SET NONE;
DECLARE VARIABLE VAR_POSTDATE TIMESTAMP;
DECLARE VARIABLE VAR_BRANCH_ID INTEGER;
DECLARE VARIABLE VAR_PERSON_ID INTEGER;
DECLARE VARIABLE VAR_ITEM_ID INTEGER;
DECLARE VARIABLE VAR_QTY DOUBLE PRECISION;
DECLARE VARIABLE VAR_PRICE DOUBLE PRECISION;
DECLARE VARIABLE VAR_DISCPERC INTEGER;
DECLARE VARIABLE VAR_DISCTOTAL DOUBLE PRECISION;
DECLARE VARIABLE VAR_USERFIELD1 VARCHAR(30) CHARACTER SET NONE;
DECLARE VARIABLE VAR_USERFIELD2 VARCHAR(30) CHARACTER SET NONE;
DECLARE VARIABLE VAR_USERFIELD3 VARCHAR(30);
DECLARE VARIABLE VAR_USERFIELD4 VARCHAR(30);
DECLARE VARIABLE VAR_USERFIELD5 VARCHAR(30);
DECLARE VARIABLE VAR_XPRICE DOUBLE PRECISION;
BEGIN
DELETE FROM MM_ITRGSV;
VAR_TRCODE = 'SLI';
FOR SELECT B.OBJID, B.CODE, B.POSTDATE, B.BRANCH_ID, B.CUSTOMER_ID,
A.ITEM_ID, A.QTY, A.PRICE, A.DISCOUNTPERC, B.DISCOUNTPERC DISCTOTAL,
A.USERFIELD1, A.USERFIELD2, A.USERFIELD3, A.USERFIELD4, A.USERFIELD5
FROM SD_INVODT A
INNER JOIN SD_INVOHD B ON A.HEADER_ID=B.OBJID
INNER JOIN MM_ITEMMD C ON A.ITEM_ID=C.OBJID
WHERE (C.INVENTORIED_OK <> 1) AND (B.STATUS IN (1,2)) AND (A.QTY <> 0)
ORDER BY B.OBJID, A.OBJID
INTO VAR_DOCID, VAR_DOCCODE, VAR_POSTDATE, VAR_BRANCH_ID, VAR_PERSON_ID,
VAR_ITEM_ID, VAR_QTY, VAR_PRICE, VAR_DISCPERC, VAR_DISCTOTAL, VAR_USERFIELD1, VAR_USERFIELD2, VAR_USERFIELD3, VAR_USERFIELD4, VAR_USERFIELD5
DO
BEGIN
VAR_HDID = -1;
SELECT OBJID FROM MM_ITRGHD WHERE TR_CODE=:VAR_TRCODE AND DOC_ID=:VAR_DOCID INTO VAR_HDID;
IF ((VAR_HDID IS NULL) OR (VAR_HDID <= 0)) THEN
BEGIN
INSERT INTO MM_ITRGHD(TR_CODE, DOC_ID, DOC_CODE, POSTDATE, BRANCH_ID, PERSON_ID) VALUES (:VAR_TRCODE, :VAR_DOCID, :VAR_DOCCODE, :VAR_POSTDATE, :VAR_BRANCH_ID, :VAR_PERSON_ID);
SELECT OBJID FROM MM_ITRGHD WHERE TR_CODE=:VAR_TRCODE AND DOC_ID=:VAR_DOCID INTO VAR_HDID;
END
VAR_QTY = VAR_QTY * -1;
VAR_PRICE = (VAR_PRICE - (VAR_PRICE * (VAR_DISCPERC/100)));
VAR_PRICE = (VAR_PRICE - (VAR_PRICE * (VAR_DISCTOTAL/100)));
INSERT INTO MM_ITRGSV (OBJID, HEADER_ID, TR_CODE, DOC_ID, ITEM_ID, QTY, INPRICE, EXPRICE, USERFIELD1, USERFIELD2, USERFIELD3, USERFIELD4, USERFIELD5)
VALUES (-1, :VAR_HDID, :VAR_TRCODE, :VAR_DOCID, :VAR_ITEM_ID, :VAR_QTY, :VAR_PRICE, NULL, :VAR_USERFIELD1, :VAR_USERFIELD2, :VAR_USERFIELD3, :VAR_USERFIELD4, :VAR_USERFIELD5);
END
END
EXECUTE PROCEDURE UPDATE_ITEMREGSV
|