Link-editing callable window services

Any program that invokes window services must be link-edited with an IBM-provided linkage-assist routine. The linkage-assist routine provides the logic needed to locate and invoke the callable services. The linkage-assist routine resides in SYS1.CSSLIB. The following example shows the JCL needed to link-edit a program with the linkage-assist routine.
//LINKJOB    JOB  'accountinfo','name',CLASS=x,
//                 MSGCLASS=x,NOTIFY=userid,MSGLEVEL=(1,1),REGION=4096K
//LINKSTP1   EXEC  PGM=HEWL,PARM='LIST,LET,XREF,REFR,RENT,NCAL,
//                 SIZE=(1800K,128K)'
//SYSPRINT   DD    SYSOUT=x
//SYSLMOD    DD    DSNAME=userid.LOADLIB,DISP=SHR
//SYSUT1     DD    UNIT=SYSDA,SPACE=(TRK,(5,2))
//SYSLIN     DD    *
  INCLUDE    OBJDD1(userpgm)
  LIBRARY    OBJDD2(CSRIDAC,CSRREFR,CSREVW,CSRSCOT,CSRSAVE,CSRVIEW)
  NAME       userpgm(R)
//OBJDD1     DD    DSN=userid.OBJLIB,DISP=SHR
//OBJDD2     DD    DSN=SYS1.CSSLIB,DISP=SHR

The example JCL assumes that the program you are link-editing is reentrant.