Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Despesas
Data/Hora da Publicação: 29/01/2008 00:00:00
Data/Hora Última Alteração: 22/02/2011 15:50:21
Descrição da Nota: RATEIO DAS DESPESAS
Sintoma
O rateio das despesas na Fatura não está respeitando os parametros da tabela /pws/zycit039, e está
rateando sempre por valor.
Solução
Corrigir o rateio das despesas para seguir os parametros da tabela /pws/zycit039.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05776 Data: 29/01/2008 Hora: 13:11:13
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05776
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00004
Agrupamento : 00032
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04286 - 00001 - 7.0 - 00002 - DESENVOLVIMENTO PARA GERAR A MIRO NA FATURA(AMERICA LATINA)
04750 - 00002 - 7.0 - 00002 - ERRO RATEIO DESPESAS, VARIAÇÃO CAMBIAL, VLR DO SEGURO, GRANEL DA
----------------------------------------------------------------------------------------------------
RATEIO DAS DESPESAS
----------------------------------------------------------------------------------------------------
Palavras Chave:
RATEIO - DESPESAS - FATURA
/PWS/SAPMZYCI003
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_RATEIO_CUSTO
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003I01
REPS /PWS/MZYCI003O01
REPS /PWS/MZYCI003X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO
...
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL .
itab_zycit003-vlreal = itab_zycit003-vlreal / v_taxa.
itab_zycit003-netpr = itab_zycit003-netpr / v_taxa.
ENDIF.
ENDIF.
v_tot = v_tot + ( itab_zycit003-netpr * itab_zycit003-qtd_iten ).
v_tot_vlreal = v_tot_vlreal + ( itab_zycit003-vlreal *
itab_zycit003-qtd_iten ).
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
v_tpeso = v_tpeso + itab_zycit003-ntgew.
v_valor = itab_zycit003-qtd_iten * itab_zycit003-vlreal.
IF NOT v_valor IS INITIAL AND NOT v_tvalor IS INITIAL.
v_tseg = v_valor / v_tvalor.
ENDIF.
v_seg = v_seg + v_valor.
* << Fim da exclusão
ENDLOOP.
IF /pws/zycit001-regime = '04' AND /pws/zycit001-tpdecl = 'DI'.
SELECT * FROM /pws/zycit443
INTO TABLE itab_zycit443
WHERE nrseq = itab_zycit003-nrseq.
READ TABLE itab_zycit443 INDEX 1.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit442 INTO /pws/zycie442
WHERE nrseqda = itab_zycit443-nrseqda.
LOOP AT itab_zycit443.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
IF NOT /pws/zycie006-belnr_p IS INITIAL.
v_contabilizou = 'X'.
ELSE.
LOOP AT itab_zycit132 WHERE belnr_p NE space.
v_contabilizou = 'X'.
ENDLOOP.
ENDIF.
ENDFORM.
FORM fill_date_f-43_f-02.
DATA:
* >> Início da exclusão: FORM FILL_DATE_F-43_F-02
v_embarca LIKE /pws/zycit001-embarca,
v_ukurs LIKE /pws/zycit085-ukursfob,
v_fator LIKE tcurr-ffact.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F-43_F-02
v_ukurs LIKE /pws/zycit085-ukursfob.
* << Fim da inclusão
DATA: v_de LIKE tcurf-ffact,
v_para LIKE tcurf-tfact.
IF v_subrc IS INITIAL.
PERFORM multiplos_lancamentos.
ENDIF.
PERFORM get_parameters_f-43_f-02.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = v_trans.
itab_zycbe033-tabela = '/PWS/ZYCIT006'.
IF v_parcela = 'X'.
...
...
AND dtincl IN itab_dtincl
AND tpfatura IN itab_tpfatura.
DESCRIBE TABLE itab_zycit006_all LINES v_nolin.
IF v_nolin IS INITIAL.
MESSAGE w002.
ELSE.
CALL SCREEN 0003.
ENDIF.
ENDFORM.
FORM buscar_cnpj.
* >> Início da exclusão: FORM BUSCAR_CNPJ
DATA: v_branch LIKE t001w-j_1bbranch,
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCAR_CNPJ
DATA:
* << Fim da inclusão
v_cgc LIKE j_1bwfield-cgc_number.
IF NOT /pws/zycie006-j_1bbranch IS INITIAL
AND v_cnpj IS INITIAL.
CALL FUNCTION 'J_1BREAD_BRANCH_DATA'
EXPORTING
branch = /pws/zycie006-j_1bbranch
bukrs = /pws/zycie006-bukrs
IMPORTING
cgc_number = /pws/zycie006-cnpj
EXCEPTIONS
...
...
ENDIF.
ENDIF.
/pws/zycie006-dtbase = /pws/zycie006-dtincl.
ENDIF.
ENDIF.
IF /pws/zycie006-dataprvtsr IS INITIAL.
/pws/zycie006-dataprvtsr = /pws/zycie006-dtvencto.
ENDIF.
ENDFORM.
FORM custeando_despesa_inco.
* >> Início da exclusão: FORM CUSTEANDO_DESPESA_INCO
DATA: v_totdesp LIKE /pws/zycit036-vlreal ,
v_tot LIKE /pws/zycit036-vlreal ,
v_real_acum LIKE /pws/zycit036-vlreal,
v_real_dif LIKE /pws/zycit036-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM CUSTEANDO_DESPESA_INCO
DATA:
v_real_acum LIKE /pws/zycit036-vlreal.
* << Fim da inclusão
DATA itab_zycit036_plan LIKE /pws/zycit036 OCCURS 0 WITH HEADER LINE.
IF ( /pws/zycie006-tpfatura = '01' OR /pws/zycie006-tpfatura = '11' ).
PERFORM fill_nrseq_pgfat.
LOOP AT itab_zycit003_ini.
READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit003_ini-nrseq
ebeln = itab_zycit003_ini-ebeln
ebelp = itab_zycit003_ini-ebelp.
IF sy-subrc NE 0.
CLEAR: itab_zycit003_ini-vlreal, itab_zycit003_ini-vlmov,
itab_zycit003_ini-nrseq_pgfat, itab_zycit003_ini-livre.
...
...
IF NOT /pws/zycie006-inco1 IS INITIAL.
FREE so_inco1.
so_inco1-sign = 'I'.
so_inco1-option = 'EQ'.
so_inco1-low = /pws/zycie006-inco1.
APPEND so_inco1.
ENDIF.
CALL SELECTION-SCREEN '0300'.
ENDFORM.
FORM selecionar_itens.
* >> Início da exclusão: FORM SELECIONAR_ITENS
DATA: v_nolin TYPE i VALUE IS INITIAL,
v_lifnr LIKE /pws/zycie006-lifnr,
v_waers LIKE /pws/zycie006-waers,
v_inco1 LIKE /pws/zycie006-inco1,
v_cont TYPE i,
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_ITENS
DATA:
* << Fim da inclusão
v_itens_inconsistentes.
IF so_nrseq IS INITIAL AND so_ebeln IS INITIAL.
MESSAGE e015 WITH text-047.
ENDIF.
FREE itab_zycit003_aux.
FREE: itab_lifnr , itab_inco1 , itab_waers.
IF NOT /pws/zycie006-inco1 IS INITIAL.
itab_inco1-sign = 'I'.
itab_inco1-option = 'EQ'.
itab_inco1-low = /pws/zycie006-inco1.
...
...
ENDIF.
ENDIF.
IF itab_zycit003_ini[] IS INITIAL.
MOVE itab_zycit003[] TO itab_zycit003_ini[].
ENDIF.
ENDIF.
ENDFORM.
FORM busca_sequencial_fatura.
DATA:
v_nrseq LIKE /pws/zycit006-nrseq,
* >> Início da exclusão: FORM BUSCA_SEQUENCIAL_FATURA
v_nrseq_ant LIKE /pws/zycit006-nrseq,
* << Fim da exclusão
v_count(7) TYPE n,
v_ano1(4).
CONCATENATE '%' 'I' sy-datum+2(2) INTO v_ano1.
SELECT MAX( nrseq ) INTO (v_nrseq) FROM /pws/zycit006
WHERE nrseq LIKE v_ano1.
v_count = v_nrseq+0(7) + 1.
CONCATENATE v_count 'I' sy-datum+2(2) INTO /pws/zycie006-nrseq.
ENDFORM.
FORM exibe_item.
CLEAR v_consiste.
...
...
CALL FUNCTION 'EDITOR_APPLICATION'
EXPORTING
application = 'TT'
display = 'X'
name = v_chave
TABLES
content = rtext_aux.
ENDIF.
ENDFORM.
FORM exibir_fatura.
* >> Início da exclusão: FORM EXIBIR_FATURA
DATA: v_rateio LIKE /pws/zycit006-ratval.
* << Fim da exclusão
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
WHERE nrseq EQ /pws/zycie006-nrseq
AND bukrs EQ /pws/zycie006-bukrs.
SELECT SINGLE *
FROM /pws/zycet076
WHERE codigo_ce EQ 'PI'.
LOOP AT itab_zycit006.
SELECT SINGLE lifn2 FROM ekpa INTO v_emissor
WHERE ebeln = itab_zycit006-belnr_p
...
...
ELSE.
DELETE FROM /pws/zycit047 WHERE nrseq = itab_zycit047-nrseq
AND nrfat = itab_zycit047-nrfat
AND tpdesp = itab_zycit047-tpdesp
AND descr = itab_zycit047-descr.
ENDIF.
ENDLOOP.
ENDIF.
v_salva = 1.
ENDFORM.
* >> Início da exclusão: FORM GRAVAR_CUSTOS
FORM gravar_custos.
DATA: v_lines TYPE i,
v_vldp_custo LIKE itab_despesa_custo-vldp,
v_codigo LIKE /pws/zycit036-codigo,
v_tot_vldp LIKE /pws/zycit036-vlreal,
v_valor_real LIKE /pws/zycit036-vlreal,
v_index LIKE sy-tabix,
v_cod_sisc LIKE /pws/zycit019-codigo,
v_tot_real LIKE /pws/zycit003-vlreal.
SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie006-bukrs.
SELECT SINGLE * FROM j_1bbranch INTO j_1bbranch
WHERE bukrs = /pws/zycie001-bukrs
AND branch = /pws/zycie001-j_1bbranch.
SELECT SINGLE * FROM adrc INTO adrc
WHERE addrnumber = j_1bbranch-adrnr.
SELECT * FROM /pws/zycit019
INTO TABLE itab_zycit019
WHERE regio EQ adrc-region AND
land1 EQ t001-land1.
IF sy-subrc NE 0.
SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie001-bukrs.
SELECT * FROM /pws/zycit019
INTO TABLE itab_zycit019
WHERE regio EQ space AND
land1 EQ t001-land1.
ENDIF.
FREE it_zycit047_aux2.
LOOP AT itab_zycit047.
MOVE-CORRESPONDING itab_zycit047 TO it_zycit047_aux2.
CLEAR it_despesa.
READ TABLE it_despesa WITH KEY tpdesp = itab_zycit047-tpdesp.
IF sy-subrc EQ 0 AND itab_zycit047-vldp NE 0.
MOVE it_despesa-codigo TO it_zycit047_aux2-codigo.
APPEND it_zycit047_aux2.
ENDIF.
ENDLOOP.
FREE itab_despesa_custo.
LOOP AT it_zycit047_aux2.
itab_despesa_custo-codigo = it_zycit047_aux2-codigo.
itab_despesa_custo-vldp = it_zycit047_aux2-vldp.
COLLECT itab_despesa_custo.
ENDLOOP.
FREE it_zycit047_ini2.
LOOP AT itab_zycit047_ini.
MOVE-CORRESPONDING itab_zycit047_ini TO it_zycit047_ini2.
CLEAR it_despesa.
READ TABLE it_despesa WITH KEY tpdesp = itab_zycit047_ini-tpdesp.
IF sy-subrc EQ 0 AND itab_zycit047_ini-vldp NE 0.
MOVE it_despesa-codigo TO it_zycit047_ini2-codigo.
APPEND it_zycit047_ini2.
ENDIF.
ENDLOOP.
FREE itab_despesa_custo_ini.
LOOP AT it_zycit047_ini2.
itab_despesa_custo_ini-codigo = it_zycit047_ini2-codigo.
itab_despesa_custo_ini-vldp = it_zycit047_ini2-vldp.
COLLECT itab_despesa_custo_ini.
ENDLOOP.
IF NOT itab_zycit094[] IS INITIAL.
SELECT * FROM /pws/zycit001 INTO TABLE itab_zycit001
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq.
ENDIF.
.
REFRESH itab_zycit036. CLEAR itab_zycit036.
LOOP AT itab_zycit094.
IF NOT itab_despesa_custo[] IS INITIAL.
IF NOT itab_zycit036[] IS INITIAL.
SELECT * FROM /pws/zycit036
APPENDING TABLE itab_zycit036
FOR ALL ENTRIES IN itab_despesa_custo
WHERE nrseq = itab_zycit094-nrseq
AND codigo = itab_despesa_custo-codigo
AND origem = 'FAT'.
ENDIF.
ENDIF.
ENDLOOP.
SELECT SINGLE land1
FROM t001
INTO t001-land1
WHERE bukrs = /pws/zycie006-bukrs.
SELECT * FROM /pws/zycit039
INTO TABLE itab_zycit039
WHERE codmod = 'D'
AND land1 = t001-land1.
SORT itab_zycit036 BY codigo.
READ TABLE itab_zycit036 INDEX 1.
v_codigo = itab_zycit036-codigo.
LOOP AT itab_zycit036.
IF v_codigo NE itab_zycit036-codigo.
CLEAR itab_zycit036-total.
ENDIF.
itab_zycit036-total = itab_zycit036-total + itab_zycit036-vlreal.
MODIFY itab_zycit036 TRANSPORTING total
WHERE codigo = itab_zycit036-codigo.
v_codigo = itab_zycit036-codigo.
ENDLOOP.
IF NOT itab_zycit036[] IS INITIAL.
SELECT * FROM /pws/zycit003
INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit036
WHERE nrseq = itab_zycit036-nrseq.
ELSE.
IF NOT itab_zycit094[] IS INITIAL.
SELECT * FROM /pws/zycit036
INTO TABLE itab_zycit036
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq.
IF NOT itab_zycit036[] IS INITIAL.
SELECT * FROM /pws/zycit003
INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit036
WHERE nrseq = itab_zycit036-nrseq
AND ebeln = itab_zycit036-ebeln
AND ebelp = itab_zycit036-ebelp.
FREE itab_zycit036.
ENDIF.
ENDIF.
ENDIF.
CLEAR: v_tot, v_tot_ntgew, v_tot_real.
LOOP AT itab_zycit003.
v_tot = v_tot + ( itab_zycit003-netpr * itab_zycit003-qtd_iten ).
v_tot_ntgew = v_tot_ntgew + itab_zycit003-ntgew.
v_tot_real = v_tot_real +
( itab_zycit003-vlreal * itab_zycit003-qtd_iten ).
ENDLOOP.
SORT itab_zycit003 BY nrseq ebeln ebelp.
SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie006-bukrs.
SELECT SINGLE codigo FROM /pws/zycit019 INTO v_cod_sisc
WHERE tpdesp = /pws/zycit000-cod_sisc AND
land1 = t001-land1. "#EC CI_NOFIRST
LOOP AT itab_despesa_custo.
DESCRIBE TABLE itab_zycit003 LINES v_lines.
READ TABLE itab_zycit039 WITH KEY
codigo = itab_despesa_custo-codigo.
IF v_kursf IS INITIAL AND /pws/zycie006-waers NE
/pws/zycbt007-waersb.
IF /pws/zycit085 IS INITIAL OR
/pws/zycie006-tpfatura = '04' .
PERFORM busca_taxa_dia.
ELSE.
IF /pws/zycie006-tpfatura = '02'.
v_kursf = /pws/zycit085-ukursfre.
ELSEIF /pws/zycie006-tpfatura = '03'.
v_kursf = /pws/zycit085-ukursseg.
ENDIF.
ENDIF.
ENDIF.
IF v_kursf IS INITIAL AND /pws/zycie006-waers EQ
/pws/zycbt007-waersb.
v_kursf = 1.
ENDIF.
IF itab_despesa_custo-codigo = v_cod_sisc
AND NOT /pws/zycit000-flag_txsisc IS INITIAL AND
/pws/zycit001-tpdecl = 'DI'.
READ TABLE itab_zycit003 INDEX 1.
SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100
WHERE nrseq = itab_zycit003-nrseq. "#EC CI_NOFIRST
IF NOT itab_zycit100[] IS INITIAL.
SELECT * FROM /pws/zycit116 INTO TABLE itab_zycit116
FOR ALL ENTRIES IN itab_zycit100
WHERE nrseqdi = itab_zycit100-nrseqdi.
ENDIF.
LOOP AT itab_zycit116.
LOOP AT itab_zycit100 WHERE adicao = itab_zycit116-adicao.
itab_zycit116-nr_itens = itab_zycit116-nr_itens + 1.
ENDLOOP.
MODIFY itab_zycit116.
ENDLOOP.
DESCRIBE TABLE itab_zycit116 LINES v_lines.
v_sisco1 = ( ( itab_despesa_custo-vldp * v_kursf ) -
/pws/zycit000-txsis_fix ) / v_lines.
v_sisco2 = /pws/zycit000-txsis_fix / v_lines.
v_sisco3 = v_sisco1 + v_sisco2.
LOOP AT itab_zycit116.
CLEAR: v_lines, v_sisco_tot.
v_sisco_item = v_sisco3 / itab_zycit116-nr_itens.
LOOP AT itab_zycit100 WHERE adicao = itab_zycit116-adicao.
v_lines = v_lines + 1.
IF v_lines = itab_zycit116-nr_itens.
itab_zycit100-vl_sisco = v_sisco3 - v_sisco_tot.
ELSE.
itab_zycit100-vl_sisco = v_sisco_item.
v_sisco_tot = v_sisco_tot + v_sisco_item.
ENDIF.
MODIFY itab_zycit100.
ENDLOOP.
ENDLOOP.
LOOP AT itab_zycit100.
READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit100-nrseq
ebeln = itab_zycit100-ebeln
ebelp = itab_zycit100-ebelp
codigo = itab_despesa_custo-codigo
origem = 'FAT'.
IF sy-subrc NE 0.
/pws/zycie036-nrseq = itab_zycit100-nrseq.
/pws/zycie036-ebeln = itab_zycit100-ebeln.
/pws/zycie036-ebelp = itab_zycit100-ebelp.
/pws/zycie036-codigo = itab_despesa_custo-codigo.
/pws/zycie036-waers_real = /pws/zycbt007-waersb.
/pws/zycie036-origem = 'FAT'.
/pws/zycie036-bukrs = /pws/zycie006-bukrs.
/pws/zycie036-werks = itab_zycit003-werks.
/pws/zycie036-embarca = itab_zycit001-embarca.
/pws/zycie036-codmod = 'D'.
/pws/zycie036-status = 'M'.
/pws/zycie036-vlreal_emb = itab_despesa_custo-vldp.
/pws/zycie036-vlreal_emb = /pws/zycie036-vlreal_emb * v_kursf.
/pws/zycie036-waers_emb = /pws/zycbt007-waersb.
/pws/zycie036-vlreal = itab_zycit100-vl_sisco.
/pws/zycie036-nrseqori = /pws/zycie006-nrseq.
/pws/zycie036-usernamec = sy-uname.
/pws/zycie036-dtuserc = sy-datum.
/pws/zycie036-hruserc = sy-uzeit.
MODIFY /pws/zycit036 FROM /pws/zycie036.
ELSE.
itab_zycit036-vlreal_emb = itab_zycit036-vlreal_emb +
itab_zycit100-vl_sisco.
itab_zycit036-vlreal = itab_zycit036-vlreal +
itab_zycit100-vl_sisco.
MODIFY /pws/zycit036 FROM itab_zycit036.
ENDIF.
ENDLOOP.
ELSE.
DESCRIBE TABLE itab_zycit003 LINES v_line.
DESCRIBE TABLE itab_zycit003 LINES v_lines.
CLEAR v_tot_vldp.
LOOP AT itab_zycit003.
MOVE sy-tabix TO v_tabix.
READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.
CLEAR itab_zycit036.
READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
codigo = itab_despesa_custo-codigo.
IF sy-subrc NE 0.
/pws/zycie036-nrseq = itab_zycit003-nrseq.
/pws/zycie036-ebeln = itab_zycit003-ebeln.
/pws/zycie036-ebelp = itab_zycit003-ebelp.
/pws/zycie036-codigo = itab_despesa_custo-codigo.
/pws/zycie036-waers_real = /pws/zycbt007-waersb.
/pws/zycie036-origem = 'FAT'.
/pws/zycie036-bukrs = /pws/zycie006-bukrs.
/pws/zycie036-werks = itab_zycit003-werks.
/pws/zycie036-embarca = itab_zycit001-embarca.
/pws/zycie036-codmod = 'D'.
/pws/zycie036-status = 'M'.
/pws/zycie036-nrseqori = /pws/zycie006-nrseq.
/pws/zycie036-usernamec = sy-uname.
/pws/zycie036-dtuserc = sy-datum.
/pws/zycie036-hruserc = sy-uzeit.
/pws/zycie036-vlreal_emb = itab_despesa_custo-vldp.
/pws/zycie036-vlreal_emb = /pws/zycie036-vlreal_emb * v_kursf.
/pws/zycie036-waers_emb = /pws/zycbt007-waersb.
v_plan = itab_zycit003-netpr * itab_zycit003-qtd_iten.
IF v_tabix = v_line.
/pws/zycie036-vlreal = itab_despesa_custo-vldp - v_tot_vldp.
ELSE.
IF itab_zycit039-divabs EQ 'X'.
/pws/zycie036-vlreal = itab_despesa_custo-vldp /
v_lines.
ELSEIF itab_zycit039-peso EQ 'X'.
/pws/zycie036-vlreal = itab_despesa_custo-vldp *
itab_zycit003-ntgew / v_tot_ntgew.
ELSEIF itab_zycit039-proporplan EQ 'X'.
/pws/zycie036-vlreal = v_plan / v_tot
* itab_despesa_custo-vldp.
ELSE.
/pws/zycie036-vlreal = itab_zycit003-vlreal *
itab_zycit003-qtd_iten / v_tot_real
* itab_despesa_custo-vldp.
ENDIF.
v_tot_vldp = v_tot_vldp + /pws/zycie036-vlreal.
ENDIF.
/pws/zycie036-vlreal = /pws/zycie036-vlreal * v_kursf.
MODIFY /pws/zycit036 FROM /pws/zycie036.
ELSEIF itab_zycit036-codigo EQ 'FRETEI' OR
itab_zycit036-codigo EQ 'SEGURO'.
MOVE itab_zycit036 TO /pws/zycie036.
/pws/zycie036-vlreal_emb = itab_despesa_custo-vldp +
/pws/zycie036-vlreal_emb.
/pws/zycie036-waers_emb = /pws/zycie006-waers.
/pws/zycie036-waers_real = /pws/zycie006-waers.
/pws/zycie036-origem = 'FAT'.
IF itab_zycit039-divabs EQ 'X'.
/pws/zycie036-vlreal = itab_despesa_custo-vldp / v_lines.
ELSEIF itab_zycit039-peso EQ 'X'.
/pws/zycie036-vlreal = itab_despesa_custo-vldp *
itab_zycit003-ntgew / v_tot_ntgew.
ELSE.
/pws/zycie036-vlreal =
itab_zycit036-vlreal / itab_zycit036-total
* itab_despesa_custo-vldp.
ENDIF.
MODIFY /pws/zycit036 FROM /pws/zycie036.
ELSEIF itab_zycit036-codigo EQ 'II' OR
itab_zycit036-codigo EQ 'IPI' OR
itab_zycit036-codigo EQ 'ICMS'.
SELECT SINGLE * FROM /pws/zycit007
WHERE tpimp = itab_zycit036-codigo. "#EC CI_NOFIRST
IF sy-subrc EQ 0 AND
/pws/zycit007-valor NE itab_despesa_custo-vldp.
MOVE itab_zycit036 TO /pws/zycie036.
/pws/zycie036-origem = 'FAT'.
/pws/zycie036-vlreal_emb = itab_despesa_custo-vldp +
/pws/zycie036-vlreal_emb.
/pws/zycie036-waers_emb = /pws/zycie006-waers.
/pws/zycie036-waers_real = /pws/zycie006-waers.
/pws/zycie036-vlreal =
itab_zycit036-vlreal / itab_zycit036-total *
itab_despesa_custo-vldp + /pws/zycie036-vlreal.
MODIFY /pws/zycit036 FROM /pws/zycie036.
ENDIF.
ELSE.
CLEAR itab_despesa_custo_ini.
READ TABLE itab_despesa_custo_ini WITH KEY codigo =
itab_despesa_custo-codigo.
IF itab_despesa_custo-vldp NE itab_despesa_custo_ini-vldp.
CLEAR v_vldp_custo.
v_vldp_custo = itab_despesa_custo-vldp -
itab_despesa_custo_ini-vldp.
MOVE itab_zycit036 TO /pws/zycie036.
IF NOT /pws/zycie036-vlreal_emb IS INITIAL.
/pws/zycie036-vlreal_emb =
/pws/zycie036-vlreal_emb / v_kursf.
ENDIF.
/pws/zycie036-vlreal_emb = v_vldp_custo +
/pws/zycie036-vlreal_emb.
/pws/zycie036-vlreal_emb =
/pws/zycie036-vlreal_emb * v_kursf.
/pws/zycie036-waers_emb = /pws/zycbt007-waersb.
/pws/zycie036-waers_real = /pws/zycbt007-waersb.
/pws/zycie036-origem = 'FAT'.
IF NOT /pws/zycie036-vlreal IS INITIAL.
/pws/zycie036-vlreal = /pws/zycie036-vlreal / v_kursf.
ENDIF.
v_plan = itab_zycit003-netpr * itab_zycit003-qtd_iten.
IF v_lines = v_index.
v_valor_real = itab_despesa_custo-vldp - v_tot_vldp.
/pws/zycie036-vlreal =
v_valor_real + /pws/zycie036-vlreal.
ELSE.
IF itab_zycit039-divabs EQ 'X'.
v_valor_real = v_vldp_custo / v_lines .
/pws/zycie036-vlreal =
v_valor_real + /pws/zycie036-vlreal.
/pws/zycie036-vlreal = /pws/zycie036-vlreal * v_kursf.
ELSEIF itab_zycit039-peso EQ 'X'.
v_valor_real = v_vldp_custo * itab_zycit003-ntgew /
v_tot_ntgew .
/pws/zycie036-vlreal =
v_valor_real + /pws/zycie036-vlreal.
/pws/zycie036-vlreal = /pws/zycie036-vlreal * v_kursf.
ELSEIF itab_zycit039-proporplan EQ 'X'. .
v_valor_real = v_plan / v_tot * v_vldp_custo.
/pws/zycie036-vlreal =
/pws/zycie036-vlreal + v_valor_real.
/pws/zycie036-vlreal = /pws/zycie036-vlreal * v_kursf.
ELSE.
v_valor_real = itab_zycit003-netpr *
itab_zycit003-qtd_iten / v_tot_real * v_vldp_custo.
/pws/zycie036-vlreal =
/pws/zycie036-vlreal + v_valor_real.
/pws/zycie036-vlreal = /pws/zycie036-vlreal * v_kursf.
ENDIF.
v_tot_vldp = v_tot_vldp + v_valor_real.
ENDIF.
MODIFY /pws/zycit036 FROM /pws/zycie036.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
REFRESH itab_zycit094. CLEAR itab_zycit094.
LOOP AT itab_zycit094.
IF NOT itab_despesa_custo_ini[] IS INITIAL.
SELECT * FROM /pws/zycit036
APPENDING TABLE itab_zycit036_aux
FOR ALL ENTRIES IN itab_despesa_custo_ini
WHERE nrseq = itab_zycit094-nrseq
AND codigo = itab_despesa_custo_ini-codigo
AND origem = 'FAT'.
ENDIF.
ENDLOOP.
LOOP AT itab_despesa_custo_ini.
READ TABLE itab_despesa_custo
WITH KEY codigo = itab_despesa_custo_ini-codigo.
IF sy-subrc NE 0.
READ TABLE itab_zycit039 WITH KEY
codigo = itab_despesa_custo_ini-codigo.
IF v_kursf IS INITIAL AND
/pws/zycie006-waers NE /pws/zycbt007-waersb.
IF /pws/zycit085 IS INITIAL OR /pws/zycie006-tpfatura = '04'.
PERFORM busca_taxa_dia.
ELSE.
IF /pws/zycie006-tpfatura = '02'.
v_kursf = /pws/zycit085-ukursfre.
ELSEIF /pws/zycie006-tpfatura = '03'.
v_kursf = /pws/zycit085-ukursseg.
ENDIF.
ENDIF.
ENDIF.
IF v_kursf IS INITIAL AND
/pws/zycie006-waers EQ /pws/zycbt007-waersb.
v_kursf = 1.
ENDIF.
LOOP AT itab_zycit003.
READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.
CLEAR itab_zycit036_aux.
READ TABLE itab_zycit036_aux
WITH KEY nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp
codigo = itab_despesa_custo_ini-codigo.
MOVE itab_zycit036_aux TO /pws/zycie036.
IF NOT /pws/zycie036-vlreal_emb IS INITIAL.
/pws/zycie036-vlreal_emb = /pws/zycie036-vlreal_emb / v_kursf.
ENDIF.
/pws/zycie036-origem = 'FAT'.
/pws/zycie036-vlreal_emb = /pws/zycie036-vlreal_emb -
itab_despesa_custo_ini-vldp.
/pws/zycie036-vlreal_emb = /pws/zycie036-vlreal_emb * v_kursf.
IF NOT /pws/zycie036-vlreal IS INITIAL.
/pws/zycie036-vlreal = /pws/zycie036-vlreal / v_kursf.
ENDIF.
IF itab_zycit039-divabs EQ 'X'.
/pws/zycie036-vlreal = /pws/zycie036-vlreal -
itab_despesa_custo_ini-vldp / v_lines.
/pws/zycie036-vlreal = /pws/zycie036-vlreal * v_kursf.
ELSEIF itab_zycit039-peso EQ 'X'.
/pws/zycie036-vlreal = /pws/zycie036-vlreal -
( itab_despesa_custo_ini-vldp * itab_zycit003-ntgew /
v_tot_ntgew ).
/pws/zycie036-vlreal = /pws/zycie036-vlreal * v_kursf.
ELSEIF itab_zycit039-proporplan EQ 'X'.
/pws/zycie036-vlreal =
/pws/zycie036-vlreal - itab_zycit003-netpr *
itab_zycit003-qtd_iten / v_tot *
itab_despesa_custo_ini-vldp.
/pws/zycie036-vlreal = /pws/zycie036-vlreal * v_kursf.
ELSE.
/pws/zycie036-vlreal =
/pws/zycie036-vlreal - itab_zycit003-vlreal *
itab_zycit003-qtd_iten / v_tot_real *
itab_despesa_custo_ini-vldp.
/pws/zycie036-vlreal = /pws/zycie036-vlreal * v_kursf.
ENDIF.
MODIFY /pws/zycit036 FROM /pws/zycie036.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDFORM.
* << Fim da exclusão
FORM atualiza_despesas.
DATA: v_congelamov,
* >> Início da exclusão: FORM ATUALIZA_DESPESAS
v_lrc LIKE /pws/zycit036-vlreal,
v_tot_lrc LIKE /pws/zycit036-vlreal,
v_cod_sisc LIKE /pws/zycit019-codigo,
v_tot_vlreal LIKE /pws/zycit003-vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_DESPESAS
v_cod_sisc LIKE /pws/zycit019-codigo.
clear v_tot_vlreal.
* << Fim da inclusão
DATA itab_zycit036_aux LIKE /pws/zycit036 OCCURS 0 WITH HEADER LINE.
* >> Início da exclusão: FORM ATUALIZA_DESPESAS
DATA: wa_zycit036_aux LIKE /pws/zycit036.
* << Fim da exclusão
SELECT SINGLE * FROM j_1bbranch INTO j_1bbranch
WHERE bukrs = /pws/zycie001-bukrs
AND branch = /pws/zycie001-j_1bbranch.
SELECT SINGLE * FROM adrc INTO adrc
WHERE addrnumber = j_1bbranch-adrnr.
SELECT * FROM /pws/zycit019
...
...
ENDIF.
IF v_subrc NE 'X'.
SELECT * FROM /pws/zycit094 INTO TABLE itab_zycit094
WHERE nrseqce = v_nrseqce.
/pws/zycie006-nrseqce = v_nrseqce.
IF /pws/zycie006-nrseqce IS INITIAL.
MESSAGE s015 WITH text-075.
ENDIF.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM LOAD_JURO
FORM load_juro.
CLEAR: a_txjur.
SELECT SINGLE descricao FROM /pws/zycet180 INTO a_txjur
WHERE codtxjuros = /pws/zycie116-codtxjuros.
ENDFORM.
* << Fim da exclusão
FORM load_ifin.
CLEAR: a_ifina.
SELECT SINGLE descricao FROM /pws/zycit170 INTO a_ifina WHERE
codinst = /pws/zycie006-codinst.
ENDFORM.
FORM load_moti USING p_motivo
CHANGING p_desc.
CLEAR: p_desc.
SELECT SINGLE descricao FROM /pws/zycit169 INTO p_desc
WHERE codmotivo = p_motivo.
...
...
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM load_grupo.
CLEAR a_desc.
SELECT SINGLE descricao FROM /pws/zycit128
INTO a_desc
WHERE codigo = /pws/zycie006-gpcambio.
ENDFORM.
* >> Início da exclusão: FORM SELECIONA_DEDUCOES
FORM seleciona_deducoes.
IF /pws/zycie006-tpfatura = '05' AND itab_zycit006_ded[] IS INITIAL
AND v_exibe_ded IS INITIAL.
v_exibe_ded = 'X'.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006_ded
WHERE nrseq = /pws/zycie006-nrseq
AND nrfat = /pws/zycie006-nrfat
AND tpfatura = '05'
AND bukrs = /pws/zycie006-bukrs
AND lifnr = /pws/zycie006-lifnr.
IF sy-subrc EQ 0.
READ TABLE itab_zycit006_ded INDEX 1.
/pws/zycie006-gpcambio = itab_zycit006_ded-gpcambio.
IF NOT itab_zycit006_ded[] IS INITIAL.
SELECT * FROM /pws/zycit130 INTO TABLE itab_zycit130
FOR ALL ENTRIES IN itab_zycit006_ded
WHERE nrseq = itab_zycit006_ded-nrseq.
ENDIF.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006_ded
WHERE nrfat = /pws/zycie006-nrfat
AND tpfatura = '05'
AND bukrs = /pws/zycie006-bukrs
AND lifnr = /pws/zycie006-lifnr. "#EC CI_NOFIELD
ELSE.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006_ded
WHERE nrfat = /pws/zycie006-nrfat
AND tpfatura NE '05'
AND bukrs = /pws/zycie006-bukrs
AND lifnr = /pws/zycie006-lifnr. "#EC CI_NOFIELD
IF sy-subrc EQ 0.
READ TABLE itab_zycit006_ded INDEX 1.
/pws/zycie006-gpcambio = itab_zycit006_ded-gpcambio.
IF NOT itab_zycit006_ded[] IS INITIAL.
SELECT * FROM /pws/zycit130 INTO TABLE itab_zycit130
FOR ALL ENTRIES IN itab_zycit006_ded
WHERE nrseq = itab_zycit006_ded-nrseq.
ENDIF.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006_ded
WHERE nrfat = /pws/zycie006-nrfat
AND bukrs = /pws/zycie006-bukrs
AND lifnr = /pws/zycie006-lifnr
AND tpfatura = '05'. "#EC CI_NOFIELD
LOOP AT itab_zycit130.
CLEAR itab_zycit130-devolucao.
MODIFY itab_zycit130.
ENDLOOP.
ELSE.
MESSAGE e015 WITH text-061.
ENDIF.
ENDIF.
ELSEIF ( /pws/zycie006-tpfatura = '01' OR
/pws/zycie006-tpfatura = '11' OR
/pws/zycie006-tpfatura = '02' OR
/pws/zycie006-tpfatura = '03' OR
/pws/zycie006-tpfatura = '04' ) AND itab_zycit006_ded[] IS
INITIAL
AND v_exibe_ded IS INITIAL.
v_exibe_ded = 'X'.
IF itab_zycit006_ded[] IS INITIAL.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006_ded
WHERE nrfat = /pws/zycie006-nrfat
AND tpfatura = '05'
AND bukrs = /pws/zycie006-bukrs
AND lifnr = /pws/zycie006-lifnr. "#EC CI_NOFIELD
ENDIF.
IF itab_zycit130[] IS INITIAL.
SELECT * FROM /pws/zycit130 INTO TABLE itab_zycit130
WHERE nrseq = /pws/zycie006-nrseq.
ENDIF.
ENDIF.
ENDFORM.
* << Fim da exclusão
FORM salva_zycit130.
DATA:
v_motiv LIKE /pws/zycit130-motivo,
v_devolucao_atual LIKE /pws/zycit130-montante,
v_montante_aux LIKE /pws/zycie130-montante,
itab_zycit130_aux LIKE /pws/zycit130 OCCURS 0 WITH HEADER LINE,
itab_zycit006_aux LIKE /pws/zycit006 OCCURS 0 WITH HEADER LINE.
SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006_aux
WHERE nrfat = /pws/zycie006-nrfat
AND bukrs = /pws/zycie006-bukrs
...
...
ENDIF.
IF ( NOT v_contabilizou IS INITIAL AND
( /pws/zycie006-belnr_p NE wa_zycie006_ini-belnr_p OR
( itab_zycit132[] NE itab_zycit132_ini[] AND
( itab_zycit132_ini[] IS INITIAL OR
v_par = 'X' ) ) ) )
OR ( /pws/zycie006-frpagto = 'A' ).
PERFORM custeando_despesa_inco.
ELSEIF ( /pws/zycie006-tpfatura = '01'
OR /pws/zycie006-tpfatura = '11' ).
* >> Início da exclusão: FORM ROTINA_DE_CONTABILIZACAO
.
* << Fim da exclusão
PERFORM fill_nrseq_pgfat.
PERFORM calc_vlreal.
ENDIF.
COMMIT WORK.
IF /pws/zycie006-tpfatura EQ '11'
AND e_subrc NE '8'.
IF v_parcela NE 'X'.
PERFORM cria_remessa.
ELSE.
LOOP AT itab_zycit132 WHERE status = 'C' OR status = space.
...
...
LOOP AT itab_zycit132 WHERE zterm IS initial.
MESSAGE s015 WITH text-125.
EXIT.
ENDLOOP.
IF sy-subrc EQ 0.
EXIT.
ENDIF.
PERFORM rotina_de_contabilizacao.
ENDFORM.
FORM consiste_sequencial.
* >> Início da exclusão: FORM CONSISTE_SEQUENCIAL
DATA: wa_nrseq LIKE /pws/zycie001-nrseq,
v_nrseq_erro.
* << Fim da exclusão
* >> Início da inclusão: FORM CONSISTE_SEQUENCIAL
DATA: wa_nrseq LIKE /pws/zycie001-nrseq.
* << Fim da inclusão
IF /pws/zycie006-nrseq_pgfat IS INITIAL AND /pws/zycie006-eliminado NE
'X'
AND v_flag_sequencial NE 'X'.
IF sy-tcode EQ '/PWS/ZYCI003_C'.
SELECT SINGLE nrseq FROM /pws/zycit006 INTO wa_nrseq
WHERE nrseq = /pws/zycie006-nrseq.
IF sy-subrc EQ 0.
PERFORM busca_sequencial_fatura.
MESSAGE i061 WITH text-008 /pws/zycie001-embarca
text-009 /pws/zycie001-nrseq.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
v_tot_valor LIKE /pws/zycit003-netpr ,
v_tfrete LIKE /pws/zycie006-vlfre ,
v_tseg LIKE /pws/zycie006-vlseg ,
v_valor LIKE /pws/zycie006-vlseg ,
v_tvalor LIKE /pws/zycie006-vlseg ,
v_valor_seg LIKE /pws/zycie006-vlseg ,
v_valor_frete LIKE /pws/zycie006-vlfre ,
v_valor_desp LIKE /pws/zycie006-vltotal,
v_tot_parc LIKE /pws/zycit132-vlparc ,
v_tvlreal LIKE /pws/zycit003-vlreal ,
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
v_fretei_custo ,
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
v_fretei_custo ,
* << Fim da inclusão
v_tot_wrbtr LIKE /pws/zycbe035-wrbtr ,
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
v_dif_wrbtr LIKE /pws/zycbe035-wrbtr .
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
v_dif_wrbtr LIKE /pws/zycbe035-wrbtr ,
v_desp_aux TYPE /pws/zycbe035-wrbtr .
* << Fim da inclusão
DATA: BEGIN OF it_zycit140_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycit140.
...
...
CLEAR : itab_zycbt035-ebeln, itab_zycbt035-ebelp.
COLLECT itab_zycbt035.
ENDLOOP.
ELSEIF /pws/zycie006-tpfatura EQ '04'.
IF NOT itab_zycit094[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit094
WHERE nrseq = itab_zycit094-nrseq.
ENDIF.
CLEAR v_tpeso.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
CLEAR v_tot_valor.
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
CLEAR: v_tot_valor, v_tot_vlreal.
* << Fim da inclusão
LOOP AT itab_zycit003.
v_tpeso = itab_zycit003-ntgew + v_tpeso.
v_tot_valor = ( itab_zycit003-qtd_iten * itab_zycit003-netpr )
+ v_tot_valor.
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
v_tot_vlreal = v_tot_vlreal +
( itab_zycit003-vlreal * itab_zycit003-qtd_iten ).
* << Fim da inclusão
ENDLOOP.
CLEAR: itab_ekkn. FREE itab_ekkn.
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp prctr kostl kokrs fistl fipos aufnr ps_psp_pnr
FROM ekkn INTO TABLE itab_ekkn
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
ENDIF..
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
ENDIF.
* << Fim da inclusão
CLEAR: itab_matuse. FREE itab_matuse.
IF NOT itab_zycit003[] IS INITIAL.
SELECT ebeln ebelp matnr bwtar j_1bmatuse knttp werks
FROM ekpo INTO TABLE itab_matuse
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
ENDIF.
CLEAR: itab_classe_aval , itab_param_classe.
REFRESH: itab_classe_aval, itab_param_classe.
...
...
ENDIF.
IF NOT itab_classe_aval[] IS INITIAL.
SELECT * FROM /pws/zycit135 INTO TABLE itab_param_classe
FOR ALL ENTRIES IN itab_classe_aval
WHERE bklas EQ itab_classe_aval-bklas.
ENDIF.
CLEAR: v_valor_desp ,
itab_zycbt035_aux.
FREE : itab_zycbt035_aux.
DESCRIBE TABLE itab_zycit003 LINES v_line.
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
SELECT * FROM /pws/zycit039
INTO TABLE itab_zycit039
WHERE codmod EQ 'D' AND
land1 EQ t001-land1.
LOOP AT itab_zycit047 WHERE vldp NE 0.
CLEAR : v_desp_aux, v_valor_desp.
* << Fim da inclusão
LOOP AT itab_zycit003.
v_index = sy-tabix.
CLEAR itab_ekkn.
READ TABLE itab_ekkn WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
CLEAR: itab_matuse.
READ TABLE itab_matuse WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF itab_matuse-knttp IS INITIAL.
CLEAR: itab_classe_aval.
...
...
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
itab_matuse-knttp TO itab_zycbt035_aux-knttp,
space TO itab_zycbt035_aux-bklas .
ENDIF.
IF /pws/zycit000-clucro_ia = 'X'.
PERFORM verifica_centro_l.
ENDIF.
itab_zycbt035_aux-d_valut = /pws/zycie006-dtd_conta.
IF v_index = v_line.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
itab_zycbt035_aux-wrbtr = /pws/zycie006-vltotal - v_valor_desp.
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
itab_zycbt035_aux-wrbtr = itab_zycit047-vldp - v_valor_desp.
ELSE.
READ TABLE itab_zycit019 WITH KEY
tpdesp = itab_zycit047-tpdesp.
IF sy-subrc EQ 0.
READ TABLE itab_zycit039 WITH KEY
codigo = itab_zycit019-codigo.
IF sy-subrc EQ 0.
IF itab_zycit039-divabs EQ 'X'.
IF NOT v_line IS INITIAL.
v_desp_aux = itab_zycit047-vldp / v_line .
ENDIF.
ELSEIF itab_zycit039-peso EQ 'X'.
IF NOT v_tpeso IS INITIAL.
v_desp_aux = itab_zycit047-vldp *
itab_zycit003-ntgew / v_tpeso .
ENDIF.
ELSEIF itab_zycit039-proporplan EQ 'X'.
IF NOT v_tot_valor IS INITIAL.
v_desp_aux = ( itab_zycit003-netpr *
itab_zycit003-qtd_iten ) / v_tot_valor *
itab_zycit047-vldp .
ENDIF.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
itab_zycbt035_aux-wrbtr = /pws/zycie006-vltotal *
( ( itab_zycit003-qtd_iten * itab_zycit003-netpr )
/ v_tot_valor ).
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
IF NOT v_tot_vlreal IS INITIAL.
v_desp_aux = ( itab_zycit003-vlreal *
itab_zycit003-qtd_iten / v_tot_vlreal ) *
itab_zycit047-vldp .
ENDIF.
ENDIF.
ENDIF.
ENDIF.
itab_zycbt035_aux-wrbtr = v_desp_aux.
* << Fim da inclusão
v_valor_desp = v_valor_desp + itab_zycbt035_aux-wrbtr.
ENDIF.
itab_zycbt035_aux-d_gsber = itab_zycit003-gsber.
itab_zycbt035_aux-werks = itab_zycit003-werks.
IF NOT /pws/zycie006-frpagto EQ 'D'.
READ TABLE itab_zycmt019 WITH KEY
codmod = 'PD'
tpmatnr = itab_matuse-j_1bmatuse.
IF sy-subrc EQ 0 AND itab_zycmt019-contabiliza EQ 'X'.
itab_zycbt035_aux-ebeln = itab_zycit003-ebeln .
itab_zycbt035_aux-ebelp = itab_zycit003-ebelp .
ELSE.
CLEAR: itab_zycbt035_aux-ebeln, itab_zycbt035_aux-ebelp.
ENDIF.
ENDIF.
IF NOT /pws/zycit477 IS INITIAL.
itab_zycbt035_aux-ebeln = itab_zycit003-ebeln .
itab_zycbt035_aux-ebelp = itab_zycit003-ebelp .
ENDIF.
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
COLLECT itab_zycbt035_aux.
* << Fim da inclusão
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
APPEND itab_zycbt035_aux.
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
ENDLOOP.
* << Fim da inclusão
ENDLOOP.
CLEAR: itab_zycbt035 ,
itab_zycbt035_aux2.
FREE : itab_zycbt035 ,
itab_zycbt035_aux2.
SORT itab_zycbt035_aux BY matuse bklas d_gsber d_prctr c_prctr.
LOOP AT itab_zycbt035_aux.
itab_zycbt035_aux2-matuse = itab_zycbt035_aux-matuse .
itab_zycbt035_aux2-bklas = itab_zycbt035_aux-bklas .
itab_zycbt035_aux2-d_gsber = itab_zycbt035_aux-d_gsber.
...
...
CLEAR: itab_zycbt035 ,
itab_zycbt035_aux2.
REFRESH: itab_zycbt035,
itab_zycbt035_aux2.
FREE : itab_zycbt035 ,
itab_zycbt035_aux2.
CLEAR v_tot_valor.
IF itab_zycit003[] IS INITIAL.
SELECT SINGLE * FROM /pws/zycit006
WHERE nrfat = /pws/zycie006-nrfat
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da inclusão
IF /pws/zycit006-tpfatura = '01'.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS
WHERE nrseq_pgfat = /pws/zycit006-nrseq_pgfat. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS
WHERE nrseq_pgfat = /pws/zycit006-nrseq_pgfat."#EC CI_NOFIELD
* << Fim da inclusão
ELSE.
IF NOT itab_zycit094[] IS INITIAL.
...
...
ENDIF.
PERFORM call_transaction TABLES itab_msg
itab_bdc
t_zycit032
t_dados
USING v_transacao
v_mode
v_update
v_msgid
v_msgno
* >> Início da exclusão: FORM MAPEAMENTO
CHANGING v_nrmsg. "#EC CI_CALLTA
* << Fim da exclusão
* >> Início da inclusão: FORM MAPEAMENTO
CHANGING v_nrmsg. "#EC CI_CALLTA
* << Fim da inclusão
IF sy-subrc = 0.
DELETE itab_zycbt117.
ENDIF.
FREE:
itab_bdc,
itab_msg.
ENDFORM.
FORM bdc_field USING par1
par2.
CLEAR itab_bdc.
...
...
USING p_tcode
p_mode
p_update
p_msgid
p_msgno
CHANGING p_nrmsg.
DATA: v_belnr LIKE bseg-belnr.
CALL TRANSACTION p_tcode USING p_itab_bdc
MODE p_mode
UPDATE p_update
* >> Início da exclusão: FORM CALL_TRANSACTION
MESSAGES INTO p_itab_msg. "#EC CI_CALLTA
* << Fim da exclusão
* >> Início da inclusão: FORM CALL_TRANSACTION
MESSAGES INTO p_itab_msg. "#EC CI_CALLTA
* << Fim da inclusão
IF sy-subrc <> 0.
LOOP AT p_itab_msg.
ADD 1 TO p_nrmsg.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = sy-langu
msg_id = p_itab_msg-msgid
msg_no = p_itab_msg-msgnr
msg_var1 = p_itab_msg-msgv1
msg_var2 = p_itab_msg-msgv2
...
...
WHERE nrseq = itab_zycit003-nrseq
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp
AND eliminado EQ space.
PERFORM fill_nrseq_pgfat.
ENDFORM.
FORM busca_sequencialre.
DATA:
v_nrseq LIKE /pws/zycit001-nrseq,
v_count(8) TYPE n.
* >> Início da exclusão: FORM BUSCA_SEQUENCIALRE
SELECT MAX( nrseq ) INTO (v_nrseq) FROM /pws/zycbt124. "#EC CI_NOWHERE
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_SEQUENCIALRE
SELECT MAX( nrseq ) INTO (v_nrseq) FROM /pws/zycbt124."#EC CI_NOWHERE
* << Fim da inclusão
v_count = v_nrseq+0(8) + 1.
CONCATENATE v_count sy-datum+2(2) INTO /pws/zycbt124-nrseq.
ENDFORM.
FORM hist_contabil.
CLEAR it_zycit270.
IF /pws/zycie006-tpfatura = '01'.
READ TABLE itab_zycit003 WITH KEY
nrseq_pgfat = /pws/zycie006-nrseq_pgfat.
IF NOT /pws/zycie006-belnr_p IS INITIAL.
it_zycit270-mandt = sy-mandt.
...
...
/pws/zycit263-vlreal = itab_zycit003-vlreal.
/pws/zycit263-vlfre_fat = itab_zycit003-vlfre_fat.
/pws/zycit263-vlseg_fat = itab_zycit003-vlseg_fat.
/pws/zycit263-waers_real = itab_zycit003-waers_real.
/pws/zycit263-ntgew = itab_zycit003-ntgew.
/pws/zycit263-gewei = itab_zycit003-gewei.
MODIFY /pws/zycit263.
ENDLOOP.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM ANALISA_DECIMAIS
FORM analisa_decimais USING p_moeda
CHANGING p_valor.
SELECT SINGLE * FROM tcurx WHERE currkey = p_moeda.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
p_valor = p_valor * ( 10 ** ( tcurx-currdec - 2 ) ).
ENDFORM.
* << Fim da exclusão
FORM calc_vlreal.
REFRESH: itab_zycit263.
IF NOT itab_zycit003[] IS INITIAL.
READ TABLE itab_zycit003 INDEX 1.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263
WHERE nrseq = itab_zycit003-nrseq
AND eliminado = space.
IF NOT itab_zycit263[] IS INITIAL.
REFRESH itab_fat_temp.
LOOP AT itab_zycit263.
itab_fat_temp-nrseq_pgfat = itab_zycit263-nrseq_pgfat.
COLLECT itab_fat_temp.
ENDLOOP.
SELECT * FROM /pws/zycit006
INTO TABLE itab_zycit006
FOR ALL ENTRIES IN itab_fat_temp
* >> Início da exclusão: FORM CALC_VLREAL
WHERE nrseq_pgfat EQ itab_fat_temp-nrseq_pgfat. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_VLREAL
WHERE nrseq_pgfat EQ itab_fat_temp-nrseq_pgfat. "#EC CI_NOFIELD
* << Fim da inclusão
LOOP AT itab_zycit263.
v_tabix = sy-tabix.
READ TABLE itab_zycit006 WITH KEY
nrseq_pgfat = itab_zycit263-nrseq_pgfat
eliminado = space.
IF sy-subrc NE 0.
itab_zycit263-eliminado = 'X'.
MODIFY itab_zycit263 INDEX v_tabix.
MODIFY /pws/zycit263 FROM itab_zycit263 .
ENDIF.
...
...
nrseq = it003-nrseq AND
ebeln = it003-ebeln AND
ebelp = it003-ebelp AND
nrseq_pgfat = /pws/zycie006-nrseq.
ENDIF.
ENDIF.
IF sy-subrc NE 0.
DELETE FROM /pws/zycit036
WHERE codigo = pcodigo
AND origem = 'FAT'
* >> Início da exclusão: FORM DELE_CUSTO
AND nrseqori = /pws/zycie006-nrseq. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM DELE_CUSTO
AND nrseqori = /pws/zycie006-nrseq. "#EC CI_NOFIRST
* << Fim da inclusão
ENDIF.
ENDLOOP.
IF sy-subrc NE 0.
DELETE FROM /pws/zycit036
WHERE codigo = pcodigo
AND origem = 'FAT'
* >> Início da exclusão: FORM DELE_CUSTO
AND nrseqori = /pws/zycie006-nrseq. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM DELE_CUSTO
AND nrseqori = /pws/zycie006-nrseq. "#EC CI_NOFIRST
* << Fim da inclusão
ENDIF.
IF ptype = 'X'.
CLEAR /pws/zycie006.
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 ,
...
...
lifnr = /pws/zycie006-lifnr
bukrs = /pws/zycie006-bukrs.
ENDFORM.
FORM get_parameters_mrm1_receb.
DATA: v_clnf LIKE /pws/zycit033-clnf.
PERFORM clear_date_batch.
SELECT SINGLE * FROM /pws/zycit048
WHERE bukrs EQ /pws/zycie006-bukrs.
FREE itab_zycit033.
SELECT * FROM /pws/zycit033
* >> Início da exclusão: FORM GET_PARAMETERS_MRM1_RECEB
INTO TABLE itab_zycit033. "#EC CI_NOWHERE
* << Fim da exclusão
* >> Início da inclusão: FORM GET_PARAMETERS_MRM1_RECEB
INTO TABLE itab_zycit033. "#EC CI_NOWHERE
* << Fim da inclusão
SELECT SINGLE * FROM t001w
WHERE werks = /pws/zycie001-werks.
v_clnf = 'G'.
SELECT SINGLE * FROM /pws/zycbt011 INTO wa_zycbt011
WHERE codeven = '006C'
AND bukrs = /pws/zycie006-bukrs .
ENDFORM.
FORM get_parameters_mb01_receb.
PERFORM clear_date_batch.
ENDFORM.
...
...
ENDIF.
ELSEIF v_campo EQ '/PWS/ZYCIE006-MBLNR_MB01'
AND NOT v_valor IS INITIAL.
PERFORM converter_documento.
SELECT SINGLE mblnr FROM mkpf INTO vaux_belnr
WHERE mblnr = v_belnr2
AND mjahr = /pws/zycie006-dt_mb01+0(4).
IF sy-subrc EQ 0.
SET PARAMETER ID 'MBN' FIELD v_belnr2.
SET PARAMETER ID 'MJA' FIELD /pws/zycie006-dt_mb01+0(4).
* >> Início da exclusão: FORM DRILL_DOWN_DOCUMENTOS
CALL TRANSACTION 'MB03' AND SKIP FIRST SCREEN. "#EC CI_CALLTA
* << Fim da exclusão
* >> Início da inclusão: FORM DRILL_DOWN_DOCUMENTOS
CALL TRANSACTION 'MB03' AND SKIP FIRST SCREEN. "#EC CI_CALLTA
* << Fim da inclusão
ENDIF.
ELSEIF v_campo EQ '/PWS/ZYCIE006-BELNR_F_51'
AND NOT v_valor IS INITIAL.
PERFORM converter_documento.
IF sy-subrc EQ 0.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycie006-bukrs
v_date = /pws/zycie006-dt_f_51
IMPORTING
...
...
SET PARAMETER ID 'BUK' FIELD /pws/zycie006-bukrs.
SET PARAMETER ID 'BLN' FIELD v_belnr2.
SET PARAMETER ID 'GJR' FIELD v_ano.
SELECT SINGLE belnr FROM bkpf INTO vaux_belnr
WHERE bukrs = /pws/zycie006-bukrs
AND belnr = v_belnr2
AND gjahr = v_ano.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'FB03'.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM DRILL_DOWN_DOCUMENTOS
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN. "#EC CI_CALLTA
* << Fim da exclusão
* >> Início da inclusão: FORM DRILL_DOWN_DOCUMENTOS
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN. "#EC CI_CALLTA
* << Fim da inclusão
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
ENDIF.
ENDIF.
ELSEIF v_campo EQ ''.
ELSE.
MESSAGE s015 WITH text-136.
ENDIF.
ENDFORM.
FORM converter_documento.
...
...
WHEN '2'.
/pws/zycie006-dtbase = /pws/zycit093-dtemiss.
WHEN '3'.
/pws/zycie006-dtbase = /pws/zycit093-dtlanc.
WHEN '4'.
/pws/zycie006-dtbase = /pws/zycie006-dtincl.
ENDCASE.
ENDIF.
ENDFORM.
FORM load_rof.
* >> Início da exclusão: FORM LOAD_ROF
DATA: v_rof LIKE /pws/zycbt115-rof,
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_ROF
DATA:
* << Fim da inclusão
v_dtrof LIKE /pws/zycbt115-dtrof.
SELECT SINGLE MAX( dtrof )
FROM /pws/zycbt115
INTO v_dtrof
WHERE nrcorrep = /pws/zycie006-nrseq_pgfat.
SELECT SINGLE rof
FROM /pws/zycbt115
INTO /pws/zycie006-rof
WHERE dtrof = v_dtrof AND
nrcorrep = /pws/zycie006-nrseq_pgfat.
...
...
SELECT * FROM dd07t
INTO TABLE itab_dd07t
WHERE domname = wa_dd03l-domname AND
ddlanguage = sy-langu(1).
IF sy-subrc = 0.
READ TABLE itab_dd07t WITH KEY domvalue_l = p_valor.
IF sy-subrc EQ 0.
v_retorno = itab_dd07t-ddtext.
ELSE.
LOOP AT itab_dd07t WHERE domvalue_l IS initial.
* >> Início da exclusão: FORM PEGA_DESCRICAO_DOMINIO
IF p_valor GE itab_dd07t-domval_ld AND "#EC PORTABLE
* << Fim da exclusão
* >> Início da inclusão: FORM PEGA_DESCRICAO_DOMINIO
IF p_valor GE itab_dd07t-domval_ld AND "#EC PORTABLE
* << Fim da inclusão
p_valor LE itab_dd07t-domval_hd.
v_retorno = itab_dd07t-ddtext.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM pega_valor_dominio USING p_campo
...
...
IMPORTING
assigned_url = doc_url
EXCEPTIONS
OTHERS = 1.
IF sy-subrc EQ 0.
CALL METHOD html_control->show_url
EXPORTING
url = doc_url.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM SET_THE_FLAG
FORM set_the_flag.
IF gv_help_show IS INITIAL.
gv_help_show = 'X'.
gv_subscreen_0050 = '0052'.
ELSE.
CLEAR gv_help_show.
gv_subscreen_0050 = '0051'.
ENDIF.
ENDFORM.
* << Fim da exclusão
FORM verifica_exit USING p_modulo
p_func
p_exit.
CLEAR itab_zyglt100.
REFRESH itab_zyglt100.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = p_modulo
i_func = p_func
i_zexit = p_exit
...
...
IF p_documento EQ 'F-51'.
/pws/zycit270-compl = text-158.
ELSEIF p_documento EQ 'MIGO'.
/pws/zycit270-compl = text-157.
ELSEIF p_documento EQ 'MIRO'.
/pws/zycit270-compl = text-156.
ENDIF.
INSERT /pws/zycit270.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM CARREGA_PAIS
FORM carrega_pais.
LOOP AT itab_zycit003.
IF /pws/zycie006-fabricante EQ '3'.
IF /pws/zycie006-porigem IS INITIAL .
MOVE /pws/zycie006-paisfab TO itab_zycit003-porigem.
MODIFY itab_zycit003 INDEX sy-tabix.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
* << Fim da exclusão
FORM load_parametros.
SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie006-bukrs.
SELECT SINGLE * FROM /pws/zycit477
WHERE land EQ t001-land1.
SELECT SINGLE * FROM /pws/zycit031
WHERE inco1 = /pws/zycie006-inco1
* >> Início da exclusão: FORM LOAD_PARAMETROS
AND land1 EQ t001-land1. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_PARAMETROS
AND land1 EQ t001-land1. "#EC CI_NOFIRST
* << Fim da inclusão
SELECT SINGLE *
FROM /pws/zycit000
WHERE land1 EQ t001-land1.
v_land1 = t001-land1.
IF NOT /pws/zycie006-bukrs IS INITIAL.
SELECT SINGLE *
FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycie006-bukrs.
IF sy-subrc NE 0.
MESSAGE e120.
ENDIF.
ENDIF.
MOVE /pws/zycbt007 TO wa_zycbt007.
ENDFORM.
FORM trata_save.
SELECT SINGLE *
FROM /pws/zycit085
WHERE nrbl EQ /pws/zycie006-nrseqce
AND nrdi NE ''
* >> Início da exclusão: FORM TRATA_SAVE
AND dtreg NE ''. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_SAVE
AND dtreg NE ''. "#EC CI_NOFIELD
* << Fim da inclusão
IF /pws/zycie006-imposto EQ 'X'
AND /pws/zycie006-tpfatura EQ '04'.
DELETE itab_zycit483 WHERE vldp EQ 0
OR iva EQ space
OR tpdesp EQ space.
IF itab_zycit483[] IS INITIAL.
MESSAGE i015 WITH text-184 text-185.
EXIT.
ENDIF.
ENDIF.
...
...
PERFORM soma_despesa.
IF v_tot_desp <> /pws/zycie006-vltotal.
v_tot_desp = /pws/zycie006-vltotal - v_tot_desp.
WRITE v_tot_desp TO v_total_desp CURRENCY /pws/zycie006-waers.
MESSAGE s061 WITH text-051 v_total_desp text-020 .
ENDIF.
ENDIF.
PERFORM move_pais.
PERFORM trata_fabricante.
ENDFORM.
* >> Início da exclusão: FORM CONSISTE_FABR
FORM consiste_fabr.
IF '02' CA /pws/zycie006-fabricante .
READ TABLE itab_mfrnr WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc NE 0.
/pws/zycie006-lifnrfabr = /pws/zycie003-lifnrfabr.
/pws/zycie006-descfab = /pws/zycie003-descfab .
IF /pws/zycie006-fabricante = '0'.
IF /pws/zycie006-paisfab IS INITIAL.
/pws/zycie006-paisfab = /pws/zycie003-paisfab .
ENDIF.
ELSE.
/pws/zycie006-paisfab = /pws/zycie003-paisfab .
ENDIF.
ELSE.
IF NOT itab_mfrnr-mfrnr IS INITIAL.
/pws/zycie006-lifnrfabr = itab_mfrnr-mfrnr.
SELECT SINGLE *
FROM lfa1
WHERE lifnr = itab_mfrnr-mfrnr.
IF sy-subrc EQ 0.
/pws/zycie006-descfab = lfa1-name1.
IF /pws/zycie006-fabricante = '0'.
IF /pws/zycie006-paisfab IS INITIAL.
/pws/zycie006-paisfab = /pws/zycie003-paisfab .
ENDIF.
ELSE.
/pws/zycie006-paisfab = /pws/zycie003-paisfab .
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
* << Fim da exclusão
FORM trata_fabricante.
IF /pws/zycie006-fabricante = '0'.
ELSEIF /pws/zycie006-fabricante = '1'.
v_fabr_ant = '1'.
CLEAR lfa1.
SELECT SINGLE * FROM lfa1
WHERE lifnr EQ /pws/zycie006-lifnr.
/pws/zycie006-lifnrfabr = /pws/zycie006-lifnr.
/pws/zycie006-flagfabr = 'S'.
/pws/zycie006-descfab = lfa1-name1.
...
...
DATA v_flag TYPE c.
IF NOT t169p-xbukrs IS INITIAL
AND NOT t169p-xxblnr IS INITIAL
AND NOT t169p-xbldat IS INITIAL.
SELECT SINGLE * FROM /pws/zycit006
INTO wa_zycit006
WHERE nrseq NE /pws/zycie006-nrseq
AND bukrs EQ /pws/zycie006-bukrs
AND nrfat EQ /pws/zycie006-nrfat
AND dtincl EQ /pws/zycie006-dtincl
* >> Início da exclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da inclusão
IF sy-subrc EQ 0.
v_flag = 'X'.
ENDIF.
ELSEIF NOT t169p-xbukrs IS INITIAL
AND NOT t169p-xxblnr IS INITIAL.
SELECT SINGLE * FROM /pws/zycit006
INTO wa_zycit006
WHERE nrseq NE /pws/zycie006-nrseq
AND bukrs EQ /pws/zycie006-bukrs
AND nrfat EQ /pws/zycie006-nrfat
* >> Início da exclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da inclusão
IF sy-subrc EQ 0.
v_flag = 'X'.
ENDIF.
ELSEIF NOT t169p-xbukrs IS INITIAL
AND NOT t169p-xbldat IS INITIAL.
SELECT SINGLE * FROM /pws/zycit006
INTO wa_zycit006
WHERE nrseq NE /pws/zycie006-nrseq
AND bukrs EQ /pws/zycie006-bukrs
AND nrfat EQ /pws/zycie006-nrfat
AND dtincl EQ /pws/zycie006-dtincl
* >> Início da exclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da inclusão
IF sy-subrc EQ 0.
v_flag = 'X'.
ENDIF.
ELSEIF NOT t169p-xxblnr IS INITIAL
AND NOT t169p-xbldat IS INITIAL.
SELECT SINGLE * FROM /pws/zycit006
INTO wa_zycit006
WHERE nrseq NE /pws/zycie006-nrseq
AND nrfat EQ /pws/zycie006-nrfat
AND dtincl EQ /pws/zycie006-dtincl
* >> Início da exclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da inclusão
IF sy-subrc EQ 0.
v_flag = 'X'.
ENDIF.
ELSEIF NOT t169p-xbukrs IS INITIAL.
SELECT SINGLE * FROM /pws/zycit006
INTO wa_zycit006
WHERE nrseq NE /pws/zycie006-nrseq
AND bukrs EQ /pws/zycie006-bukrs
* >> Início da exclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da inclusão
IF sy-subrc EQ 0.
v_flag = 'X'.
ENDIF.
ELSEIF NOT t169p-xxblnr IS INITIAL.
SELECT SINGLE * FROM /pws/zycit006
INTO wa_zycit006
WHERE nrseq NE /pws/zycie006-nrseq
AND nrfat EQ /pws/zycie006-nrfat
* >> Início da exclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da inclusão
IF sy-subrc EQ 0.
v_flag = 'X'.
ENDIF.
ELSEIF NOT t169p-xbldat IS INITIAL.
SELECT SINGLE * FROM /pws/zycit006
INTO wa_zycit006
WHERE nrseq NE /pws/zycie006-nrseq
AND dtincl EQ /pws/zycie006-dtincl
* >> Início da exclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_NRFAT
AND eliminado NE 'X'. "#EC CI_NOFIELD
* << Fim da inclusão
IF sy-subrc EQ 0.
v_flag = 'X'.
ENDIF.
ENDIF.
IF v_flag = 'X'.
MESSAGE e013 WITH text-163 text-164.
EXIT.
ENDIF.
ENDIF.
ENDIF.
...
...
ENDIF.
ENDFORM.
FORM estorno_pag_antecipado.
DATA itab_bseg TYPE bseg OCCURS 0 WITH HEADER LINE.
CHECK NOT itab_zycit003[] IS INITIAL
AND v_existe_di NE 'S'.
SELECT * FROM /pws/zycbt117
INTO TABLE itab_zycbt117
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln = itab_zycit003-ebeln
* >> Início da exclusão: FORM ESTORNO_PAG_ANTECIPADO
AND status NE 'E'. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PAG_ANTECIPADO
AND status NE 'E'. "#EC CI_NOFIELD
* << Fim da inclusão
IF sy-subrc EQ 0.
IF itab_zycit132[] IS INITIAL.
SELECT SINGLE *
FROM /pws/zycbt108
WHERE nrseq_pgfat EQ /pws/zycie006-nrseq_pgfat. "#EC CI_NOFIRST
IF sy-subrc EQ 0 AND
( /pws/zycbt108-slfat EQ /pws/zycbt108-slfatcc ) AND
( NOT /pws/zycbt108-belnr_lq IS INITIAL AND
NOT /pws/zycbt108-belnr_as IS INITIAL ).
v_pag_antecipado = 'X'.
...
...
ELSEIF NOT /pws/zycbt108-belnr_lq IS INITIAL
AND NOT /pws/zycbt108-belnr_as IS INITIAL.
MESSAGE i039 WITH text-110.
EXIT.
ENDIF.
ELSEIF NOT itab_zycit132[] IS INITIAL.
LOOP AT itab_zycit132.
SELECT SINGLE *
FROM /pws/zycbt108
WHERE nrseq_pgfat EQ
* >> Início da exclusão: FORM ESTORNO_PAG_ANTECIPADO
itab_zycit132-nrseq_pgfat. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PAG_ANTECIPADO
itab_zycit132-nrseq_pgfat. "#EC CI_NOFIRST
* << Fim da inclusão
IF sy-subrc EQ 0 AND
( /pws/zycbt108-slfat EQ /pws/zycbt108-slfatcc ) AND
( NOT /pws/zycbt108-belnr_lq IS INITIAL AND
NOT /pws/zycbt108-belnr_as IS INITIAL ).
v_pag_antecipado = 'X'.
CLEAR v_ano.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycie006-bukrs
v_date = itab_zycit132-dt_belnrp
...
...
INCLUDE STRUCTURE drseg.
TYPES: cr LIKE drseg_cr OCCURS 0,
co TYPE mmcr_drseg_co OCCURS 0,
sm LIKE drseg_sm OCCURS 0,
charact TYPE rbcharact_instance OCCURS 3,
uebgmat TYPE matnr,
uebrblgp TYPE rblgp,
selkz_db TYPE selkz,
rblgp_old TYPE rblgp,
END OF mmcr_drseg.
* >> Início da exclusão: FORM MIRO_AM_LA
DATA: v_chave(10),
* << Fim da exclusão
* >> Início da inclusão: FORM MIRO_AM_LA
DATA:
* << Fim da inclusão
v_indice TYPE i,
* >> Início da exclusão: FORM MIRO_AM_LA
v_iva(2),
* << Fim da exclusão
v_cont2 TYPE sy-tabix,
v_cont TYPE sy-tabix,
v_awkey TYPE bkpf-awkey,
v_doc_miro TYPE bkpf-belnr,
v_vltotal TYPE /pws/zycie006-vltotal,
v_gross_amount TYPE /pws/zycit006-vlmerc.
...
...
v_ebelp(6) TYPE c VALUE '000000',
v_item_amount TYPE /pws/zycit003-netpr,
v_item_amount2 TYPE /pws/zycit036-netpr.
DATA: itab_konv TYPE konv OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_ped OCCURS 0.
DATA: ebeln TYPE ekko-ebeln,
knumv TYPE ekko-knumv.
DATA: END OF itab_ped.
DATA: itab_contas_aux LIKE itab_contas OCCURS 0 WITH HEADER LINE,
itab_zycbe033_aux LIKE itab_zycbe033 OCCURS 0 WITH HEADER LINE,
* >> Início da exclusão: FORM MIRO_AM_LA
itab_zycit030 LIKE /pws/zycit030 OCCURS 0 WITH HEADER LINE,
itab_komv_a LIKE itab_komv OCCURS 0 WITH HEADER LINE.
* << Fim da exclusão
* >> Início da inclusão: FORM MIRO_AM_LA
itab_zycit030 LIKE /pws/zycit030 OCCURS 0 WITH HEADER LINE.
* << Fim da inclusão
DATA: BEGIN OF itab_komk_aux OCCURS 0.
INCLUDE STRUCTURE komk.
DATA: ebeln LIKE ekko-ebeln.
DATA: END OF itab_komk_aux.
DATA: BEGIN OF itab_fat OCCURS 0.
DATA: nrseq TYPE /pws/zycie006-nrseq.
DATA: END OF itab_fat.
DATA: itab_zycit047a TYPE /pws/zycit047 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_ivaped OCCURS 0.
DATA: ebeln TYPE ekpo-ebeln,
...
...
DELETE itab_konv WHERE kntyp NE 'B'
OR kbetr EQ space.
ENDIF.
ENDIF.
IF /pws/zycie006-tpfatura NE '01'.
SELECT nrseq FROM /pws/zycit006
INTO TABLE itab_fat
WHERE nrseqce EQ /pws/zycie006-nrseqce
AND eliminado EQ space
AND tpfatura EQ /pws/zycie006-tpfatura
* >> Início da exclusão: FORM MIRO_AM_LA
AND nrseq NE /pws/zycie006-nrseq. "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM MIRO_AM_LA
AND nrseq NE /pws/zycie006-nrseq. "#EC CI_NOFIELD
* << Fim da inclusão
IF /pws/zycie006-tpfatura EQ '04' AND sy-subrc EQ 0.
SELECT * FROM /pws/zycit047 INTO TABLE itab_zycit047a
FOR ALL ENTRIES IN itab_fat
WHERE nrseq EQ itab_fat-nrseq.
ENDIF.
SELECT * FROM /pws/zycit399 INTO TABLE itab_zycit399
WHERE pais EQ t001-land1.
READ TABLE itab_zycit003 INDEX 1.
SELECT SINGLE nrseqdi FROM /pws/zycit100 INTO /pws/zycit085-nrseqdi
* >> Início da exclusão: FORM MIRO_AM_LA
WHERE nrseq EQ itab_zycit003-nrseq. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM MIRO_AM_LA
WHERE nrseq EQ itab_zycit003-nrseq. "#EC CI_NOFIRST
* << Fim da inclusão
SELECT * FROM /pws/zycit403 INTO TABLE itab_zycit403
WHERE nrseqdi EQ /pws/zycit085-nrseqdi.
ENDIF.
REFRESH itab_ivaped.
SELECT ebeln ebelp knttp mwskz matnr werks txjcd FROM ekpo
INTO TABLE itab_ivaped
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
READ TABLE itab_zycit003 INDEX 1.
...
...
REFRESH itab_zycit399.
SELECT * FROM /pws/zycit399 INTO TABLE itab_zycit399
WHERE pais EQ t001-land1
AND credita EQ 'X'
AND codmod EQ 'D'.
ENDIF.
READ TABLE itab_zycit029 WITH KEY land1 = t001-land1.
IF sy-subrc NE 0.
REFRESH itab_zycit029.
SELECT * FROM /pws/zycit029 INTO TABLE itab_zycit029
* >> Início da exclusão: FORM TRATA_IMPOSTOS
WHERE land1 EQ t001-land1. "#EC CI_NOFIRST
* << Fim da exclusão
* >> Início da inclusão: FORM TRATA_IMPOSTOS
WHERE land1 EQ t001-land1. "#EC CI_NOFIRST
* << Fim da inclusão
ENDIF.
READ TABLE itab_zycit484 WITH KEY land1 = t001-land1
bukrs = /pws/zycie006-bukrs.
IF sy-subrc NE 0.
REFRESH itab_zycit484.
SELECT * FROM /pws/zycit484 INTO TABLE itab_zycit484
WHERE land1 EQ t001-land1
AND bukrs EQ /pws/zycie006-bukrs.
ENDIF.
READ TABLE itab_zycit403
...
...
ENDIF.
ENDLOOP.
ENDLOOP.
ENDIF.
ENDFORM.
FORM taxa_converte USING p_waers
p_data
CHANGING p_taxa.
CLEAR: p_taxa.
DATA: v_moeda LIKE tcurc-/pws/codmo,
* >> Início da exclusão: FORM TAXA_CONVERTE
v_msgd(10),
* << Fim da exclusão
v_linhas TYPE i.
DATA: itab_zycit174 TYPE /pws/zycit174 OCCURS 0 WITH HEADER LINE.
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
waers = p_waers.
IF sy-subrc EQ 0.
REFRESH itab_zycit174.
SELECT * FROM /pws/zycit174 INTO TABLE itab_zycit174 WHERE
* >> Início da exclusão: FORM TAXA_CONVERTE
codconver = v_moeda AND "#EC PORTABLE
* << Fim da exclusão
* >> Início da inclusão: FORM TAXA_CONVERTE
codconver = v_moeda AND "#EC PORTABLE
* << Fim da inclusão
vigen_inicio <= p_data AND
vigen_fim >= p_data AND
land1 = t001-land1.
DESCRIBE TABLE itab_zycit174 LINES v_linhas.
IF v_linhas EQ 1.
READ TABLE itab_zycit174 INDEX 1.
p_taxa = itab_zycit174-txconver.
ELSEIF v_linhas EQ 0.
IF NOT p_data IS INITIAL.
IF p_waers EQ wa_zycbt007-waersb.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003I01
...
ENDIF.
ENDCASE.
ENDMODULE.
MODULE user_command_0109 INPUT.
CASE okcode.
WHEN 'ELIM'.
DELETE itab_zycit130 WHERE mark = 'X'.
ENDCASE.
ENDMODULE.
MODULE user_command_0108 INPUT.
* >> Início da exclusão: MODULE USER_COMMAND_0108
DATA v_del.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0108
clear v_del.
* << Fim da inclusão
CASE okcode.
WHEN 'ELIM'.
READ TABLE itab_zycit129 WITH KEY mark = 'X'.
IF sy-subrc = 0.
LOOP AT itab_zycit129.
IF itab_zycit129-mark = 'X'.
DELETE itab_zycit129 INDEX sy-tabix.
v_del = 'S'.
ENDIF.
IF v_del NE 'S'.
...
...
MODIFY itab_zycit132.
ENDLOOP.
ENDMODULE.
MODULE user_command_0110 INPUT.
CASE okcode.
WHEN 'SELE'.
PERFORM drill_down_documentos.
ENDCASE.
ENDMODULE.
MODULE seta_matchcode INPUT.
* >> Início da exclusão: MODULE SETA_MATCHCODE
DATA v_loop TYPE i.
DATA v_return(40) TYPE c.
DATA: value(132).
DATA: BEGIN OF f_tab OCCURS 10.
INCLUDE STRUCTURE help_value.
DATA: END OF f_tab.
DATA: BEGIN OF v_tab OCCURS 200,
value(40) TYPE c,
END OF v_tab.
DATA: BEGIN OF itab_rateio OCCURS 0.
INCLUDE STRUCTURE /pws/zycit391.
DATA: END OF itab_rateio.
* << Fim da exclusão
CLEAR : v_tab, f_tab, itab_rateio.
REFRESH: v_tab, f_tab, itab_rateio.
SELECT * FROM /pws/zycit391
INTO TABLE itab_rateio. "#EC CI_NOWHERE
CLEAR v_loop.
LOOP AT itab_rateio.
IF itab_rateio-flag EQ 'X'.
v_loop = v_loop + 1.
ENDIF.
ENDLOOP.
...
...
ENDMODULE.
MODULE trata_obrigatorio INPUT.
CHECK /pws/zycie006-tpfatura = '01' OR /pws/zycie006-tpfatura = '11'
OR /pws/zycie006-tpfatura = ' '.
IF NOT /pws/zycie006-vlmerc IS INITIAL.
IF /pws/zycie003-vlreal IS INITIAL.
v_obrig = 'X'.
ENDIF.
ENDIF.
ENDMODULE.
* >> Início da exclusão: MODULE USER_COMMAND_0050
MODULE user_command_0050 INPUT.
CASE okcode.
WHEN 'RENE'.
PERFORM recalcula_parcelas.
WHEN 'OBS'.
PERFORM observacao.
WHEN 'DET'.
PERFORM exibe_item.
WHEN 'PED'.
PERFORM selecionar_pedidos.
WHEN 'FABR'.
PERFORM exibir_fabricante.
WHEN 'DELE'.
/pws/zycie003-flagfabr = 'S'.
PERFORM eliminar_fatura.
WHEN 'BC'.
CALL METHOD html_control->go_back.
WHEN 'AVAN'.
CALL METHOD html_control->go_forward.
WHEN 'SAVE'.
IF v_refer NE 'X'.
PERFORM consiste_campos_obrigatorios.
ENDIF.
WHEN 'MODI'.
IF v_status_s = '0'.
IF /pws/zycie006-eliminado NE 'X' AND
( ( v_existe_di EQ 'S' AND /pws/zycie006-tpfatura EQ '02' ) OR
( v_existe_di EQ 'S' AND /pws/zycie006-tpfatura EQ '03' ) OR
( v_existe_di EQ 'S' AND /pws/zycie006-tpfatura EQ '04' ) OR
( v_existe_di EQ 'S' AND /pws/zycie006-tpfatura EQ '09' ) ).
v_status_s = 1.
ELSEIF /pws/zycie006-eliminado NE 'X' AND v_existe_di NE 'S'.
v_status_s = 1.
ELSEIF /pws/zycie006-eliminado EQ 'X'.
MESSAGE s015 WITH text-037.
ELSEIF v_existe_di EQ 'S' AND ( /pws/zycie006-tpfatura EQ '01'
OR /pws/zycie006-tpfatura = '11' ).
MESSAGE s015 WITH text-041.
ENDIF.
ELSE.
v_status_s = '0'.
ENDIF.
IF /pws/zycie006-tpfatura EQ '04'.
PERFORM verifica_despesas.
ENDIF.
WHEN 'MODO'.
PERFORM modo_batch_input.
WHEN 'BACK'.
IF sy-tcode EQ '/PWS/ZYCI003_L' OR sy-tcode EQ '/PWS/ZYCI003_E' OR
sy-tcode EQ '/PWS/ZYCI003_R' .
PERFORM verifica_alteracoes.
CLEAR: v_dbanco, v_dforn, v_dmoeda, v_dmoeda_emb,
v_dtpfatura, v_dfrpagto, /pws/zycie006.
CLEAR v_livre.
LEAVE TO SCREEN 0 .
ELSEIF sy-tcode EQ '/PWS/ZYCI003_C' OR sy-tcode EQ
'/PWS/ZYCI003_A'
OR sy-tcode = '/PWS/ZYCI003_M'.
PERFORM verifica_alteracoes.
CLEAR v_livre.
LEAVE PROGRAM.
ENDIF.
WHEN 'ELIM'.
LOOP AT itab_zycit003 WHERE marc = 'X'.
DELETE itab_zycit003.
v_nitens = v_nitens - 1.
v_contabiliza = 'S'.
ENDLOOP.
IF sy-subrc NE 0.
READ TABLE itab_zycit132 WITH KEY mark = 'X'.
IF sy-subrc NE 0.
MESSAGE s015 WITH text-046.
ENDIF.
ENDIF.
LOOP AT itab_zycit132 WHERE mark = 'X'.
IF itab_zycit132-compensado NE 'X' AND
itab_zycit132-belnr_p IS INITIAL AND
itab_zycit132-nrseq_pgfat IS INITIAL.
DELETE itab_zycit132.
ELSE.
MESSAGE s015 WITH text-085.
ENDIF.
ENDLOOP.
WHEN 'MARC'.
CASE ts_faturas-activetab.
WHEN 'FC_CLCONT'.
LOOP AT itab_zycit003.
itab_zycit003-marc = 'X'.
MODIFY itab_zycit003.
ENDLOOP.
WHEN 'FC_CAMB'.
LOOP AT itab_zycit126.
itab_zycit126-mark = 'X'.
MODIFY itab_zycit126.
ENDLOOP.
WHEN 'FC_BANCO'.
LOOP AT itab_zycit129.
itab_zycit129-mark = 'X'.
MODIFY itab_zycit129.
ENDLOOP.
ENDCASE.
WHEN 'DESM'.
CASE ts_faturas-activetab.
WHEN 'FC_CLCONT'.
LOOP AT itab_zycit003.
itab_zycit003-marc = ' '.
MODIFY itab_zycit003.
ENDLOOP.
WHEN 'FC_CAMB'.
LOOP AT itab_zycit126.
itab_zycit126-mark = ' '.
MODIFY itab_zycit126.
ENDLOOP.
WHEN 'FC_BANCO'.
LOOP AT itab_zycit129.
itab_zycit129-mark = ' '.
MODIFY itab_zycit129.
ENDLOOP.
ENDCASE.
WHEN 'IMPR'.
MOVE itab_zycit003-nrseq TO /pws/zycie003-nrseq.
EXPORT /pws/zycie003-nrseq TO MEMORY ID '001'.
EXPORT /pws/zycie006-nrseq TO MEMORY ID '002'.
SUBMIT /pws/zycir051 AND RETURN. "#EC CI_SUBMIT
WHEN 'ENTE'.
IF /pws/zycie006-tpfatura = '04'.
PERFORM soma_despesa.
IF v_tot_desp <> /pws/zycie006-vltotal.
v_tot_desp = /pws/zycie006-vltotal - v_tot_desp.
MOVE v_tot_desp TO v_total_desp.
MESSAGE s061 WITH text-051 v_total_desp text-020 .
ENDIF.
ENDIF.
PERFORM move_pais.
IF /pws/zycie006-fabricante = '0'.
IF v_fabr_ant = '1'.
CLEAR: /pws/zycie006-flagfabr,
/pws/zycie006-lifnrfabr, /pws/zycie006-descfab,
/pws/zycie006-paisfab, v_fabr_ant.
ENDIF.
IF /pws/zycie006-flagfabr = 'S'.
IF NOT /pws/zycie006-lifnrfabr IS INITIAL.
CLEAR: /pws/zycie006-descfab , /pws/zycie006-paisfab.
SELECT SINGLE *
FROM lfa1
WHERE lifnr = /pws/zycie006-lifnrfabr.
/pws/zycie006-descfab = lfa1-name1.
IF /pws/zycie006-paisfab IS INITIAL.
/pws/zycie006-paisfab = lfa1-land1.
ENDIF.
ELSE.
CLEAR /pws/zycie006-descfab.
MESSAGE s015 WITH text-053.
ENDIF.
ELSE.
CLEAR /pws/zycie006-lifnrfabr.
ENDIF.
LOOP AT itab_zycit003.
MOVE: /pws/zycie006-descfab TO itab_zycit003-descfab,
/pws/zycie006-lifnrfabr TO itab_zycit003-lifnrfabr,
/pws/zycie006-flagfabr TO itab_zycit003-flagfabr,
'2' TO itab_zycit003-fabric.
IF itab_zycit003-paisfab IS INITIAL.
MOVE /pws/zycie006-paisfab TO itab_zycit003-paisfab.
ENDIF.
MODIFY itab_zycit003.
ENDLOOP.
v_flag = 'X'.
ELSEIF /pws/zycie006-fabricante = '1'.
v_fabr_ant = '1'.
CLEAR lfa1.
SELECT SINGLE * FROM lfa1
WHERE lifnr EQ /pws/zycie006-lifnr.
/pws/zycie006-lifnrfabr = /pws/zycie006-lifnr.
/pws/zycie006-flagfabr = 'S'.
/pws/zycie006-descfab = lfa1-name1.
/pws/zycie006-paisfab = lfa1-land1.
LOOP AT itab_zycit003.
MOVE: /pws/zycie006-descfab TO itab_zycit003-descfab,
/pws/zycie006-lifnrfabr TO itab_zycit003-lifnrfabr,
/pws/zycie006-flagfabr TO itab_zycit003-flagfabr,
'1' TO itab_zycit003-fabric.
IF itab_zycit003-paisfab IS INITIAL.
MOVE /pws/zycie006-paisfab TO itab_zycit003-paisfab.
ENDIF.
MODIFY itab_zycit003.
ENDLOOP.
v_flag = 'X'.
ELSEIF /pws/zycie006-fabricante = '2'.
CLEAR: /pws/zycie006-descfab,
/pws/zycie006-paisfab , /pws/zycie006-lifnrfabr,
/pws/zycie006-flagfabr.
IF v_flag EQ 'X'.
LOOP AT itab_zycit003.
CLEAR: itab_zycit003-fabric, itab_zycit003-paisfab,
itab_zycit003-descfab, itab_zycit003-lifnrfabr,
itab_zycit003-flagfabr.
MODIFY itab_zycit003.
ENDLOOP.
v_flag = space.
ENDIF.
ELSEIF /pws/zycie006-fabricante = '3'.
v_flag = 'X'.
CLEAR: /pws/zycie006-descfab,
/pws/zycie006-paisfab , /pws/zycie006-lifnrfabr,
/pws/zycie006-flagfabr.
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'.
IF /pws/zycit477 IS INITIAL AND
/pws/zycie006-belnr_p IS INITIAL.
PERFORM trata_save.
ENDIF.
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'.
PERFORM visualiza_rateio.
ENDCASE.
CLEAR okcode.
ENDMODULE.
* << Fim da exclusão
MODULE user_command INPUT.
CASE sy-dynnr.
WHEN '0112'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
MODULE consiste_tpnf INPUT.
IF NOT /pws/zycie006-lifnr IS INITIAL AND
( /pws/zycie006-tpfatura EQ '02' OR
/pws/zycie006-tpfatura EQ '03' OR
...
...
MODULE user_command_0051 INPUT.
CASE okcode.
WHEN 'BC'.
CALL METHOD html_control->go_back.
CLEAR okcode.
WHEN 'AVAN'.
CALL METHOD html_control->go_forward.
CLEAR okcode.
ENDCASE.
ENDMODULE.
* >> Início da exclusão: MODULE CARREGA_PAIS
MODULE carrega_pais INPUT.
PERFORM carrega_pais.
ENDMODULE.
* << Fim da exclusão
MODULE atualiza_pais INPUT.
CLEAR v_paisfab.
IF '03' CA /pws/zycie006-fabricante .
CLEAR : /pws/zycie006-lifnrfabr,
/pws/zycie006-descfab,
/pws/zycie006-paisfab.
v_paisfab = 'X' .
ENDIF.
LOOP AT itab_zycit003.
IF '03' CA /pws/zycie006-fabricante .
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01
...
IF sy-subrc EQ 0.
screen-input = 0.
ENDIF.
ENDIF.
IF v_existe_bol EQ 'X'.
screen-input = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDMODULE.
* >> Início da exclusão: MODULE CONTA_ITENS
MODULE conta_itens OUTPUT.
CLEAR v_nitens.
LOOP AT itab_zycit003
WHERE livre = 'S'.
v_nitens = v_nitens + 1.
ENDLOOP.
ENDMODULE.
MODULE seleciona OUTPUT.
ENDMODULE.
* << Fim da exclusão
MODULE status_0200 OUTPUT.
SET PF-STATUS '0200'.
ENDMODULE.
MODULE set_screen_200 OUTPUT.
LOOP AT SCREEN.
IF v_fabricante EQ '1'.
IF screen-group1 = 'F1'.
screen-invisible = '1'.
ENDIF.
IF screen-group1 = 'F2'.
...
...
WHEN 'F1' .
screen-invisible = '0'.
WHEN 'F3' .
screen-invisible = '0'.
ENDCASE.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
ENDMODULE.
* >> Início da exclusão: MODULE SET_SCREEN_202
MODULE set_screen_202 OUTPUT.
ENDMODULE.
* << Fim da exclusão
MODULE status_0400 OUTPUT.
SET PF-STATUS '400'.
ENDMODULE.
MODULE exibe_detalhe OUTPUT.
IF /pws/zycie006-fabricante = '2'.
IF /pws/zycie003-flagfabr = 'S'.
ELSE.
CLEAR /pws/zycie003-lifnrfabr.
ENDIF.
ENDIF.
...
...
IF v_anula = 'X'.
LOOP AT itab_zycit003.
v_tabix = sy-tabix.
CLEAR itab_zycit003-total.
MODIFY itab_zycit003 INDEX v_tabix.
ENDLOOP.
ENDIF.
CLEAR v_anula.
ENDIF.
ENDMODULE.
* >> Início da exclusão: MODULE STATUS_0110
MODULE status_0110 OUTPUT.
SET PF-STATUS '0110'.
SET TITLEBAR '0110'.
ENDMODULE.
MODULE set_screen_0110 OUTPUT.
SELECT SINGLE * FROM /pws/zycbt119
INTO /pws/zycbe119
WHERE nrseq = /pws/zycie006-nrseq_pgfat.
SELECT SINGLE * FROM /pws/zycbt031
INTO /pws/zycbe031
WHERE bukrs = /pws/zycbe119-bukrs
AND mdcorresp = 'IP'
AND nrcorresp = /pws/zycbe119-nrseq
AND tabela = '/PWS/ZYCBT119'.
SELECT SINGLE name1 FROM lfa1 INTO v_name1
WHERE lifnr = /pws/zycbe031-bcooper.
SELECT SINGLE * FROM /pws/zycbt048
INTO /pws/zycbe048
WHERE bukrs = /pws/zycbe119-bukrs
AND mdcorresp = 'IP'
AND nrcorresp = /pws/zycbe119-nrseq.
SELECT SINGLE * FROM /pws/zycbt115
INTO /pws/zycbe115
WHERE nrcorrep = /pws/zycbe119-nrseq
AND tpdoc = 'P'.
ENDMODULE.
MODULE check_diferenca OUTPUT.
DATA:
v_tot_char(18).
IF v_vlreal IS INITIAL.
IF ( t001-land1 = 'AR' OR t001-land1 = 'CL' )
AND /pws/zycit031-inco1_ci = 'FOB'.
v_vlreal = /pws/zycie006-vlmerc.
ELSE.
v_vlreal = /pws/zycie006-vltotal.
ENDIF.
ENDIF.
READ TABLE itab_zycit003 INDEX 1.
IF /pws/zycie006-inco1 = 'CFR'.
IF v_total NE /pws/zycie006-vltotal
AND NOT itab_zycit003-vlreal IS INITIAL
AND NOT v_total IS INITIAL.
v_ttotal = v_total - v_vlreal.
WRITE v_ttotal TO v_tot_char CURRENCY /pws/zycit006-waers.
MESSAGE s015 WITH text-019 v_tot_char.
v_total_erro = 'X'.
ENDIF.
ELSE.
IF v_total NE /pws/zycie006-vltotal
AND NOT itab_zycit003-vlreal IS INITIAL
AND NOT v_total IS INITIAL.
v_ttotal = v_total - v_vlreal .
WRITE v_ttotal TO v_tot_char CURRENCY /pws/zycit006-waers.
MESSAGE s015 WITH text-019 v_tot_char.
v_total_erro = 'X'.
ENDIF.
ENDIF.
ENDMODULE.
MODULE status_0050 OUTPUT.
FREE itab_pf_status.
IF sy-tcode = '/PWS/ZYCI003_M'.
itab_pf_status-fcode = 'DELE'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'PED'.
APPEND itab_pf_status.
IF /pws/zycie006-tpfatura NE '01' AND
/pws/zycie006-tpfatura NE '11'.
itab_pf_status-fcode = 'FABR'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'DET'.
APPEND itab_pf_status.
ENDIF.
IF /pws/zycie006-tpfatura NE '11'
AND ( /pws/zycie006-tpfatura NE '04'
AND /pws/zycie006-vinserv EQ 'X' ).
itab_pf_status-fcode = 'REC'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'ESTOR'.
APPEND itab_pf_status.
ENDIF.
SET PF-STATUS '0100' EXCLUDING itab_pf_status.
ELSEIF sy-tcode = '/PWS/ZYCI003_C' OR v_status_s = 1.
IF /pws/zycie006-tpfatura NE '01'
AND /pws/zycie006-tpfatura NE '11'.
itab_pf_status-fcode = 'FABR'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'DET'.
APPEND itab_pf_status.
ENDIF.
IF /pws/zycie006-tpfatura NE '11'
AND /pws/zycie006-tpfatura NE '12'.
itab_pf_status-fcode = 'REC'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'ESTOR'.
APPEND itab_pf_status.
ENDIF.
IF itab_zycit132[] IS INITIAL.
itab_pf_status-fcode = 'RENE'.
APPEND itab_pf_status.
ENDIF.
IF /pws/zycie006-tpfatura NE '02' AND
/pws/zycie006-tpfatura NE '03' AND
/pws/zycie006-tpfatura NE '04'.
itab_pf_status-fcode = 'VISUA'.
APPEND itab_pf_status.
ENDIF.
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.
itab_pf_status-fcode = 'DELE'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'DESM'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'SAVE'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'PED'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'RENE'.
APPEND itab_pf_status.
IF /pws/zycie006-tpfatura NE '01'
AND /pws/zycie006-tpfatura NE '11'.
itab_pf_status-fcode = 'FABR'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'DET'.
APPEND itab_pf_status.
ENDIF.
IF /pws/zycie006-tpfatura NE '11'
AND ( /pws/zycie006-tpfatura EQ '04' AND
/pws/zycie006-vinserv EQ 'X' ).
itab_pf_status-fcode = 'REC'.
APPEND itab_pf_status.
itab_pf_status-fcode = 'ESTOR'.
APPEND itab_pf_status.
ENDIF.
SET PF-STATUS '0100' EXCLUDING itab_pf_status.
ENDIF.
SET TITLEBAR '0100'.
ENDMODULE.
* << Fim da exclusão
MODULE load_html_help OUTPUT.
IF my_container IS INITIAL.
CREATE OBJECT my_container
EXPORTING
container_name = 'CC_HTML_HELP'
EXCEPTIONS
others = 1.
CASE sy-subrc.
WHEN 0.
WHEN OTHERS.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003X01
...
END OF wa_fornec_fat.
DATA: wa_headerdata TYPE bapi_incinv_create_header,
v_belnr_mr1m TYPE /pws/zycie006-belnr_mr1m,
itab_itemdata TYPE bapi_incinv_create_item
OCCURS 0 WITH HEADER LINE,
itab_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE,
itab_account TYPE bapi_incinv_create_account
OCCURS 0 WITH HEADER LINE,
itab_glaccount TYPE bapi_incinv_create_gl_account
OCCURS 0 WITH HEADER LINE.
* >> Início da inclusão:
data v_tot_vlreal LIKE /pws/zycit003-vlreal.
DATA v_loop TYPE i.
DATA v_return(40) TYPE c.
DATA: value(132).
DATA: BEGIN OF f_tab OCCURS 10.
INCLUDE STRUCTURE help_value.
DATA: END OF f_tab.
DATA: BEGIN OF v_tab OCCURS 200,
value(40) TYPE c,
END OF v_tab.
DATA: BEGIN OF itab_rateio OCCURS 0.
INCLUDE STRUCTURE /pws/zycit391.
DATA: END OF itab_rateio.
DATA v_del.
* << Fim da inclusão
DATA: END OF COMMON PART.