Módulo: DRAWBACK
Funcionalidade: Vinculação de Importação
Data/Hora da Publicação: 30/09/2008 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:30:39
Descrição da Nota: AJUSTE PARA PERMITIR VINCULAÇÃO DE REMESSA
Sintoma
Ajuste para permitir a vinculação de remessa.
Solução
Ajuste para permitir a vinculação de remessa.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07381 Data: 30/09/2008 Hora: 14:24:27
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07381
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00007
Agrupamento : 00067
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03267 - 00001 - 7.0 - 00001 - VINCULAÇÃO DE IMPORTAÇÃO
06153 - 00002 - 7.0 - 00004 - ATUALIZAÇÃO DAS CONDITIONS PARAMETRIZADAS NA TABELA /PWS/ZYCIT030
----------------------------------------------------------------------------------------------------
AJUSTE PARA PERMITIR VINCULAÇÃO DE REMESSA
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO - IMPORTAÇÃO - REMESSA - PEDIDO
/PWS/SAPMZYCI068
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI068F01
REPS /PWS/MZYCI068X01
REPT /PWS/SAPMZYCI068
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI068F01
...
* >> Início da inclusão: FORM MONTA_376_APR
DATA: v_vl_temp2 TYPE /pws/zycit376-vlfob.
DATA: itab_ekpo_aux TYPE ekpo OCCURS 0 WITH HEADER LINE.
itab_ekpo_aux[] = itab_ekpo[].
DELETE itab_ekpo_aux WHERE bstyp NE 'L'.
IF NOT itab_ekpo_aux[] IS INITIAL.
SELECT * FROM a016 INTO TABLE itab_a016
FOR ALL ENTRIES IN itab_ekpo_aux WHERE
kappl = 'M ' AND
evrtn = itab_ekpo_aux-ebeln AND
evrtp = itab_ekpo_aux-ebelp AND
datbi GE sy-datlo AND
datab LE sy-datlo.
IF NOT itab_a016[] IS INITIAL.
SELECT * FROM konp INTO TABLE itab_konp
FOR ALL ENTRIES IN itab_a016 WHERE
knumh = itab_a016-knumh AND
krech = 'C' AND
loevm_ko = space .
LOOP AT itab_konp.
READ TABLE itab_a016 WITH KEY knumh = itab_konp-knumh.
itab_konp-ebeln = itab_a016-evrtn.
itab_konp-ebelp = itab_a016-evrtp.
MODIFY itab_konp TRANSPORTING ebeln ebelp.
ENDLOOP.
ELSE.
MESSAGE i015 WITH text-025.
ENDIF.
ENDIF.
* << Fim da inclusão
LOOP AT itab_ekpo.
CLEAR itab_zycit376_t.
READ TABLE itab_zycit376 WITH KEY
ebeln = itab_ekpo-ebeln
ebelp = itab_ekpo-ebelp.
IF sy-subrc EQ 0.
CONTINUE.
ENDIF.
IF /pws/zycit321-apr_imp NE 'X'.
IF /pws/zycit321-c_comum IS INITIAL.
...
...
itab_ekpo-aedat TO itab_zycit376_t-datac,
itab_ekpo-werks TO itab_zycit376_t-werks,
itab_ekpo-j_1bnbm TO itab_zycit376_t-j_1bnbm,
itab_ekpo-txz01 TO itab_zycit376_t-descr,
itab_ekpo-menge TO itab_zycit376_t-qtd_iten,
itab_ekpo-meins TO itab_zycit376_t-meins,
itab_ekpo-meins TO itab_zycit376_t-meinsp,
itab_ekpo-matnr TO itab_zycit376_t-matnr,
itab_ekko-lifnr TO itab_zycit376_t-lifnr,
itab_eket-eindt TO itab_zycit376_t-dtprevcheg.
* >> Início da inclusão: FORM MONTA_376_APR
IF itab_ekko-bstyp = 'L'.
MOVE itab_ekpo-ktmng TO itab_zycit376_t-qtd_iten.
ENDIF.
* << Fim da inclusão
READ TABLE itab_komv WITH KEY knumv = itab_ekko-knumv.
IF sy-subrc NE 0.
REFRESH: itab_komv.
CLEAR: wa_komk.
wa_komk-knumv = itab_ekko-knumv.
CALL FUNCTION 'RV_KONV_SELECT'
EXPORTING
comm_head_i = wa_komk
general_read = 'X'
TABLES
...
...
WHERE bukrs EQ itab_ekko-bukrs.
ENDIF.
CLEAR v_ebelp.
CONCATENATE '0' itab_ekpo-ebelp INTO v_ebelp.
READ TABLE itab_zycit030 WITH KEY bukrs = itab_ekko-bukrs.
IF sy-subrc NE 0.
CLEAR itab_ekko-bukrs.
ENDIF.
LOOP AT itab_zycit030 WHERE land1 EQ t001-land1
AND bukrs EQ itab_ekko-bukrs.
* >> Início da inclusão: FORM MONTA_376_APR
IF itab_ekko-bstyp = 'L'.
LOOP AT itab_konp WHERE ebeln = itab_ekpo-ebeln AND
ebelp = itab_ekpo-ebelp AND
kschl = itab_zycit030-kschl.
CLEAR: v_vl_temp, v_vl_temp2.
PERFORM retorna_decimais USING itab_ekko-waers
CHANGING itab_konp-kbetr.
IF NOT itab_konp-kpein IS INITIAL.
v_vl_temp2 = itab_ekpo-menge *
( itab_konp-kbetr / itab_konp-kpein ).
ENDIF.
PERFORM converter_moeda USING v_vl_temp2
itab_ekko-waers
'USD'
itab_ekpo-aedat
CHANGING v_vl_temp.
IF itab_zycit030-fator EQ '+'.
itab_zycit376_t-vlfob = itab_zycit376_t-vlfob + v_vl_temp.
ELSE.
itab_zycit376_t-vlfob = itab_zycit376_t-vlfob - v_vl_temp.
ENDIF.
ENDLOOP.
ELSE.
* << Fim da inclusão
LOOP AT itab_komv
WHERE kposn EQ v_ebelp
AND kschl EQ itab_zycit030-kschl
AND knumv EQ itab_ekko-knumv.
CLEAR: v_vl_temp.
PERFORM retorna_decimais USING itab_ekko-waers
CHANGING itab_komv-kwert.
PERFORM converter_moeda USING itab_komv-kwert
itab_ekko-waers
'USD'
itab_ekpo-aedat
CHANGING v_vl_temp.
IF itab_zycit030-fator EQ '+'.
itab_zycit376_t-vlfob = itab_zycit376_t-vlfob + v_vl_temp.
ELSE.
itab_zycit376_t-vlfob = itab_zycit376_t-vlfob - v_vl_temp.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM MONTA_376_APR
ENDIF.
* << Fim da inclusão
ENDLOOP.
itab_zycit376_t-waers = 'USD'.
IF NOT itab_zycit376_t-vlfob > 0.
CONTINUE.
ENDIF.
APPEND itab_zycit376_t.
ENDLOOP.
ENDFORM.
FORM converter_moeda USING p_devlme
p_deme
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI068X01
...
* >> Início da inclusão:
DATA: BEGIN OF itab_a016 OCCURS 0.
INCLUDE STRUCTURE a016.
DATA: END OF itab_a016.
DATA: BEGIN OF itab_konp OCCURS 0.
INCLUDE STRUCTURE konp.
DATA: ebeln LIKE ekpo-ebeln,
ebelp LIKE ekpo-ebelp.
DATA: END OF itab_konp.
* << Fim da inclusão
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI068
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 025
Texto: (45 caracteres)
"Não encontrada a Data de Validade da Condição"
Comprimento máximo: 45