Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Comissão de Agente
Data/Hora da Publicação: 04/09/2007 00:00:00
Data/Hora Última Alteração: 21/02/2011 17:59:40
Descrição da Nota: COMISSÃO DE AGENTE PARA EMBARQUE COM PEDIDO DE COMPRA
Sintoma
- Ao tentar acessar o programa da Comissão de Agente em um Embarque vinculado a um Pedido de Compra
o programa é encerrado, emitindo a seguinte mensagem de erro: "Documento não parametrizado em
/pws/zycet020".
- Termo de pagamento incorreto ao gerar a Comissão de Agente para Embarque por Pedido de Compra.
- Parceiro não é carregado ao gerar a Comissão de Agente para Embarque por Pedido de Compra.
Solução
Ajustes nos programas do Embarque e da Comissão de Agente para que a Comissão de Agente seja gerada
corretamente para Embarque gerados para Pedido de Compra.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04613 Data: 04/09/2007 Hora: 11:46:46
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04613
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00011
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03363 - 00001 - 6.0 - 00026 - SALVAR COMISSÃO DE AGENTE JUNTO COM EMBARQUE
04409 - 00002 - 7.0 - 00002 - REMOÇÃO DE TRATAMENTO OBSOLETO DE ORDENS
----------------------------------------------------------------------------------------------------
COMISSÃO DE AGENTE PARA EMBARQUE COM PEDIDO DE COMPRA
----------------------------------------------------------------------------------------------------
Palavras Chave:
COMISSÃO, AGENTE, PEDIDO, COMPRA, EMBARQUE, FORNECEDOR,
TERMO, PAGAMENTO, ERRO, MENSAGEM
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCE003F02
REPS /PWS/MZYCE017F01
REPT /PWS/SAPMZYCE017
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE003F02
...
ENDLOOP.
p_zycet010-nrseq = p_zycet001-nrseq.
READ TABLE p_t_zycet076[]
INTO wa_zycet076
WITH KEY codigo_ce = 'AG'
TRANSPORTING codigo_r3.
IF sy-subrc = 0.
READ TABLE p_t_zycet002[]
INTO wa_zycet002
WITH KEY saida = 'X'
* >> Início da exclusão: FORM CALCULA_COMISSAO
TRANSPORTING vbeln_va.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_COMISSAO
TRANSPORTING vbeln_va
vbeln_vl
vbeln_vf.
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE p_t_vbpa[]
INTO wa_vbpa
WITH KEY vbeln = wa_zycet002-vbeln_va
parvw = wa_zycet076-codigo_r3
TRANSPORTING lifnr.
IF sy-subrc = 0.
p_zycet010-lifnr = wa_vbpa-lifnr.
* >> Início da inclusão: FORM CALCULA_COMISSAO
ELSE.
READ TABLE p_t_vbpa[]
INTO wa_vbpa
WITH KEY vbeln = wa_zycet002-vbeln_vl
parvw = wa_zycet076-codigo_r3
TRANSPORTING lifnr.
IF sy-subrc = 0.
p_zycet010-lifnr = wa_vbpa-lifnr.
ELSE.
READ TABLE p_t_vbpa[]
INTO wa_vbpa
WITH KEY vbeln = wa_zycet002-vbeln_vf
parvw = wa_zycet076-codigo_r3
TRANSPORTING lifnr.
IF sy-subrc = 0.
p_zycet010-lifnr = wa_vbpa-lifnr.
ENDIF.
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
SELECT *
FROM /pws/zyglt321
INTO TABLE it_zyglt321
WHERE ktosl = 'CAP'
AND codeven = '004'
AND cpor3 IN ('ZFBDT', 'ZTERM').
READ TABLE it_zyglt321[] INTO wa_zyglt321
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE017F01
...
IF sy-subrc NE 0.
REFRESH: itab_zycet013.
CLEAR: itab_zycet013.
LOOP AT itab_zycet002.
MOVE: itab_zycet002-nrseq TO itab_zycet013-nrseq,
itab_zycet002-gsber TO itab_zycet013-gsber,
itab_zycet002-prctr TO itab_zycet013-prctr,
itab_zycet002-waers TO itab_zycet013-waers.
MOVE: itab_zycet002-nrseq TO it013_aux-nrseq,
itab_zycet002-gsber TO it013_aux-gsber.
* >> Início da inclusão: FORM RATEIO_CG_AD
IF NOT itab_zycet002-auart IS INITIAL.
* << Fim da inclusão
READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart.
IF sy-subrc EQ 0.
IF itab_zycet020-tipodoc = 'OD' OR
itab_zycet020-tipodoc = 'DR' OR
itab_zycet002-shkzg = 'X'.
itab_zycet013-vlme = abs( itab_zycet002-vlme ).
itab_zycet013-vlagente = abs( itab_zycet002-vlagente ).
MULTIPLY:
itab_zycet013-vlme BY -1,
itab_zycet013-vlagente BY -1.
ELSE.
itab_zycet013-vlme = itab_zycet002-vlme.
itab_zycet013-vlagente = itab_zycet002-vlagente.
ENDIF.
ELSE.
MESSAGE a001
WITH
'Documento'(004)
itab_zycet002-auart
'não parametrizado em /pws/zycet020.'(005).
* >> Início da inclusão: FORM RATEIO_CG_AD
ENDIF.
ELSEIF itab_zycet002-ebeln IS INITIAL.
MESSAGE a001
WITH
'Tipo de Documento não encontrado.'(122).
* << Fim da inclusão
ENDIF.
it013_aux-vlme = itab_zycet013-vlme.
it013_aux-vlagente = itab_zycet013-vlagente.
COLLECT itab_zycet013.
COLLECT it013_aux.
ENDLOOP.
DELETE itab_zycet013 WHERE vlme IS initial.
DELETE it013_aux WHERE vlme IS initial.
LOOP AT it013_aux.
v_index = sy-tabix.
...
...
WHERE nrseq = /pws/zycee001-nrseq.
APPEND itab_zycet010.
ENDIF.
LOOP AT itab_zycet013 WHERE belnr NE space.
ENDLOOP.
IF sy-subrc NE 0.
REFRESH: itab_zycet013.
CLEAR: itab_zycet013.
LOOP AT itab_zycet010.
LOOP AT itab_zycet002.
* >> Início da inclusão: FORM RATEIO_AT_AR
IF NOT itab_zycet002-auart IS INITIAL.
* << Fim da inclusão
READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart.
IF sy-subrc EQ 0.
IF itab_zycet002-shkzg EQ 'X'.
itab_zycet013-vlme = itab_zycet002-vlme * ( -1 ).
itab_zycet013-vlagente = itab_zycet002-vlagente * ( -1 ).
ENDIF.
ELSE.
MESSAGE a001
WITH
'Documento'(004)
itab_zycet002-auart
'não parametrizado em /pws/zycet020.'(005).
* >> Início da inclusão: FORM RATEIO_AT_AR
ENDIF.
ELSEIF itab_zycet002-ebeln IS INITIAL.
MESSAGE a001
WITH
'Tipo de Documento não encontrado.'(122).
* << Fim da inclusão
ENDIF.
MOVE:
itab_zycet002-nrseq TO itab_zycet013-nrseq,
itab_zycet002-gsber TO itab_zycet013-gsber,
itab_zycet002-prctr TO itab_zycet013-prctr,
itab_zycet002-waers TO itab_zycet013-waers,
itab_zycet002-vlme TO itab_zycet013-vlme,
itab_zycet010-lifnr TO itab_zycet013-lifnr,
itab_zycet002-vlagente TO itab_zycet013-vlagente.
COLLECT itab_zycet013.
...
...
REFRESH: itab_zycet010,
itab_vbpa.
IF NOT itab_zycet002[] IS INITIAL.
SELECT DISTINCT b~lifnr
FROM /pws/zycet076 AS a INNER JOIN vbpa AS b
ON a~codigo_r3 = b~parvw
INTO TABLE itab_vbpa
FOR ALL ENTRIES IN itab_zycet002
WHERE a~codigo_ce EQ 'AG'
AND b~vbeln EQ itab_zycet002-vbeln_va
* >> Início da inclusão: FORM ATUALIZA_DADOS_AGENTE
AND b~lifnr NE space.
IF itab_vbpa[] IS INITIAL.
SELECT DISTINCT b~lifnr
FROM /pws/zycet076 AS a INNER JOIN vbpa AS b
ON a~codigo_r3 = b~parvw
INTO TABLE itab_vbpa
FOR ALL ENTRIES IN itab_zycet002
WHERE a~codigo_ce EQ 'AG'
AND b~vbeln EQ itab_zycet002-vbeln_vl
AND b~lifnr NE space.
IF itab_vbpa[] IS INITIAL.
SELECT DISTINCT b~lifnr
FROM /pws/zycet076 AS a INNER JOIN vbpa AS b
ON a~codigo_r3 = b~parvw
INTO TABLE itab_vbpa
FOR ALL ENTRIES IN itab_zycet002
WHERE a~codigo_ce EQ 'AG'
AND b~vbeln EQ itab_zycet002-vbeln_vf
* << Fim da inclusão
AND b~lifnr NE space.
* >> Início da inclusão: FORM ATUALIZA_DADOS_AGENTE
ENDIF.
ENDIF.
* << Fim da inclusão
ENDIF.
DESCRIBE TABLE itab_vbpa LINES v_lines.
IF v_lines GT 1.
MESSAGE i001 WITH text-119.
ELSEIF v_lines EQ 1.
...
...
AND ( wa_zycbt007-comis = 'A' ) ) OR itab_zycet001-parvw = 'AR' )
AND sy-tcode = '/PWS/ZYCE017_C'.
IF NOT itab_zycet002[] IS INITIAL.
SELECT DISTINCT b~lifnr
FROM /pws/zycet076 AS a INNER JOIN vbpa AS b
ON a~codigo_r3 = b~parvw
INTO TABLE itab_fornecedor
FOR ALL ENTRIES IN itab_zycet002
WHERE a~codigo_ce EQ 'AG'
AND b~vbeln EQ itab_zycet002-vbeln_va
* >> Início da inclusão: FORM AUTOMATIZACAO
AND b~lifnr NE space.
IF itab_vbpa[] IS INITIAL.
SELECT DISTINCT b~lifnr
FROM /pws/zycet076 AS a INNER JOIN vbpa AS b
ON a~codigo_r3 = b~parvw
INTO TABLE itab_vbpa
FOR ALL ENTRIES IN itab_zycet002
WHERE a~codigo_ce EQ 'AG'
AND b~vbeln EQ itab_zycet002-vbeln_vl
AND b~lifnr NE space.
IF itab_vbpa[] IS INITIAL.
SELECT DISTINCT b~lifnr
FROM /pws/zycet076 AS a INNER JOIN vbpa AS b
ON a~codigo_r3 = b~parvw
INTO TABLE itab_vbpa
FOR ALL ENTRIES IN itab_zycet002
WHERE a~codigo_ce EQ 'AG'
AND b~vbeln EQ itab_zycet002-vbeln_vf
* << Fim da inclusão
AND b~lifnr NE space.
* >> Início da inclusão: FORM AUTOMATIZACAO
ENDIF.
ENDIF.
* << Fim da inclusão
DESCRIBE TABLE itab_fornecedor LINES v_lines.
IF v_lines EQ 1.
p_autom = 1.
READ TABLE itab_fornecedor INDEX 1.
IF NOT itab_zycet001-dtemb IS INITIAL.
...
...
USING
'CAP'
'004'
'ZTERM'
CHANGING
campo
descricao.
IF NOT campo IS INITIAL.
CASE campo.
WHEN 'ZTERM'.
* >> Início da exclusão: FORM DETERMINA_BSEG_ZTERM
PERFORM busca_condicao_pagamento.
zterm = itab_zycet002-zterm.
* << Fim da exclusão
* >> Início da inclusão: FORM DETERMINA_BSEG_ZTERM
SELECT SINGLE zterm
FROM /pws/zycet046
INTO zterm
WHERE nrseq = /pws/zycee001-nrseq.
* << Fim da inclusão
WHEN 'ZTERMF'.
zterm = v_zterm.
WHEN OTHERS.
CLEAR zterm.
ENDCASE.
ELSEIF NOT descricao IS INITIAL.
zterm = descricao.
ELSE.
CLEAR zterm.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM BUSCA_CONDICAO_PAGAMENTO
FORM busca_condicao_pagamento.
CLEAR itab_zycet020.
FREE itab_zycet020.
SELECT auart
tipodoc
FROM /pws/zycet020
INTO TABLE itab_zycet020.
LOOP AT itab_zycet020 WHERE tipodoc = 'OV' OR
tipodoc = 'CO' OR
tipodoc = 'VC'.
CLEAR itab_zycet002.
READ TABLE itab_zycet002 WITH KEY auart = itab_zycet020-auart.
IF sy-subrc IS INITIAL.
EXIT.
ENDIF.
ENDLOOP.
ENDFORM.
* << Fim da exclusão
FORM executa_shiftf9.
CLEAR: /pws/zycbt039, itab_modo.
REFRESH: itab_modo.
SELECT * FROM /pws/zycbt039.
itab_modo-selflag = /pws/zycbt039-modo.
itab_modo-varoption = /pws/zycbt039-descr.
APPEND itab_modo.
ENDSELECT.
SORT itab_modo DESCENDING.
CALL FUNCTION 'POPUP_TO_DECIDE_LIST'
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCE017
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 122
Texto: (33 caracteres)
"Tipo de Documento não encontrado."
Comprimento máximo: 33