Skip to main content

Hi Freaks

in UF9 we do have a #include in the top of LPMX

(other include behave the same)

<LPMX>
#include FAV_LIB:STD_LPMX
LP_EDIT
...

in UF 10 this become

#define $triggerAbbr=LPMX
#include FAV_LIB:STD_LPMX
LP_EDIT
...

But it does not include anything

As in STD_LPMX are at  least to procedures that are needed in all programs, I got a warning modul "LP_xyz" is missing. So not only in listing the include is missing but also in the compiled component 😔

I did some recherche:

#startdefine
#define $triggerAbbr=LPMX
$1 = hello1
#include xFAV_LIB:STD_LPMX
$1 = hello2
#include FAV_LIB:xSTD_LPMX
$1 = hello3
#include FAV_LIB:STD_LPMX
$1 = hello4
ENTRY LP_EDIT

This results into:


[       125]              #startdefine
[       127]              #define $triggerAbbr=LPMX
[       128]     1        $1 = hello1
(CSCR)  warning:   1000 - Field 'HELLO1' not found
(CSCR)  warning:   1000 - Script fragment seen outside a module declaration.
[       129]              #include xFAV_LIB:STD_LPMX
(CSCR)  warning:   1000 - (Preprocessor) #INCLUDE 'XFAV_LIB:STD_LPMX' Not Found
[       130]     2        $1 = hello2
(CSCR)  warning:   1000 - Field 'HELLO2' not found
[       131]              #include FAV_LIB:xSTD_LPMX
[I1:      1]              #Comment start_of_symbols
...
[I1:    350]              #Comment end_of_symbols
[       132]     3        $1 = hello3
(CSCR)  warning:   1000 - Field 'HELLO3' not found
[       133]              #include FAV_LIB:STD_LPMX
[I1:      1]              #Comment start_of_symbols
[I1:      2]              #ifdefined __DATETIME__
....
[I1:    350]              #Comment end_of_symbols
[       134]     4        $1 = hello4
(CSCR)  warning:   1000 - Field 'HELLO4' not found
[       135]******        ENTRY LP_EDIT

The first include do have a wrong library by intention.
The "answers" from UnifAce are correct

The ´second include do have a wrong include-name
UnifAce didn't mention this but include DEFPARAMS the first time

The third include do have the proper include name
But still there is no include done by UnifAce

Was going on here?

Ingo

Hi Freaks

in UF9 we do have a #include in the top of LPMX

(other include behave the same)

<LPMX>
#include FAV_LIB:STD_LPMX
LP_EDIT
...

in UF 10 this become

#define $triggerAbbr=LPMX
#include FAV_LIB:STD_LPMX
LP_EDIT
...

But it does not include anything

As in STD_LPMX are at  least to procedures that are needed in all programs, I got a warning modul "LP_xyz" is missing. So not only in listing the include is missing but also in the compiled component 😔

I did some recherche:

#startdefine
#define $triggerAbbr=LPMX
$1 = hello1
#include xFAV_LIB:STD_LPMX
$1 = hello2
#include FAV_LIB:xSTD_LPMX
$1 = hello3
#include FAV_LIB:STD_LPMX
$1 = hello4
ENTRY LP_EDIT

This results into:


[       125]              #startdefine
[       127]              #define $triggerAbbr=LPMX
[       128]     1        $1 = hello1
(CSCR)  warning:   1000 - Field 'HELLO1' not found
(CSCR)  warning:   1000 - Script fragment seen outside a module declaration.
[       129]              #include xFAV_LIB:STD_LPMX
(CSCR)  warning:   1000 - (Preprocessor) #INCLUDE 'XFAV_LIB:STD_LPMX' Not Found
[       130]     2        $1 = hello2
(CSCR)  warning:   1000 - Field 'HELLO2' not found
[       131]              #include FAV_LIB:xSTD_LPMX
[I1:      1]              #Comment start_of_symbols
...
[I1:    350]              #Comment end_of_symbols
[       132]     3        $1 = hello3
(CSCR)  warning:   1000 - Field 'HELLO3' not found
[       133]              #include FAV_LIB:STD_LPMX
[I1:      1]              #Comment start_of_symbols
[I1:      2]              #ifdefined __DATETIME__
....
[I1:    350]              #Comment end_of_symbols
[       134]     4        $1 = hello4
(CSCR)  warning:   1000 - Field 'HELLO4' not found
[       135]******        ENTRY LP_EDIT

The first include do have a wrong library by intention.
The "answers" from UnifAce are correct

The ´second include do have a wrong include-name
UnifAce didn't mention this but include DEFPARAMS the first time

The third include do have the proper include name
But still there is no include done by UnifAce

Was going on here?

Ingo

Sorry Ingo, I just tried your sample code and its working as expected for me. We are a few patches behind at this point though. Maybe something they just broke.

There was a patch on December 23rd I believe.

Edit Misread the UF version... the patch was to 10


Hi Freaks

in UF9 we do have a #include in the top of LPMX

(other include behave the same)

<LPMX>
#include FAV_LIB:STD_LPMX
LP_EDIT
...

in UF 10 this become

#define $triggerAbbr=LPMX
#include FAV_LIB:STD_LPMX
LP_EDIT
...

But it does not include anything

As in STD_LPMX are at  least to procedures that are needed in all programs, I got a warning modul "LP_xyz" is missing. So not only in listing the include is missing but also in the compiled component 😔

I did some recherche:

#startdefine
#define $triggerAbbr=LPMX
$1 = hello1
#include xFAV_LIB:STD_LPMX
$1 = hello2
#include FAV_LIB:xSTD_LPMX
$1 = hello3
#include FAV_LIB:STD_LPMX
$1 = hello4
ENTRY LP_EDIT

This results into:


[       125]              #startdefine
[       127]              #define $triggerAbbr=LPMX
[       128]     1        $1 = hello1
(CSCR)  warning:   1000 - Field 'HELLO1' not found
(CSCR)  warning:   1000 - Script fragment seen outside a module declaration.
[       129]              #include xFAV_LIB:STD_LPMX
(CSCR)  warning:   1000 - (Preprocessor) #INCLUDE 'XFAV_LIB:STD_LPMX' Not Found
[       130]     2        $1 = hello2
(CSCR)  warning:   1000 - Field 'HELLO2' not found
[       131]              #include FAV_LIB:xSTD_LPMX
[I1:      1]              #Comment start_of_symbols
...
[I1:    350]              #Comment end_of_symbols
[       132]     3        $1 = hello3
(CSCR)  warning:   1000 - Field 'HELLO3' not found
[       133]              #include FAV_LIB:STD_LPMX
[I1:      1]              #Comment start_of_symbols
[I1:      2]              #ifdefined __DATETIME__
....
[I1:    350]              #Comment end_of_symbols
[       134]     4        $1 = hello4
(CSCR)  warning:   1000 - Field 'HELLO4' not found
[       135]******        ENTRY LP_EDIT

The first include do have a wrong library by intention.
The "answers" from UnifAce are correct

The ´second include do have a wrong include-name
UnifAce didn't mention this but include DEFPARAMS the first time

The third include do have the proper include name
But still there is no include done by UnifAce

Was going on here?

Ingo

Hi Mike

We do have 10.3.02.044 

I just restore an old repositiory database: same problem

And I do need a solution till tomorrow 😔

Ingo






Hi Freaks

in UF9 we do have a #include in the top of LPMX

(other include behave the same)

<LPMX>
#include FAV_LIB:STD_LPMX
LP_EDIT
...

in UF 10 this become

#define $triggerAbbr=LPMX
#include FAV_LIB:STD_LPMX
LP_EDIT
...

But it does not include anything

As in STD_LPMX are at  least to procedures that are needed in all programs, I got a warning modul "LP_xyz" is missing. So not only in listing the include is missing but also in the compiled component 😔

I did some recherche:

#startdefine
#define $triggerAbbr=LPMX
$1 = hello1
#include xFAV_LIB:STD_LPMX
$1 = hello2
#include FAV_LIB:xSTD_LPMX
$1 = hello3
#include FAV_LIB:STD_LPMX
$1 = hello4
ENTRY LP_EDIT

This results into:


[       125]              #startdefine
[       127]              #define $triggerAbbr=LPMX
[       128]     1        $1 = hello1
(CSCR)  warning:   1000 - Field 'HELLO1' not found
(CSCR)  warning:   1000 - Script fragment seen outside a module declaration.
[       129]              #include xFAV_LIB:STD_LPMX
(CSCR)  warning:   1000 - (Preprocessor) #INCLUDE 'XFAV_LIB:STD_LPMX' Not Found
[       130]     2        $1 = hello2
(CSCR)  warning:   1000 - Field 'HELLO2' not found
[       131]              #include FAV_LIB:xSTD_LPMX
[I1:      1]              #Comment start_of_symbols
...
[I1:    350]              #Comment end_of_symbols
[       132]     3        $1 = hello3
(CSCR)  warning:   1000 - Field 'HELLO3' not found
[       133]              #include FAV_LIB:STD_LPMX
[I1:      1]              #Comment start_of_symbols
[I1:      2]              #ifdefined __DATETIME__
....
[I1:    350]              #Comment end_of_symbols
[       134]     4        $1 = hello4
(CSCR)  warning:   1000 - Field 'HELLO4' not found
[       135]******        ENTRY LP_EDIT

The first include do have a wrong library by intention.
The "answers" from UnifAce are correct

The ´second include do have a wrong include-name
UnifAce didn't mention this but include DEFPARAMS the first time

The third include do have the proper include name
But still there is no include done by UnifAce

Was going on here?

Ingo

beside the way of migration I tried to create a new include.
But how to?
There is no template for includes...


Hi Mike

We do have 10.3.02.044 

I just restore an old repositiory database: same problem

And I do need a solution till tomorrow 😔

Ingo





Sorry, I misunderstood. We are on 10.3.02.033 for the time being. Odd that its not the latest on your side, I would have thought some one would have found the problem by now if it were a Uniface bug in 44.

Was this working previously (like last week / month in U10)?

In the absence of other information, all I could think if would be:

  1. Check if someone hasn't renamed / deleted / moved the actual include proc by accident (assume you have done this already though).
  2. Try it with a different IP in the same / different library (ie. is it that specific proc).
  3. Duplicate the proc with a different name / library and try and include that (just for a test). (ie is it the content of the IP).
  4. If this wasn't part of a test set maybe its a corrupted component, you could try with a completely new component.
  5. Copy the #include line into Notepad++ and convert to character codes to see if there are any weird characters in there. (there was a bug way back in version 6/7 where weird characters got into the code from the paint tableau / ruler function / or by having formatting applied like bolding in code and broke things).
  6. I now see that the second #include in your sample - with the wrong IP name - also includes "something" - (is that what you were meaning when you mentioned DEFPARAMS?). I missed it in my first comparison that doesn't seem like expected behaviour either (would have thought it would fail on the incorrectly named one)?

I wonder if there is an incorrect library definition earlier in the compilation order that it resets some compiler parameters and just adds that code instead. Could there be another incorrect library somewhere (either the component properties or the Declaration section of the code as these would hit the compiler first)? This would only occur within your sample not your original code if this were not the case. If it were a database issue I would imagine that there would be other messages in the message frame though and I've tried this in mine without breaking it unfortunately. Though something like this would explain why its not been reported before.

Going offline, good luck with it, I hope its not too late a night.


beside the way of migration I tried to create a new include.
But how to?
There is no template for includes...

type the string libinc:FAV_LIB into the address bar to open the include procs then there is a template for an empty include proc.


Hi Freaks

in UF9 we do have a #include in the top of LPMX

(other include behave the same)

<LPMX>
#include FAV_LIB:STD_LPMX
LP_EDIT
...

in UF 10 this become

#define $triggerAbbr=LPMX
#include FAV_LIB:STD_LPMX
LP_EDIT
...

But it does not include anything

As in STD_LPMX are at  least to procedures that are needed in all programs, I got a warning modul "LP_xyz" is missing. So not only in listing the include is missing but also in the compiled component 😔

I did some recherche:

#startdefine
#define $triggerAbbr=LPMX
$1 = hello1
#include xFAV_LIB:STD_LPMX
$1 = hello2
#include FAV_LIB:xSTD_LPMX
$1 = hello3
#include FAV_LIB:STD_LPMX
$1 = hello4
ENTRY LP_EDIT

This results into:


[       125]              #startdefine
[       127]              #define $triggerAbbr=LPMX
[       128]     1        $1 = hello1
(CSCR)  warning:   1000 - Field 'HELLO1' not found
(CSCR)  warning:   1000 - Script fragment seen outside a module declaration.
[       129]              #include xFAV_LIB:STD_LPMX
(CSCR)  warning:   1000 - (Preprocessor) #INCLUDE 'XFAV_LIB:STD_LPMX' Not Found
[       130]     2        $1 = hello2
(CSCR)  warning:   1000 - Field 'HELLO2' not found
[       131]              #include FAV_LIB:xSTD_LPMX
[I1:      1]              #Comment start_of_symbols
...
[I1:    350]              #Comment end_of_symbols
[       132]     3        $1 = hello3
(CSCR)  warning:   1000 - Field 'HELLO3' not found
[       133]              #include FAV_LIB:STD_LPMX
[I1:      1]              #Comment start_of_symbols
[I1:      2]              #ifdefined __DATETIME__
....
[I1:    350]              #Comment end_of_symbols
[       134]     4        $1 = hello4
(CSCR)  warning:   1000 - Field 'HELLO4' not found
[       135]******        ENTRY LP_EDIT

The first include do have a wrong library by intention.
The "answers" from UnifAce are correct

The ´second include do have a wrong include-name
UnifAce didn't mention this but include DEFPARAMS the first time

The third include do have the proper include name
But still there is no include done by UnifAce

Was going on here?

Ingo

Hi Mike

So I found a/the problem

I copy STD_LPMX to AA_INC and EE_INC
In both scripts I insert a $1=helloAA resp. $1=helloBB

After renaming the include script (Could'nt find the "new include")  , there is no more error of the missing global proc. But this is only the one half of the "solution"

Look into the listing (of a testset component)

Script

$1=hello1
#include FAV_LIB::EE_INC
$1=hello2
  operation exec
  call LP_MELD("")
END ; EXEC

Listing

Compile Form: 'TESTINC1'
[         1]              #include defparam
[I1:      1]              #ifundefined _REG_STD_LPMX_
[I1:      2]               #define _REG_STD_LPMX_
[I1:      3]              ;--- INCLUDE STD_LPMX ---
[I1:      4]     1        $1=halloAA
(EXEC)  warning:   1000 - Field 'HALLOAA' not found
...
[I1:     86]              #endif

Trigger <CSCR> from Form: TESTINC1
[         1]     1        $1=hello1
(CSCR)  warning:   1000 - Field 'HELLO1' not found
(CSCR)  warning:   1000 - Script fragment seen outside a module declaration.
[         2]              #include FAV_LIB::AA_INC
[I1:      1]              #ifundefined _REG_STD_LPMX_
[I1:      2]              ; #define _REG_STD_LPMX_
[I1:      3]              ;;--- INCLUDE STD_LPMX ---
[I1:      4]              ;$1=halloAA
...
[I1:     86]              #endif
[         3]     2        $1=hello2
(CSCR)  warning:   1000 - Field 'HELLO2' not found
[         4]******          operation exec
[         5]     1          call LP_MELD("")
[         6]     2        END ; EXEC




So what's happend is:

UnifAce trys to include DEFPARAM but uses the first include script AA_INC
Then, by #include EE_INC, UnifAce again includes AA_INC

So UnifACe alwas included the first include script found in the library, which is now AA_INC

Ingo




Hi Mike

So I found a/the problem

I copy STD_LPMX to AA_INC and EE_INC
In both scripts I insert a $1=helloAA resp. $1=helloBB

After renaming the include script (Could'nt find the "new include")  , there is no more error of the missing global proc. But this is only the one half of the "solution"

Look into the listing (of a testset component)

Script

$1=hello1
#include FAV_LIB::EE_INC
$1=hello2
  operation exec
  call LP_MELD("")
END ; EXEC

Listing

Compile Form: 'TESTINC1'
[         1]              #include defparam
[I1:      1]              #ifundefined _REG_STD_LPMX_
[I1:      2]               #define _REG_STD_LPMX_
[I1:      3]              ;--- INCLUDE STD_LPMX ---
[I1:      4]     1        $1=halloAA
(EXEC)  warning:   1000 - Field 'HALLOAA' not found
...
[I1:     86]              #endif

Trigger <CSCR> from Form: TESTINC1
[         1]     1        $1=hello1
(CSCR)  warning:   1000 - Field 'HELLO1' not found
(CSCR)  warning:   1000 - Script fragment seen outside a module declaration.
[         2]              #include FAV_LIB::AA_INC
[I1:      1]              #ifundefined _REG_STD_LPMX_
[I1:      2]              ; #define _REG_STD_LPMX_
[I1:      3]              ;;--- INCLUDE STD_LPMX ---
[I1:      4]              ;$1=halloAA
...
[I1:     86]              #endif
[         3]     2        $1=hello2
(CSCR)  warning:   1000 - Field 'HELLO2' not found
[         4]******          operation exec
[         5]     1          call LP_MELD("")
[         6]     2        END ; EXEC




So what's happend is:

UnifAce trys to include DEFPARAM but uses the first include script AA_INC
Then, by #include EE_INC, UnifAce again includes AA_INC

So UnifACe alwas included the first include script found in the library, which is now AA_INC

Ingo



Hallo Ingo,


I don't know if this could be THE error:

#include FAV_LIB::EE_INC

We use only one ":"
#include FAV_LIB:EE_INC



You can use

; Compiler Setting: Set the severity of the compiler message #INCLUDE not found.
    ; 0 = set message severity to info 
    ; 1 = warning (default)
    ; 2 = error   
$INCLUDE_NOT_FOUND_LEVEL = 2         

to get an ERROR instead of an warning.


Regards

Norbert


Hi Mike

So I found a/the problem

I copy STD_LPMX to AA_INC and EE_INC
In both scripts I insert a $1=helloAA resp. $1=helloBB

After renaming the include script (Could'nt find the "new include")  , there is no more error of the missing global proc. But this is only the one half of the "solution"

Look into the listing (of a testset component)

Script

$1=hello1
#include FAV_LIB::EE_INC
$1=hello2
  operation exec
  call LP_MELD("")
END ; EXEC

Listing

Compile Form: 'TESTINC1'
[         1]              #include defparam
[I1:      1]              #ifundefined _REG_STD_LPMX_
[I1:      2]               #define _REG_STD_LPMX_
[I1:      3]              ;--- INCLUDE STD_LPMX ---
[I1:      4]     1        $1=halloAA
(EXEC)  warning:   1000 - Field 'HALLOAA' not found
...
[I1:     86]              #endif

Trigger <CSCR> from Form: TESTINC1
[         1]     1        $1=hello1
(CSCR)  warning:   1000 - Field 'HELLO1' not found
(CSCR)  warning:   1000 - Script fragment seen outside a module declaration.
[         2]              #include FAV_LIB::AA_INC
[I1:      1]              #ifundefined _REG_STD_LPMX_
[I1:      2]              ; #define _REG_STD_LPMX_
[I1:      3]              ;;--- INCLUDE STD_LPMX ---
[I1:      4]              ;$1=halloAA
...
[I1:     86]              #endif
[         3]     2        $1=hello2
(CSCR)  warning:   1000 - Field 'HELLO2' not found
[         4]******          operation exec
[         5]     1          call LP_MELD("")
[         6]     2        END ; EXEC




So what's happend is:

UnifAce trys to include DEFPARAM but uses the first include script AA_INC
Then, by #include EE_INC, UnifAce again includes AA_INC

So UnifACe alwas included the first include script found in the library, which is now AA_INC

Ingo



Hi Norbert

No that was not the problem 🙂

I will explain it in a general answer

Ingo


Hi Freaks

in UF9 we do have a #include in the top of LPMX

(other include behave the same)

<LPMX>
#include FAV_LIB:STD_LPMX
LP_EDIT
...

in UF 10 this become

#define $triggerAbbr=LPMX
#include FAV_LIB:STD_LPMX
LP_EDIT
...

But it does not include anything

As in STD_LPMX are at  least to procedures that are needed in all programs, I got a warning modul "LP_xyz" is missing. So not only in listing the include is missing but also in the compiled component 😔

I did some recherche:

#startdefine
#define $triggerAbbr=LPMX
$1 = hello1
#include xFAV_LIB:STD_LPMX
$1 = hello2
#include FAV_LIB:xSTD_LPMX
$1 = hello3
#include FAV_LIB:STD_LPMX
$1 = hello4
ENTRY LP_EDIT

This results into:


[       125]              #startdefine
[       127]              #define $triggerAbbr=LPMX
[       128]     1        $1 = hello1
(CSCR)  warning:   1000 - Field 'HELLO1' not found
(CSCR)  warning:   1000 - Script fragment seen outside a module declaration.
[       129]              #include xFAV_LIB:STD_LPMX
(CSCR)  warning:   1000 - (Preprocessor) #INCLUDE 'XFAV_LIB:STD_LPMX' Not Found
[       130]     2        $1 = hello2
(CSCR)  warning:   1000 - Field 'HELLO2' not found
[       131]              #include FAV_LIB:xSTD_LPMX
[I1:      1]              #Comment start_of_symbols
...
[I1:    350]              #Comment end_of_symbols
[       132]     3        $1 = hello3
(CSCR)  warning:   1000 - Field 'HELLO3' not found
[       133]              #include FAV_LIB:STD_LPMX
[I1:      1]              #Comment start_of_symbols
[I1:      2]              #ifdefined __DATETIME__
....
[I1:    350]              #Comment end_of_symbols
[       134]     4        $1 = hello4
(CSCR)  warning:   1000 - Field 'HELLO4' not found
[       135]******        ENTRY LP_EDIT

The first include do have a wrong library by intention.
The "answers" from UnifAce are correct

The ´second include do have a wrong include-name
UnifAce didn't mention this but include DEFPARAMS the first time

The third include do have the proper include name
But still there is no include done by UnifAce

Was going on here?

Ingo

Hi Freaks

As I did a global compile a month ago, at which #include does work, so I try to check what was has changed
I go back to UF10.3.02.043:Nope
I use an old repository database:Nope

Then I found some old ASN and INI-Files and used them: Voila, #include does work
So I change one line after the other to see which one causing the failure

This is the line 🙂

[RESOURCES]
\\\\SERVER\\ufs\\u1202\\resources_output

This is the solution:
[RESOURCES]
;\\\\SERVER\\ufs\\u1202\\resources_output


The resource output is mandatory, but as input it's going crazy
Drawback is, that the "listing utility" not longer works as it is part of our output

But what the hell is UnifAce doing, that include scripts are not longer searched in a proper way?

Ingo





Hi Freaks

As I did a global compile a month ago, at which #include does work, so I try to check what was has changed
I go back to UF10.3.02.043:Nope
I use an old repository database:Nope

Then I found some old ASN and INI-Files and used them: Voila, #include does work
So I change one line after the other to see which one causing the failure

This is the line 🙂

[RESOURCES]
\\\\SERVER\\ufs\\u1202\\resources_output

This is the solution:
[RESOURCES]
;\\\\SERVER\\ufs\\u1202\\resources_output


The resource output is mandatory, but as input it's going crazy
Drawback is, that the "listing utility" not longer works as it is part of our output

But what the hell is UnifAce doing, that include scripts are not longer searched in a proper way?

Ingo




Hi Ingo,


hard to beleave as we use in the IDE.asn


[SETTINGS]
$RESOURCES_OUTPUT = .\\resources


[RESOURCES]
.\\resources
usys:ide.uar
usys:ide_messages.uar
usys:ide_classic.uar
usysuniface:uar\\ADDITIONS.uar


In the Application.ASN we use only

[RESOURCES]
.\\resources


So if we compile in our productive Environment the user will use the new component the next time he calls it.


Regards

Norbert


Hi Freaks

As I did a global compile a month ago, at which #include does work, so I try to check what was has changed
I go back to UF10.3.02.043:Nope
I use an old repository database:Nope

Then I found some old ASN and INI-Files and used them: Voila, #include does work
So I change one line after the other to see which one causing the failure

This is the line 🙂

[RESOURCES]
\\\\SERVER\\ufs\\u1202\\resources_output

This is the solution:
[RESOURCES]
;\\\\SERVER\\ufs\\u1202\\resources_output


The resource output is mandatory, but as input it's going crazy
Drawback is, that the "listing utility" not longer works as it is part of our output

But what the hell is UnifAce doing, that include scripts are not longer searched in a proper way?

Ingo




In case the problem disappears when you remove the resource output then there propbaby is a problem with the entity descriptors of the meta dictionary. You either have an outdated or a changed meta dictionary. The following issue might be related:

> Issue 31954  —   IDE: Resource order might cause problems 

And this has been resolved with the patch 10.3.02.038 (and higher). You need to Import the updated umeta.xml (located in \\uniface\\misc) provided with the patch and perform analyze model (e.g. from the command line with /con DICT) in order to resolve the problem.


beside the way of migration I tried to create a new include.
But how to?
There is no template for includes...

It could be that you did not import the default templates (\\uniface\\misc\\utemplates.xml).

The default palette is called UPALETTE_PRJ (prj:UPALETTE_PRJ/all:) and includes a reference for a IncludeScript Library.

But Mike is correct as well, when you open an existing IncludeScript Library then you should see an Empty Include snippet in the Templates. If that's not the case then the above (importing utemplates.xml) should resolve this as well.


beside the way of migration I tried to create a new include.
But how to?
There is no template for includes...

Hi Mike, hi Daniel

Yes, with importing utemplates.xml I got the templates 🙂


ThanX


Hi Mike

So I found a/the problem

I copy STD_LPMX to AA_INC and EE_INC
In both scripts I insert a $1=helloAA resp. $1=helloBB

After renaming the include script (Could'nt find the "new include")  , there is no more error of the missing global proc. But this is only the one half of the "solution"

Look into the listing (of a testset component)

Script

$1=hello1
#include FAV_LIB::EE_INC
$1=hello2
  operation exec
  call LP_MELD("")
END ; EXEC

Listing

Compile Form: 'TESTINC1'
[         1]              #include defparam
[I1:      1]              #ifundefined _REG_STD_LPMX_
[I1:      2]               #define _REG_STD_LPMX_
[I1:      3]              ;--- INCLUDE STD_LPMX ---
[I1:      4]     1        $1=halloAA
(EXEC)  warning:   1000 - Field 'HALLOAA' not found
...
[I1:     86]              #endif

Trigger <CSCR> from Form: TESTINC1
[         1]     1        $1=hello1
(CSCR)  warning:   1000 - Field 'HELLO1' not found
(CSCR)  warning:   1000 - Script fragment seen outside a module declaration.
[         2]              #include FAV_LIB::AA_INC
[I1:      1]              #ifundefined _REG_STD_LPMX_
[I1:      2]              ; #define _REG_STD_LPMX_
[I1:      3]              ;;--- INCLUDE STD_LPMX ---
[I1:      4]              ;$1=halloAA
...
[I1:     86]              #endif
[         3]     2        $1=hello2
(CSCR)  warning:   1000 - Field 'HELLO2' not found
[         4]******          operation exec
[         5]     1          call LP_MELD("")
[         6]     2        END ; EXEC




So what's happend is:

UnifAce trys to include DEFPARAM but uses the first include script AA_INC
Then, by #include EE_INC, UnifAce again includes AA_INC

So UnifACe alwas included the first include script found in the library, which is now AA_INC

Ingo



Wow you must have been up to midnight figuring this out - Glad you got it sorted though.