Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 06/04/2010 00:00:00
Data/Hora Última Alteração: 07/04/2010 11:01:36
Descrição da Nota: PERMITIR CRIAR A ANA COM FATURA SEM CONTABILIZAÇÃO.
Sintoma
O programa não está permitindo gerar a ANA enquanto todas as faturas não estiverem contabilizadas,
em processos de DI o programa só bloqueia o recebimento.
Solução
Ajustado relatório para verificar apenas as faturas de mercadoria ao criar a ANA.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10040 Data: 06/04/2010 Hora: 15:38:31
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10040
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00003
Agrupamento : 00016
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
06979 - 00001 - AJUSTES FRETE INTERNACIONAL E SEGURO PARA EMBARQUES DE REGIME 16
----------------------------------------------------------------------------------------------------
PERMITIR CRIAR A ANA COM FATURA SEM CONTABILIZAÇÃO.
----------------------------------------------------------------------------------------------------
Palavras Chave:
ANA - FATURA - CONTABILIZAÇÃO - CRIAR - MERCADORIA - FRETE - SEGURO
/PWS/SAPMZYCI001 - /PWS/SAPMZYCI059
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI001F02
REPS /PWS/MZYCI059F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F02
...
IF sy-tcode EQ '/PWS/ZYCI001_A' OR sy-tcode EQ '/PWS/ZYCI001_C'.
PERFORM valida_trans USING '/PWS/ZYCI059_A' 'skip'.
ELSE.
PERFORM valida_trans USING '/PWS/ZYCI059_E' 'skip'.
ENDIF.
ENDIF.
ELSE.
SELECT SINGLE * FROM /pws/zycit093
WHERE nrseqce = /pws/zycit094-nrseqce.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM CALL_DI_MULT
PERFORM check_contab_fat CHANGING e_contab.
IF e_contab EQ 'X'.
EXIT.
ENDIF.
* << Fim da exclusão
MOVE-CORRESPONDING /pws/zycit093 TO wa_zycie085.
MOVE: /pws/zycit093-nrseqce TO wa_zycie085-nrbl,
/pws/zycie001-embarca TO wa_zycie085-identify.
EXPORT wa_zycie085 TO MEMORY ID rimc4.
IF /pws/zycie001-tpdecl EQ 'DI'.
IF sy-tcode NE '/PWS/ZYCI001_E'.
PERFORM valida_trans USING '/PWS/ZYCI059_C' ''.
ELSE.
MESSAGE e015 WITH text-166.
ENDIF.
...
...
FORM check_contab_fat CHANGING p_contab.
DATA: itab_zycit132 TYPE /pws/zycit132 OCCURS 0 WITH HEADER LINE.
DATA: itab_zycit006 TYPE /pws/zycit006 OCCURS 0 WITH HEADER LINE.
CLEAR: itab_zycit006. REFRESH itab_zycit006.
* >> Início da inclusão: FORM CHECK_CONTAB_FAT
CLEAR p_contab.
* << Fim da inclusão
IF /pws/zycie001-regime EQ '05' OR
/pws/zycie001-regime EQ '16'.
EXIT.
ENDIF.
IF /pws/zycit094-nrseqce IS INITIAL.
SELECT SINGLE * FROM /pws/zycit094
WHERE nrseq EQ /pws/zycie001-nrseq. "#EC CI_NOFIRST
ENDIF.
IF okcode EQ 'DI'.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI059F01
...
ELSEIF sy-subrc EQ 0 AND /pws/zycit041-docnum EQ '8888888888'.
SELECT SINGLE * FROM /pws/zycit043
WHERE nrseq = /pws/zycit041-nrseq
AND nfglobal = /pws/zycit041-nfglobal.
ENDIF.
IF sy-subrc EQ 0 AND /pws/zycit041-docnum = '8888888888'.
* >> Início da inclusão: FORM VERIFY_CHANGES
CHECK ok_code NE 'BACK' AND
ok_code NE 'LEAV'.
* << Fim da inclusão
MESSAGE i015 WITH text-028.
ELSE.
v_changed = '1'.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
...
...
ON /pws/zycit094~nrseq = /pws/zycit003~nrseq
WHERE /pws/zycit094~nrseqce = /pws/zycie085-nrbl
AND servico NE 'X'.
IF sy-subrc EQ 0.
CLEAR: itab_zycit006. REFRESH itab_zycit006.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006
WHERE nrseqce = /pws/zycie085-nrbl
AND eliminado = space
AND frpagto NE 'P'
AND belnr_p = space. "#EC CI_NOFIELD
* >> Início da exclusão: FORM VERIFY_BL
LOOP AT itab_zycit006 WHERE tpfatura NE '01'.
p_v_bl = 'C'.
EXIT.
ENDLOOP.
IF p_v_bl = 'C'.
EXIT.
ENDIF.
* << Fim da exclusão
LOOP AT itab_zycit006 WHERE tpfatura = '01'.
SELECT * FROM /pws/zycit132 INTO TABLE itab_zycit132
WHERE nrseq = itab_zycit006-nrseq
AND eliminado = space.
IF sy-subrc EQ 0.
LOOP AT itab_zycit132 WHERE belnr_p EQ space.
p_v_bl = 'C'.
EXIT.
ENDLOOP.
IF p_v_bl = 'C'.
...