Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Comissão de Agente
Data/Hora da Publicação: 14/08/2007 00:00:00
Data/Hora Última Alteração: 21/02/2011 17:59:13
Descrição da Nota: REMOÇÃO DE TRATAMENTO OBSOLETO DE ORDENS
Sintoma
Possíveis inconsistências no tratamento das ordens, entre o novo embarque e a comissão de agente.
Solução
Remoção do tratamento próprio e utilização dos itens já tratados pelo embarque.
==> Ao aplicar esta nota, aplicar também a nota 4520.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04409 Data: 14/08/2007 Hora: 08:03:44
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04409
Categoria : Melhoria
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00008
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03549 - 00001 - 7.0 - 00001 - DOCUMENTOS DE EMBARQUE
04389 - 00002 - 7.0 - 00002 - ERROS/WARNINGS CODE INSPECTOR/VERIFICAÇÃ AMPLIADA NA COMISSÃO DE
----------------------------------------------------------------------------------------------------
REMOÇÃO DE TRATAMENTO OBSOLETO DE ORDENS
----------------------------------------------------------------------------------------------------
Palavras Chave:
REMOÇÃO TRATAMENTO ORDENS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCE017F01
REPS /PWS/MZYCE017TOP
REPS /PWS/MZYCE017X01
REPT /PWS/SAPMZYCE017
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE017F01
...
SELECT * FROM /pws/zycit224 INTO TABLE itab_zycit224
WHERE codmod = 'X' AND
origem = 'CA' AND
land1 = t001-land1.
ELSE.
LOOP AT itab_zycet013 WHERE belnr NE space.
ENDLOOP.
IF sy-subrc NE 0.
REFRESH: itab_zycet013.
CLEAR: itab_zycet013.
* >> Início da exclusão: FORM RATEIO_CG_AD
IF itab_saida IS INITIAL.
PERFORM trata_ordem.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM RATEIO_CG_AD
LOOP AT itab_zycet002.
* << Fim da inclusão
* >> Início da exclusão: FORM RATEIO_CG_AD
LOOP AT itab_saida.
READ TABLE itab_zycet020 WITH KEY auart = itab_saida-auart.
IF sy-subrc EQ 0.
IF itab_zycet020-tipodoc = 'OD' OR
itab_zycet020-tipodoc = 'DR' OR
itab_saida-shkzg = 'X'.
itab_saida-vlme = abs( itab_saida-vlme ) * ( -1 ).
itab_saida-vlcomis = abs( itab_saida-vlcomis ) * ( -1 ).
ENDIF.
ENDIF.
READ TABLE itab_zycet002 WITH KEY vbeln_vf = itab_saida-vbeln_vf
posnr = itab_saida-posnr.
IF sy-subrc = 0.
* << Fim da exclusão
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
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.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM RATEIO_CG_AD
ELSE.
* << Fim da inclusão
* >> Início da exclusão: FORM RATEIO_CG_AD
MOVE: itab_saida-vlme TO itab_zycet013-vlme,
itab_saida-vlcomis TO itab_zycet013-vlagente.
* << Fim da exclusão
* >> Início da inclusão: FORM RATEIO_CG_AD
MESSAGE a001
WITH
'Documento'(004)
itab_zycet002-auart
'não parametrizado em /pws/zycet020.'(005).
* << Fim da inclusão
* >> Início da exclusão: FORM RATEIO_CG_AD
MOVE: itab_saida-vlme TO it013_aux-vlme,
itab_saida-vlcomis TO it013_aux-vlagente.
* << Fim da exclusão
* >> Início da inclusão: FORM RATEIO_CG_AD
ENDIF.
it013_aux-vlme = itab_zycet013-vlme.
it013_aux-vlagente = itab_zycet013-vlagente.
* << Fim da inclusão
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.
CLEAR v_percent.
IF NOT /pws/zycee313-vlme_fob IS INITIAL.
v_percent = ( it013_aux-vlme / /pws/zycee313-vlme_fob ).
...
...
FROM /pws/zycet010
INTO itab_zycet010-belnr_ir
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.
* >> Início da inclusão: FORM RATEIO_AT_AR
LOOP AT itab_zycet010.
LOOP AT itab_zycet002.
* << Fim da inclusão
* >> Início da exclusão: FORM RATEIO_AT_AR
IF NOT itab_zycet010[] IS INITIAL AND
itab_saida IS INITIAL.
PERFORM trata_ordem.
* << Fim da exclusão
* >> Início da inclusão: FORM RATEIO_AT_AR
READ TABLE itab_zycet020 WITH KEY auart = itab_zycet002-auart.
IF sy-subrc EQ 0.
itab_zycet013 = abs( itab_zycet002-vlfob ).
IF itab_zycet002-shkzg EQ 'X'.
itab_zycet013-vlme = itab_zycet002-vlme * ( -1 ).
itab_zycet013-vlagente = itab_zycet002-vlagente * ( -1 ).
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM RATEIO_AT_AR
ELSE.
MESSAGE a001
WITH
'Documento'(004)
itab_zycet002-auart
'não parametrizado em /pws/zycet020.'(005).
* << Fim da inclusão
* >> Início da exclusão: FORM RATEIO_AT_AR
LOOP AT itab_zycet010.
LOOP AT itab_saida.
READ TABLE itab_zycet020 WITH KEY auart = itab_saida-auart.
READ TABLE itab_zycet002
WITH KEY vbeln_vf = itab_saida-vbeln_vf
posnr = itab_saida-posnr.
CHECK sy-subrc EQ 0.
itab_saida-vlme = abs( itab_zycet002-vlfob ).
IF itab_saida-shkzg EQ 'X'.
itab_saida-vlme = itab_saida-vlme * ( -1 ).
itab_saida-vlcomis = itab_saida-vlcomis * ( -1 ).
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM RATEIO_AT_AR
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_saida-vlme TO itab_zycet013-vlme,
itab_zycet010-lifnr TO itab_zycet013-lifnr,
itab_saida-vlcomis TO itab_zycet013-vlagente.
* << Fim da exclusão
* >> Início da inclusão: FORM RATEIO_AT_AR
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.
* << Fim da inclusão
COLLECT itab_zycet013.
* >> Início da inclusão: FORM RATEIO_AT_AR
ENDLOOP.
* << Fim da inclusão
ENDLOOP.
DELETE itab_zycet013 WHERE vlme IS initial.
* >> Início da exclusão: FORM RATEIO_AT_AR
ENDLOOP.
* << Fim da exclusão
CLEAR /pws/zycee313-vlme_fob.
...
...
itab_zycbe035-c_zuonr = /pws/zycee001-nrseq.
itab_zycbe035-d_newko = v_contal.
itab_zycbe035-d_gsber = it013_aux-gsber.
itab_zycbe035-d_prctr = itab_zycet013_ant-prctr.
itab_zycbe035-wrbtr = itab_zycet013_ant-vlme.
itab_zycbe035-d_kostl = v_kostl.
APPEND itab_zycbe035.
CLEAR itab_zycbe035.
ENDLOOP.
ENDFORM.
* >> Início da exclusão: FORM TRATA_ORDEM
FORM trata_ordem.
DATA: nrseq LIKE /pws/zycee085-nrseq.
CLEAR: itab_zycee085, itab_saida.
REFRESH: itab_zycee085, itab_saida.
LOOP AT itab_zycet002.
/pws/zycee001-nrseq = itab_zycet002-nrseq.
nrseq = nrseq + 1.
itab_zycee085-nrseq = nrseq.
SHIFT itab_zycee085-nrseq RIGHT DELETING TRAILING space.
UNPACK itab_zycee085-nrseq TO itab_zycee085-nrseq.
MOVE : itab_zycet002-mandt TO itab_zycee085-mandt,
itab_zycet002-vgbel TO itab_zycee085-vbeln_va,
itab_zycet002-vbeln_vf TO itab_zycee085-vbeln_vf,
itab_zycet002-posnr TO itab_zycee085-posnr,
itab_zycet002-vgpos TO itab_zycee085-aupos,
itab_zycet002-ntgew TO itab_zycee085-ntgew,
itab_zycet002-brgew TO itab_zycee085-brgew,
itab_zycet002-shkzg TO itab_zycee085-shkzg,
itab_zycet002-nfnum TO itab_zycee085-nfnum,
itab_zycet002-auart TO itab_zycee085-auart,
itab_zycet002-fkart TO itab_zycee085-fkart,
itab_zycet002-waers TO itab_zycee085-waers,
itab_zycet002-gewei TO itab_zycee085-gewei,
itab_zycet002-inco1 TO itab_zycee085-inco1,
itab_zycet002-fkimg TO itab_zycee085-fkimg,
itab_zycet002-vrkme TO itab_zycee085-vrkme,
itab_zycet002-vlme TO itab_zycee085-vlme,
itab_zycet002-bukrs TO itab_zycee085-bukrs.
APPEND itab_zycee085.
CLEAR itab_zycee085.
ENDLOOP.
EXPORT itab_zycee085 TO MEMORY ID 'ODOC'.
CALL FUNCTION '/PWS/ZYCE_TRATA_ORDEM'
EXPORTING
nrseq = /pws/zycee001-nrseq
TABLES
t_saida = itab_saida.
FREE MEMORY ID 'ODOC'.
DELETE itab_saida WHERE vlme = space.
ENDFORM.
* << Fim da exclusão
FORM busca_taxa USING p_dtbl
CHANGING p_taxa.
DATA v_taxa LIKE /pws/zycet002-kurrf.
READ TABLE itab_zyglt100 WITH KEY zexit = 'COM007' BINARY SEARCH.
IF sy-subrc = 0
AND NOT itab_zyglt100-programa IS INITIAL
AND NOT itab_zyglt100-formulario IS INITIAL.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa)
IF FOUND.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE017TOP
...
DATA: END OF it013_aux.
DATA itab_zycet010_ant LIKE /pws/zycet010.
DATA: BEGIN OF itab_zycet010_aux OCCURS 20 .
INCLUDE STRUCTURE /pws/zycet010.
DATA: mark(1).
DATA: END OF itab_zycet010_aux.
DATA: BEGIN OF itab_zycet010_del OCCURS 0 .
INCLUDE STRUCTURE /pws/zycet010.
DATA: mark(1).
DATA: END OF itab_zycet010_del.
* >> Início da exclusão:
DATA : BEGIN OF itab_saida OCCURS 10.
INCLUDE STRUCTURE /pws/zycee085.
DATA : END OF itab_saida.
DATA : BEGIN OF itab_zycee085 OCCURS 10.
INCLUDE STRUCTURE /pws/zycee085.
DATA : END OF itab_zycee085.
* << Fim da exclusão
DATA: BEGIN OF t_bupla OCCURS 0,
bupla LIKE bseg-bupla,
END OF t_bupla.
DATA : BEGIN OF itab_agente OCCURS 10,
codigo_r3 LIKE /pws/zycet076-codigo_r3,
kunnr LIKE vbpa-kunnr,
lifnr LIKE vbpa-lifnr,
percent LIKE /pws/zycet091-percentagem,
END OF itab_agente.
DATA: BEGIN OF itab_fornecedor OCCURS 0,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE017X01
...
DATA: BEGIN OF itab_zycet156 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet156.
* >> Início da exclusão:
DATA: END OF itab_zycet156.
* << Fim da exclusão
* >> Início da inclusão:
DATA: END OF itab_zycet156. "#EC NEEDED
* << Fim da inclusão
DATA: END OF COMMON PART.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCE017
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 004
Texto: (9 caracteres)
"Documento"
Comprimento máximo: 9
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 005
Texto: (35 caracteres)
"não parametrizado em /pws/zycet020."
Comprimento máximo: 35