1. Paul Weir
  2. InfoMaker
  3. Thursday, 20 April 2023 15:32 PM UTC

I have a pbl file that has somehow become corrupt. I need the reports transfered out of that file and into a good pbl file.

 

I can see the reports in the courrrupted pbl file, but when I set the corrupted pbl file as the working library and then edit the report InfoMaker shuts down.

 

Is there any way to move reports from one pbl file to another without having to change working libraries?

 

Thanks!

Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 20 April 2023 18:13 PM UTC
  2. InfoMaker
  3. # 1

Hi Paul;

   I  would first try ...

  1. Opening IM's Library Painter
  2. Locate the corrupt PBL
  3. Use the RMB on the PBL itself and then choose "Optimize".
  4. Restart IM & now see if you can open the reports OK

HTH

Regards ... Chris

Comment
There are no comments made yet.
Paul Weir Accepted Answer Pending Moderation
  1. Thursday, 20 April 2023 19:29 PM UTC
  2. InfoMaker
  3. # 2

Thanks, Chris!

 

When I optimized the pbl file, I can get in and some reports work fine. Two of them close the entire InfoMaker program. And most of them return errors like these two and then close the report.

 

 

 

Some have this kind of error and then give the Attempt to open DataWindow failed error seen above:

 

Comment
  1. Chris Pollach @Appeon
  2. Thursday, 20 April 2023 23:41 PM UTC
Hi Paul;

IM "Reports" are really PowerBuilder Data Window objects "under the hood". My guess is that this library was opened up in a higher version of IM and it migrated the Reports to a higher version. Then you came along and tried to open the Reports in a lower version of IM (just a theory).

Can you ....

1) Create a new Library in the IM IDE

2) Using the Library Painter, copy one or two reports to this new library

3) ZIP the new library & attach it to this thread

We can then inspect the Report's source code via PowerBuilder and see what release # it is.

Regards ... Chris
  1. Helpful
There are no comments made yet.
Paul Weir Accepted Answer Pending Moderation
  1. Friday, 21 April 2023 13:30 PM UTC
  2. InfoMaker
  3. # 3

Wow, thanks again so much Chris for helping me with this so far!

Attached is the pbl in question. You'll see that some reports open fine, most close the report when opened, and a few actually crash InfoMaker.

Attachments (1)
Comment
  1. Andreas Mykonios
  2. Friday, 21 April 2023 14:06 PM UTC
By the way, are you using infomaker 2019?

Andreas.
  1. Helpful
  1. Paul Weir
  2. Friday, 21 April 2023 14:23 PM UTC
Andreas,



We're on 2019, yes. The issues we are having are only occuring in this pbl file. I'm not sure if that answers your question...



Paul
  1. Helpful
  1. Chris Pollach @Appeon
  2. Friday, 21 April 2023 14:58 PM UTC
Hi Paul;

FYI: Looking at those report objects source (" r_edit_jw_ssn" and "r_gl_trial_test") their object source code is *corrupt* as it's missing key elements. Looks like a report update failed to properly save all the object source in the library properly.

=> Do you have any backups for these report objects that you can restore to?

Regards ... Chris

PS: FYI: Looks like most reports that are OK come from the IM version 8 & 11.5 versions (time frame wise).
  1. Helpful
There are no comments made yet.
Sivaprakash BKR Accepted Answer Pending Moderation
  1. Friday, 17 November 2023 20:08 PM UTC
  2. InfoMaker
  3. # 4
This error(s) occurred to us and the solution was 1. Backup 2. Re-create the dw We will be happy here, if there exists a better solution.
Comment
There are no comments made yet.
Phil Wallingford Accepted Answer Pending Moderation
  1. Tuesday, 28 November 2023 14:34 PM UTC
  2. InfoMaker
  3. # 5

I have a tool that will attempt to recover objects from correupted PBLs.  I tried the one that PAul had uploaded and recovered 26 of 28 items (in the attached zip file).

You've probably moved on but this is an option for others?

 

Regards, Phil (E. Crane)

Attachments (1)
Comment
  1. Roland Smith
  2. Tuesday, 28 November 2023 21:35 PM UTC
The source code is stored in text blocks with pointers to the next block. The next block could be anywhere in the file. If one of the pointers has an invalid value, the block is lost and you can't access the rest of the object.
  1. Helpful
  1. Phil Wallingford
  2. Tuesday, 28 November 2023 22:11 PM UTC
My utility does walk through the text blocks and it flags an object as corrupt based on checking on data that clearly shows problems, such as:



The indicated length of object source data in a text block being greater than the maximum size of the block.

or

The indicated length of an object's name being long than the maximum.



And so on through about 10 checks. If all checks pass for a given object it is exported to a source file.



This is as Roland describes, but in this case there corrupted objects that fall through the cracks. Heck I was just trying to help someone out.
  1. Helpful
  1. Arnd Schmidt
  2. Tuesday, 28 November 2023 22:16 PM UTC
@Roland: Indeed. But recovered garbage is also garbage ;-)
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.