将模块绑定到程序中

将从 M1创建程序 A 。 将从 M2创建服务程序 SP1 。 服务程序 SP2 是从 M3创建的。

如果使用 图 1 中显示的绑定程序语言和编译器调用来尝试从模块 M2创建服务程序 SP1 :
CRTSRVPGM SRVPGM(MYLIB/SP1) MODULE(MYLIB/M2)
  SRCFILE(MYLIB/QSRVSRC) SRCMBR(BNDLANG1)
您发现绑定程序尝试解析函数 func2()的导入,但失败,因为它无法找到匹配的导出。 因此,未创建服务程序 SP1
如果未创建 SP1 ,那么当您尝试使用 图 2 中显示的绑定程序语言和编译器调用 SP2 从模块 M3 创建服务程序时,这会导致问题:
CRTSRVPGM SRVPGM(MYLIB/SP2) MODULE(MYLIB/M3)
  SRCFILE(MYLIB/QSRVSRC) SRCMBR(BNDLANG2)

未创建服务程序 SP2 ,因为绑定程序未能在服务程序 SP1中搜索 func1() 的导入,而先前步骤中未创建此导入。

如果您尝试使用编译器调用创建程序 A :
CRTPGM PGM(A) MODULE(MYLIB/M1) BNDSRVPGM(MYLIB/SP1 MYLIB/SP2)
绑定程序失败,因为服务程序 SP1SP2 不存在。