Problem with sort order and relations

Hi,

Visual DataFlex 15.0 and LL13.

At design time, I do not have sort order and relations for the tables in the report.

All variables and fields are ok, but I do not have the propertie “Sorting” for the selected table. Also I do not have the option to add a “Free content” in the report structure.

Any idea?

Regards,
Antonio Jiménez
Granada (Spain)

Hi again,

I will try to explain better (my English is not very good).

I have developed a new module where to centralize the management of the reports associated with every option of my application.

The procedure that call to “LLDefineLayout” is:

Procedure DoAbrirDocLL Integer iLLObj String sFile String sTitulo Integer iType
    Integer iRet
    String sName
    
    Get Name of iLLObj to sName
    
    Get LLJobOpen of iLLObj to iRet  // Open the Job
    
    //deshabilitar opciones de menú del editor
    //abrir, Nuevo, Guardar como
    //ni se permite minimizar el editor
    Get LLDesignerProhibitAction of iLLObj 524 to iRet  //new
    Get LLDesignerProhibitAction of iLLObj 519 to iRet  //open
    Get LLDesignerProhibitAction of iLLObj 515 to iRet  //save as
    Get LLDesignerProhibitAction of iLLObj 726 to iRet  //Import
    Get LLDesignerProhibitAction of iLLObj 990 to iRet  //File > LRU list
    Get LlDesignerProhibitAction of iLLObj LL_SYSCOMMAND_MINIMIZE to iRet         
        
    Get LLDefineLayout of iLLObj (window_handle(Self)) ("Editar formato: "+sTitulo) (iType ior LL_NONAMEINTITLE) sFile to iRet
    Get LLJobClose of iLLObj to iRet  // Close the Job        
End_Procedure

This procedure works in general, except when I create a new project “LL_PROJECT_LIST”, in that not even the existing relations appear between the tables, not the available indexes for the above mentioned tables.

If I try to edit a report already created with the method traditional, I get an error message:

“At design time, table “X” had a sort order “i” that is not available now. Please check the usage…”

I would need some orientation in the matter, since I have a great project stopped by this problem.

Thank you for your time.

Regards,
Antonio Jiménez
Granada (Spain)

There are two ways for sorting orders…

a) see LlDefineSortOrder()

b) See LlDb…() API. This is the best way, and the only variant
(AFAIK) to be able to add static content. But you must match your
print loop accordingly (see chapter 4 of the progref)

Paulchen

“Antonio Jiménez” <info@antoniojimen…> wrote in message
news:284471125200910448@combit.net…

Hi again,

I will try to explain better (my English is not very good).

I have developed a new module where to centralize the management of
the reports associated with every option of my application.

The procedure that call to “LLDefineLayout” is:

Procedure DoAbrirDocLL Integer iLLObj String sFile String sTitulo
Integer iType
Integer iRet
String sName

   Get Name of iLLObj to sName

   Get LLJobOpen of iLLObj to iRet  // Open the Job

   //deshabilitar opciones de menú del editor
   //abrir, Nuevo, Guardar como
   //ni se permite minimizar el editor
   Get LLDesignerProhibitAction of iLLObj 524 to iRet  //new
   Get LLDesignerProhibitAction of iLLObj 519 to iRet  //open
   Get LLDesignerProhibitAction of iLLObj 515 to iRet  //save as
   Get LLDesignerProhibitAction of iLLObj 726 to iRet  //Import
   Get LLDesignerProhibitAction of iLLObj 990 to iRet  //File > 

LRU list
Get LlDesignerProhibitAction of iLLObj LL_SYSCOMMAND_MINIMIZE
to iRet

   Get LLDefineLayout of iLLObj (window_handle(Self)) ("Editar 

formato: "+sTitulo) (iType ior LL_NONAMEINTITLE) sFile to iRet
Get LLJobClose of iLLObj to iRet // Close the Job
End_Procedure

This procedure works in general, except when I create a new project
“LL_PROJECT_LIST”, in that not even the existing relations appear
between the tables, not the available indexes for the above
mentioned tables.

If I try to edit a report already created with the method
traditional, I get an error message:

“At design time, table “X” had a sort order “i” that is not
available now. Please check the usage…”

I would need some orientation in the matter, since I have a great
project stopped by this problem.

Thank you for your time.

Regards,
Antonio Jiménez
Granada (Spain)

Thank you Paul.

Maybe I have not explained with the sufficient clarity.

The problem is in the call to the designer. The printing works correctly.

I have changed this line:
Get LLDefineLayout of iLLObj (window_handle(Self)) ("Editar formato: "+sTitulo) (iType ior LL_NONAMEINTITLE) sFile to iRet

for this one:
Get LLDefineLayout of iLLObj (window_handle(Self)) “Editar Formato” iType sFile to iRet

and now it works correctly.

I do not understand the problem, but the problem is “ior LL_NONAMEINTITLE”.

According to the article KBTE000593, it is necessary to use “LL_NONAMEINTITLE” in order that the Designer do not display filename in its titlebar.

Thanks againg.

There are two ways for sorting orders…

a) see LlDefineSortOrder()

b) See LlDb…() API. This is the best way, and the only variant
(AFAIK) to be able to add static content. But you must match your
print loop accordingly (see chapter 4 of the progref)

Paulchen

“Antonio Jiménez” <info@antoniojimen…> wrote in message
news:284471125200910448@combit.net…

Hi again,

I will try to explain better (my English is not very good).

I have developed a new module where to centralize the management of
the reports associated with every option of my application.

The procedure that call to “LLDefineLayout” is:

Procedure DoAbrirDocLL Integer iLLObj String sFile String sTitulo
Integer iType
Integer iRet
String sName

   Get Name of iLLObj to sName

   Get LLJobOpen of iLLObj to iRet  // Open the Job

   //deshabilitar opciones de menú del editor
   //abrir, Nuevo, Guardar como
   //ni se permite minimizar el editor
   Get LLDesignerProhibitAction of iLLObj 524 to iRet  //new
   Get LLDesignerProhibitAction of iLLObj 519 to iRet  //open
   Get LLDesignerProhibitAction of iLLObj 515 to iRet  //save as
   Get LLDesignerProhibitAction of iLLObj 726 to iRet  //Import
   Get LLDesignerProhibitAction of iLLObj 990 to iRet  //File > 

LRU list
Get LlDesignerProhibitAction of iLLObj LL_SYSCOMMAND_MINIMIZE
to iRet

   Get LLDefineLayout of iLLObj (window_handle(Self)) ("Editar 

formato: "+sTitulo) (iType ior LL_NONAMEINTITLE) sFile to iRet
Get LLJobClose of iLLObj to iRet // Close the Job
End_Procedure

This procedure works in general, except when I create a new project
“LL_PROJECT_LIST”, in that not even the existing relations appear
between the tables, not the available indexes for the above
mentioned tables.

If I try to edit a report already created with the method
traditional, I get an error message:

“At design time, table “X” had a sort order “i” that is not
available now. Please check the usage…”

I would need some orientation in the matter, since I have a great
project stopped by this problem.

Thank you for your time.

Regards,
Antonio Jiménez
Granada (Spain)

Antonio,

Sorry for the misunderstanding. Yes, that should be the flag. Could
it be that “ior” is the wrong operation for bitwise or? I don’t know
what kind of programming language you are using.

You can use LlSetDebug() and DEBWIN2 (DEBWIN32 in LL15) to see what
your application passes to the LL API. If you use LL_PROJECT_LIST |
LL_NONAMEINTITLE, it should be 0x802 (or 2050 decimal).

Paulchen

“Antonio Jiménez” <info@antoniojimen…> wrote in message
news:70011125200914504@combit.net…

Thank you Paul.

Maybe I have not explained with the sufficient clarity.

The problem is in the call to the designer. The printing works
correctly.

I have changed this line:
Get LLDefineLayout of iLLObj (window_handle(Self)) ("Editar formato:
"+sTitulo) (iType ior LL_NONAMEINTITLE) sFile to iRet

for this one:
Get LLDefineLayout of iLLObj (window_handle(Self)) “Editar Formato”
iType sFile to iRet

and now it works correctly.

I do not understand the problem, but the problem is “ior
LL_NONAMEINTITLE”.

According to the article KBTE000593, it is necessary to use
“LL_NONAMEINTITLE” in order that the Designer do not display
filename in its titlebar.

Thanks againg.

There are two ways for sorting orders…

a) see LlDefineSortOrder()

b) See LlDb…() API. This is the best way, and the only variant
(AFAIK) to be able to add static content. But you must match your
print loop accordingly (see chapter 4 of the progref)

Paulchen

“Antonio Jiménez” <info@antoniojimen…> wrote in message
news:284471125200910448@combit.net…

Hi again,

I will try to explain better (my English is not very good).

I have developed a new module where to centralize the management
of
the reports associated with every option of my application.

The procedure that call to “LLDefineLayout” is:

Procedure DoAbrirDocLL Integer iLLObj String sFile String
sTitulo
Integer iType
Integer iRet
String sName

   Get Name of iLLObj to sName

   Get LLJobOpen of iLLObj to iRet  // Open the Job

   //deshabilitar opciones de menú del editor
   //abrir, Nuevo, Guardar como
   //ni se permite minimizar el editor
   Get LLDesignerProhibitAction of iLLObj 524 to iRet  //new
   Get LLDesignerProhibitAction of iLLObj 519 to iRet  //open
   Get LLDesignerProhibitAction of iLLObj 515 to iRet  //save 

as
Get LLDesignerProhibitAction of iLLObj 726 to iRet
//Import
Get LLDesignerProhibitAction of iLLObj 990 to iRet //File

LRU list
Get LlDesignerProhibitAction of iLLObj
LL_SYSCOMMAND_MINIMIZE
to iRet

   Get LLDefineLayout of iLLObj (window_handle(Self)) 

("Editar
formato: "+sTitulo) (iType ior LL_NONAMEINTITLE) sFile to iRet
Get LLJobClose of iLLObj to iRet // Close the Job
End_Procedure

This procedure works in general, except when I create a new
project
“LL_PROJECT_LIST”, in that not even the existing relations appear
between the tables, not the available indexes for the above
mentioned tables.

If I try to edit a report already created with the method
traditional, I get an error message:

“At design time, table “X” had a sort order “i” that is not
available now. Please check the usage…”

I would need some orientation in the matter, since I have a great
project stopped by this problem.

Thank you for your time.

Regards,
Antonio Jiménez
Granada (Spain)

Hi Paul, a lot of work!

In my first post I was saying “Visual DataFlex 15.0 and L&L 13”. Don’t worry.

I insist that my English is not good, but what operator can we deal on this one paragraph?

“…This can be achieved by 'OR’ing the project type parameter of LlDefineLayout() with LL_NONAMETITLE.”

In Visual DataFlex we have the following logical operators:

And :Designer don’t fire.
iAnd :(To return the bitwise AND of two integer values). Designer don’t fire.
Or :Designer display filename in titlebar
iOr :(Performs a bitwise OR on two integral values). Designer don’t works property.

Then, , what options have I?

Regards,

Antonio,

Sorry for the misunderstanding. Yes, that should be the flag. Could
it be that “ior” is the wrong operation for bitwise or? I don’t know
what kind of programming language you are using.

You can use LlSetDebug() and DEBWIN2 (DEBWIN32 in LL15) to see what
your application passes to the LL API. If you use LL_PROJECT_LIST |
LL_NONAMEINTITLE, it should be 0x802 (or 2050 decimal).

Paulchen

“Antonio Jiménez” <info@antoniojimen…> wrote in message
news:70011125200914504@combit.net…

Thank you Paul.

Maybe I have not explained with the sufficient clarity.

The problem is in the call to the designer. The printing works
correctly.

I have changed this line:
Get LLDefineLayout of iLLObj (window_handle(Self)) ("Editar formato:
"+sTitulo) (iType ior LL_NONAMEINTITLE) sFile to iRet

for this one:
Get LLDefineLayout of iLLObj (window_handle(Self)) “Editar Formato”
iType sFile to iRet

and now it works correctly.

I do not understand the problem, but the problem is “ior
LL_NONAMEINTITLE”.

According to the article KBTE000593, it is necessary to use
“LL_NONAMEINTITLE” in order that the Designer do not display
filename in its titlebar.

Thanks againg.

There are two ways for sorting orders…

a) see LlDefineSortOrder()

b) See LlDb…() API. This is the best way, and the only variant
(AFAIK) to be able to add static content. But you must match your
print loop accordingly (see chapter 4 of the progref)

Paulchen

“Antonio Jiménez” <info@antoniojimen…> wrote in message
news:284471125200910448@combit.net…

Hi again,

I will try to explain better (my English is not very good).

I have developed a new module where to centralize the management
of
the reports associated with every option of my application.

The procedure that call to “LLDefineLayout” is:

Procedure DoAbrirDocLL Integer iLLObj String sFile String
sTitulo
Integer iType
Integer iRet
String sName

   Get Name of iLLObj to sName

   Get LLJobOpen of iLLObj to iRet  // Open the Job

   //deshabilitar opciones de menú del editor
   //abrir, Nuevo, Guardar como
   //ni se permite minimizar el editor
   Get LLDesignerProhibitAction of iLLObj 524 to iRet  //new
   Get LLDesignerProhibitAction of iLLObj 519 to iRet  //open
   Get LLDesignerProhibitAction of iLLObj 515 to iRet  //save 

as
Get LLDesignerProhibitAction of iLLObj 726 to iRet
//Import
Get LLDesignerProhibitAction of iLLObj 990 to iRet //File

LRU list
Get LlDesignerProhibitAction of iLLObj
LL_SYSCOMMAND_MINIMIZE
to iRet

   Get LLDefineLayout of iLLObj (window_handle(Self)) 

("Editar
formato: "+sTitulo) (iType ior LL_NONAMEINTITLE) sFile to iRet
Get LLJobClose of iLLObj to iRet // Close the Job
End_Procedure

This procedure works in general, except when I create a new
project
“LL_PROJECT_LIST”, in that not even the existing relations appear
between the tables, not the available indexes for the above
mentioned tables.

If I try to edit a report already created with the method
traditional, I get an error message:

“At design time, table “X” had a sort order “i” that is not
available now. Please check the usage…”

I would need some orientation in the matter, since I have a great
project stopped by this problem.

Thank you for your time.

Regards,
Antonio Jiménez
Granada (Spain)

Hi Antonio,

when I look down to your orginal post, I see you have problems with
the structure of the report container and your database structure ("At
design time, table “X” had a sort order “i” that is not available now.
Please check the usage…"´).

Then you don’t want the project’s filename in the title bar
(LL_NONAMEINTITLE) - which is a totally different issue.

Maybe you really should use LlSetDebug() and look at DEBWIN2/3 what
happens - I don’t see a connection between the two problems you
mentioned (data structure mismatch, and the filename in the designer
title bar), could be that you’re misinterpreting the documentation, or
you have two independent problems. Specifying LL_NONAMEINTITLE should
not have any effect other than that the project’s name is not
displayed in the title bar of the designer’s window.

If you mean that printing works, but when opening the designer you see
the error message mentioned first in your post, it seems that you
don’t pass the database structure before calling the designer.

Paulchen

“Antonio Jiménez” <info@antoniojimen…> wrote in message
news:2941611272009131020@combit.net…

Hi Paul, a lot of work!

In my first post I was saying “Visual DataFlex 15.0 and L&L 13”.
Don’t worry.

I insist that my English is not good, but what operator can we deal
on this one paragraph?

“…This can be achieved by 'OR’ing the project type parameter of
LlDefineLayout() with LL_NONAMETITLE.”

In Visual DataFlex we have the following logical operators:

And :Designer don’t fire.
iAnd :(To return the bitwise AND of two integer values). Designer
don’t fire.
Or :Designer display filename in titlebar
iOr :(Performs a bitwise OR on two integral values). Designer don’t
works property.

Then, , what options have I?

Regards,

Antonio,

Sorry for the misunderstanding. Yes, that should be the flag.
Could
it be that “ior” is the wrong operation for bitwise or? I don’t
know
what kind of programming language you are using.

You can use LlSetDebug() and DEBWIN2 (DEBWIN32 in LL15) to see what
your application passes to the LL API. If you use LL_PROJECT_LIST |
LL_NONAMEINTITLE, it should be 0x802 (or 2050 decimal).

Paulchen

“Antonio Jiménez” <info@antoniojimen…> wrote in message
news:70011125200914504@combit.net…

Thank you Paul.

Maybe I have not explained with the sufficient clarity.

The problem is in the call to the designer. The printing works
correctly.

I have changed this line:
Get LLDefineLayout of iLLObj (window_handle(Self)) ("Editar
formato:
"+sTitulo) (iType ior LL_NONAMEINTITLE) sFile to iRet

for this one:
Get LLDefineLayout of iLLObj (window_handle(Self)) “Editar
Formato”
iType sFile to iRet

and now it works correctly.

I do not understand the problem, but the problem is “ior
LL_NONAMEINTITLE”.

According to the article KBTE000593, it is necessary to use
“LL_NONAMEINTITLE” in order that the Designer do not display
filename in its titlebar.

Thanks againg.

There are two ways for sorting orders…

a) see LlDefineSortOrder()

b) See LlDb…() API. This is the best way, and the only variant
(AFAIK) to be able to add static content. But you must match
your
print loop accordingly (see chapter 4 of the progref)

Paulchen

“Antonio Jiménez” <info@antoniojimen…> wrote in message
news:284471125200910448@combit.net…

Hi again,

I will try to explain better (my English is not very good).

I have developed a new module where to centralize the
management
of
the reports associated with every option of my application.

The procedure that call to “LLDefineLayout” is:

Procedure DoAbrirDocLL Integer iLLObj String sFile String
sTitulo
Integer iType
Integer iRet
String sName

   Get Name of iLLObj to sName

   Get LLJobOpen of iLLObj to iRet  // Open the Job

   //deshabilitar opciones de menú del editor
   //abrir, Nuevo, Guardar como
   //ni se permite minimizar el editor
   Get LLDesignerProhibitAction of iLLObj 524 to iRet 

//new
Get LLDesignerProhibitAction of iLLObj 519 to iRet
//open
Get LLDesignerProhibitAction of iLLObj 515 to iRet
//save
as
Get LLDesignerProhibitAction of iLLObj 726 to iRet
//Import
Get LLDesignerProhibitAction of iLLObj 990 to iRet
//File

LRU list
Get LlDesignerProhibitAction of iLLObj
LL_SYSCOMMAND_MINIMIZE
to iRet

   Get LLDefineLayout of iLLObj (window_handle(Self))

("Editar
formato: "+sTitulo) (iType ior LL_NONAMEINTITLE) sFile to iRet
Get LLJobClose of iLLObj to iRet // Close the Job
End_Procedure

This procedure works in general, except when I create a new
project
“LL_PROJECT_LIST”, in that not even the existing relations
appear
between the tables, not the available indexes for the above
mentioned tables.

If I try to edit a report already created with the method
traditional, I get an error message:

“At design time, table “X” had a sort order “i” that is not
available now. Please check the usage…”

I would need some orientation in the matter, since I have a
great
project stopped by this problem.

Thank you for your time.

Regards,
Antonio Jiménez
Granada (Spain)