SAP中如何控制某个report一次只能打印一份

来源:互联网 发布:火箭卡佩拉臂展数据 编辑:程序博客网 时间:2024/05/23 01:22
 

公司的一个搬出报表,一次只准打印一份, 但如何控制。和DEVELOPER研究了将近5个小时,终于搞定。
-C)[/d7vXw"E13316Step1:ITPUB个人空间U%wsDnv
    运行该报表-> 点击系统打印按钮 -> 光标放到 Number of copies -> F1 -> 点击 "Technical info"ITPUB个人空间$_I#a&`4TQ
    -> 找到  'Program name: SAPLSPRI','Screen number: 0100','Data element: SYPRCOP'

Step2:
/SGl+B//%R@fE(m:C13316     Create a new session -> T-code: cmod ->Goto -> Text enhancements -> Field exits

Step3:
{Fv9uZf13316     在Step2 中画面的菜单 "Field exits" -> Create -> Data element输入 SYPRCOP -> 点击"Continue"
1M6B| T({B8A6m13316    ->Fld. Exit 输入 1(表示version), Program 输入"SAPLSPRI", Screen输入"0100" ->系统自动生成
Tc:D@*WG7otHs13316    Function module "FIELD_EXIT_SYPRCOP_1"
C@)U;DG13316Step4:
in]:`/BrY}13316     编辑Function Module 函数如下(手动添加代码):ITPUB个人空间N ZW6c4^
     FUNCTION FIELD_EXIT_SYPRCOP_1.ITPUB个人空间o~c8En R$HP
     *以下注释的代码为系统自动生成ITPUB个人空间pL@vz
     *"----------------------------------------------------------------------
!}5TARX]&s13316     *"*"Local interface:
1cPK;^O/G13316     *"  IMPORTING
NZ]}]~4^YB@N13316     *"     REFERENCE(INPUT)
DL]%@~�`A13316     *"  EXPORTINGITPUB个人空间:g{E0yg4n
     *"     REFERENCE(OUTPUT)
j A(?Zf}13316     *"----------------------------------------------------------------------

     *以下代码为手动添加,在Table zf002中控制一次只能打印一份的report
ii1aR#[A13316     data: value1 like SY-pRCOP,
/{7G2v6Z k `3E"t13316        numcopy(3) type n,
8j/@!m5Rq13316        $copy type i.
K8Oif3T13316     value1 = input.
"a1Es LJH L13316     utput = value1.

     if value1 gt 1.
#L/_7]!he}#Ks13316     select single * from zf002 where ZZCD_TYPE eq 'BC03'ITPUB个人空间,K,Y^bg&Y3~@
                                 and ZZCD_KEY eq sy-cprog.
Y'/nGz13316     if sy-subrc eq 0.ITPUB个人空间^;fSk8r3M+_+s
      numcopy = zf002-ZZBIG_CODE.ITPUB个人空间o&J:pEv$i/X
      $copy = numcopy.ITPUB个人空间,b0[#KF8a#D5{6Kk
      if value1 gt numcopy.ITPUB个人空间d7?b*w1Ljy2B
       message e001(zg) with 'This report can be printed only'
/2JJIA'v D@7x6M13316                              $copy 'copys !'.
r(N7Be M/Z:m13316    *        message e001(zg) with 'You can only Print' $copy 'copys !'.ITPUB个人空间jZb/enO*MG#|
      endif.
@^y}"A u13316     endif.
7W/dX.~L13316     endif.ITPUB个人空间F1BXy;M
ENDFUNCTION.