0% found this document useful (0 votes)
95 views10 pages

SAP BAPI Document Posting Report

This document defines a SAP report called ZTEST_BAPI_F02 that performs a BAPI call to post a financial document. It includes parameters, data definitions, and forms to fill internal tables with sample data for the document header, general ledger, receivables, payables, taxes, and currency amounts before making the BAPI call. Error messages returned from the call are then displayed.

Uploaded by

Armando Jiménez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views10 pages

SAP BAPI Document Posting Report

This document defines a SAP report called ZTEST_BAPI_F02 that performs a BAPI call to post a financial document. It includes parameters, data definitions, and forms to fill internal tables with sample data for the document header, general ledger, receivables, payables, taxes, and currency amounts before making the BAPI call. Error messages returned from the call are then displayed.

Uploaded by

Armando Jiménez
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

*&---------------------------------------------------------------------*

*& Report  ZTEST_BAPI_F02
*&---------------------------------------------------------------------*

REPORT ZTEST_BAPI_F02.

PARAMETErS:
  ref_soc like coep-bukrs,
  ref_date like sy-datum.

data:
  gd_documentheader    like bapiache09,
*  gd_customercpd       like bapiacpa09,
*  gd_fica_hd           like bapiaccahd,
  it_accountreceivable like table of bapiacar09 with header line,
  it_accountgl         like table of bapiacgl09 with header line,
  it_accounttax        like table of bapiactx09 with header line,
*  it_criteria          like table of bapiackec9 with header line,
*  it_valuefield        like table of bapiackev9 with header line,
  it_currencyamount    like table of bapiaccr09 with header line,
  it_return            like table of bapiret2   with header line,
*  it_receivers         like table of bdi_logsys with header line,
*  it_fica_it           like table of bapiaccait with header line,
  it_accountpayable    like table of bapiacap09 with header line.
*  it_paymentcard       like table of bapiacpc09 with header line,
*  it_ext               like table of bapiacextc with header line.
*  it_re                LIKE TABLE OF bapiacre09 WITH HEADER LINE,
*  it_ext2              LIKE TABLE OF bapiparex  WITH HEADER LINE.

perform fill_internal_tables.

  call function 'BAPI_ACC_DOCUMENT_POST' "Se cambio por la Check
       exporting
            documentheader    = gd_documentheader
*            customercpd       = gd_customercpd
*            contractheader    = gd_fica_hd
       tables
            accountgl         = it_accountgl
            accountreceivable = it_accountreceivable
            accountpayable    = it_accountpayable
            accounttax        = it_accounttax
            currencyamount    = it_currencyamount
*            criteria          = it_criteria
*            valuefield        = it_valuefield
*            extension1        = it_ext
            return            = it_return.
*            paymentcard       = it_paymentcard
*            contractitem      = it_fica_it.
*            extension2        = it_ext2
*            realestate        = it_re.

break ajimenez-ext.
  write: / 'Result of check lines:'.                        "#EC NOTEXT
  perform show_messages.

commit work.

*---------------------------------------------------------------------*
*      Form  fill_internal_tables
*---------------------------------------------------------------------*
form fill_internal_tables.

  perform fill_header.
  perform fill_accountgl.
  perform fill_accountar.
*  perform fill_accountap.
  perform fill_accounttax.
  perform fill_currencyamount.
*  perform fill_criteria.
*  perform fill_valuefield.
*  perform fill_re.
*  perform fill_cpd.
*  perform fill_contractitem.
*  perform fill_contractheader.
*  perform fill_paymentcard.
*  perform fill_extension.

endform.                               " fill_internal_tables

*---------------------------------------------------------------------*
*      Form  Show_messages
*---------------------------------------------------------------------*
form show_messages.

  if it_return[] is initial.
    write: / 'no messages'.
  else.
    read table it_return with key type = 'E'.
    IF SY-subrc <> 0.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    ENDIF.
    skip 1.
    loop at it_return.
      write: /    it_return-type,
             (2)  it_return-id,
                  it_return-number,
             (80) it_return-message,
*                 IT_RETURN-LOG_NO
*                 IT_RETURN-LOG_MSG_NO
                  it_return-message_v1,
*                 IT_RETURN-MESSAGE_V2
*                 IT_RETURN-MESSAGE_V3
*                 IT_RETURN-MESSAGE_V4
             (20) it_return-parameter,
             (3)  it_return-row,
                  it_return-field.
*                 IT_RETURN-SYSTEM
    endloop.
  endif.

  uline.

endform.                               " Show_messages

*---------------------------------------------------------------------*
*       FORM fill_accountgl                                           *
*---------------------------------------------------------------------*
form fill_accountgl.

  clear it_accountgl.
  it_accountgl-itemno_acc    = 1.
  it_accountgl-gl_account    = '0060066300'.   "PARA PAGOS AQUI VA LA CUE
NTA'0021129311'.
  it_accountgl-item_text     = 'CARGA BAPI'.  "#EC NOTEXT
* it_accountgl-bus_area       = '01'.
  it_accountgl-alloc_nmbr    = 'CARGA BAPI'.
  it_accountgl-tax_code      = 'W3'.   "WE PARA CUANDO LLEVE IVA Y SE COM
ENTA PARA CUANDO SEA PARA PAGOS
  it_accountgl-costcenter    = '7501020300'.   "PARA CUANDO ES PARA PAGOS 
VA COMENTADO
* it_accountgl-comp_code      = 'SLOC'.
  append it_accountgl.

  clear it_accountgl.
  it_accountgl-itemno_acc    = 3.
  it_accountgl-gl_account    = '0060066300'.   "PARA PAGOS AQUI VA LA CUE
NTA'0021129311'.
  it_accountgl-item_text     = 'CARGA BAPI'.  "#EC NOTEXT
* it_accountgl-bus_area       = '01'.
  it_accountgl-alloc_nmbr    = 'CARGA BAPI'.
  it_accountgl-tax_code      = 'W3'.   "WE PARA CUANDO LLEVE IVA Y SE COM
ENTA PARA CUANDO SEA PARA PAGOS
  it_accountgl-costcenter    = '7501020300'.   "PARA CUANDO ES PARA PAGOS 
VA COMENTADO
* it_accountgl-comp_code      = 'SLOC'.
  append it_accountgl.
endform.                    "fill_accountgl

*---------------------------------------------------------------------*
*       FORM fill_header                                              *
*---------------------------------------------------------------------*
form fill_header.

*  CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
*    IMPORTING
*      own_logical_system = gd_documentheader-obj_sys.

* OBJ_TYPE has to be replaced by customers object key (Y* or Z*)
*  gd_documentheader-obj_type   = 'IDOC'.
*  gd_documentheader-obj_key    = ref_soc.
  gd_documentheader-username   = 'IDAVILA'."sy-uname.
  gd_documentheader-header_txt = 'BAPI PRUEBA 3'.               "#EC NOTE
XT
* gd_documentheader-obj_key_r  =
* GD_DOCUMENTHEADER-reason_rev =
 gd_documentheader-comp_code  = ref_soc.
* GD_DOCUMENTHEADER-AC_DOC_NO  =
*  gd_documentheader-fisc_year  = sy-datum(4).
  gd_documentheader-doc_date   = ref_date.
  gd_documentheader-pstng_date = ref_date.
* GD_DOCUMENTHEADER-TRANS_DATE =
* GD_DOCUMENTHEADER-VALUE_DATE =
* GD_DOCUMENTHEADER-FIS_PERIOD =
 gd_documentheader-doc_type   = 'SA'.
 gd_documentheader-ref_doc_no = 'REFERENCIA BAPI PRUEBA 3'.
* GD_DOCUMENTHEADER-COMPO_ACC  =
  gd_documentheader-bus_act    = 'RFBU'.

endform.                    "fill_header

*---------------------------------------------------------------------*
*       FORM fill_contractheader                                     *
*---------------------------------------------------------------------*
form fill_contractheader.

*  gd_fica_hd-doc_no           =
*  gd_fica_hd-doc_type_ca      =
*  gd_fica_hd-res_key          =
*  gd_fica_hd-fikey            =
*  gd_fica_hd-payment_form_ref =

endform.                    "fill_contractheader

*---------------------------------------------------------------------*
*       FORM fill_ar                                                  *
*---------------------------------------------------------------------*
form fill_accountar.   "ACCOUNTRECEIVABLE

 CLEAR it_accountreceivable.
 it_accountreceivable-itemno_acc = 5.
 it_accountreceivable-customer   = '0000008638'.
 it_accountreceivable-comp_code  = ref_soc.
 it_accountreceivable-alloc_nmbr = 'BAPI PRUEBA ASIGNACION 3'.
 it_accountreceivable-item_text  = 'BAPI PRUEBA TEXTO CAB DOC 3'.
 it_accountreceivable-SP_GL_IND  = 'I'.   "Indicador para cambiar la clav
e de contabilizac.
 APPEND it_accountreceivable.

endform.                    "fill_accountar

*---------------------------------------------------------------------*
*       FORM fill_ap                                                  *
*---------------------------------------------------------------------*
form fill_accountap.

*  clear it_accountpayable.
*  it_accountpayable-itemno_acc = 1.
*  it_accountpayable-vendor_no  = '0000060259'.
*  it_accountpayable-vendor_no  = '0000060693'.
* it_accountpayable-gl_account
* it_accountpayable-ref_key_1
* it_accountpayable-ref_key_2
* it_accountpayable-ref_key_3
* it_accountpayable-comp_code = 'SLOC'.
* it_accountpayable-bus_area = '01'.
* it_accountpayable-pmnttrms = 'A000'.
* it_accountpayable-bline_date
* it_accountpayable-dsct_days1
* it_accountpayable-dsct_days2
* it_accountpayable-netterms
* it_accountpayable-dsct_pct1
* it_accountpayable-dsct_pct2
* it_accountpayable-pymt_meth
* it_accountpayable-pmtmthsupl
* it_accountpayable-pmnt_block
* it_accountpayable-scbank_ind
* it_accountpayable-supcountry
* it_accountpayable-supcountry_iso
* it_accountpayable-bllsrv_ind
* it_accountpayable-alloc_nmbr
*  it_accountpayable-item_text  = 'BAPI Test A/P line item'. "#EC NOTEXT
* it_accountpayable-po_sub_no
* it_accountpayable-po_checkdg
* it_accountpayable-po_ref_no
* it_accountpayable-w_tax_code
* it_accountpayable-businessplace
* it_accountpayable-sectioncode
* it_accountpayable-instr1
* it_accountpayable-instr2
* it_accountpayable-instr3
* it_accountpayable-instr4
* it_accountpayable-branch
* it_accountpayable-pymt_cur
* it_accountpayable-pymt_amt
* it_accountpayable-pymt_cur_iso
* it_accountpayable-sp_gl_ind

*  append it_accountpayable.

endform.                    "fill_accountap

*---------------------------------------------------------------------*
*       FORM fill_tax                                                 *
*---------------------------------------------------------------------*
form fill_accounttax.
*
  clear it_accounttax.
  it_accounttax-itemno_acc = 2.
  it_accounttax-gl_account = '0011724016'.
  it_accounttax-tax_code   = 'W3'.
*  it_accounttax-acct_key   = 'VST'.
*  it_accounttax-cond_key   = 'MWVS'.
* it_accounttax-itemno_tax = 8.
  append it_accounttax.

  clear it_accounttax.
  it_accounttax-itemno_acc = 4.
  it_accounttax-gl_account = '0011724016'.
  it_accounttax-tax_code   = 'W3'.
*  it_accounttax-alloc_nmbr = 'prueba asignacion'.
*  it_accounttax-item_text  = 'prueba texto'.
*  it_accounttax-
*  it_accounttax-acct_key   = 'VST'.
*  it_accounttax-cond_key   = 'MWVS'.
* it_accounttax-itemno_tax = 8.
  append it_accounttax.
endform.                    "fill_accounttax

*---------------------------------------------------------------------*
*       FORM fill_currencyamount                                      *
*---------------------------------------------------------------------*
form fill_currencyamount.
  clear it_currencyamount.
  it_currencyamount-itemno_acc   = 1.
  it_currencyamount-curr_type    = '00'.
  it_currencyamount-currency     = 'MXN'.
  it_currencyamount-amt_doccur   = '1064.66'.
  append it_currencyamount.

  clear it_currencyamount.
  it_currencyamount-itemno_acc   = 2.
  it_currencyamount-curr_type    = '00'.
  it_currencyamount-currency     = 'MXN'.
  it_currencyamount-amt_doccur   = '170.35'.
  it_currencyamount-amt_base     = '1064.66'.
  append it_currencyamount.

  clear it_currencyamount.
  it_currencyamount-itemno_acc   = 3.
  it_currencyamount-curr_type    = '00'.
  it_currencyamount-currency     = 'MXN'.
  it_currencyamount-amt_doccur   = '1105.17'.
  append it_currencyamount.

  clear it_currencyamount.
  it_currencyamount-itemno_acc   = 4.
  it_currencyamount-curr_type    = '00'.
  it_currencyamount-currency     = 'MXN'.
  it_currencyamount-amt_doccur   = '176.83'.
  it_currencyamount-amt_base     = '1105.17'.
  append it_currencyamount.

  clear it_currencyamount.
  it_currencyamount-itemno_acc   = 5.
  it_currencyamount-curr_type    = '00'.
  it_currencyamount-currency     = 'MXN'.
  it_currencyamount-amt_doccur   = '-2517.01'.
  append it_currencyamount.
endform.                    "fill_currencyamount

**---------------------------------------------------------------------*
**       FORM fill_criteria                                            *
**---------------------------------------------------------------------*
*form fill_criteria.
*
** CLEAR it_criteria.
** it_criteria-itemno_acc = 2.
** it_criteria-fieldname = 'BZIRK'.
** it_criteria-character = '000001'.
** append it_criteria.
*
*endform.                    "fill_criteria
*
**---------------------------------------------------------------------*
**       FORM fill_valuefield                                          *
**---------------------------------------------------------------------*
*form fill_valuefield.
*
** CLEAR it_valuefield.
** it_valuefield-itemno_acc = 2.
** it_valuefield-fieldname = 'VV010'.
** it_valuefield-curr_type
** it_valuefield-currency = 'EUR'.
** it_valuefield-currency_iso
** it_valuefield-amt_valcom
** it_valuefield-base_uom
** it_valuefield-base_uom_iso
** it_valuefield-qua_valcom
** append it_valuefield.
*
*endform.                    "fill_valuefield
*
**---------------------------------------------------------------------*
**       FORM fill_extension                                           *
**---------------------------------------------------------------------*
*form fill_extension.
*
** CLEAR it_ext.
** it_ext-field1
** it_ext-field2
** it_ext-field3
** it_ext-field4
** APPEND it_ext.
*
** DATA: ls_zzz TYPE ZZZ_ACCIT.
** CLEAR it_ext2.
** it_ext2-structure = 'ZZZ_ACCIT'.
**  ls_zzz-posnr = 2.
**  ls_zzz-awref_reb = '123654'.
**  ls_zzz-aworg_reb = '654654'.
**  ls_zzz-grant_nbr = '0022002'.
** MOVE ls_zzz TO it_ext2-valuepart1.
** APPEND it_ext2.
*
*endform.                    "fill_extension
*
**---------------------------------------------------------------------*
**       FORM fill_paymentcard                                         *
**---------------------------------------------------------------------*
*form fill_paymentcard.
*
**  CLEAR it_paymentcard.
**  it_paymentcard-itemno_acc = 1.
**  it_paymentcard-cc_glaccount
**  it_paymentcard-cc_type
**  it_paymentcard-cc_number
**  it_paymentcard-cc_seq_no
**  it_paymentcard-cc_valid_f
**  it_paymentcard-cc_valid_t
**  it_paymentcard-cc_name
**  it_paymentcard-dataorigin
**  it_paymentcard-authamount = '100'.
**  it_paymentcard-currency = 'EUR'.
**  it_paymentcard-currency_iso
**  it_paymentcard-cc_autth_no
**  it_paymentcard-auth_refno
**  it_paymentcard-auth_date
**  it_paymentcard-auth_time
**  it_paymentcard-merchidcl
**  it_paymentcard-point_of_receipt
**  it_paymentcard-terminal
**  it_paymentcard-cctyp = '1'.
**  APPEND it_paymentcard.
*
*endform.                    "fill_paymentcard
*
**---------------------------------------------------------------------*
**       FORM fill_contractitem                                        *
**---------------------------------------------------------------------*
*form fill_contractitem.
*
** CLEAR it_fica_it.
**  it_fica_it-itemno_acc
**  it_fica_it-cont_acct
**  it_fica_it-main_trans
**  it_fica_it-sub_trans
**  it_fica_it-func_area
**  it_fica_it-fm_area
**  it_fica_it-cmmt_item
**  it_fica_it-funds_ctr
**  it_fica_it-fund
** append it_fica_it.
*
*endform.                    "fill_contractitem
*
**&---------------------------------------------------------------------*
**&      Form  fill_re
**&---------------------------------------------------------------------*
*form fill_re .
*
**  CLEAR it_re.
**  it_re-itemno_acc      =
**  it_re-business_entity =
**  it_re-building        =
**  it_re-property        =
**  it_re-rental_object   =
**  it_re-serv_charge_key =
**  it_re-settlement_unit =
**  it_re-contract_no     =
**  APPEND it_re.
**
*
*endform.

You might also like