[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CALLED IN THE TRNSYS INPUT FILE BUT NOT LINKED -message



Hi,

here are my statements according to your depicted problem, which I mean it is 
not really a problem at the present.

Looking to the TRNSYS home page and downloading the Fortran zip-file 
(Powerstation) and furtheron at a free component (1113.for, absorption chiller, 
ASHRAE model) from the well-known J.J Lebrun it can be seen that your problem in 
fact is no problem.

You have to understand that the mechanism from the TRNSYS processor (Sub EXEC 
etc.) is a logical process and not a physical one.

Within the TRNSYS Sub Exec (the TRNSYS processor) there is called the subroutine 
TYPE00. Your self-written routine TYPE192 now will be called in this subroutine 
as follows:
 
  ....

  191 call type191(  actual parameters )
      goto 790
  192 call type192( time, xinp, xout, t, dtdt, par1, infor, icntrl(icpt), *800 )
      goto 790
  193 call type193( actual parameters )
      goto 790
  .....

C   add more types here.  .....

C     check to see if all types called in the TRNSYS deck are linked in
  790 continue
      call linkck('dummy', 'dummy', 3, type)  
 =====>        this routine b.e. is given in the sub from J.J.Lebrun

  800 continue
      return
      end


When you leave your self-written subroutine with a regular return (here in fact 
due to the end statement) the next command after the call of your subroutine 
will be processed. This leads to the message which you describe in your e-mail.

So you have to leave any given or self-written subroutine via the alternate 
return (uncomment your one at the end of your routine) in the regular case.
This has to be done because of the circumstance that the warnings for all other 
unused subroutines have been suppressed by the compiler, while in the other case 
you had to support the system with a lot of dummy subroutines.

Another hint: the alternate return statement which is set in between the first 
call process in your routine makes no sense at that moment. Here you have to 
program a normal return statement.

Kind regards
Dr. Karl-Christian Rauch
SAP Consultant and ABAP Application Developer



Peter Vogelsanger schrieb:
> Dear Trnsys-aficionados
>
> When I include my self written little type 192 in the trnsys input file,
> it won't run and the message:
>
> ***** ERROR *****        TRNSYS ERROR # 105
>  TYPE 192 WAS CALLED IN THE TRNSYS INPUT FILE BUT NOT LINKED.
>  LINK TYPE 192 BEFORE RUNNING THIS SIMULATION.
>
> Strange is, that the subroutine is linked which can positively be
> verified by switching from Y to N (no) the respective statement in the
> file cnfgtr.trn.
>
> Also, other self-written subroutines are used and work normally. I
> cannot find any difference in the code of these other subroutines and
> type 192, which could explain why type 192 is treated differently in the
> checking-of-unlinked-subroutines scheme. File Type192.for is included as
> attachment, if anybody is willing to have a look.
>
> I can of course work without checking for the "unlinked" subroutines,
> but would prefer to leave the respective statement on Y.
>
> Has anyone come accross this problem? Any ideas are appreciated. Thanks
> and the my best wishes for X'mas and Co.
>  
> Peter