Jump to content


Photo
- - - - -

Number of Logic ID


25 replies to this topic

#16 Cheryl Lipsey

Cheryl Lipsey

    Member

  • Members
  • PipPip
  • 33 posts
  • Gender:Female
  • Location:Gainesville, FL

Posted 24 April 2002 - 12:10 PM

Other than split the function into two functions, you can delete any windows and/or updates that are not required for the core functionality. Neither option is particularly pretty.

#17 Cheryl Lipsey

Cheryl Lipsey

    Member

  • Members
  • PipPip
  • 33 posts
  • Gender:Female
  • Location:Gainesville, FL

Posted 24 April 2002 - 12:15 PM

That leads to my second question. If the PRO-IV is deleted at the time of regen, every once in a while, when you regen a function it completely falls apart (and no, not due to errors in the function). I can copy the function to another name, regen it, and then it compiles and executes (with no changes to the code). Any clues?

#18 Vol Yip

Vol Yip

    ProIV Guru

  • Members
  • PipPipPipPipPip
  • 393 posts
  • Gender:Male
  • Location:Hong Kong

Posted 24 April 2002 - 01:41 PM

All,

Just want to clarify my question:

If I regen my SL function (which definitely has less than 255 or even less than 227 logic) and hit an error saying that the number of logic exceeds 255. And after that, I go to PRO-IV and found that the number of logic is 227, does this make sense?

#19 Shaun Rudland

Shaun Rudland

    Expert

  • Members
  • PipPipPipPip
  • 165 posts
  • Location:Queensland, Australia

Posted 24 April 2002 - 09:09 PM

My guess, and it is just that, would be orphaned records in the Superlayer and/or PRO-IV bootstraps. I've had problems in the past with 'sick' functions that have required renaming. I know at the time that Superlayer did not seem to perform child deletes. This was illustrated by the deleting of a US where the corresponding child file instances were not deleted. At one stage during an Oracle conversion project we were attempting to load the Oracle Designer Repository from the Superlayer files, but there appeared to be so much orphaned data, that we switched to retrieving the data from the PRO-IV files instead. This 'orphan problem' would certainly explain why copying the function 'cures the sickness'.

What does this mean ?

It really depends on how Superlayer deletes the existing PRO-IV function, and how it constructs the new version. If it performs both tasks in what I would call a logical manner, starting at the top of the function, and moving down the various branches of the tree creating logical screens/reports/updates, file instances, and corresponding logics, then everything should be sweet. If, however, it were to create parts of the function in blocks (i.e. logics, file instances, global calls) then orphan records could have a big impact on the construction.

Disclaimer: The above are the musings of a sleepy man with only one cup of coffee on-board
PRO-IV free for 385 Days B)

#20 Chris Pepper

Chris Pepper

    ProIV Guru

  • Members
  • PipPipPipPipPip
  • 369 posts
  • Gender:Male
  • Location:United Kingdom

Posted 25 April 2002 - 11:48 AM

Yip,
I am just going to repeat what Richard said.

The count of logics includes Global Logics. You can only have 255 logics in total at the PRO-IV level.

Global logics do not have numbers, they have names. They can only be found by reading the logic code (or they can be linked to the SPECIAL CHECK field in a screen). There is no simple way for your user to count these unless they can check every line of logic code against a list of global logics.

Global Logics can themselves call global logics so you need to check every line of every global logic too.

I have a utility function that can list every Global Logic called by a Function but some of the coding is very specific to my environment (e.g. temporary files).

Has anyone else got a suitable utility?

#21 Chris Pepper

Chris Pepper

    ProIV Guru

  • Members
  • PipPipPipPipPip
  • 369 posts
  • Gender:Male
  • Location:United Kingdom

Posted 25 April 2002 - 11:52 AM

I just posted a reply to this in the wrong place on the thread - sorry!

See my post above!

Chris

(in New York this week and tired from running a training class for the first time in 2 years!)

#22 Cheryl Lipsey

Cheryl Lipsey

    Member

  • Members
  • PipPip
  • 33 posts
  • Gender:Female
  • Location:Gainesville, FL

Posted 25 April 2002 - 12:26 PM

Your explaination make a lot of sense (even sans coffee). Leading to a third question - Is there any way to clean up the 'orphan' records still out there? Has PRO-IV created any 'patch' to fix the problem (since it does not seem to be an isolated incident)?

p.s. You can function with only one cup of coffee? I am envious!

#23 Shaun Rudland

Shaun Rudland

    Expert

  • Members
  • PipPipPipPip
  • 165 posts
  • Location:Queensland, Australia

Posted 25 April 2002 - 09:45 PM

As far as I know there are no 'official' utilities to remove 'orphans'. I worked for a company a few years ago that wrote some very rough updates for internal use. Obviously, to create such updates one would have to have an excellent understanding of the underlying SL file structure.

When removing portions of a SL function, I've found that deleting from the bottom up (i.e. removing lower level links, file instances etc before removing the parent LU or Window Call) does seem to reduce the number of instances of 'sick functions', but this could be pure coincidence.

p.s. with only one cup of coffee on board my functioning is limited, and I have to suspend breathing while thinking
PRO-IV free for 385 Days B)

#24 Vol Yip

Vol Yip

    ProIV Guru

  • Members
  • PipPipPipPipPip
  • 393 posts
  • Gender:Male
  • Location:Hong Kong

Posted 30 April 2002 - 06:54 AM

Thanks Chris.

But I am still a bit confused. Let me create the following senario:

1) I have a SL function which calls a lot of 'Global Logic', 'Global Funtion' etc.

2) When I regen this SL function, system will first DELETE my PRO-IV specification. (Am I correct?)

3) Then during the regenaration, system will then create the PRO-IV spec by adding all the SL spec, Global Logic, Global function etc. (at the same time, growing up the number of Logic), (Am I correct?)

4) So, if the number of Logic added together exceeds 255, then the regenration will stop and I will receive an SL regen error saying that the logic exceed limit, am I correct?

5) Now, my question is: When I received the SL regen error, I checked my PRO-IV specification and found that there are only 227 logic. (Of course my SL specification will have even smaller number of logic).

Does the above scenario makes sense?

Thanks.

#25 Chris Pepper

Chris Pepper

    ProIV Guru

  • Members
  • PipPipPipPipPip
  • 369 posts
  • Gender:Male
  • Location:United Kingdom

Posted 30 April 2002 - 10:39 AM

It's the 'at the same time growing the number of logics' that I need to make clear.

Internally PRO-IV increases the number of logics. It does not add any more logic numbers to the function though.

So if you have a function with logic 001 and logic 180 and a global logic UPPER() then when you gen PRO-IV will need 3 logic 'slots' to be available but you will only ever see logics 001 and 180.

#26 Guest_Dr. Who_*

Guest_Dr. Who_*
  • Guests

Posted 30 May 2002 - 04:17 PM

I once worked at a site where we had to get around the 255 limitation, so we combined the smaller logics into 1 large logic sorted by a case statement that was dependant upon which FILE# & LS you were at. If I recall correctly, we were able to trick ProIV into Gen-ing with code that would've else taken 300+ logics. This is somewhat dangerous because if you add a field or add a file...all the Combined Logic ID's have to be reconfigured to incorporate the new additions.

Cheers!



Reply to this topic



  


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users