SAP標准界面實現打印功能(VA03/VL03N)標准打印調用自定義打印程序


以VA03為例

1.事務代碼:NACE

 

 VA03屬於銷售  選中V1  點擊輸出類型切換修改 創建新的輸出類型 如圖所示Z*命名的為 自定義輸出類型

 

 選中剛剛創建的自定義輸出類型 點擊處理程序

 

 程序 填寫  自定義打印的程序名 如: ZJRSD002

FORM子程序 填寫  程序中的FORM 如 VA03_PRINT

表格 填寫 自定義的Smartforms

FROM子程序參考代碼如下

FORM va03_print USING cv_returncode  TYPE sysubrc
                       uv_screen      TYPE char1.

  DATA: lt_seltab TYPE TABLE OF rsparams,
        lw_seltab LIKE LINE OF lt_seltab.
  DATA:ls_data TYPE REF TO data.

  FIELD-SYMBOLS: <lt_data> TYPE table,
                 <l_data>  TYPE data.
  FIELD-SYMBOLS <fs_vbak> TYPE vbak .

  ASSIGN ('(SAPMV45A)VBAK')  TO  <fs_vbak>.
  IF sy-subrc EQ 0.
    lw_seltab-selname 'S_VKORG'.
    lw_seltab-sign 'I'.
    lw_seltab-option 'EQ'.
    lw_seltab-low =  <fs_vbak>-vkorg.

    APPEND lw_seltab TO lt_seltab.

    lw_seltab-selname 'S_VBELN'.
    lw_seltab-sign 'I'.
    lw_seltab-option 'EQ'.
    lw_seltab-low =  <fs_vbak>-vbeln.

    APPEND lw_seltab TO lt_seltab.

    cl_salv_bs_runtime_info=>set( display  '' metadata '' data 'X' ).

    SUBMIT zjrsd002 WITH SELECTION-TABLE lt_seltab WITH sy-batch 'X'
                                              WITH rb1 'X'
                                              AND RETURN .


    TRY.
        cl_salv_bs_runtime_info=>get_data_refIMPORTING r_data = ls_data ).
        ASSIGN ls_data->* TO <lt_data>.

      CATCH cx_salv_bs_sc_runtime_info.
        MESSAGE 'UNABLE TO RETRIEVE ALV DATA' TYPE 'E'.
    ENDTRY.

    cl_salv_bs_runtime_info=>clear_all).
    rb1     'X'.
    g_batch 'X'.
    LOOP AT <lt_data> ASSIGNING <l_data>.
      MOVE-CORRESPONDING <l_data> TO gs_alv.
      gs_alv-flag 'X'.
      APPEND gs_alv TO gt_alv.
    ENDLOOP.

    PERFORM frm_print USING '&ZPRN1'.
    " BREAK-POINT .
    CLEAR:cv_returncode, g_batch .
  ENDIF.
ENDFORM .

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM