Professional Documents
Culture Documents
*& 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.