I have loaded one record in adabas file which has ISN value greater than 2,147,483,647.
I am receiving adabas response +0249 (Adabas Vista Error).
02 ADA-CTRL-ADDITIONS-2 X(4) …
ISN length is S9(9) COMP.
I need sample ISN code to put in application program’s control block. These cobol adabas programs have direct ADABAS calls for online processing.
Error +0249 information:
The partitioning field value specified in the record buffer of the A1 command is inconsistent with the partition criteria defined to the partition identified by the ISN in the Adabas control block.
Such an update requires the relocation of the ISN to another partition, which is not allowed.
Action: Review the application program. Use a delete and store as an alternative.
Record buffer is receiving output as per format buffers. Value buffer has input and search buffer has descriptor.
Incorrect -ve ISN value is same from S1,HI and A1 call. While amending it is giving +0249.
Could you please suggest what changes i need to make in record buffer or in control block as per error description to get correct isn value from adabas call.
Below structure I am sending while calling adabas from cobol program and receiving +0249.
From Natural program ISN = +2147527533 for the same record and via cobol-adabas call with below structure i am getting ISN value as -2147448637.
Do i need to change isn’s data type S9(9) COMP to any other data type. Some leads suggested to try S9(10) and 9(10) comp, but it is not working.
Could you please suggest.
02 ADA-CTRL-FILLER-1 S9(4) COMP +0000
02 ADA-CTRL-COMMAND-CODE X(2) A1
02 ADA-CTRL-COMMAND-ID X(4) ST11
02 ADA-CTRL-FILE-NUMBER S9(4) COMP +31229
02 ADA-CTRL-RESPONSE S9(4) COMP +0249
02 ADA-CTRL-ISN S9(9) COMP -2147448637
02 ADA-CTRL-ISN-LOW-LIMIT S9(9) COMP +00000000
02 ADA-CTRL-ISN-QUANTITY S9(9) COMP +00000000
02 ADA-CTRL-FORMAT-BUFF-L S9(4) COMP +0102
02 ADA-CTRL-RECORD-BUFF-L S9(4) COMP +0401
02 ADA-CTRL-SEARCH-BUFF-L S9(4) COMP +0000
02 ADA-CTRL-VALUE-BUFF-L S9(4) COMP +0000
02 ADA-CTRL-ISN-BUFF-L S9(4) COMP +0000