FM POSTING_INTERFACE_CLEARING usage

REPORT  ztest.

*--------------------------------------------------------------------*
*  INTERNAL TABLE DECLARATION
*--------------------------------------------------------------------*
DATA: it_blntab TYPE TABLE OF blntab WITH HEADER LINE,
      it_ftclear TYPE TABLE OF ftclear WITH HEADER LINE,
      it_ftpost TYPE TABLE OF ftpost WITH HEADER LINE,
      it_fttax TYPE TABLE OF fttax WITH HEADER LINE.


*--------------------------------------------------------------------*
*  START-OF-SELECTION
*--------------------------------------------------------------------*
START-OF-SELECTION.
  DEFINE populate_ftpost.
    it_ftpost-stype = &1.
    it_ftpost-count = &2.
    it_ftpost-fnam  = &3.
    it_ftpost-fval  = &4.
    append it_ftpost.
  END-OF-DEFINITION.

  DEFINE populate_ftclear.
    it_ftclear-agkoa  = 'D'.
    it_ftclear-agbuk  = 'XXXX'. "company code
    it_ftclear-selfd  = 'BELNR'.
    it_ftclear-xnops  = 'X'.
    it_ftclear-selvon = &1.
    append it_ftclear.
  END-OF-DEFINITION.

  CALL FUNCTION 'POSTING_INTERFACE_START'
    EXPORTING
      i_function         = 'C'
      i_keep             = 'X'
      i_mode             = 'A'
    EXCEPTIONS
      client_incorrect   = 1
      function_invalid   = 2
      group_name_missing = 3
      mode_invalid       = 4
      update_invalid     = 5
      OTHERS             = 6.

  populate_ftpost: 'K' 1 'BKPF-BUKRS' 'BUKRS', "Company code
                   'K' 1 'BKPF-BLART' 'DA',
                   'K' 1 'BKPF-BLDAT' '16.09.2010',
                   'K' 1 'BKPF-BUDAT' '16.09.2010',
                   'K' 1 'BKPF-WAERS' 'RMB',
                   'K' 1 'BKPF-XBLNR' 'Test',
                   'P' 1 'RF05A-NEWBS' '11',
                   'P' 1 'BSEG-HKONT' '0090000052',
                   'P' 1 'BSEG-SGTXT' '20100916-01',
                   'P' 1 'BSEG-WRBTR' '52'.
  populate_ftclear '78000020772008001'. "concatenate doc number + fiscal year + line number
  CALL FUNCTION 'POSTING_INTERFACE_CLEARING'
    EXPORTING
      i_auglv                          = 'UMBUCHNG'
      i_tcode                          = 'FB05'
      i_sgfunct                        = 'C'
   IMPORTING
      e_msgid                          = sy-msgid
      e_msgno                          = sy-msgno
      e_msgty                          = sy-msgty
      e_msgv1                          = sy-msgv1
      e_msgv2                          = sy-msgv2
      e_msgv3                          = sy-msgv3
      e_msgv4                          = sy-msgv4
*      E_SUBRC                          = SY-SUBRC
    TABLES
      t_blntab                         = it_blntab
      t_ftclear                        = it_ftclear
      t_ftpost                         = it_ftpost
      t_fttax                          = it_fttax
    EXCEPTIONS
      clearing_procedure_invalid       = 1
      clearing_procedure_missing       = 2
      table_t041a_empty                = 3
      transaction_code_invalid         = 4
      amount_format_error              = 5
      too_many_line_items              = 6
      company_code_invalid             = 7
      screen_not_found                 = 8
      no_authorization                 = 9
      OTHERS                           = 10.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  CALL FUNCTION 'POSTING_INTERFACE_END'
    EXCEPTIONS
      session_not_processable = 1
      OTHERS                  = 2.

你可能感兴趣的:(C++,c,C#)