SAP Session有分external session和internal session.
External session最多有6个;一般每次打开一个新的Transaction code都可以看做一个external session.
Internal session最多有9个;当程序运行的时候,会产生多个internal session,这些internal session都是存储在一个stack里。当在程序中使用CALL Transacton .. and return或者submit < program>都会产生一个新的open internal session;当程序运行结束的时候,这个internal session会被deleted.
由于function module或method不能直接被loaded到program session,这需要通过function group 或global class pool来装载。每个function module都会运行在一个独立internal session; 如果2个程序调用的Function module都在同一个function group时候,那么可以通过functon group进行数据的交互。
其实,在SAP 程序装载运行的时候,都会产生一个program group,会同时伴随一个main program group和多个additional program group.那么通过main program group来访问additional program group,这样就实现了在主程序中调用function module或method.
Subroutine并不会产生一个新的open internal session.
Leave to transaction这条语句会destroy所有的internal session,并创建一个新的open internal session.
本文介绍了SAPSession中的externalsession和internalsession的区别与特点。externalsession最多为6个,通常每次打开新的Transactioncode即视为一个。internalsession最多为9个,在程序运行时产生并存储于stack中。此外,还探讨了functionmodule如何通过functiongroup进行装载及数据交互。
2305

被折叠的 条评论
为什么被折叠?



