BaanV的table field变量的生命周期

     BaanV没有类的概念,其代码结构类似parscal,意大利面式的,table的field变量不同于普通变量,其生命周期从定义开始一直到该session关闭为结束.

     测试:debug run script1的read.warehouse,其中call tcdup.dll0001.hello

script 1:

function extern read.warehouse()

{

        table     ttcmcs003

        domain tccwar cwar

 

        select tcmcs003.*

        from   tcmcs003

        where tcmcs003.cwar='RM'

        selectdo

               cwar=tcmcs003.cwar 

                |* 此时变量cwar及tcmcs003.cwar都为RM

               tcdup.dll0001.hello()

        endselect

}

 

tcdupdll001:

function extern tcdup.dll0001.hello()

{

        domain tccwar cwar

        domain ttcmcs003

         |* 此时变量cwar=""

         |* tcmcs003.cwar=RM

        select tcmcs003.*

        from   tcmcs003

        where tcmcs003.cwar='FG'

        selectdo

              cwar=tcmcs003.cwar

        endselect

}

 

另,table field 变量不会因下一个select不到record而重新置空,如:

tcmcs003有cwar="RM"的data:

 

select tcmcs003.cwar

from   tcmcs003

where tcmcs003.cwar="RM"

selectdo

          cwar=tcmcs003.cwar

endselect

|*紧接我们又做如下select,该select查无data

select tcmcs003.cwar

from   tcmcs003

where tcmcs003.cwar="haha"

selectdo

          cwar=tcmcs003.cwar

endselect 

 

|* 但select后,tcmcs003.cwar仍会保持"RM"的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值