WPPN (Windows印刷プリンター名)

Windows印刷プリンター名は、プリンターのフルネームを指定します。ネットワーク・プリンターを指定する場合、ドメイン名も含まれる必要があります。つまり、WPPN=\\domain\プリンター名となります。(例:WPPN=\\ourdomain\Epson Stylus COLOR 900)。

LIST_PRINTERS BIFは、このパラメータの要求の通りにプリンターのフルネームを返します。

このパラメータはサーバー・システムには渡され(継承され)ません。クライアント/サーバー環境から印刷するためには、LIST_PRINTERS BIFを使用するサーバー上の関数を呼び出すことにより、サーバー上に定義されたプリンターのリストを取得します。選択されたプリンター名は、印刷関数が呼び出される時に交換してサーバーに戻すことができます。例えば次のようになります。

***************************************************

** CLIENT SIDE FORM
***************************************************
FUNCTION OPTIONS(*DIRECT)
BEGIN_COM ROLE(*EXTENDS #PRIM_FORM) CLIENTHEIGHT(240) CLIENTWIDTH(492) HEIGHT(267) LEFT(378) TOP(238)

* DEFINE_COM commands appear here to define controls on dialog.

DEF_LIST NAME(#PRNLIST) FIELDS(#PRN_NAME #PRN_LOC) TYPE(*WORKING)

EVTROUTINE handling(#com_owner.Initialize)
   SET #com_owner caption(*component_desc)

   USE BUILTIN(SET_SESSION_VALUE) WITH_ARGS(USER MyUserid)
   USE BUILTIN(DEFINE_ANY_SERVER) WITH_ARGS(MYSERVER Server1 Y) TO_GET(#STD_CMPAR)
   USE BUILTIN(CONNECT_SERVER) WITH_ARGS(MYSERVER 'MyPassword') TO_GET(#STD_CMPAR)
   USE BUILTIN(CALL_SERVER_FUNCTION) WITH_ARGS(MYSERVER GETPRNS Y Y #PRNLIST) TO_GET(#STD_CMPAR)

   SELECTLIST NAMED(#PRNLIST)
      ADD_ENTRY #LTVW_1
   ENDSELECT

   CHANGE FIELD(#DEPTMENT) TO(FLT)

ENDROUTINE

EVTROUTINE HANDLING(#PHBN_PrintEmplistD.Click)

   EXCHANGE FIELDS(#DEPTMENT #PRN_NAME) OPTION(*ALWAYS)

   USE BUILTIN(CALL_SERVER_FUNCTION) WITH_ARGS(MYSERVER SRVEMPL Y Y) TO_GET(#STD_CMPAR)

ENDROUTINE

END_COM

***************************************************
** SERVER SIDE FUNCTION
***************************************************
FUNCTION OPTIONS(*DIRECT) RCV_LIST(#PRNLIST)
DEF_LIST NAME(#PRNLIST) FIELDS(#PRN_NAME #PRN_LOC) TYPE(*WORKING)
USE BUILTIN(LIST_PRINTERS) WITH_ARGS(A) TO_GET(#PRNLIST #STD_CMPAR)