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)