| # Database Tools General The database tools are designed for database management, and are independent of how the database is organized. At run time, the system selects a database driver, depending on the contents of the Tabledef file. You can then use these database tools to do the following: Export data from a database table to a sequential ( bdbpre) file. Create a database table from a sequential file or append data to an existing database table ( bdbpost). Reconfigure a database table according to a new data dictionary ( bdbreconfig). Check or repair the referential integrity in the database ( refint). If changes are made in the data dictionary, for example, if fields are added or field lengths are changed, you can reconfigure the old table to a new one. The data dictionary changes are incorporated in the new table, which also contains the data dictionary table data. The system you use determines the extension for the executables. For example, bdbpre on Windows is called bdbpre.exe. On UNIX the file is called bdbpre6.2. The remainder of the document uses the short naming convention, without 6.2 and/or .exe extension. Some binaries have a slightly different name on Windows, for example:
Unix name | Windows name
bshell6.2 | ntbshell.exe
explode6.2 | bic_explode.exe
In this document, the term UNIX is used frequently. This term comprises various UNIX versions, including Linux if applicable/supported. The following sections describe each of the database tools. bdbpre Name bdbpre Export database tables to a sequential file. Related session: Create Sequential dump of Table (ttaad4226m000) Synopsis bdbpre [– uUvVsxkK] [ –p package combination] [ –t sep] [ –o dir] [ –N table [ table ..]] [ –I file] [ –E file] [ –O file] [ –M size] [- L lang] -g [ –C company number list/range] Description The bdbpre tool reads selected tables for given company numbers, exports the data from the tables into sequential data, and writes the data to a standard output. You can then redirect this output to a file that can be used as input for bdbpost. The bdbpre tool prints information such as names, the number of records, and any errors. You can use the – s option to suppress the messages produced by bdbpre at run time. This option is useful when you use the output of bdbpre as the direct input to bdbpost. The fd6.2. package combination file is always used to search dictionary information You can use bdbpre in the following ways: Specify a range of company numbers to convert a database table for more than one company number, for example: bdbpre –Ntimcs099 –C000-005 > timcs099_dump Convert a database table for given company numbers, for example: bdbpre –Ntimcs088 –C000 004 005 > timcs088_dump Specify all the tables for which you want to create a sequential dump in some file in package module format. The – I option reads this file and creates a sequential dump for each table and the specified company numbers, for example: bdbpre –Iseqfile –C000-009 > BIGdump The contents of the seqfile: timcs001 timcs002 timcs003 ........ timcs099 Possible options: – u/U Print usage information. – v/V Print information about the version of bdbpre. – p package combination The name of package combination that is to be used. – s Suppress error messages, statistics, and so on. – C Company numbers for a given table, in the following two formats: Specific company numbers, for example, 001 002 003 Range of company numbers, for example, 001-999 – d Specify a specific driver. If you use this option, bdbpre bypasses the tabledef6.2 file. You can use the d option to copy data from one instance of a database to another, for example: d "oracle(ORACLE_HOME=/usr/oracle, ORACLE_SID=D1)" -g Skip export of logical linked tables. Without using –g all tables will be exported, also the tables that originate in another physical company. – N table [ table …] Database table name. Specify specific table names, for example, –N timcs000 timcs016. The – I and – N options are mutually exclusive. – I file Input file with table names. The – I and – N options are mutually exclusive. – E file Redirects errors and information to file. – O file Redirects output to file. – q output file Deprecated: Use –E and –O instead Redirect terminal output to the output file. – k Drop table after the dump is created. – K Drop table. Create a backup before dropping. You can only use this option if supported by the DBMS. –t separator character Create a sequential file in which the fields have variable length and are separated by the separator character ( | ). Whenever you specify the –t option, a sequential file (.S) is created for each table in the current directory, unless the –o option is specified. -L lang In an environment where multiple data languages are used, it is possible to make a dump with just one data language. The –L option can be used to specify the data language to be exported. The data language is a code according to ISO639.2 and must be configured in the target environment. The default behavior, without using the –L option, is to export all data languages. bdbpre –t"|" –Ntimcs016 –C000 creates timcs016000.S in the current directory. This sequential file is an ASCII dump of the timcs016000 table, in which case the separator character separates the fields. The options – x and – t are mutually exclusive. –x Create a sequential file in which the fields have a fixed length and are not separated with a separator character. Whenever you specify the –x option, a sequential file (.F) is created for each table in the current directory, unless the –o option is specified. bdbpre –x –Ntimcs016 –C000 creates timcs016000.F, which is an ASCII dump with fixed-length records. – o Can be specified with the options – x and – t to specify the directory name in which the sequential file is created (.S or .F). – M size Can be specified with the options –x, and –t to specify the maximum size of the output file. If the maximum file size is reached, a new file with a sequence number is opened and filled. You can specify size as any number or a number followed by K, M, or G, for kilobytes, megabytes, or gigabytes, respectively. The maximum size is 2 GB. Convert Informix database to a sequential dump. The database driver is explicitly Informix. bdbpre –dinformix –Ntimcs000 –C000-004 > timcs000_dump The database driver is retrieved from $BSE/lib/tabledef6.2: bdbpre –Ntimcs000 –C000-005 > timcs000_dump See also: bdbpost Note If you pipe your bdbpre output directly to bdbpost without giving the – s option, messages on the screen will appear jumbled. bdbpost Name bdbpost Add data from a sequential dump to a new or existing database table. Related session: Create Table from Sequential Dump (ttaad4227m000) Synopsis bdbpost [ –I input file] [ –{E} output file] [ –uUvVARTfilxnmkK] [ –p package combination] [– e file] [ –D seq_dir] [ –t sep] [ -r row/trans] [ -L lang] [– c compnr] [ –C compnr range] [ pattern] Description The bdbpost tool reads data from standard input unless – I option is provided and creates a new database table if that table does not exist. If the Append option is selected, this option appends data to an existing table. The bdbpost tool also compares current data dictionary information with the information in the dump. If the information does not match, the bdbpost tool returns an error. If the current data dictionary is not present, the tool creates a data dictionary based on the dump. For each table, bdbpost prints information such as the table name, indexes, the number of records, and any errors. The bdbpost tool is used to import data from sequential dumps that are created with bdbpre. The following example shows how to use a sequential dump created by bdbpre. On system 1: bdbpre –Ntimcs016 –C000-003 > timcs_dump On system 2: bdbpost < timcs_dump The following example demonstrates the use of sequential dumps that are created with the –x or – t option of bdbpre. In this case the – D option is mandatory to retrieve the directory name in which .S or .F files are stored: bdbpost –ddb2 –t"|" –D./seqdir bdbpost –x –D./seqdir – D directory name Specifies the directory in which the sequential files, which are files with extension .S or .F, are located. Use this option if you have used the –x or –t option of bdbpre to create the dump files. -L lang In an environment where multiple data languages are used, it is possible to import a dump where a column is not an MLF (multi language field) into a table where that column is an MLF. The –L option can be used to specify the data language that should be used to insert the data into the table. The data language is a code according to ISO639.2 and must be configured in the target environment. -T The default behavior of bdbpost is to preserve the timestamp values of the rcd_utc column (if present). This way, a straightforward export/import is neutral with regards to the data contained in the table. If the –T option is specified, all timestamp values of the rcd_utc column are updated to the time at which the import is done. – t separator character Use this option if you want to import data from a sequential file that is created with the –t option of bdbpre. If you use the –t option, you must also specify a directory with the –D option. Example: To load a sequential dump into the ttimcs016000 table, first move the sequential dump to the ttimcs directory with the name ttimcs016000.S. bdbpost –Dttimcs –t"|" searches for an .S file in ttimcs and, if that file is found, the corresponding tables are created or appended. Note With the – D `` option, all .S files in that directory are used to create and append the tables, therefore, you must make sure to remove unwanted .S files before you run bdbpost. – x Use this option to load a sequential dump with fixed-length records without any separators. Use this option to import data from a sequential file that is created with the –x option of bdbpre. If you use the –x option, you must also specify a directory with the –D option. Example: Suppose you have used bdbpre to create sequential dumps in the directory dumps. Bdbpost –D –x searches for .F files in dumps and for each file found, the corresponding table is created or appended. The following parameters can be used for bdbpost: – u/U Print usage information. – v/V Print information about the version of bdbpost. – p package combination The name of the package combination to be used. <pattern> Pattern to specify tables that are filtered out of the dump. Wildcards such as * and ? are allowed. – c Company number for the tables to be created. – C Range of company numbers on which to perform the bdbpost operation. This must be the last option specified in the command, other than the <pattern> option. – x Import files with fixed length records. Use this option to import files created with the –x option of bdbpre. – D directory name Specifies the directory that contains the files that must be imported. – e file File to store the names of unsuccessfully created tables. -g Skip import of logical linked tables. This parameter is only of use when the append option is chose [-A]. – k The existing tables are dropped. – K The existing tables are dropped after a backup is made, if DBMS supports this. – l Display contents of the dump file. – I file Redirects input from file. – E error Redirects errors to error. – m Ignore domain constraints. Data will be imported even if the data does not fit the domain constraints. Be careful with this option because this involves importing data that does not match the application criteria. – i Ignore domain range error and skip record. – n Ignore referential integrity constraints. To be used if a range of tables is imported. Make sure to repair the reference counters afterwards using the Reorganize Tables (ttaad4225m000) session. – A Append to an existing table. If duplicate records exist, do not overwrite the records from the dump. Create the table if the table does not already exist. If –A option is not given the import will fail if the table already exists. – R Append to an existing table or create a new one. If a record already exists, the record in the dump replaces the table. A summary is provided at the end. Note that only the existence of the primary key is checked. If a primary key exists, the record is replaced. If the primary key does not exists but a secondary key exists, error 100, duplicate record, occurs. – t separator character Specify the used separator. Use this option if the dump file was created with the –t option of bdbpre. With this option the –D option is required. – f Fast mode. First the rows are inserted and afterwards the indexes build resulting in a balanced Index tree in the database. The import itself is not faster when using –f. If you use the – f option, be aware of the following: If you interrupt bdbpost, this can result in table inconsistency. You cannot create an index in case of a duplicate conflict. For large tables, adding indexes can take a long time, often more than 15 minutes. –M Can be specified with the options –x, -t or –I to specify that the input file consists of multiple files. If bdbpre was executed with this option the bdbpost must be run with – M as well. For more information, see also the –M option of bdbpre. –r rows/transaction Defines after which number of inserted rows a commit is performed. The default value is 100. A number less than 100 is changed to 100. Examples: bdbpre –Nttadv000 –C000-010 > dump bdbpost < dump Creates all tables in a. dump bdbpost –l < dump Gives the names of tables in the dump. bdbpost –C000-005 < dump Creates tables only in the given company range. bdbpre –Nticom000 –C000-010 > dump bdbpost –C000-005 ticom* < dump Creates tables only in the given company range and where the table name matches the ticom pattern. bdbpost –R –C000-005 ttadv* < dump Creates and appends tables only in the given company range and where the table name matches the ttadv pattern. If duplicate records exist, these records are replaced with records from the dump. If you use the –m or –n option, the data in the database can violate the Baan integrity constraints. Data can violate the Baan domains or can violate Baan referential integrity. See also bdbpre bdbreconfig Important: This executable is called by 4GL sessions. Do not run it directly. Name bdbreconfig Reconfigure database tables according to new data dictionary. Synopsis bdbreconfig [ –C company numbers] [ –c] [ –E file] [ –I file] [ –M size] [ –m] [ –N table [ table [...]] [ –p package combination] [ –R file] [ –r rows/trans] [ –s] [ –t directory] [ –UuvVZ] Description The bdbreconfig tool converts tables in the database so that the physical tables in the database match with the new metadata as defined in the definition data dictionary file. For each table that must be converted, the bdbreconfig tool expects that the following two files exist: A data dictionary file of that table, for example, dtfgld106. A data dictionary file of that table with a .new extension, for example dtgld106.new. The bdbreconfig tool compares the two data dictionary files to determine what changes must be made to the existing table. Based on this comparison, and based on the capabilities of the database, the bdbreconfig tool will try to find an optimum method to convert the table. After successful completion, the table definition matches with that of the new version of the data dictionary file. Therefore, to complete the conversion, the existing data dictionary file must be replaced with the new version. You must perform this procedure manually. The bdbreconfig tool will not perform this procedure. Depending on the type of changes, and depending on the capabilities of the database, bdbreconfig will use one of the following three methods to convert a table: Method 1: Database reconfiguration With this method, the table is converted in the following steps: Indexes that must be changed or dropped are dropped. The table is converted by issuing a single SQL ALTER TABLE command to the database. Indexes that must be changed or created are created. Method 2: Database reconfiguration with export With this method, the table is converted in the following steps: The table data is exported to a temporary file. The name of this file is R.< table name >< company number >, for example, R.tfgld106590. Indexes that must be changed or dropped are dropped. The table is converted by issuing multiple SQL ALTER TABLE commands to the database. Indexes that must be changed or created are created. After successful completion, the temporary file will be deleted. The temporary file is used by bdbreconfig to restore the original table when reconfiguration fails. Method 3: Reconfiguration with export/import With this method, the table is converted by taking the following steps: The table data is exported to a temporary file. The name of this file will be R.<table name><company number>, for example, R.tfgld106590. The table is dropped. The table is created according to the new data dictionary definition. The data is imported from the temporary file into the new table. The indexes are created. After successful completion, the temporary file will be deleted. Note The bdbreconfig tool does not check referential integrity constraints. You must use the refint tool to repair the references after you reconfigure a table. The following options are available with bdbreconfig: – C company numbers The tables will be reconfigured in the companies that are specified by the –C option. You can specify the company numbers in the following two ways: Specific company numbers, for example: –C 001 002.  Range of company numbers, for example: –C 001-010. – c With this option, the bdbreconfig tool displays, for each table and company, if reconfiguration is required and displays which reconfiguration method the tool will use. The actual reconfiguration is not performed. – E file Redirects errors to error file file. – I file Reconfigure all tables whose names are listed in file. Each table name in file must be on separate lines. A table name can include a company number. For example, table tccom100 in company 570 is specified as tccom100570. If a table name does not include a company number, the table is reconfigured for the company numbers that are specified by the –C option. If the table does include a company number, this table is reconfigured for this specific company only and, for this table, the company numbers that are specified by the –C option are ignored. – M size Specifies the maximum size of the dump file. If the maximum file size is reached a new file with a sequence number is opened and filled. Size can be specified as any number or a number followed by K, M, or G, for kilobyte, megabyte, or gigabyte, respectively. The maximum size is 2 GB. – m Disable domain constraints. If you use this option, the bdbreconfig tool might be able to choose a more optimal reconfiguration method. However, after the table is reconfigured, the data in the table might violate Baan domain constraints. – N table [ table …] A list of tables to be reconfigured. A table name might include a company number. For example, table tccom100 in company 570 is specified as tccom100570. If a table name does not include a company number, the table is reconfigured for the company numbers that are specified by the –C option. If the table does include a company number, this table is reconfigured for this specific company only and, for this table, the company numbers that are specified by the –C option are ignored. – p package combination The name of the package combination to be used. – R file Create a report file that describes, for each table and company, the result of the reconfiguration. This option is described in more detail in one of the following sections. – r rows/transactions Defines after which number of inserted records, a commit is performed. The default value is 100. A number less than 100 is changed to 100. – s Suppresses error messages and other information. – t directory The directory name for temporary dump files. – U/-u Usage information. – V/-v Version information. – Z Reorganize the table. If you specify this option, the tables are not converted but only recreated. With this option, you do not need a data dictionary file with the .new extension. If a data dictionary file with the .new extension exists, the file will be ignored. The table will be recreated by performing the following steps: The table data is exported to a temporary file. The table is dropped. The table is recreated. The data is imported from the temporary file. The indexes of the table are created. The bdbreconfig tool reconfigures only one table of given company numbers at a time. Example bdbreconfig –Ntimcs016 –C001 Reconfigures timcs016 for company number 001. bdbreconfig –Ntimcs016 –C000-010 Reconfigures timcs016 for a range of company numbers. Note Make a copy of the dump before you perform the following: In case of interrupted reconfiguration while the R.table file still exists, the following command uses the R.ttadv100222 dump to rebuild the table: bdbreconfig –N ttadv100222+ Example bdbreconfig –Ntimcs016 –C000-003 Reconfigures timcs016 for some company numbers according to the new data dictionary, provided that dtimcs016 and dtimcs016.new are present. If you specify the option –R, bdbreconfig creates a report that describes, for each table and company, the result of the reconfiguration. If you use the –R option in combination with the –c (check) option, this report describes the result of the check for each table. Each line in the report has the following form: <tablename><compnr><space><status code><space><error><space> <message text><newline> The following table lists the possible status codes:
Status code | Description
R0 | The table is reconfigured successfully. The Error field contains the value 0, or contains error code 506 if the table does not exist.
R1 | The reconfiguration has failed. The Error field will contain the code of the error that caused the failure.
R2 | The table is reconfigured successfully, but one or more indexes could not be created. The Error field will contain error code 114.
C0 | No reconfiguration is required for this table. This only means that no action is required in the database for this table. If a new data dictionary file exists for this table, this data dictionary file can still differ from the current file and, therefore, must replace the existing file.
C1 | An error occurred while checking. The Error field will contain the actual error.
C2 | Reconfiguration is required for this table and the database can handle the entire reconfiguration. The reconfiguration will be carried out using reconfiguration method 1.
C3 | Reconfiguration is required for this table. The database can handle the entire reconfiguration. However, if this table is reconfigured, bdbreconfig must create an export of the table data before reconfiguring the table. The reconfiguration will be performed using reconfiguration method 2.
C4 | Reconfiguration is required for this table. The database cannot handle the reconfiguration. The reconfiguration will be performed using reconfiguration method 3.
If bdbreconfig is run with the –c option, only the status codes that start with a C will be reported. Otherwise, only the status codes that start with an R will be reported. The following example provides a sample report produced by bdbreconfig that was run without the –c option: Example `dbtst100112 R0 0` `dbtst100113 R1 2430 Reconfiguration failed (error 2430)` `dbtst100114 R0 506` `dbtst120112 R1 205 Insert failed (error 205)` `dbtst120113 R0 506` `dbtst120114 R0 506` `dbtst160112 R2 114 Reconfiguration failed (error 114)` `dbtst160113 R0 506` `dbtst160114 R0 506` The following example provides a sample report produced by bdbreconfig that was run with the –c option: Example dbtst100112 C2 0 Reconfiguration is required dbtst100113 C2 0 Reconfiguration is required dbtst100114 C2 0 Reconfiguration is required dbtst120112 C4 0 Reconfiguration with export/import is required. dbtst120113 C4 0 Reconfiguration with export/import is required. dbtst120114 C4 0 Reconfiguration with export/import is required. dbtst160112 C3 0 Reconfiguration with export is required dbtst160113 C3 0 Reconfiguration with export is required `dbtst160114 C3 0 Reconfiguration with export is required` Exit code The exit code of bdbreconfig is either 0 or 1. If you do not use the –c option, the exit code is 1 if at least one of the tables could not be reconfigured. If all tables are reconfigured successfully, the exit code of bdbreconfig is 0. If you use the c option, the exit code is 1 if the check did not succeed for at least one table. Otherwise, bdbreconfig will have exit code 0. bdbvalidate Name bdbvalidate Validate database contents according to the data dictionary. Synopsis bdbvalidate [– HuUvVsz [ –N table [table [...]] [ –E file] [ –I file] [ –R file] [ –p package combination] [ –C company numbers] Description The bdbvalidate tool reads tables for given company numbers, verifies if the data is according to the domain constraints as defined in data dictionary, and writes a report to the file specified by the –R option. The bdbvalidate tool will verify a number of internal consistency rules for multi language fields (MLFs). The bdbvalidate tool prints information such as names, the number of records, and any errors. You can use the – s option to suppress the messages produced by bdbvalidate at run time. The following options are available with bdbvalidate: – U/u Usage information. - H Check for high ASCII characters in single byte strings. – V/v Version information. – p package combination The name of the package combination to be used. – s This suppresses error messages and other information. – z number This option limits the number of reported errors for each table. – C Company numbers for a given table in these formats: Specific company numbers, for example, 001 002. Range of company numbers, for example, 001-010. – I file Validate all tables which names are listed in file. Each table name in file must be on a separate line. A table name may include a company number. For example, table tccom100 in company 570 is specified as tccom100570. – N table [ table …] List of tables to be reconfigured. – E file Redirects errors to error file refint Important: This executable is called by 4GL sessions. Do not run it directly. Name refint Check or repair the referential integrity in the database. Synopsis refint [ –uU] [ –vV] [ –l | –L file] [ –c] [ –r] [ –s] [ –p package combination] [ –I infile] [ –O outfile] [ –E errfile] [ –N table [table [...]]] [ –C compnr [compnr [...]]] Description The refint tool checks the integrity of references in the database. You can also use it to repair the integrity of a corrupted database. Integrity refers to the accuracy or validity of data. You can use the following options: – u/U Print usage information. – v/V Print version information. – p package combination The name of the package combination that is to be used. – C compnr Specify the company number. – c Check validity of references with the Report Only option. Undefined references to the specified tables are logged in the ref_undefined file. – r Check validity of references and repair reference counters. From all specified tables, the reference counters are checked and changed if required. Handled undefined references to the specified tables are logged in the ref_undefined file. – l/-L file Creates a file that contains all undefined references. If you use the option –l, the name of this file will be ref_undefined. With the option –L, you can specify your own file name. – I file Check or repair all tables whose name appears in the file file. Each table name in file must be on a separator line. A table name might include a company number. For example, table tccom100 in company 570 is specified as tccom100570. – N table The name of the table whose references must be checked or repaired. The table name might include a company number. For example, you can specify –N ttadv100 or –N ttadv100999. – s Handle one single-parent table only. Examples refint –Iref_tables –c–C100 refint –Ntimcs016 –l bdbmlf Important: This executable is called by 4GL sessions. Do not run it directly. Name bdbmlf Add or remove translations for multi language fields (MLFs) in ‘shadow tables’. Synopsis bdbmlf [– uUvVsr [ –N table [table [...]] [ –E file] [ –I file] [ –R file] [ –p package combination] [ –C company numbers] [-d] Description Multi Language Fields (MLFs) are fields for which each record in the table has values in a number of data languages. When a data language is added, it is necessary to run the bdbmlf program in order to establish the fallback to the base language for the new data language in the database. When a data language is removed, it is necessary to run the bdbmlf program in order to remove values from the database. Caution: The bdbmlf program is used by sessions in ERP LN Tools. Do not use it from the command line, or the database may become inconsistent. The bdbmlf tool reads tables for given company numbers, adds or removes values for certain data languages to the database, and writes a report to the file specified by the –R option. The bdbmlf tool prints information such as names, the number of records, and any errors. To suppress the messages produced by bdbmlf at run time, use the – s option. It is possible to inspect the database without making changes by omitting the –r option (repair). There is a ‘detail’ modus in which the program checks for various inconsistencies with regard to translations (option –d). The following options are available with bdbmlf: – U/u Usage information. – V/v Version information. – p package combination The name of the package combination to be used. – s This suppresses error messages and other information. – C Company numbers for a given table in these formats: Specific company numbers, for example, 001 002. Range of company numbers, for example, 001-010. – I file process all tables whose names are listed in file. Each table name in file must be on a separate line. A table name may include a company number. For example, table tccom100 in company 570 is specified as tccom100570. – N table [ table …] List of tables to be processed. – E file Redirects errors to error file. -r This option turns on the repair modus: the program actually fixes the problems that are reported. -d This option turns on the ‘detail’ modus. The program will check for missing translation records for all languages in the database. EXIT STATUS The exit status of the bdbmlf program is a bit pattern that can have a value that is a combination of the values below. Note that the values are in octal representation: EXIT status values
NAME | Value | Description
INIT_ERROR | 001 | Initialization error. If this occurs, the bdbmlf program halts.
ERROR | 002 | An error for one or more tables occurred.
RET_REPAIR | 004 | There are changes to do (if –r not specified: the changes are not executed).
RET_LOCKED | 010 | when executing repair actions, there were locking errors.
The bits in the bit pattern are set in various circumstances, specified in the following table (this table is not exhaustive): Example error codes
NAME | ERROR | Report entry
unknown user | INIT_ERROR | n/a
unknown PACC | INIT_ERROR | n/a
compnr range param wrong | INIT_ERROR | n/a
init bdb api problem | INIT_ERROR | n/a
no rows | - | 0
Table does not exist | - | 0 table does not exist
Logical table | - | 0 ignoring logical table
Unknown table | ERROR | 513 unknown table ‘ppmmmnnn’
dd corrupt | ERROR | 512 dd corrupt
Invalid table name | ERROR | 513 invalid table name
BDB errors | ERROR | nnn Message with details
Something (to) be repair(ed) | REPAIR | 0 Message with details
Lock error during repair | LOCK|ERROR | Skip record due to LOCKED