CE PLUS - Nota 006089

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Relatórios

Data/Hora da Publicação: 03/03/2008 00:00:00

Data/Hora Última Alteração: 03/03/2010 17:44:14

Descrição da Nota: CB - 444298 - CODE INSPECTOR E VERIFICAÇÃO AMPLIADA

Sintoma

 

CB - 444298 - Code Inspector e Verificação Ampliada

 

Solução

 

CB - 444298 - Code Inspector e Verificação Ampliada

Versões Tratadas

7.0

Informações Complementares

 

----------------------------------------------------------------------------------------------------

Nota Número 06089 Data: 03/03/2008 Hora: 11:10:03

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 06089

Categoria                : Melhoria

Prioridade               : Baixa

Versão PW.CE             : 7.0

Pacote                   : 00004

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

----------------------------------------------------------------------------------------------------

Texto Rápido:

CB - 444298 - CODE INSPECTOR E VERIFICAÇÃO AMPLIADA

----------------------------------------------------------------------------------------------------

Palavras Chave:

CB - 444298 - CODE INSPECTOR E VERIFICAÇÃO AMPLIADA

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

FUNC /PWS/ZYCB_TRANSACAO_F_30_P

FUNC /PWS/ZYGL_ACCOUNT_MESSAGE

FUNC /PWS/ZYGL_IMPOSTO

FUNC /PWS/ZYGL_TRANSACAO_FBV0_A

FUNC /PWS/ZYGL_TRANSACAO_F_02

FUNC /PWS/ZYGL_TRANSACAO_F_53

RELE F6DK958763 20080303 110712 PWSCB

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_P

 

...

    ENDIF.

    v_last = space.

    v_linhas = 1.

    IF t_dados-flag_nc EQ 'X'.

      v_linhas = 0.

    ENDIF.

    LOOP AT t_zycbt036 WHERE tcode  = t_dados-tcode  AND

                             tabela = t_dados-tabela AND

                             cpochv = t_dados-cpochv.

      v_linhas = v_linhas + 1.

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

      AT LAST.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

      AT LAST."#EC *

* << Fim da inclusão

        v_last = 'X'.

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

      ENDAT.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

      ENDAT."#EC *

* << Fim da inclusão

      WRITE t_zycbt036-residuo TO v_wrbtr CURRENCY t_dados-waers.

      IF t_zycbt036-zuonr IS INITIAL.

        v_zuonr = t_dados-d_zuonr.

...

 

...

        ELSE.

          PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs,

                                   'RF05A-NEWKO' t_dados-d_newko,

                                   'RF05A-NEWUM' t_dados-umskz,

                                   'BDC_OKCODE'  '/00'.

        ENDIF.

      ELSE.

        IF wa_tbsl-koart EQ 'K'.

          PERFORM bdc_screen USING 'SAPMF05A' v_tela.

          PERFORM bdc_field USING 'BSEG-WRBTR' v_wrbtr.

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

          IF v_zbd1t > 0.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

          IF v_zbd1t > 0."#EC PORTABLE

* << Fim da inclusão

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                            chave = v_lanc1.

            IF sy-subrc <> 0.

              PERFORM bdc_field USING 'BSEG-ZBD1T' v_zbd1t.

            ENDIF.

          ENDIF.

          IF NOT t_dados-d_sgtxt IS INITIAL.

            PERFORM bdc_field USING 'BSEG-SGTXT' t_dados-d_sgtxt.

          ENDIF.

          IF NOT v_zuonr IS INITIAL.

...

 

...

          IF v_last EQ 'X'.

            PERFORM bdc_field USING: 'BDC_OKCODE'  '=PA'.

          ELSE.

            PERFORM bdc_field USING: 'RF05A-NEWBS' t_dados-newbs,

                                     'RF05A-NEWKO' t_dados-d_newko,

                                     'BDC_OKCODE'  '/00'.

          ENDIF.

        ELSEIF wa_tbsl-koart EQ 'D'.

          PERFORM bdc_screen USING 'SAPMF05A' v_tela.

          PERFORM bdc_field USING'BSEG-WRBTR'  v_wrbtr.

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

          IF v_zbd1t > 0.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

          IF v_zbd1t > 0."#EC PORTABLE

* << Fim da inclusão

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                            chave = v_lanc1.

            IF sy-subrc <> 0.

              PERFORM bdc_field USING 'BSEG-ZBD1T' v_zbd1t.

            ENDIF.

          ENDIF.

          IF NOT t_dados-zterm IS INITIAL.

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                            chave = v_lanc1.

            IF sy-subrc NE 0.

...

 

...

      WRITE: c_valut TO v_valut.

    ENDIF.

    IF NOT c_zfbdt = '00000000' AND

       NOT c_zfbdt = '        '.

      WRITE:  c_zfbdt TO v_zfbdt.

    ENDIF.

    PERFORM bdc_screen USING 'SAPMF05A' v_tela2.

    PERFORM bdc_field USING:

            'BDC_OKCODE' '=BU'.

    IF wa_tbsl-koart EQ 'K'.

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

      IF v_zbd1t > 0.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

      IF v_zbd1t > 0."#EC PORTABLE

* << Fim da inclusão

        READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                        chave = v_lanc2.

        IF sy-subrc <> 0.

          PERFORM bdc_field USING 'BSEG-ZBD1T' c_zbd1t.

        ENDIF.

      ENDIF.

      IF NOT c_sgtxt IS INITIAL.

        PERFORM bdc_field USING 'BSEG-SGTXT' c_sgtxt.

      ENDIF.

      IF c_zuonr NE v_zuonr.

...

 

...

              ENDIF.

            ENDIF.

          ENDIF.

          IF NOT t_dados-zterm IS INITIAL.

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                            chave = v_lanc2.

            IF sy-subrc NE 0.

              PERFORM bdc_field USING 'BSEG-ZTERM' t_dados-zterm.

            ENDIF.

          ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

          IF  v_zbd1t > 0 AND t_dados-umskz IS INITIAL.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_P

          IF  v_zbd1t > 0 AND t_dados-umskz IS INITIAL."#EC PORTABLE

* << Fim da inclusão

            READ TABLE itab_oculto WITH KEY campo = 'BSEG-ZTERM'

                                            chave = v_lanc2.

            IF sy-subrc NE 0.

              PERFORM bdc_field USING 'BSEG-ZBD1T' v_zbd1t.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

    ELSEIF wa_tbsl-koart EQ 'S'.

      IF NOT c_sgtxt IS INITIAL.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUNC /PWS/ZYGL_ACCOUNT_MESSAGE

 

...

    LOOP at itab_zyglt321.

      READ TABLE itab_zycbt034

        WITH KEY campo = itab_zyglt321-cpor3.

      IF sy-subrc EQ 0.

        clear itab_zyglt321_erro.

        MOVE itab_zyglt321 TO itab_zyglt321_erro.

        APPEND itab_zyglt321_erro.

      ENDIF.

    ENDLOOP.

    EXPORT itab_zyglt321_erro TO MEMORY ID '321'.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_ACCOUNT_MESSAGE

    CALL SCREEN '0102' STARTING AT 2 2.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_ACCOUNT_MESSAGE

    CALL SCREEN '0102' STARTING AT 2 2."#EC *

* << Fim da inclusão

    CLEAR:   itab_zyglt316,

             itab_zyglt315,

             itab_zycbt034,

             itab_zyglt321_erro,

             ITAB_ZYCBT032.

    REFRESH: itab_zyglt316,

             itab_zyglt315,

             itab_zycbt034,

             itab_zyglt321_erro,

             ITAB_ZYCBT032.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUNC /PWS/ZYGL_IMPOSTO

 

...

    SORT itab_imposto BY cod_impo.

    LOOP AT itab_with_item.

      READ TABLE itab_imposto WITH KEY

                  cod_impo = itab_with_item-witht

                  BINARY SEARCH.

      IF sy-subrc NE 0.

        DELETE itab_with_item.

      ENDIF.

    ENDLOOP.

    LOOP AT itab_with_item

* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO

      WHERE wt_qsshh >= '0.00'.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO

      WHERE wt_qsshh >= '0.00'."#EC PORTABLE

* << Fim da inclusão

      DELETE itab_with_item .

    ENDLOOP.

    LOOP AT itab_with_item.

      READ TABLE itab_lfbw WITH KEY

                   wt_withcd =  itab_with_item-wt_withcd

                   witht  = itab_with_item-witht.

      IF sy-subrc NE 0.

        DELETE itab_with_item.

      ENDIF.

    ENDLOOP.

...

 

...

        ENDIF.

        IF v_total >= itab_t059minmax-wt_wtminb.

          IF NOT v_qsatz IS INITIAL.

            IF v_qbshh < itab_t059minmax-wt_wtbex.

              v_total = v_total -

                        ( itab_t059minmax-wt_wtbex -  v_qbshh ).

            ENDIF.

            itab_imposto-vl_imposto = ( ( v_total *

                                    v_qsatz ) / 100 ) - v_qbshh.

          ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO

          IF itab_imposto-vl_imposto < '0.00' .

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO

          IF itab_imposto-vl_imposto < '0.00' ."#EC PORTABLE

* << Fim da inclusão

            CLEAR itab_imposto-vl_imposto.

          ENDIF.

        ELSE.

          CLEAR itab_imposto-vl_imposto.

        ENDIF.

      ENDIF.

    ELSE.

      CLEAR itab_t059fb. REFRESH itab_t059fb.

      SELECT *

        FROM t059fb

...

 

...

          IF NOT v_qsshh IS INITIAL AND

             NOT v_qbshh IS INITIAL.

            itab_imposto-vl_imposto = ( ( v_total *

                                    itab_t059fb-qsatz ) / 100 ) -

                                      ( ( v_qsshh *

                                    itab_t059fb-qsatz ) / 100 ).

          ELSE.

            itab_imposto-vl_imposto = ( ( v_total *

                                    itab_t059fb-qsatz ) / 100 ).

          ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO

          IF itab_imposto-vl_imposto < '0.00' .

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO

          IF itab_imposto-vl_imposto < '0.00' ."#EC PORTABLE

* << Fim da inclusão

            CLEAR itab_imposto-vl_imposto.

          ENDIF.

        ELSE.

          CLEAR itab_imposto-vl_imposto.

        ENDIF.

      ENDIF.

    ENDIF.

    MODIFY itab_imposto.

  ENDLOOP.

  CLEAR itab_lfbw. REFRESH itab_lfbw.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_FBV0_A

 

...

      PERFORM bdc_screen USING 'SAPLF040' '0300'.

      PERFORM bdc_field  USING:

           'BDC_OKCODE'  '=BU'.

      PERFORM bdc_screen USING 'SAPLKACB' '0002'.

      PERFORM bdc_field  USING:

           'BDC_OKCODE'  '=ENTE'.

    ELSE.

      IF t_dados-agkoa = 'S'.

        PERFORM bdc_screen USING 'SAPLF040' '0303'.

        IF NOT t_dados-dmbtr IS INITIAL.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A

          WRITE: t_dados-dmbtr TO v_dmbtr.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A

          WRITE: t_dados-dmbtr TO v_dmbtr."#EC UOM_IN_MES

* << Fim da inclusão

          PERFORM bdc_field  USING

             'BSEG-DMBTR' v_dmbtr.

        ENDIF.

        PERFORM bdc_field  USING:

             'BDC_OKCODE'  '=BU'.

      ELSEIF t_dados-agkoa EQ 'D'.

        PERFORM bdc_screen USING 'SAPLF040' '0301'.

        IF NOT t_dados-dmbtr IS INITIAL.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A

          WRITE: t_dados-dmbtr TO v_dmbtr.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A

          WRITE: t_dados-dmbtr TO v_dmbtr."#EC UOM_IN_MES

* << Fim da inclusão

          PERFORM bdc_field  USING

             'BSEG-DMBTR' v_dmbtr.

        ENDIF.

        PERFORM bdc_field  USING:

             'BDC_OKCODE'  '=BU'.

      ELSE.

        PERFORM bdc_screen USING 'SAPLF040' '0302'.

        IF NOT t_dados-dmbtr IS INITIAL.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A

          WRITE: t_dados-dmbtr TO v_dmbtr.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_FBV0_A

          WRITE: t_dados-dmbtr TO v_dmbtr."#EC UOM_IN_MES

* << Fim da inclusão

          PERFORM bdc_field  USING

             'BSEG-DMBTR' v_dmbtr.

        ENDIF.

        PERFORM bdc_field  USING:

             'BDC_OKCODE'  '=BU',

             'BSEG-ZLSPR'  t_dados-zlspr.

      ENDIF.

    ENDIF.

    REFRESH itab_msg.

    CLEAR itab_msg.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_F_02

 

...

    READ TABLE itab_oculto WITH KEY campo = 'COBL-WERKS' chave = 'D'.

    IF sy-subrc <> 0.

      IF NOT t_dados-werks IS INITIAL.

        PERFORM bdc_field  USING 'COBL-WERKS' t_dados-werks.

      ENDIF.

    ENDIF.

    PERFORM bdc_field USING 'BDC_OKCODE' '=ENTE'.

    CLEAR v_emprsa.

    CALL CUSTOMER-FUNCTION '001'

         IMPORTING

* >> Início da exclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_02

              v_processa = v_emprsa.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_02

              v_processa = v_emprsa."#EC *

* << Fim da inclusão

    IF v_emprsa = 'X'.

      PERFORM bdc_screen USING 'SAPLKEAK' v_tela.

      PERFORM bdc_field USING 'BDC_OKCODE' 'WEIT'.

    ENDIF.

    WRITE: t_dados-c_valut TO v_data_val_char.

    PERFORM bdc_screen USING 'SAPMF05A' v_tela.

    IF NOT t_dados-dmbtr IS INITIAL AND

           t_dados-waers NE /pws/zycbt007-waersb.

      WRITE : t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.

      PERFORM bdc_field  USING:

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_F_53

 

...

    DESCRIBE TABLE t_zycbt036_aux LINES v_reg.

    IF v_reg > 1.

      SORT t_zycbt036 BY lifnr.

      READ TABLE t_zycbt036_aux INDEX 1.

      PERFORM bdc_field USING:

                   'RF05A-AGKON' t_zycbt036_aux-lifnr.

    ENDIF.

    IF NOT v_bukrs_p IS INITIAL.

      PERFORM bdc_field USING: 'RF05A-XMULK' 'X'.

    ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_53

    IF v_xpos_belnr LT 5  .

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_53

    IF v_xpos_belnr LT 5  ."#EC PORTABLE

* << Fim da inclusão

      ADD 1 TO v_xpos_belnr.

      SHIFT v_xpos_belnr LEFT DELETING LEADING  '0'.

      CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.

      PERFORM bdc_field USING:

            v_xpos        'X',

              'BDC_OKCODE'  '=PA'.

      IF NOT v_bukrs_p IS INITIAL.

        PERFORM bdc_screen USING 'SAPMF05A'         '0609'.

        PERFORM bdc_field USING: 'RF05A-AGKON(01)'  t_dados-agkon,

                                 'RF05A-AGKOA(01)'  'K',

...

 

...

              'RF05A-XPOS1(6)'  'X',

              'BDC_OKCODE'     '/00'.

      IF NOT v_bukrs_p IS INITIAL.

        PERFORM bdc_screen USING 'SAPMF05A'         '0609'.

        PERFORM bdc_field USING: 'BDC_OKCODE'       '=GO',

                                 'RF05A-AGKON(01)'  t_dados-agkon,

                                 'RF05A-AGKOA(01)'  'K',

                                 'RF05A-AGBUK(01)'  v_bukrs_p,

                                 'RF05A-XNOPS(01)'  'X'.

      ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_53

      WHILE v_xpos_belnr > 10.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_53

      WHILE v_xpos_belnr > 10."#EC PORTABLE

* << Fim da inclusão

        v_xpos_belnr = v_xpos_belnr - 10.

        PERFORM bdc_screen USING 'SAPMF05A'   '0608'.

        PERFORM bdc_field USING 'BDC_OKCODE'  'P+'.

        SHIFT v_xpos1 LEFT DELETING LEADING  '0'.

      ENDWHILE.

      CONCATENATE 'RF05A-XPOS1(' v_xpos_belnr ')' INTO v_xpos.

      PERFORM bdc_screen USING 'SAPMF05A' '0608'.

      PERFORM bdc_field USING:

              v_xpos        'X',

              'BDC_OKCODE'  '/00'.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em RELE F6DK958763 20080303 110712 PWSCB