CE PLUS - Nota 006456

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 25/04/2008 00:00:00

Data/Hora Última Alteração: 09/03/2010 13:16:23

Descrição da Nota: AO SALVAR DI O SISTEMA APRESENTA MENSAGEM 3 PARTIDAS SELECIONADAS

Sintoma

 

Problema na variação cambial da DI.

 

Solução

 

Verificar as datas de registro e desembaraço para não apresentar a mensagem

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 06456 Data: 25/04/2008 Hora: 13:43:20

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

 

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

Nota Número              : 06456

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00044

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

AO SALVAR DI O SISTEMA APRESENTA MENSAGEM 3 PARTIDAS SELECIONADAS

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

Palavras Chave:

DESEMBARAÇO - DI - PARTIDAS - MENSAGEM

 

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

Objetos da nota:

FUNC /PWS/ZYCI_TRANSACAO_F_51C

REPS /PWS/MZYCI023F03

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_F_51C

 

FUNCTION /pws/zyci_transacao_f_51c.

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

  CONSTANTS:

     c_vl_min TYPE p DECIMALS 2 VALUE '0.01',

     c_vl_max TYPE p DECIMALS 2 VALUE '9999999999.99'.

* << Fim da inclusão

...

 

...

    v_lines              TYPE i,

    v_buzei              LIKE bseg-buzei,

    v_index              TYPE i,

    v_date               LIKE t009b-bdatj,

    v_itens              TYPE i,

    v_index_aux          TYPE i,

    t_contas_aux         LIKE t_contas OCCURS 0 WITH HEADER LINE,

    v_xpos_awkey(14),

    v_xpos1(14),

    v_chavedoc(20),

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

    v_empresas(1).

* << Fim da exclusão

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

    v_empresas(1),

    v_xpos_wrbtr(15),

    v_xpos2(2)           TYPE n,

    v_pos_wrbtr          TYPE i,

    v_vl_min(16)         VALUE '0,01',

    v_vl_max(16)         VALUE '9.999.999.999,99'.

  CLEAR v_xpos2.

  SELECT SINGLE selps FROM t021r

    INTO  v_xpos2

    WHERE event = 'SU-AG'

      AND feldn = 'WRBTR'.

  IF sy-subrc = 0.

    SHIFT v_xpos2 LEFT DELETING LEADING  '0'.

    v_pos_wrbtr = v_xpos2.

    v_xpos2 = ( ( v_pos_wrbtr - 1 ) MOD 10 ) + 1.

    SHIFT v_xpos2 LEFT DELETING LEADING  '0'.

    v_pos_wrbtr = ( v_pos_wrbtr - 1 ) DIV 10.

    CONCATENATE 'RF05A-XPOS1(' v_xpos2 ')' INTO v_xpos_wrbtr.

  ENDIF.

* << Fim da inclusão

  LOOP AT t_dados.

    CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

      EXPORTING

        v_bukrs                      = t_dados-bukrs

        v_date                       = t_dados-budat

     IMPORTING

        v_year                       = v_date

              .

    IF sy-subrc <> 0.

    ENDIF.

    CHECK t_dados-tcode = 'F-51'.

    IF ( t_dados-bukrs = space ).

      t_campo-mandt = t_dados-mandt.

      t_campo-campo = 'BKPF-BUKRS'.

      t_campo-descricao = text-021.

      APPEND t_campo.

      RAISE campo_em_branco.

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

    ENDIF.

    select single * from tcurx where currkey = t_dados-waers.

    if sy-subrc <> 0.

      tcurx-currdec = 2.

* << Fim da inclusão

    ENDIF.

    WRITE: t_dados-bldat   TO v_bldat,

           t_dados-budat   TO v_budat,

           t_dados-wrbtr   TO v_wrbtr CURRENCY t_dados-waers,

           t_dados-bukrs   TO v_bukrs.

    v_gjahr = v_date.

    v_koart = 'K'.

    DATA: v_monat1(2) TYPE n.

    PERFORM period_determine USING t_dados-budat

                                   v_bukrs

...

 

...

      CONCATENATE 'RF05A-FELDN(' v_cont ')' INTO v_campo.

      PERFORM bdc_field USING:

           v_campo           'BELNR'            .

      CLEAR v_campo.

      CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.

      PERFORM bdc_field USING:

           v_campo            v_belnrano        .

    ENDLOOP.

    PERFORM bdc_field USING:

            'BDC_OKCODE'        '=PA'            .

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

      if tcurx-currdec ne 2.

        write: c_vl_min to v_vl_min currency t_dados-waers,

               c_vl_max to v_vl_max currency t_dados-waers.

      endif.

    PERFORM bdc_screen USING 'SAPDF05X' '3100'.

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

    perform bdc_screen using 'SAPDF05X'   '3100'.

    perform bdc_field  using 'BDC_CURSOR' 'RF05A-ABPOS'.

    perform bdc_field  using 'BDC_OKCODE' '=Z-'.

    perform bdc_screen using 'SAPDF05X'    '3100'.

    perform bdc_field  using 'BDC_SUBSCR'  'SAPDF05X'.

    perform bdc_field  using 'RF05A-ABPOS' '1'.

    perform bdc_field  using 'BDC_OKCODE'  '=OSU'.

    do v_pos_wrbtr times.

      perform bdc_screen using 'SAPDF05X'   '2000'.

      perform bdc_field  using 'BDC_OKCODE'  'P+'.

    enddo.

    perform bdc_screen using 'SAPDF05X'   '2000'.

    perform bdc_field using 'BDC_CURSOR'  v_xpos_wrbtr.

    perform bdc_field  using v_xpos_wrbtr 'X'.

    perform bdc_field  using 'BDC_OKCODE'  '=GO'.

    perform bdc_screen using 'SAPDF05X'        '0730'.

    perform bdc_field using  'BDC_CURSOR'      'RF05A-BISWT(01)'.

    perform bdc_field using  'RF05A-VONWT(01)' v_vl_min.

    perform bdc_field using  'RF05A-BISWT(01)' v_vl_max.

    perform bdc_field  using 'BDC_OKCODE' '=GO'.

* << Fim da inclusão

    PERFORM bdc_screen USING 'SAPDF05X' '3100'.

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

    PERFORM bdc_screen USING 'SAPDF05X' '3100'.

    PERFORM bdc_field USING: 'BDC_OKCODE' '=Z+'.

    PERFORM bdc_screen USING 'SAPDF05X' '3100'.

    PERFORM bdc_field  USING 'BDC_OKCODE'    '=AB'.

    IF v_empresas EQ 'X'.

      PERFORM bdc_screen USING  'SAPMF05A'    '0701'.

      PERFORM bdc_field  USING: 'BDC_CURSOR'  'RF05A-BUKZ1(1)',

                                'BDC_OKCODE'  '=PI'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

 

FORM lanctos_variacao.

  DATA: v_soma LIKE /pws/zycit085-vlfob.

  DATA: v_variadec LIKE /pws/zycit085-vlfre.

  READ TABLE itab_zycit100 INDEX 1.

  SELECT SINGLE * FROM /pws/zycit001 WHERE nrseq = itab_zycit100-nrseq.

  LOOP AT itab_bsis_aux WHERE hkont = itab_matuse_aux2-hkont.

    READ TABLE itab_di WITH KEY hkont = itab_matuse_aux2-hkont.

* >> Início da inclusão: FORM LANCTOS_VARIACAO

    IF itab_bsis_aux-wrbtr IS INITIAL.

      continue.

    ENDIF.

* << Fim da inclusão

    IF itab_bsis_aux-tpfatura = '01'.

      PERFORM get_parameters_f_51_variacao USING '001VM'.

      READ TABLE itab_zycbt012 WITH KEY

                        codaux = itab_matuse_aux2-j_1bmatuse.

      IF /pws/zycit031-inco1_ci = 'FOB'.

        vl_variacao = itab_di-vlfob - itab_bsis_aux-dmbtr.

        IF itab_zycbe033-tcode = 'F-51'

           AND NOT v_belnr IS INITIAL.

          PERFORM: move_lanctos USING itab_di-vlfob,

                   calcula_diferenca.

...