home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / mag&info / fyidev.zip / 30DEC92.AUS < prev    next >
Text File  |  1992-12-07  |  40KB  |  953 lines

  1. FYI:Inconsistencies in LockPhysicalRecordSet()
  2. FYI
  3.  
  4. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  5.  
  6.           TITLE:Inconsistencies in LockPhysicalRecordSet()
  7.    DOCUMENT ID#:FYI.A.2845
  8.            DATE:02DEC92
  9.         PRODUCT:NetWare C Interface DOS
  10. PRODUCT VERSION:v1.2
  11.      SUPERSEDES:NA
  12.  
  13. SYMPTOM
  14.  
  15. Cannot lock the records with shareable read-only locks with the LockPhysicalRecordSet() function.
  16.  
  17. ISSUE/PROBLEM
  18.  
  19. Calling LockPhysicalRecordSet() with lockDirective parameter of 1 (shareable read-only) actually locks the record exclusively. This function locks records exclusively for a lockDirective parameter of 1 or 0.
  20.  
  21. SOLUTION
  22.  
  23. NA
  24.  
  25.  
  26.  
  27.  
  28. FYI:Multiple NetWare Logins under Windows 3.1
  29. FYI
  30.  
  31. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  32.  
  33.           TITLE:Multiple NetWare Logins under Windows 3.1
  34.    DOCUMENT ID#:FYI.A.4502
  35.            DATE:02DEC92
  36.         PRODUCT:NetWare C for Windows
  37. PRODUCT VERSION:v1.3
  38.      SUPERSEDES:NA
  39.  
  40. SYMPTOM
  41.  
  42. NA
  43.  
  44. ISSUE/PROBLEM
  45.  
  46. Is it possible to log in and out of a NetWare server from a Windows 3.1 DOS box?
  47.  
  48. SOLUTION
  49.  
  50. To log in and out of a NetWare server multiple times from a DOS window, several conditions must be satisfied:
  51.  
  52. 1.The shell (IPX/ODI and NETX) must be loaded before starting Windows.
  53.  
  54. 2.VIPX.386 should be version 1.13 or later.
  55.  
  56. 3.Set NWShareHandles = TRUE to share drive mappings among DOS sessions.  This parameter is in the [NetWare] section of the Windows SYSTEM.INI file.
  57.  
  58. 4.A path must be maintained to the \LOGIN subdirectory of a NetWare server.
  59.  
  60.  
  61.  
  62.  
  63. FYI:IPXODI 2.0 Diagnostic Call Bug
  64. FYI
  65.  
  66. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  67.  
  68.           TITLE:IPXODI 2.0 Diagnostic Call Bug
  69.    DOCUMENT ID#:FYI.A.6001
  70.            DATE:25NOV92
  71.         PRODUCT:NetWare C Interface DOS
  72. PRODUCT VERSION:v1.20
  73.      SUPERSEDES:NA
  74.  
  75. SYMPTOM
  76.  
  77. Diagnostic calls return incorrect information.
  78.  
  79. ISSUE/PROBLEM
  80.  
  81. When running IPXODI version 2.0, GetServerAddressTable() and GetServerNameTable() return empty information buffers.  The exact same calls function properly under IPXODI version 1.2.
  82.  
  83. SOLUTION
  84.  
  85. Use IPXODI version 1.2 if you need to use these calls.
  86.  
  87.  
  88.  
  89.  
  90. FYI:Must ScanSalvagableFiles before Purging
  91. FYI
  92.  
  93. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  94.  
  95.           TITLE:Must ScanSalvagableFiles before Purging
  96.    DOCUMENT ID#:FYI.A.4601
  97.            DATE:23NOV92
  98.         PRODUCT:Network C Interface for DOS
  99. PRODUCT VERSION:v1.20
  100.      SUPERSEDES:NA
  101.  
  102. SYMPTOM
  103.  
  104. Setting the entryID parameter in PurgeSalvagableFile to -1 as suggested in the documentation will always cause it to fail.
  105.  
  106. ISSUE/PROBLEM
  107.  
  108. The documentation states that an initial search can be performed by setting entryID to -1.  However, this is not correct.  PurgeSalvagableFile() cannot scan for files to be purged.
  109.  
  110. SOLUTION
  111.  
  112. You must call ScanSalvagableFiles() to get a valid entryID value before calling PurgeSalvagableFile().  That entryID will allow PurgeSalvagableFile() to identify the directory entry to be purged.
  113.  
  114.  
  115.  
  116.  
  117. FYI:Mismatched Error Codes in Message Services
  118. FYI
  119.  
  120. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  121.  
  122.           TITLE:Mismatched Error Codes in Message Services
  123.    DOCUMENT ID#:FYI.A.4602
  124.            DATE:23NOV92
  125.         PRODUCT:Network C Interface for DOS
  126. PRODUCT VERSION:v1.20
  127.      SUPERSEDES:NA
  128.  
  129. SYMPTOM
  130.  
  131. Decimal error code values do not match hex error code values in the documentation for several Message Services functions.
  132.  
  133. ISSUE/PROBLEM
  134.  
  135. The documentation in the NetWare C Interface for DOS manual for BroadcastToConsole(), CloseMessagePipe(), and GetBroadcastMessage() all show an error code "253 (0xFC)  MESSAGE_QUEUE_FULL".  Decimal 253 does not equal hex FC.
  136.  
  137. SOLUTION
  138.  
  139. The hex value is correct.  The decimal values should be 252.
  140.  
  141.  
  142.  
  143.  
  144. FYI:Error in CONVHNDL.C
  145. FYI
  146.  
  147. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  148.  
  149.           TITLE:Error in CONVHNDL.C
  150.    DOCUMENT ID#:FYI.A.1527
  151.            DATE:20NOV92
  152.         PRODUCT:NetWare C Interface for DOS
  153. PRODUCT VERSION:v1.2
  154.      SUPERSEDES:NA
  155.  
  156. SYMPTOM
  157.  
  158. NA
  159.  
  160. ISSUE/PROBLEM
  161.  
  162. CONVHNDL.C will not return information correctly about the root directory of any volume.  If you need to pass the root directory as the path for any of the following calls, a status 156 (0x9C), Invalid Path, will be returned. This function is not called directly by the user application, but is called by the following functions:
  163.  
  164.  API calls :  GetEffectiveRights
  165.               PurgeSalvagableFile
  166.               RecoverSalvagableFile
  167.               SetTrustee
  168.               ScanDirEntry
  169.               ScanEntryForTrustees
  170.               ScanFileEntry
  171.               ScanFilePhysical
  172.  
  173. SOLUTION
  174.  
  175. The problem is located on line 120 of CONVHNDL.C.  Please make the following change to the source code to fix the problem.   Recompile the source module and replace it in the NIT library.
  176.  
  177.      Line 120 :   strcpy( newDirPath, '\0' );
  178.  
  179.  New Line 120 :   strcpy( newDirPath, "\0" );
  180.  
  181.  
  182.  
  183.  
  184. FYI:Unique Passwords
  185. FYI
  186.  
  187. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  188.  
  189.           TITLE:Unique Passwords
  190.    DOCUMENT ID#:FYI.A.3858
  191.            DATE:18NOV92
  192.         PRODUCT:NetWare
  193. PRODUCT VERSION:v3.11
  194.      SUPERSEDES:NA
  195.  
  196. SYMPTOM
  197.  
  198. NA
  199.  
  200. ISSUE/PROBLEM
  201.  
  202. If the Unique Passwords requirement is enabled through SYSCON, and a password is changed to one of the old passwords through SYSCON, the password is accepted and no error messages are given.
  203.  
  204. SOLUTION
  205.  
  206. Whenever a password is changed through SYSCON, the password expiration date defaults to January 1, 1985. If this expiration date is not changed to a date later than the current date, SYSCON will accept any passwords that were used previously even though the Unique Passwords restriction is on. Therefore, make sure that the password expiration date is valid.
  207.  
  208.  
  209.  
  210.  
  211. FYI:Calling _msize() with Protected Memory
  212. FYI
  213.  
  214. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  215.  
  216.           TITLE:Calling _msize() with Protected Memory
  217.    DOCUMENT ID#:FYI.A.1528
  218.            DATE:27MAR92
  219.         PRODUCT:Network C for NLMs
  220. PRODUCT VERSION:v2.0b
  221.      SUPERSEDES:NA
  222.  
  223. SYMPTOM
  224.  
  225. NA
  226.  
  227. ISSUE/PROBLEM
  228.  
  229. If a call is made to _msize() for a piece of protected memory, the size returned for the memory is incorrect.  This is apparent when running under PROTECT.NLM, if an application calls realloc(), that calls _msize, the size of memory returned is an unpredictable number.  This incorrect size may cause memory corruption, etc.
  230.  
  231. SOLUTION
  232.  
  233. NA
  234.  
  235.  
  236.  
  237.  
  238. FYI:GetSpecificCaptureFlags() Always Returns Zero in AL
  239. FYI
  240.  
  241. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  242.  
  243.           TITLE:GetSpecificCaptureFlags() Always Returns Zero in AL
  244.    DOCUMENT ID#:FYI.A.2846
  245.            DATE:11NOV92
  246.         PRODUCT:NetWare System Calls for DOS
  247. PRODUCT VERSION:v1.0
  248.      SUPERSEDES:NA
  249.  
  250. SYMPTOM
  251.  
  252. GetSpecificCaptureFlags() always returns a status zero.
  253.  
  254. ISSUE/PROBLEM
  255.  
  256. GetSpecificCaptureFlags() always returns a status zero in AL. However, AH returns a zero if the reply buffer is filled, and non-zero if the reply buffer is not filled because IPX or NETX was not loaded (DOS).
  257.  
  258. SOLUTION
  259.  
  260. The documentation is incorrect.  Use AH as the completion code instead of AL.
  261.  
  262.  
  263.  
  264.  
  265. FYI:Get Connection Information Needs 64 Byte Reply Buffer
  266. FYI
  267.  
  268. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  269.  
  270.           TITLE:Get Connection Information Needs 64 Byte Reply Buffer
  271.    DOCUMENT ID#:FYI.A.4806
  272.            DATE:11NOV92
  273.         PRODUCT:NetWare System Calls
  274. PRODUCT VERSION:v1.00
  275.      SUPERSEDES:NA
  276.  
  277. SYMPTOM
  278.  
  279. The workstation loses connection with the server or function call returns invalid data.
  280.  
  281. ISSUE/PROBLEM
  282.  
  283. GetConnectionInformation() requires a 64 byte reply buffer to return information from the call instead of a 63 byte reply buffer.
  284.  
  285. SOLUTION
  286.  
  287. Resize the reply buffer in the application to 64 bytes.
  288.  
  289.  
  290.  
  291.  
  292. FYI:Documentation Error for SetDefaultCaptureFlags()
  293. FYI
  294.  
  295. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  296.  
  297.           TITLE:Documentation Error for SetDefaultCaptureFlags()
  298.    DOCUMENT ID#:FYI.A.2847
  299.            DATE:11NOV92
  300.         PRODUCT:NetWare C Interface DOS
  301. PRODUCT VERSION:v1.2
  302.      SUPERSEDES:NA
  303.  
  304. SYMPTOM
  305.  
  306. SET_CAPTURE_FLAGS structure not defined properly.
  307.  
  308. ISSUE/PROBLEM
  309.  
  310. In Volume II of the NetWare C Interface for DOS manual (July 1990 edition) on page 15-42, the last field in SET_CAPTURE_FLAGS structure is defined as "BYTE PAD02" instead of "BYTE PAD[21]".  Also, the flushCaptureOnDeviceClose and flushCaptureTimeoutCount fields are in reverse order.
  311.  
  312. SOLUTION
  313.  
  314. The NWPRINT.H file has the fields in the structure aligned properly.
  315.  
  316.  
  317.  
  318.  
  319. FYI:Inconsistencies in the Header Files
  320. FYI
  321.  
  322. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  323.  
  324.           TITLE:Inconsistencies in the Header Files
  325.    DOCUMENT ID#:FYI.A.2848
  326.            DATE:11NOV92
  327.         PRODUCT:NetWare C Interface DOS
  328. PRODUCT VERSION:v1.2
  329.      SUPERSEDES:NA
  330.  
  331. SYMPTOM
  332.  
  333. NA
  334.  
  335. ISSUE/PROBLEM
  336.  
  337. In DIAG.H the linkAddress and ESRAddress fields in the ECB structure are defined as an array of WORD where as in NXT.H they are defined as far pointers.  This will cause some problems if you have an ESR defined in your application and the include file DIAG.H exists before NXT.H, because of the inconsistent ECB structure definitions.
  338.  
  339. SOLUTION
  340.  
  341.  
  342. Do not include DIAG.H before NXT.H if an application is making IPX calls, or modify linkAddress and ESRAddress fields in DIAG.H to the following:
  343.  
  344.  void far  *linkAddress;
  345.  void (far *) ();
  346.  
  347. Also, use this method if not calling a ESR routine from an application; otherwise, the appropriate ESRAddress is passed in.
  348.  
  349.  
  350.  
  351.  
  352. FYI:Incorrect Temporary Drive Letter
  353. FYI
  354.  
  355. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  356.  
  357.           TITLE:Incorrect Temporary Drive Letter
  358.    DOCUMENT ID#:FYI.A.6002
  359.            DATE:10NOV92
  360.         PRODUCT:NetWare C Interface DOS
  361. PRODUCT VERSION:v1.20
  362.      SUPERSEDES:NA
  363.  
  364. SYMPTOM
  365.  
  366. NA
  367.  
  368. ISSUE/PROBLEM
  369.  
  370. In the NetWare C Interface for DOS volume I page 8-24, the documentation incorrectly refers to the last temporary drive letter as an apostrophe ('). The correct last temporary drive letter should be a grave accent (`).
  371.  
  372. SOLUTION
  373.  
  374. NA
  375.  
  376.  
  377.  
  378.  
  379. FYI:Temporary Directory Handle
  380. FYI
  381.  
  382. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  383.  
  384.           TITLE:Temporary Directory Handle
  385.    DOCUMENT ID#:FYI.A.6003
  386.            DATE:10NOV92
  387.         PRODUCT:NetWare C Interface DOS
  388. PRODUCT VERSION:v1.20
  389.      SUPERSEDES:NA
  390.  
  391. SYMPTOM
  392.  
  393. API calls function incorrectly or not at all.
  394.  
  395. ISSUE/PROBLEM
  396.  
  397. If temporary directory handle "\" (27) is passed to GetDirectoryPath the correct path is returned.
  398.  
  399. However, temporary directory handle "\" (27) is misread by the following API calls as pointing to the root directory of whatever volume it is mapped to, irregardless of where in the directory structure it should actually point:
  400.  
  401.  GetEffectiveRights
  402.  SetTrustee
  403.  ScanDirEntry
  404.  ScanEntryForTrustees
  405.  ScanFileEntry
  406.  ScanFilePhysical
  407.  
  408. SOLUTION
  409.  
  410. Do not use directory handle "\" (27).
  411.  
  412.  
  413.  
  414.  
  415. FYI:ioctl() Prototype is Missing from CLIB
  416. FYI
  417.  
  418. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  419.  
  420.           TITLE:ioctl() Prototype is Missing from CLIB
  421.    DOCUMENT ID#:FYI.A.3859
  422.            DATE:10NOV92
  423.         PRODUCT:Network C for NLMs
  424. PRODUCT VERSION:SDK 2.0(E)
  425.      SUPERSEDES:NA
  426.  
  427. SYMPTOM
  428.  
  429. NA
  430.  
  431.  
  432. ISSUE/PROBLEM
  433.  
  434. The ioctl() prototype is missing from the header files of CLIB.NLM v.3.11 b.  This generates a warning message from the compiler.
  435.  
  436. SOLUTION
  437.  
  438. This is only a warning message so it can be ignored for right now. It will be fixed in a later release.  Previously the prototype of ioctl() was found in the STROPTS.H file.
  439.  
  440.  
  441.  
  442.  
  443. FYI:Limit on FILE HANDLES and DOS FILES
  444. FYI
  445.  
  446. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  447.  
  448.           TITLE:Limit on FILE HANDLES and DOS FILES
  449.    DOCUMENT ID#:FYI.A.4603
  450.            DATE:10NOV92
  451.         PRODUCT:NetWare Shell
  452. PRODUCT VERSION:v3.26
  453.      SUPERSEDES:NA
  454.  
  455. SYMPTOM
  456.  
  457. System runs out of file handles for network files despite a high FILE HANDLES setting in SHELL.CFG.
  458.  
  459. ISSUE/PROBLEM
  460.  
  461. A user found that despite setting FILES=255 in CONFIG.SYS and FILE HANDLES=255 in SHELL.CFG, an application was unable to open more than about 45 files before running out of handles.
  462.  
  463. SOLUTION
  464.  
  465. The total number of DOS FILES and NetWare FILE HANDLES must not add up to more than 254.  Setting DOS FILES=255 overrides any NetWare FILE HANDLES setting by taking up all of the available handle slots.
  466.  
  467. If a large number of handles are required, start by setting FILES=127 and FILE HANDLES=127 then adjust the balance as necessary.
  468.  
  469.  
  470.  
  471.  
  472. FYI:Invalid Date/Time Format Returned by readdir()
  473. FYI
  474.  
  475. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  476.  
  477.           TITLE:Invalid Date/Time Format Returned by readdir()
  478.    DOCUMENT ID#:FYI.A.3388
  479.            DATE:05NOV92
  480.         PRODUCT:Network C for NLMs
  481. PRODUCT VERSION:v20d
  482.      SUPERSEDES:NA
  483.  
  484. SYMPTOM
  485.  
  486. Date/Time fields set to incorrect values.
  487.  
  488. ISSUE/PROBLEM
  489.  
  490. The readdir() API is returning date/time fields in an unusual format.  The format is similar to the DOS date/time format, but not identical. Therefore, the SetFileInfo API will set the time and date information incorrectly if the fields are passed directly from readdir.  The manual states the dates should be stored in DOS format for SetFileInfo.  However, to accomplish this, the dates/times returned from readdir must be modified. The four byte date/time value must have the two words swapped, but the words themselves should not be swapped.
  491.  
  492. Example:
  493.  
  494. AA BB CC DD needs to be stored as CC DD AA BB to set the date to the correct value for SetFileInfo.
  495.  
  496. SOLUTION
  497.  
  498. Simply using LongSwap will not solve the problem as LongSwap will also swap the values in the words as well.  To correct the problem, only swap the location of the two word values.
  499.  
  500. Example:
  501.  
  502. This example assumes the receiving fields have been defined as character arrays.
  503.  
  504.  *(WORD *)lastUpdateDateAndTime      = dirP->d_date;
  505.  *(WORD *)&lastUpdateDateAndTime[2]  = dirP->d_time;
  506.  
  507.  *(WORD *)creationDateAndTime        = ((WORD *)(&dirP->d_cdatetime))[1];
  508.  *(WORD *)&creationDateAndTime[2]    = ((WORD *)(&dirP->d_cdatetime))[0];
  509.  
  510.  *(WORD *)lastAccessDate             = ((WORD *)(&dirP->d_adatetime))[1];
  511.  
  512.  *(WORD *)lastArchiveDateAndTime     = ((WORD *)(&dirP->d_bdatetime))[1];
  513.  *(WORD *)&lastArchiveDateAndTime[2] = ((WORD *)(&dirP->d_bdatetime))[0];
  514.  
  515.  
  516.  
  517.  
  518. FYI:Unable to Obtain Originating Name Space
  519. FYI
  520.  
  521. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  522.  
  523.           TITLE:Unable to Obtain Originating Name Space
  524.    DOCUMENT ID#:FYI.A.3389
  525.            DATE:05NOV92
  526.         PRODUCT:NetWare System Calls
  527. PRODUCT VERSION:v1.20
  528.      SUPERSEDES:NA
  529.  
  530. SYMPTOM
  531.  
  532. NA
  533.  
  534. ISSUE/PROBLEM
  535.  
  536. The ScanDirEntry() and ScanFileEntry() calls do not return the originating/owning name space of a file or directory entry.
  537.  
  538. SOLUTION
  539.  
  540. The ObtainFileOrSubdirectoryInformation() 3.x System call using the F2 interface returns this information.  Example code is available from Developer Support that demonstrates the use of this call.
  541.  
  542.  
  543.  
  544.  
  545. FYI:NetWare Utilities Expect Capitalized Object Names
  546. FYI
  547.  
  548. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  549.  
  550.           TITLE:NetWare Utilities Expect Capitalized Object Names
  551.    DOCUMENT ID#:FYI.A.4901
  552.            DATE:29OCT92
  553.         PRODUCT:NetWare C Interface DOS
  554. PRODUCT VERSION:v1.2
  555.      SUPERSEDES:NA
  556.  
  557. SYMPTOM
  558.  
  559. WHOAMI utility returns the following error:
  560.  
  561.                  "unable to get connection status [89FC]"
  562.  
  563. ISSUE/PROBLEM
  564.  
  565. When a lower case string is passed into the fileServerName parameter of AttachToFileServer(), the API will attach you to the appropriate file server.
  566.  
  567. At this point, the WHOAMI utility works fine.  However, after the LoginToFileServer() is performed, the WHOAMI utility will return an error code.  The LOGOUT command will also not recognize the lower case server name.
  568.  
  569. SOLUTION
  570.  
  571. Ensure that all object names are upper case when passed as parameters to the API functions.  Apparently, NetWare utilities are expecting object names to be in upper case.
  572.  
  573.  
  574.  
  575.  
  576. FYI:CloseMessagePipe() Does Not Return Correct Status
  577. FYI
  578.  
  579. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  580.  
  581.           TITLE:CloseMessagePipe() Does Not Return Correct Status
  582.    DOCUMENT ID#:FYI.A.4902
  583.            DATE:29OCT92
  584.         PRODUCT:NetWare C Interface DOS
  585. PRODUCT VERSION:v1.2
  586.      SUPERSEDES:NA
  587.  
  588. SYMPTOM
  589.  
  590. The CloseMessagePipe() API does not return the error code 253, MESSAGE_QUEUE_FULL, when the requesting workstation's queue is full.
  591.  
  592. ISSUE/PROBLEM
  593.  
  594. When another workstation sends the six messages to the requesting workstation desiring to close its Pipe, the function will close the Pipe and discard all messages. But the function does return the expected error code 253 warning the requesting workstation that its message queue is full.
  595.  
  596. SOLUTION
  597.  
  598. Do not expect a MESSAGE_QUEUE_FULL (253) status from the function. A SUCCESSFUL (0) status will be returned instead.
  599.  
  600.  
  601.  
  602.  
  603. FYI:Creating Btrieve Quick Library for MS Visual Basic for DOS
  604. FYI
  605.  
  606. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  607.  
  608.           TITLE:Creating Btrieve Quick Library for MS Visual Basic for DOS
  609.    DOCUMENT ID#:FYI.A.2119
  610.            DATE:02DEC92
  611.         PRODUCT:Btrieve for DOS
  612. PRODUCT VERSION:v5.10a
  613.      SUPERSEDES:NA
  614.  
  615. SYMPTOM
  616.  
  617. NA
  618.  
  619. ISSUE/PROBLEM
  620.  
  621. When developing Btrieve applications using the Microsoft Visual Basic for DOS interpreter environment (VBDOS), a Quick Library that includes the required Btrieve interface must be created.
  622.  
  623. SOLUTION
  624.  
  625.                           |--> Name of Quick Library
  626.                           |
  627.  Link /q bc7rbtrv.obj, bc7.qlb, , vbdosqlb.lib;
  628.                    |                                              |
  629.                    |--> Btrieve Interface        |--> Required Library
  630.  
  631. To load the Visual Basic for DOS environment to include the newly created Quick Library execute the following command:
  632.  
  633.  VBDOS /L BC7
  634.  
  635.  
  636.  
  637.  
  638. FYI:RealWorld and BUTIL.EXE
  639. FYI
  640.  
  641. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  642.  
  643.           TITLE:RealWorld and BUTIL.EXE
  644.    DOCUMENT ID#:FYI.A.1123
  645.            DATE:01DEC92
  646.         PRODUCT:Btrieve for DOS
  647. PRODUCT VERSION:v5.10
  648.      SUPERSEDES:NA
  649.  
  650. SYMPTOM
  651.  
  652. NA
  653.  
  654. ISSUE/PROBLEM
  655.  
  656. Novell will allow RealWorld to distribute their BUTIL.EXE file to RealWorld users.  The following statement will go into RealWorld's newsletter this month.
  657.  
  658. SOLUTION
  659.  
  660. BUTIL.EXE and version 6.5
  661.  
  662. In last month's newsletter, RealWorld Dealers were directed to Novell to obtain the utility BUTIL.EXE to run the RealWorld file utility with Btrieve.  By an agreement between RealWorld and Novell, RealWorld will be able to supply this utility with each Btrieve System Manager.  Therefore, please call RealWorld instead of Novell to obtain this utility.
  663.  
  664. Important Note:  BUTIL.EXE is called from within RealWorld software and it is supplied only for this function.  Neither RealWorld nor Novell will support BUTIL.EXE being executed by itself.  Such use can alter, damage, or cause a loss of data.
  665.  
  666.  
  667.  
  668.  
  669. FYI:GetNextExtended Operation after GetKey
  670. FYI
  671.  
  672. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  673.  
  674.           TITLE:GetNextExtended Operation after GetKey
  675.    DOCUMENT ID#:FYI.A.1771
  676.            DATE:25NOV92
  677.         PRODUCT:Btrieve for DOS
  678. PRODUCT VERSION:v5.10a
  679.      SUPERSEDES:NA
  680.  
  681. SYMPTOM
  682.  
  683. Status 19; garbage in data buffer
  684.  
  685. ISSUE/PROBLEM
  686.  
  687. If the GetKey bias (+50) is used when establishing positioning before a GetNextExtended operation, the extended call will not function properly, returning either a status 19 (Unrecoverable Error) or garbage in the data buffer.  This problem exists in Btrieve for DOS v5.10a and NetWare Btrieve v5.15.
  688.  
  689. SOLUTION
  690.  
  691. Patch #57 will fix the problem with NetWare Btrieve, but there is no fix currently available for Btrieve for DOS.  In this case, do not use the GetKey bias before the GetNextExtended; use a GetFirst, GetEqual or some other operation to establish positioning without the +50 bias.
  692.  
  693.  
  694.  
  695.  
  696. FYI:Btrieve and Cache Memory Errors
  697. FYI
  698.  
  699. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  700.  
  701.           TITLE:Btrieve and Cache Memory Errors
  702.    DOCUMENT ID#:FYI.A.1948
  703.            DATE:24NOV92
  704.         PRODUCT:NetWare Btrieve NLM
  705. PRODUCT VERSION:v6.00
  706.      SUPERSEDES:NA
  707.  
  708. SYMPTOM
  709.  
  710. NA
  711.  
  712. ISSUE/PROBLEM
  713.  
  714. The following error was returned when NSSTART was executed at the file server:   
  715.  
  716. "System Error: Cache Memory Allocator Exceeded Minimum Cache Buffer Left Limit 1.1.38"
  717.  
  718. Running BSTART returned:   
  719.  
  720. "0.0.0 Btrieve Unable To Get Enough Memory"
  721.  
  722. On a five-user version of NWSQL v3.0, the number of users parameter in NDBSetup had been raised to 250.  After this, the above errors were returned; since NWSQL would not load, NDBSetup could not be used to lower the appropriate parameter.
  723.  
  724. SOLUTION
  725.  
  726. The problem was eliminated by modifying the BSTART.NCF file and lowering the "s parameter and the "m" parameter on the BTRIEVE.NLM load command; the "m" parameter was exorbitant due to the high "s" parameter; both parameters were reduced to their default values.
  727.  
  728.  
  729.  
  730.  
  731. FYI:New Status Codes for NetWare SQL v3.0
  732. FYI
  733.  
  734. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  735.  
  736.           TITLE:New Status Codes for NetWare SQL v3.0
  737.    DOCUMENT ID#:FYI.A.1124
  738.            DATE:09NOV92
  739.         PRODUCT:NetWare SQL
  740. PRODUCT VERSION:v3.0
  741.      SUPERSEDES:NA
  742.  
  743. SYMPTOM
  744.  
  745. NA
  746.  
  747. ISSUE/PROBLEM
  748.  
  749. Four new status codes have been added to NetWare SQL since the release of version 3.0.  These codes are not documented in the NetWare SQL Status Codes and Messages manual (January 1992 edition).
  750.  
  751. SOLUTION
  752.  
  753. 350Security has not been enabled on this dictionary.
  754.  
  755. You have attempted to perform an operation that can only be done when security is enabled.  Database security is not enabled at this time.
  756.  
  757. 351  A transaction has not been started yet.
  758.  
  759. You must start a transaction before performing a COMMIT or ROLLBACK operation.
  760.  
  761. 352  Record count must be greater than zero.
  762.  
  763. The record count for an xFetch call must be at least 1.
  764.  
  765. 886Incorrect Btrieve file version for this operation
  766.  
  767. Referential integrity constraints can only be defined on Btrieve file versions 6.0 or later.  If you wish to add referential  integrity to this file, use BREBUILD to convert it to the v6.0 file format.
  768.  
  769. 887(The text for status code 568 really belongs here.  Status code 568 is not used.  The text message for status 568 follows; the details are in the NetWare SQL Status Codes and Messages manual:) A CREATE TABLE statement cannot reference the same table more than once.
  770.  
  771. 888Primary key is already defined on this table.
  772.  
  773. A table may contain at most one primary key.  You have attempted to define a second primary key on this table.
  774.  
  775.  
  776.  
  777.  
  778. FYI:Substitution Variable Problem with NetWare SQL Inserts
  779. FYI
  780.  
  781. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  782.  
  783.           TITLE:Substitution Variable Problem with NetWare SQL Inserts
  784.    DOCUMENT ID#:FYI.A.1772
  785.            DATE:09NOV92
  786.         PRODUCT:NetWare SQL
  787. PRODUCT VERSION:v3.0a
  788.      SUPERSEDES:NA
  789.  
  790. SYMPTOM
  791.  
  792. Multiple records inserted with the same field value.
  793.  
  794. ISSUE/PROBLEM
  795.  
  796. There is a problem with the NetWare SQL NLM v3.0 when inserting records through a substitution variable, if the data being inserted contains the @ character.  All subsequent inserts with the same cursor are given the same data for that field.  
  797.  
  798. For example:  XQLCompile of "INSERT INTO Patients (ID, First^Name, Last^Name, Address) VALUES (@V1, @V2, @V3, @V4)"
  799.  
  800.  XQLSubst where
  801.      V1 = "A11111"    V2 = "John"    V3 = "Smith"   V4 = "100 Main @ 1st"
  802.  XQLExec (performs Insert successfully)
  803.  XQLSubst where
  804. V1 = "B22222"    V2 = "Mary"    V3 = "Brown"   V4 = "222 Central Ave."
  805.  XQLExec (performs Insert successfully)
  806.  
  807. The second insert, and all subsequent inserts based on the same XQLCompile, will result in each record being inserted with the same address as the first record: "100 Main @ 1st"
  808.  
  809. This problem can be seen through an application making the above calls, or when using the "Load" option of the NetWare SQL Maintenance utility (NSUTIL.EXE and NSUTIL.NLM), since it is making the same calls.  With NSUTIL, the problem will occur with all of the file formats: SDF, UNF, DIF or ASC.
  810.  
  811. This problem is only present with Insert statements using substitutions; update statements with substitutions work properly.
  812.  
  813. SOLUTION
  814.  
  815. NetWare SQL is confusing the @ in the data with a substitution variable indicator.  The only workaround at this time is to recompile the statement between XQLSubst/XQLExec calls, or append the actual data values into the Insert statement passed in on the XQLCompile instead of using the substitution variables.
  816.  
  817. FYI:Printing through Xtrieve - Tabloid Setting Correction
  818. FYI
  819.  
  820. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  821.  
  822.           TITLE:Printing through Xtrieve - Tabloid Setting Correction
  823.    DOCUMENT ID#:FYI.A.1125
  824.            DATE:06NOV92
  825.         PRODUCT:Xtrieve PLUS
  826. PRODUCT VERSION:v4.11
  827.      SUPERSEDES:NA
  828.  
  829. SYMPTOM
  830.  
  831. NA
  832.  
  833. ISSUE/PROBLEM
  834.  
  835. The XTRIEVE.PDB file that shipped with NetWare SQL v3.0 was altered just before the product shipped by mistake.  The TABLOID setting was changed from IBM PC Graphics printer to EPSON LQ-1500/2.0.
  836.  
  837. SOLUTION
  838.  
  839. To change the TABLOID setting back to the original setting, the printer information needs to be changed as specified in the following steps:
  840.  
  841. Step 1:At the DOS prompt type SLATE XTRIEVE.PDB
  842.  
  843. Step 2:Select "Add/Edit Devices" (Ptr Connections).
  844.            Select "3001 Tabloid" and press <ENTER>.
  845.            Tab to "Ptr Mfg."
  846.            Press <F9> [Lists].
  847.            Select "IBM" and press <ENTER>.
  848.            Tab to "Ptr Type."
  849.            Press <F9> [Lists].
  850.            Select "PC Graphics Printer" and press <ENTER>.
  851.  
  852. Step 3:Press <F10> [Prev Screen]
  853.            Press <F10> [Prev Screen]
  854.            Press <F10> [Exit]
  855.  
  856. This procedure will change the current setting of EPSON LQ-1500\2.0 to the correct setting of IBM PC Graphics Printer.
  857.  
  858.  
  859.  
  860.  
  861. FYI:Determining If Data Dictionary Files Are Corrupted
  862. FYI
  863.  
  864. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  865.  
  866.           TITLE:Determining If Data Dictionary Files Are Corrupted
  867.    DOCUMENT ID#:FYI.A.1126
  868.            DATE:06NOV92
  869.         PRODUCT:Xtrieve PLUS
  870. PRODUCT VERSION:v4.1x
  871.      SUPERSEDES:NA
  872.  
  873. SYMPTOM
  874.  
  875. Status 207, 240 and other various errors
  876.  
  877. ISSUE/PROBLEM
  878.  
  879. Problems such as status 207s (Field Does Not Exist in Dictionary) and status 240s (Field in the View Definition Is Not in the Active Dictionary) have been identified when attempting to add fields to a view and when recalling views using Xtrieve v4.10 or v4.11.  The problems have come about when using Xtrieve with corrupted DDF files.
  880.  
  881. SOLUTION
  882.  
  883. In the Xtrieve PLUS User's manual (for DOS and OS2), Appendix D, there is a listing of Dictionary Structures for all of the DDF files.  For Xtrieve PLUS for NetWare SQL users, the Dictionary Structures are shown in Appendix C.  Each description lists the field and index names for each DDF file.  Specifics are given for field data types and sizes, and key flags, such as duplicates, case sensitivity, and segments.
  884.  
  885. Users should compare the manual's definition of the DDF files with the set of DDFs they are using.  To view the DDF file definitions in Xtrieve, the CONFIGURE/SWITCHES/DICTIONARY option must be set to YES.  Then the DDF file definitions can be viewed through DICTIONARY/SHOW.  A comparison should be made of the field and index information.  If any of the information does not match exactly, then the DDFs are most likely corrupted.
  886.  
  887. One more thing to note is that if a Btrieve BUTIL -STAT is executed on the DDF files, the results may not match the dictionary file definitions viewed in Xtrieve if the files are corrupted.
  888.  
  889. DDF files created with NetWare SQL will have a supplemental index defined for X$Field (FIELD.DDF), but this is only shown in the NetWare SQL Developer's Kit Getting Started manual that shipped with NetWare SQL 3.0.  This fourth supplemental index is not shown in the Xtrieve PLUS User's manuals and is only defined when the dictionaries are created with NetWare SQL.
  890.  
  891. Following is a method for recovering corrupted data dictionary files:
  892.  
  893. 1.Using XQLI or any other SQL statement processor, execute the following statement to extract the file names from the dictionary files and save the output to an ASCII file:
  894.  
  895. SELECT XE$NAME FROM X$FILE  (to extract file definition names)
  896.  
  897. Edit the ASCII file so that it does not contain any of the dictionary file names (X$File, X$Field, etc.)
  898.  
  899. 2.Edit the ASCII file so that each file definition is recoverable using MAKE_XTA and XCFP as follows:
  900.  
  901.          The result from the above statement was:
  902.  
  903.                FILEDEF1
  904.                FILEDEF2
  905.                FILEDEF3
  906.  
  907. Edit the ASCII file to look like this (you may have to cut and paste quite a bit, but it is worth it if you have many files!):
  908.  
  909.                MAKE_XTA /F:"FILEDEF1"
  910.                XCFP MAKE_XTA.XTA FILECMD1
  911.                MAKE_XTA /F:"FILEDEF2"
  912.                XCFP MAKE_XTA.XTA FILECMD2
  913.                MAKE_XTA /F:"FILEDEF3"
  914.                XCFP MAKE_XTA.XTA FILECMD3
  915.  
  916. Rename the resulting ASCII file with a .BAT extension.
  917.  
  918. 3.Create a new set of DDF files in another directory.
  919.  
  920. 4.Run the batch file in the directory with the corrupt DDF files.  It will create command files, with a .XTC extension, which can be played back against the new DDF files created in Step 3.
  921.  
  922. 5.Repeat steps 1, 2, and 4 to recover view definitions also.  Use the following statement to extract view definition names from the corrupted DDF files:
  923.  
  924.                SELECT XV$NAME FROM X$VIEW
  925.  
  926.  
  927.  
  928.  
  929. FYI:Masking Integer Fields with Decimal Places
  930. FYI
  931.  
  932. (Note: The origin of this information may be internal or external to Novell.  Novell makes every effort within its means to verify this information.  However, the information provided in this document is FOR YOUR INFORMATION only.  Novell makes no explicit or implied claims to the validity of this information.)
  933.  
  934.           TITLE:Masking Integer Fields with Decimal Places
  935.    DOCUMENT ID#:FYI.A.1127
  936.            DATE:06NOV92
  937.         PRODUCT:Xtrieve PLUS
  938. PRODUCT VERSION:v4.x
  939.      SUPERSEDES:NA
  940.  
  941. SYMPTOM
  942.  
  943. Decimal point appears two places to the left of where it should be in a report summary.
  944.  
  945. ISSUE/PROBLEM
  946.  
  947. Placing a mask on an integer type field such as ZZZ,ZZ9.99 produces a problem in Xtrieve where the decimal point appears two places to the left of where it should be in a report summary field.  For instance, when the field's data was 38,470.00, the masked result was 384.70.
  948.  
  949.  
  950. SOLUTION
  951.  
  952. An integer's mask should not include a decimal point.  A more appropriate data type, such as Decimal, Float, Money, or Numeric should be used for fields that require decimal places.
  953.