プリンタの次の制御を行います。
用紙の改ページ
用紙の改行
帳票処理の設定
用紙の給紙
用紙の排出
矩形領域の出力範囲指定
印刷のキャンセル
段組みパーティションの改ブロック、フレームパーティションの改フレーム
XML入出力ファイル名指定(本バージョンでは指定できません)
下端情報設定(COBOLのみ)
用紙の改行、帳票処理の設定、用紙の給紙、および用紙の排出は多目的プリンタ機能です。詳細については多目的プリンタ機能を参照してください。
矩形領域の出力範囲指定が有効となるのは、帳票定義体の形式が段組み伝票形式およびタックシール形式だけです。ただし、郵便番号は出力抑止の対象になりません。
下端情報設定が有効となるのは、帳票定義体およびパーティション形式の画面帳票定義体です。
PSINT PSFUNCTION ps_control_printer (
PSFILE psfile,
PSUSHORT mode,
PSUSHORT detail,
PSPVOID pExtension);
psfile | : | オープン処理で獲得した表示ファイル識別子を指定します。 | ||||||||
mode | : | プリンタの制御方法を指定します。 | ||||||||
PS_CP_NEWPAGE | : | 用紙を改ページします。 | ||||||||
PS_CP_NEWLINE | : | 用紙を改行します。 | ||||||||
PS_CP_MODE | : | 帳票モードを指定します。デフォルトは連帳処理モードです。 | ||||||||
PS_CP_LOAD | : | 用紙の給紙方法を指定します。 | ||||||||
PS_CP_UNLOAD | : | 用紙の排紙方法を指定します。 | ||||||||
PS_CP_PRCT | : | 矩形領域の出力範囲を指定します。 | ||||||||
PS_CP_PRINTCANCEL | : | 印刷をキャンセルします。 | ||||||||
PS_CP_BLOCK | : | 段組みパーティションを改ブロック、または、フレームパーティションを改フレームします。 | ||||||||
PS_CP_XMLFILENM | : | 本バージョンでは指定できません。 | ||||||||
detail | : | 詳細情報を指定します。詳細情報はmodeで指定した値により異なります。値とその意味は以下のとおりです。 | ||||||||
PS_CP_NEWPAGE | : | 0を指定します。 | ||||||||
PS_CP_NEWLINE | : | 改行数を指定します。 | ||||||||
PS_CP_MODE | : | 帳票モードの詳細を指定します。 | ||||||||
PS_CPMODE_1 | : | |||||||||
自動単票処理モードを指定します。 | ||||||||||
PS_CPMODE_2 | : | |||||||||
単票処理モードを指定します。 | ||||||||||
PS_CPMODE_3 | : | |||||||||
元帳処理モードを指定します。 | ||||||||||
PS_CPMODE_RESET | : | |||||||||
モードを解除して、連帳処理モードになります。 | ||||||||||
PS_CP_LOAD | : | 用紙の給紙方法の詳細を指定します。 | ||||||||
PS_CPLOAD_MANUAL | : | |||||||||
手挿入口から単票を給紙します。 | ||||||||||
PS_CPLOAD_HOPPER | : | |||||||||
ホッパから単票を給紙します。 | ||||||||||
PS_CP_UNLOAD | : | 用紙の排紙方法を指定します。 | ||||||||
PS_CPUNLOAD_MANUAL | : | |||||||||
手挿入口から給紙している単票を排紙します。 PS_CPLOAD_HOPPERで給紙している場合は指定してはいけません。 | ||||||||||
PS_CPUNLOAD_STACKER1 | : | |||||||||
給紙している単票をスタッカ1に排紙します。 | ||||||||||
PS_CPUNLOAD_STACKER2 | : | |||||||||
給紙している単票をスタッカ2に排紙します。 | ||||||||||
PS_CP_PRCT | : | 0を指定します。 | ||||||||
PS_CP_PRINTCANCEL | : | 0を指定します。 | ||||||||
PS_CP_BLOCK | : | 0を指定します。 | ||||||||
PS_CP_XMLFILENM | : | 本バージョンでは指定できません。 | ||||||||
pExtension | : | modeがPS_CP_PRCTのとき有効で、範囲情報をさすポインタを設定します。それ以外は必ず0を指定します。 | ||||||||
抑止情報のレコードデータの構造体を以下に示します。 | ||||||||||
pt_head | : | ヘッダの出力について数値(バイナリ)で指定します。 | ||||||||
pt_foot | : | フッタの出力について数値(バイナリ)で指定します。 | ||||||||
pt_startbody | : | 印刷開始ボディ番号を数値の文字列で指定します。 | ||||||||
pt_endbody | : | 印刷終了ボディ番号を数値の文字列で指定します。 | ||||||||
印刷開始番号は印刷終了番号よりも小さい値を設定してください。そうでない場合、印刷開始番号と印刷終了番号に設定している値は指定解除として動作します。また、上記の指定範囲外の設定は無視されます。 |
定義体を帳票に印刷後、改ページさせます。
PSFILE psfile; SAMPLE samp; PSUSHORT Error; psfile = ps_open("PRTFILE", PS_OPEN_PRT, &Error, 0); ps_set_formatsize(psfile,"SAMPLE",s_SAMPLE); ~ レコードデータ領域 samp へのデータ設定 ~ ps_write(psfile,PS_WRITE_NORMAL,"@ALLF",&samp,0); ps_control_printer(psfile,PS_CP_NEWPAGE,0,0);
矩形領域の出力範囲を指定します。
typedef struct tagOUTCTL { unsigned char head; /* ヘッダ出力情報 '0':出力、'1':抑止 */ unsigned char foot; /* フッタ出力情報 '0':出力、'1':抑止 */ unsigned short rsv02; /* 保留 */ unsigned long rsv04[5]; /* 保留 */ unsigned char sbody[4]; /* 明細開始ボディ番号 '0000':指定なし */ unsigned char ebody[4]; /* 明細終了ボディ番号 '0000':指定なし */ } OUTCTL;
OUTCTL sOutctl;
memset( &sOutctl, 0x00, sizeof( OUTCTL ) ); sOutctl.head = 0; sOutctl.foot = 1; memcpy( sOutctl.sbody, "0002", 4 ); memcpy( sOutctl.ebody, "0004", 4 ); rtn = ps_control_printer( pFile, PS_CP_PRCT, 0, pOutctl );
PROCESSING MODE句とUNIT CONTROL句に指定する。
PROCESSING MODE句 | : | "CT"を指定します。 | ||||
UNIT CONTROL句 | : | プリンタの制御方法を指定します。 | ||||
PAGE | : | 用紙を改ページします。 | ||||
LVP | : | 用紙を改行します。詳細情報(UNIT CONTROL句の下2桁)に改行数を指定します。 | ||||
AIN | : | 自動単票処理モードを指定します。 | ||||
BIN | : | 単票処理モードを指定します。 | ||||
INS | : | 元帳処理モードを指定します。 | ||||
RST | : | モードを解除して、連帳処理モードになります。 | ||||
LMS | : | 手挿入口から単票を給紙します。 | ||||
LHP | : | ホッパから単票を給紙します。 | ||||
UMS | : | 手挿入口から給紙している単票を排紙します。 LHPでホッパから給紙している場合は指定してはいけません。 | ||||
US1 | : | 給紙している単票をスタッカ1に排紙します。 | ||||
US2 | : | 給紙している単票をスタッカ2に排紙します。 | ||||
PRCT | : | 矩形領域の出力範囲を指定します。 | ||||
CAN | : | 印刷をキャンセルします。 | ||||
BLCK | : | 段組みパーティションを改ブロック、または、フレームパーティションを改フレームします。 | ||||
XFIL | : | 本バージョンでは指定できません。 | ||||
ULMT | : | パーティションを配置および拡張可能な下端位置を設定します。COBOLのみ使用可能です。 | ||||
PT | : | 固定パーティション名を指定します。固定パーティションの開始位置まで出力可能となります。存在しないパーティション名や浮動パーティション名を指定した場合はMEFD_RC_FLD(24)エラーとなります。 | ||||
LN | : | フリーフレーム形式以外の場合は帳票の先頭から、フリーフレーム形式の場合、フレームの先頭からの相対行位置を6桁以内の符号なし外部10進で指定します。6桁に満たない場合は空白またはNULL文字を設定してください。指定した行の直前までを出力可能な下端とします。横方向のフレームに定義されたパーティションの場合は指定できません。MEFD_RC_PARA(26)で復帰します。 | ||||
DT | : | フリーフレーム形式以外の場合は帳票の先頭から、フリーフレーム形式の場合、フレームの先頭からの相対ドット位置(1/1440インチ)を6桁以内の符号なし外部10進で指定します。指定したドット位置までを出力可能な下端とします。6桁に満たない場合は空白またはNULL文字を設定してください。帳票定義体やフレームのサイズを超える指定を行った場合MEFD_RC_PARA(26)で復帰します。 | ||||
RS | : | 解除。 |
パーティションの出力を抑止する場合に使用するレコードを示します。
01 | 出力抑止レコード | ||
03 | ヘッダ出力情報 | PIC X(1) | |
03 | フッタ出力情報 | PIC X(1) | |
03 | FILLER | PIC X(22) | |
03 | 印刷開始ボディ番号 | PIC X(4) | |
03 | 印刷終了ボディ番号 | PIC X(4) |
ヘッダ出力情報 | ヘッダの出力について数値(バイナリ)で指定します。 |
フッタ出力情報 | フッタの出力について数値(バイナリ)で指定します。 |
印刷開始ボディ番号 | 印刷開始ボディ番号を数値の文字列で指定します。 |
印刷終了ボディ番号 | 印刷終了ボディ番号を数値の文字列で指定します。 |
印刷開始番号は印刷終了番号よりも小さい値を設定してください。そうでない場合、印刷開始番号と印刷終了番号に設定している値は指定解除として動作します。また、上記の指定範囲外の設定は無視されます。 |
パーティションの出力可能な下端位置を指定する場合に使用するレコードを示します。
固定パーティションの開始位置を出力可能な下端位置として指定します。
01 | 下端情報レコード | ||
03 | 指定パーティション | PIC X(6) | |
03 | FILLER | PIC X(2) | |
03 | 下端パーティション | PIC X(6) | |
03 | FILLER | PIC X(2) |
指定パーティション | 出力可能な下端を指定するパーティションの名前を6文字以内で指定します。 |
下端パーティション | 開始位置が下端となる固定パーティションの名前を6文字以内で指定します。 |
下端の位置を行で指定位置を出力可能な下端位置として指定します。
01 | 下端情報レコード | ||
03 | 指定パーティション | PIC X(6) | |
03 | FILLER | PIC X(2) | |
03 | 下端値 | PIC 9(6) | |
03 | FILLER | PIC X(2) |
指定パーティション | 出力可能な下端を指定するパーティションの名前を6文字以内で指定します。 |
下端値 | 下端の位置を6桁以内の外部10進数で指定します。6桁に満たない場合、空白またはNULL文字を設定してください。 |
PT,DT,RSのいずれかのレコードデータの形式で指定してください。指定パーティションのみ有効です。下端パーティションや下端値は指定しても無視されます。
定義体を帳票に印刷後、改ページさせます。
MOVE "SAMP" TO PRT-FORMAT. MOVE " " TO PRT-MODE. MOVE "@ALLF" TO PRT-GROUP. WRITE SAMP. MOVE "CT" TO PRT-MODE. MOVE "PAGE" TO UNIT-CONTROL. WRITE SAMP.
矩形領域の出力範囲を指定します。
01 出力抑止レコード. 03 ヘッダ出力情報 PIC X(01). 03 フッタ出力情報 PIC X(01). 03 FILLER PIC X(22). 03 印刷開始ボディ番号 PIC X(04). 03 印刷終了ボディ番号 PIC X(04). * 出力抑止 MOVE "CT" TO 処理種別. MOVE "PRCT" TO 制御情報. MOVE X"00" TO ヘッダ出力情報. MOVE X"01" TO フッタ出力情報. MOVE "0002" TO 印刷開始ボディ番号. MOVE "0004" TO 印刷終了ボディ番号. WRITE 出力抑止レコード.
パーティションの配置および拡張可能な下端位置として固定パーティションを指定します。
01 下端情報レコード. 03 指定パーティション PIC X(6). 03 FILLER PIC X(2). 03 下端パーティション PIC X(6). 03 FILLER PIC X(2). * 下端情報設定(下端パーティション指定) MOVE "CT" TO 処理種別. MOVE "ULMT" TO 制御情報. MOVE "PT" TO 詳細情報. MOVE "DE" TO 指定パーティション. MOVE "PF" TO 下端パーティション. WRITE 下端情報レコード. * 下端パーティションとして"PF"を指定します。PFの直前までDEを出力可能となります。
パーティションの配置および拡張可能な下端位置として行位置を指定します。
01 下端情報レコード. 03 指定パーティション PIC X(6). 03 FILLER PIC X(2). 03 下端値 PIC 9(6). 03 FILLER PIC X(2). * 下端情報設定(行位置指定) MOVE "CT" TO 処理種別. MOVE "ULMT" TO 制御情報. MOVE "LN" TO 詳細情報. MOVE "DE" TO 指定パーティション. MOVE 51 TO 下端値. WRITE 下端情報レコード. * 下端値として51を指定します。50行目までDEを出力可能となります。
FILE STATUS句に通知コードが格納されます。
矩形領域の出力範囲指定が有効となる定義体はタックシール形式と段組み伝票形式です。それ以外の形式の定義体に対して指定した場合は無効です。
矩形領域の出力範囲指定は対象となる定義体の出力よりも前に行ってください。
矩形領域の出力範囲指定は指定解除を指定するまでの間に出力する定義体すべてに対して適応します。
段組みパーティションの改ブロック指定を段組みパーティション形式以外で指定した場合は、用紙の改ページとして扱います。