Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 05/08/2009 00:00:00
Data/Hora Última Alteração: 03/02/2010 17:13:40
Descrição da Nota: CRIADO UMA MIRO DINAMICA DEVIDO VERSÃO DO CLIENTE 46B
Sintoma
Desenvolvimento de códigos dinamicos devido a versão do cliente 46B
Solução
Desenvolvimento de códigos dinamicos devido a versão do cliente 46B
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08779 Data: 05/08/2009 Hora: 15:06:02
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08779
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00010
Agrupamento : 00109
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
Texto Rápido:
CRIADO UMA MIRO DINAMICA DEVIDO VERSÃO DO CLIENTE 46B
----------------------------------------------------------------------------------------------------
Palavras Chave:
MIRO - DINAMICA - 46B
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003X01
REPS /PWS/MZYCI017F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
READ TABLE itab_zyglt100 WITH KEY
zexit = 'FAT009' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
e_estorno = 'REC_MR1M' .
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
IF e_subrc EQ 0.
* >> Início da exclusão: FORM MIRO_AM_LA
CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'
EXPORTING
headerdata = wa_headerdata
IMPORTING
invoicedocnumber = v_belnr_mr1m
fiscalyear = v_gjahr
TABLES
itemdata = itab_itemdata
accountingdata = itab_account
glaccountdata = itab_glaccount
return = itab_return.
* << Fim da exclusão
* >> Início da inclusão: FORM MIRO_AM_LA
perform miro_dinamica.
* << Fim da inclusão
IF NOT v_belnr_mr1m IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
MESSAGE i010 WITH v_belnr_mr1m.
CLEAR: v_awkey.
CONCATENATE v_belnr_mr1m v_gjahr INTO v_awkey.
SELECT SINGLE belnr FROM bkpf INTO v_doc_miro
WHERE awtyp EQ 'RMRP'
AND awkey EQ v_awkey.
...
...
SORT itab_zycit003_aux BY ebeln.
CLEAR v_pg_ant2.
LOOP AT itab_zycit003_aux.
READ TABLE itab_zycbt117 WITH KEY ebeln = itab_zycit003_aux-ebeln.
IF sy-subrc EQ 0.
v_pg_ant2 = 'X'.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.
* >> Início da inclusão:
form miro_dinamica.
IF sy-saprl+0(3) NE '46B'.
DATA: t_prog(72) TYPE c OCCURS 1000 WITH HEADER LINE.
DATA: w_prog LIKE trdir-name.
APPEND 'report sy-repid MESSAGE-ID /pws/zycim.' "#EC NOTEXT
TO t_prog.
APPEND
' DATA: wa_headerdata like bapi_incinv_create_header,' "#EC NOTEXT
TO t_prog.
APPEND
' v_belnr_mr1m TYPE /pws/zycie006-belnr_mr1m, ' "#EC NOTEXT
TO t_prog.
APPEND
' itab_itemdata TYPE bapi_incinv_create_item ' "#EC NOTEXT
TO t_prog.
APPEND
' OCCURS 0 WITH HEADER LINE,' "#EC NOTEXT
TO t_prog.
APPEND
'itab_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE, ' "#EC NOTEXT
TO t_prog.
APPEND
' itab_account TYPE bapi_incinv_create_account ' "#EC NOTEXT
TO t_prog.
APPEND
' OCCURS 0 WITH HEADER LINE,' "#EC NOTEXT
TO t_prog.
APPEND
' itab_glaccount2 TYPE bapi_incinv_create_gl_account' "#EC NOTEXT
TO t_prog.
APPEND
' OCCURS 0 WITH HEADER LINE,' "#EC NOTEXT
TO t_prog.
APPEND
' v_gjahr TYPE /pws/zycbe033-gjahr .' "#EC NOTEXT
TO t_prog.
APPEND
'DATA: begin of itab_glaccount occurs 0,' "#EC NOTEXT
TO t_prog.
APPEND
'INVOICE_DOC_ITEM like BAPI_INCINV_CREATE_ACCOUNT-INVOICE_DOC_ITEM,'
"#EC NOTEXT
TO t_prog.
APPEND
'GL_ACCOUNT like BAPI_INCINV_CREATE_ACCOUNT-GL_ACCOUNT ,' "#EC NOTEXT
TO t_prog.
APPEND
'item_amount like BAPI_INCINV_CREATE_ACCOUNT-item_amount ,' "#EC NOTEXT
TO t_prog.
APPEND
'DB_CR_IND like BSEG-SHKZG ,' "#EC NOTEXT
TO t_prog.
APPEND
'COMP_CODE like /pws/zycit001-bukrs,' "#EC NOTEXT
TO t_prog.
APPEND
'tax_code like BAPI_INCINV_CREATE_ACCOUNT-tax_code ,' "#EC NOTEXT
TO t_prog.
APPEND
'PROFIT_CTR like BAPI_INCINV_CREATE_ACCOUNT-PROFIT_CTR ,' "#EC NOTEXT
TO t_prog.
APPEND
'end of itab_glaccount.' "#EC NOTEXT
TO t_prog.
APPEND ' form f_exec_open ' "#EC NOTEXT
TO t_prog.
APPEND ' tables itab_itemdata structure itab_itemdata' "#EC NOTEXT
TO t_prog.
APPEND ' itab_account structure itab_account ' "#EC NOTEXT
TO t_prog.
APPEND ' itab_glaccount structure itab_glaccount' "#EC NOTEXT
TO t_prog.
APPEND ' itab_return structure itab_return ' "#EC NOTEXT
TO t_prog.
APPEND ' changing v_belnr_mr1m ' "#EC NOTEXT
TO t_prog.
APPEND ' v_gjahr ' "#EC NOTEXT
TO t_prog.
APPEND ' wa_headerdata structure wa_headerdata .' "#EC NOTEXT
TO t_prog.
APPEND 'loop at itab_glaccount. ' "#EC NOTEXT
TO t_prog.
APPEND
'move-corresponding itab_glaccount to itab_glaccount2. ' "#EC NOTEXT
TO t_prog.
APPEND 'append itab_glaccount2. ' "#EC NOTEXT
TO t_prog.
APPEND 'endloop. ' "#EC NOTEXT
TO t_prog.
APPEND
'CALL FUNCTION ''BAPI_INCOMINGINVOICE_CREATE'' ' "#EC NOTEXT
TO t_prog.
APPEND
' EXPORTING' "#EC NOTEXT
TO t_prog.
APPEND
' headerdata = wa_headerdata ' "#EC NOTEXT
TO t_prog.
APPEND
' IMPORTING' "#EC NOTEXT
TO t_prog.
APPEND
' invoicedocnumber = v_belnr_mr1m ' "#EC NOTEXT
TO t_prog.
APPEND
' fiscalyear = v_gjahr' "#EC NOTEXT
TO t_prog.
APPEND
' TABLES' "#EC NOTEXT
TO t_prog.
APPEND
' itemdata = itab_itemdata ' "#EC NOTEXT
TO t_prog.
APPEND
' accountingdata = itab_account' "#EC NOTEXT
TO t_prog.
APPEND
' glaccountdata = itab_glaccount2 ' "#EC NOTEXT
TO t_prog.
APPEND
' return = itab_return. ' "#EC NOTEXT
TO t_prog.
APPEND 'endform.' TO t_prog.
GENERATE SUBROUTINE POOL t_prog NAME w_prog. "#EC CI_GENERATE
IF sy-subrc = 0.
PERFORM f_exec_open IN PROGRAM (w_prog)
TABLES
itab_itemdata
itab_account
itab_glaccount
itab_return
CHANGING
v_belnr_mr1m
v_gjahr
wa_headerdata
IF FOUND.
ENDIF.
ENDIF.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003X01
...
DATA: BEGIN OF wa_fornec_fat,
lifnr TYPE lfa1-lifnr,
name1 TYPE lfa1-name1,
END OF wa_fornec_fat.
DATA: wa_headerdata TYPE bapi_incinv_create_header,
v_belnr_mr1m TYPE /pws/zycie006-belnr_mr1m,
itab_itemdata TYPE bapi_incinv_create_item
OCCURS 0 WITH HEADER LINE,
itab_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE,
itab_account TYPE bapi_incinv_create_account
* >> Início da exclusão:
OCCURS 0 WITH HEADER LINE,
itab_glaccount TYPE bapi_incinv_create_gl_account
* << Fim da exclusão
OCCURS 0 WITH HEADER LINE.
* >> Início da inclusão:
DATA: begin of itab_glaccount occurs 0,
INVOICE_DOC_ITEM like BAPI_INCINV_CREATE_ACCOUNT-INVOICE_DOC_ITEM,
GL_ACCOUNT like BAPI_INCINV_CREATE_ACCOUNT-GL_ACCOUNT ,
item_amount like BAPI_INCINV_CREATE_ACCOUNT-item_amount ,
DB_CR_IND like BSEG-SHKZG ,
COMP_CODE like /pws/zycit001-bukrs,
tax_code like BAPI_INCINV_CREATE_ACCOUNT-tax_code ,
PROFIT_CTR like BAPI_INCINV_CREATE_ACCOUNT-PROFIT_CTR ,
end of itab_glaccount.
* << Fim da inclusão
DATA v_tot_vlreal LIKE /pws/zycit003-vlreal.
DATA v_loop TYPE i.
DATA v_return(40) TYPE c.
DATA: value(132).
DATA: BEGIN OF f_tab OCCURS 10.
INCLUDE STRUCTURE help_value.
DATA: END OF f_tab.
DATA: BEGIN OF v_tab OCCURS 200,
value(40) TYPE c,
END OF v_tab.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI017F01
...
CLEAR v_zuonr.
CALL FUNCTION '/PWS/ZYCI_TEXTOS_CONTABEIS'
EXPORTING
v_nrfat = itab_zycit006-nrfat
v_nrseq = /pws/zycie001-nrseq
v_nfnum = wa_nf-nfnum
v_codeven = '006M'
IMPORTING
v_xblnr = v_xblnr
v_zuonr = v_zuonr.
* >> Início da exclusão: FORM FILL_DATE_MR1M
wa_headerdata-alloc_nmbr = v_zuonr.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_MR1M
IF sy-saprl+0(3) NE '46B'.
DATA: t_prog(72) TYPE c OCCURS 1000 WITH HEADER LINE.
DATA: w_prog LIKE trdir-name.
APPEND 'report sy-repid MESSAGE-ID /pws/zycim.' "#EC NOTEXT
TO t_prog.
APPEND
' DATA: wa_headerdata like bapi_incinv_create_header.' "#EC NOTEXT
TO t_prog.
APPEND ' form f_exec_open using v_zuonr ' "#EC NOTEXT
TO t_prog.
APPEND
' changing wa_headerdata structure wa_headerdata . ' "#EC NOTEXT
TO t_prog.
APPEND
' wa_headerdata-alloc_nmbr = v_zuonr.' "#EC NOTEXT
TO t_prog.
APPEND 'endform.' TO t_prog.
GENERATE SUBROUTINE POOL t_prog NAME w_prog. "#EC CI_GENERATE
IF sy-subrc = 0.
PERFORM f_exec_open IN PROGRAM (w_prog) USING v_zuonr
CHANGING
wa_headerdata
IF FOUND.
ENDIF.
endif.
* << Fim da inclusão
IF NOT v_xblnr IS INITIAL.
wa_headerdata-ref_doc_no = v_xblnr.
ELSE.
wa_headerdata-ref_doc_no = itab_zycie033-bktxt.
ENDIF.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI017'
'RCB006'.
e_subrc = 0.
CLEAR itab_zyglt100 .
...