Eddie Monster
9th November 2005, 23:41
To fix a problem we are having, Baan would like me to install a patch (A) which requires a new VRC (which I've never had to do either). In the patch installation instructions it says that if you need the solution but not the functionality you do not need to create the VRC, just install patch B first prior to A. I installed B, but when I then go to install A it says that I don't have the VRC (but then says if I don't want the functionality install patch B first and you should be able to continue). I went back to Baan informing them of the evil cycle that was created and their response was to install the patch manually.
Go ahead and laugh, but I've only ever installed patches through PMC. Baan Support has instructed me to install a patch manually (not using PMC), and I'm not quite sure what I need to do to accomplish that.
The tech called a few days later to see if I had installed the patch, and I tried to explain that I wasn't sure what to do. He said that he would attach instructions to the case. Below is the note attached to the case:
Dear Customer,
Please download the solution from the support site to your local hard drive and then install the same into your system.
Regards
I'm not bashing Technical Support in this thread, I have always received very good, prompt, and professional service from all of the service centers I have dealt with thus far. I'm just a little fustrated that I'm not sure what to do and it is probably a very simple procedure.
Baan Support website says that Baan IVc4 systems (which is what we are) are to use the PMC tool. Can I follow the instructions for Individual Solutions for Non-PMC users to install the patch even though it is for systems up to Baan IVc3?
It also says the following:
Since April 10, 2000, all individual solutions are created in PMC format only. Before this date individual solutions for SSA Baan IVb or SSA Baan IVc had two types of software patches attached to it:
This leads me to believe that I cannot use the instructions for Individual Solutions for Non-PMC users to install the patch.
If someone could point me in the proper direction, I would greatly appreciate it. Thank you.
Han Brinkman
10th November 2005, 13:06
What's the name of the file which contains the solution? Is it an archive file containing a file called dump.l? If it is you can extract it and install it with ttiex1285m000.
Regards,
Han
Eddie Monster
10th November 2005, 13:28
Initially when I was using PMC for the top-level patch it automaticaly downloaded the patch I am now trying to install manually. So in my $BSE/pmc/dumps directory is a file named 201766 (no extension), which is the patch they want me to install manually. I've gone to the ftp site to see if I can find a .dmp version of the file, but I haven't been very successfull (but that could easily be becuase I'm not looking in the right place on the ftp site).
I was looking in the /updates/B40c4 directory. I checked some others but still didn't find it.
Juergen
10th November 2005, 15:23
Hi,
you have to download the solution from the /updates/B40_c directory. See also the solution notes for solution 201766 "Office Integration is made available for Baan IV".
Download the file 201766stnd and install it with session ttiex1284m000 "Import Patch".
Alternatively and maybe better you can first only extract the patch files with the "Import Patch" session and then later install it with session ttiex1285m000 "Import Data Dictionary". The patch contains components for two packages (tc and nt). Therefore two subdirectories will be created.
Juergen
JaapJD
10th November 2005, 16:23
The possibility to import or extract PMC dumps with ttiex1284m000 is only for BaanIV c3 and lower. In BaanIV c4 you should use PMC with its dependency checking. If you bypass PMC dependencies you may install incomplete solutions and/or incompatible components. Also you may have difficulties in installing other solutions or Service Packs with PMC.
Juergen
10th November 2005, 16:30
Yes I agree, the normal way is to use PMC but in this case he was instructed by Baan to install a patch manually.
You have the possibility also in IVc4.
Juergen
Nandan
11th November 2005, 07:50
Hi,
Here is a logic to convert PMC format to DD format and then you can import it using "ttiex1285m000".
The encoding of the PMC file is pretty simple. And whats more, you get the source code as well.
I guess Baan should improve the delivery format. Simple reverse engineering and you get the source code. Enjoy.
I have not tested it fully. Please provide feedback.
Please note, change the source.file and dest.dir, variables in the script to suite your requirement.
#define TRIM(A) shiftr$(shiftl$(A))
function main()
{
string source.file(256)
string dest.dir(256)
string o.file(256)
string buffer(1) based
long i.fp
long o.fp
long nr.bytes
source.file = "${BSE}/pmc/dumps/B50_b/123456"
dest.dir = "/tmp/extract"
i.fp = seq.open(source.file, "rb") |open pmc file, mode=read+binary
if i.fp < 1 then
message("Can not Read Solution file")
exit()
endif
while true
nr.bytes = 30
alloc.mem(buffer, nr.bytes)
if seq.read(buffer, nr.bytes, i.fp) <= 0 then
break
endif
if TRIM(buffer(4;nr.bytes)) = "Solution dump" then
seq.seek(40, 1, i.fp)
continue
else
o.fp = seq.open(dest.dir & "/" & TRIM(buffer(2;nr.bytes)), "wb")
if o.fp < 0 then
message("Cannot create output file")
exit()
endif
free.mem(buffer)
nr.bytes = 10
alloc.mem(buffer, nr.bytes)
if seq.read(buffer, nr.bytes, i.fp) <= 0 then
break
endif
nr.bytes = lval(TRIM(buffer))
free.mem(buffer)
alloc.mem(buffer, nr.bytes)
if seq.read(buffer, nr.bytes, i.fp) <= 0 then
break
endif
seq.write(buffer, nr.bytes, o.fp)
seq.flush(o.fp)
seq.close(o.fp)
endif
free.mem(buffer)
endwhile
}
Eddie Monster
11th November 2005, 17:30
Thank you all for your assistance.
JaapJD and I have worked it out. Apparently even if you didn't need to create the VRC, you still needed to go into the Maintain Packages, Maintain Package VRC, and Maintain Directories of Software Components and enter information for the 'nt' VRC.
After I did that I was then able to install the patch.
I appreciate all of your help.
nelsonR
2nd December 2005, 17:41
HI Nandan
Because of a bad solution from Baan, (it was not practical to uninstall the bad one) I needed to get an object from a previous PMC dump. I could then place the object into the DD while I wait for Baan to test and release a fix.
Your logic really came in handy. The TRIM did not work in my windows 4c4 system so I had to change to the strip$ function. I needed to add a variable to help me debug the code. This is the first time I ever worked with a Baan Tools Script. I write all my sofware in a different language and access Oracle data direct.
Everything else worked fine.
Thanks
Roy Nelson
CIO
HyPro Inc.
#define TRIM(A) shiftr$(shiftl$(A))
function main()
{
string source.file(256)
string dest.dir(256)
string o.file(256)
string tcheck(30)
string buffer(1) based
long i.fp
long o.fp
long nr.bytes
source.file = "F:/pmc/dumps/B40L_c_nas0/201783"
dest.dir = "/tmp/extract"
i.fp = seq.open(source.file, "rb") |open pmc file, mode=read+binary
if i.fp < 1 then
message("Can not Read Solution file")
exit()
endif
while true
nr.bytes = 30
alloc.mem(buffer, nr.bytes)
if seq.read(buffer, nr.bytes, i.fp) <= 0 then
break
endif
tcheck = buffer(4;nr.bytes)
if strip$(buffer(4;nr.bytes)) = "Solution dump" then
seq.seek(40, 1, i.fp)
continue
else
o.fp = seq.open(dest.dir & "/" & strip$(buffer(2;nr.bytes)), "wb")
if o.fp < 0 then
message("Cannot create output file")
exit()
endif
free.mem(buffer)
nr.bytes = 10
alloc.mem(buffer, nr.bytes)
if seq.read(buffer, nr.bytes, i.fp) <= 0 then
break
endif
nr.bytes = lval(strip$(buffer))
free.mem(buffer)
alloc.mem(buffer, nr.bytes)
if seq.read(buffer, nr.bytes, i.fp) <= 0 then
break
endif
seq.write(buffer, nr.bytes, o.fp)
seq.flush(o.fp)
seq.close(o.fp)
endif
free.mem(buffer)
endwhile
}