>SELECT csrTmpFile > >IF GETNEXTMODIFIED(0, "csrTmpFile") # 0 > lcAdj_No = THISFORM.GetNextAdj() > > IF lcAdj_No == "" > RETURN "NOAUTO-" > ENDIF > > SELECT csrTmpFile > SCAN > IF csrTmpFile.AdjQty # 0 > > UPDATE Stock_Status SET Qty = CURVAL("Qty", "Stock_Status") + csrTmpFile.AdjQty WHERE ; > Stock_Status.INo = csrTmpFile.INo AND LocCode == csrTmpFile.LocCode > > ENDIF > ENDSCAN > >ELSE > RETURN "" >ENDIF > >BEGIN TRANSACTION > > IF NOT llRollBack AND NOT TABLEUPDATE(2, tlForceUpdate, "Stock_Status") > llRollBack = .T. > ENDIF > > SELECT csrTmpFile > LOCATE > > SCAN > SELECT Stock_Status > LOCATE FOR INo == csrTmpFile.INo AND LocCode == csrTmpFile.LocCode > IF FOUND() > IF AT("2", GETFLDSTATE(-1) ) = 0 > INSERT INTO tblAdj_Details (Adj_No, INo, BCode, Qty, NewQty, AdjQty, LocCode, CPU) ; > VALUES (lcAdj_No, csrTmpFile.INo, csrTmpFile.BCode, csrTmpFile.Qty, ; > csrTmpFile.NewQty, csrTmpFile.AdjQty, csrTmpFile.LocCode, csrTmpFile.CPU) > lnCount = lnCount + 1 > > SELECT csrTmpFile > DELETE > ENDIF > ENDIF > ENDSCAN > > IF lnCount > 0 > INSERT INTO tblStock_Adj (Adj_No, dDate, Remark, Operator) ; > VALUES (lcAdj_No, tdDate, tcDesc, tcOperator) > ENDIF > > BEGIN TRANSACTION > > IF NOT llRollBack2 AND NOT TABLEUPDATE(.T., tlForceUpdate, "tblStock_Adj") > llRollBack2 = .T. > ENDIF > > IF NOT llRollBack2 AND NOT TABLEUPDATE(.T., tlForceUpdate, "tblAdj_Details") > llRollBack2 = .T. > ENDIF > > IF llRollBack2 > ROLLBACK > ROLLBACK && TRANSACTION 1 > TABLEREVERT(.T., "tblStock_Adj") > TABLEREVERT(.T., "tblAdj_Details") > TABLEREVERT(.T., "Stock_Status") > > AERROR(laError) > RETURN "ERROR-" + laError[2] + "(" + ALLTRIM(STR(laError[1])) + ")" > ELSE > IF llRollBack > AERROR(laError) > DO CASE > CASE laError[1,1] = 1585 > RETURN "CONFLICT-" > OTHERWISE > RETURN "ERROR-" + laError[2] + "(" + ALLTRIM(STR(laError[1])) + ")" > ENDCASE > ELSE > END TRANSACTION > END TRANSACTION && TRANSACTION 1 > RETURN "SAVED-" > ENDIF > ENDIF >