Hi,
I have two FormText defined with alias property:
formGroup DEO02G
use DEO01MTEXT1, DEO01MTEXT2;
end
form DEO01MTEXT1 type textForm {ScreenSizes = [[24,80]], FormSize = [24, 80], Position = [1, 1], alias="@0001TXT"}
form DEO01MTEXT2 type textForm {ScreenSizes = [[24,80]], FormSize = [24, 80], Position = [1, 1], alias="@0002TXT"}
and the program declare
use DEO02G.DEO01MTEXT1;
use DEO02G.DEO01MTEXT2;
converse:
converse DEO01MTEXT1 ;
converse DEO01MTEXT2 ;
I know that the COBOL generated outputs are truncated to conform to the maximum permitted lengths, Form part names have an 8-character maximum.
as below:
* EGL *61* Converse DEO02G.DEO01MTEXT1;
MOVE "CONVERSE" TO EZERTS-PRC-OPT
MOVE "DEO01MTE" TO EZERTS-PRC-OBJ
SET EZERTS-NO-ERROR-ROUTINE TO TRUE
SET EZERTS-CONVERSE TO TRUE
MOVE EZERTS-FORMAT-OUTPUT TO EZEMSR-FUNCTION-ID
.....
* EGL *62* Converse DEO02G.DEO01MTEXT2;
MOVE "CONVERSE" TO EZERTS-PRC-OPT
MOVE "DEO01MTE" TO EZERTS-PRC-OBJ
SET EZERTS-NO-ERROR-ROUTINE TO TRUE
SET EZERTS-CONVERSE TO TRUE
MOVE EZERTS-FORMAT-OUTPUT TO EZEMSR-FUNCTION-ID
Question:
How does egl know use alias ? @0001TXT or @0002TXT
Why I need use it ?
After truncate I have duplicate FormName DEO01MTE
A big migration Project where the cliente have many FormText name with more 8 character.
And I do not want to change your source name and i want use alias as internal named.
I debbuged a sample program and it woked fine. I generated to COBOL and it worked fine too.
But when I went implemented this solution in customer program then i get na error:
ELA00051P Form @3512TXT was not found in form group TT024D
ELA00191I Program FT0200, generation date 20160324, time 11045834
EGL Source:
use TT024D.TSHOW01 // form
Form TSHOW01 type textForm { screenSizes = [[24,80]], formSize = [24,80], position = [1,1], Alias = "@3512TXT"}
What's happen ?
Why one works and another not works ?
Hsieh