refactored codebase to not rely on WO_LOG calculated column indexes
This commit is contained in:
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"header": {
|
|
||||||
"version": 1,
|
|
||||||
"type": "record"
|
|
||||||
},
|
|
||||||
"body": {
|
|
||||||
"record1": {
|
|
||||||
"<1>": "declare function set_printer, Get_Property\r\ndeclare subroutine record_lock, Set_Property\r\n$insert msg_equates\r\n$insert lsl_users_equ\r\n\r\n*Void = Set_Property('SYSTSEM','IDLEPROC','')\r\nVoid = Set_Property(@WINDOW,'TIMER','')\r\n\r\n\r\nUNLOCK All\r\n/*\r\nDEAD - 1/27/2005 JCH\r\n* will write out the x and y coords for the user, so the menu comes up at the last used\r\n* location\r\nWinSize = get_property( @window, 'SIZE' )\r\nX = WinSize<1>\r\nY = WinSize<2>\r\nXsize = WinSize<3>\r\nYsize = WinSize<4>\r\n\r\nIF @USERNAME = 'BRYCE_BARB' THEN DEBUG\r\n\r\nopen 'LSL_USERS' to LSLUsersTableVar else\r\n MsgInfo = ''\r\n MsgInfo<mtext$> = 'Unable to open LSL_USERS...'\r\n MsgInfo<mcol$> = -2\r\n MsgInfo<mrow$> = -2\r\n Void = msg( '', MsgInfo )\r\nend\r\n\r\nread UserRec from LSLUsersTableVar, @user4 then\r\n\t \r\n\t*UserRec = xlate( 'LSL_USERS', @user4, '', 'X' )\r\n\tUserRec<lsl_users_menu_xpos$> = X\r\n\tUserRec<lsl_users_menu_ypos$> = Y\r\n\tUserRec<lsl_users_menu_xsize$> = Xsize\r\n\tUserRec<lsl_users_menu_ysize$> = Ysize\r\n\twrite UserRec on LSLUsersTableVar, @user4 else Null\r\n\r\nEND;* End of User Rec Read\r\n*/\r\n\r\nRETURN 1\r\n"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"header": {
|
|
||||||
"version": 1,
|
|
||||||
"type": "record"
|
|
||||||
},
|
|
||||||
"body": {
|
|
||||||
"record1": {
|
|
||||||
"<1>": "DECLARE FUNCTION Start_Window\r\n\r\nvoid = Start_Window('REACT_STATUS_EVEN',@WINDOW,'')\r\nvoid = Start_Window('REACT_STATUS_ODD',@WINDOW,'')\r\n\r\nvoid = Start_Window('TOOL_STATUS',@WINDOW,'')\r\n\r\n\r\nRETURN 1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"header": {
|
|
||||||
"version": 1,
|
|
||||||
"type": "record"
|
|
||||||
},
|
|
||||||
"body": {
|
|
||||||
"record1": {
|
|
||||||
"<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"header": {
|
|
||||||
"version": 1,
|
|
||||||
"type": "record"
|
|
||||||
},
|
|
||||||
"body": {
|
|
||||||
"record1": {
|
|
||||||
"<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"header": {
|
|
||||||
"version": 1,
|
|
||||||
"type": "record"
|
|
||||||
},
|
|
||||||
"body": {
|
|
||||||
"record1": {
|
|
||||||
"<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"header": {
|
|
||||||
"version": 1,
|
|
||||||
"type": "record"
|
|
||||||
},
|
|
||||||
"body": {
|
|
||||||
"record1": {
|
|
||||||
"<1>": "DECLARE subroutine Print_Barcode_Label, ErrMsg\r\nDECLARE function Popup\r\n\r\nUserIDs = Popup(@WINDOW,TypeOver,'USER_ID')\t;* Popup uses active select list created with MAKE.LIST\r\n\r\nIF UserIDs = '' THEN\r\n\tErrMsg('No users selected...')\r\n\tRETURN\r\nEND\r\n\r\nUserCnt = COUNT(UserIDs,@VM) + (UserIDs NE '')\r\n\r\n\r\nIDList = ''\r\nFOR I = 1 TO UserCnt\r\n\tUserID = UserIDs<1,I>\r\nNEXT I\r\n\r\nPrint_Barcode_Label ('EmployeeBadge', UserIDs)\r\n\r\nRETURN 0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"header": {
|
|
||||||
"version": 1,
|
|
||||||
"type": "record"
|
|
||||||
},
|
|
||||||
"body": {
|
|
||||||
"record1": {
|
|
||||||
"<1>": "declare subroutine forward_event\r\n\r\nforward_event( x, y, Width, Height )\r\n*.group_1->size = -10:@fm:-10:@fm:Width:@fm:Height\r\nRETURN 0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,11 +0,0 @@
|
|||||||
{
|
|
||||||
"header": {
|
|
||||||
"version": 1,
|
|
||||||
"type": "record"
|
|
||||||
},
|
|
||||||
"body": {
|
|
||||||
"record1": {
|
|
||||||
"<1>": "\r\nDeclare subroutine Post_Event, Set_Property\r\n\r\n*If @User4 EQ 'ERIK_L' then Set_Property(@Window, '@CLOSE', 1)\r\n\r\nClose = Get_Property(@Window, '@CLOSE')\r\n\r\nCurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS')\r\n\r\nOPEN 'SYSLISTS' TO ListsFile THEN\r\n\tStation = @STATION\r\n\tStation = Station[1,'_']\t\t\r\n\tListKey = Station:'*KEEP_ALIVE'\r\n\tListRec = @USERNAME:@FM:CurrDTM\r\n\tWRITE ListRec ON ListsFile,ListKey ELSE NULL\r\nEND \r\n\r\n\r\nRETURN 1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,402 +0,0 @@
|
|||||||
{
|
|
||||||
"header": {
|
|
||||||
"version": 1,
|
|
||||||
"type": "record"
|
|
||||||
},
|
|
||||||
"body": {
|
|
||||||
"record1": {
|
|
||||||
"<1>": "1010",
|
|
||||||
"<2>": "1",
|
|
||||||
"<3>": ""
|
|
||||||
},
|
|
||||||
"record2": {
|
|
||||||
"<1>": {
|
|
||||||
"<1,1>": "LSL_MAIN",
|
|
||||||
"<1,2>": "",
|
|
||||||
"<1,3>": "WINDOW",
|
|
||||||
"<1,4>": "",
|
|
||||||
"<1,5>": "147",
|
|
||||||
"<1,6>": "181",
|
|
||||||
"<1,7>": "-631",
|
|
||||||
"<1,8>": "-427",
|
|
||||||
"<1,9>": "Infineon Technologies",
|
|
||||||
"<1,10>": {
|
|
||||||
"<1,10,1>": "0x92C70000",
|
|
||||||
"<1,10,2>": "0x0"
|
|
||||||
},
|
|
||||||
"<1,11>": {
|
|
||||||
"<1,11,1>": "0x100",
|
|
||||||
"<1,11,2>": "0x80000000"
|
|
||||||
},
|
|
||||||
"<1,12>": "0",
|
|
||||||
"<1,13>": "-2",
|
|
||||||
"<1,14>": "0",
|
|
||||||
"<1,15>": "",
|
|
||||||
"<1,16>": "",
|
|
||||||
"<1,17>": "",
|
|
||||||
"<1,18>": "",
|
|
||||||
"<1,19>": "",
|
|
||||||
"<1,20>": "",
|
|
||||||
"<1,21>": "",
|
|
||||||
"<1,22>": "",
|
|
||||||
"<1,23>": "",
|
|
||||||
"<1,24>": {
|
|
||||||
"<1,24,1>": "0",
|
|
||||||
"<1,24,2>": "0",
|
|
||||||
"<1,24,3>": "0",
|
|
||||||
"<1,24,4>": "0",
|
|
||||||
"<1,24,5>": "0",
|
|
||||||
"<1,24,6>": "0"
|
|
||||||
},
|
|
||||||
"<1,25>": "0",
|
|
||||||
"<1,26>": "0",
|
|
||||||
"<1,27>": "",
|
|
||||||
"<1,28>": "",
|
|
||||||
"<1,29>": "",
|
|
||||||
"<1,30>": "",
|
|
||||||
"<1,31>": "",
|
|
||||||
"<1,32>": {
|
|
||||||
"<1,32,1>": "0x7FFFE",
|
|
||||||
"<1,32,2>": "0xF001E988"
|
|
||||||
},
|
|
||||||
"<1,33>": "",
|
|
||||||
"<1,34>": "LSL2*IMAGE*ICO*DATASET",
|
|
||||||
"<1,35>": "",
|
|
||||||
"<1,36>": "",
|
|
||||||
"<1,37>": {
|
|
||||||
"<1,37,1>": "0x10001",
|
|
||||||
"<1,37,2>": "0x10001"
|
|
||||||
},
|
|
||||||
"<1,38>": {
|
|
||||||
"<1,38,1>": "1",
|
|
||||||
"<1,38,2>": "1"
|
|
||||||
},
|
|
||||||
"<1,39>": "",
|
|
||||||
"<1,40>": "0",
|
|
||||||
"<1,41>": "",
|
|
||||||
"<1,42>": "",
|
|
||||||
"<1,43>": "",
|
|
||||||
"<1,44>": "",
|
|
||||||
"<1,45>": "",
|
|
||||||
"<1,46>": "",
|
|
||||||
"<1,47>": "",
|
|
||||||
"<1,48>": "",
|
|
||||||
"<1,49>": "",
|
|
||||||
"<1,50>": "",
|
|
||||||
"<1,51>": "",
|
|
||||||
"<1,52>": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"record3": {
|
|
||||||
"<1>": {
|
|
||||||
"<1,1>": "MDICLIENT",
|
|
||||||
"<1,2>": "RTIMDICLIENT",
|
|
||||||
"<1,3>": "MDICLIENT",
|
|
||||||
"<1,4>": "LSL_MAIN",
|
|
||||||
"<1,5>": "3",
|
|
||||||
"<1,6>": "7",
|
|
||||||
"<1,7>": "-625",
|
|
||||||
"<1,8>": "-607",
|
|
||||||
"<1,9>": "",
|
|
||||||
"<1,10>": {
|
|
||||||
"<1,10,1>": "0x56B00000",
|
|
||||||
"<1,10,2>": "0x0"
|
|
||||||
},
|
|
||||||
"<1,11>": {
|
|
||||||
"<1,11,1>": "0xC000",
|
|
||||||
"<1,11,2>": "0x80000000"
|
|
||||||
},
|
|
||||||
"<1,12>": "1",
|
|
||||||
"<1,13>": "-2",
|
|
||||||
"<1,14>": "0",
|
|
||||||
"<1,15>": "",
|
|
||||||
"<1,16>": "",
|
|
||||||
"<1,17>": "",
|
|
||||||
"<1,18>": "",
|
|
||||||
"<1,19>": "",
|
|
||||||
"<1,20>": "",
|
|
||||||
"<1,21>": "",
|
|
||||||
"<1,22>": "",
|
|
||||||
"<1,23>": "",
|
|
||||||
"<1,24>": "",
|
|
||||||
"<1,25>": "0",
|
|
||||||
"<1,26>": "0",
|
|
||||||
"<1,27>": "",
|
|
||||||
"<1,28>": "",
|
|
||||||
"<1,29>": "",
|
|
||||||
"<1,30>": "",
|
|
||||||
"<1,31>": "",
|
|
||||||
"<1,32>": {
|
|
||||||
"<1,32,1>": "0x7fffc",
|
|
||||||
"<1,32,2>": "0xf001c808"
|
|
||||||
},
|
|
||||||
"<1,33>": "",
|
|
||||||
"<1,34>": "",
|
|
||||||
"<1,35>": "",
|
|
||||||
"<1,36>": "",
|
|
||||||
"<1,37>": "",
|
|
||||||
"<1,38>": "",
|
|
||||||
"<1,39>": "",
|
|
||||||
"<1,40>": "1"
|
|
||||||
},
|
|
||||||
"<2>": ""
|
|
||||||
},
|
|
||||||
"record4": {
|
|
||||||
"<1>": {
|
|
||||||
"<1,1>": {
|
|
||||||
"<1,1,1>": "MENU",
|
|
||||||
"<1,1,2>": "4",
|
|
||||||
"<1,1,3>": "",
|
|
||||||
"<1,1,4>": "",
|
|
||||||
"<1,1,5>": "0",
|
|
||||||
"<1,1,6>": "0",
|
|
||||||
"<1,1,7>": "0",
|
|
||||||
"<1,1,8>": "0",
|
|
||||||
"<1,1,9>": "12",
|
|
||||||
"<1,1,10>": "",
|
|
||||||
"<1,1,11>": "0",
|
|
||||||
"<1,1,12>": ""
|
|
||||||
},
|
|
||||||
"<1,2>": {
|
|
||||||
"<1,2,1>": "POPUP",
|
|
||||||
"<1,2,2>": "1",
|
|
||||||
"<1,2,3>": "",
|
|
||||||
"<1,2,4>": "&File",
|
|
||||||
"<1,2,5>": "0",
|
|
||||||
"<1,2,6>": "0",
|
|
||||||
"<1,2,7>": "0",
|
|
||||||
"<1,2,8>": "0",
|
|
||||||
"<1,2,9>": "",
|
|
||||||
"<1,2,10>": "",
|
|
||||||
"<1,2,11>": "0",
|
|
||||||
"<1,2,12>": ""
|
|
||||||
},
|
|
||||||
"<1,3>": {
|
|
||||||
"<1,3,1>": "ITEM",
|
|
||||||
"<1,3,2>": "",
|
|
||||||
"<1,3,3>": "",
|
|
||||||
"<1,3,4>": "E&xit\tAlt+F4",
|
|
||||||
"<1,3,5>": "0",
|
|
||||||
"<1,3,6>": "0",
|
|
||||||
"<1,3,7>": "0",
|
|
||||||
"<1,3,8>": "1139",
|
|
||||||
"<1,3,9>": "",
|
|
||||||
"<1,3,10>": "",
|
|
||||||
"<1,3,11>": "0",
|
|
||||||
"<1,3,12>": ""
|
|
||||||
},
|
|
||||||
"<1,4>": {
|
|
||||||
"<1,4,1>": "POPUP",
|
|
||||||
"<1,4,2>": "2",
|
|
||||||
"<1,4,3>": "",
|
|
||||||
"<1,4,4>": "&DataWindows",
|
|
||||||
"<1,4,5>": "0",
|
|
||||||
"<1,4,6>": "0",
|
|
||||||
"<1,4,7>": "0",
|
|
||||||
"<1,4,8>": "0",
|
|
||||||
"<1,4,9>": "",
|
|
||||||
"<1,4,10>": "",
|
|
||||||
"<1,4,11>": "0",
|
|
||||||
"<1,4,12>": ""
|
|
||||||
},
|
|
||||||
"<1,5>": {
|
|
||||||
"<1,5,1>": "ITEM",
|
|
||||||
"<1,5,2>": "",
|
|
||||||
"<1,5,3>": "",
|
|
||||||
"<1,5,4>": "&Company",
|
|
||||||
"<1,5,5>": "0",
|
|
||||||
"<1,5,6>": "0",
|
|
||||||
"<1,5,7>": "0",
|
|
||||||
"<1,5,8>": "0",
|
|
||||||
"<1,5,9>": "",
|
|
||||||
"<1,5,10>": "",
|
|
||||||
"<1,5,11>": "0",
|
|
||||||
"<1,5,12>": ""
|
|
||||||
},
|
|
||||||
"<1,6>": {
|
|
||||||
"<1,6,1>": "ITEM",
|
|
||||||
"<1,6,2>": "",
|
|
||||||
"<1,6,3>": "",
|
|
||||||
"<1,6,4>": "&Personal Names",
|
|
||||||
"<1,6,5>": "0",
|
|
||||||
"<1,6,6>": "0",
|
|
||||||
"<1,6,7>": "0",
|
|
||||||
"<1,6,8>": "0",
|
|
||||||
"<1,6,9>": "",
|
|
||||||
"<1,6,10>": "",
|
|
||||||
"<1,6,11>": "0",
|
|
||||||
"<1,6,12>": ""
|
|
||||||
},
|
|
||||||
"<1,7>": {
|
|
||||||
"<1,7,1>": "POPUP",
|
|
||||||
"<1,7,2>": "2",
|
|
||||||
"<1,7,3>": "",
|
|
||||||
"<1,7,4>": "&Messages",
|
|
||||||
"<1,7,5>": "0",
|
|
||||||
"<1,7,6>": "0",
|
|
||||||
"<1,7,7>": "0",
|
|
||||||
"<1,7,8>": "0",
|
|
||||||
"<1,7,9>": "",
|
|
||||||
"<1,7,10>": "",
|
|
||||||
"<1,7,11>": "0",
|
|
||||||
"<1,7,12>": ""
|
|
||||||
},
|
|
||||||
"<1,8>": {
|
|
||||||
"<1,8,1>": "ITEM",
|
|
||||||
"<1,8,2>": "",
|
|
||||||
"<1,8,3>": "",
|
|
||||||
"<1,8,4>": "&New",
|
|
||||||
"<1,8,5>": "0",
|
|
||||||
"<1,8,6>": "0",
|
|
||||||
"<1,8,7>": "0",
|
|
||||||
"<1,8,8>": "0",
|
|
||||||
"<1,8,9>": "",
|
|
||||||
"<1,8,10>": "",
|
|
||||||
"<1,8,11>": "0",
|
|
||||||
"<1,8,12>": ""
|
|
||||||
},
|
|
||||||
"<1,9>": {
|
|
||||||
"<1,9,1>": "ITEM",
|
|
||||||
"<1,9,2>": "",
|
|
||||||
"<1,9,3>": "",
|
|
||||||
"<1,9,4>": "&Check/View",
|
|
||||||
"<1,9,5>": "0",
|
|
||||||
"<1,9,6>": "0",
|
|
||||||
"<1,9,7>": "0",
|
|
||||||
"<1,9,8>": "0",
|
|
||||||
"<1,9,9>": "",
|
|
||||||
"<1,9,10>": "",
|
|
||||||
"<1,9,11>": "0",
|
|
||||||
"<1,9,12>": ""
|
|
||||||
},
|
|
||||||
"<1,10>": {
|
|
||||||
"<1,10,1>": "POPUP",
|
|
||||||
"<1,10,2>": "2",
|
|
||||||
"<1,10,3>": "",
|
|
||||||
"<1,10,4>": "&Help",
|
|
||||||
"<1,10,5>": "0",
|
|
||||||
"<1,10,6>": "0",
|
|
||||||
"<1,10,7>": "0",
|
|
||||||
"<1,10,8>": "0",
|
|
||||||
"<1,10,9>": "",
|
|
||||||
"<1,10,10>": "",
|
|
||||||
"<1,10,11>": "0",
|
|
||||||
"<1,10,12>": ""
|
|
||||||
},
|
|
||||||
"<1,11>": {
|
|
||||||
"<1,11,1>": "ITEM",
|
|
||||||
"<1,11,2>": "",
|
|
||||||
"<1,11,3>": "",
|
|
||||||
"<1,11,4>": "&Help\tF1",
|
|
||||||
"<1,11,5>": "0",
|
|
||||||
"<1,11,6>": "0",
|
|
||||||
"<1,11,7>": "0",
|
|
||||||
"<1,11,8>": "112",
|
|
||||||
"<1,11,9>": "",
|
|
||||||
"<1,11,10>": "",
|
|
||||||
"<1,11,11>": "0",
|
|
||||||
"<1,11,12>": ""
|
|
||||||
},
|
|
||||||
"<1,12>": {
|
|
||||||
"<1,12,1>": "ITEM",
|
|
||||||
"<1,12,2>": "",
|
|
||||||
"<1,12,3>": "",
|
|
||||||
"<1,12,4>": "&About\tCtrl+F1",
|
|
||||||
"<1,12,5>": "0",
|
|
||||||
"<1,12,6>": "0",
|
|
||||||
"<1,12,7>": "0",
|
|
||||||
"<1,12,8>": "624",
|
|
||||||
"<1,12,9>": "",
|
|
||||||
"<1,12,10>": "",
|
|
||||||
"<1,12,11>": "0",
|
|
||||||
"<1,12,12>": ""
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"<2>": {
|
|
||||||
"<2,1>": "",
|
|
||||||
"<2,2>": {
|
|
||||||
"<2,2,1>": {
|
|
||||||
"<2,2,1,1>": "E",
|
|
||||||
"<2,2,1,2>": "CLOSE",
|
|
||||||
"<2,2,1,3>": "@WINDOW",
|
|
||||||
"<2,2,1,4>": "",
|
|
||||||
"<2,2,1,5>": "",
|
|
||||||
"<2,2,1,6>": ""
|
|
||||||
},
|
|
||||||
"<2,2,2>": {
|
|
||||||
"<2,2,2,1>": "R",
|
|
||||||
"<2,2,2,2>": "EXECUTE",
|
|
||||||
"<2,2,2,3>": "LSL2*OIWINEXE**COMPANY",
|
|
||||||
"<2,2,2,4>": {
|
|
||||||
"<2,2,2,4,1>": "CreateParam",
|
|
||||||
"<2,2,2,4,2>": "LSL_MAIN"
|
|
||||||
},
|
|
||||||
"<2,2,2,5>": "",
|
|
||||||
"<2,2,2,6>": ""
|
|
||||||
},
|
|
||||||
"<2,2,3>": {
|
|
||||||
"<2,2,3,1>": "R",
|
|
||||||
"<2,2,3,2>": "EXECUTE",
|
|
||||||
"<2,2,3,3>": "LSL2*OIWINEXE**P_NAMES",
|
|
||||||
"<2,2,3,4>": {
|
|
||||||
"<2,2,3,4,1>": "CreateParam",
|
|
||||||
"<2,2,3,4,2>": "LSL_MAIN"
|
|
||||||
},
|
|
||||||
"<2,2,3,5>": "",
|
|
||||||
"<2,2,3,6>": ""
|
|
||||||
},
|
|
||||||
"<2,2,4>": {
|
|
||||||
"<2,2,4,1>": "R",
|
|
||||||
"<2,2,4,2>": "EXECUTE",
|
|
||||||
"<2,2,4,3>": "LSL2*OIWINEXE**NOTES",
|
|
||||||
"<2,2,4,4>": {
|
|
||||||
"<2,2,4,4,1>": "CreateParam",
|
|
||||||
"<2,2,4,4,2>": "LSL_MAIN"
|
|
||||||
},
|
|
||||||
"<2,2,4,5>": "",
|
|
||||||
"<2,2,4,6>": ""
|
|
||||||
},
|
|
||||||
"<2,2,5>": {
|
|
||||||
"<2,2,5,1>": "R",
|
|
||||||
"<2,2,5,2>": "EXECUTE",
|
|
||||||
"<2,2,5,3>": "LSL2*OIWINEXE**NOTE_PTRS",
|
|
||||||
"<2,2,5,4>": {
|
|
||||||
"<2,2,5,4,1>": "CreateParam",
|
|
||||||
"<2,2,5,4,2>": "LSL_MAIN"
|
|
||||||
},
|
|
||||||
"<2,2,5,5>": "",
|
|
||||||
"<2,2,5,6>": ""
|
|
||||||
},
|
|
||||||
"<2,2,6>": {
|
|
||||||
"<2,2,6,1>": "E",
|
|
||||||
"<2,2,6,2>": "HELP",
|
|
||||||
"<2,2,6,3>": "@FOCUS",
|
|
||||||
"<2,2,6,4>": "",
|
|
||||||
"<2,2,6,5>": "",
|
|
||||||
"<2,2,6,6>": ""
|
|
||||||
},
|
|
||||||
"<2,2,7>": {
|
|
||||||
"<2,2,7,1>": "E",
|
|
||||||
"<2,2,7,2>": "NOTES",
|
|
||||||
"<2,2,7,3>": "@FOCUS",
|
|
||||||
"<2,2,7,4>": "",
|
|
||||||
"<2,2,7,5>": "",
|
|
||||||
"<2,2,7,6>": ""
|
|
||||||
},
|
|
||||||
"<2,2,8>": ""
|
|
||||||
},
|
|
||||||
"<2,3>": {
|
|
||||||
"<2,3,1>": "FILE.EXIT",
|
|
||||||
"<2,3,2>": "DATAWINDOWS.COMPANY",
|
|
||||||
"<2,3,3>": "DATAWINDOWS.PERSONAL_NAMES",
|
|
||||||
"<2,3,4>": "MESSAGES.NEW",
|
|
||||||
"<2,3,5>": "MESSAGES.CHECK/VIEW",
|
|
||||||
"<2,3,6>": "HELP.HELP",
|
|
||||||
"<2,3,7>": "HELP.ABOUT",
|
|
||||||
"<2,3,8>": ""
|
|
||||||
},
|
|
||||||
"<2,4>": "0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -9,7 +9,7 @@
|
|||||||
"<2>": "-2",
|
"<2>": "-2",
|
||||||
"<3>": "-1",
|
"<3>": "-1",
|
||||||
"<4>": "-1",
|
"<4>": "-1",
|
||||||
"<5>": "16777215",
|
"<5>": "-2",
|
||||||
"<6>": {
|
"<6>": {
|
||||||
"<6,1>": {
|
"<6,1>": {
|
||||||
"<6,1,1>": "MS Sans Serif",
|
"<6,1,1>": "MS Sans Serif",
|
||||||
@ -143,11 +143,21 @@
|
|||||||
"<28>": "",
|
"<28>": "",
|
||||||
"<29>": "0",
|
"<29>": "0",
|
||||||
"<30>": "0",
|
"<30>": "0",
|
||||||
"<31>": "0",
|
"<31>": "1",
|
||||||
"<32>": "0",
|
"<32>": "0",
|
||||||
"<33>": "0",
|
"<33>": "1",
|
||||||
"<34>": "16777215",
|
"<34>": "-2",
|
||||||
"<35>": "16777215"
|
"<35>": "-2",
|
||||||
|
"<36>": "",
|
||||||
|
"<37>": "",
|
||||||
|
"<38>": "",
|
||||||
|
"<39>": "",
|
||||||
|
"<40>": "-2",
|
||||||
|
"<41>": "1000",
|
||||||
|
"<42>": "",
|
||||||
|
"<43>": "",
|
||||||
|
"<44>": "",
|
||||||
|
"<45>": ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,17 +6,22 @@ COMPILE FUNCTION Comm_Dialog_Cass_Met_Export(Method, Parm1)
|
|||||||
10/28/2005 - John C. Henry, J.C. Henry & Co., Inc.
|
10/28/2005 - John C. Henry, J.C. Henry & Co., Inc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg
|
$INSERT LOGICAL
|
||||||
DECLARE SUBROUTINE obj_Appwindow, Start_Window, Btree.Extract, Msg, Send_Info
|
$INSERT WM_OUT_EQUATES
|
||||||
|
$INSERT PS_EQUATES
|
||||||
|
$INSERT POPUP_EQUATES
|
||||||
|
$INSERT MSG_EQUATES
|
||||||
|
|
||||||
|
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg, Btree.Extract, Msg, Send_Info
|
||||||
|
DECLARE SUBROUTINE obj_Appwindow, Start_Window
|
||||||
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Send_Message, Popup, Collect.IXVals, Msg
|
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Send_Message, Popup, Collect.IXVals, Msg
|
||||||
|
DECLARE FUNCTION SRP_Array
|
||||||
|
|
||||||
EQU CRLF$ TO \0D0A\
|
EQU CRLF$ TO \0D0A\
|
||||||
|
|
||||||
|
|
||||||
EQU COL$CUST_NO TO 1 ;* Customer edit table column equates
|
EQU COL$CUST_NO TO 1 ;* Customer edit table column equates
|
||||||
EQU COL$CUST_NAME TO 2
|
EQU COL$CUST_NAME TO 2
|
||||||
|
|
||||||
|
|
||||||
EQU LTGREY$ TO 229 + (229*256) + (229*65536) ;* JCH standard colors for edittable backgrounds
|
EQU LTGREY$ TO 229 + (229*256) + (229*65536) ;* JCH standard colors for edittable backgrounds
|
||||||
EQU GREY$ TO 192 + (192*256) + (192*65536)
|
EQU GREY$ TO 192 + (192*256) + (192*65536)
|
||||||
EQU GREEN$ TO 192 + (220*256) + (192*65536)
|
EQU GREEN$ TO 192 + (220*256) + (192*65536)
|
||||||
@ -30,11 +35,6 @@ EQU PURPLE$ TO 225 + (181*256) + (255*65536)
|
|||||||
EQU DTS_MULTIROW$ TO 512
|
EQU DTS_MULTIROW$ TO 512
|
||||||
EQU DTS_LARGEDATA$ TO 4096
|
EQU DTS_LARGEDATA$ TO 4096
|
||||||
|
|
||||||
$INSERT WM_OUT_EQUATES
|
|
||||||
$INSERT PS_EQUATES
|
|
||||||
$INSERT POPUP_EQUATES
|
|
||||||
$INSERT MSG_EQUATES
|
|
||||||
|
|
||||||
ErrTitle = 'Error in Comm_Dialog_Order_Find'
|
ErrTitle = 'Error in Comm_Dialog_Order_Find'
|
||||||
ErrorMsg = ''
|
ErrorMsg = ''
|
||||||
|
|
||||||
@ -66,12 +66,9 @@ RETURN Result
|
|||||||
Create:
|
Create:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
obj_AppWindow('Create')
|
||||||
obj_AppWindow('Create')
|
Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX')
|
||||||
|
GOSUB Refresh
|
||||||
Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX')
|
|
||||||
|
|
||||||
GOSUB Refresh
|
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -80,9 +77,8 @@ RETURN
|
|||||||
Refresh:
|
Refresh:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
* Turn edit table symbolic column backgrounds to green
|
* Turn edit table symbolic column backgrounds to green
|
||||||
|
stat = Send_Message(@WINDOW:'.CUST_INFO','COLOR_BY_POS',COL$CUST_NAME,0,GREEN$)
|
||||||
stat = Send_Message(@WINDOW:'.CUST_INFO','COLOR_BY_POS',COL$CUST_NAME,0,GREEN$) ;* Turn names column all rows green
|
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -91,25 +87,19 @@ RETURN
|
|||||||
CustChar:
|
CustChar:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CtrlName = @WINDOW:'.CUST_INFO'
|
CtrlName = @WINDOW:'.CUST_INFO'
|
||||||
|
CustArray = Get_Property(CtrlName,'ARRAY') ;* Customer Information table
|
||||||
CustArray = Get_Property(CtrlName,'ARRAY') ;* Customer Information table
|
CurrPos = Get_Property(CtrlName,'SELPOS')
|
||||||
CurrPos = Get_Property(CtrlName,'SELPOS')
|
CurrRow = CurrPos<2>
|
||||||
|
DataIn = CustArray<COL$CUST_NO,CurrRow>
|
||||||
CurrRow = CurrPos<2>
|
IF LEN(DataIn) > 2 THEN
|
||||||
|
|
||||||
DataIn = CustArray<COL$CUST_NO,CurrRow>
|
|
||||||
|
|
||||||
IF LEN(DataIn) > 2 THEN
|
|
||||||
|
|
||||||
ReturnToCtrl = CtrlName
|
ReturnToCtrl = CtrlName
|
||||||
ReturnToPos = CurrPos
|
ReturnToPos = CurrPos
|
||||||
|
|
||||||
IF NOT(NUM(DataIn)) THEN
|
IF NOT(NUM(DataIn)) THEN
|
||||||
Set_Property(CtrlName,'CELLPOS','',CurrPos) ;* Clear characters input
|
Set_Property(CtrlName,'CELLPOS','',CurrPos) ;* Clear characters input
|
||||||
Start_Window('COMP_LOOKUP',@WINDOW,DataIn:@VM:'C':@FM:ReturnToCtrl:@FM:ReturnToPos,'','')
|
Start_Window('COMP_LOOKUP',@WINDOW,DataIn:@VM:'C':@FM:ReturnToCtrl:@FM:ReturnToPos,'','')
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -118,18 +108,15 @@ RETURN
|
|||||||
CustPC:
|
CustPC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CtrlName = @WINDOW:'.CUST_INFO'
|
CtrlName = @WINDOW:'.CUST_INFO'
|
||||||
|
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
|
||||||
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
|
CurrPos = Get_Property(CtrlName,'SELPOS')
|
||||||
|
CurrCol = CurrPos<1>
|
||||||
CurrPos = Get_Property(CtrlName,'SELPOS')
|
CurrRow = CurrPos<2>
|
||||||
CurrCol = CurrPos<1>
|
CustNo = CustList<CurrRow,COL$CUST_NO>
|
||||||
CurrRow = CurrPos<2>
|
IF CustNo NE '' THEN
|
||||||
|
|
||||||
CustNo = CustList<CurrRow,COL$CUST_NO>
|
|
||||||
IF CustNo NE '' THEN
|
|
||||||
Set_Property(CtrlName,'CELLPOS',XLATE('COMPANY',CustNo,4,'X'),COL$CUST_NAME:@FM:CurrRow)
|
Set_Property(CtrlName,'CELLPOS',XLATE('COMPANY',CustNo,4,'X'),COL$CUST_NAME:@FM:CurrRow)
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -138,17 +125,14 @@ RETURN
|
|||||||
CustDC:
|
CustDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CtrlName = @WINDOW:'.CUST_INFO'
|
CtrlName = @WINDOW:'.CUST_INFO'
|
||||||
|
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
|
||||||
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
|
CurrPos = Get_Property(CtrlName,'SELPOS')
|
||||||
|
CurrCol = CurrPos<1>
|
||||||
CurrPos = Get_Property(CtrlName,'SELPOS')
|
CurrRow = CurrPos<2>
|
||||||
CurrCol = CurrPos<1>
|
CustNo = CustList<CurrRow,COL$CUST_NO>
|
||||||
CurrRow = CurrPos<2>
|
LineCnt = COUNT(CustList,@FM) + (CustList NE '')
|
||||||
|
IF CustNo = '' THEN
|
||||||
CustNo = CustList<CurrRow,COL$CUST_NO>
|
|
||||||
LineCnt = COUNT(CustList,@FM) + (CustList NE '')
|
|
||||||
IF CustNo = '' THEN
|
|
||||||
CustNos = Popup(@WINDOW,'','CUSTOMER')
|
CustNos = Popup(@WINDOW,'','CUSTOMER')
|
||||||
CustCnt = COUNT(CustNos,@VM) + (CustNos NE '')
|
CustCnt = COUNT(CustNos,@VM) + (CustNos NE '')
|
||||||
IF CustCnt > LineCnt THEN
|
IF CustCnt > LineCnt THEN
|
||||||
@ -156,7 +140,6 @@ IF CustNo = '' THEN
|
|||||||
stat = Send_Message(CtrlName,'INSERT',-1,@VM:@FM) ; * Add blank lines
|
stat = Send_Message(CtrlName,'INSERT',-1,@VM:@FM) ; * Add blank lines
|
||||||
NEXT I
|
NEXT I
|
||||||
END
|
END
|
||||||
|
|
||||||
FOR I = CurrRow TO CurrRow + CustCnt
|
FOR I = CurrRow TO CurrRow + CustCnt
|
||||||
CustNo = CustNos<1,I>
|
CustNo = CustNos<1,I>
|
||||||
CustName = XLATE('COMPANY',CustNo,4,'X')
|
CustName = XLATE('COMPANY',CustNo,4,'X')
|
||||||
@ -164,10 +147,10 @@ IF CustNo = '' THEN
|
|||||||
Set_Property(CtrlName,'CELLPOS',CustName,COL$CUST_NAME:@FM:I)
|
Set_Property(CtrlName,'CELLPOS',CustName,COL$CUST_NAME:@FM:I)
|
||||||
Set_Property(CtrlName,'SELPOS',COL$CUST_NO:@FM:I+1)
|
Set_Property(CtrlName,'SELPOS',COL$CUST_NO:@FM:I+1)
|
||||||
NEXT I
|
NEXT I
|
||||||
|
END ELSE
|
||||||
END ELSE
|
|
||||||
ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers')
|
ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers')
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
@ -175,79 +158,52 @@ RETURN
|
|||||||
SubPNDC:
|
SubPNDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
||||||
|
CustNos = CustArray<COL$CUST_NO>
|
||||||
CustNos = CustArray<COL$CUST_NO>
|
LOOP
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastCustNo = CustNos[-1,'B':@VM]
|
LastCustNo = CustNos[-1,'B':@VM]
|
||||||
UNTIL LastCustNo NE '' OR CustNos = ''
|
UNTIL LastCustNo NE '' OR CustNos = ''
|
||||||
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
CustNos[COL1(),99] = ''
|
||||||
REPEAT
|
REPEAT
|
||||||
|
IF CustNos NE '' then
|
||||||
IF CustNos = '' THEN RETURN
|
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
||||||
|
|
||||||
* display the processing message and do the processing
|
|
||||||
|
|
||||||
Def = ""
|
|
||||||
Def<MTEXT$> = "Selecting Substrate Part Numbers..."
|
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|
||||||
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
||||||
SearchString := 'SUB_PART_NO':@VM:'#':@FM
|
SearchString := 'ORD_SUB_PART_NO':@VM:'#':@FM
|
||||||
|
|
||||||
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
|
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
|
||||||
IF Get_Status(errCode) THEN
|
IF Not(Get_Status(errCode)) THEN
|
||||||
Msg(@WINDOW,MsgUp)
|
|
||||||
ErrMsg(errCode)
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
IF WOKeys NE '' THEN
|
|
||||||
RawPartNos = XLATE('WO_LOG',WOKeys,'SUB_PART_NO','X') ;* Calculated field
|
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
|
||||||
PartNos = ''
|
PartNos = ''
|
||||||
|
IF WOKeys NE '' THEN
|
||||||
|
RawPartNos = XLATE('WO_LOG',WOKeys,'ORD_SUB_PART_NO','X')
|
||||||
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '')
|
FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '')
|
||||||
RawPartNo = RawPartNos<1,I>
|
RawPartNo = RawPartNos<1,I>
|
||||||
LOCATE RawPartNo IN PartNos BY 'AL' USING @VM SETTING Pos ELSE
|
LOCATE RawPartNo IN PartNos BY 'AL' USING @VM SETTING Pos ELSE
|
||||||
PartNos = INSERT(PartNos,1,Pos,0,RawPartNo)
|
PartNos = INSERT(PartNos,1,Pos,0,RawPartNo)
|
||||||
END
|
END
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
END ELSE
|
|
||||||
PartNos = ''
|
|
||||||
END
|
END
|
||||||
|
IF PartNos NE '' THEN
|
||||||
Msg(@WINDOW,MsgUp)
|
|
||||||
|
|
||||||
IF PartNos = '' THEN
|
|
||||||
ErrMsg('No Substrate Part Numbers on file for specified customer.')
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
PartNos := @VM
|
PartNos := @VM
|
||||||
CONVERT @VM TO @RM IN PartNos
|
CONVERT @VM TO @RM IN PartNos
|
||||||
CALL V119('S','','D','R',PartNos,'')
|
CALL V119('S','','D','R',PartNos,'')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
CONVERT @RM TO @VM IN PartNos
|
CONVERT @RM TO @VM IN PartNos
|
||||||
PartNos[-1,1] = '' ;* Strip trailing delimiter
|
PartNos[-1,1] = ''
|
||||||
|
|
||||||
|
|
||||||
TypeOver = ''
|
TypeOver = ''
|
||||||
TypeOver<PDISPLAY$> = PartNos
|
TypeOver<PDISPLAY$> = PartNos
|
||||||
PartNos = Popup(@WINDow,TypeOver,'CUST_PO') ;****** Need a popup
|
PartNos = Popup(@WINDow,TypeOver,'CUST_PO')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
|
IF PartNos NE '' THEN Set_Property(@WINDOW:'.SUB_PART_NO','DEFPROP',PartNos)
|
||||||
IF PartNos NE '' THEN
|
END else
|
||||||
Set_Property(@WINDOW:'.SUB_PART_NO','DEFPROP',PartNos)
|
ErrMsg('No Substrate Part Numbers on file for specified customer.')
|
||||||
END
|
end
|
||||||
|
end else
|
||||||
|
ErrMsg(errCode)
|
||||||
END ELSE
|
end
|
||||||
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
end else
|
||||||
END
|
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_CASS_MET_EXPORT.')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -256,172 +212,144 @@ RETURN
|
|||||||
LotNoDC:
|
LotNoDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
|
||||||
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastCustNo = CustNos[-1,'B':@VM]
|
|
||||||
UNTIL LastCustNo NE '' OR CustNos = ''
|
|
||||||
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF CustNos = '' THEN RETURN
|
|
||||||
|
|
||||||
* display the processing message and do the processing
|
|
||||||
|
|
||||||
Def = ""
|
|
||||||
Def<MTEXT$> = "Selecting Lot Numbers..."
|
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|
||||||
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
|
||||||
SearchString := 'LOT_NO':@VM:'#':@FM
|
|
||||||
|
|
||||||
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
|
|
||||||
IF Get_Status(errCode) THEN
|
|
||||||
Msg(@WINDOW,MsgUp)
|
|
||||||
ErrMsg(errCode)
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
IF WOKeys NE '' THEN
|
|
||||||
RawLotNos = XLATE('WO_LOG',WOKeys,'LOT_NO','X') ;* Calculated field
|
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
|
||||||
LotNos = ''
|
LotNos = ''
|
||||||
|
WOKeys = ''
|
||||||
|
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
||||||
|
CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM)
|
||||||
|
IF CustNos NE '' then
|
||||||
|
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
||||||
|
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
||||||
|
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
|
||||||
|
IF Not(Get_Status(errCode)) THEN
|
||||||
|
Query = 'LOT_NO':@VM:'#':@FM
|
||||||
|
dWoMat = ''
|
||||||
|
WOMatWONos = ''
|
||||||
|
Open 'DICT.WO_MAT' to dWoMat then
|
||||||
|
Flag = ''
|
||||||
|
WOMatKeys = ''
|
||||||
|
Btree.Extract(Query, 'WO_MAT', dWoMat, WOMatKeys, 'E', Flag)
|
||||||
|
If Not(Get_status(errCode)) then
|
||||||
|
If WOMatKeys NE '' then
|
||||||
|
WOMatWONos = SRP_Array('Rotate', WOMatKeys, @VM, '*')
|
||||||
|
WOMatWONos = Delete(WOMatWONos, 0, 2, 0)
|
||||||
|
Convert '*' to @VM in WOMatWONos
|
||||||
|
WOMatWONos = SRP_Array('Clean', WOMatWONos, 'TrimAndMakeUnique', @VM)
|
||||||
|
WOKeys = SRP_Array('Join', WOKeys, WOMatWONos, 'OR', @VM)
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrMsg('Error querying LOT_NO field of the WO_MAT table.')
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrMsg('Error opening DICT.WO_MAT table in order to query on LOT_NO field')
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrMsg(errCode)
|
||||||
|
end
|
||||||
|
IF WOKeys NE '' THEN
|
||||||
|
RawLotNos = XLATE('WO_LOG',WOKeys,'LOT_NO','X')
|
||||||
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
FOR I = 1 TO COUNT(RawLotNos,@VM) + (RawLotNos NE '')
|
FOR I = 1 TO COUNT(RawLotNos,@VM) + (RawLotNos NE '')
|
||||||
RawLotNo = RawLotNos<1,I>
|
RawLotNo = RawLotNos<1,I>
|
||||||
LOCATE RawLotNo IN LotNos BY 'AL' USING @VM SETTING Pos ELSE
|
LOCATE RawLotNo IN LotNos BY 'AL' USING @VM SETTING Pos ELSE
|
||||||
LotNos = INSERT(LotNos,1,Pos,0,RawLotNo)
|
LotNos = INSERT(LotNos,1,Pos,0,RawLotNo)
|
||||||
END
|
END
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
END ELSE
|
|
||||||
LotNos = ''
|
|
||||||
END
|
END
|
||||||
|
IF LotNos NE '' THEN
|
||||||
Msg(@WINDOW,MsgUp)
|
|
||||||
|
|
||||||
IF LotNos = '' THEN
|
|
||||||
ErrMsg('No Lot Numbers on file for specified customer.')
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
LotNos := @VM
|
LotNos := @VM
|
||||||
CONVERT @VM TO @RM IN LotNos
|
CONVERT @VM TO @RM IN LotNos
|
||||||
CALL V119('S','','D','R',LotNos,'')
|
CALL V119('S','','D','R',LotNos,'')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
CONVERT @RM TO @VM IN LotNos
|
CONVERT @RM TO @VM IN LotNos
|
||||||
LotNos[-1,1] = '' ;* Strip trailing delimiter
|
LotNos[-1,1] = ''
|
||||||
|
|
||||||
|
|
||||||
TypeOver = ''
|
TypeOver = ''
|
||||||
TypeOver<PDISPLAY$> = LotNos
|
TypeOver<PDISPLAY$> = LotNos
|
||||||
LotNos = Popup(@WINDow,TypeOver,'CUST_PO') ;****** Need a popup
|
LotNos = Popup(@WINDow,TypeOver,'CUST_PO')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
|
IF LotNos NE '' THEN Set_Property(@WINDOW:'.LOT_NO','DEFPROP',LotNos)
|
||||||
IF LotNos NE '' THEN
|
END else
|
||||||
Set_Property(@WINDOW:'.LOT_NO','DEFPROP',LotNos)
|
ErrMsg('No Lot Numbers on file for specified customer.')
|
||||||
|
end
|
||||||
|
END ELSE
|
||||||
|
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_CASS_MET_EXPORT.')
|
||||||
END
|
END
|
||||||
|
end
|
||||||
|
|
||||||
END ELSE
|
|
||||||
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
|
||||||
END
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
PSNoDC:
|
PSNoDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
WOKeys = ''
|
||||||
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
|
|
||||||
|
|
||||||
CustNos = CustArray<COL$CUST_NO>
|
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastCustNo = CustNos[-1,'B':@VM]
|
|
||||||
UNTIL LastCustNo NE '' OR CustNos = ''
|
|
||||||
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF CustNos = '' THEN RETURN
|
|
||||||
|
|
||||||
* display the processing message and do the processing
|
|
||||||
|
|
||||||
Def = ""
|
|
||||||
Def<MTEXT$> = "Selecting Product Specifications..."
|
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|
||||||
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
|
||||||
SearchString := 'PS_NO':@VM:'#':@FM
|
|
||||||
|
|
||||||
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
|
|
||||||
IF Get_Status(errCode) THEN
|
|
||||||
Msg(@WINDOW,MsgUp)
|
|
||||||
ErrMsg(errCode)
|
|
||||||
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
IF WOKeys NE '' THEN
|
|
||||||
PSNs = ''
|
PSNs = ''
|
||||||
|
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
|
||||||
|
CustNos = CustArray<COL$CUST_NO>
|
||||||
|
CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM)
|
||||||
|
If CustNos NE '' then
|
||||||
|
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
||||||
|
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
||||||
|
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
|
||||||
|
IF Not(Get_Status(errCode)) THEN
|
||||||
|
Query = 'PROD_SPEC_ID':@VM:'#':@FM
|
||||||
|
dWOStep = ''
|
||||||
|
WOStepWONos = ''
|
||||||
|
Open 'DICT.WO_STEP' to dWOStep then
|
||||||
|
Flag = ''
|
||||||
|
WOStepKeys = ''
|
||||||
|
Btree.Extract(Query, 'WO_STEP', dWOStep, WOStepKeys, 'E', Flag)
|
||||||
|
If Not(Get_Status(ErrCode)) then
|
||||||
|
If WOStepKeys NE '' then
|
||||||
|
WOStepWONos = SRP_Array('Rotate', WOStepKeys, @VM, '*')
|
||||||
|
WOStepWONos = Delete(WOStepWONos, 0, 2, 0)
|
||||||
|
Convert '*' to @VM in WOStepWONos
|
||||||
|
WOStepWONos = SRP_Array('Clean', WOStepWONos, 'TrimAndMakeUnique', @VM)
|
||||||
|
WOKeys = SRP_Array('Join', WOKeys, WOStepWONos, 'OR', @VM)
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrorMsg = 'Error querying PROD_SPEC_ID field in WO_STEP table.'
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrorMsg = 'Error opening DICT.WO_STEP table in order to query on PROD_SPEC_ID field. Error code: ':ErrCode
|
||||||
|
end
|
||||||
|
END else
|
||||||
|
ErrMsg(errCode)
|
||||||
|
end
|
||||||
|
IF WOKeys NE '' THEN
|
||||||
FOR N = 1 TO COUNT(WOKeys,@VM) + (WOKeys NE '')
|
FOR N = 1 TO COUNT(WOKeys,@VM) + (WOKeys NE '')
|
||||||
WOKey = WOKeys<1,N>
|
WOKey = WOKeys<1,N>
|
||||||
RawPSNs = XLATE('WO_LOG',WOKey,'PS_NO','X')
|
RawPSNs = XLATE('WO_LOG',WOKey,'PS_NO','X')
|
||||||
|
|
||||||
FOR I = 1 TO COUNT(RawPSNs,@VM) + (RawPSNs NE '')
|
FOR I = 1 TO COUNT(RawPSNs,@VM) + (RawPSNs NE '')
|
||||||
RawPSN = RawPSNs<1,I>
|
RawPSN = RawPSNs<1,I>
|
||||||
|
|
||||||
LOCATE RawPSN IN PSNs BY 'AL' USING @VM SETTING Pos ELSE
|
LOCATE RawPSN IN PSNs BY 'AL' USING @VM SETTING Pos ELSE
|
||||||
PSNs = INSERT(PSNs,1,Pos,0,RawPSN)
|
PSNs = INSERT(PSNs,1,Pos,0,RawPSN)
|
||||||
END
|
END
|
||||||
|
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
NEXT N
|
NEXT N
|
||||||
END ELSE
|
|
||||||
PSNs = ''
|
|
||||||
END
|
END
|
||||||
|
IF PSNs NE '' THEN
|
||||||
Msg(@WINDOW,MsgUp)
|
|
||||||
|
|
||||||
IF PSNs = '' THEN
|
|
||||||
ErrMsg('No Product Specifications on file for specified customer.')
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
PSNs := @VM
|
PSNs := @VM
|
||||||
CONVERT @VM TO @RM IN PSNs
|
CONVERT @VM TO @RM IN PSNs
|
||||||
CALL V119('S','','D','R',PSNs,'')
|
CALL V119('S','','D','R',PSNs,'')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
CONVERT @RM TO @VM IN PSNs
|
CONVERT @RM TO @VM IN PSNs
|
||||||
PSNs[-1,1] = '' ;* Strip trailing delimiter
|
PSNs[-1,1] = '' ;* Strip trailing delimiter
|
||||||
|
|
||||||
|
|
||||||
TypeOver = ''
|
TypeOver = ''
|
||||||
TypeOver<PDISPLAY$> = PSNs
|
TypeOver<PDISPLAY$> = PSNs
|
||||||
PSNs = Popup(@WINDow,TypeOver,'CUST_PO')
|
PSNs = Popup(@WINDow,TypeOver,'CUST_PO')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
|
|
||||||
IF PSNs NE '' THEN
|
IF PSNs NE '' THEN
|
||||||
CONVERT @VM TO @FM IN PSNs
|
CONVERT @VM TO @FM IN PSNs
|
||||||
Set_Property(@WINDOW:'.PS_NO','LIST',PSNs)
|
Set_Property(@WINDOW:'.PS_NO','LIST',PSNs)
|
||||||
END
|
END
|
||||||
|
END else
|
||||||
|
ErrMsg('No Product Specifications on file for specified customer.')
|
||||||
END ELSE
|
end
|
||||||
|
END ELSE
|
||||||
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
||||||
END
|
END
|
||||||
|
end
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -430,65 +358,43 @@ RETURN
|
|||||||
WONoDC:
|
WONoDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
WOKeys = Collect.IXVals('WM_OUT', 'WO_NO')
|
WOKeys = Collect.IXVals('WM_OUT', 'WO_NO')
|
||||||
|
CONVERT @FM TO @VM IN WOKeys
|
||||||
CONVERT @FM TO @VM IN WOKeys
|
IF Not(Get_Status(errCode)) THEN
|
||||||
|
IF WOKeys NE '' THEN
|
||||||
IF Get_Status(errCode) THEN ErrMsg(ErrCode)
|
|
||||||
|
|
||||||
IF WOKeys NE '' THEN
|
|
||||||
TypeOver = ''
|
TypeOver = ''
|
||||||
TypeOver<PDISPLAY$> = WOKeys
|
TypeOver<PDISPLAY$> = WOKeys
|
||||||
TypeOver<PMODE$> = 'K'
|
TypeOver<PMODE$> = 'K'
|
||||||
|
|
||||||
WOKeys = Popup(@WINDOW,TypeOver,'WO_LOG_QUERY')
|
WOKeys = Popup(@WINDOW,TypeOver,'WO_LOG_QUERY')
|
||||||
IF Get_Status(errCode) THEN
|
IF Not(Get_Status(errCode)) THEN
|
||||||
ErrMsg(errCode)
|
|
||||||
END
|
|
||||||
|
|
||||||
IF WOKeys NE '' THEN
|
IF WOKeys NE '' THEN
|
||||||
CONVERT @VM TO @FM IN WOKeys
|
CONVERT @VM TO @FM IN WOKeys
|
||||||
Set_Property(@WINDOW:'.WO_NO','LIST',WOKeys)
|
Set_Property(@WINDOW:'.WO_NO','LIST',WOKeys)
|
||||||
END
|
END
|
||||||
END
|
END else
|
||||||
RETURN
|
ErrMsg(errCode)
|
||||||
|
end
|
||||||
|
END
|
||||||
|
end else
|
||||||
|
ErrMsg(ErrCode)
|
||||||
|
end
|
||||||
|
|
||||||
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
CustPNDC:
|
CustPNDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
|
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
|
||||||
|
CustNos = CustArray<COL$CUST_NO>
|
||||||
CustNos = CustArray<COL$CUST_NO>
|
CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM)
|
||||||
|
IF CustNos NE '' then
|
||||||
LOOP
|
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
||||||
LastCustNo = CustNos[-1,'B':@VM]
|
|
||||||
UNTIL LastCustNo NE '' OR CustNos = ''
|
|
||||||
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF CustNos = '' THEN RETURN
|
|
||||||
|
|
||||||
* display the processing message and do the processing
|
|
||||||
|
|
||||||
Def = ""
|
|
||||||
Def<MTEXT$> = "Selecting Part Numbers..."
|
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|
||||||
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
||||||
SearchString := 'CUST_PART_NO':@VM:'#':@FM
|
SearchString := 'CUST_PART_NO':@VM:'#':@FM
|
||||||
|
|
||||||
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
|
Btree.Extract(SearchString, 'WO_LOG', DictVar, WOKeys, '', Flag)
|
||||||
IF Get_Status(errCode) THEN
|
IF Not(Get_Status(errCode)) THEN
|
||||||
Msg(@WINDOW,MsgUp)
|
|
||||||
ErrMsg(errCode)
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
IF WOKeys NE '' THEN
|
IF WOKeys NE '' THEN
|
||||||
PartNos = ''
|
PartNos = ''
|
||||||
FOR N = 1 TO COUNT(WOKeys,@VM) + (WOKeys NE '')
|
FOR N = 1 TO COUNT(WOKeys,@VM) + (WOKeys NE '')
|
||||||
@ -496,64 +402,49 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|||||||
RawPartNos = XLATE('WO_LOG',WOKey,'PART_NO','X')
|
RawPartNos = XLATE('WO_LOG',WOKey,'PART_NO','X')
|
||||||
FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '')
|
FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '')
|
||||||
RawPartNo = RawPartNos<1,I>
|
RawPartNo = RawPartNos<1,I>
|
||||||
|
|
||||||
LOCATE RawPartNo IN PartNos BY 'AL' USING @VM SETTING Pos ELSE
|
LOCATE RawPartNo IN PartNos BY 'AL' USING @VM SETTING Pos ELSE
|
||||||
PartNos = INSERT(PartNos,1,Pos,0,RawPartNo)
|
PartNos = INSERT(PartNos,1,Pos,0,RawPartNo)
|
||||||
END
|
END
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
NEXT N
|
NEXT N
|
||||||
END ELSE
|
END ELSE
|
||||||
PartNos = ''
|
PartNos = ''
|
||||||
END
|
END
|
||||||
|
IF PartNos NE '' THEN
|
||||||
Msg(@WINDOW,MsgUp)
|
|
||||||
|
|
||||||
IF PartNos = '' THEN
|
|
||||||
ErrMsg('No Customer Part Numbers on file for specified customer.')
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
PartNos := @VM
|
PartNos := @VM
|
||||||
CONVERT @VM TO @RM IN PartNos
|
CONVERT @VM TO @RM IN PartNos
|
||||||
CALL V119('S','','D','R',PartNos,'')
|
CALL V119('S','','D','R',PartNos,'')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
CONVERT @RM TO @VM IN PartNos
|
CONVERT @RM TO @VM IN PartNos
|
||||||
PartNos[-1,1] = '' ;* Strip trailing delimiter
|
PartNos[-1,1] = ''
|
||||||
|
|
||||||
|
|
||||||
TypeOver = ''
|
TypeOver = ''
|
||||||
TypeOver<PDISPLAY$> = PartNos
|
TypeOver<PDISPLAY$> = PartNos
|
||||||
PartNos = Popup(@WINDow,TypeOver,'CUST_PO') ;* Needs a popup
|
PartNos = Popup(@WINDow,TypeOver,'CUST_PO')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
|
IF PartNos NE '' THEN Set_Property(@WINDOW:'.CUST_PART_NO','DEFPROP',PartNos)
|
||||||
IF PartNos NE '' THEN
|
END else
|
||||||
Set_Property(@WINDOW:'.CUST_PART_NO','DEFPROP',PartNos)
|
ErrMsg('No Customer Part Numbers on file for specified customer.')
|
||||||
END
|
end
|
||||||
|
END else
|
||||||
END ELSE
|
ErrMsg(errCode)
|
||||||
|
end
|
||||||
|
END ELSE
|
||||||
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
||||||
END
|
END
|
||||||
|
end
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
LUDate:
|
LUDate:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
ReturnCtrl = Parm1[1,@RM]
|
ReturnCtrl = Parm1[1,@RM]
|
||||||
|
IF ReturnCtrl = '' THEN ReturnCtrl = Get_Property(@WINDOW,'FOCUS')
|
||||||
IF ReturnCtrl = '' THEN ReturnCtrl = Get_Property(@WINDOW,'FOCUS')
|
DateSelected = Dialog_Box('POPUP_YEAR',@WINDOW)
|
||||||
|
RetVal = OCONV(DateSelected, 'D4/')
|
||||||
DateSelected = Dialog_Box('POPUP_YEAR',@WINDOW)
|
IF RetVal NE '' THEN obj_Appwindow('LUValReturn',RetVal:@RM:ReturnCtrl)
|
||||||
|
|
||||||
RetVal = OCONV(DateSelected, 'D4/')
|
|
||||||
|
|
||||||
IF RetVal NE '' THEN
|
|
||||||
obj_Appwindow('LUValReturn',RetVal:@RM:ReturnCtrl)
|
|
||||||
END
|
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -565,93 +456,40 @@ Cancel:
|
|||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
PerformQuery:
|
PerformQuery:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
* Customer numbers *
|
SearchString = 'MAKEUP_BOX':@VM:'0':@VM:'':@FM
|
||||||
|
|
||||||
SearchString = 'MAKEUP_BOX':@VM:'0':@VM:'':@FM
|
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
||||||
|
CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM)
|
||||||
|
IF CustNos NE '' THEN SearchString := 'CUST_NO':@VM:CustNos:@FM
|
||||||
|
|
||||||
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
LotNos = Get_Property(@WINDOW:'.LOT_NO','ARRAY')<1>
|
||||||
|
LotNos = SRP_Array('Clean', LotNos, 'TrimAndMakeUnique', @VM)
|
||||||
|
IF LotNos NE '' THEN SearchString := 'LOT_NO':@VM:LotNos:@FM
|
||||||
|
|
||||||
LOOP
|
CustPNs = Get_Property(@WINDOW:'.CUST_PART_NO','ARRAY')<1>
|
||||||
LastVar = CustNos[-1,'B':@VM]
|
CustPNs = SRP_Array('Clean', CustPNs, 'TrimAndMakeUnique', @VM)
|
||||||
UNTIL LastVar NE '' OR CustNos = ''
|
IF CustPNs NE '' THEN SearchString := 'CUST_PART_NO':@VM:CustPNs:@FM
|
||||||
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF CustNos NE '' THEN SearchString := 'CUST_NO':@VM:CustNos:@FM
|
SubPartNos = Get_Property(@WINDOW:'.SUB_PART_NO','ARRAY')<1>
|
||||||
|
SubPartNos = SRP_Array('Clean', SubPartNos, 'TrimAndMakeUnique', @VM)
|
||||||
|
IF SubPartNos NE '' THEN SearchString := 'SUB_PART_NO':@VM:SubPartNos:@FM
|
||||||
|
|
||||||
* LotNumbers *
|
PS_NOs = Get_Property(@WINDOW:'.PS_NO','ARRAY')<1>
|
||||||
|
PS_NOs = SRP_Array('Clean', PS_NOs, 'TrimAndMakeUnique', @VM)
|
||||||
|
IF PS_NOs NE '' THEN SearchString := 'SHIP_PSN':@VM:PS_NOs:@FM
|
||||||
|
|
||||||
LotNos = Get_Property(@WINDOW:'.LOT_NO','ARRAY')<1>
|
WO_NOs = Get_Property(@WINDOW:'.WO_NO','ARRAY')<1>
|
||||||
|
WO_NOs = SRP_Array('Clean', WO_NOs, 'TrimAndMakeUnique', @VM)
|
||||||
|
IF WO_NOs NE '' THEN SearchString := 'WO_NO':@VM:WO_NOs:@FM
|
||||||
|
|
||||||
LOOP
|
StartDt = ICONV(Get_Property(@WINDOW:'.START_DT','TEXT'),'D')
|
||||||
LastVal = LotNos[-1,'B':@VM]
|
EndDt = ICONV(Get_Property(@WINDOW:'.END_DT','TEXT'),'D')
|
||||||
UNTIL LastVal NE '' OR LotNos = ''
|
|
||||||
LotNos[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF LotNos NE '' THEN SearchString := 'LOT_NO':@VM:LotNos:@FM
|
BEGIN CASE
|
||||||
|
|
||||||
|
|
||||||
* Cust Part Number *
|
|
||||||
|
|
||||||
CustPNs = Get_Property(@WINDOW:'.CUST_PART_NO','ARRAY')<1>
|
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastVal = CustPNs[-1,'B':@VM]
|
|
||||||
UNTIL LastVal NE '' OR CustPNs = ''
|
|
||||||
CustPNS[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF CustPNs NE '' THEN SearchString := 'CUST_PART_NO':@VM:CustPNs:@FM
|
|
||||||
|
|
||||||
* Substrate Part Numbers *
|
|
||||||
|
|
||||||
SubPartNos = Get_Property(@WINDOW:'.SUB_PART_NO','ARRAY')<1>
|
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastVal = SubPartNos[-1,'B':@VM]
|
|
||||||
UNTIL LastVal NE '' OR SubPartNos = ''
|
|
||||||
SubPartNos[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF SubPartNos NE '' THEN SearchString := 'SUB_PART_NO':@VM:SubPartNos:@FM
|
|
||||||
|
|
||||||
* PSN Nos *
|
|
||||||
|
|
||||||
PS_NOs = Get_Property(@WINDOW:'.PS_NO','ARRAY')<1>
|
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastVal = PS_NOs[-1,'B':@VM]
|
|
||||||
UNTIL LastVal NE '' OR PS_NOs = ''
|
|
||||||
PS_NOs[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF PS_NOs NE '' THEN SearchString := 'SHIP_PSN':@VM:PS_NOs:@FM
|
|
||||||
|
|
||||||
|
|
||||||
* WO Nos *
|
|
||||||
|
|
||||||
WO_NOs = Get_Property(@WINDOW:'.WO_NO','ARRAY')<1>
|
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastVal = WO_NOs[-1,'B':@VM]
|
|
||||||
UNTIL LastVal NE '' OR WO_NOs = ''
|
|
||||||
WO_NOs[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF WO_NOs NE '' THEN SearchString := 'WO_NO':@VM:WO_NOs:@FM
|
|
||||||
|
|
||||||
* Entry Dates *
|
|
||||||
|
|
||||||
StartDt = ICONV(Get_Property(@WINDOW:'.START_DT','TEXT'),'D')
|
|
||||||
EndDt = ICONV(Get_Property(@WINDOW:'.END_DT','TEXT'),'D')
|
|
||||||
|
|
||||||
BEGIN CASE
|
|
||||||
CASE StartDt NE '' AND EndDt = ''
|
CASE StartDt NE '' AND EndDt = ''
|
||||||
SearchString := 'RDS_FINAL_SIG_DT':@VM:'>=':OConv(StartDt, 'D4/'):@FM
|
SearchString := 'RDS_FINAL_SIG_DT':@VM:'>=':OConv(StartDt, 'D4/'):@FM
|
||||||
|
|
||||||
@ -664,36 +502,21 @@ BEGIN CASE
|
|||||||
EndDt += 1
|
EndDt += 1
|
||||||
SearchString := 'RDS_FINAL_SIG_DT':@VM:OConv(StartDt, 'D4/'):'~':OConv(EndDt, 'D4/'):@FM
|
SearchString := 'RDS_FINAL_SIG_DT':@VM:OConv(StartDt, 'D4/'):'~':OConv(EndDt, 'D4/'):@FM
|
||||||
|
|
||||||
CASE 1
|
CASE Otherwise$
|
||||||
NULL
|
NULL
|
||||||
END CASE
|
END CASE
|
||||||
|
|
||||||
|
|
||||||
OPEN 'DICT.WO_MAT' TO DictVar THEN
|
OPEN 'DICT.WO_MAT' TO DictVar THEN
|
||||||
Def = ""
|
|
||||||
Def<MTEXT$> = "Selecting WO_MAT Recrods..."
|
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
* display the processing message and do the processing
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
|
|
||||||
Btree.Extract(SearchString,'WO_MAT',DictVar,WMOKeys,'',flag)
|
Btree.Extract(SearchString,'WO_MAT',DictVar,WMOKeys,'',flag)
|
||||||
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
IF Not(Get_Status(errCode)) THEN
|
||||||
|
|
||||||
Msg(@window, MsgUp)
|
|
||||||
IF Get_Status(errCode) THEN
|
|
||||||
ErrMsg(errCode)
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
End_Dialog(@WINDOW,WMOKeys)
|
End_Dialog(@WINDOW,WMOKeys)
|
||||||
|
end else
|
||||||
END ELSE
|
ErrMsg(errCode)
|
||||||
|
end
|
||||||
|
END ELSE
|
||||||
ErrMsg('Unable to open DICT.WO_MAT in routine COMM_DIALOG_CASS_MET_EXPORT')
|
ErrMsg('Unable to open DICT.WO_MAT in routine COMM_DIALOG_CASS_MET_EXPORT')
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,24 +1,30 @@
|
|||||||
COMPILE FUNCTION Comm_Dialog_WO_Find(Method, Parm1)
|
COMPILE FUNCTION Comm_Dialog_WO_Find(Method, Parm1)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Commuter module for Dialog_WO_Find window.
|
Commuter module for Dialog_WO_Find window.
|
||||||
|
|
||||||
01/14/2005 - John C. Henry, J.C. Henry & Co., Inc.
|
01/14/2005 - John C. Henry, J.C. Henry & Co., Inc.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg
|
DECLARE SUBROUTINE Set_Property, End_Dialog, Send_Event, Set_Status, ErrMsg, Btree.Extract, Msg, Send_Info
|
||||||
DECLARE SUBROUTINE obj_Appwindow, Start_Window, Btree.Extract, Msg, Send_Info
|
DECLARE SUBROUTINE obj_Appwindow, Start_Window
|
||||||
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Send_Message, Popup, Collect.IXVals, Msg
|
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Utility, Send_Message, Popup, Collect.IXVals, Msg
|
||||||
|
DECLARE FUNCTION SRP_Array
|
||||||
|
|
||||||
|
$INSERT LOGICAL
|
||||||
|
$INSERT PS_EQUATES
|
||||||
|
$INSERT POPUP_EQUATES
|
||||||
|
$INSERT MSG_EQUATES
|
||||||
|
$INSERT WO_LOG_EQUATES
|
||||||
|
$INSERT WO_STEP_EQUATES
|
||||||
|
$INSERT WO_MAT_EQUATES
|
||||||
|
|
||||||
EQU CRLF$ TO \0D0A\
|
EQU CRLF$ TO \0D0A\
|
||||||
|
|
||||||
|
|
||||||
EQU COL$CUST_NO TO 1 ;* Customer edit table column equates
|
EQU COL$CUST_NO TO 1 ;* Customer edit table column equates
|
||||||
EQU COL$CUST_NAME TO 2
|
EQU COL$CUST_NAME TO 2
|
||||||
|
|
||||||
EQU COL$REACT_TYPE TO 1
|
EQU COL$REACT_TYPE TO 1
|
||||||
|
|
||||||
|
|
||||||
EQU LTGREY$ TO 229 + (229*256) + (229*65536) ;* JCH standard colors for edittable backgrounds
|
EQU LTGREY$ TO 229 + (229*256) + (229*65536) ;* JCH standard colors for edittable backgrounds
|
||||||
EQU GREY$ TO 192 + (192*256) + (192*65536)
|
EQU GREY$ TO 192 + (192*256) + (192*65536)
|
||||||
EQU GREEN$ TO 192 + (220*256) + (192*65536)
|
EQU GREEN$ TO 192 + (220*256) + (192*65536)
|
||||||
@ -32,17 +38,13 @@ EQU PURPLE$ TO 225 + (181*256) + (255*65536)
|
|||||||
EQU DTS_MULTIROW$ TO 512
|
EQU DTS_MULTIROW$ TO 512
|
||||||
EQU DTS_LARGEDATA$ TO 4096
|
EQU DTS_LARGEDATA$ TO 4096
|
||||||
|
|
||||||
$INSERT WO_LOG_EQU
|
|
||||||
$INSERT PS_EQUATES
|
|
||||||
$INSERT POPUP_EQUATES
|
|
||||||
$INSERT MSG_EQUATES
|
|
||||||
|
|
||||||
ErrTitle = 'Error in Comm_Dialog_Order_Find'
|
ErrTitle = 'Error in Comm_Dialog_Order_Find'
|
||||||
ErrorMsg = ''
|
ErrorMsg = ''
|
||||||
|
|
||||||
Result = ''
|
Result = ''
|
||||||
|
|
||||||
BEGIN CASE
|
BEGIN CASE
|
||||||
|
|
||||||
CASE Method = 'Create' ; GOSUB Create
|
CASE Method = 'Create' ; GOSUB Create
|
||||||
CASE Method = 'CustChar' ; GOSUB CustChar
|
CASE Method = 'CustChar' ; GOSUB CustChar
|
||||||
CASE Method = 'CustPC' ; GOSUB CustPC
|
CASE Method = 'CustPC' ; GOSUB CustPC
|
||||||
@ -56,7 +58,7 @@ BEGIN CASE
|
|||||||
CASE Method = 'Cancel' ; GOSUB Cancel
|
CASE Method = 'Cancel' ; GOSUB Cancel
|
||||||
CASE Method = 'Refresh' ; GOSUB Refresh
|
CASE Method = 'Refresh' ; GOSUB Refresh
|
||||||
CASE Method = 'PerformQuery' ; GOSUB PerformQuery
|
CASE Method = 'PerformQuery' ; GOSUB PerformQuery
|
||||||
CASE 1
|
CASE Otherwise$
|
||||||
ErrMsg(ErrTitle:@SVM:'Unknown method ':QUOTE(Method):' passed to routine.')
|
ErrMsg(ErrTitle:@SVM:'Unknown method ':QUOTE(Method):' passed to routine.')
|
||||||
|
|
||||||
END CASE
|
END CASE
|
||||||
@ -68,12 +70,11 @@ RETURN Result
|
|||||||
Create:
|
Create:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
obj_AppWindow('Create')
|
||||||
|
|
||||||
obj_AppWindow('Create')
|
Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX')
|
||||||
|
|
||||||
Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX')
|
GOSUB Refresh
|
||||||
|
|
||||||
GOSUB Refresh
|
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -82,9 +83,9 @@ RETURN
|
|||||||
Refresh:
|
Refresh:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
* Turn edit table symbolic column backgrounds to green
|
* Turn edit table symbolic column backgrounds to green
|
||||||
|
|
||||||
stat = Send_Message(@WINDOW:'.CUST_INFO','COLOR_BY_POS',COL$CUST_NAME,0,GREEN$) ;* Turn names column all rows green
|
stat = Send_Message(@WINDOW:'.CUST_INFO','COLOR_BY_POS',COL$CUST_NAME,0,GREEN$) ;* Turn names column all rows green
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -93,25 +94,20 @@ RETURN
|
|||||||
CustChar:
|
CustChar:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CtrlName = @WINDOW:'.CUST_INFO'
|
CtrlName = @WINDOW:'.CUST_INFO'
|
||||||
|
CustArray = Get_Property(CtrlName,'ARRAY') ;* Customer Information table
|
||||||
CustArray = Get_Property(CtrlName,'ARRAY') ;* Customer Information table
|
CurrPos = Get_Property(CtrlName,'SELPOS')
|
||||||
CurrPos = Get_Property(CtrlName,'SELPOS')
|
CurrRow = CurrPos<2>
|
||||||
|
DataIn = CustArray<COL$CUST_NO,CurrRow>
|
||||||
CurrRow = CurrPos<2>
|
|
||||||
|
|
||||||
DataIn = CustArray<COL$CUST_NO,CurrRow>
|
|
||||||
|
|
||||||
IF LEN(DataIn) > 2 THEN
|
|
||||||
|
|
||||||
|
IF LEN(DataIn) > 2 THEN
|
||||||
ReturnToCtrl = CtrlName
|
ReturnToCtrl = CtrlName
|
||||||
ReturnToPos = CurrPos
|
ReturnToPos = CurrPos
|
||||||
|
|
||||||
IF NOT(NUM(DataIn)) THEN
|
IF NOT(NUM(DataIn)) THEN
|
||||||
Set_Property(CtrlName,'CELLPOS','',CurrPos) ;* Clear characters input
|
Set_Property(CtrlName,'CELLPOS','',CurrPos) ;* Clear characters input
|
||||||
Start_Window('COMP_LOOKUP',@WINDOW,DataIn:@VM:'C':@FM:ReturnToCtrl:@FM:ReturnToPos,'','')
|
Start_Window('COMP_LOOKUP',@WINDOW,DataIn:@VM:'C':@FM:ReturnToCtrl:@FM:ReturnToPos,'','')
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -120,18 +116,15 @@ RETURN
|
|||||||
CustPC:
|
CustPC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CtrlName = @WINDOW:'.CUST_INFO'
|
CtrlName = @WINDOW:'.CUST_INFO'
|
||||||
|
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
|
||||||
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
|
CurrPos = Get_Property(CtrlName,'SELPOS')
|
||||||
|
CurrCol = CurrPos<1>
|
||||||
CurrPos = Get_Property(CtrlName,'SELPOS')
|
CurrRow = CurrPos<2>
|
||||||
CurrCol = CurrPos<1>
|
CustNo = CustList<CurrRow,COL$CUST_NO>
|
||||||
CurrRow = CurrPos<2>
|
IF CustNo NE '' THEN
|
||||||
|
|
||||||
CustNo = CustList<CurrRow,COL$CUST_NO>
|
|
||||||
IF CustNo NE '' THEN
|
|
||||||
Set_Property(CtrlName,'CELLPOS',XLATE('COMPANY',CustNo,4,'X'),COL$CUST_NAME:@FM:CurrRow)
|
Set_Property(CtrlName,'CELLPOS',XLATE('COMPANY',CustNo,4,'X'),COL$CUST_NAME:@FM:CurrRow)
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -140,17 +133,14 @@ RETURN
|
|||||||
CustDC:
|
CustDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CtrlName = @WINDOW:'.CUST_INFO'
|
CtrlName = @WINDOW:'.CUST_INFO'
|
||||||
|
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
|
||||||
CustList = Get_Property(CtrlName,'LIST') ;* Customer Information table
|
CurrPos = Get_Property(CtrlName,'SELPOS')
|
||||||
|
CurrCol = CurrPos<1>
|
||||||
CurrPos = Get_Property(CtrlName,'SELPOS')
|
CurrRow = CurrPos<2>
|
||||||
CurrCol = CurrPos<1>
|
CustNo = CustList<CurrRow,COL$CUST_NO>
|
||||||
CurrRow = CurrPos<2>
|
LineCnt = COUNT(CustList,@FM) + (CustList NE '')
|
||||||
|
IF CustNo = '' THEN
|
||||||
CustNo = CustList<CurrRow,COL$CUST_NO>
|
|
||||||
LineCnt = COUNT(CustList,@FM) + (CustList NE '')
|
|
||||||
IF CustNo = '' THEN
|
|
||||||
CustNos = Popup(@WINDOW,'','CUSTOMER')
|
CustNos = Popup(@WINDOW,'','CUSTOMER')
|
||||||
CustCnt = COUNT(CustNos,@VM) + (CustNos NE '')
|
CustCnt = COUNT(CustNos,@VM) + (CustNos NE '')
|
||||||
IF CustCnt > LineCnt THEN
|
IF CustCnt > LineCnt THEN
|
||||||
@ -167,9 +157,10 @@ IF CustNo = '' THEN
|
|||||||
Set_Property(CtrlName,'SELPOS',COL$CUST_NO:@FM:I+1)
|
Set_Property(CtrlName,'SELPOS',COL$CUST_NO:@FM:I+1)
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
END ELSE
|
END ELSE
|
||||||
ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers')
|
ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers')
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
@ -177,26 +168,23 @@ RETURN
|
|||||||
SubPNDC:
|
SubPNDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
||||||
|
CustNos = CustArray<COL$CUST_NO>
|
||||||
CustNos = CustArray<COL$CUST_NO>
|
LOOP
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastCustNo = CustNos[-1,'B':@VM]
|
LastCustNo = CustNos[-1,'B':@VM]
|
||||||
UNTIL LastCustNo NE '' OR CustNos = ''
|
UNTIL LastCustNo NE '' OR CustNos = ''
|
||||||
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
||||||
REPEAT
|
REPEAT
|
||||||
|
|
||||||
IF CustNos = '' THEN RETURN
|
IF CustNos = '' THEN RETURN
|
||||||
|
|
||||||
* display the processing message and do the processing
|
* display the processing message and do the processing
|
||||||
|
Def = ""
|
||||||
|
Def<MTEXT$> = "Selecting Substrate Part Numbers..."
|
||||||
|
Def<MTYPE$> = "U"
|
||||||
|
|
||||||
Def = ""
|
MsgUp = Msg(@window, Def)
|
||||||
Def<MTEXT$> = "Selecting Substrate Part Numbers..."
|
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|
||||||
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
||||||
SearchString := 'SUB_PART_NO':@VM:'#':@FM
|
SearchString := 'SUB_PART_NO':@VM:'#':@FM
|
||||||
|
|
||||||
@ -209,7 +197,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|||||||
|
|
||||||
IF WOKeys NE '' THEN
|
IF WOKeys NE '' THEN
|
||||||
RawPartNos = XLATE('WO_LOG',WOKeys,'SUB_PART_NO','X') ;* Calculated field
|
RawPartNos = XLATE('WO_LOG',WOKeys,'SUB_PART_NO','X') ;* Calculated field
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
PartNos = ''
|
PartNos = ''
|
||||||
FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '')
|
FOR I = 1 TO COUNT(RawPartNos,@VM) + (RawPartNos NE '')
|
||||||
RawPartNo = RawPartNos<1,I>
|
RawPartNo = RawPartNos<1,I>
|
||||||
@ -232,24 +220,22 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|||||||
PartNos := @VM
|
PartNos := @VM
|
||||||
CONVERT @VM TO @RM IN PartNos
|
CONVERT @VM TO @RM IN PartNos
|
||||||
CALL V119('S','','D','R',PartNos,'')
|
CALL V119('S','','D','R',PartNos,'')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
CONVERT @RM TO @VM IN PartNos
|
CONVERT @RM TO @VM IN PartNos
|
||||||
PartNos[-1,1] = '' ;* Strip trailing delimiter
|
PartNos[-1,1] = '' ;* Strip trailing delimiter
|
||||||
|
|
||||||
|
|
||||||
TypeOver = ''
|
TypeOver = ''
|
||||||
TypeOver<PDISPLAY$> = PartNos
|
TypeOver<PDISPLAY$> = PartNos
|
||||||
PartNos = Popup(@WINDow,TypeOver,'CUST_PO') ;****** Need a popup
|
PartNos = Popup(@WINDow,TypeOver,'CUST_PO') ;****** Need a popup
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
|
|
||||||
IF PartNos NE '' THEN
|
IF PartNos NE '' THEN
|
||||||
Set_Property(@WINDOW:'.SUB_PART_NO','DEFPROP',PartNos)
|
Set_Property(@WINDOW:'.SUB_PART_NO','DEFPROP',PartNos)
|
||||||
END
|
END
|
||||||
|
|
||||||
|
END ELSE
|
||||||
END ELSE
|
|
||||||
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -258,25 +244,22 @@ RETURN
|
|||||||
LotNoDC:
|
LotNoDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
||||||
|
|
||||||
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
LOOP
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastCustNo = CustNos[-1,'B':@VM]
|
LastCustNo = CustNos[-1,'B':@VM]
|
||||||
UNTIL LastCustNo NE '' OR CustNos = ''
|
UNTIL LastCustNo NE '' OR CustNos = ''
|
||||||
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
||||||
REPEAT
|
REPEAT
|
||||||
|
|
||||||
IF CustNos = '' THEN RETURN
|
IF CustNos = '' THEN RETURN
|
||||||
|
* display the processing message and do the processing
|
||||||
|
Def = ""
|
||||||
|
Def<MTEXT$> = "Selecting Lot Numbers..."
|
||||||
|
Def<MTYPE$> = "U"
|
||||||
|
|
||||||
* display the processing message and do the processing
|
MsgUp = Msg(@window, Def)
|
||||||
|
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
||||||
Def = ""
|
|
||||||
Def<MTEXT$> = "Selecting Lot Numbers..."
|
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|
||||||
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
||||||
SearchString := 'LOT_NO':@VM:'#':@FM
|
SearchString := 'LOT_NO':@VM:'#':@FM
|
||||||
|
|
||||||
@ -289,7 +272,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|||||||
|
|
||||||
IF WOKeys NE '' THEN
|
IF WOKeys NE '' THEN
|
||||||
RawLotNos = XLATE('WO_LOG',WOKeys,'LOT_NO','X') ;* Calculated field
|
RawLotNos = XLATE('WO_LOG',WOKeys,'LOT_NO','X') ;* Calculated field
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
LotNos = ''
|
LotNos = ''
|
||||||
FOR I = 1 TO COUNT(RawLotNos,@VM) + (RawLotNos NE '')
|
FOR I = 1 TO COUNT(RawLotNos,@VM) + (RawLotNos NE '')
|
||||||
RawLotNo = RawLotNos<1,I>
|
RawLotNo = RawLotNos<1,I>
|
||||||
@ -312,57 +295,49 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|||||||
LotNos := @VM
|
LotNos := @VM
|
||||||
CONVERT @VM TO @RM IN LotNos
|
CONVERT @VM TO @RM IN LotNos
|
||||||
CALL V119('S','','D','R',LotNos,'')
|
CALL V119('S','','D','R',LotNos,'')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
CONVERT @RM TO @VM IN LotNos
|
CONVERT @RM TO @VM IN LotNos
|
||||||
LotNos[-1,1] = '' ;* Strip trailing delimiter
|
LotNos[-1,1] = '' ;* Strip trailing delimiter
|
||||||
|
|
||||||
|
|
||||||
TypeOver = ''
|
TypeOver = ''
|
||||||
TypeOver<PDISPLAY$> = LotNos
|
TypeOver<PDISPLAY$> = LotNos
|
||||||
LotNos = Popup(@WINDow,TypeOver,'CUST_PO') ;****** Need a popup
|
LotNos = Popup(@WINDow,TypeOver,'CUST_PO') ;****** Need a popup
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
|
|
||||||
IF LotNos NE '' THEN
|
IF LotNos NE '' THEN
|
||||||
Set_Property(@WINDOW:'.LOT_NO','DEFPROP',LotNos)
|
Set_Property(@WINDOW:'.LOT_NO','DEFPROP',LotNos)
|
||||||
END
|
END
|
||||||
|
|
||||||
|
END ELSE
|
||||||
END ELSE
|
|
||||||
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
PSNoDC:
|
PSNoDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
|
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
|
||||||
|
|
||||||
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
|
CustNos = CustArray<COL$CUST_NO>
|
||||||
|
|
||||||
CustNos = CustArray<COL$CUST_NO>
|
LOOP
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastCustNo = CustNos[-1,'B':@VM]
|
LastCustNo = CustNos[-1,'B':@VM]
|
||||||
UNTIL LastCustNo NE '' OR CustNos = ''
|
UNTIL LastCustNo NE '' OR CustNos = ''
|
||||||
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
||||||
REPEAT
|
REPEAT
|
||||||
|
|
||||||
IF CustNos = '' THEN RETURN
|
IF CustNos = '' THEN RETURN
|
||||||
|
|
||||||
* display the processing message and do the processing
|
* display the processing message and do the processing
|
||||||
|
Def = ""
|
||||||
|
Def<MTEXT$> = "Selecting Product Specifications..."
|
||||||
|
Def<MTYPE$> = "U"
|
||||||
|
|
||||||
Def = ""
|
MsgUp = Msg(@window, Def)
|
||||||
Def<MTEXT$> = "Selecting Product Specifications..."
|
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|
||||||
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
||||||
SearchString := 'PS_NO':@VM:'#':@FM
|
SearchString := 'PS_NO':@VM:'#':@FM
|
||||||
|
|
||||||
@ -405,45 +380,39 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|||||||
PSNs := @VM
|
PSNs := @VM
|
||||||
CONVERT @VM TO @RM IN PSNs
|
CONVERT @VM TO @RM IN PSNs
|
||||||
CALL V119('S','','D','R',PSNs,'')
|
CALL V119('S','','D','R',PSNs,'')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
CONVERT @RM TO @VM IN PSNs
|
CONVERT @RM TO @VM IN PSNs
|
||||||
PSNs[-1,1] = '' ;* Strip trailing delimiter
|
PSNs[-1,1] = '' ;* Strip trailing delimiter
|
||||||
|
|
||||||
|
|
||||||
TypeOver = ''
|
TypeOver = ''
|
||||||
TypeOver<PDISPLAY$> = PSNs
|
TypeOver<PDISPLAY$> = PSNs
|
||||||
PSNs = Popup(@WINDow,TypeOver,'CUST_PO')
|
PSNs = Popup(@WINDow,TypeOver,'CUST_PO')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
|
|
||||||
IF PSNs NE '' THEN
|
IF PSNs NE '' THEN
|
||||||
CONVERT @VM TO @FM IN PSNs
|
CONVERT @VM TO @FM IN PSNs
|
||||||
Set_Property(@WINDOW:'.PS_NO','LIST',PSNs)
|
Set_Property(@WINDOW:'.PS_NO','LIST',PSNs)
|
||||||
END
|
END
|
||||||
|
|
||||||
|
END ELSE
|
||||||
END ELSE
|
|
||||||
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
ReactTypeDC:
|
ReactTypeDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CtrlName = @WINDOW:'.REACT_TYPE'
|
CtrlName = @WINDOW:'.REACT_TYPE'
|
||||||
|
RTypeList = Get_Property(CtrlName,'LIST') ;* Customer Information table
|
||||||
RTypeList = Get_Property(CtrlName,'LIST') ;* Customer Information table
|
CurrPos = Get_Property(CtrlName,'SELPOS')
|
||||||
|
CurrCol = CurrPos<1>
|
||||||
CurrPos = Get_Property(CtrlName,'SELPOS')
|
CurrRow = CurrPos<2>
|
||||||
CurrCol = CurrPos<1>
|
RType = RTypeList<CurrRow,COL$REACT_TYPE>
|
||||||
CurrRow = CurrPos<2>
|
LineCnt = COUNT(RTypeList,@FM) + (RTypeList NE '')
|
||||||
|
IF RType = '' THEN
|
||||||
RType = RTypeList<CurrRow,COL$REACT_TYPE>
|
|
||||||
LineCnt = COUNT(RTypeList,@FM) + (RTypeList NE '')
|
|
||||||
IF RType = '' THEN
|
|
||||||
RTypes = Popup(@WINDOW,'','REACTOR_TYPE')
|
RTypes = Popup(@WINDOW,'','REACTOR_TYPE')
|
||||||
rCnt = COUNT(RTypes,@VM) + (RTypes NE '')
|
rCnt = COUNT(RTypes,@VM) + (RTypes NE '')
|
||||||
IF rCnt > LineCnt THEN
|
IF rCnt > LineCnt THEN
|
||||||
@ -454,50 +423,40 @@ IF RType = '' THEN
|
|||||||
|
|
||||||
FOR I = CurrRow TO CurrRow + rCnt
|
FOR I = CurrRow TO CurrRow + rCnt
|
||||||
RType = RTypes<1,I>
|
RType = RTypes<1,I>
|
||||||
*CustName = XLATE('COMPANY',CustNo,4,'X')
|
|
||||||
Set_Property(CtrlName,'CELLPOS',RType,COL$REACT_TYPE:@FM:I)
|
Set_Property(CtrlName,'CELLPOS',RType,COL$REACT_TYPE:@FM:I)
|
||||||
*Set_Property(CtrlName,'CELLPOS',CustName,COL$CUST_NAME:@FM:I)
|
|
||||||
*Set_Property(CtrlName,'SELPOS',COL$CUST_NO:@FM:I+1)
|
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
|
END ELSE
|
||||||
END ELSE
|
|
||||||
ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers')
|
ErrMsg('DoubleClick on the first empty Cust No field to view a popup of all Customers')
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
CustPNDC:
|
CustPNDC:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
|
CustArray = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')
|
||||||
|
|
||||||
CustNos = CustArray<COL$CUST_NO>
|
CustNos = CustArray<COL$CUST_NO>
|
||||||
|
|
||||||
LOOP
|
LOOP
|
||||||
LastCustNo = CustNos[-1,'B':@VM]
|
LastCustNo = CustNos[-1,'B':@VM]
|
||||||
UNTIL LastCustNo NE '' OR CustNos = ''
|
UNTIL LastCustNo NE '' OR CustNos = ''
|
||||||
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
||||||
REPEAT
|
REPEAT
|
||||||
|
|
||||||
IF CustNos = '' THEN RETURN
|
IF CustNos = '' THEN RETURN
|
||||||
|
|
||||||
* display the processing message and do the processing
|
* display the processing message and do the processing
|
||||||
|
|
||||||
Def = ""
|
Def = ""
|
||||||
Def<MTEXT$> = "Selecting Part Numbers..."
|
Def<MTEXT$> = "Selecting Part Numbers..."
|
||||||
Def<MTYPE$> = "U"
|
Def<MTYPE$> = "U"
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
MsgUp = Msg(@window, Def)
|
||||||
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
||||||
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
SearchString = 'CUST_NO':@VM:CustNos:@VM:@FM
|
||||||
SearchString := 'CUST_PART_NO':@VM:'#':@FM
|
SearchString := 'CUST_PART_NO':@VM:'#':@FM
|
||||||
|
|
||||||
@ -520,7 +479,6 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|||||||
PartNos = INSERT(PartNos,1,Pos,0,RawPartNo)
|
PartNos = INSERT(PartNos,1,Pos,0,RawPartNo)
|
||||||
END
|
END
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
NEXT N
|
NEXT N
|
||||||
END ELSE
|
END ELSE
|
||||||
PartNos = ''
|
PartNos = ''
|
||||||
@ -536,7 +494,7 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|||||||
PartNos := @VM
|
PartNos := @VM
|
||||||
CONVERT @VM TO @RM IN PartNos
|
CONVERT @VM TO @RM IN PartNos
|
||||||
CALL V119('S','','D','R',PartNos,'')
|
CALL V119('S','','D','R',PartNos,'')
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
CONVERT @RM TO @VM IN PartNos
|
CONVERT @RM TO @VM IN PartNos
|
||||||
PartNos[-1,1] = '' ;* Strip trailing delimiter
|
PartNos[-1,1] = '' ;* Strip trailing delimiter
|
||||||
|
|
||||||
@ -544,36 +502,32 @@ OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|||||||
TypeOver = ''
|
TypeOver = ''
|
||||||
TypeOver<PDISPLAY$> = PartNos
|
TypeOver<PDISPLAY$> = PartNos
|
||||||
PartNos = Popup(@WINDow,TypeOver,'CUST_PO') ;* Needs a popup
|
PartNos = Popup(@WINDow,TypeOver,'CUST_PO') ;* Needs a popup
|
||||||
IF Get_Status(errCode) THEN DEBUG
|
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||||
|
|
||||||
IF PartNos NE '' THEN
|
IF PartNos NE '' THEN
|
||||||
Set_Property(@WINDOW:'.CUST_PART_NO','DEFPROP',PartNos)
|
Set_Property(@WINDOW:'.CUST_PART_NO','DEFPROP',PartNos)
|
||||||
END
|
END
|
||||||
|
|
||||||
END ELSE
|
END ELSE
|
||||||
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
ErrMsg('Unable to open DICT.WO_LOG in COMM_DIALOG_WO_LOG_FIND.')
|
||||||
END
|
END
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
LUDate:
|
LUDate:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
ReturnCtrl = Parm1[1,@RM]
|
ReturnCtrl = Parm1[1,@RM]
|
||||||
|
|
||||||
IF ReturnCtrl = '' THEN ReturnCtrl = Get_Property(@WINDOW,'FOCUS')
|
IF ReturnCtrl = '' THEN ReturnCtrl = Get_Property(@WINDOW,'FOCUS')
|
||||||
|
|
||||||
DateSelected = Dialog_Box('POPUP_YEAR',@WINDOW)
|
DateSelected = Dialog_Box('POPUP_YEAR',@WINDOW)
|
||||||
|
|
||||||
RetVal = OCONV(DateSelected, 'D4/')
|
|
||||||
|
|
||||||
|
|
||||||
obj_Appwindow('LUValReturn',RetVal:@RM:ReturnCtrl)
|
|
||||||
|
|
||||||
|
RetVal = OCONV(DateSelected, 'D4/')
|
||||||
|
|
||||||
|
obj_Appwindow('LUValReturn',RetVal:@RM:ReturnCtrl)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
@ -585,96 +539,33 @@ Cancel:
|
|||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
PerformQuery:
|
PerformQuery:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
|
|
||||||
* Customer numbers *
|
SearchString = ''
|
||||||
|
|
||||||
SearchString = ''
|
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
||||||
|
CustNos = SRP_Array('Clean', CustNos, 'TrimAndMakeUnique', @VM)
|
||||||
|
|
||||||
CustNos = Get_Property(@WINDOW:'.CUST_INFO','ARRAY')<COL$CUST_NO>
|
IF CustNos NE '' THEN SearchString := 'CUST_NO':@VM:CustNos:@FM
|
||||||
|
|
||||||
LOOP
|
CustPNs = Get_Property(@WINDOW:'.CUST_PART_NO','ARRAY')<1>
|
||||||
LastVar = CustNos[-1,'B':@VM]
|
CustPNs = SRP_Array('Clean', CustPNs, 'TrimAndMakeUnique', @VM)
|
||||||
UNTIL LastVar NE '' OR CustNos = ''
|
IF CustPNs NE '' THEN SearchString := 'CUST_PART_NO':@VM:CustPNs:@FM
|
||||||
CustNos[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF CustNos NE '' THEN SearchString := 'CUST_NO':@VM:CustNos:@FM
|
SubPartNos = Get_Property(@WINDOW:'.SUB_PART_NO','ARRAY')<1>
|
||||||
|
SubPartNos = SRP_Array('Clean', SubPartNos, 'TrimAndMakeUnique', @VM)
|
||||||
|
IF SubPartNos NE '' THEN SearchString := 'ORD_SUB_PART_NO':@VM:SubPartNos:@FM
|
||||||
|
|
||||||
* LotNumbers *
|
ReactTypes = Get_Property(@WINDOW:'.REACT_TYPE','ARRAY')<COL$REACT_TYPE>
|
||||||
|
ReactTypes = SRP_Array('Clean', ReactTypes, 'TrimAndMakeUnique', @VM)
|
||||||
|
IF ReactTypes NE '' THEN SearchString := 'REACT_TYPE':@VM:ReactTypes:@FM
|
||||||
|
|
||||||
LotNos = Get_Property(@WINDOW:'.LOT_NO','ARRAY')<1>
|
StartDt = ICONV(Get_Property(@WINDOW:'.START_DT','TEXT'),'D')
|
||||||
|
EndDt = ICONV(Get_Property(@WINDOW:'.END_DT','TEXT'),'D')
|
||||||
|
|
||||||
LOOP
|
BEGIN CASE
|
||||||
LastVal = LotNos[-1,'B':@VM]
|
|
||||||
UNTIL LastVal NE '' OR LotNos = ''
|
|
||||||
LotNos[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF LotNos NE '' THEN SearchString := 'LOT_NO':@VM:LotNos:@FM
|
|
||||||
|
|
||||||
|
|
||||||
* Cust Part Number *
|
|
||||||
|
|
||||||
CustPNs = Get_Property(@WINDOW:'.CUST_PART_NO','ARRAY')<1>
|
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastVal = CustPNs[-1,'B':@VM]
|
|
||||||
UNTIL LastVal NE '' OR CustPNs = ''
|
|
||||||
CustPNS[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF CustPNs NE '' THEN SearchString := 'CUST_PART_NO':@VM:CustPNs:@FM
|
|
||||||
|
|
||||||
|
|
||||||
* Substrate Part Numbers *
|
|
||||||
|
|
||||||
SubPartNos = Get_Property(@WINDOW:'.SUB_PART_NO','ARRAY')<1>
|
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastVal = SubPartNos[-1,'B':@VM]
|
|
||||||
UNTIL LastVal NE '' OR SubPartNos = ''
|
|
||||||
SubPartNos[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF SubPartNos NE '' THEN SearchString := 'SUB_PART_NO':@VM:SubPartNos:@FM
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * Reactor Type * * * * *
|
|
||||||
|
|
||||||
ReactTypes = Get_Property(@WINDOW:'.REACT_TYPE','ARRAY')<COL$REACT_TYPE>
|
|
||||||
|
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastVal = ReactTypes[-1,'B':@VM]
|
|
||||||
UNTIL LastVal NE '' OR ReactTypes = ''
|
|
||||||
ReactTypes[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF ReactTypes NE '' THEN SearchString := 'REACT_TYPE':@VM:ReactTypes:@FM
|
|
||||||
|
|
||||||
|
|
||||||
* PSN Nos *
|
|
||||||
|
|
||||||
PS_NOs = Get_Property(@WINDOW:'.PS_NO','ARRAY')<1>
|
|
||||||
|
|
||||||
LOOP
|
|
||||||
LastVal = PS_NOs[-1,'B':@VM]
|
|
||||||
UNTIL LastVal NE '' OR PS_NOs = ''
|
|
||||||
PS_NOs[COL1(),99] = '' ;* Trim trailing blanks
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
IF PS_NOs NE '' THEN SearchString := 'PS_NO':@VM:PS_NOs:@FM
|
|
||||||
|
|
||||||
* Entry Dates *
|
|
||||||
|
|
||||||
StartDt = ICONV(Get_Property(@WINDOW:'.START_DT','TEXT'),'D')
|
|
||||||
EndDt = ICONV(Get_Property(@WINDOW:'.END_DT','TEXT'),'D')
|
|
||||||
|
|
||||||
BEGIN CASE
|
|
||||||
CASE StartDt NE '' AND EndDt = ''
|
CASE StartDt NE '' AND EndDt = ''
|
||||||
SearchString := 'ENTRY_DATE':@VM:'>=':StartDt:@FM
|
SearchString := 'ENTRY_DATE':@VM:'>=':StartDt:@FM
|
||||||
|
|
||||||
@ -682,73 +573,134 @@ BEGIN CASE
|
|||||||
SearchString := 'ENTRY_DATE':@VM:'<=':EndDt:@FM
|
SearchString := 'ENTRY_DATE':@VM:'<=':EndDt:@FM
|
||||||
|
|
||||||
CASE StartDt NE '' AND EndDt NE ''
|
CASE StartDt NE '' AND EndDt NE ''
|
||||||
* Fudge the dates - '~' is not inclusive of the end dates
|
// Modify the dates by one day. The '~' operator is not inclusive of the end dates.
|
||||||
StartDt -= 1
|
StartDt -= 1
|
||||||
EndDt += 1
|
EndDt += 1
|
||||||
SearchString := 'ENTRY_DATE':@VM:StartDt:'~':EndDt:@FM
|
SearchString := 'ENTRY_DATE':@VM:StartDt:'~':EndDt:@FM
|
||||||
|
|
||||||
CASE 1
|
CASE Otherwise$
|
||||||
NULL
|
NULL
|
||||||
END CASE
|
END CASE
|
||||||
|
|
||||||
|
StartDt = ICONV(Get_Property(@WINDOW:'.MTL_RX_START_DT','TEXT'),'D')
|
||||||
|
EndDt = ICONV(Get_Property(@WINDOW:'.MTL_RX_END_DT','TEXT'),'D')
|
||||||
|
|
||||||
* RX Dates *
|
OrdStatus = Get_Property(@WINDOW:'.STATUS','VALUE')
|
||||||
|
|
||||||
StartDt = ICONV(Get_Property(@WINDOW:'.MTL_RX_START_DT','TEXT'),'D')
|
IF OrdStatus NE 'I' THEN
|
||||||
EndDt = ICONV(Get_Property(@WINDOW:'.MTL_RX_END_DT','TEXT'),'D')
|
|
||||||
|
|
||||||
BEGIN CASE
|
|
||||||
CASE StartDt NE '' AND EndDt = ''
|
|
||||||
SearchString := 'RX_DT':@VM:'>=':OConv(StartDt, 'D4/'):@FM
|
|
||||||
|
|
||||||
CASE StartDt = '' AND EndDt NE ''
|
|
||||||
SearchString := 'RX_DT':@VM:'<=':OConv(EndDt, 'D4/'):@FM
|
|
||||||
|
|
||||||
CASE StartDt NE '' AND EndDt NE ''
|
|
||||||
* Fudge the dates - '~' is not inclusive of the end dates
|
|
||||||
StartDt -= 1
|
|
||||||
EndDt += 1
|
|
||||||
SearchString := 'RX_DT':@VM:OConv(StartDt, 'D4/'):'~':OConv(EndDt, 'D4/'):@FM
|
|
||||||
|
|
||||||
CASE 1
|
|
||||||
NULL
|
|
||||||
END CASE
|
|
||||||
|
|
||||||
OrdStatus = Get_Property(@WINDOW:'.STATUS','VALUE')
|
|
||||||
|
|
||||||
IF OrdStatus NE 'I' THEN
|
|
||||||
IF OrdStatus = 1 THEN
|
IF OrdStatus = 1 THEN
|
||||||
SearchString := 'CLOSE_DATE':@VM:'#':@FM
|
SearchString := 'CLOSE_DATE':@VM:'#':@FM
|
||||||
END ELSE
|
END ELSE
|
||||||
SearchString := 'CLOSE_DATE':@VM:'=':@FM
|
SearchString := 'CLOSE_DATE':@VM:'=':@FM
|
||||||
END
|
END
|
||||||
END
|
|
||||||
|
|
||||||
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
|
||||||
Def = ""
|
|
||||||
Def<MTEXT$> = "Selecting Orders..."
|
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
* display the processing message and do the processing
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
|
|
||||||
Btree.Extract(SearchString,'WO_LOG',DictVar,WOKeys,'',flag)
|
|
||||||
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
|
||||||
|
|
||||||
Msg(@window, MsgUp)
|
|
||||||
IF Get_Status(errCode) THEN
|
|
||||||
ErrMsg(errCode)
|
|
||||||
RETURN
|
|
||||||
END
|
END
|
||||||
|
|
||||||
End_Dialog(@WINDOW,WOKeys)
|
WONos = ''
|
||||||
|
|
||||||
END ELSE
|
If SearchString NE '' then
|
||||||
|
OPEN 'DICT.WO_LOG' TO DictVar THEN
|
||||||
|
Btree.Extract(SearchString,'WO_LOG',DictVar,WOKeys,'',flag)
|
||||||
|
IF Get_Status(errCode) THEN
|
||||||
|
ErrorMsg = 'Error querying WO_LOG table with supplied fields.'
|
||||||
|
end
|
||||||
|
END ELSE
|
||||||
ErrMsg('Unable to open DICT.WO_LOG in routine COMM_DIALOG_WO_LOG_FIND')
|
ErrMsg('Unable to open DICT.WO_LOG in routine COMM_DIALOG_WO_LOG_FIND')
|
||||||
END
|
END
|
||||||
|
end
|
||||||
|
|
||||||
|
LotNos = Get_Property(@WINDOW:'.LOT_NO','ARRAY')<1>
|
||||||
|
LotNos = SRP_Array('Clean', LotNos, 'TrimAndMakeUnique', @VM)
|
||||||
|
If LotNos NE '' then
|
||||||
|
Query = 'LOT_NO':@VM:LotNos:@FM
|
||||||
|
dWoMat = ''
|
||||||
|
WOMatWONos = ''
|
||||||
|
Open 'DICT.WO_MAT' to dWoMat then
|
||||||
|
Flag = ''
|
||||||
|
WOMatKeys = ''
|
||||||
|
Btree.Extract(Query, 'WO_MAT', dWoMat, WOMatKeys, 'E', Flag)
|
||||||
|
If Not(Get_status(errCode)) then
|
||||||
|
If WOMatKeys NE '' then
|
||||||
|
WOMatWONos = SRP_Array('Rotate', WOMatKeys, @VM, '*')
|
||||||
|
WOMatWONos = Delete(WOMatWONos, 0, 2, 0)
|
||||||
|
Convert '*' to @VM in WOMatWONos
|
||||||
|
WOMatWONos = SRP_Array('Clean', WOMatWONos, 'TrimAndMakeUnique', @VM)
|
||||||
|
WOKeys = SRP_Array('Join', WOKeys, WOMatWONos, 'OR', @VM)
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrorMsg = 'Error querying LOT_NO field of the WO_MAT table.'
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrorMsg = 'Error opening DICT.WO_MAT table in order to query on LOT_NO field'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
PSNos = Get_Property(@WINDOW:'.PS_NO','ARRAY')<1>
|
||||||
|
PSNos = SRP_Array('Clean', PSNos, 'TrimAndMakeUnique', @VM)
|
||||||
|
If PSNos NE '' then
|
||||||
|
Query = 'PROD_SPEC_ID':@VM:PSNos:@FM
|
||||||
|
dWOStep = ''
|
||||||
|
WOStepWONos = ''
|
||||||
|
Open 'DICT.WO_STEP' to dWOStep then
|
||||||
|
Flag = ''
|
||||||
|
WOStepKeys = ''
|
||||||
|
Btree.Extract(Query, 'WO_STEP', dWOStep, WOStepKeys, 'E', Flag)
|
||||||
|
If Not(Get_Status(ErrCode)) then
|
||||||
|
If WOStepKeys NE '' then
|
||||||
|
WOStepWONos = SRP_Array('Rotate', WOStepKeys, @VM, '*')
|
||||||
|
WOStepWONos = Delete(WOStepWONos, 0, 2, 0)
|
||||||
|
Convert '*' to @VM in WOStepWONos
|
||||||
|
WOStepWONos = SRP_Array('Clean', WOStepWONos, 'TrimAndMakeUnique', @VM)
|
||||||
|
WOKeys = SRP_Array('Join', WOKeys, WOStepWONos, 'OR', @VM)
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrorMsg = 'Error querying PROD_SPEC_ID field in WO_STEP table.'
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrorMsg = 'Error opening DICT.WO_STEP table in order to query on PROD_SPEC_ID field. Error code: ':ErrCode
|
||||||
|
end
|
||||||
|
end
|
||||||
|
If ( (StartDt NE '') or (EndDt NE '') ) then
|
||||||
|
Begin Case
|
||||||
|
Case ( (StartDt NE '') and (EndDt EQ '') )
|
||||||
|
Query = 'RX_DT':@VM:'>=':OConv(StartDt, 'D4/'):@FM
|
||||||
|
|
||||||
|
Case ( (StartDt EQ '') and (EndDt NE '') )
|
||||||
|
Query = 'RX_DT':@VM:'<=':OConv(EndDt, 'D4/'):@FM
|
||||||
|
|
||||||
|
Case ( (StartDt NE '') and (EndDt NE '') )
|
||||||
|
// Modify the dates by one day. The '~' operator is not inclusive of the end dates.
|
||||||
|
StartDt -= 1
|
||||||
|
EndDt += 1
|
||||||
|
Query = 'RX_DT':@VM:OConv(StartDt, 'D4/'):'~':OConv(EndDt, 'D4/'):@FM
|
||||||
|
End case
|
||||||
|
dWOMat = ''
|
||||||
|
WOMatWONos = ''
|
||||||
|
Open 'DICT.WO_MAT' to dWOMat then
|
||||||
|
Flag = ''
|
||||||
|
WOMatKeys = ''
|
||||||
|
Btree.Extract(Query, 'WO_MAT', dWOMat, WOMatKeys, 'E', Flag)
|
||||||
|
If Not(Get_Status(ErrCode)) then
|
||||||
|
If WOMatKeys NE '' then
|
||||||
|
WOMatWONos = SRP_Array('Rotate', WOMatKeys, @VM, '*')
|
||||||
|
WOMatWONos = Delete(WOMatWONos, 0, 2, 0)
|
||||||
|
Convert '*' to @VM in WOMatWONos
|
||||||
|
WOMatWONos = SRP_Array('Clean', WOMatWONos, 'TrimAndMakeUnique', @VM)
|
||||||
|
WOKeys = SRP_Array('Join', WOKeys, WOMatWONos, 'OR', @VM)
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrorMsg = 'Error querying on RX_DT field in WO_MAT table.'
|
||||||
|
end
|
||||||
|
end else
|
||||||
|
ErrorMsg = 'Error opening DICT.WO_MAT table in order to query on RX_DT field.'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
If ErrorMsg EQ '' then
|
||||||
|
WOKeys = SRP_Array('SortSimpleList', WOKeys, 'DescendingNumbers', @VM)
|
||||||
|
End_Dialog(@WINDOW,WOKeys)
|
||||||
|
end else
|
||||||
|
Msg(@Window, '', 'OK', '', 'Process Error':@FM:ErrorMsg)
|
||||||
|
end
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -312,7 +312,7 @@ MsgUp = Msg(@WINDOW,'','SELECT_OPEN_WO')
|
|||||||
|
|
||||||
WOKeys = ''
|
WOKeys = ''
|
||||||
|
|
||||||
SelectStatement = 'CURR_STATUS':@VM:'ASN':@VM:'AWM':@VM:'RTP':@FM
|
SelectStatement = 'CURR_STATUS_STATIC':@VM:'ASN':@VM:'AWM':@VM:'RTP':@FM
|
||||||
|
|
||||||
Btree.Extract(SelectStatement,'WO_LOG',DictWOLogTable,WOKeys,'','')
|
Btree.Extract(SelectStatement,'WO_LOG',DictWOLogTable,WOKeys,'','')
|
||||||
|
|
||||||
@ -715,10 +715,10 @@ END ELSE
|
|||||||
Def<MTYPE$> = 'G'
|
Def<MTYPE$> = 'G'
|
||||||
Def<MEXTENT$> = NewCassetteCnt
|
Def<MEXTENT$> = NewCassetteCnt
|
||||||
Def<MTEXTWIDTH$> = 600
|
Def<MTEXTWIDTH$> = 600
|
||||||
|
Def<MCOL$> = -2
|
||||||
|
Def<MROW$> = -2
|
||||||
MsgUp = Msg(@WINDOW,Def)
|
MsgUp = Msg(@WINDOW,Def)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FOR I = 1 TO NewCassetteCnt
|
FOR I = 1 TO NewCassetteCnt
|
||||||
|
|
||||||
Msg(@WINDOW, MsgUp, I, MSGINSTUPDATE$)
|
Msg(@WINDOW, MsgUp, I, MSGINSTUPDATE$)
|
||||||
@ -1128,3 +1128,4 @@ AddLeftover:
|
|||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,272 +0,0 @@
|
|||||||
COMPILE SUBROUTINE Export_WO_Log( Dummy )
|
|
||||||
|
|
||||||
DECLARE FUNCTION Msg, Dialog_Box, Utility, obj_Export, obj_WO_Log
|
|
||||||
DECLARE FUNCTION Set_Printer, Get_Printer, obj_Install, Utility, obj_MUWafers, Database_Services
|
|
||||||
|
|
||||||
DECLARE SUBROUTINE Btree.Extract, RList, END_Dialog, Make.List, Msg, ErrMsg, SetInitDirOptions
|
|
||||||
|
|
||||||
$INSERT LSL_USERS_EQU
|
|
||||||
$INSERT MSG_EQUATES
|
|
||||||
$INSERT RLIST_EQUATES
|
|
||||||
$INSERT OIPRINT_EQUATES
|
|
||||||
$INSERT WO_LOG_EQUATES
|
|
||||||
$INSERT WO_STEP_EQU
|
|
||||||
$INSERT WO_MAT_EQUATES
|
|
||||||
$INSERT COMPANY_EQU
|
|
||||||
$INSERT QUOTE_EQU
|
|
||||||
$INSERT QUOTE_SPEC_EQU
|
|
||||||
$INSERT RECIPE_EQU
|
|
||||||
$INSERT ORDER_DET_EQU
|
|
||||||
$INSERT PROD_SPEC_EQUATES
|
|
||||||
$insert PROD_VER_EQUATES
|
|
||||||
$INSERT EXCEL_EQU
|
|
||||||
|
|
||||||
CRLF$ = \0D0A\
|
|
||||||
|
|
||||||
OPEN 'WO_STEP' TO WOStepTable ELSE
|
|
||||||
ErrMsg('Unable to open "WO_STEP" table in EXPORT_WO_LOG routine.')
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
OPEN 'DICT.WO_STEP' TO DictWOStep ELSE
|
|
||||||
ErrMsg('Unable to open "DICT.WO_STEP" table in EXPORT_WO_LOG routine.')
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
Def = ""
|
|
||||||
Def<MTEXT$> = "Selecting Uncheduled Work Orders..."
|
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
|
|
||||||
* SelectSent = 'SELECT WO_STEP WITH SCHEDULED NE "Yes" '
|
|
||||||
Declare subroutine SRP_Stopwatch
|
|
||||||
SRP_Stopwatch('Reset')
|
|
||||||
SRP_Stopwatch('Start', 'StartDate')
|
|
||||||
StartDate = Oconv(Date() - 182, 'D4/')
|
|
||||||
SelectSent = 'SELECT WO_LOG WITH ENTRY_DATE GE ' : Quote(StartDate)
|
|
||||||
RList(SelectSent,TARGET_ACTIVELIST$,'','','')
|
|
||||||
SRP_Stopwatch('Stop', 'StartDate')
|
|
||||||
SRP_Stopwatch('Start', 'Schedule')
|
|
||||||
SelectSent = 'SELECT WO_LOG WITH SCHEDULED NE "Yes" '
|
|
||||||
RList(SelectSent,TARGET_ACTIVELIST$,'','','')
|
|
||||||
SRP_Stopwatch('Stop', 'Schedule')
|
|
||||||
* SRP_Stopwatch('ShowAll')
|
|
||||||
*SelectSent = 'SELECT WO_STEP WITH CURR_STATUS NE "CL" "COMP" '
|
|
||||||
*SelectSent = 'SELECT WO_STEP WITH CURR_STATUS = "NEW" "RTP" "RTS" "RX" "INPR" '
|
|
||||||
*RList(SelectSent,TARGET_ACTIVELIST$,'','','')
|
|
||||||
|
|
||||||
WOLogKeys = ''
|
|
||||||
Done = 0
|
|
||||||
LOOP
|
|
||||||
READNEXT WOLogKey ELSE Done = 1
|
|
||||||
UNTIL Done
|
|
||||||
WOLogKeys<-1> = WOLogKey
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
CONVERT @VM TO @FM IN WOLogKeys
|
|
||||||
|
|
||||||
IF WOLogKeys = '' THEN
|
|
||||||
Msg(@window, MsgUp)
|
|
||||||
ErrMsg('No Work Orders remain unscheduled.')
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
|
|
||||||
Make.List('',WOLogKeys,'','')
|
|
||||||
|
|
||||||
IF Get_Status(errCode) THEN
|
|
||||||
ErrMsg(errCode)
|
|
||||||
END
|
|
||||||
|
|
||||||
Results = ''
|
|
||||||
Results<1,1> = 'Spec Type'
|
|
||||||
Results<1,2> = 'WO'
|
|
||||||
Results<1,3> = 'Customer'
|
|
||||||
Results<1,4> = 'Qty'
|
|
||||||
Results<1,5> = 'PSN'
|
|
||||||
Results<1,6> = 'Cust Part Numbers'
|
|
||||||
Results<1,7> = 'Reactor Type'
|
|
||||||
Results<1,8> = 'Sched Reacts'
|
|
||||||
Results<1,9> = 'Inch'
|
|
||||||
Results<1,10> = 'Tube Press Type'
|
|
||||||
Results<1,11> = 'Epi Gases'
|
|
||||||
Results<1,12> = 'Dopant L1'
|
|
||||||
Results<1,13> = 'Cap/Burst Gases'
|
|
||||||
Results<1,14> = 'Thick Target'
|
|
||||||
Results<1,15> = 'Res Target'
|
|
||||||
Results<1,16> = 'Expected Rx Dt'
|
|
||||||
Results<1,17> = 'Received Date'
|
|
||||||
Results<1,18> = 'Promised Ship'
|
|
||||||
Results<1,19> = 'Qual'
|
|
||||||
Results<1,20> = 'Blkd'
|
|
||||||
Results<1,21> = 'MU Wfrs'
|
|
||||||
|
|
||||||
Done = 0
|
|
||||||
LineCnt = 1
|
|
||||||
LOOP
|
|
||||||
READNEXT WOLogKey ELSE Done = 1
|
|
||||||
UNTIL Done
|
|
||||||
|
|
||||||
WONo = WOLogKey
|
|
||||||
WORec = XLATE('WO_LOG',WONo,'','X')
|
|
||||||
WOMatKeys = WORec<WO_LOG_WO_MAT_KEY$>
|
|
||||||
|
|
||||||
CassCustPNs = XLATE('WO_MAT',WOMatKeys,WO_MAT_CUST_PART_NO$,'X')
|
|
||||||
CustPNs = ''
|
|
||||||
FOR I = 1 TO COUNT(CassCustPNs,@VM) + (CassCustPNs NE '')
|
|
||||||
LOCATE CassCustPNs<1,I> IN CustPNs USING @VM SETTING POS ELSE
|
|
||||||
CustPNs = INSERT(CustPNs,1,Pos,0,CassCustPNs<1,I>)
|
|
||||||
END
|
|
||||||
NEXT I
|
|
||||||
|
|
||||||
CompanyName = XLATE( 'COMPANY', WORec<WO_LOG_CUST_NO$>,COMPANY_CO_NAME$,'X')
|
|
||||||
SWAP ',' WITH '-' IN CompanyName
|
|
||||||
|
|
||||||
WaferQty = SUM(XLATE('WO_MAT',WOMatKeys,WO_MAT_WAFER_QTY$,'X'))
|
|
||||||
IF WaferQty > 0 THEN
|
|
||||||
ExpectedRxDts = ''
|
|
||||||
END ELSE
|
|
||||||
OrderNo = WORec<WO_LOG_ORDER_NO$>
|
|
||||||
OrderItems = WORec<WO_LOG_ORDER_ITEM$>
|
|
||||||
OrderDetKeys = ''
|
|
||||||
FOR N = 1 TO COUNT(OrderItems,@VM) + (OrderItems NE '')
|
|
||||||
OrderDetKeys<1,N> = OrderNo:'*':OrderItems<1,N>
|
|
||||||
NEXT N
|
|
||||||
WaferQty = SUM(XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_ITEM_QTY$,'X'))
|
|
||||||
ExpectedRxDts = XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_EXP_RX_DT$,'X')
|
|
||||||
END
|
|
||||||
|
|
||||||
MUWafers = obj_MUWafers('AvailWafers',WONo:@RM:WORec:@RM:0:@RM:1)
|
|
||||||
ShipThickTarget = XLATE('WO_LOG',WONo,'SHIP_THICK_TARGET','X')
|
|
||||||
ShipResTarget = XLATE('WO_LOG',WONo,'SHIP_RES_TARGET','X')
|
|
||||||
|
|
||||||
CustPSNs = XLATE('WO_STEP',WORec<34>,1,'X')
|
|
||||||
|
|
||||||
SWAP @VM WITH '\' IN CustPNs
|
|
||||||
|
|
||||||
* PSNo = WOStepRec<WO_STEP_PROD_SPEC_ID$>
|
|
||||||
ProdVerNo = WORec<WO_LOG_PROD_VER_NO$>
|
|
||||||
ProdVerRow = Database_Services('ReadDataRow', 'PROD_VER', ProdVerNo)
|
|
||||||
PSNo = ProdVerRow<PROD_VER_PROC_STEP_PSN$>
|
|
||||||
|
|
||||||
PSReactType = OCONV(XLATE('PROD_SPEC',PSNo,PROD_SPEC_REACTOR_TYPE$,'X'),'[REACT_TYPE_CONV]')
|
|
||||||
|
|
||||||
WaferSize = xlate( 'PROD_SPEC', PSNo, 'SUB_WAFER_SIZE', 'X' )
|
|
||||||
SWAP 75 WITH '' IN WaferSize
|
|
||||||
SWAP 100 WITH '' IN WaferSize
|
|
||||||
SWAP 125 WITH '' IN WaferSize
|
|
||||||
SWAP 150 WITH '' IN WaferSize
|
|
||||||
SWAP 200 WITH '' IN WaferSize
|
|
||||||
SWAP 'mm' WITH '' IN WaferSize
|
|
||||||
WaferSize = trim( WaferSize )
|
|
||||||
|
|
||||||
RecipeId = XLATE( 'PROD_SPEC', PSNo, 'RECIPE_NO_L1', 'X' )
|
|
||||||
EPIGases = XLATE( 'RECIPE', RecipeId, RECIPE_EPI_GASES$, 'X' )
|
|
||||||
|
|
||||||
* Reactors = WOStepRec<WO_STEP_REACTORS$>
|
|
||||||
Reactors = Xlate('PROD_SPEC', PSNo, PROD_SPEC_QUAL_REACTS$, 'X')
|
|
||||||
* BlockedReactors = WOStepRec<WO_STEP_BLOCKED_REACTORS$>
|
|
||||||
BlockedReactors = Xlate('PROD_SPEC', PSNo, PROD_SPEC_BLOCKED_REACTS$, 'X')
|
|
||||||
SchedReactors = XLATE('WO_LOG',WONo,'SCHED_REACTS','X')
|
|
||||||
|
|
||||||
CONVERT @VM TO ',' IN Reactors
|
|
||||||
CONVERT @VM TO ',' IN BlockedReactors
|
|
||||||
|
|
||||||
IF WaferQty > 0 THEN
|
|
||||||
LineCnt += 1
|
|
||||||
Results<LineCnt,1> = OCONV(XLATE( 'PROD_SPEC', PSNo, 'SPEC_TYPE', 'X' ),'[SPEC_TYPE_CONV]') ;* Spec Type
|
|
||||||
Results<LineCnt,2> = OCONV(WONo,'MD0') ;* WO
|
|
||||||
Results<LineCnt,3> = CompanyName ;* Company Name
|
|
||||||
Results<LineCnt,4> = OCONV(WaferQty,'MDO') ;* Wafer Qty
|
|
||||||
Results<LineCnt,5> = OCONV(PSNo,'MD0') ;* Prod Spec ID
|
|
||||||
Results<LineCnt,6> = CustPNs ;* Customer Part Numbers
|
|
||||||
Results<LineCnt,7> = PSReactType ;* Reactor type for Prod Spec
|
|
||||||
Results<LineCnt,8> = SchedReactors
|
|
||||||
Results<LineCnt,9> = WaferSize ;* Wafer Size
|
|
||||||
Results<LineCnt,10> = XLATE( 'PROD_SPEC', PSNo, 'TUBE_PRESSURE_TYPE', 'X' ) ;* Tube Pressure Type
|
|
||||||
Results<LineCnt,11> = EPIGases
|
|
||||||
Results<LineCnt,12> = XLATE( 'PROD_SPEC', PSNo, 'DOPANT_L1', 'X' ) ;* Dopant L1
|
|
||||||
Results<LineCnt,13> = XLATE( 'RECIPE', RecipeId, RECIPE_CAP_BURST_GASES$, 'X' ) ;* Cap Burst Gases
|
|
||||||
Results<LineCnt,14> = ShipThickTarget
|
|
||||||
Results<LineCnt,15> = ShipResTarget
|
|
||||||
Results<LineCnt,16> = OCONV(ExpectedRxDts<1,1>,'D4/')
|
|
||||||
Results<LineCnt,17> = OCONV(XLATE('WO_MAT',WONo:'*1',WO_MAT_RX_DTM$,'X')[1,'.'],'D4/')
|
|
||||||
Results<LineCnt,18> = OCONV(WORec<WO_LOG_PROMISE_SHIP_DT$>,'D4/')
|
|
||||||
Results<LineCnt,19> = Reactors
|
|
||||||
Results<LineCnt,20> = BlockedReactors
|
|
||||||
Results<LineCnt,21> = MUWafers
|
|
||||||
TempLine = Results<LineCnt>
|
|
||||||
CONVERT '"' TO '' IN TempLine
|
|
||||||
Results<LineCnt> = TempLine
|
|
||||||
END
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
PasteBlob = Results
|
|
||||||
|
|
||||||
* * * * * *
|
|
||||||
|
|
||||||
SWAP @VM WITH CHAR(9) IN PasteBlob
|
|
||||||
SWAP @FM WITH CRLF$ IN PasteBlob
|
|
||||||
CALL Set_Property('CLIPBOARD', 'TEXT', PasteBlob)
|
|
||||||
|
|
||||||
|
|
||||||
ExportColCnt = 20
|
|
||||||
|
|
||||||
|
|
||||||
* * * Paste it into a blank Excel Sheet
|
|
||||||
|
|
||||||
xlApp = OleCreateInstance("excel.Application")
|
|
||||||
|
|
||||||
IF OleStatus() THEN
|
|
||||||
|
|
||||||
Msg(@window, MsgUp)
|
|
||||||
|
|
||||||
ErrorMsg = 'Excel failed to start.':CRLF$:CRLF$
|
|
||||||
ErrorMsg := 'The data from this export is on your clipboard and can be pasted into Excel on your local machine using <Ctrl><V> .'
|
|
||||||
|
|
||||||
ErrMsg(ErrorMsg)
|
|
||||||
|
|
||||||
RETURN
|
|
||||||
|
|
||||||
END
|
|
||||||
|
|
||||||
xlWorkBooks = OleGetProperty(xlApp, "Workbooks")
|
|
||||||
xlWorkBook = OleCallMethod(xlWorkBooks,'Add')
|
|
||||||
|
|
||||||
* * * wait a second
|
|
||||||
|
|
||||||
Now = Time()
|
|
||||||
LOOP
|
|
||||||
CALL Yield()
|
|
||||||
WHILE Time() EQ Now
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
OlePutProperty(XlApp, 'Visible', xlSheetVisible)
|
|
||||||
|
|
||||||
void = OleCallMethod(xlWorkBook,'Activate')
|
|
||||||
xlActiveSheet = OleGetProperty(xlWorkBook,'ActiveSheet')
|
|
||||||
void = OleCallMethod(xlActiveSheet,'Paste')
|
|
||||||
|
|
||||||
eXcelCols = obj_Export('ExcelCol',TextColNos) ;* Returns alpha Excel columns from numeric columns
|
|
||||||
|
|
||||||
FirstLastCols = obj_Export('ExcelCol',1:@VM:ExportColCnt)
|
|
||||||
|
|
||||||
FirstColumn = FirstLastCols[1,@VM]
|
|
||||||
LastColumn = FirstLastCols[COL2()+1,@VM]
|
|
||||||
|
|
||||||
range = OleGetProperty(xlActiveSheet,'Range',FirstColumn:'1:':LastColumn:'1')
|
|
||||||
font = OleGetProperty(range,'Font')
|
|
||||||
|
|
||||||
OlePutProperty(font,'FontStyle','Bold')
|
|
||||||
OlePutProperty(font,'UnderLine',xlUnderlineStyleSingle)
|
|
||||||
|
|
||||||
column = OleGetProperty(xlActiveSheet,'Columns',FirstColumn:':':LastColumn)
|
|
||||||
void = OleCallMethod(column,'AutoFit')
|
|
||||||
|
|
||||||
Msg(@window, MsgUp)
|
|
||||||
|
|
||||||
RETURN
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,263 +0,0 @@
|
|||||||
COMPILE SUBROUTINE Export_WO_Log_Orig( Dummy )
|
|
||||||
|
|
||||||
DECLARE FUNCTION Msg, Dialog_Box, Utility, obj_Export, obj_WO_Log
|
|
||||||
DECLARE FUNCTION Set_Printer, Get_Printer, obj_Install, Utility, obj_MUWafers
|
|
||||||
|
|
||||||
DECLARE SUBROUTINE Btree.Extract, RList, END_Dialog, Make.List, Msg, ErrMsg, SetInitDirOptions
|
|
||||||
|
|
||||||
$INSERT LSL_USERS_EQU
|
|
||||||
$INSERT MSG_EQUATES
|
|
||||||
$INSERT RLIST_EQUATES
|
|
||||||
$INSERT OIPRINT_EQUATES
|
|
||||||
$INSERT WO_LOG_EQU
|
|
||||||
$INSERT WO_STEP_EQU
|
|
||||||
$INSERT WO_MAT_EQUATES
|
|
||||||
$INSERT COMPANY_EQU
|
|
||||||
$INSERT QUOTE_EQU
|
|
||||||
$INSERT QUOTE_SPEC_EQU
|
|
||||||
$INSERT RECIPE_EQU
|
|
||||||
$INSERT ORDER_DET_EQU
|
|
||||||
$INSERT PROD_SPEC_EQUATES
|
|
||||||
$INSERT EXCEL_EQU
|
|
||||||
|
|
||||||
CRLF$ = \0D0A\
|
|
||||||
|
|
||||||
OPEN 'WO_STEP' TO WOStepTable ELSE
|
|
||||||
ErrMsg('Unable to open "WO_STEP" table in EXPORT_WO_LOG routine.')
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
OPEN 'DICT.WO_STEP' TO DictWOStep ELSE
|
|
||||||
ErrMsg('Unable to open "DICT.WO_STEP" table in EXPORT_WO_LOG routine.')
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
Def = ""
|
|
||||||
Def<MTEXT$> = "Selecting Uncheduled Work Orders..."
|
|
||||||
Def<MTYPE$> = "U"
|
|
||||||
|
|
||||||
MsgUp = Msg(@window, Def)
|
|
||||||
|
|
||||||
SelectSent = 'SELECT WO_STEP WITH SCHEDULED NE "Yes" '
|
|
||||||
RList(SelectSent,TARGET_ACTIVELIST$,'','','')
|
|
||||||
|
|
||||||
*SelectSent = 'SELECT WO_STEP WITH CURR_STATUS NE "CL" "COMP" '
|
|
||||||
*SelectSent = 'SELECT WO_STEP WITH CURR_STATUS = "NEW" "RTP" "RTS" "RX" "INPR" '
|
|
||||||
*RList(SelectSent,TARGET_ACTIVELIST$,'','','')
|
|
||||||
|
|
||||||
WOStepKeys = ''
|
|
||||||
Done = 0
|
|
||||||
LOOP
|
|
||||||
READNEXT WOStepKey ELSE Done = 1
|
|
||||||
UNTIL Done
|
|
||||||
WOStepKeys<-1> = WOStepKey
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
CONVERT @VM TO @FM IN WOStepKeys
|
|
||||||
|
|
||||||
IF WOStepKeys = '' THEN
|
|
||||||
Msg(@window, MsgUp)
|
|
||||||
ErrMsg('No Work Orders remain unscheduled.')
|
|
||||||
RETURN
|
|
||||||
END
|
|
||||||
|
|
||||||
|
|
||||||
Make.List('',WOStepKeys,WOStepTable,DictWOStep)
|
|
||||||
|
|
||||||
IF Get_Status(errCode) THEN
|
|
||||||
ErrMsg(errCode)
|
|
||||||
END
|
|
||||||
|
|
||||||
Results = ''
|
|
||||||
Results<1,1> = 'Spec Type'
|
|
||||||
Results<1,2> = 'WO'
|
|
||||||
Results<1,3> = 'Customer'
|
|
||||||
Results<1,4> = 'Qty'
|
|
||||||
Results<1,5> = 'PSN'
|
|
||||||
Results<1,6> = 'Cust Part Numbers'
|
|
||||||
Results<1,7> = 'Reactor Type'
|
|
||||||
Results<1,8> = 'Sched Reacts'
|
|
||||||
Results<1,9> = 'Inch'
|
|
||||||
Results<1,10> = 'Tube Press Type'
|
|
||||||
Results<1,11> = 'Epi Gases'
|
|
||||||
Results<1,12> = 'Dopant L1'
|
|
||||||
Results<1,13> = 'Cap/Burst Gases'
|
|
||||||
Results<1,14> = 'Thick Target'
|
|
||||||
Results<1,15> = 'Res Target'
|
|
||||||
Results<1,16> = 'Expected Rx Dt'
|
|
||||||
Results<1,17> = 'Received Date'
|
|
||||||
Results<1,18> = 'Promised Ship'
|
|
||||||
Results<1,19> = 'Qual'
|
|
||||||
Results<1,20> = 'Blkd'
|
|
||||||
Results<1,21> = 'MU Wfrs'
|
|
||||||
|
|
||||||
Done = 0
|
|
||||||
LineCnt = 1
|
|
||||||
LOOP
|
|
||||||
READNEXT WOStepKey ELSE Done = 1
|
|
||||||
UNTIL Done
|
|
||||||
|
|
||||||
READ WOStepRec FROM WOStepTable,WOStepKey THEN
|
|
||||||
|
|
||||||
IF WOStepRec<WO_STEP_SCHEDULED$> NE '1' THEN
|
|
||||||
|
|
||||||
WONo = WOStepKey[1,'*']
|
|
||||||
|
|
||||||
WORec = XLATE('WO_LOG',WONo,'','X')
|
|
||||||
WOMatKeys = WORec<WO_LOG_WO_MAT_KEY$>
|
|
||||||
|
|
||||||
CassCustPNs = XLATE('WO_MAT',WOMatKeys,WO_MAT_CUST_PART_NO$,'X')
|
|
||||||
CustPNs = ''
|
|
||||||
FOR I = 1 TO COUNT(CassCustPNs,@VM) + (CassCustPNs NE '')
|
|
||||||
LOCATE CassCustPNs<1,I> IN CustPNs USING @VM SETTING POS ELSE
|
|
||||||
CustPNs = INSERT(CustPNs,1,Pos,0,CassCustPNs<1,I>)
|
|
||||||
END
|
|
||||||
NEXT I
|
|
||||||
|
|
||||||
CompanyName = XLATE( 'COMPANY', WORec<WO_LOG_CUST_NO$>,COMPANY_CO_NAME$,'X')
|
|
||||||
SWAP ',' WITH '-' IN CompanyName
|
|
||||||
|
|
||||||
WaferQty = SUM(XLATE('WO_MAT',WOMatKeys,WO_MAT_WAFER_QTY$,'X'))
|
|
||||||
IF WaferQty > 0 THEN
|
|
||||||
ExpectedRxDts = ''
|
|
||||||
END ELSE
|
|
||||||
OrderNo = WORec<WO_LOG_ORDER_NO$>
|
|
||||||
OrderItems = WORec<WO_LOG_ORDER_ITEM$>
|
|
||||||
OrderDetKeys = ''
|
|
||||||
FOR N = 1 TO COUNT(OrderItems,@VM) + (OrderItems NE '')
|
|
||||||
OrderDetKeys<1,N> = OrderNo:'*':OrderItems<1,N>
|
|
||||||
NEXT N
|
|
||||||
WaferQty = SUM(XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_ITEM_QTY$,'X'))
|
|
||||||
ExpectedRxDts = XLATE('ORDER_DET',OrderDetKeys,ORDER_DET_EXP_RX_DT$,'X')
|
|
||||||
END
|
|
||||||
|
|
||||||
MUWafers = obj_MUWafers('AvailWafers',WONo:@RM:WORec:@RM:0:@RM:1)
|
|
||||||
ShipThickTarget = XLATE('WO_LOG',WONo,'SHIP_THICK_TARGET','X')
|
|
||||||
ShipResTarget = XLATE('WO_LOG',WONo,'SHIP_RES_TARGET','X')
|
|
||||||
|
|
||||||
CustPSNs = XLATE('WO_STEP',@RECORD<34>,1,'X')
|
|
||||||
|
|
||||||
SWAP @VM WITH '\' IN CustPNs
|
|
||||||
|
|
||||||
PSNo = WOStepRec<WO_STEP_PROD_SPEC_ID$>
|
|
||||||
|
|
||||||
PSReactType = OCONV(XLATE('PROD_SPEC',PSNo,PROD_SPEC_REACTOR_TYPE$,'X'),'[REACT_TYPE_CONV]')
|
|
||||||
|
|
||||||
WaferSize = xlate( 'PROD_SPEC', PSNo, 'SUB_WAFER_SIZE', 'X' )
|
|
||||||
SWAP 75 WITH '' IN WaferSize
|
|
||||||
SWAP 100 WITH '' IN WaferSize
|
|
||||||
SWAP 125 WITH '' IN WaferSize
|
|
||||||
SWAP 150 WITH '' IN WaferSize
|
|
||||||
SWAP 200 WITH '' IN WaferSize
|
|
||||||
SWAP 'mm' WITH '' IN WaferSize
|
|
||||||
WaferSize = trim( WaferSize )
|
|
||||||
|
|
||||||
RecipeId = XLATE( 'PROD_SPEC', PSNo, 'RECIPE_NO_L1', 'X' )
|
|
||||||
EPIGases = XLATE( 'RECIPE', RecipeId, RECIPE_EPI_GASES$, 'X' )
|
|
||||||
|
|
||||||
Reactors = WOStepRec<WO_STEP_REACTORS$>
|
|
||||||
BlockedReactors = WOStepRec<WO_STEP_BLOCKED_REACTORS$>
|
|
||||||
SchedReactors = XLATE('WO_LOG',WONo,'SCHED_REACTS','X')
|
|
||||||
|
|
||||||
CONVERT @VM TO ',' IN Reactors
|
|
||||||
CONVERT @VM TO ',' IN BlockedReactors
|
|
||||||
|
|
||||||
IF WaferQty > 0 THEN
|
|
||||||
LineCnt += 1
|
|
||||||
Results<LineCnt,1> = OCONV(XLATE( 'PROD_SPEC', PSNo, 'SPEC_TYPE', 'X' ),'[SPEC_TYPE_CONV]') ;* Spec Type
|
|
||||||
Results<LineCnt,2> = OCONV(WONo,'MD0') ;* WO
|
|
||||||
Results<LineCnt,3> = CompanyName ;* Company Name
|
|
||||||
Results<LineCnt,4> = OCONV(WaferQty,'MDO') ;* Wafer Qty
|
|
||||||
Results<LineCnt,5> = OCONV(PSNo,'MD0') ;* Prod Spec ID
|
|
||||||
Results<LineCnt,6> = CustPNs ;* Customer Part Numbers
|
|
||||||
Results<LineCnt,7> = PSReactType ;* Reactor type for Prod Spec
|
|
||||||
Results<LineCnt,8> = SchedReactors
|
|
||||||
Results<LineCnt,9> = WaferSize ;* Wafer Size
|
|
||||||
Results<LineCnt,10> = XLATE( 'PROD_SPEC', PSNo, 'TUBE_PRESSURE_TYPE', 'X' ) ;* Tube Pressure Type
|
|
||||||
Results<LineCnt,11> = EPIGases
|
|
||||||
Results<LineCnt,12> = XLATE( 'PROD_SPEC', PSNo, 'DOPANT_L1', 'X' ) ;* Dopant L1
|
|
||||||
Results<LineCnt,13> = XLATE( 'RECIPE', RecipeId, RECIPE_CAP_BURST_GASES$, 'X' ) ;* Cap Burst Gases
|
|
||||||
Results<LineCnt,14> = ShipThickTarget
|
|
||||||
Results<LineCnt,15> = ShipResTarget
|
|
||||||
Results<LineCnt,16> = OCONV(ExpectedRxDts<1,1>,'D4/')
|
|
||||||
Results<LineCnt,17> = OCONV(XLATE('WO_MAT',WONo:'*1',WO_MAT_RX_DTM$,'X')[1,'.'],'D4/')
|
|
||||||
Results<LineCnt,18> = OCONV(WORec<WO_LOG_PROMISE_SHIP_DT$>,'D4/')
|
|
||||||
Results<LineCnt,19> = Reactors
|
|
||||||
Results<LineCnt,20> = BlockedReactors
|
|
||||||
Results<LineCnt,21> = MUWafers
|
|
||||||
TempLine = Results<LineCnt>
|
|
||||||
CONVERT '"' TO '' IN TempLine
|
|
||||||
Results<LineCnt> = TempLine
|
|
||||||
END
|
|
||||||
END
|
|
||||||
END
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
PasteBlob = Results
|
|
||||||
|
|
||||||
* * * * * *
|
|
||||||
|
|
||||||
SWAP @VM WITH CHAR(9) IN PasteBlob
|
|
||||||
SWAP @FM WITH CRLF$ IN PasteBlob
|
|
||||||
CALL Set_Property('CLIPBOARD', 'TEXT', PasteBlob)
|
|
||||||
|
|
||||||
|
|
||||||
ExportColCnt = 20
|
|
||||||
|
|
||||||
|
|
||||||
* * * Paste it into a blank Excel Sheet
|
|
||||||
|
|
||||||
xlApp = OleCreateInstance("excel.Application")
|
|
||||||
|
|
||||||
IF OleStatus() THEN
|
|
||||||
|
|
||||||
Msg(@window, MsgUp)
|
|
||||||
|
|
||||||
ErrorMsg = 'Excel failed to start.':CRLF$:CRLF$
|
|
||||||
ErrorMsg := 'The data from this export is on your clipboard and can be pasted into Excel on your local machine using <Ctrl><V> .'
|
|
||||||
|
|
||||||
ErrMsg(ErrorMsg)
|
|
||||||
|
|
||||||
RETURN
|
|
||||||
|
|
||||||
END
|
|
||||||
|
|
||||||
xlWorkBooks = OleGetProperty(xlApp, "Workbooks")
|
|
||||||
xlWorkBook = OleCallMethod(xlWorkBooks,'Add')
|
|
||||||
|
|
||||||
* * * wait a second
|
|
||||||
|
|
||||||
Now = Time()
|
|
||||||
LOOP
|
|
||||||
CALL Yield()
|
|
||||||
WHILE Time() EQ Now
|
|
||||||
REPEAT
|
|
||||||
|
|
||||||
OlePutProperty(XlApp, 'Visible', xlSheetVisible)
|
|
||||||
|
|
||||||
void = OleCallMethod(xlWorkBook,'Activate')
|
|
||||||
xlActiveSheet = OleGetProperty(xlWorkBook,'ActiveSheet')
|
|
||||||
void = OleCallMethod(xlActiveSheet,'Paste')
|
|
||||||
|
|
||||||
eXcelCols = obj_Export('ExcelCol',TextColNos) ;* Returns alpha Excel columns from numeric columns
|
|
||||||
|
|
||||||
FirstLastCols = obj_Export('ExcelCol',1:@VM:ExportColCnt)
|
|
||||||
|
|
||||||
FirstColumn = FirstLastCols[1,@VM]
|
|
||||||
LastColumn = FirstLastCols[COL2()+1,@VM]
|
|
||||||
|
|
||||||
range = OleGetProperty(xlActiveSheet,'Range',FirstColumn:'1:':LastColumn:'1')
|
|
||||||
font = OleGetProperty(range,'Font')
|
|
||||||
|
|
||||||
OlePutProperty(font,'FontStyle','Bold')
|
|
||||||
OlePutProperty(font,'UnderLine',xlUnderlineStyleSingle)
|
|
||||||
|
|
||||||
column = OleGetProperty(xlActiveSheet,'Columns',FirstColumn:':':LastColumn)
|
|
||||||
void = OleCallMethod(column,'AutoFit')
|
|
||||||
|
|
||||||
Msg(@window, MsgUp)
|
|
||||||
|
|
||||||
RETURN
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -118,7 +118,7 @@ EQU COL$STEP_SCHED_DTM TO 11
|
|||||||
EQU COMMA$ to ','
|
EQU COMMA$ to ','
|
||||||
|
|
||||||
Declare subroutine Errmsg, Btree.Extract, Set_Status, Logging_Services, Work_Order_Services, Start_Window, obj_WO_Log
|
Declare subroutine Errmsg, Btree.Extract, Set_Status, Logging_Services, Work_Order_Services, Start_Window, obj_WO_Log
|
||||||
Declare subroutine obj_Notes, Comm_Customer_Epi, Print_WO, obj_WO_Mat, obj_WM_In, obj_WO_Mat, obj_RDS, Msg
|
Declare subroutine obj_Notes, Comm_Customer_Epi, Print_WO, obj_WO_Mat, obj_WM_In, obj_WO_Mat, obj_RDS, Msg, PlaceDialog
|
||||||
Declare subroutine Security_Err_Msg, obj_WM_Out, Database_Services, End_Window, Print_Shelf_Label, Signature_Services
|
Declare subroutine Security_Err_Msg, obj_WM_Out, Database_Services, End_Window, Print_Shelf_Label, Signature_Services
|
||||||
Declare Subroutine Service_Services
|
Declare Subroutine Service_Services
|
||||||
Declare function obj_WO_Log, Work_Order_Services, Environment_Services, Logging_Services, Memberof, NextKey
|
Declare function obj_WO_Log, Work_Order_Services, Environment_Services, Logging_Services, Memberof, NextKey
|
||||||
@ -127,14 +127,9 @@ Declare function Database_Services, Unassigned, obj_WO_Mat, obj_RDS, Security_
|
|||||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG'
|
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\WO_LOG'
|
||||||
LogDate = Oconv(Date(), 'D4/')
|
LogDate = Oconv(Date(), 'D4/')
|
||||||
LogTime = Oconv(Time(), 'MTS')
|
LogTime = Oconv(Time(), 'MTS')
|
||||||
* LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' Ctrl Performance Log.csv'
|
|
||||||
* Headers = 'Logging DTM':@FM:'Ctrl':@FM:'Load/Calculate Time'
|
|
||||||
* objCtrlLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, COMMA$, Headers, '', False$, False$)
|
|
||||||
|
|
||||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' Release Log.csv'
|
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' Release Log.csv'
|
||||||
Headers = 'Logging DTM' : @FM : 'User' : @FM : 'Notes'
|
Headers = 'Logging DTM' : @FM : 'User' : @FM : 'Notes'
|
||||||
objReleaseLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, COMMA$, Headers, '', False$, False$)
|
objReleaseLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, COMMA$, Headers, '', False$, False$)
|
||||||
|
|
||||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||||
|
|
||||||
// Update the arguments so that the OpenInsight OLE event will treate the ActiveX event as a native event handler.
|
// Update the arguments so that the OpenInsight OLE event will treate the ActiveX event as a native event handler.
|
||||||
@ -167,8 +162,7 @@ Event WINDOW.CREATE(CreateParam)
|
|||||||
Set_Property(@Window:'.EDL_WO_NO', 'TEXT', CreateParam)
|
Set_Property(@Window:'.EDL_WO_NO', 'TEXT', CreateParam)
|
||||||
Post_Event(@Window, 'READ')
|
Post_Event(@Window, 'READ')
|
||||||
end
|
end
|
||||||
FormSize = ''
|
PlaceDialog(-2, -2)
|
||||||
SRP_Show_Window(@Window, '', 'C', 'C', 1, '', False$, False$, FormSize)
|
|
||||||
|
|
||||||
End Event
|
End Event
|
||||||
|
|
||||||
@ -537,7 +531,7 @@ Event PUB_DUE_IN_WO.CLICK()
|
|||||||
|
|
||||||
MsgUp = Msg(@WINDOW,'','SELECT_OPEN_WO')
|
MsgUp = Msg(@WINDOW,'','SELECT_OPEN_WO')
|
||||||
WOKeys = ''
|
WOKeys = ''
|
||||||
SelectStatement = 'CURR_STATUS':@VM:'ASN':@VM:'AWM':@VM:'RTP':@FM
|
SelectStatement = 'CURR_STATUS_STATIC':@VM:'ASN':@VM:'AWM':@VM:'RTP':@FM
|
||||||
|
|
||||||
Btree.Extract(SelectStatement, 'WO_LOG', DictWOLogTable, WOKeys, '', '')
|
Btree.Extract(SelectStatement, 'WO_LOG', DictWOLogTable, WOKeys, '', '')
|
||||||
|
|
||||||
@ -1310,7 +1304,9 @@ Event PUB_REM_CASS.CLICK()
|
|||||||
|
|
||||||
end event
|
end event
|
||||||
|
|
||||||
|
|
||||||
Event PUB_REM_WM_OUT.CLICK()
|
Event PUB_REM_WM_OUT.CLICK()
|
||||||
|
|
||||||
ErrorMessage = ''
|
ErrorMessage = ''
|
||||||
WONo = Get_Property(@WINDOW:'.EDL_WO_NO','TEXT')
|
WONo = Get_Property(@WINDOW:'.EDL_WO_NO','TEXT')
|
||||||
|
|
||||||
@ -1367,7 +1363,7 @@ Event PUB_REM_WM_OUT.CLICK()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
If ErrorMessage EQ '' then
|
If ErrorMessage EQ '' then
|
||||||
//Now send a message
|
// Now send a message
|
||||||
Recipients = XLATE('NOTIFICATION','WO_ENTRY',NOTIFICATION_USER_ID$,'X')
|
Recipients = XLATE('NOTIFICATION','WO_ENTRY',NOTIFICATION_USER_ID$,'X')
|
||||||
SentFrom = @USER4
|
SentFrom = @USER4
|
||||||
Subject = 'Cassettes removed from WO ':WONo
|
Subject = 'Cassettes removed from WO ':WONo
|
||||||
@ -1390,80 +1386,8 @@ Event PUB_REM_WM_OUT.CLICK()
|
|||||||
Msg('Error in voiding lots process : ' : ErrorMessage)
|
Msg('Error in voiding lots process : ' : ErrorMessage)
|
||||||
end
|
end
|
||||||
GoSub PopulateControls
|
GoSub PopulateControls
|
||||||
end event
|
|
||||||
|
|
||||||
* Event PUB_REM_WM_OUT.CLICK()
|
end event
|
||||||
* WONo = Get_Property(@WINDOW:'.EDL_WO_NO','TEXT')
|
|
||||||
* WOStepKey = XLATE('WO_LOG', WONo, WO_LOG_WO_STEP_KEY$, 'X')
|
|
||||||
* IF WONo NE '' then
|
|
||||||
*
|
|
||||||
* WORec = XLATE('WO_LOG',WONo,'','X')
|
|
||||||
* WOMatKeys = WORec<WO_LOG_WO_MAT_KEY$>
|
|
||||||
* WMOutKeys = Database_Services('ReadDataColumn', 'WO_STEP', WOStepKey, WO_STEP_WM_OUT_KEYS$, True$, 0, False$)
|
|
||||||
* WMOutCnt = COUNT(WMOutKeys,@VM) + (WMOutKeys NE '')
|
|
||||||
*
|
|
||||||
* Display = ''
|
|
||||||
* DispLine = 1
|
|
||||||
*
|
|
||||||
* IF WMOutCnt > 0 THEN
|
|
||||||
*
|
|
||||||
* FOR I = WMOutCnt TO 1 STEP -1
|
|
||||||
* WMORec = XLATE('WM_OUT',WMOutKeys<1,I>,'','X')
|
|
||||||
* WMO_RdsNos = WMORec<WM_OUT_RDS$>
|
|
||||||
* WMO_NCRNos = WMORec<WM_OUT_SLOT_NCR$>
|
|
||||||
* WMO_UMWCassIDs = WMORec<WM_OUT_UMW_CASS_ID$>
|
|
||||||
* CONVERT @VM TO '' IN WMO_RdsNos
|
|
||||||
* CONVERT @VM TO '' IN WMO_NCRNos
|
|
||||||
* CONVERT @VM TO '' IN WMO_UMWCassIDs
|
|
||||||
*
|
|
||||||
* UNTIL WMO_RdsNos NE '' OR WMO_NCRNos NE '' OR WMO_UMWCassIDs NE ''
|
|
||||||
* Display<1,DispLine,1> = FIELD(WOMatKeys<1,I>,'*',2)
|
|
||||||
* Display<1,DispLine,2> = OCONV(obj_WM_Out('CurrStatus',WOMatKeys<1,I>:@RM:WMORec),'[WO_MAT_CURR_STATUS_CONV]')
|
|
||||||
* Display<1,DispLine,3> = WMOutKeys<1,I>
|
|
||||||
* DispLine += 1
|
|
||||||
* NEXT I
|
|
||||||
*
|
|
||||||
* IF Display NE '' THEN
|
|
||||||
* TypeOver = ''
|
|
||||||
* TypeOver<PDISPLAY$> = Display
|
|
||||||
* TypeOver<PTITLE$> = 'Unused WM_OUT Cassettes'
|
|
||||||
* WMOData = Popup(@WINDOW,TypeOver,'UNUSED_WM_OUT')
|
|
||||||
* IF WMOData = '' OR WMOData = CHAR(27) THEN RETURN ;* Cancelled out
|
|
||||||
* END ELSE
|
|
||||||
* ErrMsg('All cassettes on this Work Order have started processing.')
|
|
||||||
* RETURN
|
|
||||||
* END
|
|
||||||
*
|
|
||||||
* DelWMOutKeys = ''
|
|
||||||
* FOR I = 1 TO COUNT(WMOData,@FM) + (WMOData NE '')
|
|
||||||
* DelWMOutKeys<1,I> = WMOData<I,3>
|
|
||||||
* NEXT I
|
|
||||||
*
|
|
||||||
* TestWMOutKeys = DelWMOutKeys
|
|
||||||
*
|
|
||||||
* IF TestWMOutKeys NE '' THEN
|
|
||||||
* for each WMOutKey in TestWMOutKeys using @VM
|
|
||||||
* Work_Order_Services('SignVoidWMO', WMOutKey, @USER4)
|
|
||||||
* Next WMOutKey
|
|
||||||
* If Error_Services('HasError') then
|
|
||||||
* Msg(@Window, Error_Services('GetMessage'))
|
|
||||||
* end
|
|
||||||
* END
|
|
||||||
* END
|
|
||||||
*
|
|
||||||
* IF Display = '' THEN
|
|
||||||
* ErrMsg('All cassettes on this Work Order have had wafers placed in them.')
|
|
||||||
* RETURN
|
|
||||||
* END
|
|
||||||
*
|
|
||||||
* IF Get_Status(errCode) THEN
|
|
||||||
* ErrMsg(errCode)
|
|
||||||
* END
|
|
||||||
*
|
|
||||||
* GoSub PopulateControls
|
|
||||||
* end
|
|
||||||
*
|
|
||||||
* end event
|
|
||||||
|
|
||||||
|
|
||||||
Event PUB_RECALL.CLICK()
|
Event PUB_RECALL.CLICK()
|
||||||
@ -1897,15 +1821,7 @@ return
|
|||||||
|
|
||||||
GetColumnData:
|
GetColumnData:
|
||||||
|
|
||||||
* LoadTimeStart = GetTickCount()
|
|
||||||
Val = Xlate('WO_LOG', WONo, Col, 'X')
|
Val = Xlate('WO_LOG', WONo, Col, 'X')
|
||||||
// Logging for optimization purposes
|
|
||||||
* LoadTimeStop = GetTickCount()
|
|
||||||
* LoadTimeDuration = LoadTimeStop - LoadTimeStart
|
|
||||||
* LogData<2> = Col
|
|
||||||
* LogData<3> = LoadTimeDuration
|
|
||||||
* Logging_Services('AppendLog', objCtrlLog, LogData, @RM, @FM)
|
|
||||||
|
|
||||||
If Unassigned(CtrlConv) then CtrlConv = ''
|
If Unassigned(CtrlConv) then CtrlConv = ''
|
||||||
If CtrlConv EQ '' then
|
If CtrlConv EQ '' then
|
||||||
Locate Col in WOLogFields using @VM setting ConvPos then
|
Locate Col in WOLogFields using @VM setting ConvPos then
|
||||||
|
@ -916,8 +916,7 @@ OpenWONos:
|
|||||||
|
|
||||||
WOKeys = ''
|
WOKeys = ''
|
||||||
|
|
||||||
* SelectStatement = 'CURR_STATUS':@VM:'RX':@VM:'INPR':@VM:'RTS':@VM:'SHIP':@VM:'HOLD':@FM ;* Inactivated by dkk 4/3/14
|
SelectStatement = 'CLOSE_DATE':@VM:'':@FM ;* Added by dkk 4/3/14
|
||||||
SelectStatement = 'WO_STATUS':@VM:'OPEN':@FM ;* Added by dkk 4/3/14
|
|
||||||
|
|
||||||
Btree.Extract(SelectStatement,'WO_LOG',DictWOLogTable,WOKeys,'','')
|
Btree.Extract(SelectStatement,'WO_LOG',DictWOLogTable,WOKeys,'','')
|
||||||
|
|
||||||
@ -957,13 +956,12 @@ ShipWONos:
|
|||||||
|
|
||||||
IF Get_Status(errCode) THEN RETURN
|
IF Get_Status(errCode) THEN RETURN
|
||||||
|
|
||||||
SelectStatement = 'SELECT WO_LOG WITH CURR_STATUS = "INPR" '
|
SelectStatement = 'SELECT WO_LOG WITH CURR_STATUS_STATIC = "INPR" '
|
||||||
SelectStatement := ' OR WITH CURR_STATUS = "RTS"'
|
SelectStatement := ' OR WITH CURR_STATUS_STATIC = "RTS"'
|
||||||
SelectStatement := ' OR WITH CURR_STATUS = "SHIP"'
|
SelectStatement := ' OR WITH CURR_STATUS_STATIC = "SHIP"'
|
||||||
SelectStatement := ' OR WITH CURR_STATUS = "HOLD"'
|
SelectStatement := ' OR WITH CURR_STATUS_STATIC = "HOLD"'
|
||||||
SelectStatement := ' BY COMMIT_DATE'
|
SelectStatement := ' BY COMMIT_DATE'
|
||||||
|
|
||||||
|
|
||||||
RList(SelectStatement, TARGET_ACTIVELIST$, '','','')
|
RList(SelectStatement, TARGET_ACTIVELIST$, '','','')
|
||||||
|
|
||||||
IF Get_Status(errCode) THEN
|
IF Get_Status(errCode) THEN
|
||||||
@ -1033,13 +1031,8 @@ ReleaseCassettes:
|
|||||||
IF WONo = '' THEN ErrorMsg = 'Null parameter WONo passed to routine (':Method:').'
|
IF WONo = '' THEN ErrorMsg = 'Null parameter WONo passed to routine (':Method:').'
|
||||||
IF ErrorMsg NE '' THEN RETURN
|
IF ErrorMsg NE '' THEN RETURN
|
||||||
|
|
||||||
NewForm = Xlate('APP_INFO', 'NEW_WO_FORM', '', 'X')
|
|
||||||
If NewForm then
|
|
||||||
Form = 'NDW_WO_LOG'
|
Form = 'NDW_WO_LOG'
|
||||||
end else
|
OrgColor = Set_Property(Form:'.STATUSLINE_FIX','BACKCOLOR',YELLOW$)
|
||||||
Form = 'WO_LOG2'
|
|
||||||
end
|
|
||||||
OrgColor = Set_Property(Form:'.STATUSLINE_FIX','BACKCOLOR',YELLOW$) ;* //////// Messaging
|
|
||||||
|
|
||||||
TableVar = ''
|
TableVar = ''
|
||||||
OtParms = 'WO_LOG':@RM:WONo:@RM:TableVar
|
OtParms = 'WO_LOG':@RM:WONo:@RM:TableVar
|
||||||
@ -1067,19 +1060,14 @@ ReleaseCassettes:
|
|||||||
|
|
||||||
IF ErrorMsg NE '' THEN
|
IF ErrorMsg NE '' THEN
|
||||||
obj_Tables('UnlockRec',OtParms)
|
obj_Tables('UnlockRec',OtParms)
|
||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
* * * * * * * * * * * * * * * * * * * * * * * * * *
|
* * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
|
||||||
IF ProdVerNo NE '' THEN
|
IF ProdVerNo NE '' THEN
|
||||||
|
|
||||||
ReactorType = XLATE('PROD_VER',ProdVerNo,PROD_VER_REACT_TYPE$,'X')
|
ReactorType = XLATE('PROD_VER',ProdVerNo,PROD_VER_REACT_TYPE$,'X')
|
||||||
|
|
||||||
IF ReactorType NE 'EPP' THEN
|
IF ReactorType NE 'EPP' THEN
|
||||||
|
|
||||||
IF WORec<WO_LOG_WO_START_DTM$> = '' THEN
|
IF WORec<WO_LOG_WO_START_DTM$> = '' THEN
|
||||||
CurrDTM = ICONV(OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTHS'),'DT')
|
CurrDTM = ICONV(OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTHS'),'DT')
|
||||||
WORec<WO_LOG_WO_START_DTM$> = CurrDTM
|
WORec<WO_LOG_WO_START_DTM$> = CurrDTM
|
||||||
@ -1089,7 +1077,7 @@ ReleaseCassettes:
|
|||||||
|
|
||||||
* * * * * * * * * * * * * * * * * * * * * * * * * * *
|
* * * * * * * * * * * * * * * * * * * * * * * * * * *
|
||||||
|
|
||||||
Send_Info("Collecting Data for release...") ;* //////// Messaging
|
Send_Info("Collecting Data for release...")
|
||||||
|
|
||||||
IF OrderNo = '' THEN
|
IF OrderNo = '' THEN
|
||||||
OrderWaferQty = WORec<WO_LOG_WO_QTY$>
|
OrderWaferQty = WORec<WO_LOG_WO_QTY$>
|
||||||
@ -1097,9 +1085,7 @@ ReleaseCassettes:
|
|||||||
VisionOrderNo = WORec<WO_LOG_PROD_ORD_NO$> ;* SAP Production Order Number
|
VisionOrderNo = WORec<WO_LOG_PROD_ORD_NO$> ;* SAP Production Order Number
|
||||||
VisionLineNos = ''
|
VisionLineNos = ''
|
||||||
WMOLoadQty = XLATE('CUST_EPI_PART',CustNo:'*':EPIPartNo,CUST_EPI_PART_WMO_LOAD_CNT$,'X')
|
WMOLoadQty = XLATE('CUST_EPI_PART',CustNo:'*':EPIPartNo,CUST_EPI_PART_WMO_LOAD_CNT$,'X')
|
||||||
|
|
||||||
END ELSE
|
END ELSE
|
||||||
|
|
||||||
OrderRec = XLATE('ORDER',OrderNo,'','X')
|
OrderRec = XLATE('ORDER',OrderNo,'','X')
|
||||||
OrderWaferQty = 0
|
OrderWaferQty = 0
|
||||||
|
|
||||||
@ -1126,22 +1112,12 @@ ReleaseCassettes:
|
|||||||
|
|
||||||
Send_Info('Locking WOMat records for update...')
|
Send_Info('Locking WOMat records for update...')
|
||||||
|
|
||||||
* WOMTableVar = obj_WO_Mat('LockSet',WOMKeys)
|
|
||||||
WOMTableVar = Database_Services('GetTableHandle', 'WO_MAT')
|
WOMTableVar = Database_Services('GetTableHandle', 'WO_MAT')
|
||||||
|
|
||||||
IF Get_Status(errCode) THEN
|
IF Get_Status(errCode) THEN
|
||||||
obj_Tables('UnlockRec',OtParms) ;* Unlock WO_LOG record
|
obj_Tables('UnlockRec',OtParms)
|
||||||
|
Send_Info(STR(' ',60))
|
||||||
Send_Info(STR(' ',60)) ;** - Messaging - **
|
Dummy = Set_Property(Form:'.STATUSLINE_FIX','BACKCOLOR',OrgColor)
|
||||||
|
|
||||||
NewForm = Xlate('APP_INFO', 'NEW_WO_FORM', '', 'X')
|
|
||||||
If NewForm then
|
|
||||||
Form = 'NDW_WO_LOG'
|
|
||||||
end else
|
|
||||||
Form = 'WO_LOG2'
|
|
||||||
end
|
|
||||||
|
|
||||||
Dummy = Set_Property(Form:'.STATUSLINE_FIX','BACKCOLOR',OrgColor) ;** - Messaging - **
|
|
||||||
RETURN
|
RETURN
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -1149,19 +1125,13 @@ ReleaseCassettes:
|
|||||||
LogData<4> = 'Trace 1'
|
LogData<4> = 'Trace 1'
|
||||||
Logging_Services('AppendLog', objReleaseLog, LogData, @RM, @FM)
|
Logging_Services('AppendLog', objReleaseLog, LogData, @RM, @FM)
|
||||||
|
|
||||||
* At this point the WO_LOG is locked and the WO_MAT (cassettes) are all locked for update
|
|
||||||
|
|
||||||
EpiPN = WORec<WO_LOG_EPI_PART_NO$>
|
EpiPN = WORec<WO_LOG_EPI_PART_NO$>
|
||||||
EpiPartRec = XLATE('EPI_PART',EpiPN,'','X')
|
EpiPartRec = XLATE('EPI_PART',EpiPN,'','X')
|
||||||
|
|
||||||
SubSupplyBy = EpiPartRec<EPI_PART_SUB_SUPP_BY$>
|
SubSupplyBy = EpiPartRec<EPI_PART_SUB_SUPP_BY$>
|
||||||
|
|
||||||
ProdVerRec = XLATE('PROD_VER',ProdVerNo,'','X')
|
ProdVerRec = XLATE('PROD_VER',ProdVerNo,'','X')
|
||||||
|
|
||||||
ProcStepNos = ProdVerRec<PROD_VER_PROC_STEP_NO$>
|
ProcStepNos = ProdVerRec<PROD_VER_PROC_STEP_NO$>
|
||||||
ProcPSNs = ProdVerRec<PROD_VER_PROC_STEP_PSN$>
|
ProcPSNs = ProdVerRec<PROD_VER_PROC_STEP_PSN$>
|
||||||
ReactorType = ProdVerRec<PROD_VER_REACT_TYPE$>
|
ReactorType = ProdVerRec<PROD_VER_REACT_TYPE$>
|
||||||
|
|
||||||
WOStepCnt = COUNT(ProcPSNs,@VM) + (ProcPSNs NE '')
|
WOStepCnt = COUNT(ProcPSNs,@VM) + (ProcPSNs NE '')
|
||||||
|
|
||||||
TableVar = ''
|
TableVar = ''
|
||||||
@ -1185,11 +1155,8 @@ ReleaseCassettes:
|
|||||||
Logging_Services('AppendLog', objReleaseLog, LogData, @RM, @FM)
|
Logging_Services('AppendLog', objReleaseLog, LogData, @RM, @FM)
|
||||||
|
|
||||||
IF ReactorType = 'EPP' THEN
|
IF ReactorType = 'EPP' THEN
|
||||||
|
Send_Info('Creating WM_OUT records for WOStep ':WOStep:'...')
|
||||||
Send_Info('Creating WM_OUT records for WOStep ':WOStep:'...') ;** - Messaging - **
|
OutOnlyCassIDS = obj_WM_Out('Create',WONO:@RM:WOStep:@RM:CassNos:@RM:WMOLoadQty)
|
||||||
|
|
||||||
OutOnlyCassIDS = obj_WM_Out('Create',WONO:@RM:WOStep:@RM:CassNos:@RM:WMOLoadQty) ;* Changed WMOLoadQty 9/14/2012 JCH *********
|
|
||||||
|
|
||||||
END ELSE
|
END ELSE
|
||||||
OutOnlyCassIDs = ''
|
OutOnlyCassIDs = ''
|
||||||
END
|
END
|
||||||
@ -1208,6 +1175,8 @@ ReleaseCassettes:
|
|||||||
Def<MTYPE$> = "G"
|
Def<MTYPE$> = "G"
|
||||||
Def<MEXTENT$> = CassCnt
|
Def<MEXTENT$> = CassCnt
|
||||||
Def<MTEXTWIDTH$> = 600
|
Def<MTEXTWIDTH$> = 600
|
||||||
|
Def<MCOL$> = -2
|
||||||
|
Def<MROW$> = -2
|
||||||
|
|
||||||
MsgUp = Msg(@WINDOW, Def)
|
MsgUp = Msg(@WINDOW, Def)
|
||||||
|
|
||||||
@ -1231,9 +1200,9 @@ ReleaseCassettes:
|
|||||||
CassWaferQty = XLATE('WO_MAT',WONo:'*':CassNo,WO_MAT_WAFER_QTY$,'X')
|
CassWaferQty = XLATE('WO_MAT',WONo:'*':CassNo,WO_MAT_WAFER_QTY$,'X')
|
||||||
|
|
||||||
WMIKey = WONo:'*':WOStep:'*':CassNo
|
WMIKey = WONo:'*':WOStep:'*':CassNo
|
||||||
Send_Info('Creating WM_IN record "':WMIKey:'"...') ;** - Messaging - **
|
Send_Info('Creating WM_IN record "':WMIKey:'"...')
|
||||||
|
|
||||||
obj_WM_IN('Create',WONo:@RM:WOStep:@RM:CassNo:@RM:CassWaferQty) ;* ******************************** EpiPro 5000 Reactor -> create WM_IN records
|
obj_WM_IN('Create',WONo:@RM:WOStep:@RM:CassNo:@RM:CassWaferQty)
|
||||||
|
|
||||||
END ELSE
|
END ELSE
|
||||||
|
|
||||||
@ -1276,7 +1245,7 @@ ReleaseCassettes:
|
|||||||
Parms := '':@RM ;* QXJ Flag
|
Parms := '':@RM ;* QXJ Flag
|
||||||
Parms := CassSubVendCd
|
Parms := CassSubVendCd
|
||||||
|
|
||||||
Send_Info('Creating RDS for Cass No: ':CassNo:'...') ;** - Messaging - **
|
Send_Info('Creating RDS for Cass No: ':CassNo:'...')
|
||||||
|
|
||||||
IF ReactorType = 'GAN' THEN
|
IF ReactorType = 'GAN' THEN
|
||||||
|
|
||||||
@ -1319,9 +1288,8 @@ ReleaseCassettes:
|
|||||||
ErrorMsg = "RDS '" : NewRDSNo : "' Create Failure - Check for missing data on Work Order"
|
ErrorMsg = "RDS '" : NewRDSNo : "' Create Failure - Check for missing data on Work Order"
|
||||||
If Error_Services('HasError') then
|
If Error_Services('HasError') then
|
||||||
ErrMsg = Error_Services('GetMessage')
|
ErrMsg = Error_Services('GetMessage')
|
||||||
EmailAddr = 'dstieber@srpcs.com,Dan.Crisp@infineon.com,jonathan.ouellette@infineon.com'
|
|
||||||
LogData = LoggingDTM : ',' : @USER4 : ',' : WONo : ',' : ErrMsg
|
LogData = LoggingDTM : ',' : @USER4 : ',' : WONo : ',' : ErrMsg
|
||||||
Logging_Services('AppendLog', objLog, LogData, CRLF$, COMMA$, False$, EmailAddr, LogData)
|
Logging_Services('AppendLog', objLog, LogData, CRLF$, COMMA$, False$, '', LogData)
|
||||||
end
|
end
|
||||||
|
|
||||||
RTParms = 'RDS'
|
RTParms = 'RDS'
|
||||||
@ -1339,7 +1307,7 @@ ReleaseCassettes:
|
|||||||
|
|
||||||
IF ReprocessedMat THEN
|
IF ReprocessedMat THEN
|
||||||
OrgRDSNo = CassLotNo
|
OrgRDSNo = CassLotNo
|
||||||
obj_Reprocess('FixUp',OrgRDSNo:@RM:NewRDSNo) ;****************************************************
|
obj_Reprocess('FixUp',OrgRDSNo:@RM:NewRDSNo)
|
||||||
END
|
END
|
||||||
END ;* End of check for GAN reactor
|
END ;* End of check for GAN reactor
|
||||||
|
|
||||||
@ -1358,12 +1326,8 @@ ReleaseCassettes:
|
|||||||
RelDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTHS') ;* 12/31/2014 JCH & DKK moved to prevent time incrementing time during release
|
RelDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTHS') ;* 12/31/2014 JCH & DKK moved to prevent time incrementing time during release
|
||||||
PtiDTM = OCONV(Date(),'D4/'):' ':OCONV(Time()+5,'MTHS')
|
PtiDTM = OCONV(Date(),'D4/'):' ':OCONV(Time()+5,'MTHS')
|
||||||
|
|
||||||
WOLogRec = Database_Services('ReadDataRow', 'WO_LOG', WONo)
|
|
||||||
* AvailOutSlots = WOLogRec<WO_LOG_AVAIL_OUT_SLOTS$>
|
|
||||||
MaxShipQty = Xlate('WO_LOG', WONo, 'CUST_EPI_PART_SHIP_QTY', 'X')
|
MaxShipQty = Xlate('WO_LOG', WONo, 'CUST_EPI_PART_SHIP_QTY', 'X')
|
||||||
|
|
||||||
IF WOLogRec<WO_LOG_NEXT_OUT_SLOT$> EQ '' then WOLogRec<WO_LOG_NEXT_OUT_SLOT$> = '1*1'
|
|
||||||
|
|
||||||
FOR N = 1 TO CassCnt
|
FOR N = 1 TO CassCnt
|
||||||
WOMKey = WOMKeys<1,N>
|
WOMKey = WOMKeys<1,N>
|
||||||
CassNo = FIELD(WOMKey,'*',2)
|
CassNo = FIELD(WOMKey,'*',2)
|
||||||
@ -1424,23 +1388,12 @@ ReleaseCassettes:
|
|||||||
|
|
||||||
NEXT N
|
NEXT N
|
||||||
|
|
||||||
Database_Services('WriteDataRow', 'WO_LOG', WONo, WOLogRec, True$, False$, True$)
|
|
||||||
|
|
||||||
LogData<1> = Oconv(Date(), 'D4/') : ' ' : Oconv(Time(), 'MTS')
|
LogData<1> = Oconv(Date(), 'D4/') : ' ' : Oconv(Time(), 'MTS')
|
||||||
LogData<4> = 'Trace 4'
|
LogData<4> = 'Trace 4'
|
||||||
Logging_Services('AppendLog', objReleaseLog, LogData, @RM, @FM)
|
Logging_Services('AppendLog', objReleaseLog, LogData, @RM, @FM)
|
||||||
|
|
||||||
Send_Info(STR(' ',60)) ;** - Messaging - **
|
Send_Info(STR(' ',60))
|
||||||
NewForm = Xlate('APP_INFO', 'NEW_WO_FORM', '', 'X')
|
Dummy = Set_Property(Form:'.STATUS_LINE_FIX','BACKCOLOR',OrgColor)
|
||||||
If NewForm then
|
|
||||||
Form = 'NDW_WO_LOG'
|
|
||||||
end else
|
|
||||||
Form = 'WO_LOG2'
|
|
||||||
end
|
|
||||||
Dummy = Set_Property(Form:'.STATUS_LINE_FIX','BACKCOLOR',OrgColor) ;** - Messaging - **
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * WO_LOG record write was here
|
|
||||||
|
|
||||||
OutOnlyCnt = COUNT(OutOnlyCassIDs,@VM) + (OutOnlyCassIDs NE '')
|
OutOnlyCnt = COUNT(OutOnlyCassIDs,@VM) + (OutOnlyCassIDs NE '')
|
||||||
|
|
||||||
@ -1453,21 +1406,20 @@ ReleaseCassettes:
|
|||||||
END
|
END
|
||||||
NEXT I
|
NEXT I
|
||||||
|
|
||||||
WORec<WO_LOG_WO_MAT_KEY$> = ExistingWOMatKeys ;* Add OutOnly Cassettetes to list inWO_LOG record.
|
IF WORec<WO_LOG_NEXT_OUT_SLOT$> EQ '' then WORec<WO_LOG_NEXT_OUT_SLOT$> = '1*1'
|
||||||
|
WORec<WO_LOG_WO_MAT_KEY$> = ExistingWOMatKeys
|
||||||
|
|
||||||
Send_Info('Saving WO_LOG record...')
|
Send_Info('Saving WO_LOG record...')
|
||||||
|
|
||||||
OtParms = FieldStore(OtParms,@RM,4,1,WORec)
|
OtParms = FieldStore(OtParms,@RM,4,1,WORec)
|
||||||
|
|
||||||
obj_Tables('WriteRec',OtParms) ;* Writes and unlocks the record It only has one value updated
|
obj_Tables('WriteRec',OtParms) ;* Writes and unlocks the record
|
||||||
|
|
||||||
LogData<1> = Oconv(Date(), 'D4/') : ' ' : Oconv(Time(), 'MTS')
|
LogData<1> = Oconv(Date(), 'D4/') : ' ' : Oconv(Time(), 'MTS')
|
||||||
LogData<4> = 'Trace 5'
|
LogData<4> = 'Trace 5'
|
||||||
Logging_Services('AppendLog', objReleaseLog, LogData, @RM, @FM)
|
Logging_Services('AppendLog', objReleaseLog, LogData, @RM, @FM)
|
||||||
|
|
||||||
Send_Info(STR(' ',60)) ;** - Messaging - **
|
Send_Info(STR(' ',60))
|
||||||
|
|
||||||
* * * * * * * * * *
|
|
||||||
|
|
||||||
ReactNos = obj_Sched('GetReactNos',WONo) ;************************ 5/26/2-15 JCH Added schedule ReactNos and check for WO_START_DTM$
|
ReactNos = obj_Sched('GetReactNos',WONo) ;************************ 5/26/2-15 JCH Added schedule ReactNos and check for WO_START_DTM$
|
||||||
|
|
||||||
@ -1491,33 +1443,25 @@ ReleaseCassettes:
|
|||||||
|
|
||||||
END CASE
|
END CASE
|
||||||
|
|
||||||
|
|
||||||
IF WORec<WO_LOG_WO_START_DTM$> NE '' THEN
|
IF WORec<WO_LOG_WO_START_DTM$> NE '' THEN
|
||||||
Recipients = XLATE('NOTIFICATION','WO_RELEASE',NOTIFICATION_USER_ID$,'X')
|
Recipients = XLATE('NOTIFICATION','WO_RELEASE',NOTIFICATION_USER_ID$,'X')
|
||||||
SentFrom = @USER4
|
SentFrom = @USER4
|
||||||
Subject = 'Work Order Release on ':WONo
|
Subject = 'Work Order Release on ':WONo
|
||||||
|
|
||||||
IF ReactorType = 'EPP' THEN
|
IF ReactorType = 'EPP' THEN
|
||||||
AttachWindow = 'WO_PROD_EPI'
|
AttachWindow = 'WO_PROD_EPI'
|
||||||
END ELSE
|
END ELSE
|
||||||
AttachWindow = 'WO_PROD'
|
AttachWindow = 'WO_PROD'
|
||||||
END
|
END
|
||||||
|
|
||||||
AttachKey = WONo:'*':1
|
AttachKey = WONo:'*':1
|
||||||
|
|
||||||
SendToGroup = ''
|
SendToGroup = ''
|
||||||
|
|
||||||
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
Parms = Recipients:@RM:SentFrom:@RM:Subject:@RM:Message:@RM:AttachWindow:@RM:AttachKey:@RM:SendToGroup
|
||||||
obj_Notes('Create',Parms)
|
obj_Notes('Create',Parms)
|
||||||
|
|
||||||
IF Get_Status(errCode) THEN
|
IF Get_Status(errCode) THEN
|
||||||
ErrMsg(errCode)
|
ErrMsg(errCode)
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
|
|
||||||
END ;* WO is not on the schedule
|
END ;* WO is not on the schedule
|
||||||
|
|
||||||
* * * * * * * * * *
|
|
||||||
LogData<1> = Oconv(Date(), 'D4/') : ' ' : Oconv(Time(), 'MTS')
|
LogData<1> = Oconv(Date(), 'D4/') : ' ' : Oconv(Time(), 'MTS')
|
||||||
LogData<4> = 'Ending ReleaseCassettes routine'
|
LogData<4> = 'Ending ReleaseCassettes routine'
|
||||||
Logging_Services('AppendLog', objReleaseLog, LogData, @RM, @FM)
|
Logging_Services('AppendLog', objReleaseLog, LogData, @RM, @FM)
|
||||||
@ -1525,8 +1469,6 @@ ReleaseCassettes:
|
|||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
RecallWO:
|
RecallWO:
|
||||||
* * * * * * *
|
* * * * * * *
|
||||||
@ -2517,9 +2459,9 @@ CloseComp:
|
|||||||
IF Get_Status(errCode) THEN RETURN
|
IF Get_Status(errCode) THEN RETURN
|
||||||
|
|
||||||
IF CompOrShipShort = 'Comp' THEN
|
IF CompOrShipShort = 'Comp' THEN
|
||||||
SelectStatement = 'SELECT WO_LOG WITH CURR_STATUS = "COMP" AND WITHOUT CLOSE_DATE '
|
SelectStatement = 'SELECT WO_LOG WITH CURR_STATUS_STATIC = "COMP" AND WITHOUT CLOSE_DATE '
|
||||||
END ELSE
|
END ELSE
|
||||||
SelectStatement = 'SELECT WO_LOG WITH CURR_STATUS = "INPR" "SHIP" AND WITHOUT CLOSE_DATE '
|
SelectStatement = 'SELECT WO_LOG WITH CURR_STATUS_STATIC = "INPR" "SHIP" AND WITHOUT CLOSE_DATE '
|
||||||
END
|
END
|
||||||
|
|
||||||
RList(SelectStatement, TARGET_ACTIVELIST$, '','','')
|
RList(SelectStatement, TARGET_ACTIVELIST$, '','','')
|
||||||
@ -3107,4 +3049,3 @@ SchedReacts:
|
|||||||
|
|
||||||
RETURN
|
RETURN
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user