Módulo: DOC. EXPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 26/11/2005 00:00:00
Data/Hora Última Alteração: 21/02/2011 13:50:50
Descrição da Nota: EMBARQUE DE AMOSTRA
Sintoma
O SD permite que sejam feitos faturamentos de amostras gratuitas. O Embarque de Exportação deve
permitir que seja criado embarques de exportação de amostra.
Solução
Aplicar os ajustes constantes nessa nota.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00353 Data: 26/11/2005 Hora: 15:07:15
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00353
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00021
Agrupamento : 00089
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00169 - 00001 - 6.0 - 00021 - DESENVOLVIMENTO DO EMBARQUE DE EXPORTAÇÃO EM CONSIGNAÇÃO
00190 - 00002 - 6.0 - 00021 - ATUALIZAÇÃO DOS DADOS DE DRAWBACK POR DENTRO DO EMBARQUE DE EXPOR
00352 - 00003 - 6.0 - 00021 - AJUSTES DIVERSOS NO EMBARQUE DE EXPORTAÇÃO
----------------------------------------------------------------------------------------------------
EMBARQUE DE AMOSTRA
----------------------------------------------------------------------------------------------------
Palavras Chave:
EXPORTAÇÃO EMBARQUE AMOSTRA
----------------------------------------------------------------------------------------------------
Objetos da nota:
DOCU NA/PWS/ZYCEM266
DOCU NA/PWS/ZYCEM267
DOMD /PWS/ZYCED357
MESS /PWS/ZYCEM266
MESS /PWS/ZYCEM267
REPS /PWS/MZYCE003F01
REPS /PWS/MZYCE003F02
REPS /PWS/MZYCE003TSD
REPT /PWS/SAPMZYCE003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DOMD /PWS/ZYCED357
Valores fixos do Domínio /PWS/ZYCED357:
S Embarque com Ordem de Venda
D Embarque com Pedido de Compra
* >> Início da Exclusão <<
P Embarque com Ordem de Venda e Pedido de Compra
* >> Fim da Exclusão <<
C Embarque de Consignação
* >> Início da Exclusão <<
I Embarque de Industrialização
* >> Fim da Exclusão <<
T Embarque de Exportação Temporária
V Embarque de Ordem de Venda com Referência à Pedido de Compra
* >> Início da Inclusão <<
A Embarque de Amostra
* >> Fim da Inclusão <<
----------------------------------------------------------------------------------------------------
Modificações efetuadas em MESS /PWS/ZYCEM266
Criar a mensagem auto-explicativa 266 na Classe de Mensagens /PWS/ZYCEM:
"Tipo de Embarque não permite Ordem &1 de Ordem Gratuita."
----------------------------------------------------------------------------------------------------
Modificações efetuadas em MESS /PWS/ZYCEM267
Criar a mensagem auto-explicativa 267 na Classe de Mensagens /PWS/ZYCEM:
"Embarque de Amostra Gratuita não aceita Ordem de Venda &1."
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE003F01
...
EXCEPTIONS
no_vbfa = 1
no_vbuk_found = 2.
CHECK sy-subrc EQ 0.
LOOP AT itab_vbfa_aux.
* >> Início da exclusão: FORM SELECIONA_DADOS_SAP
IF itab_vbfa_aux-vbtyp_n EQ 'C'.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS_SAP
IF itab_vbfa_aux-vbtyp_n CA 'CI'.
* << Fim da inclusão
MOVE itab_vbfa_aux-vbeln TO itab_ovs-vbeln.
COLLECT itab_ovs.
ELSEIF itab_vbfa_aux-vbtyp_n EQ 'V'.
MOVE itab_vbfa_aux-vbeln TO itab_ped-ebeln.
COLLECT itab_ped.
...
...
WHEN 'G'.
WHEN 'H'.
itab_ovs-vbeln = v_vbeln.
COLLECT itab_ovs.
WHEN 'I'.
* >> Início da inclusão: FORM SELECIONA_DADOS_SAP
itab_ovs-vbeln = v_vbeln.
COLLECT itab_ovs.
* << Fim da inclusão
WHEN 'J'.
itab_for-vbeln = v_vbeln.
COLLECT itab_for.
WHEN 'K'.
itab_ovs-vbeln = v_vbeln.
...
...
COLLECT itab_konv_sel.
ENDLOOP.
CHECK NOT itab_konv_sel[] IS INITIAL.
SELECT knumv
kposn
* >> Início da inclusão: FORM SELECIONA_CONDITIONS_SAP
stunr
zaehk
* << Fim da inclusão
kschl
kbetr
waers
kntyp
kwert
...
...
itab_nf-docnum = itab_zycit282-docnumimp.
COLLECT itab_nf.
ENDLOOP.
CHECK NOT itab_nf[] IS INITIAL OR
NOT itab_refkey[] IS INITIAL.
* >> Início da exclusão: FORM SELECIONA_NOTAS_FISCAIS
IF NOT itab_refkey IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_NOTAS_FISCAIS
IF NOT itab_refkey[] IS INITIAL.
* << Fim da inclusão
SELECT docnum
itmnum
reftyp
refkey
FROM j_1bnflin
...
...
LOOP AT itab_j_1bnflin.
itab_nf-docnum = itab_j_1bnflin-docnum.
COLLECT itab_nf.
ENDLOOP.
ENDIF.
* >> Início da inclusão: FORM SELECIONA_NOTAS_FISCAIS
CHECK NOT itab_nf[] IS INITIAL.
* << Fim da inclusão
SELECT docnum
pstdat
nfnum
series
docdat
...
...
DELETE ADJACENT DUPLICATES
FROM itab_status_ite
COMPARING vbeln_va aupos.
ENDFORM.
FORM atualiza_ordens_e_remessas.
* >> Início da exclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
DATA: wa_zycet002 LIKE itab_zycet002,
itab_002 LIKE itab_zycet002 OCCURS 0 WITH HEADER LINE,
v_vbeln_va LIKE /pws/zycet002-vbeln_va,
v_vbeln_vl LIKE /pws/zycet002-vbeln_vl,
v_posnr_va LIKE /pws/zycet002-aupos,
v_posnr_vl LIKE /pws/zycet002-posnl,
v_kwmeng LIKE vbap-kwmeng,
v_lfimg LIKE lips-lfimg,
v_tipo_ov TYPE c.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
DATA: wa_zycet002 LIKE itab_zycet002,
itab_002 LIKE itab_zycet002 OCCURS 0 WITH HEADER LINE,
v_vbeln_va LIKE /pws/zycet002-vbeln_va,
v_vbeln_vl LIKE /pws/zycet002-vbeln_vl,
v_posnr_va LIKE /pws/zycet002-aupos,
v_posnr_vl LIKE /pws/zycet002-posnl,
v_kwmeng LIKE vbap-kwmeng,
v_lfimg LIKE lips-lfimg,
v_tipo_ov(2) TYPE c.
* << Fim da inclusão
DATA: BEGIN OF itab_analisado OCCURS 0,
vbeln LIKE vbap-vbeln,
posnr LIKE vbap-posnr,
END OF itab_analisado.
LOOP AT itab_zycet002 WHERE vbeln_vf IS initial.
...
...
ENDIF.
v_vbeln_va = itab_zycet002-vbeln_va.
v_vbeln_vl = itab_zycet002-vbeln_vl.
v_posnr_va = itab_zycet002-aupos.
v_posnr_vl = itab_zycet002-posnl.
* >> Início da exclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
v_tipo_ov = 'C'.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
v_tipo_ov = 'CI'.
* << Fim da inclusão
IF v_vbeln_va IS INITIAL.
IF NOT itab_zycet002-ebeln IS INITIAL.
v_vbeln_va = itab_zycet002-ebeln.
v_posnr_va = itab_zycet002-ebelp.
v_tipo_ov = 'V'.
ENDIF.
ENDIF.
IF v_tipo_ov EQ 'V' AND
* >> Início da exclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
/pws/zycee001-tipo_emb NA 'DPV'.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
/pws/zycee001-tipo_emb NA 'DV'.
* << Fim da inclusão
DELETE itab_zycet002.
CONTINUE.
ENDIF.
READ TABLE itab_analisado WITH KEY vbeln = v_vbeln_va
posnr = v_posnr_va.
CHECK sy-subrc NE 0.
IF NOT v_vbeln_va IS INITIAL AND
v_posnr_va IS INITIAL.
LOOP AT itab_vbfa WHERE vbeln EQ v_vbeln_va AND
posnn NE space AND
* >> Início da exclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
vbtyp_n EQ v_tipo_ov.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
vbtyp_n CA v_tipo_ov.
* << Fim da inclusão
wa_zycet002 = itab_zycet002.
IF v_tipo_ov EQ 'V'.
wa_zycet002-ebelp = itab_vbfa-posnn.
* >> Início da inclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
ELSE.
IF /pws/zycee001-tipo_emb EQ 'A'.
IF itab_vbfa-vbtyp_n NE 'I'.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCEM'
msgty = 'E'
msgv1 = v_vbeln_va
txtnr = 267
zeile = 'FREE_OV'.
CONTINUE.
ENDIF.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: FORM ATUALIZA_ORDENS_E_REMESSAS
IF itab_vbfa-vbtyp_n EQ 'I'.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCEM'
msgty = 'E'
msgv1 = v_vbeln_va
txtnr = 266
zeile = 'FREE_OV'.
CONTINUE.
ENDIF.
ENDIF.
* << Fim da inclusão
wa_zycet002-aupos = itab_vbfa-posnn.
ENDIF.
APPEND wa_zycet002 TO itab_zycet002.
APPEND wa_zycet002 TO itab_002.
ENDLOOP.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE003F02
...
v_title = '0001C'.
v_pfkey = '0010_HDR_C'.
CASE /pws/zycee001-tipo_emb.
WHEN 'S'.
v_texto1 = 'com OV'(l03).
* >> Início da inclusão: FORM CARREGA_STATUS_GUI
WHEN 'A'.
v_texto1 = 'de Amostra'(l14).
* << Fim da inclusão
WHEN 'P'.
* >> Início da exclusão: FORM CARREGA_STATUS_GUI
v_texto1 = 'com OV e PC'(l04).
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_STATUS_GUI
/pws/zycee001-tipo_emb = 'V'.
v_texto1 = 'com OV (ref. PC)'(l13).
* << Fim da inclusão
WHEN 'D'.
v_texto1 = 'com PC'(l05).
WHEN 'V'.
v_texto1 = 'com OV (ref. PC)'(l13).
WHEN 'C'.
v_texto1 = 'de Consignação'(l06).
IF /pws/zycee001-emb_consig EQ 'V'.
v_texto2 = '(Venda)'(l09).
ENDIF.
WHEN 'I'.
* >> Início da exclusão: FORM CARREGA_STATUS_GUI
v_texto1 = 'de Industrialização'(l07).
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_STATUS_GUI
/pws/zycee001-tipo_emb = 'T'.
/pws/zycee001-tipo_emb_temp = 'I'.
v_texto1 = 'Temporário'(l08).
v_texto2 = '(Industrialização)'(l10).
* << Fim da inclusão
WHEN 'T'.
v_texto1 = 'Temporário'(l08).
IF /pws/zycee001-tipo_emb_temp EQ 'I'.
v_texto2 = '(Industrialização)'(l10).
ENDIF.
...
...
ENDFORM.
FORM valores_iniciais_0002.
DATA: v_nome TYPE vrm_id,
v_lista TYPE vrm_values,
wa_valores LIKE LINE OF v_lista.
* >> Início da exclusão: FORM VALORES_INICIAIS_0002
CONSTANTS: c_permitido(5) TYPE c VALUE 'SDVTC'.
* << Fim da exclusão
* >> Início da inclusão: FORM VALORES_INICIAIS_0002
CONSTANTS: c_permitido(6) TYPE c VALUE 'SDVTCA'.
* << Fim da inclusão
IF /pws/zycee001 IS INITIAL.
PERFORM limpa_tabelas_internas.
READ TABLE itab_zycet312 INDEX 1.
IF sy-subrc EQ 0.
MOVE:
...
...
IF wa_controle-enviado_cambio EQ 'X'.
wa_screen-input = '0'.
ENDIF.
ENDIF.
IF wa_screen-group3 EQ '008'.
* >> Início da exclusão: FORM LOOP_AT_SCREEN_DEFAULT
IF /pws/zycee001-tipo_emb NE 'I' AND
itab_zycet037-centro_dif EQ '1'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOOP_AT_SCREEN_DEFAULT
IF itab_zycet037-centro_dif EQ '1'.
* << Fim da inclusão
wa_screen-input = '0'.
ENDIF.
ENDIF.
IF wa_screen-group3 EQ '009'.
IF NOT itab_zycet037 IS INITIAL AND
...
...
wa_screen-invisible = '0'.
wa_screen-active = '1'.
ENDIF.
ENDIF.
IF wa_screen-group3 EQ '015'.
* >> Início da exclusão: FORM LOOP_AT_SCREEN_DEFAULT
IF /pws/zycee001-tipo_emb CA 'PDV'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOOP_AT_SCREEN_DEFAULT
IF /pws/zycee001-tipo_emb CA 'DV'.
* << Fim da inclusão
wa_screen-input = '0'.
wa_screen-output = '0'.
wa_screen-invisible = '1'.
wa_screen-required = '0'.
wa_screen-active = '0'.
...
...
wa_screen-invisible = '0'.
wa_screen-active = '1'.
ENDIF.
ENDIF.
IF wa_screen-group3 EQ '016'.
* >> Início da exclusão: FORM LOOP_AT_SCREEN_DEFAULT
IF /pws/zycee001-tipo_emb NA 'PDV'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOOP_AT_SCREEN_DEFAULT
IF /pws/zycee001-tipo_emb NA 'DV'.
* << Fim da inclusão
wa_screen-input = '0'.
wa_screen-output = '0'.
wa_screen-invisible = '1'.
wa_screen-required = '0'.
wa_screen-active = '0'.
...
...
ENDIF.
ENDIF.
MODIFY itab_tabstrip INDEX v_tabix TRANSPORTING visible.
ENDIF.
IF screen-group4 EQ '004'.
* >> Início da exclusão: FORM LOOP_AT_SCREEN_0010
IF /pws/zycee001-tipo_emb NA 'PV'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOOP_AT_SCREEN_0010
IF /pws/zycee001-tipo_emb NA 'V'.
* << Fim da inclusão
screen-invisible = '1'.
ENDIF.
ENDIF.
IF screen-group4 EQ '005'.
IF itab_t001-land1 = 'AR'.
...
...
ENDCASE.
ENDLOOP.
itab_status_cab-colinfo[] = itab_color[].
MODIFY itab_status_cab.
ENDLOOP.
* >> Início da exclusão: FORM PREPARA_ALV_STATUS
IF custom_container_ite IS INITIAL.
* << Fim da exclusão
PERFORM preenche_fieldcat_ite.
* >> Início da exclusão: FORM PREPARA_ALV_STATUS
ENDIF.
* << Fim da exclusão
LOOP AT itab_status_ite.
...
...
itab_fieldcat_cab-no_out = ' '.
itab_fieldcat_cab-key = ' '.
itab_fieldcat_cab-outputlen = 10.
itab_fieldcat_cab-just = 'C'.
APPEND itab_fieldcat_cab.
* >> Início da inclusão: FORM PREENCHE_FIELDCAT_CAB
CLEAR itab_t001.
READ TABLE itab_t001 WITH KEY bukrs = /pws/zycee001-bukrs.
IF itab_t001-land1 EQ 'BR'.
* << Fim da inclusão
IF wa_status_cab-dsexp NA 'BC'.
CLEAR itab_fieldcat_cab.
itab_fieldcat_cab-col_pos = 4.
itab_fieldcat_cab-fieldname = 'RGEXP'.
itab_fieldcat_cab-tabname = '1'.
...
...
itab_fieldcat_cab-key = ' '.
itab_fieldcat_cab-outputlen = 10.
itab_fieldcat_cab-just = 'C'.
APPEND itab_fieldcat_cab.
ENDIF.
* >> Início da inclusão: FORM PREENCHE_FIELDCAT_CAB
ENDIF.
* << Fim da inclusão
CLEAR itab_fieldcat_cab.
itab_fieldcat_cab-col_pos = 7.
itab_fieldcat_cab-fieldname = 'ENVCB'.
itab_fieldcat_cab-tabname = '1'.
itab_fieldcat_cab-datatype = 'CHAR'.
...
...
itab_fieldcat_cab-no_out = ' '.
itab_fieldcat_cab-key = ' '.
itab_fieldcat_cab-outputlen = 10.
itab_fieldcat_cab-just = 'C'.
APPEND itab_fieldcat_cab.
* >> Início da exclusão: FORM PREENCHE_FIELDCAT_CAB
IF /pws/zycee001-loc_emb EQ 'N'.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_FIELDCAT_CAB
IF /pws/zycee001-loc_emb EQ 'N' AND
/pws/zycee001-tipo_emb NA 'TA'.
* << Fim da inclusão
CLEAR itab_fieldcat_cab.
itab_fieldcat_cab-col_pos = 8.
itab_fieldcat_cab-fieldname = 'CVINC'.
itab_fieldcat_cab-tabname = '1'.
itab_fieldcat_cab-datatype = 'CHAR'.
...
...
itab_fieldcat_cab-outputlen = 1.
itab_fieldcat_cab-just = 'C'.
APPEND itab_fieldcat_cab.
ENDFORM.
FORM preenche_fieldcat_ite.
* >> Início da inclusão: FORM PREENCHE_FIELDCAT_ITE
REFRESH itab_fieldcat_ite.
* << Fim da inclusão
CLEAR itab_fieldcat_ite.
itab_fieldcat_ite-col_pos = 1.
itab_fieldcat_ite-fieldname = 'VBELN_VA'.
itab_fieldcat_ite-tabname = '/PWS/ZYCET002'.
itab_fieldcat_ite-datatype = 'CHAR'.
...
...
itab_fieldcat_ite-no_out = ' '.
itab_fieldcat_ite-key = ' '.
itab_fieldcat_ite-outputlen = 11.
itab_fieldcat_ite-just = 'C'.
APPEND itab_fieldcat_ite.
* >> Início da inclusão: FORM PREENCHE_FIELDCAT_ITE
IF /pws/zycee001-tipo_emb NA 'AT'.
* << Fim da inclusão
CLEAR itab_fieldcat_ite.
itab_fieldcat_ite-col_pos = 8.
itab_fieldcat_ite-fieldname = 'RVEND'.
itab_fieldcat_ite-tabname = '1'.
itab_fieldcat_ite-datatype = 'CHAR'.
...
...
itab_fieldcat_ite-no_out = ' '.
itab_fieldcat_ite-key = ' '.
itab_fieldcat_ite-outputlen = 11.
itab_fieldcat_ite-just = 'C'.
APPEND itab_fieldcat_ite.
* >> Início da inclusão: FORM PREENCHE_FIELDCAT_ITE
ENDIF.
* << Fim da inclusão
CLEAR itab_fieldcat_ite.
itab_fieldcat_ite-col_pos = 9.
itab_fieldcat_ite-fieldname = 'MARK'.
itab_fieldcat_ite-tabname = '1'.
itab_fieldcat_ite-datatype = 'CHAR'.
...
...
APPEND 'REM_CB' TO i_botoes.
APPEND 'F_APROP' TO i_botoes.
APPEND 'F_RGVEN' TO i_botoes.
APPEND 'F_RVEND' TO i_botoes.
APPEND 'F_CEFET' TO i_botoes.
* >> Início da inclusão: FORM EXCLUI_STATUS_GUI_0010_HDR
APPEND 'F_VCAMB' TO i_botoes.
APPEND 'F_LCAMB' TO i_botoes.
APPEND 'F_PEXPA' TO i_botoes.
ENDIF.
IF /pws/zycee001-tipo_emb EQ 'A'.
APPEND 'ENV_CB' TO i_botoes.
APPEND 'REM_CB' TO i_botoes.
APPEND 'F_RVEND' TO i_botoes.
* << Fim da inclusão
APPEND 'F_VCAMB' TO i_botoes.
* >> Início da inclusão: FORM EXCLUI_STATUS_GUI_0010_HDR
APPEND 'F_APROP' TO i_botoes.
* << Fim da inclusão
APPEND 'F_LCAMB' TO i_botoes.
...
...
xpws_zycet015.
PERFORM cd_call_pws_zycem003.
ENDFORM.
FORM muda_descricao_aba.
DATA: v_index LIKE sy-tabix.
* >> Início da exclusão: FORM MUDA_DESCRICAO_ABA
CHECK /pws/zycee001-tipo_emb CA 'PDV'.
* << Fim da exclusão
* >> Início da inclusão: FORM MUDA_DESCRICAO_ABA
CHECK /pws/zycee001-tipo_emb CA 'DV'.
* << Fim da inclusão
READ TABLE itab_tabstrip WITH KEY level = 'HDR'
tabname = 'T/02'.
CHECK sy-subrc EQ 0.
v_index = sy-tabix.
* >> Início da exclusão: FORM MUDA_DESCRICAO_ABA
IF /pws/zycee001-tipo_emb CA 'PV'.
* << Fim da exclusão
* >> Início da inclusão: FORM MUDA_DESCRICAO_ABA
IF /pws/zycee001-tipo_emb CA 'V'.
* << Fim da inclusão
itab_tabstrip-descr = 'Pedidos de Compras/Ordens de Vendas'(c23).
ELSE.
itab_tabstrip-descr = 'Pedidos de Compras'(c22).
ENDIF.
MODIFY itab_tabstrip INDEX v_index TRANSPORTING descr.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCE003TSD
...
refkey LIKE j_1bnflin-refkey,
END OF itab_j_1bnflin.
DATA: BEGIN OF itab_konv OCCURS 0,
knumv LIKE konv-knumv,
kposn LIKE konv-kposn,
* >> Início da inclusão:
stunr LIKE konv-stunr,
zaehk LIKE konv-zaehk,
* << Fim da inclusão
kschl LIKE konv-kschl,
kbetr LIKE konv-kbetr,
waers LIKE konv-waers,
kntyp LIKE konv-kntyp,
kwert LIKE konv-kwert,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCE003
Criar os seguintes elementos de Texto:
L14: de Amostra