Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 15/08/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:09:18
Descrição da Nota: AJUSTE PARA FATURA DE SERVIÇO PARA ATENDER AMERICA LATINA
Sintoma
Ajustes na fatura de serviços para atender america latina.
Solução
Ajustes na fatura de serviços para atender america latina.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04428 Data: 15/08/2007 Hora: 17:01:40
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04428
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00008
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01256 - 00001 - 6.0 - 00023 - ERRO NAS FATURAS DE SERVIÇO, QUANDO GERAMOS A REMESSA PARA O MÓDU
01380 - 00002 - 6.0 - 00023 - NOS PROCESSOS DE SERVIÇO, ONDE FAZEMOS O RECEBIMENTO PELA TRANSAÇ
01876 - 00003 - 6.0 - 00024 - ERRO AO ESTORNAR AO ESTORNAR DOCTOS CONTÁBEIS E SISTEMA GRAVA COM
03029 - 00004 - 6.0 - 00026 - AO CRIAR FATURA PARCIAL O SISTEMA CALCULA O PESO TOTAL DO EMBARQU
04286 - 00005 - 7.0 - 00002 - DESENVOLVIMENTO PARA GERAR A MIRO NA FATURA(AMERICA LATINA)
----------------------------------------------------------------------------------------------------
AJUSTE PARA FATURA DE SERVIÇO PARA ATENDER AMERICA LATINA
----------------------------------------------------------------------------------------------------
Palavras Chave:
FATURA - SERVIÇO - AMERICA - LATINA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003I01
REPS /PWS/MZYCI003O01
REPT /PWS/SAPMZYCI003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
ENDIF.
COMMIT WORK.
ENDFORM.
FORM executa_recebimento.
DATA: v_lfsnr_old LIKE /pws/zycie006-lfsnr,
v_lfsnr LIKE /pws/zycie006-lfsnr,
v_indice(02) TYPE n ,
v_erro ,
v_servico(01) TYPE c .
v_recebi = 'X'.
* >> Início da inclusão: FORM EXECUTA_RECEBIMENTO
IF /pws/zycit477 IS INITIAL.
* << Fim da inclusão
IF /pws/zycie006-belnr_mr1m IS INITIAL AND
/pws/zycie006-mblnr_mb01 IS INITIAL AND
/pws/zycie006-belnr_f_51 IS INITIAL.
CLEAR v_lfsnr.
MOVE /pws/zycie006-lfsnr TO v_lfsnr.
IF v_lfsnr IS INITIAL.
CONCATENATE /pws/zycie006-nrseq '/' '01' INTO v_lfsnr.
MOVE v_lfsnr TO /pws/zycie006-lfsnr.
ELSE.
v_lfsnr_old = /pws/zycie006-lfsnr.
...
...
PERFORM salvar_dados.
ELSE.
PERFORM reverse_document_mr8m.
ENDIF.
PERFORM salvar_dados.
ELSE.
/pws/zycie006-lfsnr = v_lfsnr_old.
ENDIF.
ELSE.
/pws/zycie006-lfsnr = v_lfsnr_old.
* >> Início da inclusão: FORM EXECUTA_RECEBIMENTO
ENDIF.
ELSE.
IF /pws/zycie006-belnr_mr1m IS INITIAL.
EXIT.
ENDIF.
IF NOT /pws/zycie006-mblnr_mb01 IS INITIAL.
message i015 with text-174.
EXIT.
ENDIF.
CLEAR v_lfsnr.
MOVE /pws/zycie006-lfsnr TO v_lfsnr.
IF v_lfsnr IS INITIAL.
CONCATENATE /pws/zycie006-nrseq '/' '01' INTO v_lfsnr.
MOVE v_lfsnr TO /pws/zycie006-lfsnr.
ELSE.
v_lfsnr_old = /pws/zycie006-lfsnr.
MOVE v_lfsnr+11(2) TO v_indice.
ADD 1 TO v_indice.
CONCATENATE v_lfsnr+0(11) v_indice INTO /pws/zycie006-lfsnr.
ENDIF.
CLEAR v_erro.
PERFORM lock_fornecedor CHANGING v_erro.
IF NOT v_erro IS INITIAL.
EXIT.
ENDIF.
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp bprme twrkz ntgew
FROM ekpo INTO TABLE itab_ekpo
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln EQ itab_zycit003-ebeln AND
ebelp EQ itab_zycit003-ebelp AND
wepos EQ 'X'.
IF sy-subrc EQ '0'.
PERFORM fill_date_mb01.
PERFORM unlock_fornecedor.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM EXECUTA_RECEBIMENTO
ENDIF.
ENDIF.
* << Fim da inclusão
CLEAR v_recebi.
ENDFORM.
FORM lock_fornecedor CHANGING erro.
DATA: v_message(40) TYPE c.
CALL FUNCTION 'ENQUEUE_EFLFB1AS'
...
...
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_valor
IMPORTING
output = v_belnr2
EXCEPTIONS
OTHERS = 1.
ENDIF.
ENDFORM.
FORM estorna_documentos.
* >> Início da inclusão: FORM ESTORNA_DOCUMENTOS
IF /pws/zycit477 IS INITIAL.
* << Fim da inclusão
IF NOT /pws/zycie006-belnr_f_51 IS INITIAL.
PERFORM: reverse_documento_contab_fbra,
reverse_cocumento_contab_fb08,
historico_recebimento USING /pws/zycie006-belnr_f_51
'F-51'.
ENDIF.
IF NOT /pws/zycie006-mblnr_mb01 IS INITIAL AND
/pws/zycie006-belnr_f_51 IS INITIAL.
PERFORM: reverse_documento_fisico_fbra,
historico_recebimento USING /pws/zycie006-mblnr_mb01
'MIGO'.
ENDIF.
IF NOT /pws/zycie006-belnr_mr1m IS INITIAL AND
/pws/zycie006-mblnr_mb01 IS INITIAL.
PERFORM: reverse_documento_fatura_mr8m,
historico_recebimento USING /pws/zycie006-belnr_mr1m
'MIRO'.
* >> Início da inclusão: FORM ESTORNA_DOCUMENTOS
ENDIF.
ELSE.
IF NOT /pws/zycie006-mblnr_mb01 IS INITIAL
AND /pws/zycit001-status_e NE 'E'.
PERFORM: reverse_documento_fisico_fbra,
historico_recebimento USING /pws/zycie006-mblnr_mb01
'MIGO'.
ENDIF.
* << Fim da inclusão
ENDIF.
MODIFY /pws/zycit006 FROM /pws/zycie006.
COMMIT WORK AND WAIT.
ENDFORM.
FORM reverse_documento_contab_fbra.
DATA: v_belnr_ant LIKE /pws/zycie006-belnr_p.
PERFORM clear_date_batch.
MOVE: /pws/zycie006-nrseq TO v_cpochv_fb08,
/pws/zycie006-belnr_f_51 TO v_belnr_fb08 ,
/pws/zycie006-bukrs TO v_bukrs_fb08 ,
...
...
t_campo = itab_zycit034
t_zycit032 = itab_zycit032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0 OR e_subrc EQ 0.
PERFORM atualiza_mr8m_fat.
ENDIF.
ENDFORM.
FORM reverse_documento_fisico_fbra.
* >> Início da exclusão: FORM REVERSE_DOCUMENTO_FISICO_FBRA
DATA: v_belnr_ant LIKE /pws/zycie006-belnr_p.
* << Fim da exclusão
DATA: BEGIN OF itab_itens_nf OCCURS 0.
INCLUDE STRUCTURE /pws/zycit044.
DATA: END OF itab_itens_nf.
PERFORM clear_date_batch.
itab_zycie033-tcode = 'MBST'.
itab_zycie033-tabela = '/PWS/ZYCIT006'.
itab_zycie033-cpochv = /pws/zycie006-nrseq.
itab_zycie033-bukrs = /pws/zycie006-bukrs.
itab_zycie033-mblnr = /pws/zycie006-mblnr_mb01.
itab_zycie033-gjahr = /pws/zycie006-dt_mb01+0(4).
...
...
ENDIF.
ELSE.
IF NOT v_val_plan_tot IS INITIAL.
itab_zycit003-ntgew = /pws/zycie006-ntgew / v_val_plan_tot *
( itab_zycit003-netpr * itab_zycit003-toinv ).
ENDIF.
v_tot_ntgew = v_tot_ntgew + itab_zycit003-ntgew.
ENDIF.
MODIFY itab_zycit003.
ENDLOOP.
* >> Início da exclusão: FORM CALCULA_PESO
ELSEIF /pws/zycie006-rateio = 'N' AND NOT /pws/zycie006-ntgew IS
INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_PESO
ELSEIF /pws/zycie006-rateio = 'N'
AND NOT /pws/zycie006-ntgew IS INITIAL
AND sy-tcode NE '/PWS/ZYCI003_L'.
* << Fim da inclusão
CLEAR v_tot_frete.
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp bprme twrkz ntgew
FROM ekpo INTO TABLE itab_ekpo
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp.
ENDIF.
LOOP AT itab_zycit003.
IF sy-tcode NE '/PWS/ZYCI003_L'.
...
...
AND ebelp EQ itab_zycit003-ebelp
AND vlseg_fat > 0.
itab_zycit031-sernp = 'X'.
EXIT.
ENDLOOP.
ENDIF.
APPEND itab_zycit031.
itab_zycie033-waers = /pws/zycie006-waers.
itab_zycie033-rmwwr = itab_zycit031-wrbtr + itab_zycie033-rmwwr.
ENDLOOP.
* >> Início da exclusão: FORM MIRO_AM_LA
ELSEIF /pws/zycie006-tpfatura EQ '01'.
* << Fim da exclusão
* >> Início da inclusão: FORM MIRO_AM_LA
ELSEIF /pws/zycie006-tpfatura EQ '01' OR
/pws/zycie006-tpfatura EQ '11'.
* << Fim da inclusão
DESCRIBE TABLE itab_rateio_parc LINES v_line.
LOOP AT itab_zycit003.
READ TABLE itab_contas_aux WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
READ TABLE itab_ivaped WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
PERFORM retorna_decimais USING /pws/zycie006-waers
CHANGING itab_contas_aux-wrbtr.
CLEAR: itab_zycit031.
itab_zycit031-tcode = itab_zycie033-tcode .
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003I01
...
LOOP AT itab_zycit003.
CLEAR: itab_zycit003-descfab, itab_zycit003-paisfab,
itab_zycit003-lifnrfabr , itab_zycit003-flagfabr.
MOVE: '3' TO itab_zycit003-fabric.
MODIFY itab_zycit003.
ENDLOOP.
ENDIF.
WHEN 'CAMB'.
CALL SCREEN 0112 STARTING AT 5 5 ENDING AT 65 20.
WHEN 'REC'.
* >> Início da inclusão: MODULE USER_COMMAND_0050
IF /pws/zycit477 IS INITIAL AND
/pws/zycie006-belnr_p IS INITIAL.
PERFORM trata_save.
ENDIF.
* << Fim da inclusão
IF NOT /pws/zycie006-belnr_p IS INITIAL.
PERFORM executa_recebimento.
CLEAR v_modo_bi.
ELSE.
MESSAGE i013 WITH text-133.
ENDIF.
WHEN 'ESTOR'.
PERFORM estorna_documentos.
WHEN 'VISUA'.
v_visualiza = 'X'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
ELSE.
IF t001-land1 NE 'CL'.
itab_pf_status-fcode = 'FRETECLP'.
APPEND itab_pf_status.
ENDIF.
ENDIF.
IF /pws/zycie006-tpfatura EQ '11' AND
( NOT /pws/zycie006-belnr_mr1m IS INITIAL OR
NOT /pws/zycie006-mblnr_mb01 IS INITIAL OR
NOT /pws/zycie006-belnr_f_51 IS INITIAL ).
* >> Início da inclusão: MODULE STATUS_0100
IF /pws/zycit477 IS INITIAL.
* << Fim da inclusão
itab_pf_status-fcode = 'DELE'.
APPEND itab_pf_status.
* >> Início da inclusão: MODULE STATUS_0100
ELSE.
IF NOT /pws/zycie006-mblnr_mb01 IS INITIAL.
itab_pf_status-fcode = 'DELE'.
APPEND itab_pf_status.
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: MODULE STATUS_0100
ENDIF.
* << Fim da inclusão
SET PF-STATUS '0100' EXCLUDING itab_pf_status.
ENDIF.
IF sy-tcode = '/PWS/ZYCI003_R' OR v_status_s = 0 OR
( sy-tcode = '/PWS/ZYCI003_L' AND v_exibe_fat IS INITIAL ).
itab_pf_status-fcode = 'ELIM'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'MARC'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'ELIM'.
APPEND itab_pf_status.
...
...
dynr = sy-dynnr AND
fldn = '/PWS/ZYCIE006-DATACHEG'.
IF sy-subrc EQ 0 AND /pws/zyglt334-caract = '-'.
screen-invisible = '1'.
ELSEIF sy-subrc EQ 0 AND /pws/zyglt334-caract = '+'.
screen-input = '1'.
screen-required = '1'.
ELSEIF sy-subrc EQ 0 AND /pws/zyglt334-caract = '.'.
screen-input = '1'.
ELSE.
* >> Início da inclusão: MODULE SET_SCREEN
screen-invisible = '1'.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF screen-name = '/PWS/ZYCIE006-BELNR_F_51'.
IF NOT /pws/zycit477 IS INITIAL.
screen-invisible = '1'.
ENDIF.
MODIFY SCREEN.
ENDIF.
IF screen-name = '/PWS/ZYCIE006-DT_F_51'.
IF NOT /pws/zycit477 IS INITIAL.
* << Fim da inclusão
screen-invisible = '1'.
ENDIF.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
WHEN '0111'.
DATA wa_zycie132 LIKE /pws/zycie132.
DESCRIBE TABLE itab_zycit132 LINES v_line.
tc_fat_parc-lines = v_line + 7.
IF v_status_s = 0 OR sy-tcode = '/PWS/ZYCI003_M'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI003
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 174
Texto: (19 caracteres)
"Fatura já recebida!"
Comprimento máximo: 19
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 174
Texto: (19 caracteres)
"Factura ya Recibida"
Comprimento máximo: 19