*&---------------------------------------------------------------------*
*& Report Z_FI_PZ
*&
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
REPORT Z_FI_PZ MESSAGE-ID zmsg LINE-SIZE 136 LINE-COUNT 33
NO STANDARD PAGE HEADING.
TABLES:bseg,bkpf,skat,t001 ,adrc, vbrk,vbpa,usrefus.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE tit.
PARAMETER: ccno LIKE bkpf-bukrs DEFAULT '1100' OBLIGATORY,
gjah LIKE bkpf-gjahr DEFAULT sy-datum(4) OBLIGATORY.
SELECT-OPTIONS: period for bkpf-MONAT , "会计期间
date FOR bkpf-budat DEFAULT sy-datum NO-EXTENSION, "记帐日期
type FOR bkpf-blart, "凭证类型
dono FOR bkpf-belnr NO-EXTENSION. "凭证号
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b8 WITH FRAME TITLE tit2.
PARAMETERS:zdydate LIKE bkpf-budat DEFAULT sy-datum.
PARAMETERS: finame(8) TYPE c, " DEFAULT '', " 财务主管
cnname(8) TYPE c. "Default '', " 出纳
SELECTION-SCREEN END OF BLOCK b8.
SELECTION-SCREEN BEGIN OF BLOCK c2 WITH FRAME TITLE text-002.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN END OF BLOCK c2.
INITIALIZATION.
tit = '请输入查询条件'.
tit2 = '设置打印相关'.
START-OF-SELECTION.
DATA: dingdan(11) TYPE c. "订单号
DATA: LSKEY LIKE BKPF-AWKEY. "凭证关键字参考 中间引用
DATA: BEGIN OF docudex OCCURS 0, "凭证索引 凭证头字段
SFAKN LIKE VBRK-SFAKN, "已取消发票号
bukrs LIKE bkpf-bukrs, "公司代码
belnr LIKE bkpf-belnr, "凭证号
bstat LIKE bkpf-bstat, "凭证状态,V为经过预制,
BlDAT LIKE BKPF-BlDAT, "凭证日期,如发票本身日期
budat LIKE bkpf-budat, "过帐日期
blart LIKE bkpf-blart, "凭证类型
xblnr LIKE bkpf-xblnr, "参考凭证
bktxt LIKE bkpf-bktxt, "抬头文本 可写/附件张数
waers LIKE bkpf-waers, "币种
KURSF LIKE BKPF-KURSF, "汇率
STBLG LIKE BKPF-STBLG, "冲销凭证
STGRD LIKE BKPF-STGRD, "冲销原因
XREVERSAL LIKE BKPF-XREVERSAL, "冲销标识
TCODE LIKE BKPF-TCODE, "事务代码
AWKEY LIKE BKPF-AWKEY, "凭证抬头关键字参考
gjahr LIKE BKPF-gjahr, "会计年度
ttsum LIKE bseg-dmbtr, "借方金额总计
tpage LIKE bseg-buzei VALUE 0, "总页数, 用凭证总行数除每页行数得到,BUZEI为行号
QZDOCS(33) TYPE C, "清账凭证号 因可能不止一个,所以用STRING
END OF docudex,
BEGIN OF docu OCCURS 0,
ebeln LIKE bseg-ebeln, "采购订单号
EBELP LIKE BSEG-EBELP, "采购订单项号
dingdanmemo(15) TYPE c,
dingdan(11) TYPE c,
mandt LIKE bkpf-mandt, "集团
bukrs LIKE bkpf-bukrs, "公司代码
belnr LIKE bkpf-belnr, "凭证号
blart LIKE bkpf-blart, "凭证类型
bldat LIKE bkpf-bldat, "凭证日期
xblnr LIKE bkpf-xblnr, "参考凭证
budat LIKE bkpf-budat, "记帐日期
waers LIKE bkpf-waers, "币种
bktxt LIKE bkpf-bktxt, "抬头说明
awkey LIKE bkpf-awkey, "抬头关键字
usnam LIKE bkpf-usnam, "过帐人
ppnam LIKE bkpf-ppnam, "预制人
buzei LIKE bseg-buzei, "行项目号
AUGDT LIKE BSEG-AUGDT, "清账日期
AUGBL LIKE BSEG-AUGBL, "清账凭证 清账是按行项目的,所以不能放在抬头里
hkont LIKE bseg-hkont, "总帐科目
hkont2 TYPE string, "科目文本
shkzg LIKE bseg-shkzg, "借贷
koart LIKE bseg-koart, "科目类型
kunnr LIKE bseg-kunnr, "客户
lifnr LIKE bseg-lifnr, "供应商
anln1 LIKE bseg-anln1, "资产编号
matnr LIKE bseg-matnr, "物料号
wrbtr LIKE bseg-wrbtr, "原币金额
dmbtr LIKE bseg-dmbtr, "本位币金额
menge LIKE bseg-menge, "数量
sgtxt LIKE bseg-sgtxt, "科目文本
sgtxt2 LIKE bseg-sgtxt, "科目文本(第二行摘要编号)
sgtxt3 LIKE bseg-sgtxt, "科目文本(第二行摘要文本)
kostl LIKE bseg-kostl, "成本中心
aufnr LIKE bseg-aufnr, "生产订单号
VBEL2 LIKE BSEG-VBEL2, "销售订单号
POSN2 LIKE BSEG-POSN2, "销售订单项号
ccaor LIKE csks-kostl, "成本中心内部订单号码
akont LIKE lfb1-akont, "统驭科目
txt20 LIKE skat-txt20, "科目名称
ttsum LIKE bseg-dmbtr, "借方金额总计
tpage TYPE i VALUE 0, "总页数
usalias LIKE usrefus-useralias, "过帐用户别名
ppalias LIKE usrefus-useralias, "预制用户别名
pralias LIKE usrefus-useralias, "打印用户别名
END OF docu.
DATA: header(6) TYPE c,
docuno LIKE bkpf-belnr,
lineno TYPE i VALUE 0,
itemno TYPE i VALUE 10,
ttline TYPE i VALUE 0,
tline TYPE i VALUE 0,
vusname(15),
object LIKE cdpos-objectid,
tpage LIKE bseg-buzei VALUE 0,
pageno TYPE i VALUE 0.
DATA: butxt TYPE string. "公司名称
DATA: ltext LIKE t003t-ltext. "凭证类型名称
DATA: dybsum LIKE bseg-wrbtr. "借方原币金额累计
DATA: cybsum LIKE bseg-wrbtr. "贷方原币金额累计
DATA: bwbsum LIKE bseg-dmbtr. "本位币金额累计 最后应为0,即为平衡
DATA: bwbtr like bseg-dmbtr. "带符号的本位币金额
DATA: posi TYPE p.
DATA: makeman(10),checkman(10).
DATA: sgtxtflg TYPE i.
DATA: sgtxtpos TYPE i VALUE 21.
DATA: leixing LIKE bkpf-bstat,
pztype LIKE bkpf-blart,
QZDAT LIKE BSEG-AUGDT, "清账日期,当有几个清账凭证时,取最后一个
QZDOCS TYPE STRING, "一张凭证的清账凭证可能不止一个,所以用字串,长度不定
lxwenben TYPE string,
lxname LIKE t003t-ltext.
DATA: danjia TYPE p DECIMALS 4.
DATA:bbff LIKE vbpa-adrnr.
********************************************************************************************************
*
* 把符合搜索条件的凭证号都找出来放在DOCUDEX表中,并按凭证号排序
*
********************************************************************************************************
SELECT bukrs belnr bstat budat blart waers kursf xblnr bktxt BLDAT STBLG STGRD XREVERSAL TCODE AWKEY gjahr
FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE docudex
WHERE bukrs = ccno AND gjahr = gjah AND MONAT IN PERIOD
AND belnr IN dono AND budat IN date
AND blart IN type " AND ppnam IN ppname
* AND usnam IN usname
ORDER BY belnr.
********************************************************************************************************
*
* 按凭证号顺序进行数据处理
*
********************************************************************************************************
LOOP AT docudex.
SELECT SINGLE belnr bldat bktxt usnam ppnam waers blart bukrs awkey
mandt budat xblnr FROM bkpf
INTO (docu-belnr,docu-bldat,docu-bktxt,docu-usnam,docu-ppnam,docu-waers,docu-blart,docu-bukrs,docu-awkey,
docu-mandt,docu-budat,docu-xblnr)
WHERE bukrs = docudex-bukrs AND belnr = docudex-belnr
AND gjahr = gjah.
SELECT shkzg hkont anln1 matnr kostl menge dmbtr ebeln EBELP
kunnr lifnr kostl wrbtr sgtxt koart aufnr AUGDT AUGBL VBEL2 POSN2
FROM bseg
INTO (docu-shkzg,docu-hkont,docu-anln1,docu-matnr, docu-kostl,docu-menge,docu-dmbtr,docu-ebeln,DOCU-EBELP,
docu-kunnr,docu-lifnr,docu-kostl,docu-wrbtr,docu-sgtxt,docu-koart,docu-aufnr,DOCU-AUGDT,DOCU-AUGBL,DOCU-VBEL2,DOCU-POSN2)
WHERE bukrs = docudex-bukrs AND belnr = docudex-belnr
AND gjahr = gjah.
CONCATENATE docu-mandt(3) docu-awkey+10(4)
docu-belnr(10) docu-bldat(4) INTO object.
IF docu-ppnam IS INITIAL.
docu-ppnam = ''.
ENDIF.
IF docu-usnam IS INITIAL.
docu-usnam = ''.
ENDIF.
IF NOT docu-AUGBL IS INITIAL.
SEARCH QZDOCS FOR DOCU-AUGBL.
IF SY-SUBRC <> 0.
CONCATENATE QZDOCS DOCU-AUGBL INTO QZDOCS SEPARATED BY ' '.
ENDIF.
ENDIF.
* IF docu-ebeln = ''.
* docu-dingdan = ''.
* docu-dingdanmemo = docu-ebeln.
* ELSE.
* docu-dingdan = '采购订单:'.
* docu-dingdanmemo = docu-ebeln.
* ENDIF.
docu-sgtxt2 = docu-sgtxt.
SELECT SINGLE useralias FROM usrefus INTO docu-usalias
WHERE bname = docu-usnam.
SELECT SINGLE useralias FROM usrefus INTO docu-ppalias
WHERE bname = docu-ppnam.
SELECT SINGLE useralias FROM usrefus INTO docu-pralias
WHERE bname = sy-uname.
CASE docu-koart.
WHEN 'A'.
docu-hkont2 = docu-anln1+2(10).
SELECT SINGLE txt50 FROM anla INTO docu-sgtxt3 WHERE anln1 = docu-anln1 and bukrs = docu-bukrs. "资产编号跟公司代码
WHEN 'D'.
docu-hkont2 = docu-kunnr.
SELECT SINGLE name1 FROM kna1 INTO docu-sgtxt3 WHERE kunnr = docu-kunnr.
WHEN 'K'.
docu-hkont2 = docu-lifnr.
SELECT SINGLE name1 FROM lfa1 INTO docu-sgtxt3 WHERE lifnr = docu-lifnr.
WHEN 'M'.
docu-hkont2 = docu-matnr+8(10).
SELECT SINGLE maktx FROM makt INTO docu-sgtxt3 WHERE matnr = docu-matnr.
WHEN 'S'.
IF NOT docu-kostl IS INITIAL.
docu-hkont2 = docu-kostl.
SELECT SINGLE KTEXT FROM CSKT INTO docu-sgtxt3 WHERE KOSTL = docu-KOSTL AND DATBI ='99991231'.
ELSEIF NOT DOCU-AUFNR IS INITIAL.
DOCU-HKONT2 = '订单(P/S/I):'.
CONCATENATE DOCU-AUFNR DOCU-VBEL2 DOCU-POSN2 INTO DOCU-SGTXT3 SEPARATED BY '/'.
ELSEIF NOT DOCU-EBELN IS INITIAL.
DOCU-HKONT2 = 'PO/I/MAT:'.
CONCATENATE DOCU-EBELN DOCU-EBELP DOCU-MATNR+8(10) INTO DOCU-SGTXT3 SEPARATED BY '/'.
ELSE.
CLEAR: DOCU-SGTXT3,DOCU-HKONT2.
ENDIF.
* docu-ccaor = docu-kostl+4(6).docu-ccaor+7(1) = 'C'.
* ELSEIF docu-aufnr <> ''.
* docu-ccaor = docu-aufnr+6(6).docu-ccaor+7(1) = 'I'.
* ENDIF.
ENDCASE.
COLLECT docu. "非数字字段内容相同时,合并为一行打印,数字字段则累加
* IF SY-TABIX > TTLINE.
* ttline = ttline + 1. "本凭证总行数
* ENDIF.
* docu-buzei = ttline. "行号
ENDSELECT.
loop at docu where belnr = docudex-belnr.
ttline = ttline + 1.
docu-buzei = ttline.
modify docu.
endloop.
docudex-tpage = ttline DIV itemno + 1."每页10行,算出总页数
lineno = ttline MOD itemno.
IF lineno = 0 AND ttline >= itemno.
docudex-tpage = docudex-tpage - 1.
ENDIF.
* IF docu-shkzg = 'S'.
* docudex-ttsum = docudex-ttsum + docu-wrbtr. "金额总计
* ENDIF.
DOCUDEX-QZDOCS = QZDOCS. "更新清账凭证号清单
MODIFY docudex.
ttline = 0.
CLEAR: docu, QZDOCS.
ENDLOOP.
* LOOP AT docudex.
* docu-ttsum = docudex-ttsum.
* docu-tpage = docudex-tpage.
* MODIFY docu TRANSPORTING ttsum tpage WHERE belnr = docudex-belnr.
* ENDLOOP.
lineno = 0.
LOOP AT docudex.
NEW-PAGE.
CLEAR pageno.
dybsum = 0.
cybsum = 0.
bwbsum = 0.
DATA: ttbelnr(15).
ttbelnr = docudex-belnr.
PERFORM top-of-pagess.
CASE docudex-blart+0(1).
WHEN 'W'.
LOOP AT docu WHERE belnr = docudex-belnr.
SELECT SINGLE txt20 INTO docu-sgtxt2
FROM skat WHERE saknr = docu-hkont2 AND ktopl = 'ZSUN'.
SELECT SINGLE txt20 INTO docu-sgtxt
FROM skat WHERE saknr = docu-hkont AND ktopl = 'ZSUN'.
WRITE:/ '|' ,2 docu-buzei+1(2).
WRITE:4 '|'.
CASE docu-blart.
WHEN 'RV'.
CLEAR bbff.
IF docu-sgtxt2 = ''.
IF docu-bktxt = ''.
WRITE:'销售产品'.
ELSE.
WRITE:docu-bktxt.
ENDIF.
ELSE.
WRITE:docu-sgtxt2.
ENDIF.
SELECT SINGLE adrnr INTO bbff FROM vbpa
WHERE vbeln = docudex-belnr.
SELECT SINGLE name1 INTO docu-sgtxt2 FROM adrc
WHERE addrnumber = bbff.
WHEN 'KR'.
IF docu-sgtxt2 = ''.
IF docu-bktxt = ''.
WRITE:'购入材料'.
ELSE.
WRITE:docu-bktxt.
ENDIF.
ELSE.
WRITE:docu-sgtxt2.
ENDIF.
WHEN OTHERS.
IF docu-sgtxt2 = ''.
IF docu-bktxt = ''.
WRITE:' '.
ELSE.
WRITE:docu-bktxt.
ENDIF.
ELSE.
WRITE:docu-sgtxt2.
ENDIF.
ENDCASE.
* WRITE:12 '|'.
WRITE:10 docu-hkont NO-GAP,docu-sgtxt,54 '|'.
"数量和单价
danjia = docu-wrbtr / docu-menge.
WRITE: 55(15) docu-menge RIGHT-JUSTIFIED NO-GAP,70 '|',71(15) danjia RIGHT-JUSTIFIED NO-GAP,86'|'.
IF docu-shkzg = 'S'. "借方
bwbtr = docu-dmbtr.
WRITE:87(14) docu-wrbtr,102 '|',118 '|',119(15) bwbtr,136 '|'.
dybsum = dybsum + docu-wrbtr.
bwbsum = bwbsum + bwbtr.
ELSEIF docu-shkzg = 'H'. "贷方
bwbtr = - docu-dmbtr.
WRITE:102 '|', 103(14) docu-wrbtr,118 '|',119(15) bwbtr,136 '|'.
cybsum = cybsum + docu-wrbtr.
bwbsum = bwbsum + bwbtr.
ENDIF.
* IF docu-koart = 'D' OR docu-koart = 'A' OR docu-koart = 'K' OR
* docu-koart = 'M' .
WRITE:/ '|',4 '|',8 docu-hkont2 NO-ZERO,docu-sgtxt3 NO-ZERO,54 '|',70 '|',
86 '|',102 '|', 118'|',136 '|'.
* ELSE.
* WRITE:/ '|',4 '|',54 '|',70 '|',86 '|',102 '|',118'|',136 '|'.
* ENDIF.
lineno = lineno + 1. "
IF lineno = itemno AND pageno NE docudex-tpage. "超过一页时,换页
PERFORM end-of-page.
lineno = 0.
NEW-PAGE.
PERFORM top-of-pagess.
ENDIF.
ENDLOOP.
WHEN OTHERS.
LOOP AT docu WHERE belnr = docudex-belnr.
SELECT SINGLE txt20 INTO docu-sgtxt2
FROM skat WHERE saknr = docu-hkont2 AND ktopl = 'ZSUN'.
SELECT SINGLE txt20 INTO docu-sgtxt
FROM skat WHERE saknr = docu-hkont AND ktopl = 'ZSUN'.
WRITE:/ '|',2 docu-buzei+1(2).
WRITE:4 '|'.
CASE docu-blart.
WHEN 'RV'.
CLEAR bbff.
IF docu-sgtxt2 = ''.
IF docu-bktxt = ''.
WRITE:'销售产品'.
ELSE.
WRITE:docu-bktxt.
ENDIF.
ELSE.
WRITE:docu-sgtxt2.
ENDIF.
SELECT SINGLE adrnr INTO bbff FROM vbpa
WHERE vbeln = docudex-belnr.
SELECT SINGLE name1 INTO docu-sgtxt2 FROM adrc
WHERE addrnumber = bbff.
WHEN 'KR'.
IF docu-sgtxt2 = ''.
IF docu-bktxt = ''.
WRITE:'购入材料'.
ELSE.
WRITE:docu-bktxt.
ENDIF.
ELSE.
WRITE:docu-sgtxt2.
ENDIF.
WHEN OTHERS.
IF docu-sgtxt2 = ''.
IF docu-bktxt = ''.
WRITE:' '.
ELSE.
WRITE:docu-bktxt.
ENDIF.
ELSE.
WRITE:docu-sgtxt2.
ENDIF.
ENDCASE.
WRITE:38 '| '.
WRITE: docu-hkont NO-GAP,docu-sgtxt,86 '|'.
IF docu-shkzg = 'S'. "借方
bwbtr = docu-dmbtr.
WRITE:87(14) docu-wrbtr ,102 '|',118 '|',119(15) bwbtr, 136 '|'.
dybsum = dybsum + docu-wrbtr.
bwbsum = bwbsum + bwbtr.
ELSEIF docu-shkzg = 'H'. "贷方
bwbtr = - docu-dmbtr.
WRITE:102 '|', 103(14) docu-wrbtr ,118 '|',119(15) bwbtr,136 '|'.
cybsum = cybsum + docu-wrbtr.
bwbsum = bwbsum + bwbtr.
ENDIF.
* IF docu-koart = 'D' OR docu-koart = 'A' OR docu-koart = 'K' OR
* docu-koart = 'M' .
WRITE:/ '|',4 '|',38 '|',docu-hkont2 NO-ZERO,docu-sgtxt3 NO-ZERO,
86 '|',102 '|', 118'|',136 '|'.
* ELSE.
* WRITE:/ '|',4 '|',38 '|',86 '|',102 '|',118'|',136 '|'.
* ENDIF.
lineno = lineno + 1. "本页行号
IF lineno = itemno AND pageno NE docudex-tpage."超过一页,换页
PERFORM end-of-page.
lineno = 0.
NEW-PAGE.
PERFORM top-of-pagess.
ENDIF.
ENDLOOP.
ENDCASE.
lineno = ( itemno - lineno ) * 2 .
WHILE lineno > 0.
CASE docudex-blart+0(1).
WHEN 'W'.
WRITE:/ '|',4 '|',54 '|',70 '|',86 '|',102 '|',118'|',136 '|'.
lineno = lineno - 1.
WHEN OTHERS.
WRITE:/ '|',4 '|',38 '|',86 '|',102 '|',118'|',136 '|'.
lineno = lineno - 1.
ENDCASE.
ENDWHILE.
lineno = 0.
PERFORM end-of-page.
CLEAR: docu,lxname.
ENDLOOP.
*&--------------------------------------------------------------------*
*& Form top-of-pagess
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM top-of-pagess.
pageno = pageno + 1.
SELECT SINGLE butxt INTO butxt FROM t001 WHERE bukrs = docudex-bukrs.
* SELECT SINGLE bstat blart INTO (leixing,pztype) FROM bkpf
* WHERE belnr = docudex-belnr AND bukrs = docudex-bukrs.
* CASE leixing. "凭证状态
* WHEN 'A'.
* lxwenben = '清帐凭证_'.
* WHEN 'B'.
* lxwenben = '重新设置清帐凭证_'.
* WHEN 'D'.
* lxwenben = '周期性分录凭证_'.
* WHEN 'L'.
* lxwenben = '不在主要分类帐中过帐_'.
* WHEN 'M'.
* lxwenben = '样本凭证_'.
* WHEN 'S'.
* lxwenben = '注释项目_'.
* WHEN 'V'.
* lxwenben = '预制凭证_'.
* WHEN 'W'.
* lxwenben = '具有凭证ID更改的暂存凭证_'.
* WHEN 'Z'.
* lxwenben = '暂存凭证被删除_'.
* WHEN OTHERS.
* lxwenben = '正式凭证_'.
* ENDCASE.
SELECT SINGLE ltext INTO lxname FROM t003t WHERE blart = docudex-blart.
IF DOCUDEX-BLART = 'RV'.
SELECT SINGLE SFAKN INTO DOCUDEX-SFAKN FROM VBRK WHERE VBELN = DOCUDEX-BELNR.
IF SY-SUBRC = 0.
SELECT SINGLE VBELN INTO DOCUDEX-SFAKN FROM VBRK WHERE SFAKN = DOCUDEX-BELNR.
ENDIF.
DOCUDEX-STBLG = DOCUDEX-SFAKN.
ELSEIF DOCUDEX-BLART = 'RE'.
SELECT SINGLE STBLG INTO DOCUDEX-SFAKN FROM RBKP WHERE BELNR = DOCUDEX-AWKEY+0(10).
CONCATENATE DOCUDEX-SFAKN DOCUDEX-gjahr INTO LSKEY.
SELECT SINGLE BELNR INTO DOCUDEX-STBLG FROM BKPF WHERE AWKEY = LSKEY.
ENDIF.
WRITE:/56 butxt.
WRITE:/60 '记 帐 凭 证' ,/.
WRITE:/2 '打印日期:',zdydate.
WRITE:26 '凭证日期: ',DOCUDEX-BLDAT,50 '过帐日期: ',docudex-budat,75 '事务码: ',DOCUDEX-TCODE,91 '冲销凭证: ',DOCUDEX-STBLG .
WRITE:116 '凭证号: ',docudex-belnr.
WRITE:/2 '参考凭证: ',docudex-xblnr,91 '清账凭证: ',DOCUDEX-QZDOCS.
IF DOCUDEX-BLART = 'RV' OR DOCUDEX-BLART = 'RE'.
WRITE:32 '发票凭证: ',DOCUDEX-AWKEY+0(10).
WRITE:56 '取消发票: ',DOCUDEX-SFAKN.
ELSEIF DOCUDEX-BLART+0(1) = 'W'.
WRITE:36 '物料凭证: ',DOCUDEX-AWKEY+0(10).
ENDIF.
WRITE:/2 '凭证类型: ',DOCUDEX-BLART,lxname ,''.
WRITE: 60 '凭证货币: ',docudex-waers.
WRITE: 75 ' 汇率: ',docudex-KURSF .
WRITE: 95 '抬头文本: ',docudex-bktxt. ", '张'. " INPUT ON ,115 '张'.
"凭证类型是w开头的格式
CASE DOCUDEX-BLART+0(1).
WHEN 'W'.
ULINE /1(136).
WRITE:/ '|',2 'I',4 '|', 19 '科目代码及名称 ',54 '|',60 '数量 ',70 '|',77 '单价 ',86'|'.
WRITE:87(14)'借方金额' CENTERED,102 '|',103(14) '贷方金额' CENTERED,118 '|',119(16) '折本币金额' CENTERED,136 '|'.
ULINE /1(136).
WHEN OTHERS.
ULINE /1(136).
WRITE:/ '|',2 'I',4 '|',19 '摘 要 ',38 '|',50 '科目代码及名称 ',86 '|'.
WRITE:87(14)'借方金额' CENTERED,102 '|',103(14) '贷方金额' CENTERED,118 '|',119(16) '折本币金额' CENTERED,136 '|'.
ULINE /1(136).
ENDCASE.
ENDFORM. "top-of-pagess
*&--------------------------------------------------------------------*
*& Form END-OF-PAGE
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM end-of-page.
ULINE /1(136).
WRITE:/ '|'. " 4 '|'.
if pageno NE docudex-tpage .
WRITE: 35 '小 计 ',86 '|'.
else.
WRITE: 35 '合 计 ',86 '|'.
endif.
WRITE: 87 dybsum , 102 '|',103 cybsum ,118 '|',119 bwbsum , 136 '|'. "123 cybsum NO-ZERO.
ULINE /1(136).
WRITE:/2 '主管签章:',finame.
* WRITE:18 '审核:',shname.
WRITE:20 '审核过帐:',docu-usalias.
WRITE:40 '预制凭证: ',docu-ppalias.
WRITE:60 '出纳签章:',cnname.
WRITE:86 '凭证打印:',docu-pralias. "docu-pralias.
* WRITE:52 '打印:',docu-pralias.
* WRITE:70 '打印日期:',zdydate.
* IF docudex-tpage = 0.
* docudex-tpage = 1.
* ENDIF.
WRITE:120 '第' NO-GAP,(2) pageno NO-GAP,'页 共 ' ,(3) docudex-tpage NO-zero,'页'.
ENDFORM. "END-OF-PAGE