You are on page 1of 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