CE PLUS - Nota 008779

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

Versões Tratadas

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 .

...