SAP中PDF格式打印输出
[SAPABAP开发技术总结]数据输入输出转换、小数位单位货币格式化
[SAPABAP开发技术总结]数据输⼊输出转换、⼩数位单位货币格式化15.数据格式化、转换15.1.数据输⼊输出转换15.1.1.输出时⾃动转换如果某个变量参照的数据元素所对应的Domain具有转换规则,那么在输出时(如Write输出、ALV展⽰、⽂本框中显⽰),最后显⽰的结果会⾃动发⽣转换,如参照 ekpo-meins 表字段的变量赋值时就会发⽣转换,因为 ekpo-meins 所对应的元素Doamin设置了转换规则:所以,在显⽰输出这样的数据时要注意,如果要显⽰原始数据,则不能参照该表字段来定义变量,⽽是⾃⼰定义。
:i_meins LIKE ekpo-meins,i_meins2 TYPE c LENGTH 3.START-OF-SELECTION.SELECT meins meins FROM ekpo INTO (i_meins,i_meins2) WHERE ebeln = '4500012164'."输出时, i_meins会⾃动发⽣转换,但 i_meins2 不会WRITE: i_meins,i_meins2.ENDSELECT.SKIP.DATA: i_meins3 LIKE ekpo-meins."注:这⾥只能是内部单位ST,⽽不是PC,因为Write时是输出转换(即内->外的转换)i_meins3 = 'ST'."只要是参考过 ekpo-meins 的变量,Write输出时⾃动转换WRITE:/ i_meins3.在调试过程中发现都是原始数据,⾃动转换发⽣在Write输出时:15.1.2.输⼊时⾃动转换输出时会发⽣⾃动转换,那么,在输⼊时,如从选择屏幕上录⼊的数据是参照带有规则转换的Domain的数据元素创建的选择屏幕字段时,从界⾯录⼊到ABAP程序中时,会⾃动按照转换规则进⾏转换,如下⾯从界⾯上输⼊的是 PC (外部格式的单位),但录⼊到ABAP程序中时,⾃动转换为ST(内部格式的部位),但再次Write输出时,⼜将 ST转换为PC输出(从内部转换为外部格式):15.1.3.通过转换规则输⼊输出函数⼿动转换除了上⾯通过借助于参照带有转换规则的表字段进⾏⾃动转换外,实质上可以通过转换规则对应的输⼊输出函数进⾏⼿动转换,如VBAK-vbeln的转换规则::输⼊转换,前⾯补齐零此函数将字符类型的变量转换成SAP数据库中内部格式数据,如定单号的类型为 Char 10,如果输⼊的vbeln为6位,则会在前⾯补4个零(注:该函数的转换规则为:如果含有其他⾮数字,则不会补零,只有全部是数字时才补,这可以通过VBELN查看到),Number类型的不需要,因为在ABAP程序中N类型不⾜时长度时默认就会在前⾯补零(如 POSNR),⽽且Number类型的默认值就是全为零,⽽C类型不⾜时会以后⾯全补空格CONVERSION_EXIT_ALPHA_OUTPUT:输出转换,去掉前导零DATA: vbeln TYPE vbak-vbeln.DATA: str TYPE string VALUE '600000'.CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'EXPORTING input= strIMPORTING output= vbeln."⾃动输出转换,输出最初始数据,但程序内部已发⽣变化WRITE: / vbeln."60000015.2.数量⼩位数格式化WRITE UNIT .该语句根据Unit <u>来设置<f>的⼩数位数(即保留⼩数点多少位,或精确到⼩数点后多少位),<u>为<f>的单位。
SAP中方会计凭证打印解决方案
SAP中⽅会计凭证打印解决⽅案中⽅会计凭证由于编码格式以及科⽬对照关系是⽆法直接使⽤SAP⾃带的凭证打印功能的,如下为客户开发的⼀个解决⽅案,供各位参考1).需要定制⼏个Table的结构zc0000fit0009【科⽬对照表】2).1REPORT zc0000fir0013 NO STANDARD PAGE HEADING2LINE-COUNT 653LINE-SIZE 80.4*---------------------------------------------------------------------*5* TABLES6*---------------------------------------------------------------------*7TABLES: bkpf,zc0000fit0009.89TYPE-POOLS: slis.1011*---------------------------------------------------------------------*12* Types (ty_)13*---------------------------------------------------------------------*14TYPES:15BEGIN OF gty_bkpf,16 bukrs TYPE bkpf-bukrs, "Company Code17 belnr TYPE bkpf-belnr, "Accounting Document Number18 gjahr TYPE bkpf-gjahr, "Fiscal Year19 blart TYPE bkpf-blart, "document type20 budat TYPE bkpf-budat, "Payment time21 monat TYPE bkpf-monat, "Fiscal Period22 cpudt TYPE bkpf-cpudt, "Day Was Entered23 usnam TYPE bkpf-usnam, "User Name24*start add alex han 2013060425 ppnam TYPE bkpf-ppnam,26*end add alex han 2013060427 xblnr TYPE bkpf-xblnr, "Reference Document Number28 bktxt TYPE bkpf-bktxt, "Document Header Text29 waers TYPE bkpf-waers, "Currency Key30 kursf TYPE bkpf-kursf, "Exchange rate31END OF gty_bkpf,3233BEGIN OF gty_bseg,34 bukrs TYPE bkpf-bukrs, "Company Code35 belnr TYPE bkpf-belnr, "Accounting Document Number36 gjahr TYPE bkpf-gjahr, "Fiscal Year37 buzei TYPE bseg-buzei, "Number of Line38 hkont TYPE bseg-hkont, "General Ledger Account39 kostl TYPE bseg-kostl, "Cost Center40 prctr TYPE bseg-prctr, "Profit Center41 wrbtr TYPE bseg-wrbtr, "Amount in Document Currency42 dmbtr TYPE bseg-dmbtr, "amount in local currency43 shkzg TYPE bseg-shkzg, "Debit/Credit Indicator44 zuonr TYPE bseg-zuonr, "Assignment Number45 sgtxt TYPE bseg-sgtxt, "Item Text46 lifnr TYPE bseg-lifnr, "vendor47 kunnr TYPE bseg-kunnr, "customer48 koart TYPE bseg-koart, "Account Type49 aufnr TYPE bseg-aufnr, "ORER50*& Start of Insertion CR0158 by Davy on 2013/08/1451 fkber TYPE bseg-fkber, "function area52*& End of Insertion CR0158 by Davy on 2013/08/1453END OF gty_bseg,5455BEGIN OF gty_head,56 bukrs TYPE bkpf-bukrs, "Company Code57 belnr TYPE bkpf-belnr, "SAP Document Number58 gjahr TYPE bkpf-gjahr, "Fiscal Year59 budat TYPE char30, "posting date60 name1 TYPE comp_txt, "company name61 prcnr TYPE zc0000fit0009-prcnr,"PRC number62 prctp TYPE zc0000fit0008-prctp,"PRC Doc.Type Name63 prctt TYPE zc0000fit0008-prctt,"PRC Doc.Type Title64 acmgr TYPE text10, "Acc mgr65 dbchk TYPE text10, "double check66 usnam TYPE bkpf-usnam, "user name67 ppnam TYPE bkpf-ppnam,68*& Begin of Modification CR00222 BY YE_S on 2013/12/0269 persnumber TYPE adrp-persnumber, "⼈员编号70 name_first TYPE adrp-name_first, "名71 name_last TYPE adrp-name_last, "姓72*& End of Modification CR00222 BY YE_S on 2013/12/0273END OF gty_head,7475BEGIN OF gty_item,76 bukrs TYPE bkpf-bukrs, "Company Code77 belnr TYPE bkpf-belnr, "Accounting Document Number78 gjahr TYPE bkpf-gjahr, "Fiscal Year79 hkont TYPE bseg-hkont, "General Ledger Account80 kostl TYPE bseg-kostl, "Cost Center81 lifnr TYPE bseg-lifnr, "vendor82 kunnr TYPE bseg-kunnr, "customer83 shkzg TYPE bseg-shkzg, "Debit/Credit Indicator84 xblnr TYPE bkpf-xblnr, "Reference Document Number #0185 bktxt TYPE bkpf-bktxt, "Document Header Text86 sgtxt TYPE bseg-sgtxt, "Item Text87 zuonr TYPE bseg-zuonr, "Assignment Number88 prctr TYPE bseg-prctr, "Profit Center #0189 name1 TYPE zc0000fit0007-prcnm1,"PRC Name1 #0290 name2 TYPE ad_name2, "PRC_Name2” + “CostCenter #0391 waers TYPE bkpf-waers, "Currency Key #0492 wrbtr TYPE bseg-wrbtr, "Amount in Document Currency #0593 dmbtr TYPE bseg-dmbtr, "amount in local currency #07/894 kursf TYPE bkpf-kursf, "Exchange rate #0695END OF gty_item,9697BEGIN OF gty_list,98 sel(1) TYPE c, "selection flag99 bukrs TYPE bkpf-bukrs, "Company Code100 belnr TYPE bkpf-belnr, "Accounting Document Number101 gjahr TYPE bkpf-gjahr, "Fiscal Year102 blart TYPE bkpf-blart, "document type103 budat TYPE bkpf-budat, "Payment time104 monat TYPE bkpf-monat, "Fiscal Period105 cpudt TYPE bkpf-cpudt, "Day Was Entered106 usnam TYPE bkpf-usnam, "User Name107*start add by alex han 20130604108 ppnam TYPE bkpf-ppnam,109*end add by alex han 20130604110 xblnr TYPE bkpf-xblnr, "Reference Document Number111 bktxt TYPE bkpf-bktxt, "Document Header Text112 waers TYPE bkpf-waers, "Currency Key113 kursf TYPE bkpf-kursf, "Exchange rate114 prcnr TYPE zc0000fit0009-prcnr,"PRC number115 prctp TYPE zc0000fit0008-prctp,"PRC Doc.Type Name116 name1 TYPE comp_txt, "company name117 pflag TYPE char10, "print flag118END OF gty_list,119*& Start of Insertion CR0000 by Zoey on 2014/08/25120BEGIN OF gty_ska,121 saknr TYPE ska1-saknr,122 xbilk TYPE ska1-xbilk,123 txt50 TYPE skat-txt50,124END OF gty_ska.125*& End of Insertion CR0000 by Zoey on 2014/08/25126127*---------------------------------------------------------------------*128* Internal Tables (git_)129*---------------------------------------------------------------------*130DATA:131 git_t001 TYPE STANDARD TABLE OF t001 WITH HEADER LINE, "#EC *132 git_bkpf TYPE STANDARD TABLE OF gty_bkpf WITH HEADER LINE, "#EC *133 git_bseg TYPE STANDARD TABLE OF gty_bseg WITH HEADER LINE, "#EC *134 git_list TYPE STANDARD TABLE OF gty_list WITH HEADER LINE, "#EC *135 git_head TYPE STANDARD TABLE OF gty_head WITH HEADER LINE, "#EC *136 git_item TYPE STANDARD TABLE OF gty_item WITH HEADER LINE, "#EC *137 git_prcnm TYPE STANDARD TABLE OF zc0000fit0007 WITH HEADER LINE,"#EC* 138 git_prctp TYPE STANDARD TABLE OF zc0000fit0008 WITH HEADER LINE,"#EC* 139 git_prclg TYPE STANDARD TABLE OF zc0000fit0009 WITH HEADER LINE,"#EC* 140 git_upd09 TYPE STANDARD TABLE OF zc0000fit0009 WITH HEADER LINE,"#EC* 141 git_header TYPE STANDARD TABLE OF gty_head WITH HEADER LINE, "#EC *142 git_detail TYPE STANDARD TABLE OF gty_item WITH HEADER LINE, "#EC *143*& Start of Insertion CR0000 by Zoey on 2014/08/25144 git_ska TYPE STANDARD TABLE OF gty_ska WITH HEADER LINE. "#EC *145*& End of Insertion CR0000 by Zoey on 2014/08/25146147* ALV Related148DATA: git_fieldcat TYPE slis_t_fieldcat_alv,149 git_comments TYPE slis_t_listheader,150 git_events TYPE slis_t_event.151152* Work Area153DATA: gwa_fieldcat TYPE slis_fieldcat_alv.154DATA: gwa_output TYPE gty_list.155*---------------------------------------------------------------------*156* Global Variables (gv_)157*---------------------------------------------------------------------*158DATA: g_repid TYPE sy-repid, "PROGRAM159 g_amtup TYPE char100.160161*----------------------------------------------------------------------*162** Range Declaration163*----------------------------------------------------------------------*164RANGES: r_lifnr FOR ekko-lifnr,165 r_ebeln FOR ekko-ebeln.166167*---------------------------------------------------------------------*168* Constants (c_)169*---------------------------------------------------------------------*170CONSTANTS:171 c_e TYPE char1 VALUE 'E',172 c_x TYPE char1 VALUE 'X',173 c_perct TYPE char1 VALUE '%',174 c_sign_i TYPE char1 VALUE 'I',175 c_option_eq TYPE char2 VALUE 'EQ',176 c_03 TYPE char2 VALUE '03',177 c_sel TYPE field_name VALUE 'SEL',178 c_bukrs TYPE field_name VALUE 'BUKRS',179 c_belnr TYPE field_name VALUE 'BELNR',180 c_gjahr TYPE field_name VALUE 'GJAHR',181 c_blart TYPE field_name VALUE 'BLART',182 c_budat TYPE field_name VALUE 'BUDAT',183 c_monat TYPE field_name VALUE 'MONAT',184 c_cpudt TYPE field_name VALUE 'CPUDT',185 c_usnam TYPE field_name VALUE 'USNAM',186*START-ADD BY ALEX HAN20130604187 c_ppnam TYPE field_name VALUE 'PPNAM',188*END-ADD BY ALEX HAN 20130604189 c_xblnr TYPE field_name VALUE 'XBLNR',190 c_bktxt TYPE field_name VALUE 'BKTXT',191 c_waers TYPE field_name VALUE 'WAERS',192 c_kursf TYPE field_name VALUE 'KURSF',193 c_prctp TYPE field_name VALUE 'PRCTP',194 c_prcnr TYPE field_name VALUE 'PRCNR',195 c_name1 TYPE field_name VALUE 'NAME1',196 c_hkont TYPE field_name VALUE 'HKONT',197 c_kostl TYPE field_name VALUE 'KOSTL',198 c_prctr TYPE field_name VALUE 'PRCTR',199 c_wrbtr TYPE field_name VALUE 'WRBTR',200 c_dmbtr TYPE field_name VALUE 'DMBTR',201 c_zuonr TYPE field_name VALUE 'ZUONR',202 c_shkzg TYPE field_name VALUE 'SHKZG',203 c_sgtxt TYPE field_name VALUE 'SGTXT',204 c_pflag TYPE field_name VALUE 'PFLAG',205 c_save_all TYPE c LENGTH 1 VALUE 'A',206 c_ddictxt_l TYPE c LENGTH 1 VALUE 'L',207 c_ddictxt_m TYPE c LENGTH 1 VALUE 'M',208 c_ddictxt_s TYPE c LENGTH 1 VALUE 'S',209 c_formname TYPE tdsfname VALUE 'ZC0000FIS0001',210 c_pf_set TYPE slis_formname VALUE 'PF_STATUS_SET',211 c_user_command TYPE slis_formname VALUE 'USER_COMMAND_ALV', 212*& Start of Insertion CR0000 by Zoey on 2014/08/25213 c_a001 TYPE ktopl VALUE 'A001',214 c_zh TYPE spras VALUE '1'.215*& End of Insertion CR0000 by Zoey on 2014/08/25216*---------------------------------------------------------------------*217* Macro218*---------------------------------------------------------------------*219DEFINE set_fc.220 clear gwa_fieldcat.221 gwa_fieldcat-tabname = 'GIT_REP'.222 gwa_fieldcat-fieldname = &1.223 gwa_fieldcat-cfieldname = &2.224 gwa_fieldcat-seltext_l = &3.225 gwa_fieldcat-do_sum = &4.226 gwa_fieldcat-ddictxt = c_ddictxt_l.227 if gwa_fieldcat-fieldname(5) = 'PERCT'.228 gwa_fieldcat-just = 'R'.229 endif.230 if gwa_fieldcat-fieldname = 'BUKRS'or231 gwa_fieldcat-fieldname = 'BELNR'or232 gwa_fieldcat-fieldname = 'GJAHR'.233 gwa_fieldcat-key = c_x.234 endif.235 append gwa_fieldcat to git_fieldcat.236END-OF-DEFINITION.237238*---------------------------------------------------------------------*239* Selection screen data240* select-options (s_)241* parameters (p_)242* radio buttons (rb_)243* checkboxes (cb_)244* pushbuttons (pb_)245*---------------------------------------------------------------------*246SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-t01.247SELECT-OPTIONS:248 s_bukrs FOR bkpf-bukrs OBLIGATORY,249 s_belnr FOR bkpf-belnr OBLIGATORY,250 s_prcnr FOR zc0000fit0009-prcnr,251 s_gjahr FOR bkpf-gjahr OBLIGATORY,252 s_blart FOR bkpf-blart OBLIGATORY,253 s_budat FOR bkpf-budat NO-EXTENSION OBLIGATORY,254 s_cpudt FOR bkpf-cpudt NO-EXTENSION ."NO INTERVALS255*START-Modify by davy 2013/06/14256SELECT-OPTIONS:257 s_usnam FOR bkpf-usnam NO-EXTENSION NO INTERVALS,258 s_ppnam FOR bkpf-ppnam NO-EXTENSION NO INTERVALS.259*PARAMETERS:260* p_usnam TYPE bkpf-usnam,261*START-ADD BY ALEX 20130604262* p_ppnam TYPE bkpf-ppnam .263*END-ADD BY ALEX 20130604264*START-Modify by davy 2013/06/14265SELECTION-SCREEN END OF BLOCK blk1.266267SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-t02. "#EC * 268PARAMETERS:269 p_cmpnm TYPE comp_txt OBLIGATORY,270 p_acmgr TYPE text10,271 p_dbchk TYPE text10.272SELECTION-SCREEN END OF BLOCK blk2.273274*---------------------------------------------------------------------*275* Initialization276*---------------------------------------------------------------------*277INITIALIZATION.278PERFORM init_data.279280*---------------------------------------------------------------------*281* AT SELECTION-SCREEN282*---------------------------------------------------------------------*283AT SELECTION-SCREEN.284PERFORM check_data.285286*---------------------------------------------------------------------*287* TOP-OF-PAGE288*---------------------------------------------------------------------*289*TOP-OF-PAGE.290291***********************************************************************292* START-OF-SELECTION PROCESSING *293***********************************************************************294START-OF-SELECTION.295* get data from database tabl296PERFORM get_data.297* process data in internal table298PERFORM process_data.299300***********************************************************************301* END-OF-SELECTION PROCESSING *302***********************************************************************303END-OF-SELECTION.304IF NOT git_list[] IS INITIAL.305IF sy-batch = c_x.306PERFORM print_data_background.307ELSE.308* output the final data309PERFORM display_data.310ENDIF.311ELSE.312MESSAGE s099(ba) DISPLAY LIKE c_e WITH text-m01..313ENDIF.314315*&---------------------------------------------------------------------*316*& Form INIT_DATA317*&---------------------------------------------------------------------*318* text319*----------------------------------------------------------------------*320* --> p1 text321* <-- p2 text322*----------------------------------------------------------------------*323FORM init_data .324325 g_repid = sy-repid.326327CLEAR: git_bkpf,git_bseg,git_list,git_head,git_item,328 git_prctp,git_prcnm,git_prclg.329330REFRESH: git_bkpf,git_bseg,git_list,git_head,git_item,331 git_prctp,git_prcnm,git_prclg.332333ENDFORM. " INIT_DATA334335*&---------------------------------------------------------------------*336*& Form CHECK_DATA337*&---------------------------------------------------------------------*338* text339*----------------------------------------------------------------------*340* --> p1 text341* <-- p2 text342*----------------------------------------------------------------------*343FORM check_data .344* check the company code valid345REFRESH git_t001.346SELECT * FROM t001 INTO TABLE git_t001347WHERE bukrs IN s_bukrs.348IF sy-subrc <> 0.349MESSAGE e006(zc001) WITH s_bukrs-low s_bukrs-high. 350ENDIF.351352LOOP AT git_t001.353AUTHORITY-CHECK OBJECT'F_BKPF_BUK'354ID'BUKRS'FIELD git_t001-bukrs355ID'ACTVT'FIELD'03'.356IF sy-subrc <> 0.357MESSAGE e099(ba) WITH text-m02.358ENDIF.359ENDLOOP.360361ENDFORM. " CHECK_DATA362363*&---------------------------------------------------------------------*364*& Form GET_DATA365*&---------------------------------------------------------------------*366* text367*----------------------------------------------------------------------*368* --> p1 text369* <-- p2 text370*----------------------------------------------------------------------*371FORM get_data .372* Get voucher doucment header data373SELECT374 bukrs "Company Code375 belnr "Accounting Document Number376 gjahr "Fiscal Year377 blart "document type378 budat "posting date379 monat "Fiscal Period380 cpudt "Day Was Entered381 usnam "User Name382*START ADD ALEX HAN 20130604383 ppnam384*END ADD ALEX HAN 20130604385 xblnr "Reference Document Number386 bktxt "Document Header Text387 waers "Currency Key388 kursf "Exchange rate389FROM bkpf390INTO TABLE git_bkpf391WHERE bukrs IN s_bukrs392AND belnr IN s_belnr393AND gjahr IN s_gjahr394AND blart IN s_blart395AND budat IN s_budat396AND cpudt IN s_cpudt397AND usnam IN s_usnam398*START-ADD BY ALEXHAN 20130604399AND ppnam IN s_ppnam.400*END-ADD BY ALEX HAN 20130604401402IF git_bkpf[] IS INITIAL.403MESSAGE s099(ba) DISPLAY LIKE c_e WITH text-m01.404STOP.405ELSE.406407SELECT408 bukrs "Company Code409 belnr "Accounting Document Number410 gjahr "Fiscal Year411 buzei "Number of Line412 hkont "General Ledger Account413 kostl "Cost Center414 prctr "Profit Center415 wrbtr "Amount in Document Currency416 dmbtr "amount in local currency417 shkzg "Debit/Credit Indicator418 zuonr "Assignment Number419 sgtxt "Item Text420 lifnr "vendor421 kunnr "customer422 koart "acct type423 aufnr "ORDER424*& Start of Insertion CR0158 by Davy on 2013/08/14425 fkber "function area426*& End of Insertion CR0158 by Davy on 2013/08/14427FROM bseg INTO TABLE git_bseg428FOR ALL ENTRIES IN git_bkpf429WHERE bukrs = git_bkpf-bukrs430AND belnr = git_bkpf-belnr431AND gjahr = git_bkpf-gjahr.432433ENDIF.434435* get SAP account number and PRC number436SELECT * INTO TABLE git_prcnm FROM zc0000fit0007437WHERE hkont <> ''.438439* get Document type and PRC document type mapping table440SELECT * INTO TABLE git_prctp FROM zc0000fit0008441WHERE blart <> ''.442443* get PRC number444SELECT * INTO TABLE git_prclg FROM zc0000fit0009445WHERE bukrs IN s_bukrs446AND belnr IN s_belnr447AND gjahr IN s_gjahr.448* AND prcnr IN s_prcnr.449*& Start of Insertion CR0000 by Zoey on 2014/08/25450SELECT a~saknr a~xbilk b~txt50 INTO TABLE git_ska FROM ska1 AS a451 JOIN skat AS b ON a~saknr = b~saknr452FOR ALL ENTRIES IN git_bseg453WHERE a~ktopl = c_a001454AND a~saknr = git_bseg-hkont455AND b~spras = c_zh.456*& End of Insertion CR0000 by Zoey on 2014/08/25457ENDFORM. " GET_DATA458*&---------------------------------------------------------------------*459*& Form PROCESS_DATA460*&---------------------------------------------------------------------*461* text462*----------------------------------------------------------------------*463* --> p1 text464* <-- p2 text465*----------------------------------------------------------------------*466FORM process_data.467DATA: l_amt TYPE wertv8.468DATA: l_func TYPE csks-func_area.469DATA: l_name1 TYPE kna1-name1.470DATA: l_xbilk TYPE ska1-xbilk.471DATA: lit_item TYPE STANDARD TABLE OF gty_item WITH HEADER LINE. 472DATA: lit_bseg TYPE STANDARD TABLE OF gty_bseg WITH HEADER LINE. 473DATA: l_kostl TYPE bseg-kostl,474 l_aufnr TYPE bseg-aufnr.475476* collect the PRC Doc.Type Name and title477SORT git_prctp BY blart.478SORT git_prclg BY bukrs belnr gjahr.479SORT git_t001 BY bukrs.480481LOOP AT git_bkpf.482MOVE-CORRESPONDING git_bkpf TO git_list.483READ TABLE git_prctp WITH KEY blart = git_bkpf-blart.484IF sy-subrc = 0.485 git_list-prctp = git_prctp-prctp.486ENDIF.487488 git_list-name1 = p_cmpnm.489490IF git_list-name1 IS INITIAL.491READ TABLE git_t001 WITH KEY bukrs = git_bkpf-bukrs492 BINARY SEARCH.493IF sy-subrc = 0.494 git_list-name1 = git_t001-butxt.495ENDIF.496ENDIF.497498READ TABLE git_prclg WITH KEY bukrs = git_bkpf-bukrs499 belnr = git_bkpf-belnr500 gjahr = git_bkpf-gjahr.501IF sy-subrc = 0.502 git_list-prcnr = git_prclg-prcnr.503 git_list-pflag = text-h17.504ELSE.505506PERFORM set_next_prcno USING git_bkpf-bukrs507 git_bkpf-gjahr508 git_bkpf-monat509CHANGING git_list-prcnr.510 git_list-pflag = text-h18.511ENDIF.512513READ TABLE git_t001 WITH KEY bukrs = git_bkpf-bukrs.514IF git_bkpf-waers <> git_t001-waers. " AND515PERFORM convert_rate USING git_bkpf-waers git_bkpf-kursf516CHANGING git_list-kursf.517ELSE.518MOVE git_list-kursf TO git_list-kursf.519ENDIF.520521APPEND git_list.522CLEAR git_list.523ENDLOOP.524525* for print header data526LOOP AT git_list.527528MOVE-CORRESPONDING git_list TO git_head.529530CONCATENATE git_list-budat(4) text-t03 git_list-budat+4(2) text-t04 531 git_list-budat+6(2) text-t05 INTO git_head-budat.532533READ TABLE git_prctp WITH KEY blart = git_list-blart.534IF sy-subrc = 0.535 git_head-prctt = git_prctp-prctt.536ENDIF.537538 git_head-acmgr = p_acmgr.539 git_head-dbchk = p_dbchk.540541APPEND git_head.542CLEAR git_head.543ENDLOOP.544545SORT git_bkpf BY bukrs belnr gjahr.546SORT git_prcnm BY hkont kostl.547*& Start of Insertion CR0000 by Zoey on 2014/08/25548SORT git_ska BY saknr.549*& End of Insertion CR0000 by Zoey on 2014/08/25550REFRESH lit_bseg.551 lit_bseg[] = git_bseg[].552553SORT lit_bseg BY bukrs belnr gjahr lifnr kunnr.554555* collect voucher data for list556LOOP AT git_bseg.557MOVE-CORRESPONDING git_bseg TO git_item.558READ TABLE git_bkpf WITH KEY bukrs = git_bseg-bukrs559 belnr = git_bseg-belnr560 gjahr = git_bseg-gjahr.561IF sy-subrc = 0.562MOVE:563 git_bkpf-xblnr TO git_item-xblnr,564 git_bkpf-bktxt TO git_item-bktxt,565 git_bkpf-waers TO git_item-waers.566READ TABLE git_t001 WITH KEY bukrs = git_bseg-bukrs.567IF git_bkpf-waers <> git_t001-waers. " AND568PERFORM convert_rate USING git_bkpf-waers git_bkpf-kursf569CHANGING git_item-kursf.570ELSE.571MOVE git_bkpf-kursf TO git_item-kursf.572ENDIF.573574IF git_bkpf-waers = git_t001-waers.575CLEAR git_item-wrbtr.576ENDIF.577ENDIF.578579READ TABLE git_prcnm WITH KEY hkont = git_bseg-hkont.580IF sy-subrc = 0.581IF git_prcnm-prccd1 = 'COSTCENTER'.582* first class account583SELECT SINGLE func_area INTO l_func FROM csks584WHERE kostl = git_bseg-kostl585AND bukrs = git_bseg-bukrs. "#EC *586IF sy-subrc = 0.587SELECT SINGLE prcnm1 INTO git_item-name1588FROM zc0000fit0010589WHERE func_area = l_func.590ENDIF.591592 git_item-name2 = git_prcnm-prcnm2.593IF NOT git_bseg-kostl IS INITIAL.594* CONCATENATE git_item-name2 git_bseg-kostl595* INTO git_item-name2 SEPARATED BY space.596*& Start of Insertion CR0158 by Davy on 2013/08/14597ELSE.598IF git_item-name1 IS INITIAL.599SELECT SINGLE prcnm1 INTO git_item-name1600FROM zc0000fit0010601WHERE func_area = git_bseg-fkber.602ENDIF.603*& End of Insertion CR0158 by Davy on 2013/08/14604ENDIF.605* interanl order606IF NOT git_bseg-aufnr IS INITIAL.607CLEAR l_aufnr.608CALL FUNCTION'CONVERSION_EXIT_ALPHA_OUTPUT'609EXPORTING610 input = git_bseg-aufnr611IMPORTING612 output = l_aufnr.613CONCATENATE git_item-name2 l_aufnr614INTO git_item-name2 SEPARATED BY space.615ENDIF.616617ELSE.618 git_item-name1 = git_prcnm-prcnm1.619 git_item-name2 = git_prcnm-prcnm2.620621CLEAR l_name1.622623IF git_bseg-lifnr <> ''AND git_bseg-koart = 'K'.624SELECT SINGLE name1 INTO l_name1 FROM lfa1625WHERE lifnr = git_bseg-lifnr.626ENDIF.627IF git_bseg-kunnr <> ''AND git_bseg-koart = 'D'.628SELECT SINGLE name1 INTO l_name1 FROM kna1629WHERE kunnr = git_bseg-kunnr.630ENDIF.631632IF NOT l_name1 IS INITIAL.633CONCATENATE git_item-name2 '-' l_name1 INTO git_item-name2. 634ENDIF.635636ENDIF.637*& Start of Insertion CR0000 by Zoey on 2014/08/25638639ELSE.640641* If GL account XXXXXX is not maintained in mapping table642* ZC0000FIT0007643READ TABLE git_ska WITH KEY saknr = git_bseg-hkont.644* Balance sheet account645IF git_ska-xbilk IS NOT INITIAL.646PERFORM frm_Balance.647648ELSE.649* Profit & Loss account650PERFORM frm_Profit.651652ENDIF.653*& End of Insertion CR0000 by Zoey on 2014/08/25 654ENDIF.655656APPEND git_item.657CLEAR git_item.658ENDLOOP.659660CLEAR l_amt.661REFRESH lit_item.662SORT git_item BY bukrs belnr gjahr hkont kostl.663DATA: l_flag TYPE c.664CLEAR l_flag.665666LOOP AT git_item.667668AT NEW shkzg.669CLEAR l_flag.670ENDAT.671672MOVE git_item-bukrs TO lit_item-bukrs .673MOVE git_item-belnr TO lit_item-belnr .674MOVE git_item-gjahr TO lit_item-gjahr .675MOVE git_item-hkont TO lit_item-hkont .676MOVE git_item-kostl TO lit_item-kostl .677MOVE git_item-xblnr TO lit_item-xblnr .678679IF l_flag IS INITIAL.680MOVE git_item-bktxt TO lit_item-bktxt .681MOVE git_item-sgtxt TO lit_item-sgtxt .682MOVE git_item-zuonr TO lit_item-zuonr .683ENDIF.684685MOVE git_item-prctr TO lit_item-prctr .686MOVE git_item-name1 TO lit_item-name1 .687MOVE git_item-name2 TO lit_item-name2 .688MOVE git_item-waers TO lit_item-waers .689MOVE git_item-kursf TO lit_item-kursf .690MOVE git_item-shkzg TO lit_item-shkzg .691 lit_item-dmbtr = lit_item-dmbtr + git_item-dmbtr. 692 lit_item-wrbtr = lit_item-wrbtr + git_item-wrbtr.693694 l_flag = c_x.695AT END OF shkzg.696APPEND lit_item.697CLEAR lit_item.698ENDAT.699700ENDLOOP.701702REFRESH git_item.703 git_item[] = lit_item[].704705ENDFORM. " PROCESS_DATA706707*&---------------------------------------------------------------------* 708*& Form DISPLAY_DATA709*&---------------------------------------------------------------------* 710* text711*----------------------------------------------------------------------*712* --> p1 text713* <-- p2 text714*----------------------------------------------------------------------*715FORM display_data .716717* Local Variable718DATA: l_repid TYPE sy-repid,719 l_prntparams TYPE slis_print_alv.720* Local Work Area721DATA: lwa_layout TYPE slis_layout_alv,722 lwa_variant TYPE disvariant.723724* Create ALV Field Catalog/Comment/Event725PERFORM create_fieldcatalog.726PERFORM alv_set_variant CHANGING lwa_variant. 727728* Assign Program ID729 l_repid = sy-repid.730* Layout731 lwa_layout-box_fieldname = 'SEL'.732 lwa_layout-zebra = c_x.733 lwa_layout-colwidth_optimize = c_x.734735* Call ALV736CALL FUNCTION'REUSE_ALV_GRID_DISPLAY'737EXPORTING738 i_callback_program = g_repid739 i_callback_pf_status_set = c_pf_set740 i_callback_user_command = c_user_command741 it_events = git_events742 is_layout = lwa_layout743 it_fieldcat = git_fieldcat744 i_save = c_save_all745 is_print = l_prntparams746 is_variant = lwa_variant747TABLES748 t_outtab = git_list749EXCEPTIONS750 program_error = 1751 OTHERS = 2. "#EC *752753ENDFORM. " DISPLAY_DATA754*&---------------------------------------------------------------------*755*& Form CREATE_FIELDCATALOG756*&---------------------------------------------------------------------*757* text758*----------------------------------------------------------------------*759* --> p1 text760* <-- p2 text761*----------------------------------------------------------------------*762FORM create_fieldcatalog .763* Create Field Catalog764DATA: lit_fieldcat TYPE slis_t_fieldcat_alv.765766CALL FUNCTION'REUSE_ALV_FIELDCATALOG_MERGE'767EXPORTING768 i_program_name = g_repid769 i_internal_tabname = 'GTY_LIST'770* i_client_never_display = c_x771 i_inclname = g_repid772CHANGING773 ct_fieldcat = lit_fieldcat774EXCEPTIONS775 inconsistent_interface = 1776 program_error = 2777 OTHERS = 3778 .779IF sy-subrc <> 0.780* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO 781* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.782ENDIF.783784 set_fc: c_bukrs c_bukrs text-h01 ''."Company Code785 set_fc: c_belnr c_belnr text-h02 ''."Accounting Document Number 786 set_fc: c_gjahr c_gjahr text-h03 ''."Fiscal Year787 set_fc: c_blart c_blart text-h04 ''."document type788 set_fc: c_budat '' text-h05 ''."Payment time789 set_fc: c_monat '' text-h06 ''."Fiscal Period790 set_fc: c_cpudt '' text-h07 ''."Day Was Entered791 set_fc: c_usnam '' text-h08 ''."User Name792*start-add by alex han 20130604793 set_fc: c_ppnam '' text-h19 ''."Parked BY794*end-add by alex han 20130604795 set_fc: c_xblnr '' text-h09 ''."Reference Document Number796 set_fc: c_bktxt '' text-h10 ''."Document Header Text797 set_fc: c_waers '' text-h11 ''."Currency Key798 set_fc: c_kursf '' text-h12 ''."Exchange rate799 set_fc: c_prcnr '' text-h14 ''."PRC number800 set_fc: c_prctp '' text-h13 ''."PRC Doc.Type Name801 set_fc: c_name1 '' text-h15 ''. "company name802 set_fc: c_pflag '' text-h16 ''. "company name803804ENDFORM. " CREATE_FIELDCATALOG805*&---------------------------------------------------------------------*806*& Form f_alv_set_variant807*&---------------------------------------------------------------------*808* text809*----------------------------------------------------------------------*810* -->P_LWA_VAR text811*----------------------------------------------------------------------*812FORM alv_set_variant CHANGING p_lwa_var TYPE disvariant.813814* Assign Variant815 p_lwa_var-report = sy-repid.816 p_lwa_var-handle = space.817 p_lwa_var-log_group = space.818 p_lwa_var-username = sy-uname.819 p_lwa_var-variant = space.。
SAP系统中字段在屏幕显示的格式与内部格式
SAP系统中字段在屏幕显⽰的格式与内部格式SAP系统中,字段在屏幕上显⽰格式跟SAP内部的值有时是不同的,使⽤时要注意转换.1. 对⾦额,数量等数值型数据.⾦额定义为CURR类型, 对应币种为CUKY类型, 对于相同的⾦额, 不同的币种,输出的格式各不相同, 如下⽰:在ALV输出中,通过在Field Catalog中设置相应字段来控制对应单位, 对应结构: LVC_S_FCATCURRENCY 直接设置相应的币种CFIELDNAME 币种对应的列字段名称QUANTITYQFIELDNAME2. ⽇期显⽰时根据⽤户设置输出DATA: l_curday type sy-datum.START-OF-SELECTION.l_curday = sy-datum.write: l_curday.输出时输出这个跟⽤户的设置有关, System—> User Profile –> Own Data.3. 转换例程Conversion Routine⽤于屏幕字段的内容在从显⽰格式到SAP内部格式之间的转换,CONVERSION_EXIT_xxxxx_INPUTCONVERSION_EXIT_xxxxx_OUTPUT前者⽤于从外部到内部格式的转换后者⽤于从内部到外部格式的转换.这种转换是⾃动进⾏的, 当屏幕上的字段对应的domain有相应转换例程时, 它要显⽰在屏幕上时就会⾃动调⽤FM以进⾏格式转换.对于许多号码,譬如说物料号,MARA-MATNR, 供应商账户号等, ⼀般在显⽰时会把前导0去掉, 所以如果需要补齐0的话,则需要调⽤向内部转换的FM.在DEBUG时, 字段对应的值显⽰的是其内部格式在编程实现input help时, HELP_VALUES_GET, F4IF_FIELD_VALUE_REQUEST时获取得返回值是显⽰时的格式的值, 所以如果要⽤它做其它操作,如要使⽤它从数据库表中取相应描述则需要调⽤转换例程进⾏转换.其它相似的FM有: DYNP_VALUES_READ 读取屏幕上字段的值, 同样需要转换.。
SAP订货单、发货单批量打印(实例)2019.06.20
SAP订货单、发货单批量打印(实例)2019.06.20⾸先需要做好⼀个ALV,这个肯定是必要的。
⼀,ALV多选及取值1.Function-ALV添加⼀个选择字段:SEL。
设置 layout 属性 box_fieldname : layout-box_fieldname = ‘SEL’ 即可选择多条。
2.OO-ALV设置 layout 的属性 SEL_MODE 来实现,SEL_MODE的值有’A’,’B’,’C’,’D’值模式可能的选择SPACE等同于B参考B'A'⾏和列的选择,⽆法选择单元格多⾏,多列'B'单选,不可以多选⾏,不可以多选单元格多⾏,多列'C'多选,可以多选⾏,不可以多选单元格多⾏,多列'D'单元格的选择,可以多选单元格多⾏,多列,任何单元格多选之后在ALV显⽰⽹格⾥就可以通过按住crtl实现多⾏,多列的选择。
获取选择的⾏号这时function ALV就不可以了,要临时把 function ALV 转换为 OO ALVCALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR' "把function ALV临时转换成 OO ALV,可以把ALV上修改的数据传到内表IMPORTINGe_grid = lr_alv_grid."获取数据的⽅法:"GET_SELECTED_CELLS","GET_SELECTED_CELLS_ID", "GET_SELECTED_ROWS","GET_SELECTED_COLUMNS "获取⾏ / 获取列"获取⾏号 DATA:lt_row_id TYPE lvc_t_roid. DATA:wa_row_id TYPE LINE OF lvc_t_roid. CALL METHOD lr_alv_grid->get_selected_rows IMPORTING * et_index_rows = et_index_rows et_row_no = lt_row_id. LOOP AT lt_row_id INTO wa_row_id. "读取选择的⾏到 gtd_out_sel 内表中 READ TABLE gtd_out INTO gth_out INDEX wa_row_id-row_id. IF sy-subrc = 0. APPEND gth_out TO gtd_out_sel. ENDIF. CLEAR:wa_row_id,gth_out. ENDLOOP. CLEAR:lt_row_id.⾄此,取到了选择的数据。
SAP PR 生成以及打印流程
SAP PR生成以及打印指南1.PR生成负责:需求部门协助:采购部⑴ME51N中输入Enter①有物料编码,或者是库存材料,必须先由采购部建立物料编码后再输入物料编码期望价格如果没有请输入。
②无物料编码,一般为一次性使用物料,不做库存。
输入科目分配类别填写所需要产品的名称,申请数量,物料组中输入资产号和403700:直接消耗的进料,直接外购用于项目消耗的材料,如钢板,ROLLER,BEARING等405000:原材料消耗——销货成本,需从仓库领用,与'403700"有所区分.408101:原材料消耗——其他用品,需从仓库领用,无法分类的项目消耗用品。
408203:原材料消耗——备品备件消耗,需从仓库领用,用于项目消耗的备品备件,包含螺丝,螺钉,小配件等等。
408300:原材料消耗——存货报废,需从仓库转出。
408501:原材料消耗——工程材料、工具,需从仓库领用,用于非维护项目的不属于固定资产的小设备,小工具。
408511:原材料消耗——工程材料消耗重置差异408512:原材料消耗——工程材料消耗存货差异409000:库存物料消耗——过滤材料,需从仓库领用440100:制服费440200:防护服费440300:员工清洁剂费465100:运费465600:关税469920:存货差异——备品备件406000:原材料消耗——办公用品,与办公有关的一切外购产品。
成本中心遵照如下:填入相应的序号。
F用于工程中的资材,操作如上,在账户分配中只需要填写总账科目和订单号在PR打印:1.进入SAP主界面2.输入SA38命令按Enter键进入,输入按然后按,然后点。
SAP系统中最常用的打印方式使用手册
发行日期:2007.11.16文件名称: SAP系统中最常用的打印方式使用手册目录前言 (2)SAPLPD前台打印(DEFAULT) (3)直接前台Windows打印机打印(DEFAULT_G) (4)SAP打印服务器打印 (5)SAP系统中通过E-mail打印(mail打印) (6)总结 (7)发行日期:2007.11.16文件名称: SAP系统中最常用的打印方式使用手册前言SAP打印虽然是SAP用户最常用的一种日常作业,但大多数SAP用户对SAP的SAP打印认识都非常模糊,现在我们将SAP最常用的几种打印方式介绍如下:1、SAPLPD前台打印(DEFAULT): SAPGUI通过安装在客户端的SAPLPD程序打印。
2、直接前台Windows打印机打印(DEFAULT_G):SAPGUI直接调用windows打印机打印。
3、SAP打印服务器打印: 将所有SAP打印请求发送到指定的SAP打印服务器上,由打印服务器输出打印结果。
4、Email打印: 直接将打印结果通过EMAIL发送给指定的用户相关文档:《如何检查SAPGUI的补丁级别》《SAP打印服务器的配置》发行日期:2007.11.16文件名称: SAP系统中最常用的打印方式使用手册SAPLPD前台打印(DEFAULT打印)通过调用前台SAPLPD应用程序进行打印,虽然操作简单,但较占用系统资源,打印效率不高,速度较慢,且不能用于SAP后台作业打印和批量打印作业。
虽然是目前应用最广泛的打印方式,但在打印页数和数量较多的情况下不建议使用。
前台打印(DEFAULT)步骤如下:1、选择输出设备和2、选择本地安装的打印机3、确认打印2、系统将自动启动PC端的SAPLPD应用程序并输出打印结果发行日期:2007.11.16文件名称: SAP系统中最常用的打印方式使用手册直接前台Windows打印机打印(DEFAULT_G打印) 相对于DEFAULT打印,DEFAULT_G打印由于直接调用windows打印机,而不通过前台SAPLPD 应用程序,相比DEFAULT的打印方式而言,速度较快,但这种打印方法同样不能用于SAP 后台作业的打印和批量打印作业。
SAP-第004章 将数据输出到屏幕
第四章将数据输出到屏幕概览内容WRITE 语句..................................................................................................................1在屏幕上定位WRITE 输出..........................................................................................3格式化选项 ....................................................................................................................5在屏幕上输出符号和图标............................................................................................7输出屏幕上的线和空行.............................................................................................8垂直线.......................................................................................................................8空行..........................................................................................................................8将字段内容作为复选框输出.........................................................................................9通过语句结构使用WRITE ...........................................................................................9本节说明如何在屏幕上创建简单输出列表。
SAPLink使用方法
SAPLink——好用的代码分享工具SAPLink为本地保存客户化程序,上传到其他系统,提供了解决方案。
并且提供了插件对功能进行扩展,还可以本地保存WD4A、BSP、Badi Implementation、PDF等。
官网地址是/p/saplink/如何使用:SAPLink把客户化程序保存为.slnk或.nugg格式的文件。
这两种文件本质是都是XML格式的。
区别是.slnk针对单个的客户化程序,类似Windows的文件,.nugg针对多个的客户化程序,类似Windows 的文件夹。
比如下面这个.nugg文件通过xml软件查看:该文件通过SAPLink上传到其他开发机后可以得到下面这个报表程序:可以看到报表程序的源代码和文本都可以成功上传!有兴趣的TX可以测试一下其他客户化程序能否成功上传!我也会在近期进行个全面测试。
这对会ABAP的顾问来讲真是一个非常好的工具!每个做过开发的人都希望能够最大程度地重用现有解决方案,而“复制”则是最直接和最简单的重用方法:)SAPLink详细体验星期一, 02月14th, 2011通过上篇博文《SAPLink——好用的代码共享工具》的介绍,也许有些TX有兴趣尝试一下。
俗话说“己所不欲,勿施于人”,如果我自己都不用,怎么好意思给大家推荐了。
所以就必须得有这篇博文给大家详细介绍一下SAPLink的能耐。
一、操作界面SAPLink的操作界面非常简洁,主要就是输出、输入和显示。
其中我最关心的如何输出,也就是本地保存。
第一步是“Create New Nugget”,就是在本地创建个空的Nugget文件。
下一步有3种选择:添加单个对象、从Package中添加、从Transport 中添加。
比如添加单个对象,要选择对象类型、对象名和Nugget文件路径。
特别注意:在对象类型中没有的不一定SAPLink就不能保存,比如Structure就不能通过列表找到,但是SAPLink是能够保存的。
SAP中各国不同Infotype结构导出的通用解决方案
进 行结构 的确认 2
2 1
.
不 能导出
.
。
通 用 解 决方 案
导出
In fo t y p e 结
I n f ot v p
e
2 3
.
设 计基本思路
根 据 取 出 的M o d u l e Po ol 替代 屏 幕 ( A DY NR ) 和 语 言代 码 调 用 F UNCT I ON
。
一
个 SA P 系统 的 问题
.
目前 大 多 数 开 发 人 员 采 用 的 方
.
法 是 :( 1 ) 通 过 看 In f o ty p e 录 入 屏 幕 显 示 的 输 入 字 段 出单
In fo ty p e
用 手 工 方 法 将 字 段 做 出来 ;( 2 ) 对 每 个 国 家 通 过 函 数 导
e
录
点 是 不 适 用 大 批 量 的操 作 另 外 B a
.
te
,
hin
p
u
t
程序只能
通 过 不 断 的复制 粘贴 修 改 来 完成 程 序灵 活 性 严 重
、
、
不足
:
第 二 种 方 法 是 对 每 个 国 家 通 过 函数 导 出单
的结构 没 有 和 Fe
,
一
I n fo t y p e
,
a tu r e
-
的结 构
。
但 是这 些 方 法 会 给开 发 过 程
。
以 及 后 期维 护带来 巨 大 的工 作量 和 开 发成 本
1
一
般 数 据 导 入 方 法 的简 介 及 不 足 之 处
前 面 介绍 的传统方 法 第
SAP打印输出输出设置说明
SAP打印输出设置说明1. 简介SAP(Systeme, Anwendungen und Produkte in der Datenverarbeitung)是一套广泛使用的企业资源规划(ERP)软件系统。
在SAP系统中,打印输出设置是一个重要的功能,它允许用户定义打印输出的格式、布局和其他相关设置。
本文档将介绍如何进行SAP打印输出设置,并提供一些常用的设置说明和示例。
2. 打开打印输出设置要打开SAP的打印输出设置,可以按照以下步骤操作:1.登录SAP系统并进入相应的应用程序。
2.在菜单栏中选择“工具”(Tools)。
3.在下拉菜单中选择“打印输出设置”(Print OutputSettings)。
3. 设置输出格式在打印输出设置界面,用户可以设置输出格式、布局和其他相关选项。
3.1 输出格式输出格式决定了打印输出的外观和样式。
在SAP中,有以下几种常见的输出格式:•文本格式(Pln Text):以简单的文本形式输出。
•PDF格式:将输出转换为PDF文件。
•Excel格式:将输出转换为Excel文件。
用户可以根据自己的需求选择合适的输出格式,并在设置界面进行相应配置。
3.2 输出布局输出布局决定了打印输出的排版和页面布局。
在SAP中,有以下几种常见的输出布局配置选项:•横向布局:横向排列打印输出内容。
•纵向布局:纵向排列打印输出内容。
•自定义布局:允许用户自定义页面布局和内容排列顺序。
用户可以根据打印输出内容的特点和要求,选择合适的布局,并在设置界面进行相应配置。
4. 设置其他选项除了输出格式和布局,SAP还提供其他一些重要的设置选项,用户可以根据需要进行相应配置。
4.1 打印机选择用户可以选择将打印输出发送到默认打印机或指定的打印机。
在设置界面中,用户可以查看可用的打印机列表,并选择合适的打印机。
4.2 打印份数用户可以设置输出的打印份数。
在设置界面中,用户可以指定所需的打印份数。
4.3 打印范围用户可以设置输出的打印范围。
51sap教育中心:sap操作手册用户权限列表的导出
用户需求描述:当前准备对系统数据库进行调整,在此之前,需要对这个系统的角色(Role)、以及Role所对应的用户进行导出备份。
实施操作方法:1.角色(Role)的导出备份,可以通过角色的下载功能实现,具体参见《用户与权限管理》手册,相关:角色的上传/ 下载;2.Role 所对应的用户,导出办法:a)登陆SAP GUI;b)输入T-code:”suim”,进入User Information Systemc)依次展开User Information System >> Where-Used List >> Roles >> In Users ,通过按钮执行;d)Users by Complex Selection Criteria 这里不加任何条件通过按钮执行即可输出所有用户针对当前系统Cliente)输出结果如下:f)当您通过按钮执行后,则会出现角色和用户的对应关系,执行结果如下:将上述结果可以通过输出电子表方式到本地。
更多SAP资料以及学习方法,请登录51SAP教育中心查看教你如何用WORD文档(2012-06-27 192246)转载▼标签:杂谈1. 问:WORD 里边怎样设置每页不同的页眉?如何使不同的章节显示的页眉不同?答:分节,每节可以设置不同的页眉。
文件――页面设置――版式――页眉和页脚――首页不同。
2. 问:请问word 中怎样让每一章用不同的页眉?怎么我现在只能用一个页眉,一改就全部改了?答:在插入分隔符里,选插入分节符,可以选连续的那个,然后下一页改页眉前,按一下“同前”钮,再做的改动就不影响前面的了。
简言之,分节符使得它们独立了。
这个工具栏上的“同前”按钮就显示在工具栏上,不过是图标的形式,把光标移到上面就显示出”同前“两个字来。
3. 问:如何合并两个WORD 文档,不同的页眉需要先写两个文件,然后合并,如何做?答:页眉设置中,选择奇偶页不同与前不同等选项。
SAP中PDF格式打印输出
方式一:较简便在SAP应用中,用户有时会要求将需要打印的内容转化成PDF格式的文件,例如将销售订单打印输出成PDF文件作为邮件附件发送给客户。
解决方法:SAP提供了一个标准程序RSTXPDFT4(Convert SAPscript (OTF) or ABAP Lists Spool Job by PDF)可以实现这一功能,你可以用SA38执行这个程序,或者用SE93为用户创建一个自定义的Transaction code映射到这个标准程序。
首先将所需打印的内容输出到SAP打印队列,运行上述标准程序或自定义的T-code,运行后选择屏幕中的“Spool request”选项值,可以通过执行T-code:SP01或SP02查询Spool request,填入你所要转换的打印队列号“Spool no.”,并定义输出后PDF文件名,按F8执行即可。
方式二:1、使用T-Code:SPAD启动打印配置2、在“Configuration” 菜单下,执行"Output Device"3.按“修改”按钮进入修改模式,用"Output Device " 菜单上"Create"4.输入Output Device 的命字,例如LP02;设置Device Type 为“CNSAPWIN : MS Windows driver viaSAPLPD” ,并将Device Class设置为"Standard".5. 在"Access Method" Tab的参数中设置如下:F 前端打印表示在打印时可以手动选择本地计算机上的打印机。
6. 需要打印时,系统会提示选择客户端安装的PDF生成器,用户可选择立即打印;也可选择提交到打印池中,稍后用T-Code:SP02手工执行批量打印。
PDF生成器向大推荐PDF XChnageF 3.0,可以设置批量生成文件到指定文件夹,单张纸面上打印多页内容等,比Adobe Acrobat带的PDF生成器更强大。
SAP_BOM数据导出方法步骤
步骤及内容 4.进入“显示多级 BOM”界面。
图例
5.如果原有界面里没有列出所需 要的资料,如“凭证号”等,则 点击“布局”按钮,出现“更改 格式”窗口。
6.在右侧的“列设置”栏内,选 择需要添加的内容。 如需添加 “凭 证”项目的内容,双击“凭证” , 或者选择“凭证”后再点击向左 的按钮。
步骤及内容 7.此时,左侧的“显示的列”内, 已经添加了“凭证”项目。
12.系统弹出保存窗口,选择保存 路径和文件名称即可。
图例
8.依照此办法,可增加其他项目。 相反,也可对左侧现有显示的列 进行删除。点击左下角的“√(确 认)”按钮,确认退出。
9. 列 图 中 已 经 显Fra bibliotek示 刚 才 增 加 的 “凭证”和“凭证版本”两项内 容。
步骤及内容 10.如要将数据导出为电子档,则 选左上方的“电子表格”按钮。
图例
11.系统弹出“选择电子表格”窗 口。选择所要导出文件的格式, 然后点击左下角的 “√(确认)” 键。
如果原有界面里没有列出所需要的资料如凭证号等则点击布局按钮出现更改格式窗口
SAP 物料 BOM 数据导出方法
步骤及内容 1.进入 SAP 主界面,在命令输入 框内输入“CS12”后回车,或者 选择 “CS12-多层 BOM” 后双击。 图例
2.进入了“展开 BOM:多层 BOM: 初始屏幕” 。
3.在“物料”中输入物料的 SAP 代码。 在“工厂” 中输入 BOM 所处的工 厂代码(如 5250)。 在“BOM 用途”中输入该 BOM 的用途项“3” 。 在 “BOM” 应用程序中选择 “BEST” 选项。 然后回车。
SAP日记-ABAP - SMARTFORMS导出PDF的三种方式
SAP日记-ABAP - SMARTFORMS导出PDF的三种方式SAP日记-ABAP SMARTFORMS导出PDF有几种方式1、安装pdf打印程序,在sap打印界面选择改打印程序即可适合打印PDF的个别用户。
2、把smartform打印到spool.然后在事务码SP02里面查到spool号复制spool号 SE38 执行RSTXPDFT4即可3、调用GUI_DOWNLOAD此处仅为打印代码CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTINGFORMNAME = 'ZSDK006' “SMARTFORMS名称 IMPORTINGFM_NAME = FM_NAME EXCEPTIONSNO_FORM = 1 NO_FUNCTION_MODULE = 2 OTHERS = 3.CLEAR:OUTPUT_OPTIONS.CONTROL_PARAMETERS-GETOTF = 'X'. CONTROL_PARAMETERS-NO_DIALOG = 'X'. OUTPUT_OPTIONS-TDNOPREV = 'X'.CALL FUNCTION FM_NAME EXPORTINGOUTPUT_OPTIONS = OUTPUT_OPTIONS\ CONTROL_PARAMETERS =CONTROL_PARAMETERSIMPORTINGJOB_OUTPUT_INFO = T_OTFDATA TABLESGT_ITAB = ITAB “内表 EXCEPTIONSFORMATTING_ERROR = 1 INTERNAL_ERROR = 2 SEND_ERROR = 3 USER_CANCELED = 4 OTHERS = 5. IF SY-SUBRC <> 0.MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.*************此处为导出PDFT_OTF[] = T_OTFDATA-OTFDATA[]. CALL FUNCTION 'CONVERT_OTF' EXPORTINGFORMAT = 'PDF' MAX_LINEWIDTH = 132IMPORTINGBIN_FILESIZE = W_BIN_FILESIZE TABLESOTF = T_OTF LINES = T_PDF_TAB EXCEPTIONSERR_MAX_LINEWIDTH = 1 ERR_FORMAT = 2ERR_CONV_NOT_POSSIBLE = 3 OTHERS = 4. IF SY-SUBRC <> 0.MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.*---------------TAKING THE DOWNLOAD FILE PATH AS USER INPUT** DATA UATYPE I.CONCATENATE 'D:\\' KUNNR NAME1 ZDATE1+0(6) '对账单.pdf' INTO FILE_NAME.“定义文件名这一段不屏蔽,在打印的时候会有显示选择路径的对话框,屏蔽则直接保存在上面的文件名FILE_NAME指定的路径* CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG * EXPORTING* DEFAULT_FILE_NAME = FILE_NAME * CHANGING* FILENAME = FILE_NAME * PATH =FILE_PATH * FULLPATH = FULL_PATH * USER_ACTION= UA * EXCEPTIONS* CNTL_ERROR = 1 * ERROR_NO_GUI = 2 *NOT_SUPPORTED_BY_GUI = 3 * OTHERS = 4. * IF SY-SUBRC <> 0.* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1SY-MSGV2 SY-MSGV3 SY-MSGV4. * ELSE.* IF UA = 0.* Download the file to the selected path ************************CALL FUNCTION 'GUI_DOWNLOAD' EXPORTINGBIN_FILESIZE = W_BIN_FILESIZEFILENAME = FILE_NAME FILETYPE = 'BIN' IMPORTINGFILELENGTH = W_FILESIZE TABLESDATA_TAB = T_PDF_TAB EXCEPTIONSFILE_WRITE_ERROR = 1 NO_BATCH = 2GUI_REFUSE_FILETRANSFER = 3 INVALID_TYPE = 4NO_AUTHORITY = 5 UNKNOWN_ERROR = 6HEADER_NOT_ALLOWED = 7 SEPARATOR_NOT_ALLOWED = 8\ FILESIZE_NOT_ALLOWED = 9 HEADER_TOO_LONG =10 DP_ERROR_CREATE = 11 DP_ERROR_SEND =12 DP_ERROR_WRITE = 13 UNKNOWN_DP_ERROR =14 ACCESS_DENIED = 15 DP_OUT_OF_MEMORY =16 DISK_FULL = 17 DP_TIMEOUT =18 FILE_NOT_FOUND = 19 DATAPROVIDER_EXCEPTION =20 CONTROL_FLUSH_ERROR = 21 OTHERS =22.IF SY-SUBRC <> 0.MESSAGE 'File not downloaded' TYPE 'I'. ELSE.ENDIF. * ENDIF. * ENDIF.第一种和第二种都可在用户突然需要PDF文件的时候应用,不需要写程序,第三种则应用在用户需要经常导出PDF格式时;第二种也可以通过SUBMIT 调用 RSTXPDFT4 执行。
SAP系统中最常用的打印方式使用手册
发行日期:2007.11.16文件名称: SAP系统中最常用的打印方式使用手册目录前言 (2)SAPLPD前台打印(DEFAULT) (3)直接前台Windows打印机打印(DEFAULT_G) (4)SAP打印服务器打印 (5)SAP系统中通过E-mail打印(mail打印) (6)总结 (7)发行日期:2007.11.16文件名称: SAP系统中最常用的打印方式使用手册前言SAP打印虽然是SAP用户最常用的一种日常作业,但大多数SAP用户对SAP的SAP打印认识都非常模糊,现在我们将SAP最常用的几种打印方式介绍如下:1、SAPLPD前台打印(DEFAULT): SAPGUI通过安装在客户端的SAPLPD程序打印。
2、直接前台Windows打印机打印(DEFAULT_G):SAPGUI直接调用windows打印机打印。
3、SAP打印服务器打印: 将所有SAP打印请求发送到指定的SAP打印服务器上,由打印服务器输出打印结果。
4、Email打印: 直接将打印结果通过EMAIL发送给指定的用户相关文档:《如何检查SAPGUI的补丁级别》《SAP打印服务器的配置》发行日期:2007.11.16文件名称: SAP系统中最常用的打印方式使用手册SAPLPD前台打印(DEFAULT打印)通过调用前台SAPLPD应用程序进行打印,虽然操作简单,但较占用系统资源,打印效率不高,速度较慢,且不能用于SAP后台作业打印和批量打印作业。
虽然是目前应用最广泛的打印方式,但在打印页数和数量较多的情况下不建议使用。
前台打印(DEFAULT)步骤如下:1、选择输出设备和2、选择本地安装的打印机3、确认打印2、系统将自动启动PC端的SAPLPD应用程序并输出打印结果发行日期:2007.11.16文件名称: SAP系统中最常用的打印方式使用手册直接前台Windows打印机打印(DEFAULT_G打印) 相对于DEFAULT打印,DEFAULT_G打印由于直接调用windows打印机,而不通过前台SAPLPD 应用程序,相比DEFAULT的打印方式而言,速度较快,但这种打印方法同样不能用于SAP 后台作业的打印和批量打印作业。
SAP设置打印格式
SAP 自学笔记系列SAP 新建打印格式SAP 默认为列表打印提供了X_65_132、X_65_255、X_58_170、X_65_80、X_90_120 等多种打印格式,其中前三种是A4 纸横向打印,而后两种是纵向打印。
我们一般使用纵向打印比较多,但是我们也发现X_65_80 用的是四号字(12pt),有时候觉得有点大,而X_90_120 用的是六号字(大约是8pt),又太小了,怎么没有一个折中的字体格式呢?SAP 不提供,我们只好自己来建了。
一、SPAD,假脱机管理首先,输入事务码SPAD(ECC5 的菜单路径是“工具-CCMS-Print-Spool Administration”),假脱机管理。
也就是管理跟打印相关的基础设置。
界面如下:为了设置打印格式,我们需要点击“完全管理”按钮。
可以看到,“完全管理”比“简单管理”多出了三个选项卡,分别是“设备类型”、“字符集”和“管理员”。
顺便说一句,“扩展管理”仅比“简单管理”多一个“管理员”选项卡,而比“完全管理”少了“设备类型”和“字符集”。
对于每个选项卡中的功能,这里就不一一说明了,因为我还没全部研究过。
接下来点击“设备类型”选项卡,出现如下界面:32在“设备类型”选项卡种,有“设备类型”、“打印控制”、“格式类型”、“页格式”、“封面文本”等几个按钮,分别进行相应类别信息的管理。
它们的管理顺序基本上是越下面越接近物理层,越上面越接近逻辑层。
具体来说:“页格式”对应于最基本的纸张大小和方向,如A4、B5、信封、连续纸等等;“格式类型”对应纸张中显示多少行多少列文本或用于哪种形式的打印(是列表、SAPscript 或其他);“打印控制”用于定义控制打印的基本命令,如每英寸多少行多少列、换行换页等等命令;“设备类型”用于定义SAP 系统中所能控制的打印机,以及对每个具体打印机所使用的格式类型、打印控制命令等。
“封面文本”我没有用到过,不知道具体在什么情况下使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SAP中PDF格式打印输出
方式一:較簡便
在SAP應用中,用戶有時會要求將需要列印的內容轉化成PDF格式的檔,例如將銷售訂單列印輸出成PDF檔作為郵件附件發送給客戶。
解決方法:SAP提供了一個標準程式RSTXPDFT4(Convert SAPscript (OTF) or ABAP Lists Spool Job by PDF)可以實現這一功能,你可以用SA38執行這個程式,或者用SE93為用戶創建一個自定義的Transaction code映射到這個標準程式。
首先將所需列印的內容輸出到SAP列印佇列,運行上述標準程式或自定義的T-code,運行後選擇螢幕中的“Spool request”選項值,可以通過執行T-code:SP01或SP02查詢Spool request,填入你所要轉換的列印佇列號“Spool no.”,並定義輸出後PDF檔案名,按F8執行即可。
方式二:
1、使用T-Code:SPAD啟動列印配置管理
2、在“Configuration” 功能表下,執行"Output Device"
3.按“修改”按鈕進入修改模式,用"Output Device " 菜單上"Create"
4.輸入Output Device 的命字,例如LP02;設置Device Type 為“CNSAPWIN : MS Windows driver via SAPLPD” ,並將Device Class設置為"Standard".
5. 在"Access Method" Tab的參數中設置如下:F 前端列印表示在列印時可以手動選擇本地電腦上安裝的印表機。
6. 需要列印時,系統會提示選擇用戶端安裝的PDF生成器,用戶可選擇立即列印;也可選擇提交到列印池中,稍後用T-Code:SP02手工執行批量列印。
PDF生成器向大推薦PDF XChnageF 3.0,可以設置批量生成檔到指定檔夾,單張紙面上列印多頁內容等,比Adobe Acrobat帶的PDF生成器更強大。