Compare commits
264 Commits
5d31e6f84c
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 52b3b20b4e | |||
| 3d786a7916 | |||
| 1b94adb0d1 | |||
| 315abcde86 | |||
| 05e0fb3eda | |||
| cbb52c469b | |||
| 712cec903a | |||
| 6e829bd06a | |||
| 8604a83966 | |||
| 52504272f9 | |||
| b485de10ef | |||
| 261e13ceac | |||
| ad6ed9c002 | |||
| beaac0d38a | |||
| a2f61d11c9 | |||
| acd7949e85 | |||
| 128bf2ef8d | |||
| 705237545f | |||
| baa9af3e1a | |||
| 2fa474880d | |||
| 399f568b15 | |||
| 99d6abc3f2 | |||
| a2c467e9cb | |||
| af279541ae | |||
| 2036ed3289 | |||
| edd09af821 | |||
| febe660fcf | |||
| 245f832445 | |||
| f07e4476a7 | |||
| 12f354dcaa | |||
| d2f98a342d | |||
| b83a3fb57b | |||
| 3e0991f681 | |||
| f1a719d279 | |||
| 40a7a5e5a1 | |||
| 261880fab8 | |||
| 4b7417c1a8 | |||
| c183da951a | |||
| 9d6c4c154f | |||
| 18f17f1d77 | |||
| 4020095d79 | |||
| 422dc69da7 | |||
| a0897d19df | |||
| 8c11300455 | |||
| 537d46ba21 | |||
| 9dcead4eff | |||
| 0872e88869 | |||
| c316aa9164 | |||
| ed6f6cfc0d | |||
| f1316d0e8f | |||
| 487246af46 | |||
| 3acaf60a5f | |||
| 26198b343a | |||
| 30372169ba | |||
| 557221c0d3 | |||
| e09912b8bb | |||
| 993c812252 | |||
| 464a1adebd | |||
| 3211eb5593 | |||
| 981840fd95 | |||
| 7ec010b03f | |||
| 2fa985137f | |||
| c30bb96972 | |||
| a196bffd41 | |||
| 47405863d7 | |||
| 5d1b1f254e | |||
| d6894f2fa4 | |||
| 63d9fe7964 | |||
| 8a5c1572e7 | |||
| 2eff7c5a37 | |||
| d61ae234c9 | |||
| cc2213061c | |||
| 056db6326b | |||
| ea20e6c8a0 | |||
| db1624a25b | |||
| 764603f60b | |||
| 7eacacec8c | |||
| 05340fc53a | |||
| 722bc63bdb | |||
| 1f2777cd18 | |||
| 10bf8bf878 | |||
| 1a572a31b2 | |||
| 098f740585 | |||
| 89bb3e479b | |||
| 60522d74c1 | |||
| 3561b41a7b | |||
| a636198128 | |||
| adc247fd4c | |||
| a094971d7d | |||
| 47b54f6a16 | |||
| 804258a167 | |||
| 6d552ab824 | |||
| 2fbf41d528 | |||
| ba2faa8c9f | |||
| 0a2d53d173 | |||
| 844de71599 | |||
| 494988d394 | |||
| e1c7544fac | |||
| 6d5c9c0ab7 | |||
| a8dff61cfa | |||
| 09d2d13e63 | |||
| 14331fcf49 | |||
| 667831a003 | |||
| 82b74f0b96 | |||
| f4f63c28e3 | |||
| 1f2b73797b | |||
| 54eaf15598 | |||
| fffadaa1c3 | |||
| a6da80dc3c | |||
| 3125225639 | |||
| f54331eb0e | |||
| 847483f603 | |||
| 88281fff05 | |||
| 8499d03ef8 | |||
| 3186ec1ad6 | |||
| 898f21b73d | |||
| f7ee12a78d | |||
| 475df5ba54 | |||
| 28a8a10ba2 | |||
| 6934799e92 | |||
| 03f42dedea | |||
| 033e3baee8 | |||
| 4bfae8e7b7 | |||
| 0f0c735023 | |||
| 4eee1b0f0a | |||
| e2e8731316 | |||
| a21f41fd29 | |||
| 2bbc5c065d | |||
| 9e54865e1e | |||
| c7f1f86249 | |||
| c89bb6b3d4 | |||
| 71daf317f0 | |||
| a48f47ddc9 | |||
| 6396264e64 | |||
| 8f233705a2 | |||
| b159e1aa27 | |||
| de2e6af5f7 | |||
| 84da66ccd5 | |||
| 49e77a769f | |||
| 490bfe21d4 | |||
| 2aaed8944e | |||
| ef104f889c | |||
| ea156489f1 | |||
| e1a44a7687 | |||
| c890a25d46 | |||
| 836b8c47a9 | |||
| aabd4c3a91 | |||
| b607432be4 | |||
| 3debdce91e | |||
| 4689b861d7 | |||
| 350116fddc | |||
| 59aed72156 | |||
| e97162dc1e | |||
| 2a6c0afddf | |||
| b53e805929 | |||
| 804b590773 | |||
| cd64511871 | |||
| 2226f3112b | |||
| 184d2c2cba | |||
| 5830705c7d | |||
| 1d32ec4fbb | |||
| eb85afaf35 | |||
| 269e5f9bd4 | |||
| d4ce96337b | |||
| af6cd757de | |||
| ce252bf885 | |||
| 28d5b81b30 | |||
| 563871008e | |||
| 272b2ce7d8 | |||
| 14c77d9edf | |||
| d15cd38daf | |||
| e3dbea2b7a | |||
| 01fa3f8202 | |||
| 98ac420462 | |||
| 5ca3778719 | |||
| 5d27afcd68 | |||
| c786fce37b | |||
| b796060529 | |||
| ff0036d4c2 | |||
| fd55fe06a9 | |||
| 653ba1619f | |||
| 8f25d78fe6 | |||
| 521c35af8f | |||
| d021ab64b9 | |||
| df5b217fe7 | |||
| 8415e99055 | |||
| da208b2908 | |||
| 7b7f501145 | |||
| 03e85359d1 | |||
| 401c03d752 | |||
| a878c9bb2e | |||
| 60b5386f27 | |||
| 46f070e9cc | |||
| 2180ba3fb4 | |||
| c6910c14c2 | |||
| 38e7b6e276 | |||
| e523f2085d | |||
| 7b386fe856 | |||
| bcdfbe0534 | |||
| 52499b7616 | |||
| 1db89a3d3f | |||
| de67e45c9a | |||
| 3becd9cf4d | |||
| d570e3cfef | |||
| 49f6cf505a | |||
| 17e320923f | |||
| c4a3edece2 | |||
| 273b7f67a6 | |||
| 5cb17c6d52 | |||
| 0c7a1d55e2 | |||
| b2c9e500f8 | |||
| 2f6b376ece | |||
| 357b7ede64 | |||
| 60493b3413 | |||
| 76327e9dbc | |||
| 2d3f534a71 | |||
| f6ba173f47 | |||
| 98e02f8c40 | |||
| de6296b1d3 | |||
| ebd8b36d13 | |||
| 803f946c7e | |||
| 16c7bc6926 | |||
| 216df9b4ef | |||
| 5eec9386c2 | |||
| f3ad7adfa8 | |||
| c4fbf7c1d9 | |||
| 2a28c4b743 | |||
| e5f0e9b7f1 | |||
| 869787e0f3 | |||
| 38fc89dac6 | |||
| 614da8ad3b | |||
| dcb61e220c | |||
| 117e5c8b4b | |||
| 25c608c9a6 | |||
| 31632e28aa | |||
| 03b0c8f606 | |||
| 6cfb6e521e | |||
| 481f083804 | |||
| 18919090d8 | |||
| 550f376a0b | |||
| 6aad8036e5 | |||
| 4fc7eb189b | |||
| 5e917e65ac | |||
| 97f3c3fce2 | |||
| 27d55d83a1 | |||
| 4e213ff253 | |||
| 292bc4646b | |||
| ab55269f87 | |||
| f4c1a42812 | |||
| ec70fcc80b | |||
| e13f2df003 | |||
| 770a1de95b | |||
| 5c18f7ccd2 | |||
| 3c95ec88d8 | |||
| 4037b2fa45 | |||
| b2edf6f288 | |||
| d626ebdf3c | |||
| e0b3557068 | |||
| 8a44de0075 | |||
| fc40b9b654 | |||
| 59f7461a13 | |||
| 17d6f68c00 | |||
| e876d6a8ac | |||
| e8b73d30c8 |
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
LSL2/STPROC/TEST_DANIEL*.txt
|
||||
LSL2/STPROC/TEST_DAKOTA.txt
|
||||
LSL2/STPROC/JONATHAN_SERVICES.txt
|
||||
LSL2/STPROC/CHASE_SERVICES.txt
|
||||
@ -21,75 +21,78 @@
|
||||
"<1,12>": "SCOPE #3",
|
||||
"<1,13>": "SCOPE #4",
|
||||
"<1,14>": "SCOPE #5",
|
||||
"<1,15>": "SP1 1",
|
||||
"<1,16>": "TENCOR1",
|
||||
"<1,17>": "TENCOR2",
|
||||
"<1,18>": "TENCOR3",
|
||||
"<1,19>": "BIORAD2",
|
||||
"<1,20>": "BIORAD3",
|
||||
"<1,21>": "BIORAD4",
|
||||
"<1,22>": "BIORAD5",
|
||||
"<1,23>": "CDE4",
|
||||
"<1,24>": "CDE5",
|
||||
"<1,25>": "CDE6",
|
||||
"<1,26>": "HGCV1",
|
||||
"<1,27>": "HGCV2",
|
||||
"<1,28>": "HGCV3",
|
||||
"<1,29>": "SPV",
|
||||
"<1,30>": "SRP",
|
||||
"<1,31>": "BELLJAR",
|
||||
"<1,32>": "6INLESS",
|
||||
"<1,33>": "6INLESS2",
|
||||
"<1,34>": "6MACTRONIX #1",
|
||||
"<1,35>": "6MACTRONIX #2",
|
||||
"<1,36>": "6MACTRONIX #3",
|
||||
"<1,37>": "6MACTRONIX #4",
|
||||
"<1,38>": "8INLESS",
|
||||
"<1,39>": "8INLESS2",
|
||||
"<1,15>": "SCOPE #6",
|
||||
"<1,16>": "SP1 1",
|
||||
"<1,17>": "TENCOR1",
|
||||
"<1,18>": "TENCOR2",
|
||||
"<1,19>": "TENCOR3",
|
||||
"<1,20>": "BIORAD2",
|
||||
"<1,21>": "BIORAD3",
|
||||
"<1,22>": "BIORAD4",
|
||||
"<1,23>": "BIORAD5",
|
||||
"<1,24>": "CDE4",
|
||||
"<1,25>": "CDE5",
|
||||
"<1,26>": "CDE6",
|
||||
"<1,27>": "HGCV1",
|
||||
"<1,28>": "HGCV2",
|
||||
"<1,29>": "HGCV3",
|
||||
"<1,30>": "SPV",
|
||||
"<1,31>": "SRP",
|
||||
"<1,32>": "BELLJAR",
|
||||
"<1,33>": "6INLESS",
|
||||
"<1,34>": "6INLESS2",
|
||||
"<1,35>": "6MACTRONIX #1",
|
||||
"<1,36>": "6MACTRONIX #2",
|
||||
"<1,37>": "6MACTRONIX #3",
|
||||
"<1,38>": "6MACTRONIX #4",
|
||||
"<1,39>": "8INLESS",
|
||||
"<1,40>": "BAGGER1",
|
||||
"<1,41>": "BAGGER2",
|
||||
"<1,42>": "BAGGER3",
|
||||
"<1,43>": "BAGGER4",
|
||||
"<1,44>": "6INFF01",
|
||||
"<1,45>": "6INFF02",
|
||||
"<1,46>": "6INFF03",
|
||||
"<1,47>": "6INFF04",
|
||||
"<1,48>": "6INFF05",
|
||||
"<1,49>": "6INFF06",
|
||||
"<1,50>": "6INFF07",
|
||||
"<1,51>": "6INFF08",
|
||||
"<1,52>": "6INFF09",
|
||||
"<1,53>": "6INFF10",
|
||||
"<1,54>": "8INNF01",
|
||||
"<1,55>": "8INNF02",
|
||||
"<1,56>": "8INNF03",
|
||||
"<1,57>": "8INNF04",
|
||||
"<1,58>": "8INNF05",
|
||||
"<1,59>": "8INFF01",
|
||||
"<1,60>": "8INFF02",
|
||||
"<1,61>": "8INFF03",
|
||||
"<1,62>": "8INFF04",
|
||||
"<1,63>": "MACTRONIX #1",
|
||||
"<1,64>": "MACTRONIX #2 ",
|
||||
"<1,65>": "MACTRONIX #3",
|
||||
"<1,66>": "MACTRONIX #4",
|
||||
"<1,67>": "MACTRONIX #5",
|
||||
"<1,68>": "MACTRONIX #6",
|
||||
"<1,69>": "MACTRONIX #7",
|
||||
"<1,70>": "TALL_PITCH1",
|
||||
"<1,71>": "TALL_PITCH2",
|
||||
"<1,72>": "TALL_PITCH3",
|
||||
"<1,73>": "TALL_PITCH4",
|
||||
"<1,74>": "WC6INCH1",
|
||||
"<1,75>": "WC6INCH2",
|
||||
"<1,76>": "WC6INCH3",
|
||||
"<1,77>": "WC6INCH4",
|
||||
"<1,78>": "WC8INCH1",
|
||||
"<1,79>": "WC8INCH2",
|
||||
"<1,80>": "WC8INCH3",
|
||||
"<1,81>": "ELLP01",
|
||||
"<1,82>": "LEAKCHK01",
|
||||
"<1,83>": "LEAKCHK02"
|
||||
"<1,44>": "PACK1",
|
||||
"<1,45>": "PACK2",
|
||||
"<1,46>": "6INFF01",
|
||||
"<1,47>": "6INFF02",
|
||||
"<1,48>": "6INFF03",
|
||||
"<1,49>": "6INFF04",
|
||||
"<1,50>": "6INFF05",
|
||||
"<1,51>": "6INFF06",
|
||||
"<1,52>": "6INFF07",
|
||||
"<1,53>": "6INFF08",
|
||||
"<1,54>": "6INFF09",
|
||||
"<1,55>": "6INFF10",
|
||||
"<1,56>": "8INNF01",
|
||||
"<1,57>": "8INNF02",
|
||||
"<1,58>": "8INNF03",
|
||||
"<1,59>": "8INNF04",
|
||||
"<1,60>": "8INNF05",
|
||||
"<1,61>": "8INFF01",
|
||||
"<1,62>": "8INFF02",
|
||||
"<1,63>": "8INFF03",
|
||||
"<1,64>": "8INFF04",
|
||||
"<1,65>": "MACTRONIX #1",
|
||||
"<1,66>": "MACTRONIX #2 ",
|
||||
"<1,67>": "MACTRONIX #3",
|
||||
"<1,68>": "MACTRONIX #4",
|
||||
"<1,69>": "MACTRONIX #5",
|
||||
"<1,70>": "MACTRONIX #6",
|
||||
"<1,71>": "MACTRONIX #7",
|
||||
"<1,72>": "TALL_PITCH1",
|
||||
"<1,73>": "TALL_PITCH2",
|
||||
"<1,74>": "TALL_PITCH3",
|
||||
"<1,75>": "TALL_PITCH4",
|
||||
"<1,76>": "WC6INCH1",
|
||||
"<1,77>": "WC6INCH2",
|
||||
"<1,78>": "WC6INCH3",
|
||||
"<1,79>": "WC6INCH4",
|
||||
"<1,80>": "WC8INCH1",
|
||||
"<1,81>": "WC8INCH2",
|
||||
"<1,82>": "WC8INCH3",
|
||||
"<1,83>": "ELLP01",
|
||||
"<1,84>": "LEAKCHK01",
|
||||
"<1,85>": "LEAKCHK02",
|
||||
"<1,86>": "TBI #1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
},
|
||||
"body": {
|
||||
"record1": {
|
||||
"<1>": "declare function prod_spec_comm\r\ndeclare subroutine forward_event\r\n\r\nforward_event(NewData)\r\nVoid = prod_spec_comm( \"LOAD_TOOL_RECIPE\" )\r\nRETURN 0\r\n"
|
||||
"<1>": "declare function prod_spec_comm\r\ndeclare subroutine forward_event\r\n\r\nforward_event(NewData)\r\nVoid = prod_spec_comm( \"LOAD_TOOL_RECIPE\" )\r\nVoid = prod_spec_comm( \"LOAD_TOOL_PATTERN\" )\r\nRETURN 0\r\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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
@ -5,7 +5,7 @@
|
||||
},
|
||||
"body": {
|
||||
"record1": {
|
||||
"<1>": "$INSERT RECIPE_EQU\r\n\r\nDECLARE SUBROUTINE Set_List_Box_data, Set_Property\r\nDECLARE FUNCTION Center_Window, Prod_Spec_Comm\r\n\r\nEQU MI$TOOL\t\t\tTO 1\r\nEQU MI$TYPE\t\t\tTO 2\r\nEQU MI$RECIPE\t\tTO 3\r\nEQU MI$FREQ\t\t\tTO 4\r\nEQU MI$PROVE_TYPE\tTO 5\r\nEQU MI$FIRST_CHECK\tTO 6\r\nEQU MI$LAST_CHECK\tTO 7\r\nEQU MI$SPC\t\t\tTO 8\r\nEQU MI$OVERGROW\t\tTO 9\r\nEQU MI$EXP_TW_QTY\tTO 10\r\nEQU MI$PATTERN\t\tTO 11\r\n\r\nIF INDEX( CreateParam, 'CENTER', 1 ) THEN\r\n void = center_window( @window )\r\nEND ELSE\r\n Void = Set_Property( @window, 'VISIBLE', 1 )\r\nEND\r\n\r\nMeasureInfo\t= FIELD( CreateParam, CHAR(245), 1 )\t\t;* 1st passed parameter\r\n\r\nCtrls = @WINDOW:'.TOOL':@RM\t\t\t\t; Props = 'TEXT':@RM\t\t; Vals = FIELD(MeasureInfo,'~',MI$TOOL):@RM\r\nCtrls := @WINDOW:'.TYPE':@RM\t\t\t\t; Props := 'TEXT':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$TYPE):@RM\r\nCtrls := @WINDOW:'.RECIPE':@RM\t\t\t\t; Props := 'TEXT':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$RECIPE):@RM\r\nCtrls := @WINDOW:'.FREQ':@RM\t\t\t\t; Props := 'TEXT':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$FREQ):@RM\r\nCtrls := @WINDOW:'.PROVE_TYPE':@RM\t\t\t; Props := 'TEXT':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$PROVE_TYPE):@RM\r\nCtrls := @WINDOW:'.FIRST_CHECK':@RM\t\t\t; Props := 'CHECK':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$FIRST_CHECK):@RM\r\nCtrls := @WINDOW:'.LAST_CHECK':@RM\t\t\t; Props := 'CHECK':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$LAST_CHECK):@RM\r\nCtrls := @WINDOW:'.SPC':@RM\t\t\t\t\t; Props := 'CHECK':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$SPC):@RM\r\nCtrls := @WINDOW:'.OVERGROW':@RM\t\t\t; Props := 'CHECK':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$OVERGROW):@RM\r\nCtrls := @WINDOW:'.EXPECTED_TW_QTY':@RM\t\t; Props := 'TEXT':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$EXP_TW_QTY):@RM\r\nCtrls := @WINDOW:'.PATTERN'\t\t\t\t\t; Props := 'TEXT'\t\t\t; Vals := FIELD(MeasureInfo,'~',MI$PATTERN)\r\n\r\nSet_Property(Ctrls,Props,Vals)\r\nSet_Property(@WINDOW, '@Controls',Ctrls)\r\nSet_Property(@WINDOW, '@Props',Props)\r\n\r\nType = FIELD(CreateParam,CHAR(245),2)\t\t;* 2nd passed parameter\r\n\r\nIF Type = 'RES' THEN\r\n\tvoid = Set_Property(@WINDOW:'.OVERGROW','VISIBLE',1)\r\nEND ELSE\r\n\tvoid = Set_Property(@WINDOW:'.OVERGROW','VISIBLE',0)\r\nEND\r\n\r\nTypeOut = FIELD(CreateParam,CHAR(245),3)\t\t\t;* 3rd passed parameter\r\n\r\nTitle = Get_Property(@WINDOW,'TEXT')\r\nTitle := TypeOut:' ':Title\r\nSet_Property(@WINDOW,'TEXT',Title)\r\n\r\nSet_List_Box_Data(CtrlEntId)\r\n\r\n\r\nToolList = XLATE('LISTBOX_CONFIG',Type:'MEASURETOOL','','X')\r\nCONVERT @VM TO @FM IN ToolList\r\nSet_Property(@WINDOW:'.TOOL','LIST',ToolList)\r\n\r\nTool = Get_Property(@WINDOW:'.TOOL', 'TEXT' )\r\nCONVERT @LOWER_CASE TO @UPPER_CASE IN Tool\r\n\r\nRecipeList = XLATE( 'LISTBOX_CONFIG', Tool:'_RECIPES', '', 'X' )\r\nCONVERT @VM To @FM IN RecipeList\r\n\r\nIF RecipeList NE '' THEN\r\n\tSet_Property(@WINDOW:'.RECIPE','LIST',RecipeList)\r\nEND\r\n\r\nRETURN 1\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"
|
||||
"<1>": "$INSERT RECIPE_EQU\r\n$insert TOOL_CLASS_EQUATES\r\n\r\nDECLARE SUBROUTINE Set_List_Box_data, Set_Property\r\nDECLARE FUNCTION Center_Window, Prod_Spec_Comm\r\n\r\nEQU MI$TOOL\t\t\tTO 1\r\nEQU MI$TYPE\t\t\tTO 2\r\nEQU MI$RECIPE\t\tTO 3\r\nEQU MI$FREQ\t\t\tTO 4\r\nEQU MI$PROVE_TYPE\tTO 5\r\nEQU MI$FIRST_CHECK\tTO 6\r\nEQU MI$LAST_CHECK\tTO 7\r\nEQU MI$SPC\t\t\tTO 8\r\nEQU MI$OVERGROW\t\tTO 9\r\nEQU MI$EXP_TW_QTY\tTO 10\r\nEQU MI$PATTERN\t\tTO 11\r\n\r\nIF INDEX( CreateParam, 'CENTER', 1 ) THEN\r\n void = center_window( @window )\r\nEND ELSE\r\n Void = Set_Property( @window, 'VISIBLE', 1 )\r\nEND\r\n\r\nMeasureInfo\t= FIELD( CreateParam, CHAR(245), 1 )\t\t;* 1st passed parameter\r\n\r\nCtrls = @WINDOW:'.TOOL':@RM\t\t\t\t; Props = 'TEXT':@RM\t\t; Vals = FIELD(MeasureInfo,'~',MI$TOOL):@RM\r\nCtrls := @WINDOW:'.TYPE':@RM\t\t\t\t; Props := 'TEXT':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$TYPE):@RM\r\nCtrls := @WINDOW:'.RECIPE':@RM\t\t\t\t; Props := 'TEXT':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$RECIPE):@RM\r\nCtrls := @WINDOW:'.FREQ':@RM\t\t\t\t; Props := 'TEXT':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$FREQ):@RM\r\nCtrls := @WINDOW:'.PROVE_TYPE':@RM\t\t\t; Props := 'TEXT':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$PROVE_TYPE):@RM\r\nCtrls := @WINDOW:'.FIRST_CHECK':@RM\t\t\t; Props := 'CHECK':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$FIRST_CHECK):@RM\r\nCtrls := @WINDOW:'.LAST_CHECK':@RM\t\t\t; Props := 'CHECK':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$LAST_CHECK):@RM\r\nCtrls := @WINDOW:'.SPC':@RM\t\t\t\t\t; Props := 'CHECK':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$SPC):@RM\r\nCtrls := @WINDOW:'.OVERGROW':@RM\t\t\t; Props := 'CHECK':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$OVERGROW):@RM\r\nCtrls := @WINDOW:'.EXPECTED_TW_QTY':@RM\t\t; Props := 'TEXT':@RM\t\t; Vals := FIELD(MeasureInfo,'~',MI$EXP_TW_QTY):@RM\r\nCtrls := @WINDOW:'.PATTERN'\t\t\t\t\t; Props := 'TEXT'\t\t\t; Vals := FIELD(MeasureInfo,'~',MI$PATTERN)\r\n\r\nSet_Property(Ctrls,Props,Vals)\r\nSet_Property(@WINDOW, '@Controls',Ctrls)\r\nSet_Property(@WINDOW, '@Props',Props)\r\n\r\nType = FIELD(CreateParam,CHAR(245),2)\t\t;* 2nd passed parameter\r\n\r\nIF Type = 'RES' THEN\r\n\tvoid = Set_Property(@WINDOW:'.OVERGROW','VISIBLE',1)\r\nEND ELSE\r\n\tvoid = Set_Property(@WINDOW:'.OVERGROW','VISIBLE',0)\r\nEND\r\n\r\nTypeOut = FIELD(CreateParam,CHAR(245),3)\t\t\t;* 3rd passed parameter\r\n\r\nTitle = Get_Property(@WINDOW,'TEXT')\r\nTitle := TypeOut:' ':Title\r\nSet_Property(@WINDOW,'TEXT',Title)\r\n\r\nToolList = XLATE('LISTBOX_CONFIG',Type:'MEASURETOOL','','X')\r\nCONVERT @VM TO @FM IN ToolList\r\nSet_Property(@WINDOW:'.TOOL','LIST',ToolList)\r\n\r\nTool = Get_Property(@WINDOW:'.TOOL', 'TEXT' )\r\nCONVERT @LOWER_CASE TO @UPPER_CASE IN Tool\r\n\r\nRecipeList = XLATE( 'TOOL_CLASS', Tool, TOOL_CLASS_RECIPES$, 'X' )\r\nCONVERT @VM To @FM IN RecipeList\r\n\r\nIF RecipeList NE '' THEN\r\n\tSet_Property(@WINDOW:'.RECIPE','LIST',RecipeList)\r\nEnd\r\n\r\nPatternList = Xlate('TOOL_CLASS', Tool, TOOL_CLASS_PATTERN$, 'X')\r\nCONVERT @VM To @FM IN PatternList\r\n\r\nIf PatternList Ne '' Then\r\n Set_Property(@Window:'.PATTERN', 'LIST', PatternList)\r\nEnd\r\n\r\nRETURN 1\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5,7 +5,7 @@
|
||||
},
|
||||
"body": {
|
||||
"record1": {
|
||||
"<1>": "\r\ndeclare function dialog_box\r\n\r\nRDSNo = Get_Property(@Window : '.RDS_NO', 'TEXT')\r\nReturnVal = dialog_box( 'NDW_LOAD_UNLOAD_EXTRA', @window, RDSNo)\r\n/*\r\nVoid = set_property( @window, '@ExSigWrite', 0 )\r\nOrigExSigInfo = get_property( @window, '@ExSigInfo' )\r\nReturnVal = dialog_box( 'RDS_UNLOAD_LOAD_EX', @window, OrigExSigInfo )\r\nif ReturnVal <> 'CANCEL' and ( ReturnVal <> OrigExSigInfo ) then\r\n Void = set_property( @window, '@ExSigInfo', ReturnVal )\r\n Void = set_property( @window, '@ExSigWrite', 1 )\r\n @@window->savewarn = 1\r\nend\r\n*/\r\nRETURN 0\r\n"
|
||||
"<1>": "\r\ndeclare function dialog_box, Get_Property\r\ndeclare subroutine Send_Event, Post_Event, Set_Property\r\n\r\nATRECORD = Get_Property(@Window, 'ATRECORD')\r\nRecCheck = @Record\r\n\r\nRDSNo = Get_Property(@Window : '.RDS_NO', 'TEXT')\r\n\r\nIf ATRECORD NE RecCheck then\r\n OrigIOOptions = Get_Property (@Window, \"IOOPTIONS\")\r\n TempIOOptions = OrigIOOptions\r\n TempIOOptions<6> = 1\r\n Set_Property(@Window, 'IOOPTIONS', TempIOOptions)\r\n Send_Event(@Window, 'WRITE')\r\n Set_Property(@Window, 'IOOPTIONS', OrigIOOptions)\r\nend\r\n\r\nReturnVal = dialog_box( 'NDW_LOAD_UNLOAD_EXTRA', @window, RDSNo)\r\nSet_Property(@window, 'SAVEWARN', 0)\r\nPost_Event(@Window, 'READ')\r\n/*\r\nVoid = set_property( @window, '@ExSigWrite', 0 )\r\nOrigExSigInfo = get_property( @window, '@ExSigInfo' )\r\nReturnVal = dialog_box( 'RDS_UNLOAD_LOAD_EX', @window, OrigExSigInfo )\r\nif ReturnVal <> 'CANCEL' and ( ReturnVal <> OrigExSigInfo ) then\r\n Void = set_property( @window, '@ExSigInfo', ReturnVal )\r\n Void = set_property( @window, '@ExSigWrite', 1 )\r\n @@window->savewarn = 1\r\nend\r\n*/\r\nRETURN 0\r\n"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -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
@ -17,8 +17,8 @@
|
||||
"<1,4>": "",
|
||||
"<1,5>": "136",
|
||||
"<1,6>": "201",
|
||||
"<1,7>": "-831",
|
||||
"<1,8>": "-522",
|
||||
"<1,7>": "-869",
|
||||
"<1,8>": "-498",
|
||||
"<1,9>": "5S",
|
||||
"<1,10>": {
|
||||
"<1,10,1>": "0x84CF0000",
|
||||
@ -725,17 +725,17 @@
|
||||
"<4,2>": "",
|
||||
"<4,3>": "OLECONTROL.SRP.EditTable.1",
|
||||
"<4,4>": "NDW_5S",
|
||||
"<4,5>": "10",
|
||||
"<4,5>": "11",
|
||||
"<4,6>": "50",
|
||||
"<4,7>": "810",
|
||||
"<4,8>": "460",
|
||||
"<4,7>": "-10",
|
||||
"<4,8>": "-12",
|
||||
"<4,9>": "SRP.EditTable.1",
|
||||
"<4,10>": {
|
||||
"<4,10,1>": "0x56000000",
|
||||
"<4,10,2>": "0x0"
|
||||
},
|
||||
"<4,11>": {
|
||||
"<4,11,1>": "0x0",
|
||||
"<4,11,1>": "0xC000",
|
||||
"<4,11,2>": "0x80000000"
|
||||
},
|
||||
"<4,12>": "2",
|
||||
|
||||
675
LSL2/OIWIN/NDW_ACKNOWLEDGE_MESSAGE.json
Normal file
675
LSL2/OIWIN/NDW_ACKNOWLEDGE_MESSAGE.json
Normal file
@ -0,0 +1,675 @@
|
||||
{
|
||||
"header": {
|
||||
"version": 1,
|
||||
"type": "record"
|
||||
},
|
||||
"body": {
|
||||
"record1": {
|
||||
"<1>": "1010",
|
||||
"<2>": "3",
|
||||
"<3>": ""
|
||||
},
|
||||
"record2": {
|
||||
"<1>": {
|
||||
"<1,1>": "NDW_ACKNOWLEDGE_MESSAGE",
|
||||
"<1,2>": "",
|
||||
"<1,3>": "WINDOW",
|
||||
"<1,4>": "",
|
||||
"<1,5>": "137",
|
||||
"<1,6>": "173",
|
||||
"<1,7>": "-765",
|
||||
"<1,8>": "-539",
|
||||
"<1,9>": "Process Message",
|
||||
"<1,10>": {
|
||||
"<1,10,1>": "0x84C80000",
|
||||
"<1,10,2>": "0x101"
|
||||
},
|
||||
"<1,11>": {
|
||||
"<1,11,1>": "0x8000",
|
||||
"<1,11,2>": "0x80000000"
|
||||
},
|
||||
"<1,12>": "",
|
||||
"<1,13>": {
|
||||
"<1,13,1>": "-2",
|
||||
"<1,13,2>": "-2",
|
||||
"<1,13,3>": "0"
|
||||
},
|
||||
"<1,14>": "",
|
||||
"<1,15>": "",
|
||||
"<1,16>": "",
|
||||
"<1,17>": "",
|
||||
"<1,18>": {
|
||||
"<1,18,1>": {
|
||||
"<1,18,1,1>": "X",
|
||||
"<1,18,1,2>": "EXECUTE",
|
||||
"<1,18,1,3>": "@WINDOW_EVENTS",
|
||||
"<1,18,1,4>": {
|
||||
"<1,18,1,4,1>": "@SELF",
|
||||
"<1,18,1,4,2>": "@EVENT",
|
||||
"<1,18,1,4,3>": "@PARAM1",
|
||||
"<1,18,1,4,4>": "@PARAM2",
|
||||
"<1,18,1,4,5>": "@PARAM3",
|
||||
"<1,18,1,4,6>": "@PARAM4",
|
||||
"<1,18,1,4,7>": "@PARAM5",
|
||||
"<1,18,1,4,8>": "@PARAM6"
|
||||
},
|
||||
"<1,18,1,5>": "",
|
||||
"<1,18,1,6>": "",
|
||||
"<1,18,1,7>": "",
|
||||
"<1,18,1,8>": "",
|
||||
"<1,18,1,9>": "",
|
||||
"<1,18,1,10>": "",
|
||||
"<1,18,1,11>": "",
|
||||
"<1,18,1,12>": "",
|
||||
"<1,18,1,13>": "",
|
||||
"<1,18,1,14>": "",
|
||||
"<1,18,1,15>": "COMMEVT",
|
||||
"<1,18,1,16>": "0"
|
||||
}
|
||||
},
|
||||
"<1,19>": "CREATE",
|
||||
"<1,20>": "",
|
||||
"<1,21>": "",
|
||||
"<1,22>": "",
|
||||
"<1,23>": "",
|
||||
"<1,24>": {
|
||||
"<1,24,1>": "",
|
||||
"<1,24,2>": "0",
|
||||
"<1,24,3>": "0",
|
||||
"<1,24,4>": "0",
|
||||
"<1,24,5>": "",
|
||||
"<1,24,6>": "0",
|
||||
"<1,24,7>": "",
|
||||
"<1,24,8>": "",
|
||||
"<1,24,9>": "",
|
||||
"<1,24,10>": "0",
|
||||
"<1,24,11>": "0",
|
||||
"<1,24,12>": "0",
|
||||
"<1,24,13>": "0",
|
||||
"<1,24,14>": "0",
|
||||
"<1,24,15>": "0",
|
||||
"<1,24,16>": "0",
|
||||
"<1,24,17>": "0"
|
||||
},
|
||||
"<1,25>": "",
|
||||
"<1,26>": "",
|
||||
"<1,27>": "",
|
||||
"<1,28>": "",
|
||||
"<1,29>": "",
|
||||
"<1,30>": "",
|
||||
"<1,31>": "",
|
||||
"<1,32>": "",
|
||||
"<1,33>": "",
|
||||
"<1,34>": "LSL2*IMAGE*ICO*INFINEON",
|
||||
"<1,35>": "",
|
||||
"<1,36>": "",
|
||||
"<1,37>": {
|
||||
"<1,37,1>": "0X10001",
|
||||
"<1,37,2>": "0X10001"
|
||||
},
|
||||
"<1,38>": "",
|
||||
"<1,39>": "",
|
||||
"<1,40>": "",
|
||||
"<1,41>": "",
|
||||
"<1,42>": "",
|
||||
"<1,43>": "",
|
||||
"<1,44>": "",
|
||||
"<1,45>": "",
|
||||
"<1,46>": "",
|
||||
"<1,47>": "",
|
||||
"<1,48>": "",
|
||||
"<1,49>": "",
|
||||
"<1,50>": "",
|
||||
"<1,51>": "",
|
||||
"<1,52>": "",
|
||||
"<1,53>": "",
|
||||
"<1,54>": "",
|
||||
"<1,55>": "",
|
||||
"<1,56>": "",
|
||||
"<1,57>": "",
|
||||
"<1,58>": "",
|
||||
"<1,59>": "",
|
||||
"<1,60>": "",
|
||||
"<1,61>": "",
|
||||
"<1,62>": {
|
||||
"<1,62,1>": "0",
|
||||
"<1,62,2>": "",
|
||||
"<1,62,3>": "",
|
||||
"<1,62,4>": "2",
|
||||
"<1,62,5>": "0",
|
||||
"<1,62,6>": "0",
|
||||
"<1,62,7>": "",
|
||||
"<1,62,8>": "0.50",
|
||||
"<1,62,9>": "5.00",
|
||||
"<1,62,10>": "0.00"
|
||||
},
|
||||
"<1,63>": "",
|
||||
"<1,64>": "",
|
||||
"<1,65>": "",
|
||||
"<1,66>": "",
|
||||
"<1,67>": "",
|
||||
"<1,68>": "",
|
||||
"<1,69>": "",
|
||||
"<1,70>": "",
|
||||
"<1,71>": "",
|
||||
"<1,72>": "",
|
||||
"<1,73>": "",
|
||||
"<1,74>": "",
|
||||
"<1,75>": "",
|
||||
"<1,76>": "",
|
||||
"<1,77>": "",
|
||||
"<1,78>": "",
|
||||
"<1,79>": "",
|
||||
"<1,80>": "",
|
||||
"<1,81>": "",
|
||||
"<1,82>": "",
|
||||
"<1,83>": "",
|
||||
"<1,84>": "",
|
||||
"<1,85>": "",
|
||||
"<1,86>": "",
|
||||
"<1,87>": "",
|
||||
"<1,88>": "",
|
||||
"<1,89>": "",
|
||||
"<1,90>": "",
|
||||
"<1,91>": "",
|
||||
"<1,92>": "",
|
||||
"<1,93>": "",
|
||||
"<1,94>": "",
|
||||
"<1,95>": "",
|
||||
"<1,96>": "",
|
||||
"<1,97>": "",
|
||||
"<1,98>": "",
|
||||
"<1,99>": "",
|
||||
"<1,100>": "",
|
||||
"<1,101>": "",
|
||||
"<1,102>": "",
|
||||
"<1,103>": "",
|
||||
"<1,104>": "",
|
||||
"<1,105>": "",
|
||||
"<1,106>": "0",
|
||||
"<1,107>": "",
|
||||
"<1,108>": ""
|
||||
}
|
||||
},
|
||||
"record3": {
|
||||
"<1>": {
|
||||
"<1,1>": "EDB_DATA",
|
||||
"<1,2>": "",
|
||||
"<1,3>": "EDITBOX",
|
||||
"<1,4>": "NDW_ACKNOWLEDGE_MESSAGE",
|
||||
"<1,5>": "16",
|
||||
"<1,6>": "12",
|
||||
"<1,7>": "-17",
|
||||
"<1,8>": "-48",
|
||||
"<1,9>": "",
|
||||
"<1,10>": {
|
||||
"<1,10,1>": "0x56200840",
|
||||
"<1,10,2>": "0x200"
|
||||
},
|
||||
"<1,11>": {
|
||||
"<1,11,1>": "0xC400",
|
||||
"<1,11,2>": "0x80000000"
|
||||
},
|
||||
"<1,12>": "3",
|
||||
"<1,13>": {
|
||||
"<1,13,1>": "-2",
|
||||
"<1,13,2>": "-2",
|
||||
"<1,13,3>": ""
|
||||
},
|
||||
"<1,14>": "-2",
|
||||
"<1,15>": {
|
||||
"<1,15,1>": {
|
||||
"<1,15,1,1>": "Segoe UI",
|
||||
"<1,15,1,2>": "-15",
|
||||
"<1,15,1,3>": "400",
|
||||
"<1,15,1,4>": "0",
|
||||
"<1,15,1,5>": "0",
|
||||
"<1,15,1,6>": "0",
|
||||
"<1,15,1,7>": "0",
|
||||
"<1,15,1,8>": "34",
|
||||
"<1,15,1,9>": "0",
|
||||
"<1,15,1,10>": "3",
|
||||
"<1,15,1,11>": "2",
|
||||
"<1,15,1,12>": "1"
|
||||
}
|
||||
},
|
||||
"<1,16>": "",
|
||||
"<1,17>": "",
|
||||
"<1,18>": "",
|
||||
"<1,19>": "",
|
||||
"<1,20>": "",
|
||||
"<1,21>": "",
|
||||
"<1,22>": "",
|
||||
"<1,23>": "",
|
||||
"<1,24>": "",
|
||||
"<1,25>": "",
|
||||
"<1,26>": "",
|
||||
"<1,27>": "",
|
||||
"<1,28>": "<<None>>",
|
||||
"<1,29>": "<<None>>",
|
||||
"<1,30>": "",
|
||||
"<1,31>": "0",
|
||||
"<1,32>": "",
|
||||
"<1,33>": "",
|
||||
"<1,34>": "",
|
||||
"<1,35>": "",
|
||||
"<1,36>": "",
|
||||
"<1,37>": "",
|
||||
"<1,38>": "",
|
||||
"<1,39>": "",
|
||||
"<1,40>": "",
|
||||
"<1,41>": "",
|
||||
"<1,42>": "",
|
||||
"<1,43>": "",
|
||||
"<1,44>": "",
|
||||
"<1,45>": "",
|
||||
"<1,46>": "",
|
||||
"<1,47>": "",
|
||||
"<1,48>": "",
|
||||
"<1,49>": "",
|
||||
"<1,50>": "",
|
||||
"<1,51>": "",
|
||||
"<1,52>": "",
|
||||
"<1,53>": "",
|
||||
"<1,54>": "",
|
||||
"<1,55>": "",
|
||||
"<1,56>": "",
|
||||
"<1,57>": "",
|
||||
"<1,58>": "",
|
||||
"<1,59>": "",
|
||||
"<1,60>": "",
|
||||
"<1,61>": "",
|
||||
"<1,62>": "0",
|
||||
"<1,63>": "",
|
||||
"<1,64>": "",
|
||||
"<1,65>": "",
|
||||
"<1,66>": "",
|
||||
"<1,67>": "",
|
||||
"<1,68>": "",
|
||||
"<1,69>": "",
|
||||
"<1,70>": "",
|
||||
"<1,71>": "",
|
||||
"<1,72>": "",
|
||||
"<1,73>": "",
|
||||
"<1,74>": "",
|
||||
"<1,75>": "",
|
||||
"<1,76>": "",
|
||||
"<1,77>": "",
|
||||
"<1,78>": "",
|
||||
"<1,79>": "",
|
||||
"<1,80>": "",
|
||||
"<1,81>": "",
|
||||
"<1,82>": "",
|
||||
"<1,83>": "",
|
||||
"<1,84>": "",
|
||||
"<1,85>": "",
|
||||
"<1,86>": "",
|
||||
"<1,87>": "",
|
||||
"<1,88>": "",
|
||||
"<1,89>": "",
|
||||
"<1,90>": "",
|
||||
"<1,91>": "",
|
||||
"<1,92>": "",
|
||||
"<1,93>": "",
|
||||
"<1,94>": "",
|
||||
"<1,95>": "",
|
||||
"<1,96>": "",
|
||||
"<1,97>": "",
|
||||
"<1,98>": "",
|
||||
"<1,99>": "",
|
||||
"<1,100>": "",
|
||||
"<1,101>": "",
|
||||
"<1,102>": "",
|
||||
"<1,103>": "",
|
||||
"<1,104>": "",
|
||||
"<1,105>": "",
|
||||
"<1,106>": "",
|
||||
"<1,107>": "",
|
||||
"<1,108>": ""
|
||||
},
|
||||
"<2>": {
|
||||
"<2,1>": "PUB_OK",
|
||||
"<2,2>": "",
|
||||
"<2,3>": "PUSHBUTTON",
|
||||
"<2,4>": "NDW_ACKNOWLEDGE_MESSAGE",
|
||||
"<2,5>": "-184",
|
||||
"<2,6>": "-37",
|
||||
"<2,7>": "80",
|
||||
"<2,8>": "24",
|
||||
"<2,9>": "&OK",
|
||||
"<2,10>": {
|
||||
"<2,10,1>": "0x56000300",
|
||||
"<2,10,2>": "0x0"
|
||||
},
|
||||
"<2,11>": {
|
||||
"<2,11,1>": "0x3005",
|
||||
"<2,11,2>": "0x80000000"
|
||||
},
|
||||
"<2,12>": "1",
|
||||
"<2,13>": {
|
||||
"<2,13,1>": "-2",
|
||||
"<2,13,2>": "-2",
|
||||
"<2,13,3>": "0"
|
||||
},
|
||||
"<2,14>": "-2",
|
||||
"<2,15>": {
|
||||
"<2,15,1>": {
|
||||
"<2,15,1,1>": "Segoe UI",
|
||||
"<2,15,1,2>": "-12",
|
||||
"<2,15,1,3>": "400",
|
||||
"<2,15,1,4>": "0",
|
||||
"<2,15,1,5>": "0",
|
||||
"<2,15,1,6>": "0",
|
||||
"<2,15,1,7>": "1",
|
||||
"<2,15,1,8>": "0",
|
||||
"<2,15,1,9>": "0",
|
||||
"<2,15,1,10>": "0",
|
||||
"<2,15,1,11>": "0",
|
||||
"<2,15,1,12>": "0"
|
||||
}
|
||||
},
|
||||
"<2,16>": "",
|
||||
"<2,17>": "",
|
||||
"<2,18>": {
|
||||
"<2,18,1>": {
|
||||
"<2,18,1,1>": "X",
|
||||
"<2,18,1,2>": "EXECUTE",
|
||||
"<2,18,1,3>": "@WINDOW_EVENTS",
|
||||
"<2,18,1,4>": {
|
||||
"<2,18,1,4,1>": "@SELF",
|
||||
"<2,18,1,4,2>": "@EVENT",
|
||||
"<2,18,1,4,3>": "@PARAM1",
|
||||
"<2,18,1,4,4>": "@PARAM2",
|
||||
"<2,18,1,4,5>": "@PARAM3",
|
||||
"<2,18,1,4,6>": "@PARAM4",
|
||||
"<2,18,1,4,7>": "@PARAM5",
|
||||
"<2,18,1,4,8>": "@PARAM6"
|
||||
},
|
||||
"<2,18,1,5>": "",
|
||||
"<2,18,1,6>": "",
|
||||
"<2,18,1,7>": "",
|
||||
"<2,18,1,8>": "",
|
||||
"<2,18,1,9>": "",
|
||||
"<2,18,1,10>": "",
|
||||
"<2,18,1,11>": "",
|
||||
"<2,18,1,12>": "",
|
||||
"<2,18,1,13>": "",
|
||||
"<2,18,1,14>": "",
|
||||
"<2,18,1,15>": "COMMEVT",
|
||||
"<2,18,1,16>": "0"
|
||||
}
|
||||
},
|
||||
"<2,19>": "CLICK",
|
||||
"<2,20>": "",
|
||||
"<2,21>": "",
|
||||
"<2,22>": "",
|
||||
"<2,23>": "",
|
||||
"<2,24>": "",
|
||||
"<2,25>": "",
|
||||
"<2,26>": "",
|
||||
"<2,27>": "",
|
||||
"<2,28>": "",
|
||||
"<2,29>": "",
|
||||
"<2,30>": "",
|
||||
"<2,31>": "",
|
||||
"<2,32>": "",
|
||||
"<2,33>": "",
|
||||
"<2,34>": "",
|
||||
"<2,35>": "",
|
||||
"<2,36>": "",
|
||||
"<2,37>": "",
|
||||
"<2,38>": "",
|
||||
"<2,39>": "",
|
||||
"<2,40>": "-1",
|
||||
"<2,41>": {
|
||||
"<2,41,1>": "",
|
||||
"<2,41,2>": "-1"
|
||||
},
|
||||
"<2,42>": "",
|
||||
"<2,43>": "",
|
||||
"<2,44>": "",
|
||||
"<2,45>": "",
|
||||
"<2,46>": "",
|
||||
"<2,47>": "",
|
||||
"<2,48>": "",
|
||||
"<2,49>": "",
|
||||
"<2,50>": "",
|
||||
"<2,51>": "",
|
||||
"<2,52>": "",
|
||||
"<2,53>": "",
|
||||
"<2,54>": "",
|
||||
"<2,55>": "",
|
||||
"<2,56>": "",
|
||||
"<2,57>": "",
|
||||
"<2,58>": "",
|
||||
"<2,59>": "",
|
||||
"<2,60>": "",
|
||||
"<2,61>": "",
|
||||
"<2,62>": "0",
|
||||
"<2,63>": "",
|
||||
"<2,64>": {
|
||||
"<2,64,1>": "-2",
|
||||
"<2,64,2>": "-2",
|
||||
"<2,64,3>": "0"
|
||||
},
|
||||
"<2,65>": "-2",
|
||||
"<2,66>": "",
|
||||
"<2,67>": "",
|
||||
"<2,68>": "",
|
||||
"<2,69>": "",
|
||||
"<2,70>": "",
|
||||
"<2,71>": "",
|
||||
"<2,72>": "",
|
||||
"<2,73>": "",
|
||||
"<2,74>": "",
|
||||
"<2,75>": "",
|
||||
"<2,76>": "",
|
||||
"<2,77>": "",
|
||||
"<2,78>": "",
|
||||
"<2,79>": "",
|
||||
"<2,80>": "",
|
||||
"<2,81>": "",
|
||||
"<2,82>": "",
|
||||
"<2,83>": "",
|
||||
"<2,84>": "",
|
||||
"<2,85>": "",
|
||||
"<2,86>": "",
|
||||
"<2,87>": "",
|
||||
"<2,88>": "",
|
||||
"<2,89>": "",
|
||||
"<2,90>": "0",
|
||||
"<2,91>": "0",
|
||||
"<2,92>": "",
|
||||
"<2,93>": "",
|
||||
"<2,94>": "",
|
||||
"<2,95>": "",
|
||||
"<2,96>": "",
|
||||
"<2,97>": "",
|
||||
"<2,98>": "",
|
||||
"<2,99>": "",
|
||||
"<2,100>": "",
|
||||
"<2,101>": "",
|
||||
"<2,102>": "",
|
||||
"<2,103>": "",
|
||||
"<2,104>": "",
|
||||
"<2,105>": "",
|
||||
"<2,106>": "",
|
||||
"<2,107>": "",
|
||||
"<2,108>": ""
|
||||
},
|
||||
"<3>": {
|
||||
"<3,1>": "PUB_CANCEL",
|
||||
"<3,2>": "",
|
||||
"<3,3>": "PUSHBUTTON",
|
||||
"<3,4>": "NDW_ACKNOWLEDGE_MESSAGE",
|
||||
"<3,5>": "-97",
|
||||
"<3,6>": "-37",
|
||||
"<3,7>": "80",
|
||||
"<3,8>": "24",
|
||||
"<3,9>": "&Cancel",
|
||||
"<3,10>": {
|
||||
"<3,10,1>": "0x56000300",
|
||||
"<3,10,2>": "0x0"
|
||||
},
|
||||
"<3,11>": {
|
||||
"<3,11,1>": "0x3002",
|
||||
"<3,11,2>": "0x80000000"
|
||||
},
|
||||
"<3,12>": "2",
|
||||
"<3,13>": {
|
||||
"<3,13,1>": "-2",
|
||||
"<3,13,2>": "-2",
|
||||
"<3,13,3>": "0"
|
||||
},
|
||||
"<3,14>": "-2",
|
||||
"<3,15>": {
|
||||
"<3,15,1>": {
|
||||
"<3,15,1,1>": "Segoe UI",
|
||||
"<3,15,1,2>": "-12",
|
||||
"<3,15,1,3>": "400",
|
||||
"<3,15,1,4>": "0",
|
||||
"<3,15,1,5>": "0",
|
||||
"<3,15,1,6>": "0",
|
||||
"<3,15,1,7>": "1",
|
||||
"<3,15,1,8>": "0",
|
||||
"<3,15,1,9>": "0",
|
||||
"<3,15,1,10>": "0",
|
||||
"<3,15,1,11>": "0",
|
||||
"<3,15,1,12>": "0"
|
||||
}
|
||||
},
|
||||
"<3,16>": "",
|
||||
"<3,17>": "",
|
||||
"<3,18>": {
|
||||
"<3,18,1>": {
|
||||
"<3,18,1,1>": "X",
|
||||
"<3,18,1,2>": "EXECUTE",
|
||||
"<3,18,1,3>": "@WINDOW_EVENTS",
|
||||
"<3,18,1,4>": {
|
||||
"<3,18,1,4,1>": "@SELF",
|
||||
"<3,18,1,4,2>": "@EVENT",
|
||||
"<3,18,1,4,3>": "@PARAM1",
|
||||
"<3,18,1,4,4>": "@PARAM2",
|
||||
"<3,18,1,4,5>": "@PARAM3",
|
||||
"<3,18,1,4,6>": "@PARAM4",
|
||||
"<3,18,1,4,7>": "@PARAM5",
|
||||
"<3,18,1,4,8>": "@PARAM6"
|
||||
},
|
||||
"<3,18,1,5>": "",
|
||||
"<3,18,1,6>": "",
|
||||
"<3,18,1,7>": "",
|
||||
"<3,18,1,8>": "",
|
||||
"<3,18,1,9>": "",
|
||||
"<3,18,1,10>": "",
|
||||
"<3,18,1,11>": "",
|
||||
"<3,18,1,12>": "",
|
||||
"<3,18,1,13>": "",
|
||||
"<3,18,1,14>": "",
|
||||
"<3,18,1,15>": "COMMEVT",
|
||||
"<3,18,1,16>": "0"
|
||||
}
|
||||
},
|
||||
"<3,19>": "CLICK",
|
||||
"<3,20>": "",
|
||||
"<3,21>": "",
|
||||
"<3,22>": "",
|
||||
"<3,23>": "",
|
||||
"<3,24>": "",
|
||||
"<3,25>": "",
|
||||
"<3,26>": "",
|
||||
"<3,27>": "",
|
||||
"<3,28>": "",
|
||||
"<3,29>": "",
|
||||
"<3,30>": "",
|
||||
"<3,31>": "",
|
||||
"<3,32>": "",
|
||||
"<3,33>": "",
|
||||
"<3,34>": "",
|
||||
"<3,35>": "",
|
||||
"<3,36>": "",
|
||||
"<3,37>": "",
|
||||
"<3,38>": "",
|
||||
"<3,39>": "",
|
||||
"<3,40>": "-1",
|
||||
"<3,41>": {
|
||||
"<3,41,1>": "",
|
||||
"<3,41,2>": "-1"
|
||||
},
|
||||
"<3,42>": "",
|
||||
"<3,43>": "",
|
||||
"<3,44>": "",
|
||||
"<3,45>": "",
|
||||
"<3,46>": "",
|
||||
"<3,47>": "",
|
||||
"<3,48>": "",
|
||||
"<3,49>": "",
|
||||
"<3,50>": "",
|
||||
"<3,51>": "",
|
||||
"<3,52>": "",
|
||||
"<3,53>": "",
|
||||
"<3,54>": "",
|
||||
"<3,55>": "",
|
||||
"<3,56>": "",
|
||||
"<3,57>": "",
|
||||
"<3,58>": "",
|
||||
"<3,59>": "",
|
||||
"<3,60>": "",
|
||||
"<3,61>": "",
|
||||
"<3,62>": "0",
|
||||
"<3,63>": "",
|
||||
"<3,64>": {
|
||||
"<3,64,1>": "-2",
|
||||
"<3,64,2>": "-2",
|
||||
"<3,64,3>": "0"
|
||||
},
|
||||
"<3,65>": "-2",
|
||||
"<3,66>": "",
|
||||
"<3,67>": "",
|
||||
"<3,68>": "",
|
||||
"<3,69>": "",
|
||||
"<3,70>": "",
|
||||
"<3,71>": "",
|
||||
"<3,72>": "",
|
||||
"<3,73>": "",
|
||||
"<3,74>": "",
|
||||
"<3,75>": "",
|
||||
"<3,76>": "",
|
||||
"<3,77>": "",
|
||||
"<3,78>": "",
|
||||
"<3,79>": "",
|
||||
"<3,80>": "",
|
||||
"<3,81>": "",
|
||||
"<3,82>": "",
|
||||
"<3,83>": "",
|
||||
"<3,84>": "",
|
||||
"<3,85>": "",
|
||||
"<3,86>": "",
|
||||
"<3,87>": "",
|
||||
"<3,88>": "",
|
||||
"<3,89>": "",
|
||||
"<3,90>": "0",
|
||||
"<3,91>": "0",
|
||||
"<3,92>": "",
|
||||
"<3,93>": "",
|
||||
"<3,94>": "",
|
||||
"<3,95>": "",
|
||||
"<3,96>": "",
|
||||
"<3,97>": "",
|
||||
"<3,98>": "",
|
||||
"<3,99>": "",
|
||||
"<3,100>": "",
|
||||
"<3,101>": "",
|
||||
"<3,102>": "",
|
||||
"<3,103>": "",
|
||||
"<3,104>": "",
|
||||
"<3,105>": "",
|
||||
"<3,106>": "",
|
||||
"<3,107>": "",
|
||||
"<3,108>": ""
|
||||
}
|
||||
},
|
||||
"record4": {
|
||||
"<1>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
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
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -17,20 +17,24 @@
|
||||
"<1,4>": "",
|
||||
"<1,5>": "468",
|
||||
"<1,6>": "145",
|
||||
"<1,7>": "-661",
|
||||
"<1,7>": "-776",
|
||||
"<1,8>": "-581",
|
||||
"<1,9>": "PM History",
|
||||
"<1,10>": {
|
||||
"<1,10,1>": "0x94CF0000",
|
||||
"<1,10,2>": "0x0"
|
||||
"<1,10,1>": "0x84CF0000",
|
||||
"<1,10,2>": "0x100"
|
||||
},
|
||||
"<1,11>": {
|
||||
"<1,11,1>": "0x0",
|
||||
"<1,11,1>": "0x8000",
|
||||
"<1,11,2>": "0x80000000"
|
||||
},
|
||||
"<1,12>": "0",
|
||||
"<1,13>": "-2",
|
||||
"<1,14>": "0",
|
||||
"<1,12>": "",
|
||||
"<1,13>": {
|
||||
"<1,13,1>": "-2",
|
||||
"<1,13,2>": "-2",
|
||||
"<1,13,3>": ""
|
||||
},
|
||||
"<1,14>": "",
|
||||
"<1,15>": "",
|
||||
"<1,16>": "",
|
||||
"<1,17>": "",
|
||||
@ -50,51 +54,61 @@
|
||||
"<1,18,1,4,8>": "@PARAM6"
|
||||
},
|
||||
"<1,18,1,5>": "",
|
||||
"<1,18,1,6>": ""
|
||||
},
|
||||
"<1,18,2>": ""
|
||||
},
|
||||
"<1,19>": {
|
||||
"<1,19,1>": "CREATE",
|
||||
"<1,19,2>": ""
|
||||
"<1,18,1,6>": "",
|
||||
"<1,18,1,7>": "",
|
||||
"<1,18,1,8>": "",
|
||||
"<1,18,1,9>": "",
|
||||
"<1,18,1,10>": "",
|
||||
"<1,18,1,11>": "",
|
||||
"<1,18,1,12>": "",
|
||||
"<1,18,1,13>": "",
|
||||
"<1,18,1,14>": "",
|
||||
"<1,18,1,15>": "STPROC"
|
||||
}
|
||||
},
|
||||
"<1,19>": "CREATE",
|
||||
"<1,20>": "",
|
||||
"<1,21>": "",
|
||||
"<1,22>": "",
|
||||
"<1,23>": "",
|
||||
"<1,24>": {
|
||||
"<1,24,1>": "0",
|
||||
"<1,24,1>": "",
|
||||
"<1,24,2>": "0",
|
||||
"<1,24,3>": "0",
|
||||
"<1,24,4>": "0",
|
||||
"<1,24,5>": "0",
|
||||
"<1,24,6>": "0"
|
||||
"<1,24,5>": "",
|
||||
"<1,24,6>": "0",
|
||||
"<1,24,7>": "",
|
||||
"<1,24,8>": "",
|
||||
"<1,24,9>": "",
|
||||
"<1,24,10>": "0",
|
||||
"<1,24,11>": "0",
|
||||
"<1,24,12>": "0",
|
||||
"<1,24,13>": "0",
|
||||
"<1,24,14>": "0",
|
||||
"<1,24,15>": "0",
|
||||
"<1,24,16>": "0",
|
||||
"<1,24,17>": "0"
|
||||
},
|
||||
"<1,25>": "0",
|
||||
"<1,26>": "0",
|
||||
"<1,25>": "",
|
||||
"<1,26>": "",
|
||||
"<1,27>": "",
|
||||
"<1,28>": "",
|
||||
"<1,29>": "",
|
||||
"<1,30>": "",
|
||||
"<1,31>": "",
|
||||
"<1,32>": {
|
||||
"<1,32,1>": "0x7FFFE",
|
||||
"<1,32,2>": "0xF001E808"
|
||||
},
|
||||
"<1,32>": "",
|
||||
"<1,33>": "",
|
||||
"<1,34>": "",
|
||||
"<1,34>": "LSL2*IMAGE*ICO*INFINEON",
|
||||
"<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,37,1>": "0X10001",
|
||||
"<1,37,2>": "0X10001"
|
||||
},
|
||||
"<1,38>": "",
|
||||
"<1,39>": "",
|
||||
"<1,40>": "0",
|
||||
"<1,40>": "",
|
||||
"<1,41>": "",
|
||||
"<1,42>": "",
|
||||
"<1,43>": "",
|
||||
@ -106,7 +120,74 @@
|
||||
"<1,49>": "",
|
||||
"<1,50>": "",
|
||||
"<1,51>": "",
|
||||
"<1,52>": ""
|
||||
"<1,52>": "",
|
||||
"<1,53>": "",
|
||||
"<1,54>": "",
|
||||
"<1,55>": "",
|
||||
"<1,56>": "",
|
||||
"<1,57>": "",
|
||||
"<1,58>": "",
|
||||
"<1,59>": "",
|
||||
"<1,60>": "",
|
||||
"<1,61>": "",
|
||||
"<1,62>": {
|
||||
"<1,62,1>": "0",
|
||||
"<1,62,2>": "",
|
||||
"<1,62,3>": "",
|
||||
"<1,62,4>": "0",
|
||||
"<1,62,5>": "0",
|
||||
"<1,62,6>": "0",
|
||||
"<1,62,7>": "",
|
||||
"<1,62,8>": "0.50",
|
||||
"<1,62,9>": "5.00",
|
||||
"<1,62,10>": "0.00"
|
||||
},
|
||||
"<1,63>": "",
|
||||
"<1,64>": "",
|
||||
"<1,65>": "",
|
||||
"<1,66>": "",
|
||||
"<1,67>": "",
|
||||
"<1,68>": "",
|
||||
"<1,69>": "",
|
||||
"<1,70>": "",
|
||||
"<1,71>": "",
|
||||
"<1,72>": "",
|
||||
"<1,73>": "",
|
||||
"<1,74>": "",
|
||||
"<1,75>": "",
|
||||
"<1,76>": "",
|
||||
"<1,77>": "",
|
||||
"<1,78>": "",
|
||||
"<1,79>": "",
|
||||
"<1,80>": "",
|
||||
"<1,81>": "",
|
||||
"<1,82>": "",
|
||||
"<1,83>": "",
|
||||
"<1,84>": "",
|
||||
"<1,85>": "",
|
||||
"<1,86>": "",
|
||||
"<1,87>": "",
|
||||
"<1,88>": "",
|
||||
"<1,89>": "",
|
||||
"<1,90>": "",
|
||||
"<1,91>": "",
|
||||
"<1,92>": "",
|
||||
"<1,93>": "",
|
||||
"<1,94>": "",
|
||||
"<1,95>": "",
|
||||
"<1,96>": "",
|
||||
"<1,97>": "",
|
||||
"<1,98>": "",
|
||||
"<1,99>": "",
|
||||
"<1,100>": "",
|
||||
"<1,101>": "",
|
||||
"<1,102>": "",
|
||||
"<1,103>": "",
|
||||
"<1,104>": "",
|
||||
"<1,105>": "",
|
||||
"<1,106>": "0",
|
||||
"<1,107>": "",
|
||||
"<1,108>": ""
|
||||
}
|
||||
},
|
||||
"record3": {
|
||||
@ -117,19 +198,23 @@
|
||||
"<1,4>": "NDW_PM_HISTORY",
|
||||
"<1,5>": "10",
|
||||
"<1,6>": "50",
|
||||
"<1,7>": "640",
|
||||
"<1,8>": "520",
|
||||
"<1,7>": "-14",
|
||||
"<1,8>": "-11",
|
||||
"<1,9>": "SRP.EditTable.1",
|
||||
"<1,10>": {
|
||||
"<1,10,1>": "0x56000000",
|
||||
"<1,10,2>": "0x0"
|
||||
},
|
||||
"<1,11>": {
|
||||
"<1,11,1>": "0x4",
|
||||
"<1,11,1>": "0xC004",
|
||||
"<1,11,2>": "0x80000000"
|
||||
},
|
||||
"<1,12>": "1",
|
||||
"<1,13>": "-2",
|
||||
"<1,13>": {
|
||||
"<1,13,1>": "-2",
|
||||
"<1,13,2>": "-2",
|
||||
"<1,13,3>": ""
|
||||
},
|
||||
"<1,14>": "0",
|
||||
"<1,15>": {
|
||||
"<1,15,1>": {
|
||||
@ -158,17 +243,14 @@
|
||||
"<1,22>": "",
|
||||
"<1,23>": "",
|
||||
"<1,24>": "",
|
||||
"<1,25>": "0",
|
||||
"<1,26>": "0",
|
||||
"<1,25>": "",
|
||||
"<1,26>": "",
|
||||
"<1,27>": "",
|
||||
"<1,28>": "<<None>>",
|
||||
"<1,29>": "<<None>>",
|
||||
"<1,30>": "<<None>>",
|
||||
"<1,31>": "0",
|
||||
"<1,32>": {
|
||||
"<1,32,1>": "0x7fffe",
|
||||
"<1,32,2>": "0xf0016400"
|
||||
},
|
||||
"<1,28>": "",
|
||||
"<1,29>": "",
|
||||
"<1,30>": "",
|
||||
"<1,31>": "",
|
||||
"<1,32>": "",
|
||||
"<1,33>": "",
|
||||
"<1,34>": "",
|
||||
"<1,35>": "",
|
||||
@ -188,7 +270,89 @@
|
||||
"<1,49>": "",
|
||||
"<1,50>": "",
|
||||
"<1,51>": "",
|
||||
"<1,52>": ""
|
||||
"<1,52>": "",
|
||||
"<1,53>": "",
|
||||
"<1,54>": "",
|
||||
"<1,55>": {
|
||||
"<1,55,1>": "OLE.AllowXPTheme",
|
||||
"<1,55,2>": "OLE.ComboDropDown",
|
||||
"<1,55,3>": "OLE.DblClickToEdit",
|
||||
"<1,55,4>": "OLE.EditContextMenu",
|
||||
"<1,55,5>": "OLE.EditText",
|
||||
"<1,55,6>": "OLE.Focus",
|
||||
"<1,55,7>": "OLE.HeaderRowCount",
|
||||
"<1,55,8>": "OLE.Modified",
|
||||
"<1,55,9>": "OLE.PassEnterKey",
|
||||
"<1,55,10>": "OLE.ScrollBarsVisible",
|
||||
"<1,55,11>": "OLE.SingleEscape",
|
||||
"<1,55,12>": "OLE.TextRenderStyle"
|
||||
},
|
||||
"<1,56>": {
|
||||
"<1,56,1>": "0",
|
||||
"<1,56,2>": "0",
|
||||
"<1,56,3>": "1",
|
||||
"<1,56,4>": "1",
|
||||
"<1,56,5>": "",
|
||||
"<1,56,6>": "0",
|
||||
"<1,56,7>": "1",
|
||||
"<1,56,8>": "0",
|
||||
"<1,56,9>": "0",
|
||||
"<1,56,10>": "Auto|Auto",
|
||||
"<1,56,11>": "0",
|
||||
"<1,56,12>": "EditField|Ellipses"
|
||||
},
|
||||
"<1,57>": "",
|
||||
"<1,58>": "",
|
||||
"<1,59>": "",
|
||||
"<1,60>": "",
|
||||
"<1,61>": "",
|
||||
"<1,62>": "",
|
||||
"<1,63>": "",
|
||||
"<1,64>": "",
|
||||
"<1,65>": "",
|
||||
"<1,66>": "",
|
||||
"<1,67>": "",
|
||||
"<1,68>": "",
|
||||
"<1,69>": "",
|
||||
"<1,70>": "",
|
||||
"<1,71>": "",
|
||||
"<1,72>": "",
|
||||
"<1,73>": "",
|
||||
"<1,74>": "",
|
||||
"<1,75>": "",
|
||||
"<1,76>": "",
|
||||
"<1,77>": "",
|
||||
"<1,78>": "",
|
||||
"<1,79>": "",
|
||||
"<1,80>": "",
|
||||
"<1,81>": "",
|
||||
"<1,82>": "",
|
||||
"<1,83>": "",
|
||||
"<1,84>": "",
|
||||
"<1,85>": "",
|
||||
"<1,86>": "",
|
||||
"<1,87>": "",
|
||||
"<1,88>": "",
|
||||
"<1,89>": "",
|
||||
"<1,90>": "",
|
||||
"<1,91>": "",
|
||||
"<1,92>": "",
|
||||
"<1,93>": "",
|
||||
"<1,94>": "",
|
||||
"<1,95>": "",
|
||||
"<1,96>": "",
|
||||
"<1,97>": "",
|
||||
"<1,98>": "",
|
||||
"<1,99>": "",
|
||||
"<1,100>": "",
|
||||
"<1,101>": "",
|
||||
"<1,102>": "",
|
||||
"<1,103>": "",
|
||||
"<1,104>": "",
|
||||
"<1,105>": "",
|
||||
"<1,106>": "",
|
||||
"<1,107>": "",
|
||||
"<1,108>": ""
|
||||
},
|
||||
"<2>": {
|
||||
"<2,1>": "EDL_PM_SPEC",
|
||||
@ -209,7 +373,11 @@
|
||||
"<2,11,2>": "0x80000000"
|
||||
},
|
||||
"<2,12>": "2",
|
||||
"<2,13>": "-2",
|
||||
"<2,13>": {
|
||||
"<2,13,1>": "-2",
|
||||
"<2,13,2>": "-2",
|
||||
"<2,13,3>": ""
|
||||
},
|
||||
"<2,14>": "0",
|
||||
"<2,15>": {
|
||||
"<2,15,1>": {
|
||||
@ -238,21 +406,21 @@
|
||||
"<2,22>": "",
|
||||
"<2,23>": "",
|
||||
"<2,24>": "",
|
||||
"<2,25>": "0",
|
||||
"<2,26>": "0",
|
||||
"<2,25>": "",
|
||||
"<2,26>": "",
|
||||
"<2,27>": "",
|
||||
"<2,28>": "<<None>>",
|
||||
"<2,29>": "<<None>>",
|
||||
"<2,30>": "<<None>>",
|
||||
"<2,31>": "0",
|
||||
"<2,32>": {
|
||||
"<2,32,1>": "0x7fffe",
|
||||
"<2,32,2>": "0xf0016c08"
|
||||
},
|
||||
"<2,32>": "",
|
||||
"<2,33>": "",
|
||||
"<2,34>": "",
|
||||
"<2,35>": "",
|
||||
"<2,36>": "",
|
||||
"<2,36>": {
|
||||
"<2,36,1>": "0",
|
||||
"<2,36,2>": "0"
|
||||
},
|
||||
"<2,37>": "",
|
||||
"<2,38>": "",
|
||||
"<2,39>": "",
|
||||
@ -268,7 +436,63 @@
|
||||
"<2,49>": "",
|
||||
"<2,50>": "",
|
||||
"<2,51>": "",
|
||||
"<2,52>": ""
|
||||
"<2,52>": "",
|
||||
"<2,53>": "",
|
||||
"<2,54>": "",
|
||||
"<2,55>": "",
|
||||
"<2,56>": "",
|
||||
"<2,57>": "",
|
||||
"<2,58>": "",
|
||||
"<2,59>": "",
|
||||
"<2,60>": "",
|
||||
"<2,61>": "",
|
||||
"<2,62>": "0",
|
||||
"<2,63>": "",
|
||||
"<2,64>": "",
|
||||
"<2,65>": "",
|
||||
"<2,66>": "",
|
||||
"<2,67>": "",
|
||||
"<2,68>": "",
|
||||
"<2,69>": "",
|
||||
"<2,70>": "",
|
||||
"<2,71>": "",
|
||||
"<2,72>": "",
|
||||
"<2,73>": "",
|
||||
"<2,74>": "",
|
||||
"<2,75>": "",
|
||||
"<2,76>": "",
|
||||
"<2,77>": "",
|
||||
"<2,78>": "",
|
||||
"<2,79>": "",
|
||||
"<2,80>": "",
|
||||
"<2,81>": "",
|
||||
"<2,82>": "",
|
||||
"<2,83>": "",
|
||||
"<2,84>": "",
|
||||
"<2,85>": "",
|
||||
"<2,86>": "",
|
||||
"<2,87>": "",
|
||||
"<2,88>": "",
|
||||
"<2,89>": "",
|
||||
"<2,90>": "",
|
||||
"<2,91>": "",
|
||||
"<2,92>": "",
|
||||
"<2,93>": "",
|
||||
"<2,94>": "",
|
||||
"<2,95>": "",
|
||||
"<2,96>": "",
|
||||
"<2,97>": "",
|
||||
"<2,98>": "",
|
||||
"<2,99>": "",
|
||||
"<2,100>": "",
|
||||
"<2,101>": "",
|
||||
"<2,102>": "",
|
||||
"<2,103>": "",
|
||||
"<2,104>": "",
|
||||
"<2,105>": "",
|
||||
"<2,106>": "",
|
||||
"<2,107>": "",
|
||||
"<2,108>": ""
|
||||
},
|
||||
"<3>": {
|
||||
"<3,1>": "PUB_EXPORT_TO_EXCEL",
|
||||
@ -281,15 +505,19 @@
|
||||
"<3,8>": "30",
|
||||
"<3,9>": "Export To Excel",
|
||||
"<3,10>": {
|
||||
"<3,10,1>": "0x56002000",
|
||||
"<3,10,1>": "0x56002300",
|
||||
"<3,10,2>": "0x0"
|
||||
},
|
||||
"<3,11>": {
|
||||
"<3,11,1>": "0x100",
|
||||
"<3,11,1>": "0x0",
|
||||
"<3,11,2>": "0x80000000"
|
||||
},
|
||||
"<3,12>": "3",
|
||||
"<3,13>": "-2",
|
||||
"<3,13>": {
|
||||
"<3,13,1>": "-2",
|
||||
"<3,13,2>": "-2",
|
||||
"<3,13,3>": "0"
|
||||
},
|
||||
"<3,14>": "0",
|
||||
"<3,15>": {
|
||||
"<3,15,1>": {
|
||||
@ -327,30 +555,32 @@
|
||||
"<3,18,1,4,8>": "@PARAM6"
|
||||
},
|
||||
"<3,18,1,5>": "",
|
||||
"<3,18,1,6>": ""
|
||||
},
|
||||
"<3,18,2>": ""
|
||||
},
|
||||
"<3,19>": {
|
||||
"<3,19,1>": "CLICK",
|
||||
"<3,19,2>": ""
|
||||
"<3,18,1,6>": "",
|
||||
"<3,18,1,7>": "",
|
||||
"<3,18,1,8>": "",
|
||||
"<3,18,1,9>": "",
|
||||
"<3,18,1,10>": "",
|
||||
"<3,18,1,11>": "",
|
||||
"<3,18,1,12>": "",
|
||||
"<3,18,1,13>": "",
|
||||
"<3,18,1,14>": "",
|
||||
"<3,18,1,15>": "STPROC"
|
||||
}
|
||||
},
|
||||
"<3,19>": "CLICK",
|
||||
"<3,20>": "",
|
||||
"<3,21>": "",
|
||||
"<3,22>": "",
|
||||
"<3,23>": "",
|
||||
"<3,24>": "",
|
||||
"<3,25>": "0",
|
||||
"<3,26>": "0",
|
||||
"<3,25>": "",
|
||||
"<3,26>": "",
|
||||
"<3,27>": "",
|
||||
"<3,28>": "<<None>>",
|
||||
"<3,29>": "<<None>>",
|
||||
"<3,30>": "<<None>>",
|
||||
"<3,31>": "0",
|
||||
"<3,32>": {
|
||||
"<3,32,1>": "0x7fffe",
|
||||
"<3,32,2>": "0xf0016008"
|
||||
},
|
||||
"<3,28>": "",
|
||||
"<3,29>": "",
|
||||
"<3,30>": "",
|
||||
"<3,31>": "",
|
||||
"<3,32>": "",
|
||||
"<3,33>": "",
|
||||
"<3,34>": "",
|
||||
"<3,35>": "",
|
||||
@ -359,7 +589,10 @@
|
||||
"<3,38>": "",
|
||||
"<3,39>": "",
|
||||
"<3,40>": "1",
|
||||
"<3,41>": "",
|
||||
"<3,41>": {
|
||||
"<3,41,1>": "",
|
||||
"<3,41,2>": "-1"
|
||||
},
|
||||
"<3,42>": "",
|
||||
"<3,43>": "",
|
||||
"<3,44>": "",
|
||||
@ -370,7 +603,67 @@
|
||||
"<3,49>": "",
|
||||
"<3,50>": "",
|
||||
"<3,51>": "",
|
||||
"<3,52>": ""
|
||||
"<3,52>": "",
|
||||
"<3,53>": "",
|
||||
"<3,54>": "",
|
||||
"<3,55>": "",
|
||||
"<3,56>": "",
|
||||
"<3,57>": "",
|
||||
"<3,58>": "",
|
||||
"<3,59>": "",
|
||||
"<3,60>": "",
|
||||
"<3,61>": "",
|
||||
"<3,62>": "0",
|
||||
"<3,63>": "",
|
||||
"<3,64>": {
|
||||
"<3,64,1>": "-2",
|
||||
"<3,64,2>": "-2",
|
||||
"<3,64,3>": "0"
|
||||
},
|
||||
"<3,65>": "-2",
|
||||
"<3,66>": "",
|
||||
"<3,67>": "",
|
||||
"<3,68>": "",
|
||||
"<3,69>": "",
|
||||
"<3,70>": "",
|
||||
"<3,71>": "",
|
||||
"<3,72>": "",
|
||||
"<3,73>": "",
|
||||
"<3,74>": "",
|
||||
"<3,75>": "",
|
||||
"<3,76>": "",
|
||||
"<3,77>": "",
|
||||
"<3,78>": "",
|
||||
"<3,79>": "",
|
||||
"<3,80>": "",
|
||||
"<3,81>": "",
|
||||
"<3,82>": "",
|
||||
"<3,83>": "",
|
||||
"<3,84>": "",
|
||||
"<3,85>": "",
|
||||
"<3,86>": "",
|
||||
"<3,87>": "",
|
||||
"<3,88>": "",
|
||||
"<3,89>": "",
|
||||
"<3,90>": "0",
|
||||
"<3,91>": "0",
|
||||
"<3,92>": "",
|
||||
"<3,93>": "",
|
||||
"<3,94>": "",
|
||||
"<3,95>": "",
|
||||
"<3,96>": "",
|
||||
"<3,97>": "",
|
||||
"<3,98>": "",
|
||||
"<3,99>": "",
|
||||
"<3,100>": "",
|
||||
"<3,101>": "",
|
||||
"<3,102>": "",
|
||||
"<3,103>": "",
|
||||
"<3,104>": "",
|
||||
"<3,105>": "",
|
||||
"<3,106>": "",
|
||||
"<3,107>": "",
|
||||
"<3,108>": ""
|
||||
},
|
||||
"<4>": {
|
||||
"<4,1>": "PUB_SEARCH",
|
||||
@ -383,15 +676,19 @@
|
||||
"<4,8>": "30",
|
||||
"<4,9>": "Search",
|
||||
"<4,10>": {
|
||||
"<4,10,1>": "0x56002000",
|
||||
"<4,10,1>": "0x56002300",
|
||||
"<4,10,2>": "0x0"
|
||||
},
|
||||
"<4,11>": {
|
||||
"<4,11,1>": "0x100",
|
||||
"<4,11,1>": "0x0",
|
||||
"<4,11,2>": "0x80000000"
|
||||
},
|
||||
"<4,12>": "4",
|
||||
"<4,13>": "-2",
|
||||
"<4,13>": {
|
||||
"<4,13,1>": "-2",
|
||||
"<4,13,2>": "-2",
|
||||
"<4,13,3>": "0"
|
||||
},
|
||||
"<4,14>": "0",
|
||||
"<4,15>": {
|
||||
"<4,15,1>": {
|
||||
@ -429,30 +726,32 @@
|
||||
"<4,18,1,4,8>": "@PARAM6"
|
||||
},
|
||||
"<4,18,1,5>": "",
|
||||
"<4,18,1,6>": ""
|
||||
},
|
||||
"<4,18,2>": ""
|
||||
},
|
||||
"<4,19>": {
|
||||
"<4,19,1>": "CLICK",
|
||||
"<4,19,2>": ""
|
||||
"<4,18,1,6>": "",
|
||||
"<4,18,1,7>": "",
|
||||
"<4,18,1,8>": "",
|
||||
"<4,18,1,9>": "",
|
||||
"<4,18,1,10>": "",
|
||||
"<4,18,1,11>": "",
|
||||
"<4,18,1,12>": "",
|
||||
"<4,18,1,13>": "",
|
||||
"<4,18,1,14>": "",
|
||||
"<4,18,1,15>": "STPROC"
|
||||
}
|
||||
},
|
||||
"<4,19>": "CLICK",
|
||||
"<4,20>": "",
|
||||
"<4,21>": "",
|
||||
"<4,22>": "",
|
||||
"<4,23>": "",
|
||||
"<4,24>": "",
|
||||
"<4,25>": "0",
|
||||
"<4,26>": "0",
|
||||
"<4,25>": "",
|
||||
"<4,26>": "",
|
||||
"<4,27>": "",
|
||||
"<4,28>": "<<None>>",
|
||||
"<4,29>": "<<None>>",
|
||||
"<4,30>": "<<None>>",
|
||||
"<4,31>": "0",
|
||||
"<4,32>": {
|
||||
"<4,32,1>": "0x7fffe",
|
||||
"<4,32,2>": "0xf0016008"
|
||||
},
|
||||
"<4,28>": "",
|
||||
"<4,29>": "",
|
||||
"<4,30>": "",
|
||||
"<4,31>": "",
|
||||
"<4,32>": "",
|
||||
"<4,33>": "",
|
||||
"<4,34>": "",
|
||||
"<4,35>": "",
|
||||
@ -461,7 +760,10 @@
|
||||
"<4,38>": "",
|
||||
"<4,39>": "",
|
||||
"<4,40>": "1",
|
||||
"<4,41>": "",
|
||||
"<4,41>": {
|
||||
"<4,41,1>": "",
|
||||
"<4,41,2>": "-1"
|
||||
},
|
||||
"<4,42>": "",
|
||||
"<4,43>": "",
|
||||
"<4,44>": "",
|
||||
@ -472,18 +774,71 @@
|
||||
"<4,49>": "",
|
||||
"<4,50>": "",
|
||||
"<4,51>": "",
|
||||
"<4,52>": ""
|
||||
},
|
||||
"<5>": ""
|
||||
"<4,52>": "",
|
||||
"<4,53>": "",
|
||||
"<4,54>": "",
|
||||
"<4,55>": "",
|
||||
"<4,56>": "",
|
||||
"<4,57>": "",
|
||||
"<4,58>": "",
|
||||
"<4,59>": "",
|
||||
"<4,60>": "",
|
||||
"<4,61>": "",
|
||||
"<4,62>": "0",
|
||||
"<4,63>": "",
|
||||
"<4,64>": {
|
||||
"<4,64,1>": "-2",
|
||||
"<4,64,2>": "-2",
|
||||
"<4,64,3>": "0"
|
||||
},
|
||||
"<4,65>": "-2",
|
||||
"<4,66>": "",
|
||||
"<4,67>": "",
|
||||
"<4,68>": "",
|
||||
"<4,69>": "",
|
||||
"<4,70>": "",
|
||||
"<4,71>": "",
|
||||
"<4,72>": "",
|
||||
"<4,73>": "",
|
||||
"<4,74>": "",
|
||||
"<4,75>": "",
|
||||
"<4,76>": "",
|
||||
"<4,77>": "",
|
||||
"<4,78>": "",
|
||||
"<4,79>": "",
|
||||
"<4,80>": "",
|
||||
"<4,81>": "",
|
||||
"<4,82>": "",
|
||||
"<4,83>": "",
|
||||
"<4,84>": "",
|
||||
"<4,85>": "",
|
||||
"<4,86>": "",
|
||||
"<4,87>": "",
|
||||
"<4,88>": "",
|
||||
"<4,89>": "",
|
||||
"<4,90>": "0",
|
||||
"<4,91>": "0",
|
||||
"<4,92>": "",
|
||||
"<4,93>": "",
|
||||
"<4,94>": "",
|
||||
"<4,95>": "",
|
||||
"<4,96>": "",
|
||||
"<4,97>": "",
|
||||
"<4,98>": "",
|
||||
"<4,99>": "",
|
||||
"<4,100>": "",
|
||||
"<4,101>": "",
|
||||
"<4,102>": "",
|
||||
"<4,103>": "",
|
||||
"<4,104>": "",
|
||||
"<4,105>": "",
|
||||
"<4,106>": "",
|
||||
"<4,107>": "",
|
||||
"<4,108>": ""
|
||||
}
|
||||
},
|
||||
"record4": {
|
||||
"<1>": "",
|
||||
"<2>": {
|
||||
"<2,1>": "",
|
||||
"<2,2>": "",
|
||||
"<2,3>": "",
|
||||
"<2,4>": "0"
|
||||
}
|
||||
"<1>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -572,7 +572,7 @@
|
||||
"<3,8>": "28",
|
||||
"<3,9>": "",
|
||||
"<3,10>": {
|
||||
"<3,10,1>": "0x5E000080",
|
||||
"<3,10,1>": "0x5E000088",
|
||||
"<3,10,2>": "0x200"
|
||||
},
|
||||
"<3,11>": {
|
||||
@ -739,7 +739,7 @@
|
||||
"<4,8>": "28",
|
||||
"<4,9>": "",
|
||||
"<4,10>": {
|
||||
"<4,10,1>": "0x5E000080",
|
||||
"<4,10,1>": "0x5E000088",
|
||||
"<4,10,2>": "0x200"
|
||||
},
|
||||
"<4,11>": {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
5207
LSL2/OIWIN/PRS_STAGE_DEFECT_DEFAULTS.json
Normal file
5207
LSL2/OIWIN/PRS_STAGE_DEFECT_DEFAULTS.json
Normal file
File diff suppressed because it is too large
Load Diff
@ -22604,10 +22604,10 @@
|
||||
"<2>": {
|
||||
"<2,1>": {
|
||||
"<2,1,1>": {
|
||||
"<2,1,1,1>": "SEND_MESSAGE.MESSAGE_W/ATTACHMENT",
|
||||
"<2,1,1,2>": "PRINT.CUSTOMER_RDS",
|
||||
"<2,1,1,3>": "PRINT.FACTORY_LABELS",
|
||||
"<2,1,1,4>": "UNLOAD/LOAD_EXTRA.SIGNATURE_INFO"
|
||||
"<2,1,1,1>": "UNLOAD/LOAD_EXTRA.SIGNATURE_INFO",
|
||||
"<2,1,1,2>": "PRINT.FACTORY_LABELS",
|
||||
"<2,1,1,3>": "PRINT.CUSTOMER_RDS",
|
||||
"<2,1,1,4>": "SEND_MESSAGE.MESSAGE_W/ATTACHMENT"
|
||||
}
|
||||
},
|
||||
"<2,2>": {
|
||||
|
||||
@ -3591,7 +3591,7 @@
|
||||
"<22,2>": "",
|
||||
"<22,3>": "EDITFIELD",
|
||||
"<22,4>": "RDS_PRE_EPI",
|
||||
"<22,5>": "366",
|
||||
"<22,5>": "380",
|
||||
"<22,6>": "370",
|
||||
"<22,7>": "132",
|
||||
"<22,8>": "18",
|
||||
@ -3731,7 +3731,7 @@
|
||||
"<23,2>": "",
|
||||
"<23,3>": "EDITFIELD",
|
||||
"<23,4>": "RDS_PRE_EPI",
|
||||
"<23,5>": "505",
|
||||
"<23,5>": "521",
|
||||
"<23,6>": "370",
|
||||
"<23,7>": "84",
|
||||
"<23,8>": "18",
|
||||
@ -3871,7 +3871,7 @@
|
||||
"<24,2>": "",
|
||||
"<24,3>": "EDITFIELD",
|
||||
"<24,4>": "RDS_PRE_EPI",
|
||||
"<24,5>": "593",
|
||||
"<24,5>": "612",
|
||||
"<24,6>": "370",
|
||||
"<24,7>": "75",
|
||||
"<24,8>": "18",
|
||||
@ -9835,9 +9835,9 @@
|
||||
"<56,3>": "PUSHBUTTON",
|
||||
"<56,4>": "RDS_PRE_EPI",
|
||||
"<56,5>": "324",
|
||||
"<56,6>": "370",
|
||||
"<56,7>": "36",
|
||||
"<56,8>": "18",
|
||||
"<56,6>": "368",
|
||||
"<56,7>": "52",
|
||||
"<56,8>": "24",
|
||||
"<56,9>": "Sign",
|
||||
"<56,10>": {
|
||||
"<56,10,1>": "0x56000300",
|
||||
@ -17211,9 +17211,9 @@
|
||||
"<101,2>": "",
|
||||
"<101,3>": "GROUPBOX",
|
||||
"<101,4>": "RDS_PRE_EPI",
|
||||
"<101,5>": "10",
|
||||
"<101,5>": "12",
|
||||
"<101,6>": "268",
|
||||
"<101,7>": "672",
|
||||
"<101,7>": "690",
|
||||
"<101,8>": "129",
|
||||
"<101,9>": "Pre-Epi Verification",
|
||||
"<101,10>": {
|
||||
@ -17917,7 +17917,8 @@
|
||||
"<1,26,16>": "",
|
||||
"<1,26,17>": "",
|
||||
"<1,26,18>": "",
|
||||
"<1,26,19>": ""
|
||||
"<1,26,19>": "",
|
||||
"<1,26,20>": ""
|
||||
},
|
||||
"<1,27>": {
|
||||
"<1,27,1>": "ITEM",
|
||||
@ -17938,7 +17939,8 @@
|
||||
"<1,27,16>": "",
|
||||
"<1,27,17>": "",
|
||||
"<1,27,18>": "",
|
||||
"<1,27,19>": ""
|
||||
"<1,27,19>": "",
|
||||
"<1,27,20>": ""
|
||||
},
|
||||
"<1,28>": {
|
||||
"<1,28,1>": "POPUP",
|
||||
@ -18010,9 +18012,9 @@
|
||||
"<2>": {
|
||||
"<2,1>": {
|
||||
"<2,1,1>": {
|
||||
"<2,1,1,1>": "SEND_MESSAGE.MESSAGE_W/ATTACHMENT",
|
||||
"<2,1,1,1>": "EDIT.THICKNESS_OVERGROWTH_AVG",
|
||||
"<2,1,1,2>": "EDIT.SSI_STANDARDS",
|
||||
"<2,1,1,3>": "EDIT.THICKNESS_OVERGROWTH_AVG"
|
||||
"<2,1,1,3>": "SEND_MESSAGE.MESSAGE_W/ATTACHMENT"
|
||||
}
|
||||
},
|
||||
"<2,2>": {
|
||||
@ -18022,7 +18024,17 @@
|
||||
"<2,2,1,3>": "@WINDOW",
|
||||
"<2,2,1,4>": "",
|
||||
"<2,2,1,5>": "",
|
||||
"<2,2,1,6>": ""
|
||||
"<2,2,1,6>": "",
|
||||
"<2,2,1,7>": "",
|
||||
"<2,2,1,8>": "",
|
||||
"<2,2,1,9>": "",
|
||||
"<2,2,1,10>": "",
|
||||
"<2,2,1,11>": "",
|
||||
"<2,2,1,12>": "",
|
||||
"<2,2,1,13>": "",
|
||||
"<2,2,1,14>": "",
|
||||
"<2,2,1,15>": "READROW",
|
||||
"<2,2,1,16>": "0"
|
||||
},
|
||||
"<2,2,2>": {
|
||||
"<2,2,2,1>": "E",
|
||||
@ -18152,7 +18164,17 @@
|
||||
"<2,2,16,3>": "@WINDOW",
|
||||
"<2,2,16,4>": "",
|
||||
"<2,2,16,5>": "",
|
||||
"<2,2,16,6>": ""
|
||||
"<2,2,16,6>": "",
|
||||
"<2,2,16,7>": "",
|
||||
"<2,2,16,8>": "",
|
||||
"<2,2,16,9>": "",
|
||||
"<2,2,16,10>": "",
|
||||
"<2,2,16,11>": "",
|
||||
"<2,2,16,12>": "",
|
||||
"<2,2,16,13>": "",
|
||||
"<2,2,16,14>": "",
|
||||
"<2,2,16,15>": "GEN",
|
||||
"<2,2,16,16>": "0"
|
||||
}
|
||||
},
|
||||
"<2,3>": {
|
||||
|
||||
16729
LSL2/OIWIN/REACTOR.json
16729
LSL2/OIWIN/REACTOR.json
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -423,7 +423,7 @@
|
||||
"<1,31>": "",
|
||||
"<1,32>": "",
|
||||
"<1,33>": "",
|
||||
"<1,34>": "",
|
||||
"<1,34>": "LSL2*IMAGE*ICO*INFINEON",
|
||||
"<1,35>": "",
|
||||
"<1,36>": "",
|
||||
"<1,37>": {
|
||||
|
||||
@ -78,7 +78,7 @@
|
||||
"<1,31>": "",
|
||||
"<1,32>": "",
|
||||
"<1,33>": "",
|
||||
"<1,34>": "",
|
||||
"<1,34>": "LSL2*IMAGE*ICO*INFINEON",
|
||||
"<1,35>": "",
|
||||
"<1,36>": "",
|
||||
"<1,37>": {
|
||||
@ -18233,7 +18233,7 @@
|
||||
"<120,33>": "",
|
||||
"<120,34>": "",
|
||||
"<120,35>": "",
|
||||
"<120,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<120,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<120,37>": "",
|
||||
"<120,38>": "",
|
||||
"<120,39>": "",
|
||||
@ -18430,7 +18430,7 @@
|
||||
"<121,33>": "",
|
||||
"<121,34>": "",
|
||||
"<121,35>": "",
|
||||
"<121,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<121,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<121,37>": "",
|
||||
"<121,38>": "",
|
||||
"<121,39>": "",
|
||||
@ -18627,7 +18627,7 @@
|
||||
"<122,33>": "",
|
||||
"<122,34>": "",
|
||||
"<122,35>": "",
|
||||
"<122,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<122,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<122,37>": "",
|
||||
"<122,38>": "",
|
||||
"<122,39>": "",
|
||||
@ -18824,7 +18824,7 @@
|
||||
"<123,33>": "",
|
||||
"<123,34>": "",
|
||||
"<123,35>": "",
|
||||
"<123,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<123,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<123,37>": "",
|
||||
"<123,38>": "",
|
||||
"<123,39>": "",
|
||||
@ -19021,7 +19021,7 @@
|
||||
"<124,33>": "",
|
||||
"<124,34>": "",
|
||||
"<124,35>": "",
|
||||
"<124,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<124,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<124,37>": "",
|
||||
"<124,38>": "",
|
||||
"<124,39>": "",
|
||||
@ -19218,7 +19218,7 @@
|
||||
"<125,33>": "",
|
||||
"<125,34>": "",
|
||||
"<125,35>": "",
|
||||
"<125,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<125,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<125,37>": "",
|
||||
"<125,38>": "",
|
||||
"<125,39>": "",
|
||||
@ -19415,7 +19415,7 @@
|
||||
"<126,33>": "",
|
||||
"<126,34>": "",
|
||||
"<126,35>": "",
|
||||
"<126,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<126,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<126,37>": "",
|
||||
"<126,38>": "",
|
||||
"<126,39>": "",
|
||||
@ -19612,7 +19612,7 @@
|
||||
"<127,33>": "",
|
||||
"<127,34>": "",
|
||||
"<127,35>": "",
|
||||
"<127,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<127,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<127,37>": "",
|
||||
"<127,38>": "",
|
||||
"<127,39>": "",
|
||||
@ -19809,7 +19809,7 @@
|
||||
"<128,33>": "",
|
||||
"<128,34>": "",
|
||||
"<128,35>": "",
|
||||
"<128,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<128,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<128,37>": "",
|
||||
"<128,38>": "",
|
||||
"<128,39>": "",
|
||||
@ -20006,7 +20006,7 @@
|
||||
"<129,33>": "",
|
||||
"<129,34>": "",
|
||||
"<129,35>": "",
|
||||
"<129,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<129,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<129,37>": "",
|
||||
"<129,38>": "",
|
||||
"<129,39>": "",
|
||||
@ -20203,7 +20203,7 @@
|
||||
"<130,33>": "",
|
||||
"<130,34>": "",
|
||||
"<130,35>": "",
|
||||
"<130,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<130,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<130,37>": "",
|
||||
"<130,38>": "",
|
||||
"<130,39>": "",
|
||||
@ -20400,7 +20400,7 @@
|
||||
"<131,33>": "",
|
||||
"<131,34>": "",
|
||||
"<131,35>": "",
|
||||
"<131,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<131,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<131,37>": "",
|
||||
"<131,38>": "",
|
||||
"<131,39>": "",
|
||||
@ -20597,7 +20597,7 @@
|
||||
"<132,33>": "",
|
||||
"<132,34>": "",
|
||||
"<132,35>": "",
|
||||
"<132,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<132,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<132,37>": "",
|
||||
"<132,38>": "",
|
||||
"<132,39>": "",
|
||||
@ -20794,7 +20794,7 @@
|
||||
"<133,33>": "",
|
||||
"<133,34>": "",
|
||||
"<133,35>": "",
|
||||
"<133,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<133,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<133,37>": "",
|
||||
"<133,38>": "",
|
||||
"<133,39>": "",
|
||||
@ -20991,7 +20991,7 @@
|
||||
"<134,33>": "",
|
||||
"<134,34>": "",
|
||||
"<134,35>": "",
|
||||
"<134,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<134,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<134,37>": "",
|
||||
"<134,38>": "",
|
||||
"<134,39>": "",
|
||||
@ -21188,7 +21188,7 @@
|
||||
"<135,33>": "",
|
||||
"<135,34>": "",
|
||||
"<135,35>": "",
|
||||
"<135,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<135,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<135,37>": "",
|
||||
"<135,38>": "",
|
||||
"<135,39>": "",
|
||||
@ -21385,7 +21385,7 @@
|
||||
"<136,33>": "",
|
||||
"<136,34>": "",
|
||||
"<136,35>": "",
|
||||
"<136,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<136,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<136,37>": "",
|
||||
"<136,38>": "",
|
||||
"<136,39>": "",
|
||||
@ -21582,7 +21582,7 @@
|
||||
"<137,33>": "",
|
||||
"<137,34>": "",
|
||||
"<137,35>": "",
|
||||
"<137,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<137,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<137,37>": "",
|
||||
"<137,38>": "",
|
||||
"<137,39>": "",
|
||||
@ -21779,7 +21779,7 @@
|
||||
"<138,33>": "",
|
||||
"<138,34>": "",
|
||||
"<138,35>": "",
|
||||
"<138,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<138,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<138,37>": "",
|
||||
"<138,38>": "",
|
||||
"<138,39>": "",
|
||||
@ -21976,7 +21976,7 @@
|
||||
"<139,33>": "",
|
||||
"<139,34>": "",
|
||||
"<139,35>": "",
|
||||
"<139,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<139,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<139,37>": "",
|
||||
"<139,38>": "",
|
||||
"<139,39>": "",
|
||||
@ -22173,7 +22173,7 @@
|
||||
"<140,33>": "",
|
||||
"<140,34>": "",
|
||||
"<140,35>": "",
|
||||
"<140,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<140,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<140,37>": "",
|
||||
"<140,38>": "",
|
||||
"<140,39>": "",
|
||||
@ -22370,7 +22370,7 @@
|
||||
"<141,33>": "",
|
||||
"<141,34>": "",
|
||||
"<141,35>": "",
|
||||
"<141,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<141,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<141,37>": "",
|
||||
"<141,38>": "",
|
||||
"<141,39>": "",
|
||||
@ -22567,7 +22567,7 @@
|
||||
"<142,33>": "",
|
||||
"<142,34>": "",
|
||||
"<142,35>": "",
|
||||
"<142,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<142,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<142,37>": "",
|
||||
"<142,38>": "",
|
||||
"<142,39>": "",
|
||||
@ -22764,7 +22764,7 @@
|
||||
"<143,33>": "",
|
||||
"<143,34>": "",
|
||||
"<143,35>": "",
|
||||
"<143,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<143,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<143,37>": "",
|
||||
"<143,38>": "",
|
||||
"<143,39>": "",
|
||||
@ -22961,7 +22961,7 @@
|
||||
"<144,33>": "",
|
||||
"<144,34>": "",
|
||||
"<144,35>": "",
|
||||
"<144,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<144,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<144,37>": "",
|
||||
"<144,38>": "",
|
||||
"<144,39>": "",
|
||||
@ -23158,7 +23158,7 @@
|
||||
"<145,33>": "",
|
||||
"<145,34>": "",
|
||||
"<145,35>": "",
|
||||
"<145,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<145,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<145,37>": "",
|
||||
"<145,38>": "",
|
||||
"<145,39>": "",
|
||||
@ -23355,7 +23355,7 @@
|
||||
"<146,33>": "",
|
||||
"<146,34>": "",
|
||||
"<146,35>": "",
|
||||
"<146,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<146,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<146,37>": "",
|
||||
"<146,38>": "",
|
||||
"<146,39>": "",
|
||||
@ -23552,7 +23552,7 @@
|
||||
"<147,33>": "",
|
||||
"<147,34>": "",
|
||||
"<147,35>": "",
|
||||
"<147,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<147,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<147,37>": "",
|
||||
"<147,38>": "",
|
||||
"<147,39>": "",
|
||||
@ -23749,7 +23749,7 @@
|
||||
"<148,33>": "",
|
||||
"<148,34>": "",
|
||||
"<148,35>": "",
|
||||
"<148,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<148,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<148,37>": "",
|
||||
"<148,38>": "",
|
||||
"<148,39>": "",
|
||||
@ -23946,7 +23946,7 @@
|
||||
"<149,33>": "",
|
||||
"<149,34>": "",
|
||||
"<149,35>": "",
|
||||
"<149,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<149,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<149,37>": "",
|
||||
"<149,38>": "",
|
||||
"<149,39>": "",
|
||||
@ -24293,7 +24293,7 @@
|
||||
"<151,33>": "",
|
||||
"<151,34>": "",
|
||||
"<151,35>": "",
|
||||
"<151,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<151,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<151,37>": "",
|
||||
"<151,38>": "",
|
||||
"<151,39>": "",
|
||||
@ -24490,7 +24490,7 @@
|
||||
"<152,33>": "",
|
||||
"<152,34>": "",
|
||||
"<152,35>": "",
|
||||
"<152,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<152,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<152,37>": "",
|
||||
"<152,38>": "",
|
||||
"<152,39>": "",
|
||||
@ -24687,7 +24687,7 @@
|
||||
"<153,33>": "",
|
||||
"<153,34>": "",
|
||||
"<153,35>": "",
|
||||
"<153,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<153,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<153,37>": "",
|
||||
"<153,38>": "",
|
||||
"<153,39>": "",
|
||||
@ -24884,7 +24884,7 @@
|
||||
"<154,33>": "",
|
||||
"<154,34>": "",
|
||||
"<154,35>": "",
|
||||
"<154,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<154,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<154,37>": "",
|
||||
"<154,38>": "",
|
||||
"<154,39>": "",
|
||||
@ -25081,7 +25081,7 @@
|
||||
"<155,33>": "",
|
||||
"<155,34>": "",
|
||||
"<155,35>": "",
|
||||
"<155,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<155,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<155,37>": "",
|
||||
"<155,38>": "",
|
||||
"<155,39>": "",
|
||||
@ -25278,7 +25278,7 @@
|
||||
"<156,33>": "",
|
||||
"<156,34>": "",
|
||||
"<156,35>": "",
|
||||
"<156,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<156,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<156,37>": "",
|
||||
"<156,38>": "",
|
||||
"<156,39>": "",
|
||||
@ -25475,7 +25475,7 @@
|
||||
"<157,33>": "",
|
||||
"<157,34>": "",
|
||||
"<157,35>": "",
|
||||
"<157,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<157,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<157,37>": "",
|
||||
"<157,38>": "",
|
||||
"<157,39>": "",
|
||||
@ -25672,7 +25672,7 @@
|
||||
"<158,33>": "",
|
||||
"<158,34>": "",
|
||||
"<158,35>": "",
|
||||
"<158,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<158,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<158,37>": "",
|
||||
"<158,38>": "",
|
||||
"<158,39>": "",
|
||||
@ -25869,7 +25869,7 @@
|
||||
"<159,33>": "",
|
||||
"<159,34>": "",
|
||||
"<159,35>": "",
|
||||
"<159,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<159,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<159,37>": "",
|
||||
"<159,38>": "",
|
||||
"<159,39>": "",
|
||||
@ -26066,7 +26066,7 @@
|
||||
"<160,33>": "",
|
||||
"<160,34>": "",
|
||||
"<160,35>": "",
|
||||
"<160,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<160,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<160,37>": "",
|
||||
"<160,38>": "",
|
||||
"<160,39>": "",
|
||||
@ -26263,7 +26263,7 @@
|
||||
"<161,33>": "",
|
||||
"<161,34>": "",
|
||||
"<161,35>": "",
|
||||
"<161,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<161,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<161,37>": "",
|
||||
"<161,38>": "",
|
||||
"<161,39>": "",
|
||||
@ -26460,7 +26460,7 @@
|
||||
"<162,33>": "",
|
||||
"<162,34>": "",
|
||||
"<162,35>": "",
|
||||
"<162,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<162,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<162,37>": "",
|
||||
"<162,38>": "",
|
||||
"<162,39>": "",
|
||||
@ -26657,7 +26657,7 @@
|
||||
"<163,33>": "",
|
||||
"<163,34>": "",
|
||||
"<163,35>": "",
|
||||
"<163,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<163,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<163,37>": "",
|
||||
"<163,38>": "",
|
||||
"<163,39>": "",
|
||||
@ -26854,7 +26854,7 @@
|
||||
"<164,33>": "",
|
||||
"<164,34>": "",
|
||||
"<164,35>": "",
|
||||
"<164,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<164,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<164,37>": "",
|
||||
"<164,38>": "",
|
||||
"<164,39>": "",
|
||||
@ -27051,7 +27051,7 @@
|
||||
"<165,33>": "",
|
||||
"<165,34>": "",
|
||||
"<165,35>": "",
|
||||
"<165,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<165,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<165,37>": "",
|
||||
"<165,38>": "",
|
||||
"<165,39>": "",
|
||||
@ -27248,7 +27248,7 @@
|
||||
"<166,33>": "",
|
||||
"<166,34>": "",
|
||||
"<166,35>": "",
|
||||
"<166,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<166,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<166,37>": "",
|
||||
"<166,38>": "",
|
||||
"<166,39>": "",
|
||||
@ -27445,7 +27445,7 @@
|
||||
"<167,33>": "",
|
||||
"<167,34>": "",
|
||||
"<167,35>": "",
|
||||
"<167,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<167,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<167,37>": "",
|
||||
"<167,38>": "",
|
||||
"<167,39>": "",
|
||||
@ -27642,7 +27642,7 @@
|
||||
"<168,33>": "",
|
||||
"<168,34>": "",
|
||||
"<168,35>": "",
|
||||
"<168,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<168,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<168,37>": "",
|
||||
"<168,38>": "",
|
||||
"<168,39>": "",
|
||||
@ -27839,7 +27839,7 @@
|
||||
"<169,33>": "",
|
||||
"<169,34>": "",
|
||||
"<169,35>": "",
|
||||
"<169,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<169,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<169,37>": "",
|
||||
"<169,38>": "",
|
||||
"<169,39>": "",
|
||||
@ -28036,7 +28036,7 @@
|
||||
"<170,33>": "",
|
||||
"<170,34>": "",
|
||||
"<170,35>": "",
|
||||
"<170,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<170,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<170,37>": "",
|
||||
"<170,38>": "",
|
||||
"<170,39>": "",
|
||||
@ -28233,7 +28233,7 @@
|
||||
"<171,33>": "",
|
||||
"<171,34>": "",
|
||||
"<171,35>": "",
|
||||
"<171,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<171,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<171,37>": "",
|
||||
"<171,38>": "",
|
||||
"<171,39>": "",
|
||||
@ -28430,7 +28430,7 @@
|
||||
"<172,33>": "",
|
||||
"<172,34>": "",
|
||||
"<172,35>": "",
|
||||
"<172,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<172,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<172,37>": "",
|
||||
"<172,38>": "",
|
||||
"<172,39>": "",
|
||||
@ -28627,7 +28627,7 @@
|
||||
"<173,33>": "",
|
||||
"<173,34>": "",
|
||||
"<173,35>": "",
|
||||
"<173,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<173,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<173,37>": "",
|
||||
"<173,38>": "",
|
||||
"<173,39>": "",
|
||||
@ -28824,7 +28824,7 @@
|
||||
"<174,33>": "",
|
||||
"<174,34>": "",
|
||||
"<174,35>": "",
|
||||
"<174,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<174,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<174,37>": "",
|
||||
"<174,38>": "",
|
||||
"<174,39>": "",
|
||||
@ -29021,7 +29021,7 @@
|
||||
"<175,33>": "",
|
||||
"<175,34>": "",
|
||||
"<175,35>": "",
|
||||
"<175,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<175,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<175,37>": "",
|
||||
"<175,38>": "",
|
||||
"<175,39>": "",
|
||||
@ -29218,7 +29218,7 @@
|
||||
"<176,33>": "",
|
||||
"<176,34>": "",
|
||||
"<176,35>": "",
|
||||
"<176,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<176,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<176,37>": "",
|
||||
"<176,38>": "",
|
||||
"<176,39>": "",
|
||||
@ -29415,7 +29415,7 @@
|
||||
"<177,33>": "",
|
||||
"<177,34>": "",
|
||||
"<177,35>": "",
|
||||
"<177,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<177,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<177,37>": "",
|
||||
"<177,38>": "",
|
||||
"<177,39>": "",
|
||||
@ -29612,7 +29612,7 @@
|
||||
"<178,33>": "",
|
||||
"<178,34>": "",
|
||||
"<178,35>": "",
|
||||
"<178,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<178,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<178,37>": "",
|
||||
"<178,38>": "",
|
||||
"<178,39>": "",
|
||||
@ -29809,7 +29809,7 @@
|
||||
"<179,33>": "",
|
||||
"<179,34>": "",
|
||||
"<179,35>": "",
|
||||
"<179,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<179,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<179,37>": "",
|
||||
"<179,38>": "",
|
||||
"<179,39>": "",
|
||||
@ -30006,7 +30006,7 @@
|
||||
"<180,33>": "",
|
||||
"<180,34>": "",
|
||||
"<180,35>": "",
|
||||
"<180,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF205300650067006F006500200055004900FCF03000FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<180,36>": "05000000000000000000000032000000FFFEFF044E006F006E006500FFFEFF0341006C006C00FFFEFF044E006F006E006500FFFEFF044E006F006E0065000100000001000000FFFEFF0D430065006E00740065007200FEF0430065006E00740065007200FFFEFF162E005C0042004D00500053005C004100630074006900760065005F0030003300310031002E0070006E006700FFFEFF075300740072006500740063006800FFFEFF044100750074006F00FFFEFF00FFFEFF044E006F006E006500FFFEFF225300650067006F006500200055004900FCF02D0031003100FCF0340030003000FCF03000FCF03000FCF03000FCF03100FCF03000FCF03000FCF03000FCF03000FCF03000000000000000F03FFFFEFF0D430065006E00740065007200FEF0430065006E007400650072000000000000000000000000000000000001000000",
|
||||
"<180,37>": "",
|
||||
"<180,38>": "",
|
||||
"<180,39>": "",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
445
LSL2/OIWIN/WEB_OI_WIZARD.json
Normal file
445
LSL2/OIWIN/WEB_OI_WIZARD.json
Normal file
@ -0,0 +1,445 @@
|
||||
{
|
||||
"header": {
|
||||
"version": 1,
|
||||
"type": "record"
|
||||
},
|
||||
"body": {
|
||||
"record1": {
|
||||
"<1>": "1010",
|
||||
"<2>": "1",
|
||||
"<3>": ""
|
||||
},
|
||||
"record2": {
|
||||
"<1>": {
|
||||
"<1,1>": "WEB_OI_WIZARD",
|
||||
"<1,2>": "",
|
||||
"<1,3>": "WINDOW",
|
||||
"<1,4>": "",
|
||||
"<1,5>": "0",
|
||||
"<1,6>": "0",
|
||||
"<1,7>": "-1184",
|
||||
"<1,8>": "-761",
|
||||
"<1,9>": "OI Wizard",
|
||||
"<1,10>": {
|
||||
"<1,10,1>": "0x84CF0000",
|
||||
"<1,10,2>": "0x100"
|
||||
},
|
||||
"<1,11>": {
|
||||
"<1,11,1>": "0xC000",
|
||||
"<1,11,2>": "0x80000000"
|
||||
},
|
||||
"<1,12>": "",
|
||||
"<1,13>": {
|
||||
"<1,13,1>": "-2",
|
||||
"<1,13,2>": "-2",
|
||||
"<1,13,3>": ""
|
||||
},
|
||||
"<1,14>": "",
|
||||
"<1,15>": "",
|
||||
"<1,16>": "",
|
||||
"<1,17>": "",
|
||||
"<1,18>": {
|
||||
"<1,18,1>": {
|
||||
"<1,18,1,1>": "X",
|
||||
"<1,18,1,2>": "EXECUTE",
|
||||
"<1,18,1,3>": "@WINDOW_EVENTS",
|
||||
"<1,18,1,4>": {
|
||||
"<1,18,1,4,1>": "@SELF",
|
||||
"<1,18,1,4,2>": "@EVENT",
|
||||
"<1,18,1,4,3>": "@PARAM1",
|
||||
"<1,18,1,4,4>": "@PARAM2",
|
||||
"<1,18,1,4,5>": "@PARAM3",
|
||||
"<1,18,1,4,6>": "@PARAM4",
|
||||
"<1,18,1,4,7>": "@PARAM5",
|
||||
"<1,18,1,4,8>": "@PARAM6"
|
||||
},
|
||||
"<1,18,1,5>": "",
|
||||
"<1,18,1,6>": "",
|
||||
"<1,18,1,7>": "",
|
||||
"<1,18,1,8>": "",
|
||||
"<1,18,1,9>": "",
|
||||
"<1,18,1,10>": "",
|
||||
"<1,18,1,11>": "",
|
||||
"<1,18,1,12>": "",
|
||||
"<1,18,1,13>": "",
|
||||
"<1,18,1,14>": "",
|
||||
"<1,18,1,15>": "COMMEVT",
|
||||
"<1,18,1,16>": "0"
|
||||
},
|
||||
"<1,18,2>": {
|
||||
"<1,18,2,1>": "X",
|
||||
"<1,18,2,2>": "EXECUTE",
|
||||
"<1,18,2,3>": "@WINDOW_EVENTS",
|
||||
"<1,18,2,4>": {
|
||||
"<1,18,2,4,1>": "@SELF",
|
||||
"<1,18,2,4,2>": "@EVENT",
|
||||
"<1,18,2,4,3>": "@PARAM1",
|
||||
"<1,18,2,4,4>": "@PARAM2",
|
||||
"<1,18,2,4,5>": "@PARAM3",
|
||||
"<1,18,2,4,6>": "@PARAM4",
|
||||
"<1,18,2,4,7>": "@PARAM5",
|
||||
"<1,18,2,4,8>": "@PARAM6"
|
||||
},
|
||||
"<1,18,2,5>": "",
|
||||
"<1,18,2,6>": "",
|
||||
"<1,18,2,7>": "",
|
||||
"<1,18,2,8>": "",
|
||||
"<1,18,2,9>": "",
|
||||
"<1,18,2,10>": "",
|
||||
"<1,18,2,11>": "",
|
||||
"<1,18,2,12>": "",
|
||||
"<1,18,2,13>": "",
|
||||
"<1,18,2,14>": "",
|
||||
"<1,18,2,15>": "COMMEVT",
|
||||
"<1,18,2,16>": "0"
|
||||
}
|
||||
},
|
||||
"<1,19>": {
|
||||
"<1,19,1>": "CREATE",
|
||||
"<1,19,2>": "TIMER"
|
||||
},
|
||||
"<1,20>": "",
|
||||
"<1,21>": "",
|
||||
"<1,22>": "",
|
||||
"<1,23>": "",
|
||||
"<1,24>": {
|
||||
"<1,24,1>": "",
|
||||
"<1,24,2>": "0",
|
||||
"<1,24,3>": "0",
|
||||
"<1,24,4>": "0",
|
||||
"<1,24,5>": "",
|
||||
"<1,24,6>": "0",
|
||||
"<1,24,7>": "",
|
||||
"<1,24,8>": "",
|
||||
"<1,24,9>": "",
|
||||
"<1,24,10>": "0",
|
||||
"<1,24,11>": "0",
|
||||
"<1,24,12>": "0",
|
||||
"<1,24,13>": "0",
|
||||
"<1,24,14>": "0",
|
||||
"<1,24,15>": "0",
|
||||
"<1,24,16>": "0",
|
||||
"<1,24,17>": "0"
|
||||
},
|
||||
"<1,25>": "",
|
||||
"<1,26>": "",
|
||||
"<1,27>": "",
|
||||
"<1,28>": "",
|
||||
"<1,29>": "",
|
||||
"<1,30>": "",
|
||||
"<1,31>": "",
|
||||
"<1,32>": "",
|
||||
"<1,33>": "",
|
||||
"<1,34>": "LSL2*IMAGE*ICO*INFINEON",
|
||||
"<1,35>": "",
|
||||
"<1,36>": "",
|
||||
"<1,37>": {
|
||||
"<1,37,1>": "0X10001",
|
||||
"<1,37,2>": "0X10001"
|
||||
},
|
||||
"<1,38>": "",
|
||||
"<1,39>": "",
|
||||
"<1,40>": "",
|
||||
"<1,41>": "",
|
||||
"<1,42>": "",
|
||||
"<1,43>": "",
|
||||
"<1,44>": "",
|
||||
"<1,45>": "",
|
||||
"<1,46>": "",
|
||||
"<1,47>": "",
|
||||
"<1,48>": "",
|
||||
"<1,49>": "",
|
||||
"<1,50>": "",
|
||||
"<1,51>": "",
|
||||
"<1,52>": "",
|
||||
"<1,53>": "",
|
||||
"<1,54>": "",
|
||||
"<1,55>": "",
|
||||
"<1,56>": "",
|
||||
"<1,57>": "",
|
||||
"<1,58>": "",
|
||||
"<1,59>": "",
|
||||
"<1,60>": "",
|
||||
"<1,61>": "",
|
||||
"<1,62>": {
|
||||
"<1,62,1>": "0",
|
||||
"<1,62,2>": "",
|
||||
"<1,62,3>": "",
|
||||
"<1,62,4>": "1",
|
||||
"<1,62,5>": "0",
|
||||
"<1,62,6>": "0",
|
||||
"<1,62,7>": "",
|
||||
"<1,62,8>": "0.50",
|
||||
"<1,62,9>": "5.00",
|
||||
"<1,62,10>": "0.00"
|
||||
},
|
||||
"<1,63>": "",
|
||||
"<1,64>": "",
|
||||
"<1,65>": "",
|
||||
"<1,66>": "",
|
||||
"<1,67>": "",
|
||||
"<1,68>": "",
|
||||
"<1,69>": "",
|
||||
"<1,70>": "",
|
||||
"<1,71>": "",
|
||||
"<1,72>": "",
|
||||
"<1,73>": "",
|
||||
"<1,74>": "",
|
||||
"<1,75>": "",
|
||||
"<1,76>": "",
|
||||
"<1,77>": "",
|
||||
"<1,78>": "",
|
||||
"<1,79>": "",
|
||||
"<1,80>": "",
|
||||
"<1,81>": "",
|
||||
"<1,82>": "",
|
||||
"<1,83>": "",
|
||||
"<1,84>": "",
|
||||
"<1,85>": "",
|
||||
"<1,86>": "",
|
||||
"<1,87>": "",
|
||||
"<1,88>": "",
|
||||
"<1,89>": "",
|
||||
"<1,90>": "",
|
||||
"<1,91>": "",
|
||||
"<1,92>": "",
|
||||
"<1,93>": "",
|
||||
"<1,94>": "",
|
||||
"<1,95>": "",
|
||||
"<1,96>": "",
|
||||
"<1,97>": "",
|
||||
"<1,98>": "",
|
||||
"<1,99>": "",
|
||||
"<1,100>": "",
|
||||
"<1,101>": "",
|
||||
"<1,102>": "",
|
||||
"<1,103>": "",
|
||||
"<1,104>": "",
|
||||
"<1,105>": "",
|
||||
"<1,106>": "0",
|
||||
"<1,107>": "",
|
||||
"<1,108>": ""
|
||||
}
|
||||
},
|
||||
"record3": {
|
||||
"<1>": {
|
||||
"<1,1>": "WEBVIEW_MAIN",
|
||||
"<1,2>": "",
|
||||
"<1,3>": "WEBVIEW",
|
||||
"<1,4>": "WEB_OI_WIZARD",
|
||||
"<1,5>": "9",
|
||||
"<1,6>": "8",
|
||||
"<1,7>": "1167",
|
||||
"<1,8>": "745",
|
||||
"<1,9>": "",
|
||||
"<1,10>": {
|
||||
"<1,10,1>": "0x56000000",
|
||||
"<1,10,2>": "0x0"
|
||||
},
|
||||
"<1,11>": {
|
||||
"<1,11,1>": "0x4",
|
||||
"<1,11,2>": "0x80000000"
|
||||
},
|
||||
"<1,12>": "1",
|
||||
"<1,13>": {
|
||||
"<1,13,1>": "-2",
|
||||
"<1,13,2>": "-2",
|
||||
"<1,13,3>": ""
|
||||
},
|
||||
"<1,14>": "",
|
||||
"<1,15>": "",
|
||||
"<1,16>": "",
|
||||
"<1,17>": "",
|
||||
"<1,18>": {
|
||||
"<1,18,1>": {
|
||||
"<1,18,1,1>": "X",
|
||||
"<1,18,1,2>": "EXECUTE",
|
||||
"<1,18,1,3>": "@WINDOW_EVENTS",
|
||||
"<1,18,1,4>": {
|
||||
"<1,18,1,4,1>": "@SELF",
|
||||
"<1,18,1,4,2>": "@EVENT",
|
||||
"<1,18,1,4,3>": "@PARAM1",
|
||||
"<1,18,1,4,4>": "@PARAM2",
|
||||
"<1,18,1,4,5>": "@PARAM3",
|
||||
"<1,18,1,4,6>": "@PARAM4",
|
||||
"<1,18,1,4,7>": "@PARAM5",
|
||||
"<1,18,1,4,8>": "@PARAM6"
|
||||
},
|
||||
"<1,18,1,5>": "",
|
||||
"<1,18,1,6>": "",
|
||||
"<1,18,1,7>": "",
|
||||
"<1,18,1,8>": "",
|
||||
"<1,18,1,9>": "",
|
||||
"<1,18,1,10>": "",
|
||||
"<1,18,1,11>": "",
|
||||
"<1,18,1,12>": "",
|
||||
"<1,18,1,13>": "",
|
||||
"<1,18,1,14>": "",
|
||||
"<1,18,1,15>": "COMMEVT",
|
||||
"<1,18,1,16>": "0"
|
||||
},
|
||||
"<1,18,2>": {
|
||||
"<1,18,2,1>": "X",
|
||||
"<1,18,2,2>": "EXECUTE",
|
||||
"<1,18,2,3>": "@WINDOW_EVENTS",
|
||||
"<1,18,2,4>": {
|
||||
"<1,18,2,4,1>": "@SELF",
|
||||
"<1,18,2,4,2>": "@EVENT",
|
||||
"<1,18,2,4,3>": "@PARAM1",
|
||||
"<1,18,2,4,4>": "@PARAM2",
|
||||
"<1,18,2,4,5>": "@PARAM3",
|
||||
"<1,18,2,4,6>": "@PARAM4",
|
||||
"<1,18,2,4,7>": "@PARAM5",
|
||||
"<1,18,2,4,8>": "@PARAM6"
|
||||
},
|
||||
"<1,18,2,5>": "",
|
||||
"<1,18,2,6>": "",
|
||||
"<1,18,2,7>": "",
|
||||
"<1,18,2,8>": "",
|
||||
"<1,18,2,9>": "",
|
||||
"<1,18,2,10>": "",
|
||||
"<1,18,2,11>": "",
|
||||
"<1,18,2,12>": "",
|
||||
"<1,18,2,13>": "",
|
||||
"<1,18,2,14>": "",
|
||||
"<1,18,2,15>": "COMMEVT",
|
||||
"<1,18,2,16>": "0"
|
||||
}
|
||||
},
|
||||
"<1,19>": {
|
||||
"<1,19,1>": "WEBVIEWCREATED",
|
||||
"<1,19,2>": "WEBNAVIGATED"
|
||||
},
|
||||
"<1,20>": "",
|
||||
"<1,21>": "",
|
||||
"<1,22>": "",
|
||||
"<1,23>": "",
|
||||
"<1,24>": "",
|
||||
"<1,25>": "",
|
||||
"<1,26>": "",
|
||||
"<1,27>": "",
|
||||
"<1,28>": "",
|
||||
"<1,29>": "",
|
||||
"<1,30>": "",
|
||||
"<1,31>": "",
|
||||
"<1,32>": "",
|
||||
"<1,33>": "",
|
||||
"<1,34>": "",
|
||||
"<1,35>": "",
|
||||
"<1,36>": "",
|
||||
"<1,37>": "",
|
||||
"<1,38>": "",
|
||||
"<1,39>": "",
|
||||
"<1,40>": "",
|
||||
"<1,41>": "",
|
||||
"<1,42>": "",
|
||||
"<1,43>": "",
|
||||
"<1,44>": "",
|
||||
"<1,45>": "",
|
||||
"<1,46>": "",
|
||||
"<1,47>": "",
|
||||
"<1,48>": "",
|
||||
"<1,49>": "",
|
||||
"<1,50>": "",
|
||||
"<1,51>": "",
|
||||
"<1,52>": "",
|
||||
"<1,53>": "",
|
||||
"<1,54>": "",
|
||||
"<1,55>": "",
|
||||
"<1,56>": "",
|
||||
"<1,57>": "",
|
||||
"<1,58>": {
|
||||
"<1,58,1>": "1",
|
||||
"<1,58,2>": "1",
|
||||
"<1,58,3>": "1",
|
||||
"<1,58,4>": "1",
|
||||
"<1,58,5>": "1",
|
||||
"<1,58,6>": "0",
|
||||
"<1,58,7>": "1",
|
||||
"<1,58,8>": "1",
|
||||
"<1,58,9>": "1",
|
||||
"<1,58,10>": "1",
|
||||
"<1,58,11>": "1",
|
||||
"<1,58,12>": "1",
|
||||
"<1,58,13>": "1"
|
||||
},
|
||||
"<1,59>": "",
|
||||
"<1,60>": "",
|
||||
"<1,61>": "",
|
||||
"<1,62>": "",
|
||||
"<1,63>": "",
|
||||
"<1,64>": "",
|
||||
"<1,65>": "",
|
||||
"<1,66>": "",
|
||||
"<1,67>": "",
|
||||
"<1,68>": "",
|
||||
"<1,69>": "",
|
||||
"<1,70>": "",
|
||||
"<1,71>": "",
|
||||
"<1,72>": "",
|
||||
"<1,73>": "",
|
||||
"<1,74>": "",
|
||||
"<1,75>": "",
|
||||
"<1,76>": "",
|
||||
"<1,77>": "",
|
||||
"<1,78>": "",
|
||||
"<1,79>": "",
|
||||
"<1,80>": "",
|
||||
"<1,81>": "",
|
||||
"<1,82>": "",
|
||||
"<1,83>": "",
|
||||
"<1,84>": "",
|
||||
"<1,85>": "",
|
||||
"<1,86>": "",
|
||||
"<1,87>": "",
|
||||
"<1,88>": "",
|
||||
"<1,89>": "",
|
||||
"<1,90>": "",
|
||||
"<1,91>": "",
|
||||
"<1,92>": "",
|
||||
"<1,93>": "",
|
||||
"<1,94>": {
|
||||
"<1,94,1>": "",
|
||||
"<1,94,2>": "",
|
||||
"<1,94,3>": "",
|
||||
"<1,94,4>": "0",
|
||||
"<1,94,5>": "",
|
||||
"<1,94,6>": "",
|
||||
"<1,94,7>": "0",
|
||||
"<1,94,8>": "",
|
||||
"<1,94,9>": "0",
|
||||
"<1,94,10>": "0"
|
||||
},
|
||||
"<1,95>": {
|
||||
"<1,95,1>": "0",
|
||||
"<1,95,2>": "0",
|
||||
"<1,95,3>": "0",
|
||||
"<1,95,4>": "0",
|
||||
"<1,95,5>": "0",
|
||||
"<1,95,6>": "0",
|
||||
"<1,95,7>": "0",
|
||||
"<1,95,8>": "0",
|
||||
"<1,95,9>": "0",
|
||||
"<1,95,10>": "0",
|
||||
"<1,95,11>": "0"
|
||||
},
|
||||
"<1,96>": "",
|
||||
"<1,97>": "",
|
||||
"<1,98>": "",
|
||||
"<1,99>": "",
|
||||
"<1,100>": "",
|
||||
"<1,101>": "",
|
||||
"<1,102>": "",
|
||||
"<1,103>": "",
|
||||
"<1,104>": "",
|
||||
"<1,105>": "",
|
||||
"<1,106>": "",
|
||||
"<1,107>": "",
|
||||
"<1,108>": ""
|
||||
}
|
||||
},
|
||||
"record4": {
|
||||
"<1>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -6655,13 +6655,6 @@
|
||||
"<41,35,3,3>": "",
|
||||
"<41,35,3,4>": "",
|
||||
"<41,35,3,5>": ""
|
||||
},
|
||||
"<41,35,4>": {
|
||||
"<41,35,4,1>": "",
|
||||
"<41,35,4,2>": "",
|
||||
"<41,35,4,3>": "",
|
||||
"<41,35,4,4>": "",
|
||||
"<41,35,4,5>": ""
|
||||
}
|
||||
},
|
||||
"<41,36>": "",
|
||||
@ -7886,7 +7879,7 @@
|
||||
"<45,10,2>": "0x200"
|
||||
},
|
||||
"<45,11>": {
|
||||
"<45,11,1>": "0x0",
|
||||
"<45,11,1>": "0x80000",
|
||||
"<45,11,2>": "0x80000000"
|
||||
},
|
||||
"<45,12>": "45",
|
||||
@ -7922,7 +7915,7 @@
|
||||
"<45,21>": "",
|
||||
"<45,22>": "",
|
||||
"<45,23>": "WM_OUT",
|
||||
"<45,24>": "SPECIAL_INST",
|
||||
"<45,24>": "SPEC_INST",
|
||||
"<45,25>": "",
|
||||
"<45,26>": "",
|
||||
"<45,27>": "",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -40,7 +40,7 @@
|
||||
"<8,2>": {
|
||||
"<8,2,1>": "MET",
|
||||
"<8,2,2>": "Metrology",
|
||||
"<8,2,3>": "TODD_C, JEANNE_M"
|
||||
"<8,2,3>": "TODD_C, JEANNE_M, JFUENTE1, JUSTIN_H, JONATHON_S, MARROQUINBRA, TIFFANY_M"
|
||||
},
|
||||
"<8,3>": {
|
||||
"<8,3,1>": "MTC",
|
||||
|
||||
@ -39,6 +39,14 @@
|
||||
"<8,2>": {
|
||||
"<8,2,1>": "Update QA Metrology Specs",
|
||||
"<8,2,2>": "QA_MET"
|
||||
},
|
||||
"<8,3>": {
|
||||
"<8,3,1>": "Update RDS Layer Parameters",
|
||||
"<8,3,2>": "UPDATE_RDS_LAYER"
|
||||
},
|
||||
"<8,4>": {
|
||||
"<8,4,1>": "Update RDS Test Specs",
|
||||
"<8,4,2>": "UPDATE_RDS_TEST"
|
||||
}
|
||||
},
|
||||
"<9>": {
|
||||
@ -46,29 +54,21 @@
|
||||
"<9,1,1>": "1",
|
||||
"<9,1,2>": "20",
|
||||
"<9,1,3>": "L",
|
||||
"<9,1,4>": "",
|
||||
"<9,1,4>": "L",
|
||||
"<9,1,5>": "",
|
||||
"<9,1,6>": "Window Option"
|
||||
},
|
||||
"<9,2>": {
|
||||
"<9,2,1>": "2",
|
||||
"<9,2,2>": "0",
|
||||
"<9,2,3>": "L",
|
||||
"<9,2,4>": "",
|
||||
"<9,2,3>": "R",
|
||||
"<9,2,4>": "R",
|
||||
"<9,2,5>": "",
|
||||
"<9,2,6>": ""
|
||||
},
|
||||
"<9,3>": {
|
||||
"<9,3,1>": "",
|
||||
"<9,3,2>": "",
|
||||
"<9,3,3>": "",
|
||||
"<9,3,4>": "",
|
||||
"<9,3,5>": "",
|
||||
"<9,3,6>": ""
|
||||
"<9,2,6>": "2"
|
||||
}
|
||||
},
|
||||
"<10>": "L",
|
||||
"<11>": "3",
|
||||
"<11>": "2",
|
||||
"<12>": "Engineering Options",
|
||||
"<13>": "2",
|
||||
"<14>": "F",
|
||||
@ -91,8 +91,18 @@
|
||||
"<31>": "0",
|
||||
"<32>": "0",
|
||||
"<33>": "0",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<34>": "-2",
|
||||
"<35>": "-2",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-2",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "Tahoma",
|
||||
@ -76,11 +76,21 @@
|
||||
"<28>": "",
|
||||
"<29>": "0",
|
||||
"<30>": "0",
|
||||
"<31>": "0",
|
||||
"<31>": "1",
|
||||
"<32>": "0",
|
||||
"<33>": "0",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<34>": "-2",
|
||||
"<35>": "-2",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-2",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "Tahoma",
|
||||
@ -84,11 +84,21 @@
|
||||
"<28>": "",
|
||||
"<29>": "0",
|
||||
"<30>": "0",
|
||||
"<31>": "0",
|
||||
"<31>": "1",
|
||||
"<32>": "0",
|
||||
"<33>": "0",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<34>": "-2",
|
||||
"<35>": "-2",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -122,8 +122,12 @@
|
||||
"<8,23,1>": "PSV",
|
||||
"<8,23,2>": "Pre Ship Verification"
|
||||
},
|
||||
"<8,24>": "",
|
||||
"<8,25>": ""
|
||||
"<8,24>": {
|
||||
"<8,24,1>": "RTF",
|
||||
"<8,24,2>": "Return To Fab Active"
|
||||
},
|
||||
"<8,25>": "",
|
||||
"<8,26>": ""
|
||||
},
|
||||
"<9>": {
|
||||
"<9,1>": {
|
||||
@ -141,14 +145,6 @@
|
||||
"<9,2,4>": "C",
|
||||
"<9,2,5>": "",
|
||||
"<9,2,6>": "Current Status Description"
|
||||
},
|
||||
"<9,3>": {
|
||||
"<9,3,1>": "",
|
||||
"<9,3,2>": "",
|
||||
"<9,3,3>": "",
|
||||
"<9,3,4>": "",
|
||||
"<9,3,5>": "",
|
||||
"<9,3,6>": ""
|
||||
}
|
||||
},
|
||||
"<10>": "L",
|
||||
@ -175,8 +171,18 @@
|
||||
"<31>": "0",
|
||||
"<32>": "0",
|
||||
"<33>": "0",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<34>": "-2",
|
||||
"<35>": "-2",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-1",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "Tahoma",
|
||||
@ -31,7 +31,7 @@
|
||||
}
|
||||
},
|
||||
"<7>": "REACT_ITEM",
|
||||
"<8>": "BY @ID",
|
||||
"<8>": "BY-DSND ENTER_DTM",
|
||||
"<9>": {
|
||||
"<9,1>": {
|
||||
"<9,1,1>": "RI_NO",
|
||||
@ -120,6 +120,22 @@
|
||||
"<9,11,4>": "C",
|
||||
"<9,11,5>": "D4/",
|
||||
"<9,11,6>": "Retire Dt"
|
||||
},
|
||||
"<9,12>": {
|
||||
"<9,12,1>": "ENTER_DTM",
|
||||
"<9,12,2>": "14",
|
||||
"<9,12,3>": "L",
|
||||
"<9,12,4>": "C",
|
||||
"<9,12,5>": "DT2/^H",
|
||||
"<9,12,6>": "Enter Dtm"
|
||||
},
|
||||
"<9,13>": {
|
||||
"<9,13,1>": "CURR_STATUS",
|
||||
"<9,13,2>": "5",
|
||||
"<9,13,3>": "L",
|
||||
"<9,13,4>": "C",
|
||||
"<9,13,5>": "[CONV_ITEM_CURR_STATUS]",
|
||||
"<9,13,6>": "Curr Status"
|
||||
}
|
||||
},
|
||||
"<10>": "T",
|
||||
@ -147,7 +163,17 @@
|
||||
"<32>": "0",
|
||||
"<33>": "1",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<35>": "16766894",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-1",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "Tahoma",
|
||||
@ -53,24 +53,28 @@
|
||||
"<8,5,2>": "Graphite Machining Services Inc"
|
||||
},
|
||||
"<8,6>": {
|
||||
"<8,6,1>": "NRD",
|
||||
"<8,6,2>": "Nuclecel"
|
||||
"<8,6,1>": "MERSEN",
|
||||
"<8,6,2>": "Mersen USA GS Corp."
|
||||
},
|
||||
"<8,7>": {
|
||||
"<8,7,1>": "SGL",
|
||||
"<8,7,2>": "SGL Group"
|
||||
"<8,7,1>": "NRD",
|
||||
"<8,7,2>": "Nuclecel"
|
||||
},
|
||||
"<8,8>": {
|
||||
"<8,8,1>": "TOYO",
|
||||
"<8,8,2>": "Toyo Tanso USA"
|
||||
"<8,8,1>": "SGL",
|
||||
"<8,8,2>": "SGL Group"
|
||||
},
|
||||
"<8,9>": {
|
||||
"<8,9,1>": "WACOM",
|
||||
"<8,9,2>": "WaCom"
|
||||
"<8,9,1>": "TOYO",
|
||||
"<8,9,2>": "Toyo Tanso USA"
|
||||
},
|
||||
"<8,10>": {
|
||||
"<8,10,1>": "XYCARB",
|
||||
"<8,10,2>": "Xycarb Ceramic"
|
||||
"<8,10,1>": "WACOM",
|
||||
"<8,10,2>": "WaCom"
|
||||
},
|
||||
"<8,11>": {
|
||||
"<8,11,1>": "XYCARB",
|
||||
"<8,11,2>": "Xycarb Ceramic"
|
||||
}
|
||||
},
|
||||
"<9>": {
|
||||
@ -89,14 +93,6 @@
|
||||
"<9,2,4>": "C",
|
||||
"<9,2,5>": "",
|
||||
"<9,2,6>": "Description"
|
||||
},
|
||||
"<9,3>": {
|
||||
"<9,3,1>": "",
|
||||
"<9,3,2>": "",
|
||||
"<9,3,3>": "",
|
||||
"<9,3,4>": "",
|
||||
"<9,3,5>": "",
|
||||
"<9,3,6>": ""
|
||||
}
|
||||
},
|
||||
"<10>": "L",
|
||||
@ -124,7 +120,17 @@
|
||||
"<32>": "0",
|
||||
"<33>": "1",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<35>": "16777215",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-1",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "Tahoma",
|
||||
@ -41,28 +41,8 @@
|
||||
"<8,2,2>": "High Thruput"
|
||||
},
|
||||
"<8,3>": {
|
||||
"<8,3,1>": "K2K",
|
||||
"<8,3,2>": "Kit 2000"
|
||||
},
|
||||
"<8,4>": {
|
||||
"<8,4,1>": "EPP",
|
||||
"<8,4,2>": " EpiPro"
|
||||
},
|
||||
"<8,5>": {
|
||||
"<8,5,1>": "GAN",
|
||||
"<8,5,2>": "GaN"
|
||||
},
|
||||
"<8,6>": {
|
||||
"<8,6,1>": "STD",
|
||||
"<8,6,2>": "Standard"
|
||||
},
|
||||
"<8,7>": {
|
||||
"<8,7,1>": "HD",
|
||||
"<8,7,2>": "Heavy Duty"
|
||||
},
|
||||
"<8,8>": {
|
||||
"<8,8,1>": "SCADA",
|
||||
"<8,8,2>": "Prototype"
|
||||
"<8,3,1>": "EPP",
|
||||
"<8,3,2>": " EpiPro"
|
||||
}
|
||||
},
|
||||
"<9>": {
|
||||
@ -108,7 +88,17 @@
|
||||
"<32>": "0",
|
||||
"<33>": "1",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<35>": "16777215",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -130,7 +130,11 @@
|
||||
"<8,25,1>": "PSV",
|
||||
"<8,25,2>": "Pre Ship Verification"
|
||||
},
|
||||
"<8,26>": ""
|
||||
"<8,26>": {
|
||||
"<8,26,1>": "RTF",
|
||||
"<8,26,2>": "Return To Fab Active"
|
||||
},
|
||||
"<8,27>": ""
|
||||
},
|
||||
"<9>": {
|
||||
"<9,1>": {
|
||||
@ -174,8 +178,18 @@
|
||||
"<31>": "0",
|
||||
"<32>": "0",
|
||||
"<33>": "0",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<34>": "-2",
|
||||
"<35>": "-2",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-1",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "MS Sans Serif",
|
||||
@ -91,7 +91,17 @@
|
||||
"<32>": "0",
|
||||
"<33>": "1",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<35>": "16777215",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-1",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "Tahoma",
|
||||
@ -43,39 +43,19 @@
|
||||
"<8,2,3>": "High Thruput"
|
||||
},
|
||||
"<8,3>": {
|
||||
"<8,3,1>": "4",
|
||||
"<8,3,1>": "5",
|
||||
"<8,3,2>": "HTR",
|
||||
"<8,3,3>": "High Thruput"
|
||||
},
|
||||
"<8,4>": {
|
||||
"<8,4,1>": "5",
|
||||
"<8,4,2>": "HTR",
|
||||
"<8,4,3>": "High Thruput"
|
||||
"<8,4,1>": "8",
|
||||
"<8,4,2>": "EPP",
|
||||
"<8,4,3>": "EpiPro"
|
||||
},
|
||||
"<8,5>": {
|
||||
"<8,5,1>": "8",
|
||||
"<8,5,1>": "18",
|
||||
"<8,5,2>": "EPP",
|
||||
"<8,5,3>": "EpiPro"
|
||||
},
|
||||
"<8,6>": {
|
||||
"<8,6,1>": "18",
|
||||
"<8,6,2>": "EPP",
|
||||
"<8,6,3>": "EpiPro"
|
||||
},
|
||||
"<8,7>": {
|
||||
"<8,7,1>": "24",
|
||||
"<8,7,2>": "EPP",
|
||||
"<8,7,3>": "EpiPro"
|
||||
},
|
||||
"<8,8>": {
|
||||
"<8,8,1>": "5",
|
||||
"<8,8,2>": "GAN",
|
||||
"<8,8,3>": "G5+"
|
||||
},
|
||||
"<8,9>": {
|
||||
"<8,9,1>": "8",
|
||||
"<8,9,2>": "GAN",
|
||||
"<8,9,3>": "G5"
|
||||
}
|
||||
},
|
||||
"<9>": {
|
||||
@ -129,7 +109,17 @@
|
||||
"<32>": "0",
|
||||
"<33>": "1",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<35>": "16777215",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-2",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "Tahoma",
|
||||
@ -43,7 +43,8 @@
|
||||
"<8,9>": "G5+",
|
||||
"<8,10>": "Char",
|
||||
"<8,11>": "Leakcheck",
|
||||
"<8,12>": "Scrubber"
|
||||
"<8,12>": "Scrubber",
|
||||
"<8,13>": "Packer"
|
||||
},
|
||||
"<9>": {
|
||||
"<9,1>": {
|
||||
@ -80,7 +81,17 @@
|
||||
"<32>": "0",
|
||||
"<33>": "1",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<35>": "16777215",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-1",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "Tahoma",
|
||||
@ -33,32 +33,12 @@
|
||||
"<7>": "",
|
||||
"<8>": {
|
||||
"<8,1>": {
|
||||
"<8,1,1>": "35",
|
||||
"<8,1,2>": "35 inch EpiPro"
|
||||
"<8,1,1>": "8",
|
||||
"<8,1,2>": "200mm 8 in"
|
||||
},
|
||||
"<8,2>": {
|
||||
"<8,2,1>": "18",
|
||||
"<8,2,2>": "18 inch HTR"
|
||||
},
|
||||
"<8,3>": {
|
||||
"<8,3,1>": "15",
|
||||
"<8,3,2>": "15 inch HTR"
|
||||
},
|
||||
"<8,4>": {
|
||||
"<8,4,1>": "8",
|
||||
"<8,4,2>": "8 inch 200mm"
|
||||
},
|
||||
"<8,5>": {
|
||||
"<8,5,1>": "6",
|
||||
"<8,5,2>": "6 inch 150mm"
|
||||
},
|
||||
"<8,6>": {
|
||||
"<8,6,1>": "5",
|
||||
"<8,6,2>": "5 inch 125mm"
|
||||
},
|
||||
"<8,7>": {
|
||||
"<8,7,1>": "4",
|
||||
"<8,7,2>": "4 inch 100mm"
|
||||
"<8,2,1>": "6",
|
||||
"<8,2,2>": "150mm 6 in"
|
||||
}
|
||||
},
|
||||
"<9>": {
|
||||
@ -104,7 +84,17 @@
|
||||
"<32>": "0",
|
||||
"<33>": "1",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<35>": "16777215",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-2",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "MS Sans Serif",
|
||||
@ -105,6 +105,10 @@
|
||||
"<8,19>": {
|
||||
"<8,19,1>": "PACK",
|
||||
"<8,19,2>": "Loaded in PT Out"
|
||||
},
|
||||
"<8,20>": {
|
||||
"<8,20,1>": "RTF",
|
||||
"<8,20,2>": "Return To Fab Active"
|
||||
}
|
||||
},
|
||||
"<9>": {
|
||||
@ -123,14 +127,6 @@
|
||||
"<9,2,4>": "C",
|
||||
"<9,2,5>": "",
|
||||
"<9,2,6>": "Current Status Description"
|
||||
},
|
||||
"<9,3>": {
|
||||
"<9,3,1>": "",
|
||||
"<9,3,2>": "",
|
||||
"<9,3,3>": "",
|
||||
"<9,3,4>": "",
|
||||
"<9,3,5>": "",
|
||||
"<9,3,6>": ""
|
||||
}
|
||||
},
|
||||
"<10>": "L",
|
||||
@ -158,7 +154,17 @@
|
||||
"<32>": "0",
|
||||
"<33>": "1",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<35>": "16777215",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-2",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "MS Sans Serif",
|
||||
@ -143,11 +143,21 @@
|
||||
"<28>": "",
|
||||
"<29>": "0",
|
||||
"<30>": "0",
|
||||
"<31>": "0",
|
||||
"<31>": "1",
|
||||
"<32>": "0",
|
||||
"<33>": "0",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<33>": "1",
|
||||
"<34>": "-2",
|
||||
"<35>": "-2",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-2",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "MS Sans Serif",
|
||||
@ -93,8 +93,21 @@
|
||||
"<28>": "",
|
||||
"<29>": "0",
|
||||
"<30>": "0",
|
||||
"<31>": "0",
|
||||
"<32>": "0"
|
||||
"<31>": "1",
|
||||
"<32>": "0",
|
||||
"<33>": "0",
|
||||
"<34>": "-2",
|
||||
"<35>": "-2",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -9,7 +9,7 @@
|
||||
"<2>": "-2",
|
||||
"<3>": "-1",
|
||||
"<4>": "-1",
|
||||
"<5>": "16777215",
|
||||
"<5>": "-2",
|
||||
"<6>": {
|
||||
"<6,1>": {
|
||||
"<6,1,1>": "MS Sans Serif",
|
||||
@ -189,6 +189,10 @@
|
||||
"<8,40>": {
|
||||
"<8,40,1>": "PACK",
|
||||
"<8,40,2>": "Loaded in PT Out"
|
||||
},
|
||||
"<8,41>": {
|
||||
"<8,41,1>": "RTF",
|
||||
"<8,41,2>": "Return To Fab Active"
|
||||
}
|
||||
},
|
||||
"<9>": {
|
||||
@ -207,14 +211,6 @@
|
||||
"<9,2,4>": "C",
|
||||
"<9,2,5>": "",
|
||||
"<9,2,6>": "Current Status Description"
|
||||
},
|
||||
"<9,3>": {
|
||||
"<9,3,1>": "",
|
||||
"<9,3,2>": "",
|
||||
"<9,3,3>": "",
|
||||
"<9,3,4>": "",
|
||||
"<9,3,5>": "",
|
||||
"<9,3,6>": ""
|
||||
}
|
||||
},
|
||||
"<10>": "L",
|
||||
@ -242,7 +238,17 @@
|
||||
"<32>": "0",
|
||||
"<33>": "1",
|
||||
"<34>": "16777215",
|
||||
"<35>": "16777215"
|
||||
"<35>": "16777215",
|
||||
"<36>": "",
|
||||
"<37>": "",
|
||||
"<38>": "",
|
||||
"<39>": "",
|
||||
"<40>": "-2",
|
||||
"<41>": "1000",
|
||||
"<42>": "",
|
||||
"<43>": "",
|
||||
"<44>": "",
|
||||
"<45>": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -27,17 +27,22 @@ $Insert SERVICE_SETUP
|
||||
$Insert APP_INSERTS
|
||||
$Insert REVDOTNETEQUATES
|
||||
|
||||
Declare function Logging_Services, Environment_Services, Active_Directory_Services
|
||||
Declare subroutine Set_Property.Net, Logging_Services, Set_Status, Database_Services
|
||||
Declare function Logging_Services, Environment_Services, Active_Directory_Services, Database_Services
|
||||
Declare function Error_Services, SRP_Array
|
||||
Declare subroutine Set_Property.Net, Logging_Services, Set_Status, Database_Services, Error_Services
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\ActiveDirectory'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
LogTime = Oconv(Time(), 'MTS')
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
|
||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' ActiveDirectoryAuthLog.csv'
|
||||
Headers = 'Logging DTM' : @FM : 'Username' : @FM : 'Authenticated'
|
||||
objADAuthLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$)
|
||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' ActiveDirectoryAuthenticationLog.csv'
|
||||
Headers = 'Logging DTM' : @FM : 'Username' : @FM : 'Authenticated'
|
||||
objADAuthenticationLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$)
|
||||
|
||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' ActiveDirectoryAuthorizationLog.csv'
|
||||
Headers = 'Logging DTM' : @FM : 'Username' : @FM : 'Authorized'
|
||||
objADAuthorizationLog = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, ',', Headers, '', False$, False$)
|
||||
|
||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' ActiveDirectoryLog.csv'
|
||||
Headers = 'Logging DTM' : @FM : 'Operation' : @FM : 'Message'
|
||||
@ -83,12 +88,43 @@ Service AuthenticateUser(Username, Password, Domain)
|
||||
LogData<1> = LoggingDTM
|
||||
LogData<2> = Username
|
||||
LogData<3> = Authenticated
|
||||
Logging_Services('AppendLog', objADAuthLog, LogData, @RM, @FM, False$)
|
||||
Logging_Services('AppendLog', objADAuthenticationLog, LogData, @RM, @FM, False$)
|
||||
Response = Authenticated
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service AuthorizeUser(Username, Domain)
|
||||
|
||||
ErrorMsg = ''
|
||||
Authorized = False$
|
||||
If ( (Username NE '') and (Domain NE '') ) then
|
||||
AuthAdGroups = ''
|
||||
LoginConfig = Database_Services('ReadDataRow', 'SYSENV', 'CFG_LOGIN*LSL2')
|
||||
If Error_Services('NoError') then
|
||||
AuthAdGroups<-1> = LoginConfig<2>
|
||||
AuthAdGroups<-1> = LoginConfig<3>
|
||||
AuthAdGroups<-1> = LoginConfig<4>
|
||||
UserAdGroups = Active_Directory_Services('GetADGroups', Username, Domain)
|
||||
MemberOfAuthGroups = SRP_Array('Join', UserAdGroups, AuthAdGroups, 'AND', @FM)
|
||||
Authorized = (MemberOfAuthGroups NE '')
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error retrieving active directory authorization groups.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Username and domain required.'
|
||||
end
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM
|
||||
LogData<2> = Username
|
||||
LogData<3> = Authorized
|
||||
Logging_Services('AppendLog', objADAuthorizationLog, LogData, @RM, @FM, False$)
|
||||
If ErrorMsg NE '' then Error_Services('Add', ErrorMsg)
|
||||
Response = Authorized
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service GetADGroups(Username, Domain)
|
||||
|
||||
ADGroups = ''
|
||||
@ -143,7 +179,6 @@ Service GetADGroups(Username, Domain)
|
||||
End Service
|
||||
|
||||
|
||||
|
||||
Service GetComputerDomain()
|
||||
|
||||
Domain = ''
|
||||
@ -166,6 +201,7 @@ Service GetComputerDomain()
|
||||
|
||||
end service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// GetADGroupsByString
|
||||
//
|
||||
@ -303,8 +339,10 @@ Service GetADGroupsByString(SearchString, Domain=DOMAIN, SearchByDescription=DES
|
||||
end
|
||||
|
||||
Response = ADGroups
|
||||
|
||||
end service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// GetADGroupMembersByGroupDescription
|
||||
//
|
||||
@ -319,6 +357,7 @@ end service
|
||||
// 9/26/2024 - [JRO] Initial Programmer.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service GetADGroupMembersByGroupDescription(DescriptionName, Domain=DOMAIN)
|
||||
|
||||
Set_Status(0)
|
||||
ErrMessage = ''
|
||||
GroupUsers = ''
|
||||
@ -397,8 +436,10 @@ Service GetADGroupMembersByGroupDescription(DescriptionName, Domain=DOMAIN)
|
||||
Error_Services('Add', ErrMessage)
|
||||
end
|
||||
Response = GroupUsers
|
||||
|
||||
end service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// GetADGroupMembersByGroupName
|
||||
//
|
||||
@ -413,6 +454,7 @@ end service
|
||||
// 9/26/2024 - [JRO] Initial Programmer.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service GetADGroupMembersByGroupName(GroupName, Domain=DOMAIN)
|
||||
|
||||
Set_Status(0)
|
||||
Users = ''
|
||||
ErrMessage = ''
|
||||
@ -501,8 +543,10 @@ Service GetADGroupMembersByGroupName(GroupName, Domain=DOMAIN)
|
||||
Error_Services('Add', ErrMessage)
|
||||
end
|
||||
Response = Users
|
||||
|
||||
end service
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
// GetADUserAttributes
|
||||
//
|
||||
@ -513,6 +557,7 @@ end service
|
||||
// First value is the AD User Name, Second value is the Display Name, and third value is the email.
|
||||
//----------------------------------------------------------------------------------------------------------------------
|
||||
Service GetADUserAttributes(Username, Domain=DOMAIN)
|
||||
|
||||
Set_Status(0)
|
||||
ThisUser = ''
|
||||
ErrMessage = ''
|
||||
@ -593,5 +638,6 @@ Service GetADUserAttributes(Username, Domain=DOMAIN)
|
||||
Error_Services('Add', ErrMessage)
|
||||
end
|
||||
Response = ThisUser
|
||||
|
||||
end service
|
||||
|
||||
|
||||
240
LSL2/STPROC/ARCHIVE_ACTIONS.txt
Normal file
240
LSL2/STPROC/ARCHIVE_ACTIONS.txt
Normal file
@ -0,0 +1,240 @@
|
||||
Function ARCHIVE_Actions(Action, CalcColName, FSList, Handle, Name, FMC, Record, Status, OrigRecord, Param1, Param2, Param3, Param4, Param5, Param6, Param7, Param8, Param9, Param10)
|
||||
/***********************************************************************************************************************
|
||||
|
||||
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
|
||||
permission from Infineon.
|
||||
|
||||
Name : RDS_Actions
|
||||
|
||||
Description : Handles calculated columns and MFS calls for the current table.
|
||||
|
||||
Notes : This function uses @ID, @RECORD, and @DICT to make sure {ColumnName} references work correctly.
|
||||
If called from outside of a calculated column these will need to be set and restored.
|
||||
|
||||
Parameters :
|
||||
Action [in] -- Name of the action to be taken
|
||||
CalcColName [in] -- Name of the calculated column that needs to be processed. Normally this should only be
|
||||
populated when the CalcField action is being used.
|
||||
FSList [in] -- The list of MFSs and the BFS name for the current file or volume. This is an @SVM
|
||||
delimited array, with the current MFS name as the first value in the array, and the BFS
|
||||
name as the last value. Normally set by a calling MFS.
|
||||
Handle [in] -- The file handle of the file or media map being accessed. Note, this does contain the
|
||||
entire handle structure that the Basic+ Open statement would provide. Normally set by a
|
||||
calling MFS.
|
||||
Name [in] -- The name (key) of the record or file being accessed. Normally set by a calling MFS.
|
||||
FMC [in] -- Various functions. Normally set by a calling MFS.
|
||||
Record [in] -- The entire record (for record-oriented functions) or a newly-created handle (for
|
||||
"get handle" functions). Normally set by a calling MFS.
|
||||
Status [in/out] -- Indicator of the success or failure of an action. Normally set by the calling MFS but
|
||||
for some actions can be set by the action handler to indicate failure.
|
||||
OrigRecord [in] -- Original content of the record being processed by the current action. This is
|
||||
automatically being assigned by the WRITE_RECORD and DELETE_RECORD actions within
|
||||
BASE_MFS.
|
||||
Param1-10 [in/out] -- Additional request parameter holders
|
||||
ActionFlow [out] -- Used to control the action chain (see the ACTION_SETUP insert for more information.)
|
||||
Can also be used to return a special value, such as the results of the CalcField
|
||||
method.
|
||||
|
||||
History : (Date, Initials, Notes)
|
||||
04/10/18 dmb Original programmer.
|
||||
10/04/18 djs Added a trigger within the WRITE_RECORD event, which fires when the reactor number has
|
||||
changed. When this occurs the related RDS_LAYER records for this RDS record are populated
|
||||
with the most recent associated TOOL_PARMS record. (related by PSN and Reactor)
|
||||
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
$Insert FILE.SYSTEM.EQUATES
|
||||
$Insert ACTION_SETUP
|
||||
$Insert RLIST_EQUATES
|
||||
$Insert APP_INSERTS
|
||||
$Insert IFX_EQUATES
|
||||
$Insert ARCHIVE_EQUATES
|
||||
|
||||
Equ COMMA$ to ','
|
||||
|
||||
Declare function Error_Services, Database_Services, obj_RDS_Test, Logging_Services, Environment_Services
|
||||
Declare function Tool_Parms_Services, Signature_Services, obj_WO_Mat_QA, Datetime, Override_Services
|
||||
Declare function Rds_Services, SRP_DateTime, SRP_Math, obj_WO_Mat, Lot_Services, SRP_Array
|
||||
Declare function Lot_Event_Services, GetTickCount, Work_Order_Services, Archive_Services
|
||||
Declare subroutine Error_Services, Database_Services, Logging_Services, Service_Services, obj_WO_React
|
||||
Declare Subroutine Mona_Services
|
||||
|
||||
If KeyID then GoSub Initialize_System_Variables
|
||||
|
||||
Begin Case
|
||||
|
||||
Case Action _EQC 'CalculateColumn' ; GoSub CalculateColumn
|
||||
Case Action _EQC 'READ_RECORD_PRE' ; GoSub READ_RECORD_PRE
|
||||
Case Action _EQC 'READ_RECORD' ; GoSub READ_RECORD
|
||||
Case Action _EQC 'READONLY_RECORD_PRE' ; GoSub READONLY_RECORD_PRE
|
||||
Case Action _EQC 'READONLY_RECORD' ; GoSub READONLY_RECORD
|
||||
Case Action _EQC 'WRITE_RECORD_PRE' ; GoSub WRITE_RECORD_PRE
|
||||
Case Action _EQC 'WRITE_RECORD' ; GoSub WRITE_RECORD
|
||||
Case Action _EQC 'DELETE_RECORD_PRE' ; GoSub DELETE_RECORD_PRE
|
||||
Case Action _EQC 'DELETE_RECORD' ; GoSub DELETE_RECORD
|
||||
Case Otherwise$ ; Status = 'Invalid Action'
|
||||
|
||||
End Case
|
||||
|
||||
If KeyID then GoSub Restore_System_Variables
|
||||
|
||||
If Assigned(ActionFlow) else ActionFlow = ACTION_CONTINUE$
|
||||
|
||||
Return ActionFlow
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Calculated Columns
|
||||
//
|
||||
// The typical structure of a calculated column will look like this:
|
||||
//
|
||||
// Declare function Database_Services
|
||||
//
|
||||
// @ANS = Database_Services('CalculateColumn')
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
CalculateColumn:
|
||||
|
||||
// Make sure the ActionFlow return variable is cleared in case nothing is calculated.
|
||||
ActionFlow = ''
|
||||
|
||||
return
|
||||
|
||||
// ----- MFS calls -----------------------------------------------------------------------------------------------------
|
||||
|
||||
READ_RECORD_PRE:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
// OrigFileError = 100 : @FM : KeyID
|
||||
// Status = 0
|
||||
// Record = ''
|
||||
// ActionFlow = ACTION_STOP$
|
||||
|
||||
* This code prevents an anomaly where an @SVM appears when the value is read
|
||||
* and causes an error when copying the record to SQL.
|
||||
|
||||
return
|
||||
|
||||
READ_RECORD:
|
||||
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
// OrigFileError = 100 : @FM : KeyID
|
||||
// Status = 0
|
||||
// Record = ''
|
||||
|
||||
return
|
||||
|
||||
|
||||
READONLY_RECORD_PRE:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
// OrigFileError = 100 : @FM : KeyID
|
||||
// Status = 0
|
||||
// Record = ''
|
||||
// ActionFlow = ACTION_STOP$
|
||||
return
|
||||
|
||||
|
||||
READONLY_RECORD:
|
||||
// In order to stop a record from being read in this action these lines of code must be used:
|
||||
//
|
||||
// OrigFileError = 100 : @FM : KeyID
|
||||
// Status = 0
|
||||
// Record = ''
|
||||
|
||||
return
|
||||
|
||||
WRITE_RECORD_PRE:
|
||||
|
||||
|
||||
return
|
||||
|
||||
|
||||
WRITE_RECORD:
|
||||
|
||||
return
|
||||
|
||||
|
||||
DELETE_RECORD_PRE:
|
||||
|
||||
ActionFlow = ACTION_STOP$
|
||||
|
||||
return
|
||||
|
||||
|
||||
DELETE_RECORD:
|
||||
|
||||
ActionFlow = ACTION_STOP$
|
||||
|
||||
return
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Internal GoSubs
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
ClearCursors:
|
||||
For counter = 0 to 8
|
||||
ClearSelect counter
|
||||
Next counter
|
||||
return
|
||||
|
||||
|
||||
Initialize_System_Variables:
|
||||
|
||||
// Save these for restoration later
|
||||
SaveDict = @DICT
|
||||
SaveID = @ID
|
||||
SaveRecord = @RECORD
|
||||
OrigFileError = @FILE.ERROR
|
||||
|
||||
// Now make sure @DICT, ID, and @RECORD are populated
|
||||
CurrentDictName = ''
|
||||
If @DICT then
|
||||
DictHandle = @DICT<1, 2>
|
||||
Locate DictHandle in @TABLES(5) Using @FM Setting fPos then
|
||||
CurrentDictName = Field(@TABLES(0), @FM, fPos, 1)
|
||||
end
|
||||
end
|
||||
|
||||
If CurrentDictName NE DictName then
|
||||
Open DictName to @DICT else Status = 'Unable to initialize @DICT'
|
||||
end
|
||||
|
||||
@ID = KeyID
|
||||
If Record else
|
||||
// Record might not have been passed in. Read the record from the database table just to make sure.
|
||||
@FILE.ERROR = ''
|
||||
Open TableName to hTable then
|
||||
FullFSList = hTable[1, 'F' : @VM]
|
||||
BFS = FullFSList[-1, 'B' : @SVM]
|
||||
LastHandle = hTable[-1, 'B' : \0D\]
|
||||
FileHandle = \0D\ : LastHandle[1, @VM]
|
||||
|
||||
Call @BFS(READO.RECORD, BFS, FileHandle, KeyID, FMC, Record, ReadOStatus)
|
||||
end
|
||||
end
|
||||
@RECORD = Record
|
||||
|
||||
return
|
||||
|
||||
|
||||
Restore_System_Variables:
|
||||
|
||||
Transfer SaveDict to @DICT
|
||||
Transfer SaveID to @ID
|
||||
Transfer SaveRecord to @RECORD
|
||||
@FILE.ERROR = OrigFileError
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
238
LSL2/STPROC/ARCHIVE_API.txt
Normal file
238
LSL2/STPROC/ARCHIVE_API.txt
Normal file
@ -0,0 +1,238 @@
|
||||
Function Archive_API(@API)
|
||||
/***********************************************************************************************************************
|
||||
|
||||
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
|
||||
permission from SRP Computer Solutions, Inc.
|
||||
|
||||
Name : Archive_API
|
||||
|
||||
Description : API logic for the Archive resource.
|
||||
|
||||
Notes : All web APIs should include the API_SETUP insert. This will provide several useful variables:
|
||||
|
||||
HTTPMethod - The HTTP Method (Verb) submitted by the client (e.g., GET, POST, etc.)
|
||||
APIURL - The URL for the API entry point (e.g., api.mysite.com/v1).
|
||||
FullEndpointURL - The URL submitted by the client, including query params.
|
||||
FullEndpointURLNoQuery - The URL submitted by the client, excluding query params.
|
||||
EndpointSegment - The URL endpoint segment.
|
||||
ParentURL - The URL path preceeding the current endpoint.
|
||||
CurrentAPI - The name of this stored procedure.
|
||||
|
||||
Parameters :
|
||||
API [in] -- Web API to process. Format is [APIPattern].[HTTPMethod]:
|
||||
- APIPattern must follow this structure Archive[.ID.[<Property>]]
|
||||
- HTTPMethod can be any valid HTTP method, e.g., GET, POST, PUT, DELETE, etc.
|
||||
Examples:
|
||||
- Archive.POST
|
||||
- Archive.ID.PUT
|
||||
- Archive.ID.firstName.GET
|
||||
Response [out] -- Response to be sent back to the Controller (HTTP_MCP) or requesting procedure. Web API
|
||||
services do not rely upon anything being returned in the response. This is what the
|
||||
various services like SetResponseBody and SetResponseStatus services are for. A response
|
||||
value is only helpful if the developers want to use it for debug purposes.
|
||||
|
||||
History : (Date, Initials, Notes)
|
||||
10/10/25 xxx Original programmer.
|
||||
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
$insert APP_INSERTS
|
||||
$insert API_SETUP
|
||||
$insert HTTP_INSERTS
|
||||
$insert SRPJSONX
|
||||
|
||||
Declare Function OI_WIZARD_SERVICES, ARCHIVE_SERVICES, Date_Services
|
||||
|
||||
GoToAPI else
|
||||
// The specific resource endpoint doesn't have a API handler yet.
|
||||
HTTP_Services('SetResponseStatus', 204, 'This is a valid endpoint but a web API handler has not yet been created.')
|
||||
end
|
||||
|
||||
Return Response OR ''
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Endpoint Handlers
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
API archive.HEAD
|
||||
API archive.GET
|
||||
|
||||
OIWizardID = ''
|
||||
Cookies = HTTP_Services('GetHTTPCookie')
|
||||
For each Cookie in Cookies using ';'
|
||||
Key = Field(Cookie, '=', 1)
|
||||
If Key EQ 'sessionID' then
|
||||
OIWizardID = Field(Cookie, '=', 2)
|
||||
end
|
||||
Next Cookie
|
||||
|
||||
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
|
||||
|
||||
If ValidSession then
|
||||
ArchiveIds = Archive_Services('GetAllArchiveIDs')
|
||||
ArchiveListJson = ''
|
||||
GoSub GenerateArchiveListJson
|
||||
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
|
||||
HTTP_Services('SetResponseBody', ArchiveListJson, False$, 'application/hal+json')
|
||||
If Assigned(Message) then
|
||||
HTTP_Services('SetResponseStatus', 201, Message)
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 201)
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 401, 'Invalid session. Reauthentication required.')
|
||||
end
|
||||
|
||||
end api
|
||||
|
||||
|
||||
API archive.getarchive.HEAD
|
||||
API archive.getarchive.GET
|
||||
|
||||
OIWizardID = ''
|
||||
Cookies = HTTP_Services('GetHTTPCookie')
|
||||
For each Cookie in Cookies using ';'
|
||||
Key = Field(Cookie, '=', 1)
|
||||
If Key EQ 'sessionID' then
|
||||
OIWizardID = Field(Cookie, '=', 2)
|
||||
end
|
||||
Next Cookie
|
||||
|
||||
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
|
||||
|
||||
If ValidSession then
|
||||
ArchiveId = Http_Services('GetQueryField', 'ArchiveId')
|
||||
ArchiveJson = Archive_Services('ConvertArchiveRecordToJson', ArchiveId)
|
||||
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
|
||||
HTTP_Services('SetResponseBody', ArchiveJson, False$, 'application/hal+json')
|
||||
If Assigned(Message) then
|
||||
HTTP_Services('SetResponseStatus', 201, Message)
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 201)
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 401, 'Invalid session. Reauthentication required.')
|
||||
end
|
||||
|
||||
|
||||
end api
|
||||
|
||||
|
||||
API archive.findarchivebyrecord.HEAD
|
||||
API archive.findarchivebyrecord.GET
|
||||
|
||||
OIWizardID = ''
|
||||
Cookies = HTTP_Services('GetHTTPCookie')
|
||||
For each Cookie in Cookies using ';'
|
||||
Key = Field(Cookie, '=', 1)
|
||||
If Key EQ 'sessionID' then
|
||||
OIWizardID = Field(Cookie, '=', 2)
|
||||
end
|
||||
Next Cookie
|
||||
|
||||
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
|
||||
|
||||
If ValidSession then
|
||||
|
||||
Table = Http_Services('GetQueryField', 'Table')
|
||||
RecordId = Http_Services('GetQueryField', 'RecordId')
|
||||
ArchiveIds = Archive_Services('GetArchiveIDsByRecord', RecordId, Table)
|
||||
|
||||
SRP_JsonX_Begin('JSON', '{')
|
||||
SRP_JsonX('ArchiveRecords','[')
|
||||
for each ArchiveId in ArchiveIds using @FM
|
||||
ThisArchiveJson = Archive_Services('ConvertArchiveRecordToJson', ArchiveId)
|
||||
SRP_JsonX(ThisArchiveJson)
|
||||
Next ArchiveId
|
||||
SRP_JsonX(']')
|
||||
ArchiveJson = SRP_JsonX_End('Pretty')
|
||||
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
|
||||
HTTP_Services('SetResponseBody', ArchiveJson, False$, 'application/hal+json')
|
||||
If Assigned(Message) then
|
||||
HTTP_Services('SetResponseStatus', 201, Message)
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 201)
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 401, 'Invalid session. Reauthentication required.')
|
||||
end
|
||||
|
||||
end api
|
||||
|
||||
|
||||
API archive.findarchivebymetadata.HEAD
|
||||
API archive.findarchivebymetadata.GET
|
||||
|
||||
OIWizardID = ''
|
||||
Cookies = HTTP_Services('GetHTTPCookie')
|
||||
For each Cookie in Cookies using ';'
|
||||
Key = Field(Cookie, '=', 1)
|
||||
If Key EQ 'sessionID' then
|
||||
OIWizardID = Field(Cookie, '=', 2)
|
||||
end
|
||||
Next Cookie
|
||||
|
||||
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
|
||||
|
||||
If ValidSession then
|
||||
MetaDataType = Http_Services('GetQueryField', 'MetaDataType')
|
||||
SearchValues = Http_Services('GetQueryField', 'SearchValue')
|
||||
ArchiveIds = Archive_Services('GetArchiveIDsByMetaData', MetaDataType, SearchValues)
|
||||
|
||||
SRP_JsonX_Begin('JSON', '{')
|
||||
SRP_JsonX('ArchiveRecords','[')
|
||||
for each ArchiveId in ArchiveIds using @FM
|
||||
ThisArchiveJson = Archive_Services('ConvertArchiveRecordToJson', ArchiveId)
|
||||
SRP_JsonX(ThisArchiveJson)
|
||||
Next ArchiveId
|
||||
SRP_JsonX(']')
|
||||
ArchiveJson = SRP_JsonX_End('Pretty')
|
||||
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
|
||||
HTTP_Services('SetResponseBody', ArchiveJson, False$, 'application/hal+json')
|
||||
If Assigned(Message) then
|
||||
HTTP_Services('SetResponseStatus', 201, Message)
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 201)
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 401, 'Invalid session. Reauthentication required.')
|
||||
end
|
||||
|
||||
end api
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Internal GoSubs
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
GenerateArchiveListJson:
|
||||
|
||||
If Assigned(ArchiveListJson) AND Assigned(ArchiveIds) then
|
||||
SRP_JsonX_Begin('JSON', '{')
|
||||
SRP_JsonX('Archives', '[')
|
||||
for each ArchiveId in ArchiveIds using @FM
|
||||
ArchiveType = Field(ArchiveId, '*', 1)
|
||||
ArchiveParent = Field(ArchiveId, '*', 2)
|
||||
CreationDtm = Date_Services('ConvertDateTimeToISO8601', XLATE('ARCHIVE', ArchiveId, ARCHIVE_ARCHIVE_CREATION_DTM$, 'X'))
|
||||
RecordCount = DCOUNT(XLATE('ARCHIVE', ArchiveId, ARCHIVE_CHILD_RECORD$, 'X'), @VM)
|
||||
SRP_JsonX('{')
|
||||
SRP_JsonX('ArchiveId', ArchiveId, 'String')
|
||||
SRP_JsonX('ArchiveType', ArchiveType, 'String')
|
||||
SRP_JsonX('ArchiveParent', ArchiveParent, 'String')
|
||||
SRP_JsonX('CreationDtm', CreationDtm, 'String')
|
||||
SRP_JsonX('RecordCount', RecordCount)
|
||||
SRP_JsonX('}')
|
||||
Next ArchiveId
|
||||
SRP_JsonX(']')
|
||||
ArchiveListJson = SRP_JsonX_End('Pretty')
|
||||
end
|
||||
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,152 +1,151 @@
|
||||
Function Authentication_API(@API)
|
||||
/***********************************************************************************************************************
|
||||
|
||||
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
|
||||
permission from SRP Computer Solutions, Inc.
|
||||
|
||||
Name : Authentication_API
|
||||
|
||||
Description : API logic for the Authentication resource.
|
||||
|
||||
Notes : All web APIs should include the API_SETUP insert. This will provide several useful variables:
|
||||
|
||||
HTTPMethod - The HTTP Method (Verb) submitted by the client (e.g., GET, POST, etc.)
|
||||
APIURL - The URL for the API entry point (e.g., api.mysite.com/v1).
|
||||
FullEndpointURL - The URL submitted by the client, including query params.
|
||||
FullEndpointURLNoQuery - The URL submitted by the client, excluding query params.
|
||||
EndpointSegment - The URL endpoint segment.
|
||||
ParentURL - The URL path preceeding the current endpoint.
|
||||
CurrentAPI - The name of this stored procedure.
|
||||
|
||||
Parameters :
|
||||
API [in] -- Web API to process. Format is [APIPattern].[HTTPMethod]:
|
||||
- APIPattern must follow this structure Authentication[.ID.[<Property>]]
|
||||
- HTTPMethod can be any valid HTTP method, e.g., GET, POST, PUT, DELETE, etc.
|
||||
Examples:
|
||||
- Authentication.POST
|
||||
- Authentication.ID.PUT
|
||||
- Authentication.ID.firstName.GET
|
||||
Response [out] -- Response to be sent back to the Controller (HTTP_MCP) or requesting procedure. Web API
|
||||
services do not rely upon anything being returned in the response. This is what the
|
||||
various services like SetResponseBody and SetResponseStatus services are for. A response
|
||||
value is only helpful if the developers want to use it for debug purposes.
|
||||
|
||||
History : (Date, Initials, Notes)
|
||||
07/17/24 djs Original programmer.
|
||||
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
$insert APP_INSERTS
|
||||
$insert API_SETUP
|
||||
$insert HTTP_INSERTS
|
||||
$insert LSL_USERS_EQUATES
|
||||
|
||||
Equ USERNAME$ To 1
|
||||
Equ GROUP$ To 2
|
||||
Equ PASSWORD$ To 3
|
||||
Equ CONTEXT$ To 4
|
||||
|
||||
Declare function Database_Services, MemberOf
|
||||
|
||||
GoToAPI else
|
||||
// The specific resource endpoint doesn't have a API handler yet.
|
||||
HTTP_Services('SetResponseStatus', 204, 'This is a valid endpoint but a web API handler has not yet been created.')
|
||||
end
|
||||
|
||||
Return Response OR ''
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Endpoint Handlers
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
API authentication.POST
|
||||
|
||||
Body = HTTP_Services('GetHTTPPostString')
|
||||
If Body NE '' then
|
||||
// The POST string will have been encoded so use percent (URL) decoding
|
||||
AuthJson = HTTP_Services('DecodePercentString', Body)
|
||||
hAuthJson = ''
|
||||
ParseResponse = SRP_JSON(hAuthJson, 'PARSE', AuthJson)
|
||||
If (ParseResponse EQ '') then
|
||||
Username = SRP_JSON(hAuthJson, 'GetValue', 'Username')
|
||||
Password = SRP_JSON(hAuthJson, 'GetValue', 'Password')
|
||||
Groups = ''
|
||||
hGroups = SRP_JSON(hAuthJson, 'get', 'Groups')
|
||||
If hGroups then
|
||||
ElementHandles = SRP_JSON(hGroups, 'GetElements', @VM)
|
||||
If ElementHandles NE '' then
|
||||
For each ElementHandle in ElementHandles using @VM
|
||||
Groups<0, -1> = SRP_JSON(ElementHandle, 'GetValue')
|
||||
SRP_JSON(ElementHandle, 'Release')
|
||||
Next ElementHandle
|
||||
end
|
||||
SRP_JSON(hGroups, 'Release')
|
||||
end
|
||||
SRP_JSON(hAuthJson, 'Release')
|
||||
// Validate Credentials
|
||||
UserRec = Database_Services('ReadDataRow', 'LSL_USERS', Username)
|
||||
If Error_Services('NoError') then
|
||||
Credentials = ''
|
||||
Credentials<USERNAME$> = Username
|
||||
Credentials<PASSWORD$> = UserRec<LSL_USERS_PASSWORD$>
|
||||
Credentials<GROUP$> = UserRec<LSL_USERS_GROUPS$>
|
||||
|
||||
Member = False$
|
||||
Group = ''
|
||||
If Groups NE '' then
|
||||
For each Group in Groups using @VM
|
||||
Member = MemberOf(Credentials<USERNAME$>, Group)
|
||||
Until Member EQ True$
|
||||
Next Group
|
||||
end else
|
||||
Member = True$
|
||||
end
|
||||
|
||||
Begin Case
|
||||
|
||||
Case (Password EQ Credentials<PASSWORD$>) AND (Member EQ True$)
|
||||
// Return 200, authentication successful
|
||||
StatusCode = 200
|
||||
Message = 'Authentication successful'
|
||||
HTTP_Services('SetResponseStatus', 200, Message)
|
||||
Case (Password EQ Credentials<PASSWORD$>) AND (Member EQ False$)
|
||||
// Return 401, not a member of required groups
|
||||
NumGroups = DCount(Groups, @VM)
|
||||
If NumGroups GT 1 then
|
||||
Swap @VM with ' or ' in Groups
|
||||
Message = 'User is not a member of the ' : Groups : ' groups.'
|
||||
end else
|
||||
Message = 'User is not a member of the ' : Group : ' group.'
|
||||
end
|
||||
HTTP_Services('SetResponseStatus', 401, 'Authentication failed. ':Message)
|
||||
|
||||
Case Password NE Credentials<PASSWORD$>
|
||||
// Return 401, unable to validate password
|
||||
Message = 'Unable to validate username. Please re-enter.'
|
||||
HTTP_Services('SetResponseStatus', 401, 'Authentication failed. ':Message)
|
||||
Case Otherwise$
|
||||
HTTP_Services('SetResponseStatus', 500, 'Error in the ' : CurrentAPI : ' API. Unhandled case.')
|
||||
End Case
|
||||
end else
|
||||
// Error reading user record
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
HTTP_Services('SetResponseStatus', 500, 'Error in the ' : CurrentAPI : ' API. Message: ': ErrorMsg)
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 400, 'Error in the ' : CurrentAPI : ' API. Error parsing JSON.')
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 400, 'Error in the ' : CurrentAPI : ' API. Empty request.')
|
||||
end
|
||||
|
||||
end api
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Internal GoSubs
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
Function Authentication_API(@API)
|
||||
/***********************************************************************************************************************
|
||||
|
||||
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
|
||||
permission from SRP Computer Solutions, Inc.
|
||||
|
||||
Name : Authentication_API
|
||||
|
||||
Description : API logic for the Authentication resource.
|
||||
|
||||
Notes : All web APIs should include the API_SETUP insert. This will provide several useful variables:
|
||||
|
||||
HTTPMethod - The HTTP Method (Verb) submitted by the client (e.g., GET, POST, etc.)
|
||||
APIURL - The URL for the API entry point (e.g., api.mysite.com/v1).
|
||||
FullEndpointURL - The URL submitted by the client, including query params.
|
||||
FullEndpointURLNoQuery - The URL submitted by the client, excluding query params.
|
||||
EndpointSegment - The URL endpoint segment.
|
||||
ParentURL - The URL path preceeding the current endpoint.
|
||||
CurrentAPI - The name of this stored procedure.
|
||||
|
||||
Parameters :
|
||||
API [in] -- Web API to process. Format is [APIPattern].[HTTPMethod]:
|
||||
- APIPattern must follow this structure Authentication[.ID.[<Property>]]
|
||||
- HTTPMethod can be any valid HTTP method, e.g., GET, POST, PUT, DELETE, etc.
|
||||
Examples:
|
||||
- Authentication.POST
|
||||
- Authentication.ID.PUT
|
||||
- Authentication.ID.firstName.GET
|
||||
Response [out] -- Response to be sent back to the Controller (HTTP_MCP) or requesting procedure. Web API
|
||||
services do not rely upon anything being returned in the response. This is what the
|
||||
various services like SetResponseBody and SetResponseStatus services are for. A response
|
||||
value is only helpful if the developers want to use it for debug purposes.
|
||||
|
||||
History : (Date, Initials, Notes)
|
||||
07/17/24 djs Original programmer.
|
||||
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
$insert APP_INSERTS
|
||||
$insert API_SETUP
|
||||
$insert HTTP_INSERTS
|
||||
$insert LSL_USERS_EQUATES
|
||||
|
||||
Equ USERNAME$ To 1
|
||||
Equ GROUP$ To 2
|
||||
Equ PASSWORD$ To 3
|
||||
Equ CONTEXT$ To 4
|
||||
|
||||
Declare function Database_Services, MemberOf
|
||||
|
||||
GoToAPI else
|
||||
// The specific resource endpoint doesn't have a API handler yet.
|
||||
HTTP_Services('SetResponseStatus', 204, 'This is a valid endpoint but a web API handler has not yet been created.')
|
||||
end
|
||||
|
||||
Return Response OR ''
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Endpoint Handlers
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
API authentication.POST
|
||||
|
||||
Body = HTTP_Services('GetHTTPPostString')
|
||||
If Body NE '' then
|
||||
// The POST string will have been encoded so use percent (URL) decoding
|
||||
AuthJson = HTTP_Services('DecodePercentString', Body)
|
||||
hAuthJson = ''
|
||||
ParseResponse = SRP_JSON(hAuthJson, 'PARSE', AuthJson)
|
||||
If (ParseResponse EQ '') then
|
||||
Username = SRP_JSON(hAuthJson, 'GetValue', 'Username')
|
||||
Password = SRP_JSON(hAuthJson, 'GetValue', 'Password')
|
||||
Groups = ''
|
||||
hGroups = SRP_JSON(hAuthJson, 'get', 'Groups')
|
||||
If hGroups then
|
||||
ElementHandles = SRP_JSON(hGroups, 'GetElements', @VM)
|
||||
If ElementHandles NE '' then
|
||||
For each ElementHandle in ElementHandles using @VM
|
||||
Groups<0, -1> = SRP_JSON(ElementHandle, 'GetValue')
|
||||
SRP_JSON(ElementHandle, 'Release')
|
||||
Next ElementHandle
|
||||
end
|
||||
SRP_JSON(hGroups, 'Release')
|
||||
end
|
||||
SRP_JSON(hAuthJson, 'Release')
|
||||
// Validate Credentials
|
||||
UserRec = Database_Services('ReadDataRow', 'LSL_USERS', Username)
|
||||
If Error_Services('NoError') then
|
||||
Credentials = ''
|
||||
Credentials<USERNAME$> = Username
|
||||
Credentials<PASSWORD$> = UserRec<LSL_USERS_PASSWORD$>
|
||||
Credentials<GROUP$> = UserRec<LSL_USERS_GROUPS$>
|
||||
|
||||
Member = False$
|
||||
Group = ''
|
||||
If Groups NE '' then
|
||||
For each Group in Groups using @VM
|
||||
Member = MemberOf(Credentials<USERNAME$>, Group)
|
||||
Until Member EQ True$
|
||||
Next Group
|
||||
end else
|
||||
Member = True$
|
||||
end
|
||||
|
||||
Begin Case
|
||||
|
||||
Case (Password EQ Credentials<PASSWORD$>) AND (Member EQ True$)
|
||||
// Return 200, authentication successful
|
||||
StatusCode = 200
|
||||
Message = 'Authentication successful'
|
||||
HTTP_Services('SetResponseStatus', 200, Message)
|
||||
Case (Password EQ Credentials<PASSWORD$>) AND (Member EQ False$)
|
||||
// Return 401, not a member of required groups
|
||||
NumGroups = DCount(Groups, @VM)
|
||||
If NumGroups GT 1 then
|
||||
Swap @VM with ' or ' in Groups
|
||||
Message = 'User is not a member of the ' : Groups : ' groups.'
|
||||
end else
|
||||
Message = 'User is not a member of the ' : Group : ' group.'
|
||||
end
|
||||
HTTP_Services('SetResponseStatus', 401, 'Authentication failed. ':Message)
|
||||
|
||||
Case Password NE Credentials<PASSWORD$>
|
||||
// Return 401, unable to validate password
|
||||
Message = 'Unable to validate username. Please re-enter.'
|
||||
HTTP_Services('SetResponseStatus', 401, 'Authentication failed. ':Message)
|
||||
Case Otherwise$
|
||||
HTTP_Services('SetResponseStatus', 500, 'Error in the ' : CurrentAPI : ' API. Unhandled case.')
|
||||
End Case
|
||||
end else
|
||||
// Error reading user record
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
HTTP_Services('SetResponseStatus', 500, 'Error in the ' : CurrentAPI : ' API. Message: ': ErrorMsg)
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 400, 'Error in the ' : CurrentAPI : ' API. Error parsing JSON.')
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 400, 'Error in the ' : CurrentAPI : ' API. Empty request.')
|
||||
end
|
||||
|
||||
end api
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Internal GoSubs
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -211,7 +211,7 @@ Service SendReminders()
|
||||
CalDueRecipients = Xlate('NOTIFICATION', 'CALIB_DUE_NOTIFY', NOTIFICATION_USER_ID$, 'X')
|
||||
|
||||
CheckDt = OConv(Date() + 15, 'D4/')
|
||||
SelectSent = 'SELECT CALIB_LIST WITH NEXT_CAL_DT < ':QUOTE(CheckDt):' BY NEXT_CAL_DT'
|
||||
SelectSent = 'SELECT CALIB_LIST WITH NEXT_CAL_DT < ':QUOTE(CheckDt):' AND WITH EQ_LOC NE "Out of Service" BY NEXT_CAL_DT'
|
||||
RList(SelectSent,TARGET_ACTIVELIST$,'','','')
|
||||
|
||||
NoteText = ''
|
||||
@ -235,7 +235,7 @@ Service SendReminders()
|
||||
IF CLType = 'E' THEN
|
||||
Desc = CLRec<CALIB_LIST_EQ_DESC$>
|
||||
SN = CLRec<CALIB_LIST_EQ_SN$>
|
||||
Loc = CLRec<CALIB_LIST_EQ_LOC$
|
||||
Loc = CLRec<CALIB_LIST_EQ_LOC$>
|
||||
NewLine = Desc:' (S/N: ':SN:') located in the ':Loc:' is due for calibration on ':NextCalDt:CRLF$
|
||||
END
|
||||
IF CLType = 'S' THEN
|
||||
|
||||
@ -67,25 +67,22 @@ END
|
||||
RETURN Result
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Create:
|
||||
* * * * * * *
|
||||
|
||||
IF MemberOf(@USER4,'CALIBRATION') ELSE
|
||||
ErrMsg('Only authorized personnel may update the Calibration List.')
|
||||
End_Window(@WINDOW)
|
||||
RETURN
|
||||
END
|
||||
|
||||
IF MemberOf(@USER4,'CALIBRATION') ELSE
|
||||
ErrMsg('Only authorized personnel may update the Calibration List.')
|
||||
End_Window(@WINDOW)
|
||||
RETURN
|
||||
END
|
||||
obj_Appwindow('Create',@WINDOW)
|
||||
|
||||
|
||||
obj_Appwindow('Create',@WINDOW)
|
||||
|
||||
Set_List_Box_Data( @WINDOW )
|
||||
// Use to determine whether or not the New Calibration label was just clicked
|
||||
Set_Property(@Window : '.CALIBRATIONS', '@PrintLabel', False$)
|
||||
GOSUB Refresh
|
||||
Set_List_Box_Data( @WINDOW )
|
||||
// Use to determine whether or not the New Calibration label was just clicked
|
||||
Set_Property(@Window : '.CALIBRATIONS', '@PrintLabel', False$)
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
@ -95,81 +92,76 @@ Clear:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
IF Get_Property(@WINDOW,'@READONLY') THEN
|
||||
obj_AppWindow('ReadOnly',@RM:1) ;* Reenables data bound controls
|
||||
Set_Property(@WINDOW,'@READONLY',0) ;* Clear flag on window
|
||||
END
|
||||
IF Get_Property(@WINDOW,'@READONLY') THEN
|
||||
obj_AppWindow('ReadOnly',@RM:1) ;* Reenables data bound controls
|
||||
Set_Property(@WINDOW,'@READONLY',0) ;* Clear flag on window
|
||||
END
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Refresh:
|
||||
* * * * * * *
|
||||
|
||||
* QBF buttons
|
||||
* QBF buttons
|
||||
|
||||
Ctrls = @WINDOW:'.QBF_FIRST_FIX':@RM ; Props = 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_PREV_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_ABS_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_NEXT_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_LAST_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_STOP_FIX' ; Props := 'ENABLED'
|
||||
Ctrls = @WINDOW:'.QBF_FIRST_FIX':@RM ; Props = 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_PREV_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_ABS_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_NEXT_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_LAST_FIX':@RM ; Props := 'ENABLED':@RM
|
||||
Ctrls := @WINDOW:'.QBF_STOP_FIX' ; Props := 'ENABLED'
|
||||
|
||||
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
|
||||
Vals = 0:@RM:0:@RM:0:@RM:0:@RM:0:@RM:0
|
||||
END ELSE
|
||||
Vals = 1:@RM:1:@RM:1:@RM:1:@RM:1:@RM:1
|
||||
END
|
||||
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
|
||||
Vals = 0:@RM:0:@RM:0:@RM:0:@RM:0:@RM:0
|
||||
END ELSE
|
||||
Vals = 1:@RM:1:@RM:1:@RM:1:@RM:1:@RM:1
|
||||
END
|
||||
|
||||
Set_Property(Ctrls,Props,Vals)
|
||||
Set_Property(Ctrls,Props,Vals)
|
||||
|
||||
* Turn edit table symbolic column backgrounds to green
|
||||
* Turn edit table symbolic column backgrounds to green
|
||||
|
||||
ETSymbolics = Get_Property(@WINDOW,'@ET_SYMBOLICS') ;* Loaded during 'Create' in obj_Appwindow
|
||||
ETSymbolics = Get_Property(@WINDOW,'@ET_SYMBOLICS') ;* Loaded during 'Create' in obj_Appwindow
|
||||
|
||||
ETCtrls = ETSymbolics<1>
|
||||
ETCols = ETSymbolics<2>
|
||||
|
||||
FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
|
||||
ETCtrl = ETCtrls<1,I>
|
||||
ETList = Get_Property(ETCtrl,'LIST')
|
||||
FOR Line = 1 TO COUNT(ETList,@FM) + (ETList NE '')
|
||||
IF ETList<Line,1> NE '' THEN
|
||||
FOR N = 1 TO COUNT(ETCols<1,Line>,@SVM) + (ETCols<1,Line> NE '')
|
||||
stat = Send_Message(ETCtrl,'COLOR_BY_POS',ETCols<1,Line,N>,Line,GREEN$)
|
||||
NEXT N
|
||||
END
|
||||
NEXT Line
|
||||
NEXT I
|
||||
ETCtrls = ETSymbolics<1>
|
||||
ETCols = ETSymbolics<2>
|
||||
|
||||
FOR I = 1 TO COUNT(ETCtrls,@VM) + (ETCtrls NE '')
|
||||
ETCtrl = ETCtrls<1,I>
|
||||
ETList = Get_Property(ETCtrl,'LIST')
|
||||
FOR Line = 1 TO COUNT(ETList,@FM) + (ETList NE '')
|
||||
IF ETList<Line,1> NE '' THEN
|
||||
FOR N = 1 TO COUNT(ETCols<1,Line>,@SVM) + (ETCols<1,Line> NE '')
|
||||
stat = Send_Message(ETCtrl,'COLOR_BY_POS',ETCols<1,Line,N>,Line,GREEN$)
|
||||
NEXT N
|
||||
END
|
||||
NEXT Line
|
||||
NEXT I
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Read:
|
||||
* * * * * * *
|
||||
|
||||
CLNo = Get_Property(@WINDOW:'.CL_NO','DEFPROP')
|
||||
CLNo = Get_Property(@WINDOW:'.CL_NO','DEFPROP')
|
||||
|
||||
IF RowExists('CALIB_LIST',CLNo) ELSE
|
||||
IF Get_Property(@WINDOW:'.ENTER_DTM','DEFPROP') = '' THEN
|
||||
CurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH')
|
||||
Set_Property(@WINDOW:'.ENTER_DTM','DEFPROP',CurrDTM)
|
||||
|
||||
IF RowExists('CALIB_LIST',CLNo) ELSE
|
||||
IF Get_Property(@WINDOW:'.ENTER_DTM','DEFPROP') = '' THEN
|
||||
CurrDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTH')
|
||||
Set_Property(@WINDOW:'.ENTER_DTM','DEFPROP',CurrDTM)
|
||||
END
|
||||
END
|
||||
END
|
||||
|
||||
GOSUB Refresh
|
||||
// Use to determine whether or not the New Calibration button was just clicked and print if it was
|
||||
PrintCheck = Get_Property(@Window : '.CALIBRATIONS', '@PrintLabel')
|
||||
If PrintCheck EQ True$ then
|
||||
Gosub PrintMostRecentLabel
|
||||
end
|
||||
// Reset flag after read regardless
|
||||
Set_Property(@Window : '.CALIBRATIONS', '@PrintLabel', False$)
|
||||
GOSUB Refresh
|
||||
// Use to determine whether or not the New Calibration button was just clicked and print if it was
|
||||
PrintCheck = Get_Property(@Window : '.CALIBRATIONS', '@PrintLabel')
|
||||
If PrintCheck EQ True$ then
|
||||
Gosub PrintMostRecentLabel
|
||||
end
|
||||
// Reset flag after read regardless
|
||||
Set_Property(@Window : '.CALIBRATIONS', '@PrintLabel', False$)
|
||||
|
||||
RETURN
|
||||
|
||||
@ -187,14 +179,6 @@ RETURN
|
||||
Delete:
|
||||
* * * * * * *
|
||||
|
||||
/*
|
||||
IF Security_Check('Order',Delete$) THEN
|
||||
Result = 1 ;* Proceed with delete
|
||||
END ELSE
|
||||
Security_Err_Msg('Order',Delete$)
|
||||
Result = 0 ;* Stop event chain
|
||||
END
|
||||
*/
|
||||
|
||||
RETURN
|
||||
|
||||
@ -203,13 +187,12 @@ RETURN
|
||||
NewItem:
|
||||
* * * * * * *
|
||||
|
||||
CLNo = Get_Property(@WINDOW:'.CL_NO','DEFPROP')
|
||||
|
||||
IF CLNo = '' THEN
|
||||
NextCLNo = NextKey('CALIB_LIST')
|
||||
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:NextCLNo)
|
||||
END
|
||||
CLNo = Get_Property(@WINDOW:'.CL_NO','DEFPROP')
|
||||
|
||||
IF CLNo = '' THEN
|
||||
NextCLNo = NextKey('CALIB_LIST')
|
||||
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:NextCLNo)
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
@ -218,37 +201,35 @@ RETURN
|
||||
LUCalibItem:
|
||||
* * * * * * *
|
||||
|
||||
CLKeys = Popup(@WINDOW,'','CALIB_LIST')
|
||||
CLKeys = Popup(@WINDOW,'','CALIB_LIST')
|
||||
|
||||
IF Get_Status(errCode) THEN ErrMsg(ErrCode)
|
||||
IF Get_Status(errCode) THEN ErrMsg(ErrCode)
|
||||
|
||||
CONVERT @VM TO @FM IN CLKeys
|
||||
|
||||
IF INDEX(CLKeys,@FM,1) THEN
|
||||
Send_Event(@WINDOW,'QBFINIT')
|
||||
Set_Property(@WINDOW,'QBFLIST',CLKeys)
|
||||
GOSUB Refresh
|
||||
Send_Event(@WINDOW,'QBFIRST')
|
||||
END ELSE
|
||||
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:CLKeys)
|
||||
END
|
||||
CONVERT @VM TO @FM IN CLKeys
|
||||
|
||||
IF INDEX(CLKeys,@FM,1) THEN
|
||||
Send_Event(@WINDOW,'QBFINIT')
|
||||
Set_Property(@WINDOW,'QBFLIST',CLKeys)
|
||||
GOSUB Refresh
|
||||
Send_Event(@WINDOW,'QBFIRST')
|
||||
END ELSE
|
||||
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:CLKeys)
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
LUCalibItemType:
|
||||
* * * * * * *
|
||||
|
||||
CLItemType = Popup(@WINDOW,'','CALIB_LIST_TYPE')
|
||||
CLItemType = Popup(@WINDOW,'','CALIB_LIST_TYPE')
|
||||
|
||||
IF Get_Status(errCode) THEN ErrMsg(ErrCode)
|
||||
IF Get_Status(errCode) THEN ErrMsg(ErrCode)
|
||||
|
||||
IF CLItemType NE '' THEN
|
||||
obj_AppWindow('LUValReturn',CLItemType:@RM:@WINDOW:'.CL_TYPE')
|
||||
END
|
||||
IF CLItemType NE '' THEN
|
||||
obj_AppWindow('LUValReturn',CLItemType:@RM:@WINDOW:'.CL_TYPE')
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
@ -257,27 +238,24 @@ RETURN
|
||||
LUCalibItemLoc:
|
||||
* * * * * * *
|
||||
|
||||
CLItemLoc = Popup(@WINDOW,'','CALIB_LIST_LOC')
|
||||
CLItemLoc = Popup(@WINDOW,'','CALIB_LIST_LOC')
|
||||
|
||||
IF Get_Status(errCode) THEN ErrMsg(ErrCode)
|
||||
IF Get_Status(errCode) THEN ErrMsg(ErrCode)
|
||||
|
||||
IF CLItemLoc NE '' THEN
|
||||
obj_AppWindow('LUValReturn',CLItemLoc:@RM:@WINDOW:'.CAL_LOC')
|
||||
END
|
||||
IF CLItemLoc NE '' THEN
|
||||
obj_AppWindow('LUValReturn',CLItemLoc:@RM:@WINDOW:'.CAL_LOC')
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
* * * * * *
|
||||
Close:
|
||||
* * * * * *
|
||||
|
||||
obj_Notes('Inbox',@USER4) ;* Checks for any new messages
|
||||
|
||||
obj_Notes('Inbox',@USER4) ;* Checks for any new messages
|
||||
|
||||
Send_Event('MASTER_CALIB_LIST','CREATE')
|
||||
Send_Event('MASTER_CALIB_LIST','CREATE')
|
||||
|
||||
RETURN
|
||||
|
||||
@ -287,35 +265,34 @@ RETURN
|
||||
CalibrationsDC:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = @WINDOW:'.CALIBRATIONS'
|
||||
CtrlEntID = @WINDOW:'.CALIBRATIONS'
|
||||
|
||||
CurrPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
CurrPos = Get_Property(CtrlEntID,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
|
||||
CalDt = Get_Property(CtrlEntID,'CELLPOS',COL$CAL_DT:@FM:CurrRow)
|
||||
CalDt = Get_Property(CtrlEntID,'CELLPOS',COL$CAL_DT:@FM:CurrRow)
|
||||
|
||||
CalDt = ICONV(CalDt,'D')
|
||||
CLNo = Get_Property(@WINDOW:'.CL_NO','DEFPROP')
|
||||
CalDt = ICONV(CalDt,'D')
|
||||
CLNo = Get_Property(@WINDOW:'.CL_NO','DEFPROP')
|
||||
|
||||
IF CLNo NE '' AND CalDt NE '' THEN
|
||||
|
||||
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
END
|
||||
|
||||
oaParms = 'CALIBRATION':@RM
|
||||
oaParms := CLNo:'*':CalDt:@RM
|
||||
oaParms := '':@RM ;* Default Record
|
||||
oaParms := CLNo:@RM
|
||||
oaParms := @RM
|
||||
oaParms := CtrlEntID:@RM
|
||||
oaParms := CurrPos
|
||||
|
||||
obj_Appwindow('ViewNewDetail', oaParms)
|
||||
|
||||
IF CLNo NE '' AND CalDt NE '' THEN
|
||||
|
||||
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
END
|
||||
|
||||
oaParms = 'CALIBRATION':@RM
|
||||
oaParms := CLNo:'*':CalDt:@RM
|
||||
oaParms := '':@RM ;* Default Record
|
||||
oaParms := CLNo:@RM
|
||||
oaParms := @RM
|
||||
oaParms := CtrlEntID:@RM
|
||||
oaParms := CurrPos
|
||||
|
||||
obj_Appwindow('ViewNewDetail', oaParms)
|
||||
|
||||
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
@ -324,51 +301,49 @@ RETURN
|
||||
NewCalibClick:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = @WINDOW:'.CALIBRATIONS'
|
||||
CtrlEntID = @WINDOW:'.CALIBRATIONS'
|
||||
|
||||
CLNo = Get_Property(@WINDOW:'.CL_NO','DEFPROP')
|
||||
CLNo = Get_Property(@WINDOW:'.CL_NO','DEFPROP')
|
||||
|
||||
IF CLNo NE '' THEN
|
||||
|
||||
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
IF CLNo NE '' THEN
|
||||
|
||||
IF Get_Property(@WINDOW,'QBFLIST') = '' THEN
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
END
|
||||
|
||||
oaParms = 'CALIBRATION':@RM
|
||||
oaParms := CLNo:@RM
|
||||
oaParms := '':@RM ;* Default Record
|
||||
oaParms := CLNo:@RM
|
||||
oaParms := @RM
|
||||
oaParms := CtrlEntID:@RM
|
||||
oaParms := 1:@FM:1
|
||||
|
||||
obj_Appwindow('ViewNewDetail', oaParms)
|
||||
// New Calibration label was just clicked, set to true
|
||||
Set_Property(@Window : '.CALIBRATIONS', '@PrintLabel', True$)
|
||||
|
||||
END
|
||||
|
||||
oaParms = 'CALIBRATION':@RM
|
||||
oaParms := CLNo:@RM
|
||||
oaParms := '':@RM ;* Default Record
|
||||
oaParms := CLNo:@RM
|
||||
oaParms := @RM
|
||||
oaParms := CtrlEntID:@RM
|
||||
oaParms := 1:@FM:1
|
||||
|
||||
obj_Appwindow('ViewNewDetail', oaParms)
|
||||
// New Calibration label was just clicked, set to true
|
||||
Set_Property(@Window : '.CALIBRATIONS', '@PrintLabel', True$)
|
||||
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
*********************
|
||||
PrintMostRecentLabel:
|
||||
*********************
|
||||
|
||||
CLNo = Get_Property(@WINDOW:'.CL_NO','DEFPROP')
|
||||
CLNo = Get_Property(@WINDOW:'.CL_NO','DEFPROP')
|
||||
|
||||
IF CLNo NE '' THEN
|
||||
TableList = Get_Property(@WINDOW:'.CALIBRATIONS', 'LIST')
|
||||
EquipmentID = Get_Property(@WINDOW:'.EQ_DESC', 'TEXT')
|
||||
LastCalibration = Get_Property(@WINDOW:'.LAST_CAL_DT', 'TEXT')
|
||||
FrequencyVal = Get_Property(@WINDOW:'.CAL_INTERVAL', 'TEXT')
|
||||
FrequencyUnit = 'Months'
|
||||
NextCalibration = Get_Property(@WINDOW:'.NEXT_CAL_DT', 'TEXT')
|
||||
CalibratedBy = TableList<1,2>
|
||||
Labeling_Services('PrintCalibrationLabel', EquipmentID, LastCalibration, NextCalibration, CalibratedBy, FrequencyVal, FrequencyUnit, '')
|
||||
end
|
||||
IF CLNo NE '' THEN
|
||||
TableList = Get_Property(@WINDOW:'.CALIBRATIONS', 'LIST')
|
||||
EquipmentID = Get_Property(@WINDOW:'.EQ_DESC', 'TEXT')
|
||||
LastCalibration = Get_Property(@WINDOW:'.LAST_CAL_DT', 'TEXT')
|
||||
FrequencyVal = Get_Property(@WINDOW:'.CAL_INTERVAL', 'TEXT')
|
||||
FrequencyUnit = 'Months'
|
||||
NextCalibration = Get_Property(@WINDOW:'.NEXT_CAL_DT', 'TEXT')
|
||||
CalibratedBy = TableList<1,2>
|
||||
Labeling_Services('PrintCalibrationLabel', EquipmentID, LastCalibration, NextCalibration, CalibratedBy, FrequencyVal, FrequencyUnit, '')
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,139 +1,138 @@
|
||||
Function Changelog_API(@API)
|
||||
/***********************************************************************************************************************
|
||||
|
||||
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
|
||||
permission from SRP Computer Solutions, Inc.
|
||||
|
||||
Name : Changelog_API
|
||||
|
||||
Description : API logic for the Changelog resource.
|
||||
|
||||
Notes : All web APIs should include the API_SETUP insert. This will provide several useful variables:
|
||||
|
||||
HTTPMethod - The HTTP Method (Verb) submitted by the client (e.g., GET, POST, etc.)
|
||||
APIURL - The URL for the API entry point (e.g., api.mysite.com/v1).
|
||||
FullEndpointURL - The URL submitted by the client, including query params.
|
||||
FullEndpointURLNoQuery - The URL submitted by the client, excluding query params.
|
||||
EndpointSegment - The URL endpoint segment.
|
||||
ParentURL - The URL path preceeding the current endpoint.
|
||||
CurrentAPI - The name of this stored procedure.
|
||||
|
||||
Parameters :
|
||||
API [in] -- Web API to process. Format is [APIPattern].[HTTPMethod]:
|
||||
- APIPattern must follow this structure Changelog[.ID.[<Property>]]
|
||||
- HTTPMethod can be any valid HTTP method, e.g., GET, POST, PUT, DELETE, etc.
|
||||
Examples:
|
||||
- Changelog.POST
|
||||
- Changelog.ID.PUT
|
||||
- Changelog.ID.firstName.GET
|
||||
Response [out] -- Response to be sent back to the Controller (HTTP_MCP) or requesting procedure. Web API
|
||||
services do not rely upon anything being returned in the response. This is what the
|
||||
various services like SetResponseBody and SetResponseStatus services are for. A response
|
||||
value is only helpful if the developers want to use it for debug purposes.
|
||||
|
||||
History : (Date, Initials, Notes)
|
||||
07/24/24 xxx Original programmer.
|
||||
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
Declare function Datetime, SRP_Datetime, Change_Log_Services, Environment_Services, Logging_Services
|
||||
Declare subroutine Logging_Services
|
||||
|
||||
$insert APP_INSERTS
|
||||
$insert API_SETUP
|
||||
$insert HTTP_INSERTS
|
||||
EQU Comma$ to ','
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\API\Admin\ChangeLog'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
LogTime = Oconv(Time(), 'MTS')
|
||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' ChangeLogArchiveService.csv'
|
||||
Headers = 'Logging DTM' : @FM : 'From IP Address' : @FM : 'Message'
|
||||
objLogChangeLogAPI = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
RequesterIPAddr = HTTP_Services('GetHTTPRemoteAddr')
|
||||
|
||||
GoToAPI else
|
||||
// The specific resource endpoint doesn't have a API handler yet.
|
||||
HTTP_Services('SetResponseStatus', 200, 'This is a valid endpoint but a web API handler has not yet been created.')
|
||||
end
|
||||
|
||||
Return Response OR ''
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Endpoint Handlers
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
API changelog.HEAD
|
||||
API changelog.GET
|
||||
StartDtm = Http_Services('GetQueryField', 'FromDatetime')
|
||||
ToDtm = Http_Services('GetQueryField', 'ToDatetime')
|
||||
|
||||
StartDtm = IConv(StartDtm, 'DT')
|
||||
ToDtm = IConv(ToDtm, 'DT')
|
||||
|
||||
If StartDtm EQ '' then
|
||||
StartDtm = SRP_Datetime('AddDays', Datetime(), -60)
|
||||
end
|
||||
If ToDtm EQ '' then
|
||||
ToDtm = Datetime()
|
||||
end
|
||||
|
||||
EntityName = Http_Services('GetQueryField', 'EntityName')
|
||||
UserId = Http_Services('GetQueryField', 'UserID')
|
||||
|
||||
ChangeLogIDs = Change_Log_Services('GetChangeLogRecIDs', EntityName, StartDtm, ToDtm, UserId)
|
||||
If Error_Services('NoError') then
|
||||
GoSub CreateHALCollection
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM
|
||||
LogData<2> = RequesterIPAddr
|
||||
LogData<3> = ErrorMsg
|
||||
Logging_Services('AppendLog', objLogChangeLogAPI, LogData, @RM, @FM)
|
||||
HTTP_Services('SetResponseStatus', 500, 'Error Getting change log records from change_log table.')
|
||||
end
|
||||
|
||||
end api
|
||||
|
||||
CreateHALCollection:
|
||||
hJsonCollection = ''
|
||||
hChangeLogArray = ''
|
||||
hChangeLogObj = ''
|
||||
hChangeLog = ''
|
||||
hChangeLogJson = ''
|
||||
Abort = False$
|
||||
If SRP_JSON(hJSONCollection, 'New', 'Object') then
|
||||
If SRP_JSON(hChangeLogArray, 'New', 'Array') then
|
||||
For each ChangeLogID in ChangeLogIDs using @VM setting fPos
|
||||
//rdsJSON = Rds_Services('ConvertRecordToJSON', rds, '' ,FullEndpointURL:'/':rds)
|
||||
ChangeLogJson = Change_Log_Services('ConvertRecordToJSON', ChangeLogID)
|
||||
If Error_Services('NoError') then
|
||||
If (SRP_JSON(hChangeLog, 'Parse', ChangeLogJson) EQ '') then
|
||||
SRP_JSON(hChangeLogArray, 'Add', hChangeLog)
|
||||
SRP_JSON(hChangeLog, 'Release')
|
||||
end
|
||||
end else
|
||||
Abort = True$
|
||||
end
|
||||
Until Abort
|
||||
Next rds
|
||||
If Abort EQ False$ then
|
||||
SRP_JSON(hJSONCollection, 'Set', 'ChangeLogRecords', hChangeLogArray)
|
||||
end
|
||||
SRP_JSON(hChangeLogArray, 'Release')
|
||||
end
|
||||
JSONCollection = SRP_JSON(hJSONCollection, 'Stringify', 'Styled')
|
||||
SRP_JSON(hJSONCollection, 'Release')
|
||||
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
|
||||
HTTP_Services('SetResponseBody', JSONCollection, False$, 'application/hal+json')
|
||||
HTTP_Services('SetResponseStatus', 200)
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
Function Changelog_API(@API)
|
||||
/***********************************************************************************************************************
|
||||
|
||||
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
|
||||
permission from SRP Computer Solutions, Inc.
|
||||
|
||||
Name : Changelog_API
|
||||
|
||||
Description : API logic for the Changelog resource.
|
||||
|
||||
Notes : All web APIs should include the API_SETUP insert. This will provide several useful variables:
|
||||
|
||||
HTTPMethod - The HTTP Method (Verb) submitted by the client (e.g., GET, POST, etc.)
|
||||
APIURL - The URL for the API entry point (e.g., api.mysite.com/v1).
|
||||
FullEndpointURL - The URL submitted by the client, including query params.
|
||||
FullEndpointURLNoQuery - The URL submitted by the client, excluding query params.
|
||||
EndpointSegment - The URL endpoint segment.
|
||||
ParentURL - The URL path preceeding the current endpoint.
|
||||
CurrentAPI - The name of this stored procedure.
|
||||
|
||||
Parameters :
|
||||
API [in] -- Web API to process. Format is [APIPattern].[HTTPMethod]:
|
||||
- APIPattern must follow this structure Changelog[.ID.[<Property>]]
|
||||
- HTTPMethod can be any valid HTTP method, e.g., GET, POST, PUT, DELETE, etc.
|
||||
Examples:
|
||||
- Changelog.POST
|
||||
- Changelog.ID.PUT
|
||||
- Changelog.ID.firstName.GET
|
||||
Response [out] -- Response to be sent back to the Controller (HTTP_MCP) or requesting procedure. Web API
|
||||
services do not rely upon anything being returned in the response. This is what the
|
||||
various services like SetResponseBody and SetResponseStatus services are for. A response
|
||||
value is only helpful if the developers want to use it for debug purposes.
|
||||
|
||||
History : (Date, Initials, Notes)
|
||||
07/24/24 xxx Original programmer.
|
||||
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
Declare function Datetime, SRP_Datetime, Change_Log_Services, Environment_Services, Logging_Services
|
||||
Declare subroutine Logging_Services
|
||||
|
||||
$insert APP_INSERTS
|
||||
$insert API_SETUP
|
||||
$insert HTTP_INSERTS
|
||||
EQU Comma$ to ','
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\API\Admin\ChangeLog'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
LogTime = Oconv(Time(), 'MTS')
|
||||
LogFileName = LogDate[7, 4] : '-' : LogDate[1, 2] : '-' : LogDate[4, 2] : ' ChangeLogArchiveService.csv'
|
||||
Headers = 'Logging DTM' : @FM : 'From IP Address' : @FM : 'Message'
|
||||
objLogChangeLogAPI = Logging_Services('NewLog', LogPath, LogFileName, CRLF$, Comma$, Headers, '', False$, False$)
|
||||
LoggingDTM = LogDate : ' ' : LogTime ; // Logging DTM
|
||||
RequesterIPAddr = HTTP_Services('GetHTTPRemoteAddr')
|
||||
|
||||
GoToAPI else
|
||||
// The specific resource endpoint doesn't have a API handler yet.
|
||||
HTTP_Services('SetResponseStatus', 200, 'This is a valid endpoint but a web API handler has not yet been created.')
|
||||
end
|
||||
|
||||
Return Response OR ''
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Endpoint Handlers
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
API changelog.HEAD
|
||||
API changelog.GET
|
||||
StartDtm = Http_Services('GetQueryField', 'FromDatetime')
|
||||
ToDtm = Http_Services('GetQueryField', 'ToDatetime')
|
||||
|
||||
StartDtm = IConv(StartDtm, 'DT')
|
||||
ToDtm = IConv(ToDtm, 'DT')
|
||||
|
||||
If StartDtm EQ '' then
|
||||
StartDtm = SRP_Datetime('AddDays', Datetime(), -60)
|
||||
end
|
||||
If ToDtm EQ '' then
|
||||
ToDtm = Datetime()
|
||||
end
|
||||
|
||||
EntityName = Http_Services('GetQueryField', 'EntityName')
|
||||
UserId = Http_Services('GetQueryField', 'UserID')
|
||||
|
||||
ChangeLogIDs = Change_Log_Services('GetChangeLogRecIDs', EntityName, StartDtm, ToDtm, UserId)
|
||||
If Error_Services('NoError') then
|
||||
GoSub CreateHALCollection
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM
|
||||
LogData<2> = RequesterIPAddr
|
||||
LogData<3> = ErrorMsg
|
||||
Logging_Services('AppendLog', objLogChangeLogAPI, LogData, @RM, @FM)
|
||||
HTTP_Services('SetResponseStatus', 500, 'Error Getting change log records from change_log table.')
|
||||
end
|
||||
|
||||
end api
|
||||
|
||||
CreateHALCollection:
|
||||
hJsonCollection = ''
|
||||
hChangeLogArray = ''
|
||||
hChangeLogObj = ''
|
||||
hChangeLog = ''
|
||||
hChangeLogJson = ''
|
||||
Abort = False$
|
||||
If SRP_JSON(hJSONCollection, 'New', 'Object') then
|
||||
If SRP_JSON(hChangeLogArray, 'New', 'Array') then
|
||||
For each ChangeLogID in ChangeLogIDs using @VM setting fPos
|
||||
//rdsJSON = Rds_Services('ConvertRecordToJSON', rds, '' ,FullEndpointURL:'/':rds)
|
||||
ChangeLogJson = Change_Log_Services('ConvertRecordToJSON', ChangeLogID)
|
||||
If Error_Services('NoError') then
|
||||
If (SRP_JSON(hChangeLog, 'Parse', ChangeLogJson) EQ '') then
|
||||
SRP_JSON(hChangeLogArray, 'Add', hChangeLog)
|
||||
SRP_JSON(hChangeLog, 'Release')
|
||||
end
|
||||
end else
|
||||
Abort = True$
|
||||
end
|
||||
Until Abort
|
||||
Next rds
|
||||
If Abort EQ False$ then
|
||||
SRP_JSON(hJSONCollection, 'Set', 'ChangeLogRecords', hChangeLogArray)
|
||||
end
|
||||
SRP_JSON(hChangeLogArray, 'Release')
|
||||
end
|
||||
JSONCollection = SRP_JSON(hJSONCollection, 'Stringify', 'Styled')
|
||||
SRP_JSON(hJSONCollection, 'Release')
|
||||
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
|
||||
HTTP_Services('SetResponseBody', JSONCollection, False$, 'application/hal+json')
|
||||
HTTP_Services('SetResponseStatus', 200)
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
258
LSL2/STPROC/CLEAN_API.txt
Normal file
258
LSL2/STPROC/CLEAN_API.txt
Normal file
@ -0,0 +1,258 @@
|
||||
Function Clean_API(@API)
|
||||
/***********************************************************************************************************************
|
||||
|
||||
This program is proprietary and is not to be used by or disclosed to others, nor is it to be copied without written
|
||||
permission from SRP Computer Solutions, Inc.
|
||||
|
||||
Name : Clean_API
|
||||
|
||||
Description : API logic for the Clean resource.
|
||||
|
||||
Notes : All web APIs should include the API_SETUP insert. This will provide several useful variables:
|
||||
|
||||
HTTPMethod - The HTTP Method (Verb) submitted by the client (e.g., GET, POST, etc.)
|
||||
APIURL - The URL for the API entry point (e.g., api.mysite.com/v1).
|
||||
FullEndpointURL - The URL submitted by the client, including query params.
|
||||
FullEndpointURLNoQuery - The URL submitted by the client, excluding query params.
|
||||
EndpointSegment - The URL endpoint segment.
|
||||
ParentURL - The URL path preceeding the current endpoint.
|
||||
CurrentAPI - The name of this stored procedure.
|
||||
|
||||
Parameters :
|
||||
API [in] -- Web API to process. Format is [APIPattern].[HTTPMethod]:
|
||||
- APIPattern must follow this structure Clean[.ID.[<Property>]]
|
||||
- HTTPMethod can be any valid HTTP method, e.g., GET, POST, PUT, DELETE, etc.
|
||||
Examples:
|
||||
- Clean.POST
|
||||
- Clean.ID.PUT
|
||||
- Clean.ID.firstName.GET
|
||||
Response [out] -- Response to be sent back to the Controller (HTTP_MCP) or requesting procedure. Web API
|
||||
services do not rely upon anything being returned in the response. This is what the
|
||||
various services like SetResponseBody and SetResponseStatus services are for. A response
|
||||
value is only helpful if the developers want to use it for debug purposes.
|
||||
|
||||
History : (Date, Initials, Notes)
|
||||
06/18/25 xxx Original programmer.
|
||||
|
||||
***********************************************************************************************************************/
|
||||
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
Declare function OI_Wizard_Services, Lot_Operation_Services, Database_Services, Lot_Services, Clean_Services
|
||||
Declare subroutine Clean_Services, Lot_Services
|
||||
|
||||
$insert APP_INSERTS
|
||||
$insert API_SETUP
|
||||
$insert HTTP_INSERTS
|
||||
$insert OI_WIZARD_EQUATES
|
||||
$insert LOT_OPERATION_EQUATES
|
||||
|
||||
GoToAPI else
|
||||
// The specific resource endpoint doesn't have a API handler yet.
|
||||
HTTP_Services('SetResponseStatus', 204, 'This is a valid endpoint but a web API handler has not yet been created.')
|
||||
end
|
||||
|
||||
Return Response OR ''
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Endpoint Handlers
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
API clean.ID.HEAD
|
||||
API clean.ID.GET
|
||||
|
||||
ErrorMessage = ''
|
||||
ResponseCode = ''
|
||||
ResponseMessage = ''
|
||||
Body = ''
|
||||
OIWizardID = ''
|
||||
Cookies = HTTP_Services('GetHTTPCookie')
|
||||
For each Cookie in Cookies using ';'
|
||||
Key = Field(Cookie, '=', 1)
|
||||
If Key EQ 'sessionID' then
|
||||
OIWizardID = Field(Cookie, '=', 2)
|
||||
end
|
||||
Next Cookie
|
||||
|
||||
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
|
||||
|
||||
If ValidSession then
|
||||
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
|
||||
StatusCode = ''
|
||||
CleanRecId = EndpointSegment
|
||||
CleanRecJson = Clean_Services('ConvertCleanRecToJson', CleanRecId)
|
||||
If Error_Services('NoError') then
|
||||
Http_Services('SetResponseBody', CleanRecJson, False$, 'application/hal+json')
|
||||
ResponseCode = 200
|
||||
end else
|
||||
ErrorMessage = Error_Services('GetMessage')
|
||||
ResponseCode = 500
|
||||
end
|
||||
end else
|
||||
ErrorMessage = 'Invalid session. Reauthentication required.'
|
||||
ResponseCode = 401
|
||||
end
|
||||
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
|
||||
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
|
||||
|
||||
end api
|
||||
|
||||
|
||||
API clean.ID.markcleanrecordcomplete.POST
|
||||
|
||||
ErrorMessage = ''
|
||||
ResponseCode = ''
|
||||
ResponseMessage = ''
|
||||
Body = ''
|
||||
OIWizardID = ''
|
||||
Cookies = HTTP_Services('GetHTTPCookie')
|
||||
For each Cookie in Cookies using ';'
|
||||
Key = Field(Cookie, '=', 1)
|
||||
If Key EQ 'sessionID' then
|
||||
OIWizardID = Field(Cookie, '=', 2)
|
||||
end
|
||||
Next Cookie
|
||||
|
||||
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
|
||||
|
||||
If ValidSession then
|
||||
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
|
||||
StatusCode = ''
|
||||
Body = HTTP_Services('GetHTTPPostString', True$)
|
||||
// The POST string will have been encoded so use percent (URL) decoding.
|
||||
DecodedJSON = HTTP_Services('DecodePercentString', Body)
|
||||
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
|
||||
CleanRecId = ParentSegment
|
||||
LotOperationId = SRP_JSON(objBody, 'GetValue', 'LotOperationId')
|
||||
CleanTool = SRP_JSON(objBody, 'GetValue', 'CleanTool')
|
||||
CleanRecipe = SRP_JSON(objBody, 'GetValue', 'CleanRecipe')
|
||||
SRP_JSON(objBody, 'Release')
|
||||
Clean_Services('MarkCleanRecComplete', CleanRecId, CleanRecipe, CleanTool, UserId)
|
||||
If Error_Services('NoError') then
|
||||
CleanRecJson = Clean_Services('ConvertCleanRecToJson', CleanRecId)
|
||||
HTTP_Services('SetResponseBody', CleanRecJson, False$, 'application/hal+json')
|
||||
ResponseCode = 200
|
||||
end else
|
||||
ErrorMessage = Error_Services('GetMessage')
|
||||
ResponseCode = 500
|
||||
end
|
||||
end
|
||||
|
||||
end else
|
||||
ErrorMessage = 'Invalid session. Reauthentication required.'
|
||||
ResponseCode = 401
|
||||
end
|
||||
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
|
||||
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
|
||||
|
||||
end api
|
||||
|
||||
|
||||
API clean.createcleanrecord.POST
|
||||
|
||||
ErrorMessage = ''
|
||||
ResponseCode = ''
|
||||
ResponseMessage = ''
|
||||
Body = ''
|
||||
OIWizardID = ''
|
||||
Cookies = HTTP_Services('GetHTTPCookie')
|
||||
For each Cookie in Cookies using ';'
|
||||
Key = Field(Cookie, '=', 1)
|
||||
If Key EQ 'sessionID' then
|
||||
OIWizardID = Field(Cookie, '=', 2)
|
||||
end
|
||||
Next Cookie
|
||||
|
||||
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
|
||||
|
||||
If ValidSession then
|
||||
UserId = Xlate('OI_WIZARD', OIWizardID, OI_WIZARD.EMPLOYEE_ID$, 'X')
|
||||
StatusCode = ''
|
||||
Body = HTTP_Services('GetHTTPPostString', True$)
|
||||
// The POST string will have been encoded so use percent (URL) decoding.
|
||||
DecodedJSON = HTTP_Services('DecodePercentString', Body)
|
||||
If SRP_JSON(objBody, 'Parse', Body) EQ '' then
|
||||
LotId = SRP_JSON(objBody, 'GetValue', 'LotId')
|
||||
LotOperationId = SRP_JSON(objBody, 'GetValue', 'LotOperationId')
|
||||
SRP_JSON(objBody, 'Release')
|
||||
end
|
||||
CleanRecId = Clean_Services('CreateNewCleanRecord', LotId, LotOperationId, UserId)
|
||||
If Error_Services('NoError') then
|
||||
CleanRecJson = Clean_Services('ConvertCleanRecToJson', CleanRecId)
|
||||
HTTP_Services('SetResponseBody', CleanRecJson, False$, 'application/hal+json')
|
||||
ResponseCode = 200
|
||||
end else
|
||||
ErrorMessage = Error_Services('GetMessage')
|
||||
ResponseCode = 500
|
||||
end
|
||||
end else
|
||||
ErrorMessage = 'Invalid session. Reauthentication required.'
|
||||
ResponseCode = 401
|
||||
end
|
||||
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
|
||||
HTTP_Services('SetResponseStatus', ResponseCode, ErrorMessage)
|
||||
|
||||
end api
|
||||
|
||||
|
||||
API clean.getnewcleanoperationparams.HEAD
|
||||
API clean.getnewcleanoperationparams.GET
|
||||
|
||||
JSONCollection = ''
|
||||
OIWizardID = ''
|
||||
Cookies = HTTP_Services('GetHTTPCookie')
|
||||
For each Cookie in Cookies using ';'
|
||||
Key = Field(Cookie, '=', 1)
|
||||
If Key EQ 'sessionID' then
|
||||
OIWizardID = Field(Cookie, '=', 2)
|
||||
end
|
||||
Next Cookie
|
||||
|
||||
ValidSession = OI_Wizard_Services('ValidateSession', OIWizardID)
|
||||
If ValidSession then
|
||||
Body = HTTP_Services('GetHTTPGetString')
|
||||
If Body NE '' then
|
||||
RequestJson = HTTP_Services('DecodePercentString', Body)
|
||||
LotId = Http_Services('GetQueryField', 'LotId')
|
||||
objJSONResponse = ''
|
||||
If SRP_Json(objJSONResponse, 'New', 'Object') then
|
||||
//Available Tools
|
||||
If SRP_Json(objCleanTools, 'New', 'Array') then
|
||||
CleanTools = Clean_Services('GetCleanToolOptions')
|
||||
for each CleanTool in CleanTools using @FM
|
||||
SRP_Json(objCleanTools, 'AddValue', CleanTool, 'String')
|
||||
Next CleanTool
|
||||
SRP_Json(objJsonResponse, 'Set', 'CleanToolOptions', objCleanTools)
|
||||
SRP_Json(objCleanTools, 'Release')
|
||||
end
|
||||
//Available Recipes
|
||||
If SRP_Json(objCleanRecipes, 'New', 'Array') then
|
||||
CleanRecipes = Clean_Services('GetCleanRecipeOptions')
|
||||
for each Recipe in CleanRecipes using @VM
|
||||
SRP_Json(objCleanRecipes, 'AddValue', Recipe, 'String')
|
||||
Next Recipe
|
||||
SRP_Json(objJsonResponse, 'Set', 'CleanRecipeOptions', objCleanRecipes)
|
||||
SRP_Json(objCleanRecipes, 'Release')
|
||||
end
|
||||
JsonResponse = SRP_Json(objJsonResponse, 'Stringify', 'Styled')
|
||||
SRP_Json(objJsonResponse, 'Release')
|
||||
end else
|
||||
Error_Services('Add', 'Error when creating JSON response.')
|
||||
end
|
||||
end else
|
||||
Error_Services('Add', 'No body was sent with the request.')
|
||||
end
|
||||
If Error_Services('NoError') then
|
||||
HTTP_Services('SetResponseStatus', 201, 'Success')
|
||||
HTTP_Services('SetResponseHeaderField', 'Content-Location', FullEndpointURL)
|
||||
HTTP_Services('SetResponseBody', JsonResponse, False$, 'application/hal+json')
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 400, Error_Services('GetMessage'))
|
||||
end
|
||||
end else
|
||||
HTTP_Services('SetResponseStatus', 401, 'Invalid session. Reauthentication required.')
|
||||
end
|
||||
|
||||
end api
|
||||
@ -72,11 +72,12 @@ $insert WM_OUT_EQUATES
|
||||
$insert WO_LOG_EQUATES
|
||||
$insert ROTR_EQUATES
|
||||
$insert WO_MAT_EQUATES
|
||||
$Insert IFX_EQUATES
|
||||
|
||||
Equ Comma$ to ','
|
||||
|
||||
Declare function Error_Services, Database_Services, Environment_Services, QA_Services, RDS_Services, MemberOf
|
||||
Declare subroutine Error_Services, Database_Services, Post_Metrology_Manual_Data_Entry_Log
|
||||
Declare subroutine Error_Services, Database_Services, Post_Metrology_Manual_Data_Entry_Log, Service_Services
|
||||
Declare subroutine Qa_Services
|
||||
|
||||
If KeyID then GoSub Initialize_System_Variables
|
||||
@ -799,96 +800,15 @@ WRITE_RECORD:
|
||||
|
||||
WONo = Record<CLEAN_INSP_WO_NO$>
|
||||
ReactType = Xlate('WO_LOG', WONo, 'REACT_TYPE', 'X')
|
||||
EpiPro = (ReactType EQ 'EPP')
|
||||
GaN = (ReactType EQ 'GAN')
|
||||
NonEpiPro = ( (ReactType NE 'EPP') and (ReactType NE 'GAN') )
|
||||
Stage = Record<CLEAN_INSP_STAGE$>
|
||||
|
||||
If Stage EQ 'LWI' then
|
||||
RDSNo = Record<CLEAN_INSP_RDS_NO$>
|
||||
PostCIKey = Xlate('RDS', RDSNo, 'POST_CI_NO', 'X')
|
||||
If PostCIKey NE '' then
|
||||
FailedWafers = Record<CLEAN_INSP_FAILED_WAFERS$>
|
||||
If FailedWafers NE '' then
|
||||
NewPostSpecSampleQty = Sum(FailedWafers)
|
||||
PostCIRec = Database_Services('ReadDataRow', 'CLEAN_INSP', PostCIKey)
|
||||
PostSpecRecipes = PostCIRec<CLEAN_INSP_SPEC_SURFSCAN_RECIPE$>
|
||||
NumRecipes = DCount(PostSpecRecipes, @VM)
|
||||
If NumRecipes GT 0 then
|
||||
For RecipeIndex = 1 to NumRecipes
|
||||
CurrSpec = PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex>
|
||||
If ( (CurrSpec EQ '') or (CurrSpec LT NewPostSpecSampleQty) ) then
|
||||
PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex> = NewPostSpecSampleQty
|
||||
end
|
||||
Next RecipeIndex
|
||||
Database_Services('WriteDataRow', 'CLEAN_INSP', PostCIKey, PostCIRec, True$, False$, True$)
|
||||
end
|
||||
end
|
||||
end
|
||||
Service_Services('PostProcedure', 'CLEAN_INSP_SERVICES', 'UpdatePostCISampleQty':SD$:Name)
|
||||
end
|
||||
|
||||
If NonEpiPro then
|
||||
// Sync up Insp, Clean, and SurfScan signatures with WO_MAT signature profile
|
||||
Stage = {STAGE}
|
||||
|
||||
WOMatKey = {WO_MAT_KEY}
|
||||
// Update failed wafer list
|
||||
QA_Services('UpdateFailedWafers', WOMatKey)
|
||||
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey)
|
||||
WOMatSigProf = WOMatRec<WO_MAT_SIG_PROFILE$>
|
||||
WOMatSigs = WOMatRec<WO_MAT_SIGNATURE$>
|
||||
WOMatSigDTMs = WOMatRec<WO_MAT_SIG_DTM$>
|
||||
|
||||
OrigInspSig = OrigRecord<CLEAN_INSP_INSP_SIG$>
|
||||
OrigInspSigDTM = OrigRecord<CLEAN_INSP_INSP_SIG_DTM$>
|
||||
InspSig = Record<CLEAN_INSP_INSP_SIG$>
|
||||
InspSigDTM = Record<CLEAN_INSP_INSP_SIG_DTM$>
|
||||
|
||||
OrigCleanSig = OrigRecord<CLEAN_INSP_CLEAN_SIG$>
|
||||
OrigCleanSigDTM = OrigRecord<CLEAN_INSP_CLEAN_SIG_DTM$>
|
||||
CleanSig = Record<CLEAN_INSP_CLEAN_SIG$>
|
||||
CleanSigDTM = Record<CLEAN_INSP_CLEAN_SIG_DTM$>
|
||||
|
||||
OrigScanSig = OrigRecord<CLEAN_INSP_SCAN_SIG$>
|
||||
OrigScanSigDTM = OrigRecord<CLEAN_INSP_SCAN_SIG_DTM$>
|
||||
ScanSig = Record<CLEAN_INSP_SCAN_SIG$>
|
||||
ScanSigDTM = Record<CLEAN_INSP_SCAN_SIG_DTM$>
|
||||
|
||||
SigProfUpdate = False$
|
||||
|
||||
If ( (OrigInspSig NE InspSig) or (OrigInspSigDTM NE InspSigDTM) ) then
|
||||
WOMatStage = '1':Stage:'I'
|
||||
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
|
||||
WOMatSigs<0, vPos> = InspSig[-1, 'B':@VM]
|
||||
WOMatSigDTMs<0, vPos> = InspSigDTM[-1, 'B':@VM]
|
||||
SigProfUpdate = True$
|
||||
end
|
||||
end
|
||||
|
||||
If ( (OrigCleanSig NE CleanSig) or (OrigCleanSigDTM NE CleanSigDTM) ) then
|
||||
WOMatStage = '1':Stage:'C'
|
||||
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
|
||||
WOMatSigs<0, vPos> = CleanSig[-1, 'B':@VM]
|
||||
WOMatSigDTMs<0, vPos> = CleanSigDTM[-1, 'B':@VM]
|
||||
SigProfUpdate = True$
|
||||
end
|
||||
end
|
||||
|
||||
If ( (OrigScanSig NE ScanSig) or (OrigScanSigDTM NE ScanSigDTM) ) then
|
||||
WOMatStage = '1':Stage:'S'
|
||||
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
|
||||
WOMatSigs<0, vPos> = ScanSig[-1, 'B':@VM]
|
||||
WOMatSigDTMs<0, vPos> = ScanSigDTM[-1, 'B':@VM]
|
||||
SigProfUpdate = True$
|
||||
end
|
||||
end
|
||||
|
||||
If SigProfUpdate then
|
||||
NumSteps = DCount(WOMatSigProf, @VM)
|
||||
WOMatRec<WO_MAT_SIGNATURE$> = Field(WOMatSigs, @VM, 1, NumSteps)
|
||||
WOMatRec<WO_MAT_SIG_DTM$> = Field(WOMatSigDTMs, @VM, 1, NumSteps)
|
||||
Database_Services('WriteDataRow', 'WO_MAT', WOMatKey, WOMatRec, True$, False$, True$)
|
||||
end
|
||||
Service_Services('PostProcedure', 'QA_SERVICES', 'UpdateFailedWafers':SD$:WOMatKey)
|
||||
Service_Services('PostProcedure', 'CLEAN_INSP_SERVICES', 'PushSigProfileToWoMat':SD$:Name)
|
||||
end
|
||||
|
||||
return
|
||||
@ -945,4 +865,3 @@ Restore_System_Variables:
|
||||
@FILE.ERROR = OrigFileError
|
||||
return
|
||||
|
||||
|
||||
|
||||
@ -56,7 +56,8 @@ $Insert PRS_STAGE_EQUATES
|
||||
$Insert WO_MAT_EQUATES
|
||||
|
||||
Declare function Database_Services, SRP_JSON, Error_Services, obj_Clean_Insp
|
||||
Declare subroutine Database_Services, SRP_JSON, Error_Services, obj_React_Run, Clean_Insp_Services, React_Run_Services, Btree.Extract
|
||||
Declare subroutine Database_Services, SRP_JSON, Error_Services, obj_React_Run, Clean_Insp_Services, React_Run_Services
|
||||
Declare subroutine Transaction_Services, Btree.Extract
|
||||
|
||||
GoToService
|
||||
|
||||
@ -439,11 +440,13 @@ Service UpdateAllCleanInsp(WOMatKey)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// This service functions as a means to get the latest CINo for a specified RDS No where the defectivity measurements took place
|
||||
// This is specifically used to have the latest defectivity data
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
Service GetLatestDefectCINoByRDSId(RDSNo)
|
||||
|
||||
LatestCINo = ''
|
||||
LatestInspDtm = ''
|
||||
Open 'DICT CLEAN_INSP' to @DICT then
|
||||
@ -464,6 +467,136 @@ Service GetLatestDefectCINoByRDSId(RDSNo)
|
||||
end
|
||||
end
|
||||
Response = LatestCINo
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service PushSigProfileToWoMat(CleanInspKey)
|
||||
|
||||
ErrorMsg = ''
|
||||
If (CleanInspKey NE '') then
|
||||
If RowExists('CLEAN_INSP', CleanInspKey) then
|
||||
Record = Database_Services('ReadDataRow', 'CLEAN_INSP', CleanInspKey)
|
||||
If Error_Services('NoError') then
|
||||
WONo = Record<CLEAN_INSP_WO_NO$>
|
||||
ReactType = Xlate('WO_LOG', WONo, 'REACT_TYPE', 'X')
|
||||
NonEpiPro = ( (ReactType NE 'EPP') and (ReactType NE 'GAN') )
|
||||
If NonEpiPro then
|
||||
// Sync up Insp, Clean, and SurfScan signatures with WO_MAT signature profile
|
||||
Stage = Record<CLEAN_INSP_STAGE$>
|
||||
WOMatKey = Xlate('CLEAN_INSP', CleanInspKey, 'WO_MAT_KEY', 'X')
|
||||
If WOMatKey NE '' then
|
||||
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey)
|
||||
If Error_Services('NoError') then
|
||||
WOMatSigProf = WOMatRec<WO_MAT_SIG_PROFILE$>
|
||||
WOMatSigs = WOMatRec<WO_MAT_SIGNATURE$>
|
||||
WOMatSigDTMs = WOMatRec<WO_MAT_SIG_DTM$>
|
||||
WOMatSigsOrig = WOMatSigs
|
||||
WOMatSigDTMsOrig = WOMatSigDTMs
|
||||
|
||||
InspSig = Record<CLEAN_INSP_INSP_SIG$>
|
||||
InspSigDTM = Record<CLEAN_INSP_INSP_SIG_DTM$>
|
||||
CleanSig = Record<CLEAN_INSP_CLEAN_SIG$>
|
||||
CleanSigDTM = Record<CLEAN_INSP_CLEAN_SIG_DTM$>
|
||||
ScanSig = Record<CLEAN_INSP_SCAN_SIG$>
|
||||
ScanSigDTM = Record<CLEAN_INSP_SCAN_SIG_DTM$>
|
||||
|
||||
WOMatStage = '1':Stage:'I'
|
||||
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
|
||||
WOMatSigs<0, vPos> = InspSig[-1, 'B':@VM]
|
||||
WOMatSigDTMs<0, vPos> = InspSigDTM[-1, 'B':@VM]
|
||||
end
|
||||
|
||||
WOMatStage = '1':Stage:'C'
|
||||
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
|
||||
WOMatSigs<0, vPos> = CleanSig[-1, 'B':@VM]
|
||||
WOMatSigDTMs<0, vPos> = CleanSigDTM[-1, 'B':@VM]
|
||||
end
|
||||
|
||||
WOMatStage = '1':Stage:'S'
|
||||
Locate WOMatStage in WOMatSigProf using @VM setting vPos then
|
||||
WOMatSigs<0, vPos> = ScanSig[-1, 'B':@VM]
|
||||
WOMatSigDTMs<0, vPos> = ScanSigDTM[-1, 'B':@VM]
|
||||
end
|
||||
|
||||
NumSteps = DCount(WOMatSigProf, @VM)
|
||||
WOMatSigs = Field(WOMatSigs, @VM, 1, NumSteps)
|
||||
WOMatSigDTMs = Field(WOMatSigDTMs, @VM, 1, NumSteps)
|
||||
If WOMatSigs NE WOMatSigsOrig then
|
||||
Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIGNATURE$, WOMatSigs)
|
||||
end
|
||||
If WOMatSigDTMs NE WOMatSigDTMsOrig then
|
||||
Transaction_Services('PostWriteFieldTransaction', 'WO_MAT', WOMatKey, WO_MAT_SIG_DTM$, WOMatSigDTMs)
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null WO_MAT_KEY returned for CLEAN_INSP ':CleanInspKey:'.'
|
||||
end
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. CLEAN_INSP ':CleanInspKey:' does not exist.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null CleanInspKey passed into service.'
|
||||
end
|
||||
|
||||
If ErrorMsg NE '' then Error_Services('Add', ErrorMsg)
|
||||
|
||||
end service
|
||||
|
||||
|
||||
Service UpdatePostCISampleQty(CleanInspKey)
|
||||
|
||||
ErrorMsg = ''
|
||||
If CleanInspKey NE '' then
|
||||
If RowExists('CLEAN_INSP', CleanInspKey) then
|
||||
Record = Database_Services('ReadDataRow', 'CLEAN_INSP', CleanInspKey)
|
||||
If Error_Services('NoError') then
|
||||
Stage = Record<CLEAN_INSP_STAGE$>
|
||||
If Stage EQ 'LWI' then
|
||||
RDSNo = Record<CLEAN_INSP_RDS_NO$>
|
||||
PostCIKey = Xlate('RDS', RDSNo, 'POST_CI_NO', 'X')
|
||||
If PostCIKey NE '' then
|
||||
FailedWafers = Record<CLEAN_INSP_FAILED_WAFERS$>
|
||||
If FailedWafers NE '' then
|
||||
NewPostSpecSampleQty = Sum(FailedWafers)
|
||||
PostCIRec = Database_Services('ReadDataRow', 'CLEAN_INSP', PostCIKey)
|
||||
PostSpecRecipes = PostCIRec<CLEAN_INSP_SPEC_SURFSCAN_RECIPE$>
|
||||
NumRecipes = DCount(PostSpecRecipes, @VM)
|
||||
If NumRecipes GT 0 then
|
||||
UpdatePostRec = False$
|
||||
For RecipeIndex = 1 to NumRecipes
|
||||
CurrSpec = PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex>
|
||||
If ( (CurrSpec EQ '') or (CurrSpec LT NewPostSpecSampleQty) ) then
|
||||
UpdatePostRec = True$
|
||||
PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$, RecipeIndex> = NewPostSpecSampleQty
|
||||
end
|
||||
Next RecipeIndex
|
||||
If UpdatePostRec then
|
||||
PostCISpecSampQty = PostCIRec<CLEAN_INSP_SPEC_SS_SAMP_QTY$>
|
||||
Transaction_Services('PostWriteFieldTransaction', 'CLEAN_INSP', PostCIKey, CLEAN_INSP_SPEC_SS_SAMP_QTY$, PostCISpecSampQty)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Error message: ':Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. CLEAN_INSP ':CleanInspKey:' does not exist.'
|
||||
end
|
||||
end else
|
||||
ErrorMsg = 'Error in ':Service:' service. Null CleanInspKey passed into service.'
|
||||
end
|
||||
|
||||
If ErrorMsg NE '' then Error_Services('Add', ErrorMsg)
|
||||
|
||||
end service
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
217
LSL2/STPROC/CLEAN_SERVICES.txt
Normal file
217
LSL2/STPROC/CLEAN_SERVICES.txt
Normal file
@ -0,0 +1,217 @@
|
||||
Compile function Clean_Services(@Service, @Params)
|
||||
#pragma precomp SRP_PreCompiler
|
||||
|
||||
Declare Function Database_Services, Error_Services, Logging_Services, Datetime
|
||||
Declare Function RTI_CreateGUID, Tool_Services, SRP_Json, Date_Services
|
||||
Declare Subroutine Database_Services, Error_Services, Logging_Services, SRP_Json, Lot_Event_Services
|
||||
|
||||
$insert LOGICAL
|
||||
$Insert CLEAN_EQUATES
|
||||
$Insert LOT_EQUATES
|
||||
$Insert LOT_OPERATION_EQUATES
|
||||
$Insert TOOL_EQUATES
|
||||
$Insert TOOL_CLASS_EQUATES
|
||||
|
||||
Options Stage = 'LWI',
|
||||
|
||||
GoToService
|
||||
|
||||
Return Response or ""
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// SERVICES
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
Service CreateNewCleanRecord(LotId, LotOperationId, UserId)
|
||||
|
||||
ErrorMessage = ''
|
||||
CleanRecId = ''
|
||||
If RowExists('LOT', LotId) then
|
||||
//ToDo check Lot Operation Exists
|
||||
//Checks complete, create the CLEAN record
|
||||
TransDtm = Datetime()
|
||||
CleanRecId = RTI_CreateGUID()
|
||||
CleanRec = ''
|
||||
CleanRec<CLEAN_LOT_ID$> = LotId
|
||||
CleanRec<CLEAN_LOT_OPERATION_ID$> = LotOperationId
|
||||
CleanRec<CLEAN_CLEAN_START_DTM$> = TransDtm
|
||||
CleanRec<CLEAN_CLEAN_START_USER_ID$> = UserId
|
||||
Database_Services('WriteDataRow', 'CLEAN', CleanRecId, CleanRec)
|
||||
If Error_Services('NoError') then
|
||||
If LotOperationId NE '' then
|
||||
LotOperationRec = Database_Services('ReadDataRow', 'LOT_OPERATION', LotOperationId, True$, 0, False$)
|
||||
LotOperationRec<LOT_OPERATION_CLEAN_ID$> = CleanRecId
|
||||
Database_Services('WriteDataRow', 'LOT_OPERATION', LotOperationId, LotOperationRec)
|
||||
If Error_Services('NoError') then
|
||||
Lot_Event_Services('CreateLotEvent', LotId, TransDtm, 'CLEAN_START', 'Created clean record.', '', UserId)
|
||||
end else
|
||||
ErrorMessage = Error_Services('GetMessage')
|
||||
end
|
||||
end
|
||||
end else
|
||||
ErrorMessage = Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
//Todo add error message
|
||||
end
|
||||
|
||||
If ErrorMessage EQ '' then
|
||||
Response = CleanRecId
|
||||
end else
|
||||
// Todo: Add logging
|
||||
ErrorMessage = 'Error Creating a new clean record: ' : ErrorMessage
|
||||
Error_Services('Add', ErrorMessage)
|
||||
end
|
||||
|
||||
End Service
|
||||
|
||||
Service ConvertCleanRecToJson(CleanRecId)
|
||||
|
||||
ErrorMessage = ''
|
||||
CleanRecJson = ''
|
||||
|
||||
If RowExists('CLEAN', CleanRecId) then
|
||||
CleanRec = Database_Services('ReadDataRow', 'CLEAN', CleanRecId, True$, 0, False$)
|
||||
If Error_Services('NoError') then
|
||||
objJson = ''
|
||||
If SRP_Json(objJson, 'New', 'Object') then
|
||||
SRP_Json(objJson, 'SetValue', 'CleanId', CleanRecId, 'String')
|
||||
SRP_Json(objJson, 'SetValue', 'LotId', CleanRec<CLEAN_LOT_ID$>, 'String')
|
||||
LegacyLotId = Database_Services('ReadDataColumn', 'LOT', CleanRec<CLEAN_LOT_ID$>, LOT_LEGACY_LOT_ID$)
|
||||
SRP_Json(objJson, 'SetValue', 'LegacyLotId', LegacyLotId, 'String')
|
||||
SRP_Json(objJson, 'SetValue', 'Recipe', CleanRec<CLEAN_RECIPE$>, 'String')
|
||||
SRP_Json(objJson, 'SetValue', 'Tool', CleanRec<CLEAN_TOOL$>, 'String')
|
||||
SRP_Json(objJson, 'SetValue', 'StartUser', CleanRec<CLEAN_CLEAN_START_USER_ID$>, 'String')
|
||||
StartDtm = Date_Services('ConvertDateTimeToISO8601', CleanRec<CLEAN_CLEAN_START_DTM$>)
|
||||
if StartDtm NE '' then
|
||||
SRP_Json(objJson, 'SetValue', 'StartDtm', StartDtm)
|
||||
end
|
||||
SRP_Json(objJson, 'SetValue', 'StopUser', CleanRec<CLEAN_CLEAN_STOP_USER_ID$>, 'String')
|
||||
StopDtm = Date_Services('ConvertDateTimeToISO8601', CleanRec<CLEAN_CLEAN_STOP_DTM$>)
|
||||
if StopDtm NE '' then
|
||||
SRP_Json(objJson, 'SetValue', 'StopDtm', StopDtm, 'String')
|
||||
end
|
||||
SRP_Json(objJson, 'SetValue', 'LotOperationId', CleanRec<CLEAN_LOT_OPERATION_ID$>, 'String')
|
||||
CleanRecJson = SRP_Json(objJson, 'Stringify', 'Styled')
|
||||
SRP_Json(objJson, 'Release')
|
||||
end else
|
||||
ErrorMessage = 'Error creating clean record json'
|
||||
end
|
||||
end else
|
||||
ErrorMessage = Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
ErrorMessage = 'Clean record not found.'
|
||||
end
|
||||
|
||||
If ErrorMessage EQ '' then
|
||||
Response = CleanRecJson
|
||||
end else
|
||||
Error_Services('Add', 'Error getting clean record : ' : ErrorMessage)
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
Service MarkCleanRecComplete(CleanRecId, CleanRecipe, CleanTool, CleanUser)
|
||||
|
||||
ErrorMessage = ''
|
||||
TransDtm = Datetime()
|
||||
|
||||
If RowExists('CLEAN', CleanRecId) then
|
||||
CleanRec = Database_Services('ReadDataRow', 'CLEAN', CleanRecId, True$, 0, False$)
|
||||
If CleanRec<CLEAN_CLEAN_START_DTM$> NE '' then
|
||||
If CleanRec<CLEAN_TOOL$> EQ '' AND CleanRec<CLEAN_RECIPE$> EQ '' then
|
||||
if RowExists('LSL_USERS', CleanUser) then
|
||||
If CleanRec<CLEAN_COMPLETE_DTM$> EQ '' then
|
||||
CleanRec<CLEAN_TOOL$> = CleanTool
|
||||
CleanRec<CLEAN_RECIPE$> = CleanRecipe
|
||||
CleanRec<CLEAN_CLEAN_STOP_USER_ID$> = CleanUser
|
||||
CleanRec<CLEAN_CLEAN_STOP_DTM$> = TransDtm
|
||||
Database_Services('WriteDataRow', 'CLEAN', CleanRecId, CleanRec)
|
||||
If Error_Services('NoError') then
|
||||
LotId = CleanRec<CLEAN_LOT_ID$>
|
||||
Lot_Event_Services('CreateLotEvent', LotId, TransDtm, 'CLEAN', 'Clean completed', CleanTool, CleanUser)
|
||||
end else
|
||||
ErrorMessage = Error_Services('GetMessage')
|
||||
end
|
||||
end else
|
||||
ErrorMessage = 'Clean is already signed off.'
|
||||
end
|
||||
end else
|
||||
ErrorMessage = 'Clean tool or clean recipe is missing.'
|
||||
end
|
||||
end else
|
||||
ErrorMessage = 'Clean has already been logged.'
|
||||
end
|
||||
end else
|
||||
ErrorMessage = 'Clean has not been started.'
|
||||
end
|
||||
end else
|
||||
ErrorMessage = 'Clean record not found.'
|
||||
end
|
||||
|
||||
If ErrorMessage NE '' then
|
||||
Error_Services('Add', ErrorMessage)
|
||||
end
|
||||
|
||||
end service
|
||||
|
||||
Service ValidateCleanRecord(CleanRecId)
|
||||
|
||||
//ErrorMessage = ''
|
||||
CleanRecValid = False$
|
||||
|
||||
* If CleanRecId NE '' then
|
||||
* If RowExists('CLEAN', CleanRecId) then
|
||||
* CleanRec = Database_Services('ReadDataRow', 'CLEAN', CleanRecId, True$, 0, False$)
|
||||
* SpecTool = CleanRec<CLEAN_TOOL$>
|
||||
* ToolUsed = CleanRec<CLEAN_RECIPE$>
|
||||
* If ToolUsed EQ SpecTool AND ToolUsed NE '' then
|
||||
* SpecRecipe = CleanRec<CLEAN_SPEC_RECIPE$>
|
||||
* RecipeUsed = CleanRec<CLEAN_RECIPE$>
|
||||
* If RecipeUsed EQ SpecRecipe AND RecipeUsed NE '' then
|
||||
* CleanRecValid = True$
|
||||
* end
|
||||
* end
|
||||
* end else
|
||||
* ErrorMessage = 'Clean record not found in CLEAN database.'
|
||||
* end
|
||||
* end else
|
||||
* ErrorMessage = 'Clean ID was null.'
|
||||
* end
|
||||
*
|
||||
* If ErrorMessage EQ '' then
|
||||
* Response = CleanRecValid
|
||||
* end else
|
||||
* // Todo: Add logging
|
||||
* ErrorMessage = 'Error validating clean record: ' : ErrorMessage
|
||||
* Error_Services('Add', ErrorMessage)
|
||||
* end
|
||||
|
||||
Response = CleanRecValid
|
||||
End Service
|
||||
|
||||
Service GetCleanToolOptions(CleanRecId)
|
||||
|
||||
If RowExists('CLEAN', CleanRecId) then
|
||||
CleanTools = Database_Services('ReadDataColumn', 'CLEAN', CleanRecId, CLEAN_SPEC_CLEAN_TOOL$, True$, 0, False$)
|
||||
end else
|
||||
CleanTools = Tool_Services('GetTools', 'AKRION')
|
||||
end
|
||||
|
||||
Response = CleanTools
|
||||
|
||||
end service
|
||||
|
||||
Service GetCleanRecipeOptions(CleanRecId)
|
||||
|
||||
If RowExists('CLEAN', CleanRecId) then
|
||||
Recipes = Database_Services('ReadDataColumn', 'CLEAN', CleanRecId, CLEAN_SPEC_CLEAN_RECIPE$, True$, 0, False$)
|
||||
end else
|
||||
//Todo: Make this smarter, so as to block out pre-epi recipes
|
||||
Recipes = XLATE('TOOL_CLASS','AKRION',TOOL_CLASS_RECIPES$,'X')
|
||||
end
|
||||
|
||||
Response = Recipes
|
||||
|
||||
end service
|
||||
File diff suppressed because it is too large
Load Diff
@ -50,109 +50,112 @@ RETURN Result
|
||||
* * * * * * *
|
||||
Create:
|
||||
* * * * * * *
|
||||
|
||||
obj_AppWindow('Create')
|
||||
|
||||
Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX')
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
|
||||
obj_AppWindow('Create')
|
||||
|
||||
Set_Property(@WINDOW,'STATUSLINE',@WINDOW:'.STATUSLINE_FIX')
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Refresh:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
ReactNoGF:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
* Don't add a return here
|
||||
|
||||
* * * * * * *
|
||||
LUReactor:
|
||||
* * * * * * *
|
||||
|
||||
IF NOT(ASSIGNED(Parm1)) THEN FocusControl = '' ELSE FocusControl = Parm1
|
||||
IF NOT(ASSIGNED(Parm2)) THEN FocusPos = '' ELSE FocusPos = Parm2
|
||||
|
||||
Set_Status(0)
|
||||
|
||||
TypeOver = ''
|
||||
TypeOver<PSELECT$> = '2' ;* Multiple Select
|
||||
TypeOver<PTYPE$> = 'E' ;* Return entire row
|
||||
|
||||
ReactData = Popup(@WINDOW,TypeOver,'REACTORS')
|
||||
|
||||
IF ReactData = '' THEN RETURN
|
||||
|
||||
Set_Property(@WINDOW:'.REACT_NO','LIST',ReactData)
|
||||
|
||||
LineCnt = COUNT(ReactData,@FM) + (ReactData NE '')
|
||||
ColCnt = 7
|
||||
|
||||
FOR Line = 1 TO LineCnt
|
||||
FOR Column = 2 TO ColCnt
|
||||
stat = Send_Message(@WINDOW:'.REACT_NO','COLOR_BY_POS',Column,Line,GREEN$)
|
||||
NEXT Column
|
||||
NEXT Line
|
||||
|
||||
|
||||
IF NOT(ASSIGNED(Parm1)) THEN FocusControl = '' ELSE FocusControl = Parm1
|
||||
IF NOT(ASSIGNED(Parm2)) THEN FocusPos = '' ELSE FocusPos = Parm2
|
||||
|
||||
Set_Status(0)
|
||||
|
||||
TypeOver = ''
|
||||
TypeOver<PSELECT$> = '2' ;* Multiple Select
|
||||
TypeOver<PTYPE$> = 'E' ;* Return entire row
|
||||
|
||||
ReactData = Popup(@WINDOW,TypeOver,'REACTORS')
|
||||
|
||||
IF ReactData = '' THEN RETURN
|
||||
|
||||
Set_Property(@WINDOW:'.REACT_NO','LIST',ReactData)
|
||||
|
||||
LineCnt = COUNT(ReactData,@FM) + (ReactData NE '')
|
||||
ColCnt = 7
|
||||
|
||||
FOR Line = 1 TO LineCnt
|
||||
FOR Column = 2 TO ColCnt
|
||||
stat = Send_Message(@WINDOW:'.REACT_NO','COLOR_BY_POS',Column,Line,GREEN$)
|
||||
NEXT Column
|
||||
NEXT Line
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
Cancel:
|
||||
* * * * * * *
|
||||
|
||||
End_Dialog(@WINDOW,'')
|
||||
|
||||
|
||||
End_Dialog(@WINDOW,'')
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
* * * * * * *
|
||||
PostEntries:
|
||||
* * * * * * *
|
||||
|
||||
ReactNos = Get_Property(@WINDOW:'.REACT_NO','ARRAY')<COL$REACT_NO>
|
||||
Comment = Get_Property(@WINDOW:'.COMMENT','DEFPROP')
|
||||
|
||||
LOOP
|
||||
TestChar = ReactNos[-1,1]
|
||||
UNTIL TestChar NE @VM OR ReactNos = ''
|
||||
ReactNos[-1,1] = ''
|
||||
REPEAT
|
||||
|
||||
EventKeys = '' ;* Keys to return to the REACT_EVENT window for a browse of the newly created records
|
||||
|
||||
IF ReactNos NE '' AND Comment NE '' THEN
|
||||
|
||||
EventDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS') ;* Same DTM for all new records
|
||||
EventType = 'PD' ;* Passdown
|
||||
LoggedBy = @USER4
|
||||
|
||||
ReactCnt = COUNT(ReactNos,@VM) + (ReactNos NE '')
|
||||
ReactNos = Get_Property(@WINDOW:'.REACT_NO','ARRAY')<COL$REACT_NO>
|
||||
Comment = Get_Property(@WINDOW:'.COMMENT','DEFPROP')
|
||||
|
||||
FOR I = 1 TO ReactCnt
|
||||
ReactNo = ReactNos<1,I>
|
||||
CurrMode = XLATE('REACTOR',ReactNo,'CURR_MODE','X')
|
||||
LOOP
|
||||
TestChar = ReactNos[-1,1]
|
||||
UNTIL TestChar NE @VM OR ReactNos = ''
|
||||
ReactNos[-1,1] = ''
|
||||
REPEAT
|
||||
|
||||
EventKeys = '' ;* Keys to return to the REACT_EVENT window for a browse of the newly created records
|
||||
|
||||
IF ReactNos NE '' AND Comment NE '' THEN
|
||||
|
||||
obj_React_Event('Create',ReactNo:@RM:EventDTM:@RM:EventType:@RM:LoggedBy:@RM:Comment:@RM:@RM:CurrMode)
|
||||
EventKeys<I> = ReactNo:'*':ICONV(EventDTM,'DT')
|
||||
NEXT I
|
||||
|
||||
END
|
||||
|
||||
End_Dialog(@WINDOW,EventKeys)
|
||||
|
||||
EventDTM = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS') ;* Same DTM for all new records
|
||||
EventType = 'PD' ;* Passdown
|
||||
LoggedBy = @USER4
|
||||
|
||||
ReactCnt = COUNT(ReactNos,@VM) + (ReactNos NE '')
|
||||
|
||||
FOR I = 1 TO ReactCnt
|
||||
ReactNo = ReactNos<1,I>
|
||||
CurrMode = XLATE('REACTOR',ReactNo,'CURR_MODE','X')
|
||||
|
||||
obj_React_Event('Create',ReactNo:@RM:EventDTM:@RM:EventType:@RM:LoggedBy:@RM:Comment:@RM:@RM:CurrMode)
|
||||
|
||||
ErrCode = ''
|
||||
If Get_Status(ErrCode) then
|
||||
Msg(@Window, '', 'OK', '', 'Process Error':@FM:'Error posting entries. ':ErrCode)
|
||||
end else
|
||||
Set_Property(@Window:'.REACT_NO', 'LIST', '')
|
||||
Set_Property(@Window:'.COMMENT', 'TEXT', '')
|
||||
end
|
||||
|
||||
EventKeys<I> = ReactNo:'*':ICONV(EventDTM,'DT')
|
||||
NEXT I
|
||||
|
||||
END else
|
||||
Msg(@Window, '', 'OK', '', 'Process Error':@FM:'React No(s) and Comment must not be null!')
|
||||
end
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -556,8 +556,6 @@ UnloadProduct:
|
||||
Next CassNo
|
||||
end
|
||||
|
||||
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@ -639,3 +637,4 @@ SlotOverview:
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -10,11 +10,12 @@ COMPILE FUNCTION Comm_Dialog_WO_Scan(Method, Parm1)
|
||||
DECLARE SUBROUTINE Set_Property, End_Dialog, Set_Status, ErrMsg, Extract_SI_Keys, Logging_Services
|
||||
DECLARE SUBROUTINE obj_Appwindow, Start_Window, Msg, Btree.Extract, Error_Services
|
||||
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Send_Message, Set_FSError, Environment_Services
|
||||
DECLARE FUNCTION obj_Vendor_Code, Msg, Error_Services, Logging_Services
|
||||
DECLARE FUNCTION obj_Vendor_Code, Msg, Error_Services, Logging_Services, Error_Services, Service_Services
|
||||
|
||||
$INSERT LOGICAL
|
||||
$INSERT MSG_EQUATES
|
||||
$INSERT APPCOLORS
|
||||
$INSERT IFX_EQUATES
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
|
||||
@ -23,14 +24,16 @@ EQU COL$LQP_QTY TO 2
|
||||
EQU COL$LQP_PART TO 3 ;* This is either Cust Part No OR Substrate Part Number depending on which control is visible
|
||||
EQU COL$LQP_VENDOR TO 4 ;* Vendor code on the Substrate screen 7/14/2011 JCH for SAP
|
||||
|
||||
EQU CA$ITEM_NO TO 1 ;* Equates for Checking Array passed to Scan routine
|
||||
EQU CA$LOT_NO TO 2
|
||||
EQU CA$LOT_QTY TO 3
|
||||
EQU CA$CUST_PART_NO TO 4
|
||||
EQU CA$SUB_PART_NO TO 5
|
||||
EQU CA$SCANNED_LOT_QTY TO 6
|
||||
EQU CA$VERIFY_PART_NO TO 7
|
||||
EQU CA$SUB_SUPP_BY TO 8
|
||||
EQU CA$ITEM_NO TO 1 ;* Equates for Checking Array passed to Scan routine
|
||||
EQU CA$LOT_NO TO 2
|
||||
EQU CA$LOT_QTY TO 3
|
||||
EQU CA$CUST_PART_NO TO 4
|
||||
EQU CA$SUB_PART_NO TO 5
|
||||
EQU CA$SCANNED_LOT_QTY TO 6
|
||||
EQU CA$VERIFY_PART_NO TO 7
|
||||
EQU CA$SUB_SUPP_BY TO 8
|
||||
EQU CA$WO_NO TO 9
|
||||
EQU CA$REC_DTM TO 10
|
||||
|
||||
LogPath = Environment_Services('GetApplicationRootPath') : '\LogFiles\Receiving'
|
||||
LogDate = Oconv(Date(), 'D4/')
|
||||
@ -48,7 +51,6 @@ Result = ''
|
||||
BEGIN CASE
|
||||
CASE Method = 'Create' ; GOSUB Create
|
||||
CASE Method = 'OK' ; GOSUB OK
|
||||
CASE Method = 'Cancel' ; GOSUB Cancel
|
||||
CASE Method = 'FieldClick' ; GOSUB FieldClick
|
||||
CASE Method = 'LQP' ; GOSUB LQP
|
||||
CASE 1
|
||||
@ -61,47 +63,47 @@ RETURN Result
|
||||
Create:
|
||||
* * * * * * *
|
||||
|
||||
VendorDef = Parm1[1,@FM]
|
||||
VendorDef = Parm1[1,@FM]
|
||||
|
||||
CheckArray = FIELD(Parm1,@FM,2,999)
|
||||
CheckArray = FIELD(Parm1,@FM,2,999)
|
||||
|
||||
Set_Property(@WINDOW,'@VENDOR_DEF',VendorDef)
|
||||
Set_Property(@WINDOW,'@VENDOR_DEF',VendorDef)
|
||||
|
||||
OpenQty = CheckArray<CA$LOT_QTY>
|
||||
Set_Property(@WINDOW:'.OPEN_QTY','TEXT',OCONV(OpenQty,'MD0,')) ;* 12/6/2011 JCH
|
||||
OpenQty = CheckArray<CA$LOT_QTY>
|
||||
Set_Property(@WINDOW:'.OPEN_QTY','TEXT',OCONV(OpenQty,'MD0,')) ;* 12/6/2011 JCH
|
||||
|
||||
Set_Property(@WINDOW,'@CHECK_ARRAY',CheckArray)
|
||||
obj_AppWindow('Create')
|
||||
Set_Property(@WINDOW,'@CHECK_ARRAY',CheckArray)
|
||||
obj_AppWindow('Create')
|
||||
|
||||
TimeStamp = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS')
|
||||
Set_Property(@WINDOW:'.RX_DTM','DEFPROP',TimeStamp)
|
||||
Set_Property(@WINDOW,'FOCUS',@WINDOW:'.RX_DTM')
|
||||
Set_Property(@WINDOW:'.RX_DTM','SELECTION',1:@FM:65534)
|
||||
TimeStamp = OCONV(Date(),'D4/'):' ':OCONV(Time(),'MTS')
|
||||
Set_Property(@WINDOW:'.RX_DTM','DEFPROP',TimeStamp)
|
||||
Set_Property(@WINDOW,'FOCUS',@WINDOW:'.RX_DTM')
|
||||
Set_Property(@WINDOW:'.RX_DTM','SELECTION',1:@FM:65534)
|
||||
|
||||
GOSUB Refresh
|
||||
GOSUB Refresh
|
||||
|
||||
|
||||
* * * * * * *
|
||||
FieldClick:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = @WINDOW:'.FIELD_RADIO'
|
||||
CtrlEntID = @WINDOW:'.FIELD_RADIO'
|
||||
|
||||
ControlSelection = Get_Property(CtrlEntID,'VALUE')
|
||||
ControlSelection = Get_Property(CtrlEntID,'VALUE')
|
||||
|
||||
Ctrls = @WINDOW:'.LOT_QTY':@RM ; Props = 'VISIBLE':@RM
|
||||
Ctrls := @WINDOW:'.LOT_QTY_PART':@RM ; Props := 'VISIBLE':@RM
|
||||
Ctrls := @WINDOW:'.LOT_QTY_SUB_PART':@RM ; Props := 'VISIBLE':@RM
|
||||
Ctrls := @WINDOW:'.WINDOW_LABEL_FIX' ; Props := 'TEXT'
|
||||
Ctrls = @WINDOW:'.LOT_QTY':@RM ; Props = 'VISIBLE':@RM
|
||||
Ctrls := @WINDOW:'.LOT_QTY_PART':@RM ; Props := 'VISIBLE':@RM
|
||||
Ctrls := @WINDOW:'.LOT_QTY_SUB_PART':@RM ; Props := 'VISIBLE':@RM
|
||||
Ctrls := @WINDOW:'.WINDOW_LABEL_FIX' ; Props := 'TEXT'
|
||||
|
||||
|
||||
BEGIN CASE
|
||||
CASE ControlSelection = 'LQ' ; Vals = '1':@RM:'0':@RM:'0':@RM:'Customer Wafers'
|
||||
CASE ControlSelection = 'LQP' ; Vals = '0':@RM:'1':@RM:'0':@RM:'Customer Wafers'
|
||||
CASE ControlSelection = 'LQSP' ; Vals = '0':@RM:'0':@RM:'1':@RM:'Substrates'
|
||||
END CASE
|
||||
BEGIN CASE
|
||||
CASE ControlSelection = 'LQ' ; Vals = '1':@RM:'0':@RM:'0':@RM:'Customer Wafers'
|
||||
CASE ControlSelection = 'LQP' ; Vals = '0':@RM:'1':@RM:'0':@RM:'Customer Wafers'
|
||||
CASE ControlSelection = 'LQSP' ; Vals = '0':@RM:'0':@RM:'1':@RM:'Substrates'
|
||||
END CASE
|
||||
|
||||
Set_Property(Ctrls,Props,Vals)
|
||||
Set_Property(Ctrls,Props,Vals)
|
||||
|
||||
RETURN
|
||||
|
||||
@ -109,11 +111,15 @@ RETURN
|
||||
Close:
|
||||
* * * * * * *
|
||||
|
||||
* * * * * * *
|
||||
Cancel:
|
||||
* * * * * * *
|
||||
ProcIds = Get_Property(@Window, '@PROC_IDS')
|
||||
|
||||
End_Dialog(@WINDOW,'Cancel')
|
||||
If ProcIds NE '' then
|
||||
Response = ProcIds
|
||||
end else
|
||||
Response = 'Cancel'
|
||||
end
|
||||
|
||||
End_Dialog(@WINDOW,Response)
|
||||
|
||||
RETURN
|
||||
|
||||
@ -122,271 +128,288 @@ RETURN
|
||||
Refresh:
|
||||
* * * * * * *
|
||||
|
||||
ListArray = Get_Property(CtrlEntId,'ARRAY')
|
||||
CheckArray = Get_Property(@WINDOW,'@CHECK_ARRAY')
|
||||
TotalScannedQty = SUM(ListArray<COL$LQP_QTY>)
|
||||
OpenQty = CheckArray<CA$LOT_QTY>
|
||||
ListArray = Get_Property(CtrlEntId,'ARRAY')
|
||||
CheckArray = Get_Property(@WINDOW,'@CHECK_ARRAY')
|
||||
TotalScannedQty = SUM(ListArray<COL$LQP_QTY>)
|
||||
OpenQty = CheckArray<CA$LOT_QTY>
|
||||
|
||||
Set_Property(@WINDOW:'.SCANNED_QTY','TEXT',OCONV(TotalScannedQty,'MD0,'))
|
||||
Set_Property(@WINDOW:'.SCANNED_QTY','TEXT',OCONV(TotalScannedQty,'MD0,'))
|
||||
|
||||
IF TotalScannedQty < OpenQty THEN
|
||||
Set_Property(@WINDOW:'.SCANNED_QTY','BACKCOLOR',GREEN$)
|
||||
END ELSE
|
||||
Set_Property(@WINDOW:'.SCANNED_QTY','BACKCOLOR',RED$)
|
||||
END
|
||||
IF TotalScannedQty < OpenQty THEN
|
||||
Set_Property(@WINDOW:'.SCANNED_QTY','BACKCOLOR',GREEN$)
|
||||
END ELSE
|
||||
Set_Property(@WINDOW:'.SCANNED_QTY','BACKCOLOR',RED$)
|
||||
END
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
* * * * * * *
|
||||
LQP:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = Get_Property(@WINDOW,'FOCUS')
|
||||
StripANSI = Get_Property(@WINDOW:'.STRIP_ANSI','CHECK')
|
||||
SkipSubANSI = Get_Property(@WINDOW:'.SKIP_SUBSTRATE_ANSI','CHECK')
|
||||
CtrlEntID = Get_Property(@WINDOW,'FOCUS')
|
||||
StripANSI = Get_Property(@WINDOW:'.STRIP_ANSI','CHECK')
|
||||
SkipSubANSI = Get_Property(@WINDOW:'.SKIP_SUBSTRATE_ANSI','CHECK')
|
||||
|
||||
CheckArray = Get_Property(@WINDOW,'@CHECK_ARRAY')
|
||||
CheckArray = Get_Property(@WINDOW,'@CHECK_ARRAY')
|
||||
|
||||
BEGIN CASE
|
||||
CASE CtrlEntID = @WINDOW:'.LOT_QTY' ; ColCnt = 2
|
||||
CASE CtrlEntID = @WINDOW:'.LOT_QTY_PART' ; ColCnt = 3
|
||||
CASE CtrlEntID = @WINDOW:'.LOT_QTY_SUB_PART' ; ColCnt = 4
|
||||
END CASE
|
||||
BEGIN CASE
|
||||
CASE CtrlEntID = @WINDOW:'.LOT_QTY' ; ColCnt = 2
|
||||
CASE CtrlEntID = @WINDOW:'.LOT_QTY_PART' ; ColCnt = 3
|
||||
CASE CtrlEntID = @WINDOW:'.LOT_QTY_SUB_PART' ; ColCnt = 4
|
||||
END CASE
|
||||
|
||||
PrevSelPos = Get_Property(CtrlEntId,"PREVSELPOS")
|
||||
PrevCol = PrevSelPos<1>
|
||||
PrevRow = PrevSelPos<2>
|
||||
CurrPos = Get_Property(CtrlEntId,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
ListData = Get_Property(CtrlEntId,'LIST')
|
||||
PrevSelPos = Get_Property(CtrlEntId,"PREVSELPOS")
|
||||
PrevCol = PrevSelPos<1>
|
||||
PrevRow = PrevSelPos<2>
|
||||
CurrPos = Get_Property(CtrlEntId,'SELPOS')
|
||||
CurrCol = CurrPos<1>
|
||||
CurrRow = CurrPos<2>
|
||||
ListData = Get_Property(CtrlEntId,'LIST')
|
||||
|
||||
IF ListData<CurrRow,CurrCol> = '' THEN
|
||||
ColPointer = CurrCol
|
||||
LinePointer = CurrRow
|
||||
|
||||
* Find the first non-empty cell
|
||||
LOOP
|
||||
Test = ListData<LinePointer,(ColPointer) >
|
||||
UNTIL Test NE '' OR (LinePointer = 0 AND ColPointer = 1)
|
||||
ColPointer -= 1
|
||||
IF ColPointer = 0 THEN
|
||||
ColPointer = ColCnt
|
||||
LinePointer -= 1
|
||||
END
|
||||
REPEAT
|
||||
* Move one past the non empty cell
|
||||
BEGIN CASE
|
||||
CASE LinePointer = 0
|
||||
* Empty Table
|
||||
LinePointer = 1
|
||||
CoilPointer = 1
|
||||
CASE ColPointer = ColCnt
|
||||
LinePointer += 1
|
||||
ColPointer = 1
|
||||
CASE 1
|
||||
ColPointer += 1
|
||||
END CASE
|
||||
Set_Property(CtrlEntId,"SELPOS",ColPointer:@FM:LinePointer)
|
||||
END
|
||||
|
||||
// Global scan validation check. Only alpha-numeric, dashes, spaces, and periods permitted.
|
||||
ValidationScan = Trim(ListData<PrevRow,PrevCol>)
|
||||
Convert @Lower_Case to @Upper_Case in ValidationScan
|
||||
Convert 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- ./' to '' in ValidationScan
|
||||
//DPC 2/18/20 - changed validation to allow foward slash per supplier lot naming (Global Wafer)
|
||||
//FYI - conversion would only work when separated from above line
|
||||
Convert '/' to '' in ValidationScan
|
||||
If ValidationScan NE '' then
|
||||
Error_Services('Set', 'Scanned code ' : Quote(Trim(ListData<PrevRow,PrevCol>)) : ' contains an invalid character. Please re-scan.')
|
||||
end
|
||||
|
||||
If Error_Services('NoError') then
|
||||
IF ListData<PrevRow,PrevCol> NE '' THEN
|
||||
IF ListData<CurrRow,CurrCol> = '' THEN
|
||||
ColPointer = CurrCol
|
||||
LinePointer = CurrRow
|
||||
|
||||
* Find the first non-empty cell
|
||||
LOOP
|
||||
Test = ListData<LinePointer,(ColPointer) >
|
||||
UNTIL Test NE '' OR (LinePointer = 0 AND ColPointer = 1)
|
||||
ColPointer -= 1
|
||||
IF ColPointer = 0 THEN
|
||||
ColPointer = ColCnt
|
||||
LinePointer -= 1
|
||||
END
|
||||
REPEAT
|
||||
* Move one past the non empty cell
|
||||
BEGIN CASE
|
||||
CASE PrevCol = COL$LQP_LOT
|
||||
|
||||
IF StripANSI THEN
|
||||
RawLot = TRIM(ListData<PrevRow,PrevCol>)
|
||||
IF RawLot[1,2] = '1T' OR RawLot[1,2] = '2T' THEN
|
||||
LotNo = RawLot[3,99]
|
||||
END ELSE
|
||||
Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Scanned Code ':QUOTE(RawLot):' is not an ANSI Lot No.')
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos)
|
||||
Set_Property(CtrlEntID,'INVALUE','',PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
RETURN
|
||||
END
|
||||
END ELSE
|
||||
LotNo = TRIM(ListData<PrevRow,PrevCol>)
|
||||
END
|
||||
|
||||
IF CtrlEntID NE @WINDOW:'.LOT_QTY_SUB_PART' THEN
|
||||
|
||||
* Don't check Customer Lot Numbers if scanning substrates
|
||||
|
||||
LOCATE LotNo IN CheckArray<CA$LOT_NO> USING @VM SETTING Pos ELSE
|
||||
* Accept or Rescan message
|
||||
Resp = Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Lot No ':QUOTE(LotNo):' not found in':@TM:'Order Item Lot Numbers!')
|
||||
LotNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos) ;* Cursor to Lot No for a rescan
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
END
|
||||
END
|
||||
|
||||
Set_Property(CtrlEntID,'INVALUE',LotNo,PrevSelPos)
|
||||
|
||||
CASE PrevCol = COL$LQP_QTY
|
||||
|
||||
IF StripANSI THEN
|
||||
RawLotQty = ListData<PrevRow,PrevCol>
|
||||
IF RawLotQty[1,1] = 'Q' THEN
|
||||
LotQty = RawLotQty[2,99]
|
||||
END ELSE
|
||||
Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Scanned Code ':QUOTE(RawLotQty):' is not an ANSI Quantity')
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos)
|
||||
Set_Property(CtrlEntID,'INVALUE','',PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
RETURN
|
||||
END
|
||||
END ELSE
|
||||
LotQty = ListData<PrevRow,PrevCol>
|
||||
END
|
||||
|
||||
IF NOT(NUM(LotQty)) THEN
|
||||
* Accept or Rescan message
|
||||
Resp = Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Lot Qty ':QUOTE(LotQty):' is not a number!')
|
||||
LotNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos) ;* Cursor to Lot No for a rescan
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
END
|
||||
|
||||
Set_Property(CtrlEntID,'INVALUE',LotQty,PrevSelPos)
|
||||
|
||||
|
||||
CASE PrevCol = COL$LQP_PART
|
||||
// Check scanned part number for 5 segments. If there are 5 segments then use segments 3 and 4
|
||||
// to make the actual part number.
|
||||
ScannedPartNo = Trim(ListData<PrevRow, PrevCol>)
|
||||
If DCount(ScannedPartNo, '-') EQ 5 then
|
||||
RawPartNo = ''
|
||||
If ScannedPartNo[1, 1] _EQC 'P' then RawPartNo := 'P'
|
||||
If ScannedPartNo[1, 1] _EQC 'S' then RawPartNo := 'S'
|
||||
RawPartNo := Field(ScannedPartNo, '-', 3, 2)
|
||||
ListData<PrevRow, PrevCol> = RawPartNo
|
||||
end
|
||||
RawPartNo = TRIM(ListData<PrevRow,PrevCol>)
|
||||
IF StripANSI AND NOT(SkipSubAnsi) THEN ;***************************************
|
||||
RawPartNo = TRIM(ListData<PrevRow,PrevCol>)
|
||||
IF RawPartNo[1,1] _EQC 'P' OR RawPartNo[1,1] _EQC 'S' THEN
|
||||
PartNo = RawPartNo[2,99]
|
||||
END ELSE
|
||||
Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Scanned Code ':QUOTE(RawPartNo):' is not an ANSI Part No')
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos)
|
||||
Set_Property(CtrlEntID,'INVALUE','',PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
RETURN
|
||||
END
|
||||
END ELSE
|
||||
PartNo = ListData<PrevRow,PrevCol>
|
||||
END
|
||||
|
||||
IF CtrlEntID = @WINDOW:'.LOT_QTY_PART' THEN
|
||||
* Check Customer Part Numbers
|
||||
LOCATE PartNo IN CheckArray<CA$VERIFY_PART_NO> USING @VM SETTING Pos THEN
|
||||
PartNo = CheckArray<CA$CUST_PART_NO,Pos>
|
||||
END ELSE
|
||||
* Accept or Rescan message
|
||||
Resp = Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Part No ':QUOTE(PartNo):' not found in':@TM:'Order Customer Part Numbers!')
|
||||
PartNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos) ;* Cursor to Lot No for a rescan
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
END
|
||||
|
||||
END ELSE
|
||||
* Check Substrate Part Numbers
|
||||
LOCATE PartNo IN CheckArray<CA$SUB_PART_NO> USING @VM SETTING Pos ELSE
|
||||
* Accept or Rescan message
|
||||
Resp = Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Part No ':QUOTE(PartNo):' not found in':@TM:'Order Substrate Part Numbers!')
|
||||
PartNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos) ;* Cursor to Lot No for a rescan
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
END
|
||||
END ;* End of check for Customer supplied or Inventory substrate part number
|
||||
|
||||
Set_Property(CtrlEntID,'INVALUE',PartNo,PrevSelPos)
|
||||
|
||||
CASE PrevCol = COL$LQP_VENDOR
|
||||
|
||||
SubSuppBy = CheckArray<CA$SUB_SUPP_BY>
|
||||
VendCode = ''
|
||||
IF StripANSI AND NOT(SkipSubAnsi) THEN
|
||||
RawVendCode = TRIM(ListData<PrevRow,PrevCol>)
|
||||
IF RawVendCode[1,2] = '1V' THEN
|
||||
VendCode = RawVendCode[3,99]
|
||||
END ELSE
|
||||
TypeOver = ''
|
||||
TypeOver<MTYPE$> = 'B&Rescan'
|
||||
TypeOver<MTEXT$> = 'Scanned Code ':QUOTE(RawVendCode):' is not an ANSI Vendor Code'
|
||||
Resp = Msg(@WINDOW, '','OK', '', 'Scan Error':@FM:'Scanned Code ':QUOTE(RawVendCode):' is not an ANSI Vendor Code')
|
||||
Set_Property(CtrlEntID,"SELPOS",PrevSelPos)
|
||||
Set_Property(CtrlEntID,'INVALUE','',PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
RETURN
|
||||
END
|
||||
END ELSE
|
||||
VendCode = ListData<PrevRow,PrevCol>
|
||||
END
|
||||
|
||||
IF RowExists('SEMI_VEND_CODE', VendCode) OR SubSuppBy = 'C' ELSE
|
||||
* Accept or Rescan message
|
||||
If VendCode EQ '' then VendCode = RawVendCode
|
||||
Resp = Msg(@WINDOW, '','OK', '', 'Scan Error':@FM:'Vendor Code ':QUOTE(VendCode):' not found in':@TM:'Vendor Codes on file!')
|
||||
VendCode = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos) ;* Cursor to Lot No for a rescan
|
||||
Set_Property(CtrlEntID,'INVALUE','',PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
RETURN
|
||||
END
|
||||
|
||||
Set_Property(CtrlEntID,'INVALUE',VendCode,PrevSelPos)
|
||||
|
||||
ExpectedCode = Get_Property(@WINDOW,'@VENDOR_DEF')
|
||||
|
||||
IF VendCode NE ExpectedCode AND ExpectedCode NE '' THEN
|
||||
void = Msg(@WINDOW,'','EXPECTED_VENDOR_CODE','',ExpectedCode:@FM:VendCode)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
END
|
||||
|
||||
ListArray = Get_Property(CtrlEntId,'ARRAY')
|
||||
CheckArray = Get_Property(@WINDOW,'@CHECK_ARRAY')
|
||||
|
||||
TotalScannedQty = SUM(ListArray<COL$LQP_QTY>)
|
||||
OpenQty = CheckArray<CA$LOT_QTY>
|
||||
|
||||
IF TotalScannedQty >= OpenQty THEN
|
||||
|
||||
Resp = Msg(@WINDOW,'','WO_REC_COMPLETE')
|
||||
|
||||
GOTO OK
|
||||
END
|
||||
|
||||
CASE LinePointer = 0
|
||||
* Empty Table
|
||||
LinePointer = 1
|
||||
CoilPointer = 1
|
||||
CASE ColPointer = ColCnt
|
||||
LinePointer += 1
|
||||
ColPointer = 1
|
||||
CASE 1
|
||||
ColPointer += 1
|
||||
END CASE
|
||||
END
|
||||
end
|
||||
Set_Property(CtrlEntId,"SELPOS",ColPointer:@FM:LinePointer)
|
||||
END
|
||||
|
||||
If Error_Services('HasError') then
|
||||
TypeOver = ''
|
||||
TypeOver<MTYPE$> = 'B&Rescan'
|
||||
Message = Error_Services('GetMessage')
|
||||
TypeOver<MTEXT$> = Message
|
||||
Msg(@Window, TypeOver, 'LABEL_DATA_ERROR')
|
||||
Set_Property(CtrlEntId, 'SELPOS', PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'INVALUE', '', PrevSelPos)
|
||||
Error_Services('Clear')
|
||||
end else
|
||||
GOSUB Refresh
|
||||
end
|
||||
// Global scan validation check. Only alpha-numeric, dashes, spaces, and periods permitted.
|
||||
ValidationScan = Trim(ListData<PrevRow,PrevCol>)
|
||||
Convert @Lower_Case to @Upper_Case in ValidationScan
|
||||
Convert 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- ./' to '' in ValidationScan
|
||||
//DPC 2/18/20 - changed validation to allow foward slash per supplier lot naming (Global Wafer)
|
||||
//FYI - conversion would only work when separated from above line
|
||||
Convert '/' to '' in ValidationScan
|
||||
If ValidationScan NE '' then
|
||||
Error_Services('Set', 'Scanned code ' : Quote(Trim(ListData<PrevRow,PrevCol>)) : ' contains an invalid character. Please re-scan.')
|
||||
end
|
||||
|
||||
If Error_Services('NoError') then
|
||||
IF ListData<PrevRow,PrevCol> NE '' THEN
|
||||
BEGIN CASE
|
||||
CASE PrevCol = COL$LQP_LOT
|
||||
|
||||
IF StripANSI THEN
|
||||
RawLot = TRIM(ListData<PrevRow,PrevCol>)
|
||||
IF RawLot[1,2] = '1T' OR RawLot[1,2] = '2T' THEN
|
||||
LotNo = RawLot[3,99]
|
||||
END ELSE
|
||||
Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Scanned Code ':QUOTE(RawLot):' is not an ANSI Lot No.')
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos)
|
||||
Set_Property(CtrlEntID,'INVALUE','',PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
RETURN
|
||||
END
|
||||
END ELSE
|
||||
LotNo = TRIM(ListData<PrevRow,PrevCol>)
|
||||
END
|
||||
|
||||
IF CtrlEntID NE @WINDOW:'.LOT_QTY_SUB_PART' THEN
|
||||
|
||||
* Don't check Customer Lot Numbers if scanning substrates
|
||||
|
||||
LOCATE LotNo IN CheckArray<CA$LOT_NO> USING @VM SETTING Pos ELSE
|
||||
* Accept or Rescan message
|
||||
Resp = Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Lot No ':QUOTE(LotNo):' not found in':@TM:'Order Item Lot Numbers!')
|
||||
LotNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos) ;* Cursor to Lot No for a rescan
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
END
|
||||
END
|
||||
|
||||
Set_Property(CtrlEntID,'INVALUE',LotNo,PrevSelPos)
|
||||
|
||||
CASE PrevCol = COL$LQP_QTY
|
||||
|
||||
IF StripANSI THEN
|
||||
RawLotQty = ListData<PrevRow,PrevCol>
|
||||
IF RawLotQty[1,1] = 'Q' THEN
|
||||
LotQty = RawLotQty[2,99]
|
||||
END ELSE
|
||||
Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Scanned Code ':QUOTE(RawLotQty):' is not an ANSI Quantity')
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos)
|
||||
Set_Property(CtrlEntID,'INVALUE','',PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
RETURN
|
||||
END
|
||||
END ELSE
|
||||
LotQty = ListData<PrevRow,PrevCol>
|
||||
END
|
||||
|
||||
IF NOT(NUM(LotQty)) THEN
|
||||
* Accept or Rescan message
|
||||
Resp = Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Lot Qty ':QUOTE(LotQty):' is not a number!')
|
||||
LotNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos) ;* Cursor to Lot No for a rescan
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
END
|
||||
|
||||
Set_Property(CtrlEntID,'INVALUE',LotQty,PrevSelPos)
|
||||
|
||||
|
||||
CASE PrevCol = COL$LQP_PART
|
||||
// Check scanned part number for 5 segments. If there are 5 segments then use segments 3 and 4
|
||||
// to make the actual part number.
|
||||
ScannedPartNo = Trim(ListData<PrevRow, PrevCol>)
|
||||
If DCount(ScannedPartNo, '-') EQ 5 then
|
||||
RawPartNo = ''
|
||||
If ScannedPartNo[1, 1] _EQC 'P' then RawPartNo := 'P'
|
||||
If ScannedPartNo[1, 1] _EQC 'S' then RawPartNo := 'S'
|
||||
RawPartNo := Field(ScannedPartNo, '-', 3, 2)
|
||||
ListData<PrevRow, PrevCol> = RawPartNo
|
||||
end
|
||||
RawPartNo = TRIM(ListData<PrevRow,PrevCol>)
|
||||
IF StripANSI AND NOT(SkipSubAnsi) THEN ;***************************************
|
||||
RawPartNo = TRIM(ListData<PrevRow,PrevCol>)
|
||||
IF RawPartNo[1,1] _EQC 'P' OR RawPartNo[1,1] _EQC 'S' THEN
|
||||
PartNo = RawPartNo[2,99]
|
||||
END ELSE
|
||||
Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Scanned Code ':QUOTE(RawPartNo):' is not an ANSI Part No')
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos)
|
||||
Set_Property(CtrlEntID,'INVALUE','',PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
RETURN
|
||||
END
|
||||
END ELSE
|
||||
PartNo = ListData<PrevRow,PrevCol>
|
||||
END
|
||||
|
||||
IF CtrlEntID = @WINDOW:'.LOT_QTY_PART' THEN
|
||||
* Check Customer Part Numbers
|
||||
LOCATE PartNo IN CheckArray<CA$VERIFY_PART_NO> USING @VM SETTING Pos THEN
|
||||
PartNo = CheckArray<CA$CUST_PART_NO,Pos>
|
||||
END ELSE
|
||||
* Accept or Rescan message
|
||||
Resp = Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Part No ':QUOTE(PartNo):' not found in':@TM:'Order Customer Part Numbers!')
|
||||
PartNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos) ;* Cursor to Lot No for a rescan
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
END
|
||||
|
||||
END ELSE
|
||||
* Check Substrate Part Numbers
|
||||
LOCATE PartNo IN CheckArray<CA$SUB_PART_NO> USING @VM SETTING Pos ELSE
|
||||
* Accept or Rescan message
|
||||
Resp = Msg(@Window, '', 'OK', '', 'Scan Error':@FM:'Part No ':QUOTE(PartNo):' not found in':@TM:'Order Substrate Part Numbers!')
|
||||
PartNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos) ;* Cursor to Lot No for a rescan
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
END
|
||||
END ;* End of check for Customer supplied or Inventory substrate part number
|
||||
|
||||
Set_Property(CtrlEntID,'INVALUE',PartNo,PrevSelPos)
|
||||
|
||||
CASE PrevCol = COL$LQP_VENDOR
|
||||
|
||||
SubSuppBy = CheckArray<CA$SUB_SUPP_BY>
|
||||
VendCode = ''
|
||||
IF StripANSI AND NOT(SkipSubAnsi) THEN
|
||||
RawVendCode = TRIM(ListData<PrevRow,PrevCol>)
|
||||
IF RawVendCode[1,2] = '1V' THEN
|
||||
VendCode = RawVendCode[3,99]
|
||||
END ELSE
|
||||
TypeOver = ''
|
||||
TypeOver<MTYPE$> = 'B&Rescan'
|
||||
TypeOver<MTEXT$> = 'Scanned Code ':QUOTE(RawVendCode):' is not an ANSI Vendor Code'
|
||||
Resp = Msg(@WINDOW, '','OK', '', 'Scan Error':@FM:'Scanned Code ':QUOTE(RawVendCode):' is not an ANSI Vendor Code')
|
||||
Set_Property(CtrlEntID,"SELPOS",PrevSelPos)
|
||||
Set_Property(CtrlEntID,'INVALUE','',PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
RETURN
|
||||
END
|
||||
END ELSE
|
||||
VendCode = ListData<PrevRow,PrevCol>
|
||||
END
|
||||
|
||||
IF RowExists('SEMI_VEND_CODE', VendCode) OR SubSuppBy = 'C' ELSE
|
||||
* Accept or Rescan message
|
||||
If VendCode EQ '' then VendCode = RawVendCode
|
||||
Resp = Msg(@WINDOW, '','OK', '', 'Scan Error':@FM:'Vendor Code ':QUOTE(VendCode):' not found in':@TM:'Vendor Codes on file!')
|
||||
VendCode = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",PrevSelPos) ;* Cursor to Lot No for a rescan
|
||||
Set_Property(CtrlEntID,'INVALUE','',PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
RETURN
|
||||
END
|
||||
|
||||
Set_Property(CtrlEntID,'INVALUE',VendCode,PrevSelPos)
|
||||
|
||||
ExpectedCode = Get_Property(@WINDOW,'@VENDOR_DEF')
|
||||
|
||||
IF VendCode NE ExpectedCode AND ExpectedCode NE '' THEN
|
||||
void = Msg(@WINDOW,'','EXPECTED_VENDOR_CODE','',ExpectedCode:@FM:VendCode)
|
||||
Set_Property(CtrlEntID, 'FOCUS', True$)
|
||||
end
|
||||
|
||||
ProcIds = Get_Property(@Window, '@PROC_IDS')
|
||||
ListData = Get_Property(CtrlEntId, 'LIST')
|
||||
WONo = CheckArray<CA$WO_NO - 1>
|
||||
RecDtm = CheckArray<CA$REC_DTM - 1>
|
||||
ScanLotNo = ListData<PrevRow, 1>
|
||||
ScanQty = ListData<PrevRow, 2>
|
||||
ScanSubPartNo = ListData<PrevRow, 3>
|
||||
ScanVendor = ListData<PrevRow, 4>
|
||||
ProcIds<-1> = Service_Services('PostProcedure', 'WORK_ORDER_SERVICES', 'ReceiveReleaseCassette':SD$:WONo:SD$:@User4:SD$:ScanLotNo:SD$:ScanQty:SD$:ScanSubPartNo:SD$:ScanVendor:SD$:RecDtm)
|
||||
If Error_Services('NoError') then
|
||||
Set_Property(@Window, '@PROC_IDS', ProcIds)
|
||||
end else
|
||||
ErrorMsg = Error_Services('GetMessage')
|
||||
Msg(@Window, '', 'OK', '', 'Process Error':@FM:'Error submitting scan data to server for processing')
|
||||
end
|
||||
|
||||
ListArray = Get_Property(CtrlEntId,'ARRAY')
|
||||
CheckArray = Get_Property(@WINDOW,'@CHECK_ARRAY')
|
||||
|
||||
TotalScannedQty = SUM(ListArray<COL$LQP_QTY>)
|
||||
OpenQty = CheckArray<CA$LOT_QTY>
|
||||
|
||||
IF TotalScannedQty >= OpenQty THEN
|
||||
|
||||
Resp = Msg(@WINDOW,'','WO_REC_COMPLETE')
|
||||
|
||||
GOTO OK
|
||||
END
|
||||
|
||||
END CASE
|
||||
END
|
||||
end
|
||||
|
||||
If Error_Services('HasError') then
|
||||
TypeOver = ''
|
||||
TypeOver<MTYPE$> = 'B&Rescan'
|
||||
Message = Error_Services('GetMessage')
|
||||
TypeOver<MTEXT$> = Message
|
||||
Msg(@Window, TypeOver, 'LABEL_DATA_ERROR')
|
||||
Set_Property(CtrlEntId, 'SELPOS', PrevSelPos)
|
||||
Set_Property(CtrlEntID, 'INVALUE', '', PrevSelPos)
|
||||
Error_Services('Clear')
|
||||
end else
|
||||
GOSUB Refresh
|
||||
end
|
||||
|
||||
RETURN
|
||||
|
||||
@ -395,159 +418,166 @@ RETURN
|
||||
OK:
|
||||
* * * * * * *
|
||||
|
||||
CtrlEntID = @WINDOW:'.FIELD_RADIO'
|
||||
CheckArray = Get_Property(@WINDOW,'@CHECK_ARRAY')
|
||||
CtrlEntID = @WINDOW:'.FIELD_RADIO'
|
||||
CheckArray = Get_Property(@WINDOW,'@CHECK_ARRAY')
|
||||
|
||||
ControlSelection = Get_Property(CtrlEntID,'VALUE')
|
||||
ControlSelection = Get_Property(CtrlEntID,'VALUE')
|
||||
|
||||
Ctrls = @WINDOW:'.LOT_QTY':@RM ; Props = 'VISIBLE':@RM
|
||||
Ctrls := @WINDOW:'.LOT_QTY_PART':@RM ; Props := 'VISIBLE':@RM
|
||||
Ctrls := @WINDOW:'.LOT_QTY_SUB_PART' ; Props := 'VISIBLE'
|
||||
Ctrls = @WINDOW:'.LOT_QTY':@RM ; Props = 'VISIBLE':@RM
|
||||
Ctrls := @WINDOW:'.LOT_QTY_PART':@RM ; Props := 'VISIBLE':@RM
|
||||
Ctrls := @WINDOW:'.LOT_QTY_SUB_PART' ; Props := 'VISIBLE'
|
||||
|
||||
BEGIN CASE
|
||||
CASE ControlSelection = 'LQ' ; Ctrl = @WINDOW:'.LOT_QTY'
|
||||
CASE ControlSelection = 'LQP' ; Ctrl = @WINDOW:'.LOT_QTY_PART'
|
||||
CASE ControlSelection = 'LQSP' ; Ctrl = @WINDOW:'.LOT_QTY_SUB_PART'
|
||||
END CASE
|
||||
BEGIN CASE
|
||||
CASE ControlSelection = 'LQ' ; Ctrl = @WINDOW:'.LOT_QTY'
|
||||
CASE ControlSelection = 'LQP' ; Ctrl = @WINDOW:'.LOT_QTY_PART'
|
||||
CASE ControlSelection = 'LQSP' ; Ctrl = @WINDOW:'.LOT_QTY_SUB_PART'
|
||||
END CASE
|
||||
|
||||
ListData = Get_Property(Ctrl,'LIST')
|
||||
ListData = Get_Property(Ctrl,'LIST')
|
||||
|
||||
TimeStamp = Get_Property(@WINDOW:'.RX_DTM','TEXT')
|
||||
TimeStamp = ICONV(TimeStamp,'DT')
|
||||
IF TimeStamp = '' THEN
|
||||
ErrMsg('Invalid Received DateTime data entered. "mm/dd/yy hh:mm:ss" is the basic format.')
|
||||
RETURN
|
||||
END
|
||||
TimeStamp = Get_Property(@WINDOW:'.RX_DTM','TEXT')
|
||||
TimeStamp = ICONV(TimeStamp,'DT')
|
||||
IF TimeStamp = '' THEN
|
||||
ErrMsg('Invalid Received DateTime data entered. "mm/dd/yy hh:mm:ss" is the basic format.')
|
||||
RETURN
|
||||
END
|
||||
|
||||
CheckArray<CA$SCANNED_LOT_QTY> = '' ;* Clear scanned lot quantities column
|
||||
CheckArray<CA$SCANNED_LOT_QTY> = '' ;* Clear scanned lot quantities column
|
||||
|
||||
LineCnt = 1
|
||||
LOOP
|
||||
TestVal = ListData<LineCnt,1>
|
||||
UNTIL TestVal = ''
|
||||
LotNo = TRIM(ListData<LineCnt,1>)
|
||||
Qty = TRIM(ListData<LineCnt,2>)
|
||||
|
||||
IF ControlSelection = 'LQ' THEN
|
||||
LOCATE LotNo IN CheckArray<CA$LOT_NO> USING @VM SETTING Pos THEN
|
||||
OrderItemNo = CheckArray<CA$ITEM_NO,Pos>
|
||||
CustPartNo = CheckArray<CA$CUST_PART_NO,Pos>
|
||||
SubPartNo = CheckArray<CA$SUB_PART_NO,Pos>
|
||||
CheckArray<CA$SCANNED_LOT_QTY,Pos> = CheckArray<CA$SCANNED_LOT_QTY,Pos> + Qty
|
||||
END ELSE
|
||||
* Accept or Rescan message
|
||||
TypeOver = ''
|
||||
TypeOver<MTYPE$> = 'B&Rescan'
|
||||
TypeOver<MTEXT$> = 'Lot No ':QUOTE(LotNo):' not found in':@TM:'Order Item Lot Numbers!'
|
||||
Resp = Msg(@WINDOW,TypeOver,'LABEL_DATA_ERROR')
|
||||
LotNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",CA$LOT_NO:@FM:LineCnt) ;* Cursor to Lot No for a rescan
|
||||
RETURN
|
||||
END
|
||||
LineCnt = 1
|
||||
LOOP
|
||||
TestVal = ListData<LineCnt,1>
|
||||
UNTIL TestVal = ''
|
||||
LotNo = TRIM(ListData<LineCnt,1>)
|
||||
Qty = TRIM(ListData<LineCnt,2>)
|
||||
|
||||
IF ControlSelection = 'LQ' THEN
|
||||
LOCATE LotNo IN CheckArray<CA$LOT_NO> USING @VM SETTING Pos THEN
|
||||
OrderItemNo = CheckArray<CA$ITEM_NO,Pos>
|
||||
CustPartNo = CheckArray<CA$CUST_PART_NO,Pos>
|
||||
SubPartNo = CheckArray<CA$SUB_PART_NO,Pos>
|
||||
CheckArray<CA$SCANNED_LOT_QTY,Pos> = CheckArray<CA$SCANNED_LOT_QTY,Pos> + Qty
|
||||
END ELSE
|
||||
* Accept or Rescan message
|
||||
TypeOver = ''
|
||||
TypeOver<MTYPE$> = 'B&Rescan'
|
||||
TypeOver<MTEXT$> = 'Lot No ':QUOTE(LotNo):' not found in':@TM:'Order Item Lot Numbers!'
|
||||
Resp = Msg(@WINDOW,TypeOver,'LABEL_DATA_ERROR')
|
||||
LotNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",CA$LOT_NO:@FM:LineCnt) ;* Cursor to Lot No for a rescan
|
||||
RETURN
|
||||
END
|
||||
|
||||
END
|
||||
|
||||
IF ControlSelection = 'LQP' THEN
|
||||
CustPartNo = TRIM(ListData<LineCnt,3>)
|
||||
LOCATE LotNo IN CheckArray<CA$LOT_NO> USING @VM SETTING Pos THEN
|
||||
OrderItemNo = CheckArray<CA$ITEM_NO,Pos>
|
||||
SubPartNo = CheckArray<CA$SUB_PART_NO,Pos>
|
||||
CheckArray<CA$SCANNED_LOT_QTY,Pos> = CheckArray<CA$SCANNED_LOT_QTY,Pos> + Qty
|
||||
END ELSE
|
||||
* Accept or Rescan message
|
||||
TypeOver = ''
|
||||
TypeOver<MTYPE$> = 'B&Rescan'
|
||||
TypeOver<MTEXT$> = 'Lot No ':QUOTE(LotNo):' not found in':@TM:'Order Item Lot Numbers!'
|
||||
Resp = Msg(@WINDOW,TypeOver,'LABEL_DATA_ERROR')
|
||||
|
||||
LotNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",CA$LOT_NO:@FM:LineCnt) ;* Cursor to Lot No for a rescan
|
||||
RETURN
|
||||
END
|
||||
END
|
||||
|
||||
IF ControlSelection = 'LQSP' THEN
|
||||
|
||||
SubPartNo = TRIM(ListData<LineCnt,3>)
|
||||
Vendor = TRIM(ListData<LineCnt,4>) ;* Added 7/14/2011 JCH for SAP
|
||||
OrderItemNo = CheckArray<CA$ITEM_NO,1> ;* Changed 2/8/2010 from ' = 1 ' JCH
|
||||
CustPartNo = CheckArray<CA$CUST_PART_NO,1>
|
||||
|
||||
END ELSE
|
||||
Vendor = ''
|
||||
END
|
||||
END
|
||||
|
||||
IF ControlSelection = 'LQP' THEN
|
||||
CustPartNo = TRIM(ListData<LineCnt,3>)
|
||||
LOCATE LotNo IN CheckArray<CA$LOT_NO> USING @VM SETTING Pos THEN
|
||||
OrderItemNo = CheckArray<CA$ITEM_NO,Pos>
|
||||
SubPartNo = CheckArray<CA$SUB_PART_NO,Pos>
|
||||
CheckArray<CA$SCANNED_LOT_QTY,Pos> = CheckArray<CA$SCANNED_LOT_QTY,Pos> + Qty
|
||||
END ELSE
|
||||
* Accept or Rescan message
|
||||
TypeOver = ''
|
||||
TypeOver<MTYPE$> = 'B&Rescan'
|
||||
TypeOver<MTEXT$> = 'Lot No ':QUOTE(LotNo):' not found in':@TM:'Order Item Lot Numbers!'
|
||||
Resp = Msg(@WINDOW,TypeOver,'LABEL_DATA_ERROR')
|
||||
|
||||
LotNo = '' ;* Clear entered field for a rescan
|
||||
Set_Property(CtrlEntId,"SELPOS",CA$LOT_NO:@FM:LineCnt) ;* Cursor to Lot No for a rescan
|
||||
RETURN
|
||||
END
|
||||
END
|
||||
|
||||
IF ControlSelection = 'LQSP' THEN
|
||||
|
||||
SubPartNo = TRIM(ListData<LineCnt,3>)
|
||||
Vendor = TRIM(ListData<LineCnt,4>) ;* Added 7/14/2011 JCH for SAP
|
||||
OrderItemNo = CheckArray<CA$ITEM_NO,1> ;* Changed 2/8/2010 from ' = 1 ' JCH
|
||||
CustPartNo = CheckArray<CA$CUST_PART_NO,1>
|
||||
|
||||
END ELSE
|
||||
Vendor = ''
|
||||
END
|
||||
|
||||
Result<1,LineCnt> = LineCnt
|
||||
Result<2,LineCnt> = LotNo ;* Lot No
|
||||
Result<3,LineCnt> = Qty
|
||||
Result<4,LineCnt> = CustPartNo ;* PartNo
|
||||
Result<5,LineCnt> = SubPartNo ;* Substrate Part No
|
||||
Result<6,LineCnt> = Vendor ;* Substrate Vendor Code
|
||||
Result<7,LineCnt> = OCONV(TimeStamp,'DT')
|
||||
Result<8,LineCnt> = @USER4
|
||||
Result<9,LineCnt> = OrderItemNo
|
||||
|
||||
LineCnt += 1
|
||||
REPEAT
|
||||
Result<1,LineCnt> = LineCnt
|
||||
Result<2,LineCnt> = LotNo ;* Lot No
|
||||
Result<3,LineCnt> = Qty
|
||||
Result<4,LineCnt> = CustPartNo ;* PartNo
|
||||
Result<5,LineCnt> = SubPartNo ;* Substrate Part No
|
||||
Result<6,LineCnt> = Vendor ;* Substrate Vendor Code
|
||||
Result<7,LineCnt> = OCONV(TimeStamp,'DT')
|
||||
Result<8,LineCnt> = @USER4
|
||||
Result<9,LineCnt> = OrderItemNo
|
||||
|
||||
LineCnt += 1
|
||||
REPEAT
|
||||
|
||||
IF ControlSelection NE 'LQSP' THEN
|
||||
IF ControlSelection NE 'LQSP' THEN
|
||||
|
||||
* Orders with Epi supplied substrates don't have any lot quantities to check against.
|
||||
|
||||
ProblemQtyLots = ''
|
||||
FOR I = 1 TO COUNT(CheckArray<CA$LOT_NO>,@VM) + (CheckArray<CA$LOT_NO> NE '')
|
||||
IF (CheckArray<CA$SCANNED_LOT_QTY,I> NE '') AND (CheckArray<CA$LOT_QTY,I> NE CheckArray<CA$SCANNED_LOT_QTY,I>) THEN
|
||||
* Lot quantity mismatch
|
||||
ProblemQtyLots<-1> = CheckArray<CA$LOT_NO,I>
|
||||
END
|
||||
NEXT I
|
||||
* Orders with Epi supplied substrates don't have any lot quantities to check against.
|
||||
|
||||
ProblemQtyLots = ''
|
||||
FOR I = 1 TO COUNT(CheckArray<CA$LOT_NO>,@VM) + (CheckArray<CA$LOT_NO> NE '')
|
||||
IF (CheckArray<CA$SCANNED_LOT_QTY,I> NE '') AND (CheckArray<CA$LOT_QTY,I> NE CheckArray<CA$SCANNED_LOT_QTY,I>) THEN
|
||||
* Lot quantity mismatch
|
||||
ProblemQtyLots<-1> = CheckArray<CA$LOT_NO,I>
|
||||
END
|
||||
NEXT I
|
||||
|
||||
IF ProblemQtyLots NE '' THEN
|
||||
LineCnt = 1
|
||||
LOOP
|
||||
TestVal = ListData<LineCnt,1>
|
||||
UNTIL TestVal = ''
|
||||
LotNo = TRIM(ListData<LineCnt,1>)
|
||||
LOCATE LotNo IN ProblemQtyLots USING @FM SETTING Pos THEN
|
||||
stat = Send_Message(Ctrl,'COLOR_BY_POS',0,LineCnt,RED$) ;* Flag all the lines with lot numbers having qty problems
|
||||
END
|
||||
LineCnt += 1
|
||||
REPEAT
|
||||
|
||||
ErrMsg('Lot Quantity(s) Scanned do not match Order Item Lot Quantity(s)!||Review and rescan highlighted items.')
|
||||
RETURN
|
||||
END
|
||||
END ELSE
|
||||
*
|
||||
END
|
||||
IF ProblemQtyLots NE '' THEN
|
||||
LineCnt = 1
|
||||
LOOP
|
||||
TestVal = ListData<LineCnt,1>
|
||||
UNTIL TestVal = ''
|
||||
LotNo = TRIM(ListData<LineCnt,1>)
|
||||
LOCATE LotNo IN ProblemQtyLots USING @FM SETTING Pos THEN
|
||||
stat = Send_Message(Ctrl,'COLOR_BY_POS',0,LineCnt,RED$) ;* Flag all the lines with lot numbers having qty problems
|
||||
END
|
||||
LineCnt += 1
|
||||
REPEAT
|
||||
|
||||
ErrMsg('Lot Quantity(s) Scanned do not match Order Item Lot Quantity(s)!||Review and rescan highlighted items.')
|
||||
RETURN
|
||||
END
|
||||
END ELSE
|
||||
*
|
||||
END
|
||||
|
||||
NumRows = DCount(Result, @FM)
|
||||
NullFound = False$
|
||||
For LineIndex = 1 to NumRows
|
||||
Row = Result<LineIndex>
|
||||
NumVals = DCount(Row, @VM)
|
||||
For ValIndex = 1 to NumVals
|
||||
Val = Row<0, ValIndex>
|
||||
If Val EQ '' then NullFound = True$
|
||||
Next ValIndex
|
||||
Until NullFound
|
||||
Next LineIndex
|
||||
If NullFound EQ True$ then
|
||||
ErrMsg('Missing value found in scanned data! Verify your labels and restart your scan operation.')
|
||||
Result = 'Cancel'
|
||||
end
|
||||
NumRows = DCount(Result, @FM)
|
||||
NullFound = False$
|
||||
For LineIndex = 1 to NumRows
|
||||
Row = Result<LineIndex>
|
||||
NumVals = DCount(Row, @VM)
|
||||
For ValIndex = 1 to NumVals
|
||||
Val = Row<0, ValIndex>
|
||||
If Val EQ '' then NullFound = True$
|
||||
Next ValIndex
|
||||
Until NullFound
|
||||
Next LineIndex
|
||||
If NullFound EQ True$ then
|
||||
ErrMsg('Missing value found in scanned data! Verify your labels and restart your scan operation.')
|
||||
Result = 'Cancel'
|
||||
end
|
||||
|
||||
ScanResult = Result
|
||||
Swap @VM with ' | ' in ScanResult
|
||||
ScanResult = Result
|
||||
Swap @VM with ' | ' in ScanResult
|
||||
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM
|
||||
LogData<2> = @User4
|
||||
LogData<3> = ScanResult
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM
|
||||
LogData<2> = @User4
|
||||
LogData<3> = ScanResult
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
|
||||
End_Dialog(@WINDOW,Result)
|
||||
ProcIds = Get_Property(@Window, '@PROC_IDS')
|
||||
|
||||
If ProcIds NE '' then
|
||||
Response = ProcIds
|
||||
end else
|
||||
Response = 'Cancel'
|
||||
end
|
||||
|
||||
End_Dialog(@WINDOW,Response)
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
@ -858,3 +858,4 @@ Result = ReturnData
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ COMPILE FUNCTION Comm_PRS_Stage(EntID,Event,Parm1,Parm2,Parm3,Parm4,Parm5)
|
||||
DECLARE SUBROUTINE Set_Property, Set_Status, ErrMsg, Set_Property, obj_AppWindow, Send_Event, Security_Err_Msg
|
||||
DECLARE SUBROUTINE Send_Message, Btree.Extract, Comm_Prod_Spec, Forward_Event, Post_Event
|
||||
DECLARE FUNCTION Get_Property, Get_Status, Popup, Send_Message, Msg, Start_Window, MemberOf, Security_Check
|
||||
DECLARE FUNCTION Comm_Prod_Spec
|
||||
DECLARE FUNCTION Comm_Prod_Spec, obj_Popup
|
||||
|
||||
|
||||
$INSERT POPUP_EQUATES
|
||||
@ -22,6 +22,7 @@ $INSERT TOOL_CLASS_EQUATES
|
||||
$INSERT SECURITY_RIGHTS_EQU
|
||||
$INSERT RTI_STYLE_EQUATES
|
||||
$INSERT PROD_SPEC_EQUATES
|
||||
$Insert PRS_STAGE_DEFECT_DEFAULTS_EQUATES
|
||||
|
||||
EQU CRLF$ TO \0D0A\
|
||||
|
||||
@ -54,6 +55,11 @@ EQU COL$SPOTS TO 8
|
||||
EQU COL$FOV TO 9
|
||||
EQU COL$BL_DEFECTS TO 10
|
||||
|
||||
EQU COL$BACK_SCRATCHES TO 1
|
||||
EQU COL$BACK_SCRATCH_LEN TO 2
|
||||
EQU COL$BACK_NODULES TO 3
|
||||
EQU COL$BACK_SPIKES TO 4
|
||||
|
||||
|
||||
EQU COL$MET_TEST TO 1
|
||||
EQU COL$MET_PROP TO 2
|
||||
@ -137,7 +143,7 @@ obj_Appwindow('Create',@WINDOW)
|
||||
|
||||
**** Set Dropdown columns in .MET_TEST edit table ****
|
||||
|
||||
MetStyles = Send_Message(@WINDOW:'.MET_TEST','COLSTYLE',0,'')
|
||||
MetStyles = Send_Message(@WINDOW:'.MET_TEST','COLSTYLE',0,'')
|
||||
|
||||
MetStyles<COL$MET_TEST> = BitOr(MetStyles<COL$MET_TEST>,DROPDOWN_STYLE$)
|
||||
MetStyles<COL$MET_PROP> = BitOr(MetStyles<COL$MET_PROP>,DROPDOWN_STYLE$)
|
||||
@ -186,7 +192,6 @@ NEXT I
|
||||
|
||||
Send_Message(@WINDOW:'.MET_TEST','COLFORMAT',COL$MET_PROP,PropCodes)
|
||||
|
||||
|
||||
* Class Tools is set in the POSCHANGED event for the edit table.
|
||||
|
||||
/*
|
||||
@ -229,6 +234,23 @@ Read:
|
||||
|
||||
GOSUB Refresh
|
||||
|
||||
* Met Property Descriptions *
|
||||
|
||||
PSNo = Get_Property(@WINDOW : '.PS_NO', 'TEXT')
|
||||
Stage = Get_Property(@WINDOW:'.STAGE','DEFPROP')
|
||||
|
||||
Props = Xlate('PRS_STAGE', PSNo:'*':Stage, PRS_STAGE_MET_PROP$, 'X')
|
||||
|
||||
PropDescs = obj_Popup('CodeDesc','MET_PROPERTY':@RM:Props)
|
||||
|
||||
CtrlEntID = @WINDOW:'.MET_TEST'
|
||||
DescCount = DCount(PropDescs, @VM)
|
||||
FOR Row = 1 to DescCount
|
||||
PropDesc = PropDescs<1, Row>
|
||||
|
||||
Set_Property(CtrlEntId,"CELLPOS",PropDesc,COL$MET_PROP_DESC:@FM:Row)
|
||||
Next Row
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@ -511,67 +533,29 @@ SurfscanDefaults:
|
||||
|
||||
Stage = Get_Property(@WINDOW:'.STAGE','DEFPROP')
|
||||
|
||||
IF Stage = 'FWI' OR Stage = 'LWI' THEN Stage = 'WFR'
|
||||
|
||||
BEGIN CASE
|
||||
CASE Stage = 'PRE' AND EntID = @WINDOW:'.VIRGIN_DEFAULTS'
|
||||
Vals = ''
|
||||
Vals<COL$LPD> = '10'
|
||||
Vals<COL$SCRATCHES> = '1'
|
||||
Vals<COL$SCRATCH_LEN> = '1'
|
||||
Vals<COL$PITS> = '1'
|
||||
Vals<COL$MOUNDS> = '1'
|
||||
Vals<COL$STACK_FAULTS> = ''
|
||||
Vals<COL$SPIKES> = ''
|
||||
Vals<COL$SPOTS> = '1'
|
||||
Vals<COL$FOV> = '1'
|
||||
Vals<COL$BL_DEFECTS > = '1'
|
||||
|
||||
DefValRec = Xlate('PRS_STAGE_DEFECT_DEFAULTS', 'PRE-VIRGIN', '', 'X')
|
||||
CheckVals = '0':@RM:'1'
|
||||
|
||||
CASE Stage = 'PRE' AND EntID = @WINDOW:'.BL_DEFAULTS'
|
||||
Vals = ''
|
||||
Vals<COL$LPD> = '10'
|
||||
Vals<COL$SCRATCHES> = '1'
|
||||
Vals<COL$SCRATCH_LEN> = '1'
|
||||
Vals<COL$PITS> = '10'
|
||||
Vals<COL$MOUNDS> = '10'
|
||||
Vals<COL$STACK_FAULTS> = ''
|
||||
Vals<COL$SPIKES> = ''
|
||||
Vals<COL$SPOTS> = '5'
|
||||
Vals<COL$FOV> = '2'
|
||||
Vals<COL$BL_DEFECTS > = '10'
|
||||
|
||||
DefValRec = Xlate('PRS_STAGE_DEFECT_DEFAULTS', 'PRE-BURIED', '', 'X')
|
||||
CheckVals = '1':@RM:'1'
|
||||
|
||||
CASE Stage = 'WFR' AND EntID = @WINDOW:'.VIRGIN_DEFAULTS'
|
||||
Vals = ''
|
||||
Vals<COL$LPD> = '20'
|
||||
Vals<COL$SCRATCHES> = '1'
|
||||
Vals<COL$SCRATCH_LEN> = '1'
|
||||
Vals<COL$PITS> = '1'
|
||||
Vals<COL$MOUNDS> = '1'
|
||||
Vals<COL$STACK_FAULTS> = '10'
|
||||
Vals<COL$SPIKES> = '5'
|
||||
Vals<COL$SPOTS> = '1'
|
||||
Vals<COL$FOV> = '1'
|
||||
Vals<COL$BL_DEFECTS > = '1'
|
||||
|
||||
CASE Stage = 'FWI' AND EntID = @WINDOW:'.VIRGIN_DEFAULTS'
|
||||
DefValRec = Xlate('PRS_STAGE_DEFECT_DEFAULTS', 'FWI-VIRGIN', '', 'X')
|
||||
CheckVals = '1':@RM:'1'
|
||||
|
||||
CASE Stage = 'WFR' AND EntID = @WINDOW:'.BL_DEFAULTS'
|
||||
Vals = ''
|
||||
Vals<COL$LPD> = '20'
|
||||
Vals<COL$SCRATCHES> = '1'
|
||||
Vals<COL$SCRATCH_LEN> = '10'
|
||||
Vals<COL$PITS> = '20'
|
||||
Vals<COL$MOUNDS> = '20'
|
||||
Vals<COL$STACK_FAULTS> = '20'
|
||||
Vals<COL$SPIKES> = '5'
|
||||
Vals<COL$SPOTS> = '1'
|
||||
Vals<COL$FOV> = '1'
|
||||
Vals<COL$BL_DEFECTS > = '20'
|
||||
CASE Stage = 'FWI' AND EntID = @WINDOW:'.BL_DEFAULTS'
|
||||
DefValRec = Xlate('PRS_STAGE_DEFECT_DEFAULTS', 'FWI-BURIED', '', 'X')
|
||||
CheckVals = '1':@RM:'1'
|
||||
|
||||
CASE Stage = 'LWI' AND EntID = @WINDOW:'.VIRGIN_DEFAULTS'
|
||||
DefValRec = Xlate('PRS_STAGE_DEFECT_DEFAULTS', 'LWI-VIRGIN', '', 'X')
|
||||
CheckVals = '1':@RM:'1'
|
||||
|
||||
CASE Stage = 'LWI' AND EntID = @WINDOW:'.BL_DEFAULTS'
|
||||
DefValRec = Xlate('PRS_STAGE_DEFECT_DEFAULTS', 'LWI-BURIED', '', 'X')
|
||||
CheckVals = '1':@RM:'1'
|
||||
|
||||
CASE 1
|
||||
@ -579,6 +563,23 @@ BEGIN CASE
|
||||
|
||||
END CASE
|
||||
|
||||
Vals = ''
|
||||
Vals<COL$LPD> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_FRONT_LPD$>
|
||||
Vals<COL$SCRATCHES> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_FRONT_SCRATCHES$>
|
||||
Vals<COL$SCRATCH_LEN> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_FRONT_SCRATCH_LEN$>
|
||||
Vals<COL$PITS> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_FRONT_PITS$>
|
||||
Vals<COL$MOUNDS> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_FRONT_MOUNDS$>
|
||||
Vals<COL$STACK_FAULTS> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_FRONT_STACK_FAULTS$>
|
||||
Vals<COL$SPIKES> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_FRONT_SPIKES$>
|
||||
Vals<COL$SPOTS> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_FRONT_SPOTS$>
|
||||
Vals<COL$FOV> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_FRONT_FOV$>
|
||||
Vals<COL$BL_DEFECTS> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_FRONT_BL_DEFECTS$>
|
||||
BackVals = ''
|
||||
BackVals<COL$BACK_SCRATCHES> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_BACK_SCRATCHES$>
|
||||
BackVals<COL$BACK_SCRATCH_LEN> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_BACK_SCRATCH_LEN$>
|
||||
BackVals<COL$BACK_NODULES> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_BACK_NODULES$>
|
||||
BackVals<COL$BACK_SPIKES> = DefValRec<PRS_STAGE_DEFECT_DEFAULTS_BACK_SPIKES$>
|
||||
|
||||
CurrVals = Get_Property(@WINDOW:'.VISUAL_PARMS','LIST')<1>
|
||||
|
||||
CONVERT @VM TO '' IN CurrVals
|
||||
@ -608,6 +609,13 @@ IF Response THEN
|
||||
|
||||
Set_Property(@WINDOW:'.VISUAL_PARMS','LIST',vpList)
|
||||
|
||||
vpList = ''
|
||||
FOR I = 1 TO 4
|
||||
vpList<1,I> = BackVals<I>
|
||||
NEXT I
|
||||
|
||||
Set_Property(@WINDOW:'.BSIDE_PARMS','LIST',vpList)
|
||||
|
||||
END
|
||||
|
||||
RETURN
|
||||
@ -730,8 +738,8 @@ CurrLine = Get_Property(CtrlEntID,'LIST')<CurrRow>
|
||||
|
||||
|
||||
DefProp = ''
|
||||
BEGIN CASE
|
||||
|
||||
BEGIN CASE
|
||||
|
||||
CASE CurrCol = COL$MET_TOOL_CLASS
|
||||
|
||||
PropCode = CurrLine<1,COL$MET_PROP>
|
||||
@ -772,6 +780,12 @@ BEGIN CASE
|
||||
|
||||
RETURN
|
||||
|
||||
CASE CurrCol = COL$MET_PROP_DESC
|
||||
|
||||
PropCode = CurrLine<1,COL$MET_PROP>
|
||||
|
||||
DefProp = obj_Popup('CodeDesc','MET_PROPERTY':@RM:PropCode)
|
||||
|
||||
|
||||
CASE CurrCol = COL$MET_MIN AND CurrLine<1,COL$MET_MIN> = ''
|
||||
MetTest = CurrLine<1,COL$MET_TEST>
|
||||
@ -1235,3 +1249,6 @@ return
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -581,171 +581,131 @@ Refresh:
|
||||
// RDS_UNLOAD
|
||||
|
||||
If @WINDOW EQ 'RDS_UNLOAD' then
|
||||
|
||||
DevelopmentFlag = Xlate('DEVELOPMENT', 'HGCV', 'STATUS', 'X')
|
||||
|
||||
CtrlName = @WINDOW:'.EDT_QA_MET'
|
||||
Set_Property(@Window : '.MET_TEST', 'VISIBLE', False$)
|
||||
Set_Property(CtrlName, 'VISIBLE', True$)
|
||||
MetList = Get_Property(CtrlName,'LIST')
|
||||
ThickOutOfSpec = False$
|
||||
CresOutOfSpec = False$
|
||||
MLCnt = COUNT(MetList,@FM) + (MetList NE '')
|
||||
FOR Line = 1 TO MLCnt
|
||||
IF MetList<Line,COL$UL_MET_TEST> NE '' THEN
|
||||
MetResult = MetList<Line,COL$UL_MET_RESULT>
|
||||
MetMin = MetList<Line,COL$UL_MET_MIN>
|
||||
MetMax = MetList<Line,COL$UL_MET_MAX>
|
||||
PhaseMin = MetList<Line,COL$UL_MET_PHASE_MIN>
|
||||
PhaseResult = MetList<Line,COL$UL_MET_PHASE_RESULT>
|
||||
ScanRecipe = MetList<Line,COL$UL_MET_RECIPE>
|
||||
PSN = Get_Property(@Window : '.PSN', 'TEXT')
|
||||
PRSStageKey = PSN:'*UNLOAD'
|
||||
MetTest = MetList<Line,COL$UL_MET_TEST>
|
||||
PRSStageRec = Database_Services('ReadDataRow', 'PRS_STAGE', PRSStageKey)
|
||||
SpecTests = PRSStageRec<PRS_STAGE_MET_TEST$>
|
||||
SpecRecipe = ''
|
||||
RDSNo = Get_Property(@Window:'.RDS_NO', 'TEXT')
|
||||
QAMetKey = Xlate('RDS', RDSNo, 'WO_MAT_KEY', 'X')
|
||||
WOMatQARec = Database_Services('ReadDataRow', 'WO_MAT_QA', QAMetKey)
|
||||
DataPoints = WOMatQARec<WO_MAT_QA_DATA_POINTS$, Line>
|
||||
Begin Case
|
||||
Case MetTest EQ 'THICK_ONLY'
|
||||
// Check each point to see if any are out of spec
|
||||
For each DataPoint in DataPoints using @SVM setting ThickIndex
|
||||
Until DataPoint EQ ''
|
||||
Begin Case
|
||||
Case ThickIndex GT 10
|
||||
Null
|
||||
Case (DataPoint EQ '')
|
||||
ThickOutOfSpec = True$
|
||||
Case (DataPoint GT MetMax) OR (DataPoint LT MetMin)
|
||||
ThickOutOfSpec = True$
|
||||
End Case
|
||||
Next DataPoint
|
||||
|
||||
Case MetTest EQ 'CRES'
|
||||
// Check critical points to see if any are out of spec (both HgCV and Phase)
|
||||
CriticalPoints = '1,2,5,6,9'
|
||||
For each DataPoint in DataPoints using @SVM setting CresIndex
|
||||
Until DataPoint EQ ''
|
||||
HgCVDataPoint = DataPoint[1, 'F':@TM]
|
||||
PhaseDataPoint = DataPoint[-1, 'B':@TM]
|
||||
CriticalPoint = Index(CriticalPoints, CresIndex, 1)
|
||||
Begin Case
|
||||
Case (HgCVDataPoint EQ '') and CriticalPoint
|
||||
CresOutOfSpec = True$
|
||||
Case (PhaseDataPoint EQ '') and CriticalPoint
|
||||
CresOutOfSpec = True$
|
||||
Case (HgCVDataPoint GT MetMax) OR (HgCVDataPoint LT MetMin) and CriticalPoint
|
||||
CresOutOfSpec = True$
|
||||
Case (PhaseDataPoint LT PhaseMin) and CriticalPoint
|
||||
CresOutOfSpec = True$
|
||||
End Case
|
||||
Next DataPoint
|
||||
End Case
|
||||
QAMetOutofSpec = (ThickOutOfSpec or CresOutOfSpec)
|
||||
Locate MetTest in SpecTests using @VM setting vPos then
|
||||
SpecRecipe = PRSStageRec<PRS_STAGE_MET_RECIPE$, vPos>
|
||||
end
|
||||
NoError = True$
|
||||
|
||||
If (DevelopmentFlag EQ True$) then
|
||||
|
||||
CtrlName = @WINDOW:'.EDT_QA_MET'
|
||||
Set_Property(@Window : '.MET_TEST', 'VISIBLE', False$)
|
||||
Set_Property(CtrlName, 'VISIBLE', True$)
|
||||
MetList = Get_Property(CtrlName,'LIST')
|
||||
ThickOutOfSpec = False$
|
||||
CresOutOfSpec = False$
|
||||
MLCnt = COUNT(MetList,@FM) + (MetList NE '')
|
||||
FOR Line = 1 TO MLCnt
|
||||
IF MetList<Line,COL$UL_MET_TEST> NE '' THEN
|
||||
MetResult = MetList<Line,COL$UL_MET_RESULT>
|
||||
MetMin = MetList<Line,COL$UL_MET_MIN>
|
||||
MetMax = MetList<Line,COL$UL_MET_MAX>
|
||||
PhaseMin = MetList<Line,COL$UL_MET_PHASE_MIN>
|
||||
PhaseResult = MetList<Line,COL$UL_MET_PHASE_RESULT>
|
||||
ScanRecipe = MetList<Line,COL$UL_MET_RECIPE>
|
||||
PSN = Get_Property(@Window : '.PSN', 'TEXT')
|
||||
PRSStageKey = PSN:'*UNLOAD'
|
||||
MetTest = MetList<Line,COL$UL_MET_TEST>
|
||||
PRSStageRec = Database_Services('ReadDataRow', 'PRS_STAGE', PRSStageKey)
|
||||
SpecTests = PRSStageRec<PRS_STAGE_MET_TEST$>
|
||||
SpecRecipe = ''
|
||||
RDSNo = Get_Property(@Window:'.RDS_NO', 'TEXT')
|
||||
QAMetKey = Xlate('RDS', RDSNo, 'WO_MAT_KEY', 'X')
|
||||
WOMatQARec = Database_Services('ReadDataRow', 'WO_MAT_QA', QAMetKey)
|
||||
DataPoints = WOMatQARec<WO_MAT_QA_DATA_POINTS$, Line>
|
||||
Begin Case
|
||||
Case MetTest EQ 'THICK_ONLY'
|
||||
// Check each point to see if any are out of spec
|
||||
For each DataPoint in DataPoints using @SVM setting ThickIndex
|
||||
Until DataPoint EQ ''
|
||||
Begin Case
|
||||
Case ThickIndex GT 10
|
||||
Null
|
||||
Case (DataPoint EQ '')
|
||||
ThickOutOfSpec = True$
|
||||
Case (DataPoint GT MetMax) OR (DataPoint LT MetMin)
|
||||
ThickOutOfSpec = True$
|
||||
End Case
|
||||
Next DataPoint
|
||||
|
||||
Case MetTest EQ 'CRES'
|
||||
// Check critical points to see if any are out of spec (both HgCV and Phase)
|
||||
CriticalPoints = '1,2,5,6,9'
|
||||
For each DataPoint in DataPoints using @SVM setting CresIndex
|
||||
Until DataPoint EQ ''
|
||||
HgCVDataPoint = DataPoint[1, 'F':@TM]
|
||||
PhaseDataPoint = DataPoint[-1, 'B':@TM]
|
||||
CriticalPoint = Index(CriticalPoints, CresIndex, 1)
|
||||
Begin Case
|
||||
Case (HgCVDataPoint EQ '') and CriticalPoint
|
||||
CresOutOfSpec = True$
|
||||
Case (PhaseDataPoint EQ '') and CriticalPoint
|
||||
CresOutOfSpec = True$
|
||||
Case (HgCVDataPoint GT MetMax) OR (HgCVDataPoint LT MetMin) and CriticalPoint
|
||||
CresOutOfSpec = True$
|
||||
Case (PhaseDataPoint LT PhaseMin) and CriticalPoint
|
||||
CresOutOfSpec = True$
|
||||
End Case
|
||||
Next DataPoint
|
||||
End Case
|
||||
QAMetOutofSpec = (ThickOutOfSpec or CresOutOfSpec)
|
||||
Locate MetTest in SpecTests using @VM setting vPos then
|
||||
SpecRecipe = PRSStageRec<PRS_STAGE_MET_RECIPE$, vPos>
|
||||
end
|
||||
NoError = True$
|
||||
|
||||
If (MetList<Line,COL$UL_MET_RESULT> EQ '') then
|
||||
Color = YELLOW$
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_RESULT, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
If QAMetOutofSpec EQ True$ then
|
||||
Color = BYELLOW$:@FM:BLACK$:@FM:BYELLOW$:@FM:BLACK$
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_RESULT, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
If (MetResult LT MetMin) then
|
||||
Color = RED$:@FM:'':@FM:BRED$:@FM:''
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_RESULT, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
If (MetResult GT MetMax) then
|
||||
Color = RED$:@FM:'':@FM:BRED$:@FM:''
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_RESULT, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
If (PhaseResult LT PhaseMin) then
|
||||
Color = RED$:@FM:'':@FM:BRED$:@FM:''
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_PHASE_RESULT, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
QAFailReason = WOMatQARec<WO_MAT_QA_FAIL_REASON$, Line>
|
||||
DetectedFail = Index(QAFailReason, 'Number of data points is less than the required amount', 1)
|
||||
If (ScanRecipe NE SpecRecipe) OR (DetectedFail) then
|
||||
Color = RED$:@FM:'':@FM:BRED$:@FM:''
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_RECIPE, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
If (NoError EQ True$) then
|
||||
Color = GREEN$
|
||||
stat = Send_Message(CtrlName,'COLOR_BY_POS',0,Line,Color)
|
||||
end
|
||||
|
||||
END ELSE
|
||||
Color = GREEN$
|
||||
stat = Send_Message(CtrlName,'COLOR_BY_POS',0,Line,Color)
|
||||
END
|
||||
|
||||
NEXT Line
|
||||
|
||||
Set_Property(@WINDOW:'.BUTTON_11','ENABLED',EnableUnloadButton)
|
||||
|
||||
IF MemberOf(@USER4, 'OI_ADMIN') THEN
|
||||
Set_Property(@WINDOW:'.CLEAR_EPI_UNLOAD','VISIBLE',1)
|
||||
END ELSE
|
||||
Set_Property(@WINDOW:'.CLEAR_EPI_UNLOAD','VISIBLE',0)
|
||||
END
|
||||
|
||||
|
||||
end else
|
||||
|
||||
CtrlName = @WINDOW:'.MET_TEST'
|
||||
Set_Property(@Window : '.EDT_QA_MET', 'VISIBLE', False$)
|
||||
Set_Property(CtrlName, 'VISIBLE', True$)
|
||||
MetList = Get_Property(CtrlName,'LIST')
|
||||
|
||||
MLCnt = COUNT(MetList,@FM) + (MetList NE '')
|
||||
FOR Line = 1 TO MLCnt
|
||||
IF MetList<Line,COL$MET_TEST> NE '' THEN
|
||||
BEGIN CASE
|
||||
CASE MetList<Line,COL$MET_RESULT> = ''
|
||||
Color = YELLOW$
|
||||
CASE MetList<Line,COL$MET_RESULT> < MetList<Line,COL$MET_MIN> OR MetList<Line,COL$MET_RESULT> > MetList<Line,COL$MET_MAX>
|
||||
Color = RED$
|
||||
CASE 1
|
||||
Color = GREEN$
|
||||
END CASE
|
||||
|
||||
END ELSE
|
||||
Color = GREEN$
|
||||
END;* End of check for Met Test on the current line
|
||||
|
||||
stat = Send_Message(CtrlName,'COLOR_BY_POS',0,Line,Color)
|
||||
NEXT Line
|
||||
|
||||
Set_Property(@WINDOW:'.BUTTON_11','ENABLED',EnableUnloadButton)
|
||||
|
||||
IF MemberOf(@USER4, 'OI_ADMIN') THEN
|
||||
Set_Property(@WINDOW:'.CLEAR_EPI_UNLOAD','VISIBLE',1)
|
||||
END ELSE
|
||||
Set_Property(@WINDOW:'.CLEAR_EPI_UNLOAD','VISIBLE',0)
|
||||
END
|
||||
end
|
||||
end
|
||||
If (MetList<Line,COL$UL_MET_RESULT> EQ '') then
|
||||
Color = YELLOW$
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_RESULT, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
If QAMetOutofSpec EQ True$ then
|
||||
Color = BYELLOW$:@FM:BLACK$:@FM:BYELLOW$:@FM:BLACK$
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_RESULT, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
If (MetResult LT MetMin) then
|
||||
Color = RED$:@FM:'':@FM:BRED$:@FM:''
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_RESULT, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
If (MetResult GT MetMax) then
|
||||
Color = RED$:@FM:'':@FM:BRED$:@FM:''
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_RESULT, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
If (PhaseResult LT PhaseMin) then
|
||||
Color = RED$:@FM:'':@FM:BRED$:@FM:''
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_PHASE_RESULT, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
QAFailReason = WOMatQARec<WO_MAT_QA_FAIL_REASON$, Line>
|
||||
DetectedFail = Index(QAFailReason, 'Number of data points is less than the required amount', 1)
|
||||
If (ScanRecipe NE SpecRecipe) OR (DetectedFail) then
|
||||
Color = RED$:@FM:'':@FM:BRED$:@FM:''
|
||||
stat = Send_Message(CtrlName, 'COLOR_BY_POS', COL$UL_MET_RECIPE, Line, Color)
|
||||
NoError = False$
|
||||
end
|
||||
|
||||
If (NoError EQ True$) then
|
||||
Color = GREEN$
|
||||
stat = Send_Message(CtrlName,'COLOR_BY_POS',0,Line,Color)
|
||||
end
|
||||
|
||||
END ELSE
|
||||
Color = GREEN$
|
||||
stat = Send_Message(CtrlName,'COLOR_BY_POS',0,Line,Color)
|
||||
END
|
||||
|
||||
NEXT Line
|
||||
|
||||
Set_Property(@WINDOW:'.BUTTON_11','ENABLED',EnableUnloadButton)
|
||||
|
||||
IF MemberOf(@USER4, 'OI_ADMIN') THEN
|
||||
Set_Property(@WINDOW:'.CLEAR_EPI_UNLOAD','VISIBLE',1)
|
||||
END ELSE
|
||||
Set_Property(@WINDOW:'.CLEAR_EPI_UNLOAD','VISIBLE',0)
|
||||
END
|
||||
end
|
||||
* End of check for Unload OR Post_Epi windows
|
||||
|
||||
****************************************************************************************************************************************
|
||||
@ -2055,7 +2015,7 @@ HoldClick:
|
||||
HoldData = Dialog_Box('DIALOG_HOLD',@WINDOW,Transition:@FM:@FM:HoldType:@FM:Stage:@FM:Interrupted)
|
||||
|
||||
If HoldData NE 'Cancel' then
|
||||
Hold_Services('ToggleHold', WOMatKey, HoldEntity, HoldEntityID, CtrlEnt, '', HoldData, '')
|
||||
Hold_Services('ToggleHold', WOMatKey, HoldEntity, HoldEntityID, CtrlEnt, '', HoldData, @User4)
|
||||
IF Error_Services("HasError") THEN
|
||||
ErrCode = Error_Services("GetMessage")
|
||||
ErrMsg(errCode)
|
||||
@ -2669,9 +2629,8 @@ MetTestDC:
|
||||
Lines = Get_Property(@WINDOW:'.MET_TEST', 'LIST')
|
||||
TestLine = Lines<CurrRow>
|
||||
LWRHOTest = Indexc(TestLine, 'LW_RHO', 1)
|
||||
DevelopmentFlag = Xlate('DEVELOPMENT', 'HGCV', 'STATUS', 'X')
|
||||
|
||||
If (DevelopmentFlag EQ True$) and (@Window EQ 'RDS_UNLOAD') and (LWRHOTest EQ False$) then
|
||||
If (@Window EQ 'RDS_UNLOAD') and (LWRHOTest EQ False$) then
|
||||
Ctrls := @WINDOW:'.EDT_QA_MET':@RM ; Props := 'SELPOS':@RM
|
||||
Ctrls := @WINDOW:'.EDT_QA_MET' ; Props := 'LIST'
|
||||
end else
|
||||
@ -2708,8 +2667,7 @@ MetTestDC:
|
||||
BEGIN CASE
|
||||
CASE MetTest EQ ''
|
||||
Null
|
||||
|
||||
CASE (@WINDOW = 'RDS_UNLOAD') and (DevelopmentFlag EQ True$) and (LWRHOTest EQ False$)
|
||||
CASE (@WINDOW = 'RDS_UNLOAD') and (LWRHOTest EQ False$)
|
||||
ReturnVal = Dialog_Box('NDW_QA_MET_RESULT', @WINDOW, CassID)
|
||||
Send_Event(@Window, "READ")
|
||||
CASE Otherwise$
|
||||
@ -2863,57 +2821,47 @@ return
|
||||
|
||||
RefreshWaferCounterData:
|
||||
|
||||
WCCheckEnabled = Xlate('APP_INFO', 'WAFER_COUNTER_CHECK', '', 'X')
|
||||
If WCCheckEnabled then
|
||||
|
||||
Set_Property(@Window:'.LBL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
QtyBackColor = GREEN$
|
||||
RDSNo = Get_Property(@Window : '.RDS_NO','DEFPROP')
|
||||
If RDSNo NE '' then
|
||||
FqaWcRec = Wafer_Counter_Services('GetLastScan', RDSNo, 'QA')
|
||||
WaferCounterQty = FqaWcRec<WAFER_COUNTER.SCAN_QTY$>
|
||||
Set_Property(@Window, '@ORIG_WFR_CTR_QTY', WaferCounterQty)
|
||||
WafersOut = Get_Property(@WINDOW:'.WAFERS_OUT','TEXT')
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','DEFPROP', WaferCounterQty)
|
||||
Set_Property(@Window:'.LBL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
QtyBackColor = GREEN$
|
||||
RDSNo = Get_Property(@Window : '.RDS_NO','DEFPROP')
|
||||
If RDSNo NE '' then
|
||||
FqaWcRec = Wafer_Counter_Services('GetLastScan', RDSNo, 'QA')
|
||||
WaferCounterQty = FqaWcRec<WAFER_COUNTER.SCAN_QTY$>
|
||||
Set_Property(@Window, '@ORIG_WFR_CTR_QTY', WaferCounterQty)
|
||||
WafersOut = Get_Property(@WINDOW:'.WAFERS_OUT','TEXT')
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','DEFPROP', WaferCounterQty)
|
||||
|
||||
*****************************************
|
||||
* WaferCounter - Wafers Quantity Section *
|
||||
*****************************************
|
||||
If (WaferCounterQty NE '') then
|
||||
If (WaferCounterQty NE WafersOut) then QtyBackColor = RED$
|
||||
end else
|
||||
QtyBackColor = ORANGE$
|
||||
end
|
||||
|
||||
WaferSize = Xlate('RDS', RDSNo, 'WAFER_SIZE', 'X')
|
||||
WaferSize = Field(WaferSize, ' ', 3, 1)
|
||||
If ( (WaferSize EQ 6) or (WaferSize EQ 8) ) then
|
||||
WCToolId = Wafer_Counter_Services('GetWaferCounterToolID', WaferSize:'INCH', 'QA')
|
||||
If Error_Services('NoError') then
|
||||
WCCurrMode = ''
|
||||
If RowExists('TOOL', WCToolID) then
|
||||
WCCurrModeKey = Xlate('TOOL', WCToolID, 'CURR_MODE_KEY', 'X')
|
||||
WCCurrMode = Xlate('TOOL_LOG', WCCurrModeKey, 'TOOL_MODE', 'X')
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY', 'ENABLED', (WCCurrMode NE 'PROD'))
|
||||
end else
|
||||
ErrMsg('Verify wafer count error. Invalid wafer counter tool ID "':WCToolID:'".')
|
||||
end
|
||||
*****************************************
|
||||
* WaferCounter - Wafers Quantity Section *
|
||||
*****************************************
|
||||
If (WaferCounterQty NE '') then
|
||||
If (WaferCounterQty NE WafersOut) then QtyBackColor = RED$
|
||||
end else
|
||||
QtyBackColor = ORANGE$
|
||||
end
|
||||
|
||||
WaferSize = Xlate('RDS', RDSNo, 'WAFER_SIZE', 'X')
|
||||
WaferSize = Field(WaferSize, ' ', 3, 1)
|
||||
If ( (WaferSize EQ 6) or (WaferSize EQ 8) ) then
|
||||
WCToolId = Wafer_Counter_Services('GetWaferCounterToolID', WaferSize:'INCH', 'QA')
|
||||
If Error_Services('NoError') then
|
||||
WCCurrMode = ''
|
||||
If RowExists('TOOL', WCToolID) then
|
||||
WCCurrModeKey = Xlate('TOOL', WCToolID, 'CURR_MODE_KEY', 'X')
|
||||
WCCurrMode = Xlate('TOOL_LOG', WCCurrModeKey, 'TOOL_MODE', 'X')
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY', 'ENABLED', (WCCurrMode NE 'PROD'))
|
||||
end else
|
||||
ErrMsg(Error_Services('GetMessage'))
|
||||
ErrMsg('Verify wafer count error. Invalid wafer counter tool ID "':WCToolID:'".')
|
||||
end
|
||||
end else
|
||||
ErrMsg('Verify wafer count error. Invalid wafer size "':WaferSize:'" returned for RDS "':RDSNo:'".')
|
||||
end
|
||||
end
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','BACKCOLOR', QtyBackColor)
|
||||
|
||||
end else
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'VISIBLE', False$)
|
||||
Set_Property(@Window:'.LBL_WAFER_COUNTER_QTY', 'VISIBLE', False$)
|
||||
end
|
||||
ErrMsg(Error_Services('GetMessage'))
|
||||
end
|
||||
end else
|
||||
ErrMsg('Verify wafer count error. Invalid wafer size "':WaferSize:'" returned for RDS "':RDSNo:'".')
|
||||
end
|
||||
end
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','BACKCOLOR', QtyBackColor)
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@ Declare Function Get_Property, Get_Status, Dialog_Box, Utility, Popup, Collect.I
|
||||
Declare Function Send_Message, Msg, Security_Check, obj_React_Item, Select_Into, MemberOf, Create_Dialog, obj_Calendar
|
||||
Declare Function GetAsyncKeyState, obj_Tables, MemberOf, Environment_Services, Database_Services, Rds_Services
|
||||
Declare Function Reactor_Services, Error_Services, React_Servs_Services, Reactor_Log_Services, Send_Event, SRP_List
|
||||
Declare Function Nica_Orders_Services
|
||||
Declare Function Nica_Orders_Services, SRP_Date, React_Item_Services, SRP_Datetime, Datetime
|
||||
|
||||
$Insert MSG_EQUATES
|
||||
$Insert APPCOLORS
|
||||
@ -1229,64 +1229,51 @@ SvcsOptions:
|
||||
If ItemType NE '' then
|
||||
|
||||
RetVal = ''
|
||||
ItemType = ICONV(ItemType,'[CONV_CODE_DESC,REACT_ITEM_TYPE]')
|
||||
|
||||
ItemType = ICONV(ItemType,'[CONV_CODE_DESC,REACT_ITEM_TYPE]')
|
||||
RIKeys = React_Item_Services('GetReactItems', ItemType, 'N,U')
|
||||
|
||||
OPEN 'DICT.REACT_ITEM' to DictReactItem else
|
||||
ErrMsg('Unable to open DICT.REACT_ITEM')
|
||||
return
|
||||
end
|
||||
|
||||
SearchString = 'RI_TYPE':@VM:ItemType:@FM
|
||||
SearchString := 'CURR_STATUS':@VM:'N':@VM:'U':@FM
|
||||
|
||||
RIKeys = ''
|
||||
Option = ''
|
||||
Flag = ''
|
||||
|
||||
Btree.Extract(SearchString,'REACT_ITEM',DictReactItem,RIKeys,Option,Flag)
|
||||
If Get_Status(errCode) then
|
||||
ErrMsg(errCode)
|
||||
return
|
||||
end
|
||||
|
||||
TypeOver = ''
|
||||
TypeOVer<PMODE$> = 'K'
|
||||
TypeOver<PDISPLAY$> = RIKeys
|
||||
RetVal = Popup(@Window,TypeOver,'REACT_ITEM')
|
||||
|
||||
If RetVal NE '' then
|
||||
obj_AppWindow('LUValReturn',RetVal:@RM:@Window:'.SERV_INFO':@RM:SelPos)
|
||||
|
||||
RIRec = XLATE('REACT_ITEM',RetVal,'','X')
|
||||
|
||||
If RIRec<REACT_ITEM_RI_TYPE$> = 'T' then
|
||||
CardWindow = 'REACT_ITEM'
|
||||
CardKey = RetVal
|
||||
DefaultRec = ''
|
||||
NewCardCtrl = ''
|
||||
RecalcCtrl = @Window:'.SERV_INFO'
|
||||
RecalcPos = SelPos
|
||||
RetCtrl = @Window:'.SERV_INFO'
|
||||
RetPos = SelPos
|
||||
|
||||
oAParms = CardWindow:@RM:CardKey:@RM:DefaultRec:@RM:NewCardCtrl:@RM:RecalcCtrl:@RM:RecalcPos:@RM:RetCtrl:@RM:RetPos
|
||||
|
||||
obj_AppWindow('ViewNewCard',oAParms)
|
||||
|
||||
Set_Property('REACT_ITEM.TUBE_GRADE','FOCUS',1)
|
||||
|
||||
If Get_Status(errCode) then
|
||||
ErrMsg(errCode)
|
||||
end
|
||||
end
|
||||
|
||||
GoSub Refresh
|
||||
If Error_Services('NoError') then
|
||||
|
||||
TypeOver = ''
|
||||
TypeOVer<PMODE$> = 'K'
|
||||
TypeOver<PDISPLAY$> = RIKeys
|
||||
RetVal = Popup(@Window,TypeOver,'REACT_ITEM')
|
||||
|
||||
If RetVal NE '' then
|
||||
obj_AppWindow('LUValReturn',RetVal:@RM:@Window:'.SERV_INFO':@RM:SelPos)
|
||||
|
||||
RIRec = XLATE('REACT_ITEM',RetVal,'','X')
|
||||
|
||||
If RIRec<REACT_ITEM_RI_TYPE$> = 'T' then
|
||||
CardWindow = 'REACT_ITEM'
|
||||
CardKey = RetVal
|
||||
DefaultRec = ''
|
||||
NewCardCtrl = ''
|
||||
RecalcCtrl = @Window:'.SERV_INFO'
|
||||
RecalcPos = SelPos
|
||||
RetCtrl = @Window:'.SERV_INFO'
|
||||
RetPos = SelPos
|
||||
|
||||
oAParms = CardWindow:@RM:CardKey:@RM:DefaultRec:@RM:NewCardCtrl:@RM:RecalcCtrl:@RM:RecalcPos:@RM:RetCtrl:@RM:RetPos
|
||||
|
||||
obj_AppWindow('ViewNewCard',oAParms)
|
||||
|
||||
Set_Property('REACT_ITEM.TUBE_GRADE','FOCUS',1)
|
||||
|
||||
If Get_Status(errCode) then
|
||||
ErrMsg(errCode)
|
||||
end
|
||||
end
|
||||
|
||||
GoSub Refresh
|
||||
end
|
||||
end else
|
||||
Error_Services('DisplayError')
|
||||
end
|
||||
|
||||
end ;* End of check for null SNReq
|
||||
|
||||
|
||||
End Case
|
||||
|
||||
GoSub Refresh
|
||||
@ -1877,4 +1864,3 @@ ColorRemRiTable:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
@ -231,15 +231,9 @@ RETURN
|
||||
* * * * * * *
|
||||
Read:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
WMOKey = Get_Property(@WINDOW,'ID')
|
||||
IF RowExists('WM_OUT',WMOKey) THEN
|
||||
*IF NOT(Security_Check('Work Order',READ$)) THEN
|
||||
* Send_Event(@WINDOW,'CLEAR')
|
||||
* Security_Err_Msg('Work Order',READ$)
|
||||
* RETURN
|
||||
*END
|
||||
END ELSE
|
||||
IF Not(RowExists('WM_OUT',WMOKey)) THEN
|
||||
ErrMsg('WM_OUT entries may only be created from the Work Order Release process.')
|
||||
Send_Event(@WINDOW,'CLEAR')
|
||||
RETURN
|
||||
@ -382,11 +376,11 @@ return
|
||||
* * * * * * *
|
||||
WONoLF:
|
||||
* * * * * * *
|
||||
|
||||
|
||||
WONo = Get_Property(@WINDOW:'.WO_NO','DEFPROP')
|
||||
|
||||
Convert @Lower_Case to @Upper_Case in WONo
|
||||
Convert 'O' to '' in WONo
|
||||
IF INDEX(WONo,'.',1) > 0 THEN
|
||||
|
||||
CONVERT '.' TO '*' IN WONo
|
||||
Set_Property(@WINDOW:'.WO_NO','DEFPROP','')
|
||||
obj_AppWindow('LoadFormKeys',@WINDOW:@RM:WONo)
|
||||
@ -1099,7 +1093,7 @@ SignSupVer:
|
||||
************************************************************************
|
||||
WMOKey = Get_Property(@WINDOW,'ID')
|
||||
PSNo = Get_Property(@WINDOW:'.PS_NO)','TEXT')
|
||||
VerInst = XLATE('PRS_STAGE',PSNo:'*QA',PRS_STAGE_INST$,'X')
|
||||
VerInst = XLATE('PRS_STAGE',PSNo:'*MO_QA',PRS_STAGE_INST$,'X')
|
||||
IF (VerInst NE '') THEN
|
||||
Yes = Dialog_Box( 'RDS_VER', @WINDOW, VerInst )
|
||||
IF NOT(Yes) THEN
|
||||
@ -1107,29 +1101,25 @@ SignSupVer:
|
||||
END
|
||||
END
|
||||
|
||||
WCCheckEnabled = Xlate('APP_INFO', 'WAFER_COUNTER_CHECK', '', 'X')
|
||||
If WCCheckEnabled then
|
||||
|
||||
****************************************
|
||||
* Verify the Wafer Counter information *
|
||||
****************************************
|
||||
****************************************
|
||||
* Verify the Wafer Counter information *
|
||||
****************************************
|
||||
|
||||
WafersOut = Get_Property(@WINDOW:'.WAFER_CNT','TEXT')
|
||||
WaferCounterQty = Get_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','DEFPROP')
|
||||
|
||||
************************************
|
||||
* Wafer Counter - Quantity Section *
|
||||
************************************
|
||||
If (WaferCounterQty NE '') then
|
||||
If (WaferCounterQty NE WafersOut) then
|
||||
ErrMsg('Unable to sign FQA because Wafer Counter and Wafers Filled quantities do not match.')
|
||||
RETURN 0
|
||||
end
|
||||
end else
|
||||
ErrMsg('Unable to sign FQA because the Wafer Counter quantity is missing.')
|
||||
RETURN 0
|
||||
end
|
||||
end
|
||||
WafersOut = Get_Property(@WINDOW:'.WAFER_CNT','TEXT')
|
||||
WaferCounterQty = Get_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','DEFPROP')
|
||||
|
||||
************************************
|
||||
* Wafer Counter - Quantity Section *
|
||||
************************************
|
||||
If (WaferCounterQty NE '') then
|
||||
If (WaferCounterQty NE WafersOut) then
|
||||
ErrMsg('Unable to sign FQA because Wafer Counter and Wafers Filled quantities do not match.')
|
||||
RETURN 0
|
||||
end
|
||||
end else
|
||||
ErrMsg('Unable to sign FQA because the Wafer Counter quantity is missing.')
|
||||
RETURN 0
|
||||
end
|
||||
|
||||
**************************
|
||||
* Verify user's password *
|
||||
@ -1711,129 +1701,128 @@ AddMakeup:
|
||||
END
|
||||
NEXT I
|
||||
|
||||
Response = Dialog_Box('NDW_MAKEUP_WAFERS', @Window, WOMatKey)
|
||||
Continue = True$
|
||||
ShowSpecInst = Xlate('PROD_SPEC', PSNo, PROD_SPEC_SHOW_SPEC_INST_ON_MU_ADD$, 'X')
|
||||
If ShowSpecInst then
|
||||
SpecInst = Xlate('PROD_SPEC', PSNo, PROD_SPEC_SPEC_INST$, 'X')
|
||||
If SpecInst NE '' then
|
||||
Continue = Dialog_Box('NDW_ACKNOWLEDGE_MESSAGE', @Window, SpecInst)
|
||||
If Not(Continue) then
|
||||
Msg(@Window, '', 'OK', '', 'Process Error':@FM:'This PSN requires you to acknowledge special instructions to add makeup wafers.')
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Begin Case
|
||||
Case Response EQ True$
|
||||
// User requested to convert the current cassette into a makeup box.
|
||||
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey)
|
||||
If Error_Services('NoError') then
|
||||
SAPBatchNo = WOMatRec<WO_MAT_SAP_BATCH_NO$>
|
||||
SAPTXDtm = WOMatRec<WO_MAT_SAP_TX_DTM$>
|
||||
AwaitingBatchNo = ( (SAPTXDtm NE '') and (SAPBatchNo EQ '') )
|
||||
HasBatchNo = (SAPBatchNo NE '')
|
||||
FullBoxReject = (SAPBatchNo[-1, 1] = 'R')
|
||||
Begin Case
|
||||
Case AwaitingBatchNo
|
||||
InvalidRequest = True$
|
||||
ErrMsg('WARNING: Cassette ineligible to be converted as it is awaiting a batch number from SAP.')
|
||||
Return
|
||||
Case FullBoxReject
|
||||
InvalidRequest = True$
|
||||
ErrMsg('WARNING: Cassette is ineligible to be converted as it is a full box reject.')
|
||||
Return
|
||||
Case HasBatchNo
|
||||
// Operation limited to LEAD and SUPERVISOR groups
|
||||
OverrideMsg = "Cassette has a batch number. SUPERVISOR or LEAD must override."
|
||||
Response = Msg(@Window, '', 'OVERRIDE', '', OverrideMsg)
|
||||
|
||||
Begin Case
|
||||
Case Response EQ 1
|
||||
Response = True$ ; // User Clicked Override
|
||||
Case Response EQ 2
|
||||
Response = False$ ; // User Clicked Cancel
|
||||
Case Response EQ char(27)
|
||||
Response = False$ ; // User Pressed Escape Key
|
||||
End Case
|
||||
|
||||
If Response EQ True$ then
|
||||
Response = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:'LEAD':@VM:'SUPERVISOR')
|
||||
Authorized = Response<1>
|
||||
end else
|
||||
Authorized = False$
|
||||
end
|
||||
If Not(Authorized) then Return
|
||||
Case Otherwise$
|
||||
Null
|
||||
End Case
|
||||
|
||||
AvailMU_WMOKeys = ''
|
||||
UserResp = Response
|
||||
MakeupBox = ''
|
||||
|
||||
If Continue then
|
||||
Response = Dialog_Box('NDW_MAKEUP_WAFERS', @Window, WOMatKey)
|
||||
|
||||
Begin Case
|
||||
Case Response EQ True$
|
||||
// User requested to convert the current cassette into a makeup box.
|
||||
// Verify the quantity before proceeding.
|
||||
If WMOutKey NE '' then
|
||||
Parms = ''
|
||||
Parms<1> = WMOutKey ; // Cassette to verify wafer count of.
|
||||
Parms<2> = 0 ; // Wafer count adjustment - 0 because converting box.
|
||||
Parms<3> = 'MU' ; // Wafer counter tool location
|
||||
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
|
||||
If Proceed NE True$ then Return
|
||||
WOMatRec = Database_Services('ReadDataRow', 'WO_MAT', WOMatKey)
|
||||
If Error_Services('NoError') then
|
||||
SAPBatchNo = WOMatRec<WO_MAT_SAP_BATCH_NO$>
|
||||
SAPTXDtm = WOMatRec<WO_MAT_SAP_TX_DTM$>
|
||||
AwaitingBatchNo = ( (SAPTXDtm NE '') and (SAPBatchNo EQ '') )
|
||||
HasBatchNo = (SAPBatchNo NE '')
|
||||
FullBoxReject = (SAPBatchNo[-1, 1] = 'R')
|
||||
Begin Case
|
||||
Case AwaitingBatchNo
|
||||
InvalidRequest = True$
|
||||
ErrMsg('WARNING: Cassette ineligible to be converted as it is awaiting a batch number from SAP.')
|
||||
Return
|
||||
Case FullBoxReject
|
||||
InvalidRequest = True$
|
||||
ErrMsg('WARNING: Cassette is ineligible to be converted as it is a full box reject.')
|
||||
Return
|
||||
Case HasBatchNo
|
||||
// Operation limited to LEAD and SUPERVISOR groups
|
||||
OverrideMsg = "Cassette has a batch number. SUPERVISOR or LEAD must override."
|
||||
Response = Msg(@Window, '', 'OVERRIDE', '', OverrideMsg)
|
||||
|
||||
Begin Case
|
||||
Case Response EQ 1
|
||||
Response = True$ ; // User Clicked Override
|
||||
Case Response EQ 2
|
||||
Response = False$ ; // User Clicked Cancel
|
||||
Case Response EQ char(27)
|
||||
Response = False$ ; // User Pressed Escape Key
|
||||
End Case
|
||||
|
||||
If Response EQ True$ then
|
||||
Response = Dialog_Box('NDW_VERIFY_USER', @WINDOW, @USER4:@FM:'LEAD':@VM:'SUPERVISOR')
|
||||
Authorized = Response<1>
|
||||
end else
|
||||
Authorized = False$
|
||||
end
|
||||
If Not(Authorized) then Return
|
||||
Case Otherwise$
|
||||
Null
|
||||
End Case
|
||||
|
||||
AvailMU_WMOKeys = ''
|
||||
UserResp = Response
|
||||
MakeupBox = ''
|
||||
CheckValue = 1
|
||||
|
||||
FieldNo = WO_MAT_EPO_MAKEUP_BOX$
|
||||
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue) ;* Set WMO_MAKEUP flag on WM_OUT
|
||||
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||
|
||||
Set_Property(@WINDOW:'.MAKEUP_BOX','DEFPROP',CheckValue) ;* Make this the makeup box
|
||||
Send_Event(@WINDOW,'WRITE') ;* Write the record
|
||||
|
||||
WMOKey = WONo:'*':ProcStepNo:'*':CassNo
|
||||
obj_AppWindow('LoadFormKeys',@WINDOW:@RM:WMOKey) ;* Reread the updated record
|
||||
|
||||
Return
|
||||
end else
|
||||
ErrMsg('Error starting wafer counter check. WM_OUT key is missing.')
|
||||
ErrMsg('WARNING: Error reading WO_MAT record.')
|
||||
Return
|
||||
end
|
||||
Case Response EQ ''
|
||||
// User has cancelled this process.
|
||||
Return
|
||||
Case Otherwise$
|
||||
// User has selected a makeup box to use and backfill.
|
||||
AvailMU_WMOKeys = Response
|
||||
MakeupBox = Response
|
||||
MuWfrsNeeded = SelCnt
|
||||
If AvailMU_WMOKeys NE '' then
|
||||
// Wafer counter check - Account for the possibility of selecting more than one makeup box.
|
||||
For each MuWmoKey in AvailMU_WMOKeys using @FM
|
||||
MuWoMatKey = Field(MuWmoKey, '*', 1):'*':Field(MuWmoKey, '*', 3)
|
||||
QtyAdj = MuWfrsNeeded
|
||||
CurrMuWfrCnt = obj_WO_Mat('CurrWaferCnt', MuWoMatKey)
|
||||
If MuWfrsNeeded GT CurrMuWfrCnt then
|
||||
QtyAdj = CurrMuWfrCnt
|
||||
MuWfrsNeeded -= CurrMuWfrCnt
|
||||
end
|
||||
Parms = ''
|
||||
Parms<1> = MuWmoKey ; // Cassette to verify wafer count of.
|
||||
Parms<2> = QtyAdj ; // Wafer count adjustment - 0 because converting box.
|
||||
Parms<3> = 'MU' ; // Wafer counter tool location
|
||||
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
|
||||
If Proceed NE True$ then Return
|
||||
Next MuWmoKey
|
||||
end
|
||||
|
||||
CheckValue = 1
|
||||
* Signature block added 10/6/2010 JCH *
|
||||
Valid = Dialog_Box('NDW_VERIFY_USER', @Window, @User4)
|
||||
|
||||
FieldNo = WO_MAT_EPO_MAKEUP_BOX$
|
||||
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue) ;* Set WMO_MAKEUP flag on WM_OUT
|
||||
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||
IF NOT(Valid) THEN RETURN ;* User is not worthy or can't type
|
||||
|
||||
Set_Property(@WINDOW:'.MAKEUP_BOX','DEFPROP',CheckValue) ;* Make this the makeup box
|
||||
Send_Event(@WINDOW,'WRITE') ;* Write the record
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
|
||||
WMOKey = WONo:'*':ProcStepNo:'*':CassNo
|
||||
obj_AppWindow('LoadFormKeys',@WINDOW:@RM:WMOKey) ;* Reread the updated record
|
||||
obj_WM_Out('AddMakeupWafers',WMOutKey:@RM:EmptySlots:@RM:MakeupBox)
|
||||
//Remove the signatures for the WO_MAT_QA record because they are changing its results.
|
||||
WOMatQaKey = Field(WMOutKey, '*', 1) : '*' : Field(WMOutKey, '*', 3)
|
||||
Wo_Mat_Qa_Services('ClearSignatureByStage', WOMatQaKey, 'MO_QA')
|
||||
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:WMOutKey)
|
||||
|
||||
Return
|
||||
end else
|
||||
ErrMsg('WARNING: Error reading WO_MAT record.')
|
||||
Return
|
||||
end
|
||||
Case Response EQ ''
|
||||
// User has cancelled this process.
|
||||
Return
|
||||
Case Otherwise$
|
||||
// User has selected a makeup box to use and backfill.
|
||||
AvailMU_WMOKeys = Response
|
||||
MakeupBox = Response
|
||||
MuWfrsNeeded = SelCnt
|
||||
If AvailMU_WMOKeys NE '' then
|
||||
// Wafer counter check - Account for the possibility of selecting more than one makeup box.
|
||||
For each MuWmoKey in AvailMU_WMOKeys using @FM
|
||||
MuWoMatKey = Field(MuWmoKey, '*', 1):'*':Field(MuWmoKey, '*', 3)
|
||||
QtyAdj = MuWfrsNeeded
|
||||
CurrMuWfrCnt = obj_WO_Mat('CurrWaferCnt', MuWoMatKey)
|
||||
If MuWfrsNeeded GT CurrMuWfrCnt then
|
||||
QtyAdj = CurrMuWfrCnt
|
||||
MuWfrsNeeded -= CurrMuWfrCnt
|
||||
end
|
||||
Parms = ''
|
||||
Parms<1> = MuWmoKey ; // Cassette to verify wafer count of.
|
||||
Parms<2> = QtyAdj ; // Wafer count adjustment - 0 because converting box.
|
||||
Parms<3> = 'MU' ; // Wafer counter tool location
|
||||
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
|
||||
If Proceed NE True$ then Return
|
||||
Next MuWmoKey
|
||||
end
|
||||
|
||||
* Signature block added 10/6/2010 JCH *
|
||||
Valid = Dialog_Box('NDW_VERIFY_USER', @Window, @User4)
|
||||
|
||||
IF NOT(Valid) THEN RETURN ;* User is not worthy or can't type
|
||||
|
||||
Send_Event(@WINDOW,'WRITE')
|
||||
|
||||
obj_WM_Out('AddMakeupWafers',WMOutKey:@RM:EmptySlots:@RM:MakeupBox)
|
||||
//Remove the signatures for the WO_MAT_QA record because they are changing its results.
|
||||
WOMatQaKey = Field(WMOutKey, '*', 1) : '*' : Field(WMOutKey, '*', 3)
|
||||
Wo_Mat_Qa_Services('ClearSignatureByStage', WOMatQaKey, 'MO_QA')
|
||||
obj_Appwindow('LoadFormKeys',@WINDOW:@RM:WMOutKey)
|
||||
|
||||
RETURN
|
||||
End Case
|
||||
|
||||
RETURN
|
||||
End Case
|
||||
end
|
||||
end else
|
||||
// Cassette is on hold so makeup wafers cannot be added.
|
||||
ErrorMessage = 'Add MU Wafer Denied!. The cassette must be taken off hold before adding makeup wafers.'
|
||||
@ -1991,51 +1980,42 @@ MakeupClick:
|
||||
End Case
|
||||
|
||||
If Not(InvalidRequest) then
|
||||
Parms = ''
|
||||
Parms<1> = WMOKey ; // Cassette to verify wafer count of.
|
||||
Parms<2> = 0 ; // Wafer count adjustment - 0 because converting box.
|
||||
Parms<3> = 'MU' ; // Wafer counter tool location
|
||||
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
|
||||
If Proceed EQ True$ then
|
||||
Send_Event(CtrlEnt,'GOTFOCUS')
|
||||
OrgMUPart = XLATE('WM_OUT',WMOKey,'MU_PART_NO','X')
|
||||
// Log the makeup flag change
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM
|
||||
LogData<2> = WONo:'*':ProcStepNo:'*':CassNo
|
||||
LogData<3> = CheckValue
|
||||
LogData<4> = @User4
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
|
||||
Send_Event(@WINDOW,'WRITE') ;************* 6/30/2010
|
||||
|
||||
FieldNo = WO_MAT_EPO_MAKEUP_BOX$
|
||||
|
||||
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
|
||||
|
||||
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||
|
||||
* Added 10/11/2010 JCH
|
||||
NewMUPart = XLATE('WM_OUT',WMOKey,'MU_PART_NO','X')
|
||||
IndexTransactionRow = 'MU_PART_NO':@FM:WMOKey:@FM:OrgMUPart:@FM:NewMUPart:@FM
|
||||
OPEN "!WM_OUT" TO BangTable THEN
|
||||
LOCK BangTable, 0 THEN
|
||||
READ PendingTrans FROM BangTable, 0 ELSE PendingTrans = '0':@FM
|
||||
PendingTrans := IndexTransactionRow
|
||||
WRITE PendingTrans ON BangTable, 0 ELSE
|
||||
ErrMsg('Unable to write index transaction to !WM_OUT. ':WMOutKey)
|
||||
END
|
||||
UNLOCK BangTable, 0 ELSE ErrMsg('Unable to Unlock !WM_OUT while adding index transaction. ':WMOutKey)
|
||||
END ELSE
|
||||
ErrMsg('Unable to Lock !WM_OUT to add index transaction. ':WMOutKey)
|
||||
Send_Event(CtrlEnt,'GOTFOCUS')
|
||||
OrgMUPart = XLATE('WM_OUT',WMOKey,'MU_PART_NO','X')
|
||||
// Log the makeup flag change
|
||||
LogData = ''
|
||||
LogData<1> = LoggingDTM
|
||||
LogData<2> = WONo:'*':ProcStepNo:'*':CassNo
|
||||
LogData<3> = CheckValue
|
||||
LogData<4> = @User4
|
||||
Logging_Services('AppendLog', objLog, LogData, @RM, @FM)
|
||||
|
||||
Send_Event(@WINDOW,'WRITE') ;************* 6/30/2010
|
||||
|
||||
FieldNo = WO_MAT_EPO_MAKEUP_BOX$
|
||||
|
||||
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
|
||||
|
||||
IF Get_Status(errCode) THEN ErrMsg(errCode)
|
||||
|
||||
* Added 10/11/2010 JCH
|
||||
NewMUPart = XLATE('WM_OUT',WMOKey,'MU_PART_NO','X')
|
||||
IndexTransactionRow = 'MU_PART_NO':@FM:WMOKey:@FM:OrgMUPart:@FM:NewMUPart:@FM
|
||||
OPEN "!WM_OUT" TO BangTable THEN
|
||||
LOCK BangTable, 0 THEN
|
||||
READ PendingTrans FROM BangTable, 0 ELSE PendingTrans = '0':@FM
|
||||
PendingTrans := IndexTransactionRow
|
||||
WRITE PendingTrans ON BangTable, 0 ELSE
|
||||
ErrMsg('Unable to write index transaction to !WM_OUT. ':WMOutKey)
|
||||
END
|
||||
UNLOCK BangTable, 0 ELSE ErrMsg('Unable to Unlock !WM_OUT while adding index transaction. ':WMOutKey)
|
||||
END ELSE
|
||||
ErrMsg('Unable to Open !WM_OUT to add index transaction. ':WMOutKey)
|
||||
ErrMsg('Unable to Lock !WM_OUT to add index transaction. ':WMOutKey)
|
||||
END
|
||||
* End of 10/11/2010 update
|
||||
end else
|
||||
InvalidRequest = True$
|
||||
end
|
||||
END ELSE
|
||||
ErrMsg('Unable to Open !WM_OUT to add index transaction. ':WMOutKey)
|
||||
END
|
||||
* End of 10/11/2010 update
|
||||
end
|
||||
end else
|
||||
InvalidRequest = True$
|
||||
@ -2280,58 +2260,50 @@ return
|
||||
|
||||
|
||||
RefreshWaferCounterData:
|
||||
|
||||
WCCheckEnabled = Xlate('APP_INFO', 'WAFER_COUNTER_CHECK', '', 'X')
|
||||
If WCCheckEnabled then
|
||||
|
||||
Set_Property(@Window:'.LBL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
QtyBackColor = GREEN$
|
||||
WONo = Get_Property(@Window : '.WO_NO', 'TEXT')
|
||||
Cassette = Get_Property(@Window : '.OUT_CASS_NO', 'TEXT')
|
||||
WMOKey = WONo:'*1*':Cassette
|
||||
If WMOKey NE '*1*' then
|
||||
FqaWcRec = Wafer_Counter_Services('GetLastScan', WMOKey, 'QA')
|
||||
WaferCounterQty = FqaWcRec<WAFER_COUNTER.SCAN_QTY$>
|
||||
Set_Property(@Window, '@ORIG_WFR_CTR_QTY', WaferCounterQty)
|
||||
WafersFilled = Get_Property(@WINDOW:'.WAFER_CNT','TEXT')
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','DEFPROP', WaferCounterQty)
|
||||
|
||||
************************************
|
||||
* Wafer Counter - Quantity Section *
|
||||
************************************
|
||||
If (WaferCounterQty NE '') then
|
||||
If (WaferCounterQty NE WafersFilled) then QtyBackColor = RED$
|
||||
end else
|
||||
QtyBackColor = ORANGE$
|
||||
end
|
||||
WaferSize = Xlate('WM_OUT', WMOKey, 'WAFER_SIZE', 'X')
|
||||
WaferSize = Field(WaferSize, ' ', 3, 1)
|
||||
If ( (WaferSize EQ 6) or (WaferSize EQ 8) ) then
|
||||
WCToolId = Wafer_Counter_Services('GetWaferCounterToolID', WaferSize:'INCH', 'QA')
|
||||
If Error_Services('NoError') then
|
||||
WCCurrMode = ''
|
||||
If RowExists('TOOL', WCToolID) then
|
||||
WCCurrModeKey = Xlate('TOOL', WCToolID, 'CURR_MODE_KEY', 'X')
|
||||
WCCurrMode = Xlate('TOOL_LOG', WCCurrModeKey, 'TOOL_MODE', 'X')
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY', 'ENABLED', (WCCurrMode NE 'PROD'))
|
||||
end else
|
||||
ErrMsg('Verify wafer count error. Invalid wafer counter tool ID "':WCToolID:'".')
|
||||
end
|
||||
Set_Property(@Window:'.LBL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'VISIBLE', True$)
|
||||
QtyBackColor = GREEN$
|
||||
WONo = Get_Property(@Window : '.WO_NO', 'TEXT')
|
||||
Cassette = Get_Property(@Window : '.OUT_CASS_NO', 'TEXT')
|
||||
WMOKey = WONo:'*1*':Cassette
|
||||
If WMOKey NE '*1*' then
|
||||
FqaWcRec = Wafer_Counter_Services('GetLastScan', WMOKey, 'QA')
|
||||
WaferCounterQty = FqaWcRec<WAFER_COUNTER.SCAN_QTY$>
|
||||
Set_Property(@Window, '@ORIG_WFR_CTR_QTY', WaferCounterQty)
|
||||
WafersFilled = Get_Property(@WINDOW:'.WAFER_CNT','TEXT')
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','DEFPROP', WaferCounterQty)
|
||||
|
||||
************************************
|
||||
* Wafer Counter - Quantity Section *
|
||||
************************************
|
||||
If (WaferCounterQty NE '') then
|
||||
If (WaferCounterQty NE WafersFilled) then QtyBackColor = RED$
|
||||
end else
|
||||
QtyBackColor = ORANGE$
|
||||
end
|
||||
WaferSize = Xlate('WM_OUT', WMOKey, 'WAFER_SIZE', 'X')
|
||||
WaferSize = Field(WaferSize, ' ', 3, 1)
|
||||
If ( (WaferSize EQ 6) or (WaferSize EQ 8) ) then
|
||||
WCToolId = Wafer_Counter_Services('GetWaferCounterToolID', WaferSize:'INCH', 'QA')
|
||||
If Error_Services('NoError') then
|
||||
WCCurrMode = ''
|
||||
If RowExists('TOOL', WCToolID) then
|
||||
WCCurrModeKey = Xlate('TOOL', WCToolID, 'CURR_MODE_KEY', 'X')
|
||||
WCCurrMode = Xlate('TOOL_LOG', WCCurrModeKey, 'TOOL_MODE', 'X')
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY', 'ENABLED', (WCCurrMode NE 'PROD'))
|
||||
end else
|
||||
ErrMsg(Error_Services('GetMessage'))
|
||||
ErrMsg('Verify wafer count error. Invalid wafer counter tool ID "':WCToolID:'".')
|
||||
end
|
||||
end else
|
||||
ErrMsg('Verify wafer count error. Invalid wafer size "':WaferSize:'" returned for WMO "':WMOKey:'".')
|
||||
ErrMsg(Error_Services('GetMessage'))
|
||||
end
|
||||
end
|
||||
end else
|
||||
ErrMsg('Verify wafer count error. Invalid wafer size "':WaferSize:'" returned for WMO "':WMOKey:'".')
|
||||
end
|
||||
end
|
||||
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','BACKCOLOR', QtyBackColor)
|
||||
|
||||
Set_Property(@WINDOW:'.EDL_WAFER_COUNTER_QTY','BACKCOLOR', QtyBackColor)
|
||||
|
||||
end else
|
||||
Set_Property(@Window:'.LBL_WAFER_COUNTER_QTY', 'VISIBLE', False$)
|
||||
Set_Property(@Window:'.EDL_WAFER_COUNTER_QTY', 'VISIBLE', False$)
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -7,7 +7,7 @@ COMPILE FUNCTION Comm_WO_Mat(Instruction, Parm1,Parm2)
|
||||
10/18/2006 - John C. Henry, J.C. Henry & Co., Inc.
|
||||
*/
|
||||
|
||||
DECLARE SUBROUTINE Set_Property, Set_Status, ErrMsg, Set_Property, obj_AppWindow, Send_Message
|
||||
DECLARE SUBROUTINE Set_Property, Set_Status, ErrMsg, Set_Property, obj_AppWindow, Send_Message, Wo_Mat_Services
|
||||
DECLARE SUBROUTINE Btree.Extract, Send_Event, Security_Err_Msg, Forward_Event, End_Window, Start_Window
|
||||
DECLARE SUBROUTINE EditCell, obj_NCR, obj_Notes, obj_WO_Mat, obj_Tables, SAP_Services, Hold_Services
|
||||
|
||||
@ -627,6 +627,7 @@ MakeUpClick:
|
||||
LotId = Xlate('WO_MAT', WOMatKey, 'WMO_KEY', 'X')
|
||||
end else
|
||||
LotId = Xlate('WO_MAT', WOMatKey, 'RDS_NO', 'X')
|
||||
RDSNo = LotID
|
||||
end
|
||||
|
||||
If LotId NE '' then
|
||||
@ -636,12 +637,22 @@ MakeUpClick:
|
||||
Parms<3> = 'MU' ; // Wafer counter tool location
|
||||
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
|
||||
If Proceed EQ True$ then
|
||||
Set_Property(@WINDOW,'SAVEWARN', False$)
|
||||
Send_Event(@WINDOW,'CLEAR')
|
||||
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
END
|
||||
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
|
||||
If EpiPro EQ False$ then
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg('Unable to set makeup flag until Unload stage is signed.')
|
||||
InvalidRequest = True$
|
||||
END else
|
||||
Set_Property(@WINDOW,'SAVEWARN', False$)
|
||||
Send_Event(@WINDOW,'CLEAR')
|
||||
If (CheckValue EQ True$) then
|
||||
Wo_Mat_Services('MakeupFlagOn', WOMatKey)
|
||||
end
|
||||
end
|
||||
end else
|
||||
Set_Property(@WINDOW,'SAVEWARN', False$)
|
||||
Send_Event(@WINDOW,'CLEAR')
|
||||
end
|
||||
end else
|
||||
InvalidRequest = True$
|
||||
end
|
||||
@ -804,3 +815,4 @@ BatchFixit:
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
|
||||
@ -17,11 +17,11 @@ DECLARE SUBROUTINE Set_Property, Set_Status, ErrMsg, Set_Property, obj_AppWindo
|
||||
DECLARE SUBROUTINE Btree.Extract, Send_Event, Security_Err_Msg, Forward_Event, End_Window, Start_Window
|
||||
DECLARE SUBROUTINE EditCell, obj_NCR, obj_Notes, Post_Event, obj_WO_Mat, obj_WO_Mat_Log, obj_WO_Wfr, obj_Tables
|
||||
DECLARE SUBROUTINE SRP_Stopwatch, Update_Index, Database_Services, obj_RDS, Create_Dialog, Dialog_Box
|
||||
DECLARE SUBROUTINE Sleepery
|
||||
DECLARE SUBROUTINE Sleepery, Wo_Mat_Services
|
||||
DECLARE FUNCTION Get_Property, Get_Status, Popup, Send_Message, Msg, Security_Check, Dialog_Box, RowExists
|
||||
DECLARE FUNCTION Dialog_Box, obj_WO_Log, obj_NCR, Check_Notes, obj_MUWafers, obj_WO_Mat, Signature_Services
|
||||
DECLARE FUNCTION MemberOf, obj_Tables, obj_RDS, Environment_Services, Logging_Services, Material_Services
|
||||
DECLARE FUNCTION Database_Services, RetStack, Datetime, Error_Services
|
||||
DECLARE FUNCTION Database_Services, RetStack, Datetime, Error_Services, Rds_Services
|
||||
|
||||
$INSERT POPUP_EQUATES
|
||||
$INSERT LOGICAL
|
||||
@ -434,7 +434,7 @@ RejMat:
|
||||
WfrID = SlotList<SelectedRows<I>, COL$WAFER_ID>
|
||||
PrevNCR = SlotList<SelectedRows<I>, COL$SLOT_NCR>
|
||||
MUWfrID = SlotList<SelectedRows<I>, COL$MU_WAFER_ID>
|
||||
If ( (MetNo NE '') or (WfrID EQ '') or (PrevNCR NE '' and MUWfrID EQ '') ) then
|
||||
If (WfrID EQ '') then
|
||||
AllSlotsPermitted = False$
|
||||
IneligibleSlots<0, -1> = SlotNo
|
||||
end
|
||||
@ -811,18 +811,6 @@ AddMakeup:
|
||||
MakeupBox = ''
|
||||
|
||||
// User requested to convert the current cassette into a makeup box.
|
||||
// Verify the quantity before proceeding.
|
||||
RDSNo = Get_Property(@Window:'.RDS_NO', 'TEXT')
|
||||
If RDSNo NE '' then
|
||||
Parms = ''
|
||||
Parms<1> = RDSNo ; // Cassette to verify wafer count of.
|
||||
Parms<2> = 0 ; // Wafer count adjustment - 0 because converting box.
|
||||
Parms<3> = 'MU' ; // Wafer counter tool location
|
||||
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
|
||||
If Proceed NE True$ then return
|
||||
end else
|
||||
ErrMsg('Error starting wafer counter check. RDS No is missing.')
|
||||
end
|
||||
|
||||
RDSNo = Get_Property(@Window : '.RDS_NO', 'TEXT') ; // Get the RDS No now before the WRITE in case it is needed to toggle the index.
|
||||
|
||||
@ -830,8 +818,19 @@ AddMakeup:
|
||||
|
||||
FieldNo = WO_MAT_MAKEUP_BOX$
|
||||
CheckValue = 1
|
||||
EpiCheck = Rds_Services('IsEpiPro', RDSNo)
|
||||
|
||||
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
|
||||
|
||||
If EpiCheck EQ False$ then
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg('Unable to set makeup flag until Unload stage is signed.')
|
||||
Return
|
||||
END else
|
||||
Wo_Mat_Services('MakeupFlagOn', WOMatKey)
|
||||
If Error_Services('HasError') then ErrMsg(Error_Services('GetMessage'))
|
||||
end
|
||||
end
|
||||
|
||||
SlotWaferIDs = Xlate('WO_MAT', WOMatKey, 'SLOT_WAFER_ID', 'X')
|
||||
Convert @VM to '' in SlotWaferIDs
|
||||
@ -1056,26 +1055,23 @@ MakeUpLot:
|
||||
End Case
|
||||
|
||||
If Not(InvalidRequest) then
|
||||
RDSNo = Get_Property(@Window:'.RDS_NO', 'TEXT')
|
||||
If RDSNo NE '' then
|
||||
Parms = ''
|
||||
Parms<1> = RDSNo ; // Cassette to verify wafer count of.
|
||||
Parms<2> = 0 ; // Wafer count adjustment - 0 because converting box.
|
||||
Parms<3> = 'MU' ; // Wafer counter tool location
|
||||
Proceed = Dialog_Box('NDW_WAFER_COUNTER', @Window, Parms)
|
||||
If Proceed EQ True$ then
|
||||
EpiCheck = Rds_Services('IsEpiPro', RDSNo)
|
||||
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
|
||||
If EpiCheck EQ False$ then
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg('Unable to set makeup flag until Unload stage is signed.')
|
||||
InvalidRequest = True$
|
||||
END else
|
||||
Set_Property(@WINDOW,'SAVEWARN', False$)
|
||||
Send_Event(@WINDOW,'CLEAR')
|
||||
obj_WO_Mat('ChangeFlag',WOMatKey:@RM:FieldNo:@RM:CheckValue)
|
||||
IF Get_Status(errCode) THEN
|
||||
ErrMsg(errCode)
|
||||
END
|
||||
end else
|
||||
InvalidRequest = True$
|
||||
If (CheckValue EQ True$) then
|
||||
Wo_Mat_Services('MakeupFlagOn', WOMatKey)
|
||||
If Error_Services('HasError') then ErrMsg(Error_Services('GetMessage'))
|
||||
end
|
||||
end
|
||||
end else
|
||||
InvalidRequest = True$
|
||||
ErrMsg('WARNING: Error starting wafer counter check. RDS No is missing.')
|
||||
Set_Property(@WINDOW,'SAVEWARN', False$)
|
||||
Send_Event(@WINDOW,'CLEAR')
|
||||
end
|
||||
end
|
||||
end else
|
||||
@ -1212,5 +1208,3 @@ LogRecord:
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -213,4 +213,3 @@ UpdateHALItem:
|
||||
end
|
||||
|
||||
return
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user