Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DA
Data/Hora da Publicação: 20/04/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 14:40:41
Descrição da Nota: DECLARAÇÃO DE ADMISSÃO - MATERIAIS DIFERENTES
Sintoma
Na DA não permitia gravar materiais diferentes.
Permitir que vincule itens de materiais diferentese faça o rateio entre os itens e leve para o
embarque de nacionalização rateado.
Solução
Gravar despesas por pedido e item e fazendo rateio dos valores.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03511 Data: 20/04/2007 Hora: 10:07:51
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03511
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00162
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03150 - 00002 - 6.0 - 00026 - PRESTAÇÃO DE CONTAS - ENTREPOSTO ADUANEIRO
03257 - 00001 - 6.0 - 00026 - DA APOS ATUALIZAR NÃO DEVE DEIXAR FAZER DC, PC E AD
03361 - 00003 - 7.0 - 00001 - MATERIAIS DIFERENTES NA DA
----------------------------------------------------------------------------------------------------
DECLARAÇÃO DE ADMISSÃO - MATERIAIS DIFERENTES
----------------------------------------------------------------------------------------------------
Palavras Chave:
PEDIDO; ITEM; RATEIO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI001F03
REPS /PWS/MZYCI001X01
REPS /PWS/MZYCI070F05
REPS /PWS/MZYCI070TOP
REPS /PWS/MZYCI072F01
REPS /PWS/MZYCI072TOP
REPS /PWS/MZYCI072X01
REPS /PWS/MZYCI075F01
REPS /PWS/MZYCI075F02
REPS /PWS/MZYCI075TOP
REPS /PWS/MZYCI075X01
REPS /PWS/MZYCI076F01
REPS /PWS/MZYCI076TOP
REPS /PWS/MZYCI076X01
REPT /PWS/SAPMZYCI070
REPT /PWS/SAPMZYCI072
REPT /PWS/SAPMZYCI075
TABD /PWS/ZYCIE461
TABD /PWS/ZYCIE466
TABD /PWS/ZYCIT443
TABD /PWS/ZYCIT461
TABD /PWS/ZYCIT466
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE461
Inclusão dos campos-chave: EBELN Pedido e EBELP Item
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
MANDT MANDT CLNT 3
NRSEQDA /PWS/ZYCIL831 CHAR 10
TPDESP /PWS/ZYCIL036 CHAR 3
NRADTO /PWS/ZYCIL027 CHAR 10
EBELN EBELN CHAR 10
EBELP EBELP NUMC 5
EMBARCA /PWS/ZYCIL008 CHAR 15
DESCR /PWS/ZYCIL037 CHAR 35
WERKS WERKS_D CHAR 4
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE466
Inclusão dos campos-chave: EBELN Pedido e EBELP Item
Nome campo Elem.dados Tab.verif. N CtDt Comp. Grupo
MANDT MANDT CLNT 3
NRSEQ /PWS/ZYCIL831 CHAR 10
NRADTO /PWS/ZYCIL027 CHAR 10
TPDESP /PWS/ZYCIL036 CHAR 3
EBELN EBELN CHAR 10
EBELP EBELP NUMC 5
EMBARCA /PWS/ZYCIL008 CHAR 15
DESCR /PWS/ZYCIL037 CHAR 35
WAERS WAERS CUKY 5
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT443
Inclusão dos campos abaixo do EBELP_ORI
Nome de campo Chv Elem.dados Tab.verif. N CtDt Comp.
CONDMERC /PWS/ZYCIL202 CHAR 1
WERKS WERKS_D CHAR 4
MATNR MATNR CHAR 18
EBELP_ORI EBELP NUMC 5
CODREGTRIPISCOFI /PWS/ZYCEL265 CHAR 1
CODFUNLEGPISCOFI /PWS/ZYCIL203 CHAR 2
REDPISCOFI LOHN_B CHAR 1
CODREDPISCOFI /PWS/ZYCIL203 CHAR 2
PERCREDUZPC J_1BTXRATE DEC 6
UM_PIS MEINS UNIT 3
UM_COFINS MEINS UNIT 3
QTDUM_PIS NUM08 NUMC 8
QTDUM_COFINS NUM08 NUMC 8
PIS_CALC /PWS/ZYCIL307 CURR 16
PIS_DEV /PWS/ZYCIL307 CURR 16
COFI_CALC /PWS/ZYCIL307 CURR 16
COFI_DEV /PWS/ZYCIL307 CURR 16
CODREGTRIICMS /PWS/ZYCEL265 CHAR 1
CODFUNLEGICMS /PWS/ZYCIL203 CHAR 2
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT461
Inclusão dos campos-chave: EBELN Pedido e EBELP Item
Nome campo Chv Elem.dados Tab.verif. N CtDt Comp.
MANDT MANDT CLNT 3
NRSEQDA /PWS/ZYCIL831 CHAR 10
TPDESP /PWS/ZYCIL036 CHAR 3
NRADTO /PWS/ZYCIL027 CHAR 10
EBELN EBELN CHAR 10
EBELP EBELP NUMC 5
EMBARCA /PWS/ZYCIL008 CHAR 15
DESCR /PWS/ZYCIL037 CHAR 35
WERKS WERKS_D CHAR 4
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT466
Inclusão dos campos-chave: EBELN Pedido e EBELP Item
Nome campo Chv Elem.dados Tab.verif. N CtDt Comp. Gr
MANDT MANDT CLNT 3
NRSEQ /PWS/ZYCIL831 CHAR 10
NRADTO /PWS/ZYCIL027 CHAR 10
TPDESP /PWS/ZYCIL036 CHAR 3
EBELN EBELN CHAR 10
EBELP EBELP NUMC 5
EMBARCA /PWS/ZYCIL008 CHAR 15
DESCR /PWS/ZYCIL037 CHAR 35
WAERS WAERS CUKY 5
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F03
...
LOOP AT itab_zycit466.
READ TABLE itab_zycit466_aux WITH KEY
tpdesp = itab_zycit466-tpdesp.
IF sy-subrc NE 0.
MOVE itab_zycit466 TO itab_zycit466_aux.
APPEND itab_zycit466_aux.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit003.
DESCRIBE TABLE itab_zycit459 LINES v_line.
* >> Início da exclusão: FORM GRAVAR_CUSTOS
LOOP AT itab_zycit461 .
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVAR_CUSTOS
LOOP AT itab_zycit461 WHERE ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
* << Fim da inclusão
CLEAR v_qtdutil_da.
READ TABLE itab_zycit459 WITH KEY nrseqda = itab_zycit461-nrseqda
nrpres = itab_zycit461-nradto.
READ TABLE itab_zycit019 WITH KEY tpdesp = itab_zycit461-tpdesp.
IF sy-subrc EQ 0.
READ TABLE itab_zycit461_aux
WITH KEY nrseqda = itab_zycit461-nrseqda
tpdesp = itab_zycit461-tpdesp
nradto = itab_zycit461-nradto .
IF sy-subrc NE 0.
...
...
/pws/zycbt007-waersb TO itab_zycit036_aux-waers_mov,
itab_zycit461-nradto TO itab_zycit036_aux-nrseqori .
itab_zycit036_aux-vlreal = itab_zycit036_aux-vlmov =
itab_zycit003-qtd_iten * itab_zycit461-netpr_da.
IF NOT itab_zycit036_aux-vlreal LT 0.
APPEND itab_zycit036_aux.
ENDIF.
ENDIF.
ENDLOOP.
DESCRIBE TABLE itab_zycit465 LINES v_line.
* >> Início da exclusão: FORM GRAVAR_CUSTOS
LOOP AT itab_zycit466 .
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVAR_CUSTOS
LOOP AT itab_zycit466 WHERE ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
* << Fim da inclusão
CLEAR v_qtdutil_da.
READ TABLE itab_zycit019 WITH KEY tpdesp = itab_zycit466-tpdesp.
IF sy-subrc EQ 0.
LOOP AT itab_zycit003_saldo
WHERE ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
READ TABLE itab_zycit036_aux WITH KEY
ebeln = itab_zycit003_saldo-ebeln
ebelp = itab_zycit003_saldo-ebelp
nrseq = itab_zycit003_saldo-nrseq.
...
...
FORM f-02_pcd.
CLEAR: v_registro, v_tipo_1.
CLEAR : itab_zycit026, itab_zycit027.
REFRESH: itab_zycit026, itab_zycit027.
v_tipo_1 = 'PCD'.
PERFORM busca_reg USING v_tipo_1
v_registro.
IF v_registro EQ 'X'.
EXIT.
ENDIF.
* >> Início da inclusão: FORM F-02_PCD
LOOP AT itab_zycit461.
MOVE-CORRESPONDING itab_zycit461 TO itab_zycit461_tot.
itab_zycit461_tot-nrseq = itab_zycit461-nrseqda.
COLLECT itab_zycit461_tot.
ENDLOOP.
* << Fim da inclusão
PERFORM trata_prest USING 'PCD'.
CLEAR: v_nrseqori.
LOOP AT it_zycit036.
LOOP AT itab_zycit036_aux WHERE nrseqori EQ it_zycit036-nrseqori
AND nrseq EQ /pws/zycie001-nrseq.
CLEAR: v_codeven, v_qtdutil_da, itab_zycit026, itab_zycit027.
it_zycbe033-mandt = sy-mandt.
it_zycbe033-tcode = text-299.
it_zycbe033-tabela = text-300.
READ TABLE itab_zycit019 WITH KEY
codigo = itab_zycit036_aux-codigo.
READ TABLE itab_zycit459 WITH KEY
nrpres = itab_zycit036_aux-nrseqori.
* >> Início da exclusão: FORM F-02_PCD
READ TABLE itab_zycit461 WITH KEY
* << Fim da exclusão
* >> Início da inclusão: FORM F-02_PCD
READ TABLE itab_zycit461_tot WITH KEY
* << Fim da inclusão
nradto = itab_zycit036_aux-nrseqori
tpdesp = itab_zycit019-tpdesp.
it_zycbe033-bldat = itab_zycit459-dtacerto.
it_zycbe033-budat = sy-datlo.
it_zycbe033-bukrs = /pws/zycie001-bukrs.
it_zycbe033-xblnr = itab_zycit459-refpres.
v_codeven = text-301.
it_zycbe033-cpochv = itab_zycit459-nrseqda.
CLEAR it_ekpo_aux1.
READ TABLE it_ekpo_aux1 WITH KEY ebelp = itab_zycit036_aux-ebelp
...
...
IF itab_zycit003-gsber IS INITIAL.
SELECT SINGLE gsber FROM ekkn
INTO itab_zycit003-gsber
WHERE ebeln EQ itab_zycit036_aux-ebeln
AND ebelp EQ itab_zycit036_aux-ebelp.
ENDIF.
it_zycbe033-c_gsber = itab_zycit003-gsber.
it_zycbe033-d_gsber = itab_zycit003-gsber.
COLLECT it_zycbe033.
MOVE-CORRESPONDING itab_zycit459 TO itab_zycit026.
* >> Início da exclusão: FORM F-02_PCD
MOVE-CORRESPONDING itab_zycit461 TO itab_zycit027.
* << Fim da exclusão
* >> Início da inclusão: FORM F-02_PCD
MOVE-CORRESPONDING itab_zycit461_tot TO itab_zycit027.
* << Fim da inclusão
itab_zycit026-nrseqori = itab_zycit036_aux-nrseqori.
itab_zycit026-nrseq = itab_zycit036_aux-nrseq.
itab_zycit027-nrseq = itab_zycit036_aux-nrseq.
itab_zycit027-vldp = itab_zycit036_aux-vlreal.
LOOP AT itab_zycit003_saldo
WHERE ebeln EQ itab_zycit036_aux-ebeln
AND ebelp EQ itab_zycit036_aux-ebelp.
IF itab_zycit036_aux-dtuserc LE itab_zycit461-dtlanc .
IF itab_zycit036_aux-hruserc LT itab_zycit461-hr_docfat.
v_qtdutil_da = v_qtdutil_da +
...
...
ENDLOOP.
ENDFORM.
FORM f-02_dcd.
CLEAR: v_registro, v_tipo_1.
v_tipo_1 = 'DCD'.
PERFORM busca_reg USING v_tipo_1
v_registro.
IF v_registro EQ 'X'.
EXIT.
ENDIF.
* >> Início da inclusão: FORM F-02_DCD
LOOP AT itab_zycit466.
MOVE-CORRESPONDING itab_zycit466 TO itab_zycit466_tot.
COLLECT itab_zycit466_tot.
ENDLOOP.
* << Fim da inclusão
CLEAR: v_nrseqori.
CLEAR: it_zycbe033, itab_zycbt032, it_zycbe033_aux.
REFRESH: it_zycbe033, itab_zycbt032, it_zycbe033_aux.
LOOP AT itab_zycit036_aux WHERE origem EQ 'DCD'
AND nrseq EQ /pws/zycie001-nrseq.
CLEAR: v_codeven.
READ TABLE itab_zycit019 WITH KEY codigo = itab_zycit036_aux-codigo.
* >> Início da exclusão: FORM F-02_DCD
READ TABLE itab_zycit466 WITH KEY
* << Fim da exclusão
* >> Início da inclusão: FORM F-02_DCD
READ TABLE itab_zycit466_tot WITH KEY
* << Fim da inclusão
tpdesp = itab_zycit019-tpdesp
nradto = itab_zycit036_aux-nrseqori.
READ TABLE itab_zycit465 WITH KEY
nrseq = itab_zycit466-nrseq
nradto = itab_zycit466-nradto.
it_zycbe033-mandt = sy-mandt .
it_zycbe033-tcode = text-299 .
it_zycbe033-tabela = text-306 .
it_zycbe033-bldat = itab_zycit465-dtincl .
it_zycbe033-budat = sy-datlo.
...
...
ENDIF.
READ TABLE itab_zycit003 WITH KEY nrseq = /pws/zycie001-nrseq
ebeln = itab_zycit036_aux-ebeln
ebelp = itab_zycit036_aux-ebelp.
it_zycbe033-c_gsber = itab_zycit003-gsber.
it_zycbe033-d_gsber = itab_zycit003-gsber.
it_zycbe033_aux = it_zycbe033.
it_zycbe033_aux-belnr_f02 = itab_zycit466-belnr_f02.
COLLECT it_zycbe033_aux.
MOVE-CORRESPONDING itab_zycit465 TO it_zycit008.
* >> Início da exclusão: FORM F-02_DCD
MOVE-CORRESPONDING itab_zycit466 TO itab_zycit016.
* << Fim da exclusão
* >> Início da inclusão: FORM F-02_DCD
MOVE-CORRESPONDING itab_zycit466_tot TO itab_zycit016.
* << Fim da inclusão
MOVE itab_zycit036_aux-nrseqori TO it_zycit008-nrseqori.
IF v_nrseqori NE itab_zycit036_aux-nrseqori.
CLEAR: v_nradto, v_nrseqori,v_value.
SELECT MAX( nradto ) FROM /pws/zycit008
INTO v_nradto.
v_value = v_nradto + 1.
v_nrseqori = itab_zycit036_aux-nrseqori.
ENDIF.
it_zycit008-nradto = v_value.
it_zycit008-nrseq = itab_zycit036_aux-nrseq.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001X01
...
DATA: END OF itab_zycit461.
DATA: BEGIN OF itab_zycit466 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit466.
DATA: END OF itab_zycit466.
DATA: itab_zycit036_aux LIKE /pws/zycit036 OCCURS 0 WITH HEADER LINE,
itab_zycit459 LIKE /pws/zycit459 OCCURS 0 WITH HEADER LINE,
itab_zycit465 LIKE /pws/zycit465 OCCURS 0 WITH HEADER LINE,
itab_zycit019 LIKE /pws/zycit019 OCCURS 0 WITH HEADER LINE,
itab_zycit461_aux LIKE itab_zycit461 OCCURS 0 WITH HEADER LINE,
itab_zycit466_aux LIKE itab_zycit466 OCCURS 0 WITH HEADER LINE.
* >> Início da inclusão:
DATA: itab_zycit461_tot LIKE /pws/zycit027 OCCURS 0 WITH HEADER LINE.
DATA: itab_zycit466_tot LIKE /pws/zycit016 OCCURS 0 WITH HEADER LINE.
* << Fim da inclusão
DATA: BEGIN OF it_zycit036 OCCURS 0.
DATA: nrseq LIKE /pws/zycit036-nrseq,
origem LIKE /pws/zycit036-origem,
nrseqori LIKE /pws/zycit036-nrseqori.
DATA: END OF it_zycit036.
DATA: v_vldp LIKE /pws/zycit461-vldp ,
v_netpc_nac LIKE /pws/zycit036-netpr ,
v_netdc_nac LIKE /pws/zycit036-netpr ,
v_vldpd LIKE /pws/zycit466-vldp ,
v_forn(15) TYPE c ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F05
...
INTO /pws/zycit465-nradto
FROM /pws/zycit465
WHERE nrseq EQ v_nrseqda
AND tpgto EQ 'D'.
IF /pws/zycit459-nrpres IS INITIAL AND
/pws/zycit465-nradto IS INITIAL.
MESSAGE i015 WITH text-529.
CLEAR sy-ucomm.
EXIT.
ENDIF.
* >> Início da exclusão: FORM ATUALIZA_VARIAVEIS
SELECT *
INTO TABLE itab_zycit036
FROM /pws/zycit036
FOR ALL ENTRIES IN itab_it
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp
AND origem EQ 'PCD'
AND nrseqori EQ /pws/zycit459-nrpres.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_VARIAVEIS
IF okcode EQ 'PREST'.
* << Fim da inclusão
* >> Início da exclusão: FORM ATUALIZA_VARIAVEIS
IF sy-subrc IS INITIAL.
* << Fim da exclusão
MESSAGE i015 WITH text-529.
CLEAR sy-ucomm.
EXIT.
* >> Início da inclusão: FORM ATUALIZA_VARIAVEIS
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM ATUALIZA_VARIAVEIS
ELSE.
SELECT *
INTO TABLE itab_zycit036
FROM /pws/zycit036
FOR ALL ENTRIES IN itab_it
WHERE ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp
AND origem EQ 'DCD'
AND nrseqori EQ /pws/zycit465-nradto.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_VARIAVEIS
IF okcode EQ 'DEBIT'.
* << Fim da inclusão
* >> Início da exclusão: FORM ATUALIZA_VARIAVEIS
IF sy-subrc IS INITIAL.
MESSAGE i015 WITH text-529.
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_VARIAVEIS
MESSAGE i015 WITH text-534.
* << Fim da inclusão
CLEAR sy-ucomm.
EXIT.
* >> Início da exclusão: FORM ATUALIZA_VARIAVEIS
ENDIF.
* << Fim da exclusão
ENDIF.
ENDIF.
SET PARAMETER ID 'LIF' FIELD v_despach.
SET PARAMETER ID '/PWS/ZYCIP003' FIELD v_despach.
SET PARAMETER ID '/PWS/ZYCIP442' FIELD v_nrseqda.
...
...
LOOP AT itab_lote_aux WHERE qtd_lote_dif > 0.
MOVE itab_lote_aux TO itab_lote.
itab_lote-qtd_lote = itab_lote_aux-qtd_lote_dif.
CLEAR itab_lote-qtd_nac.
itab_lote-ebelp = v_item.
APPEND itab_lote.
MOVE itab_lote TO itab_zycit463.
APPEND itab_zycit463.
ENDLOOP.
PERFORM save_data.
* >> Início da inclusão: FORM CALL_BAPI
PERFORM atualiza_pcd_dcd.
* << Fim da inclusão
MESSAGE i086 WITH itab_it-ebeln.
LEAVE TO SCREEN 0.
ENDIF.
ENDFORM.
FORM limpa_bapi.
CLEAR: bapimepoheader,
bapimepoheaderx,
itab_bapimepoitem,
itab_bapimepoitemx,
itab_bapimeposchedule,
...
...
itab_bapiret2-message_v3.
ELSE.
MESSAGE i013 WITH itab_bapiret2-message+0(50)
itab_bapiret2-message+50(50).
ENDIF.
ENDLOOP.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
* >> Início da exclusão: FORM CALL_BAPI_SALDO
itab_it-qtd_da = itab_it-qtd_da - v_qtd_it.
MODIFY itab_it TRANSPORTING qtd_da WHERE mark = 'X'.
IF itab_it-qtd_da IS INITIAL.
DELETE itab_it WHERE mark = 'X'.
ENDIF.
* << Fim da exclusão
LOOP AT itab_lote.
v_tabix = sy-tabix.
READ TABLE itab_lote_aux WITH KEY
ebeln = itab_lote-ebeln
ebelp = itab_lote-ebelp
lote_forn = itab_lote-lote_forn.
IF sy-subrc = 0.
itab_lote-qtd_lote
= itab_lote_aux-qtd_lote - itab_lote_aux-qtd_lote_dif.
MODIFY itab_lote.
...
...
READ TABLE itab_zycit463 WITH KEY
ebeln = itab_lote-ebeln
ebelp = itab_lote-ebelp
nrseqlote = itab_lote-nrseqlote.
IF sy-subrc = 0.
v_tabix = sy-tabix.
itab_zycit463-qtd_lote = itab_lote-qtd_lote.
MODIFY itab_zycit463 INDEX v_tabix.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM CALL_BAPI_SALDO
PERFORM estorna_pcd.
PERFORM estorna_dcd.
READ TABLE itab_it WITH KEY mark = 'X'.
itab_it-qtd_da = itab_it-qtd_da - v_qtd_it.
MODIFY itab_it TRANSPORTING qtd_da WHERE mark = 'X'.
IF itab_it-qtd_da IS INITIAL.
DELETE itab_it WHERE mark = 'X'.
ENDIF.
* << Fim da inclusão
READ TABLE itab_it WITH KEY ebelp = itab_it-ebelp_ori.
itab_it-qtd_da = itab_it-qtd_da + v_qtd_it.
MODIFY itab_it INDEX sy-tabix.
PERFORM save_data.
MESSAGE i086 WITH itab_it-ebeln.
LEAVE TO SCREEN 0.
ENDIF.
ENDFORM.
FORM atualiza_qtd_po.
IF ( NOT itab_zycit001-regime EQ '04' AND
...
...
* >> Início da inclusão:
FORM atualiza_pcd_dcd.
CLEAR: itab_zycit461, itab_zycit461_aux.
FREE: itab_zycit461, itab_zycit461_aux.
IF NOT itab_it[] IS INITIAL.
SELECT *
INTO TABLE itab_zycit461
FROM /pws/zycit461
FOR ALL ENTRIES IN itab_it
WHERE nrseqda EQ itab_it-nrseqda
AND ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
ENDIF.
IF NOT itab_zycit461[] IS INITIAL.
LOOP AT itab_zycit461.
itab_zycit461_aux = itab_zycit461.
CLEAR v_vldp.
LOOP AT itab_it WHERE nrseqda EQ itab_zycit461-nrseqda
AND ebeln EQ itab_zycit461-ebeln
AND ebelp_ori EQ itab_zycit461-ebelp.
ENDLOOP.
IF sy-subrc IS INITIAL.
CLEAR itab_lote_aux.
READ TABLE itab_lote_aux WITH KEY
nrseqda = itab_zycit461-nrseqda
ebeln = itab_zycit461-ebeln
ebelp = itab_zycit461-ebelp.
IF sy-subrc IS INITIAL.
v_vldp = ( itab_zycit461-vldp / itab_lote_aux-qtd_lote
* v_qtd_it ).
itab_zycit461_aux-ebelp = itab_it-ebelp.
itab_zycit461_aux-vldp = itab_zycit461_aux-vldpiva = v_vldp.
APPEND itab_zycit461_aux.
itab_zycit461_aux-ebelp = itab_zycit461-ebelp.
itab_zycit461_aux-vldp = itab_zycit461_aux-vldpiva =
itab_zycit461-vldp - v_vldp.
ENDIF.
ENDIF.
APPEND itab_zycit461_aux.
ENDLOOP.
SORT itab_zycit461_aux BY nrseqda tpdesp nradto ebeln ebelp.
MODIFY /pws/zycit461 FROM TABLE itab_zycit461_aux.
ENDIF.
CLEAR: itab_zycit466, itab_zycit466_aux.
FREE: itab_zycit466, itab_zycit466_aux.
IF NOT itab_it[] IS INITIAL.
SELECT *
INTO TABLE itab_zycit466
FROM /pws/zycit466
FOR ALL ENTRIES IN itab_it
WHERE nrseq EQ itab_it-nrseqda
AND ebeln EQ itab_it-ebeln
AND ebelp EQ itab_it-ebelp.
ENDIF.
CHECK NOT itab_zycit466[] IS INITIAL.
LOOP AT itab_zycit466.
itab_zycit466_aux = itab_zycit466.
CLEAR v_vldp.
LOOP AT itab_it WHERE nrseqda EQ itab_zycit466-nrseq
AND ebeln EQ itab_zycit466-ebeln
AND ebelp_ori EQ itab_zycit466-ebelp.
ENDLOOP.
IF sy-subrc IS INITIAL.
CLEAR itab_lote_aux.
READ TABLE itab_lote_aux WITH KEY
nrseqda = itab_zycit466-nrseq
ebeln = itab_zycit466-ebeln
ebelp = itab_zycit466-ebelp.
IF sy-subrc IS INITIAL.
v_vldp = ( itab_zycit466-vldp / itab_lote_aux-qtd_lote
* v_qtd_it ).
itab_zycit466_aux-ebelp = itab_it-ebelp.
itab_zycit466_aux-vldp = v_vldp.
APPEND itab_zycit466_aux.
itab_zycit466_aux-ebelp = itab_zycit466-ebelp.
itab_zycit466_aux-vldp = itab_zycit466-vldp - v_vldp.
ENDIF.
ENDIF.
APPEND itab_zycit466_aux.
ENDLOOP.
SORT itab_zycit466_aux BY nrseq tpdesp nradto ebeln ebelp.
MODIFY /pws/zycit466 FROM TABLE itab_zycit466_aux.
ENDFORM.
FORM estorna_pcd.
CLEAR: itab_zycit461, itab_zycit461_aux.
FREE: itab_zycit461, itab_zycit461_aux.
IF NOT itab_zycit443[] IS INITIAL.
SELECT *
INTO TABLE itab_zycit461
FROM /pws/zycit461
FOR ALL ENTRIES IN itab_zycit443
WHERE nrseqda EQ itab_zycit443-nrseqda
AND ebeln EQ itab_zycit443-ebeln.
ENDIF.
CHECK NOT itab_zycit461[] IS INITIAL.
LOOP AT itab_zycit461.
v_index = sy-tabix.
CLEAR itab_it.
READ TABLE itab_it WITH KEY
nrseqda = itab_zycit461-nrseqda
ebeln = itab_zycit461-ebeln
ebelp_ori = itab_zycit461-ebelp
mark = 'X'.
IF sy-subrc IS INITIAL.
READ TABLE itab_zycit461 WITH KEY
nrseqda = itab_it-nrseqda
tpdesp = itab_zycit461-tpdesp
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp
INTO itab_zycit461_aux.
IF sy-subrc IS INITIAL.
IF itab_bapimepoitemx-delete_ind = 'X'.
itab_zycit461-vldp = itab_zycit461-vldp +
itab_zycit461_aux-vldp.
MODIFY itab_zycit461 INDEX v_index.
DELETE itab_zycit461
WHERE nrseqda EQ itab_zycit461_aux-nrseqda
AND tpdesp EQ itab_zycit461_aux-tpdesp
AND ebeln EQ itab_zycit461_aux-ebeln
AND ebelp EQ itab_zycit461_aux-ebelp.
ELSE.
v_vldp = ( itab_zycit461_aux-vldp / itab_it-qtd_da
* v_qtd_it ).
itab_zycit461-vldp = itab_zycit461-vldpiva =
itab_zycit461-vldp + v_vldp.
MODIFY itab_zycit461 INDEX v_index.
itab_zycit461-vldp = itab_zycit461-vldpiva =
itab_zycit461_aux-vldp - v_vldp.
MODIFY itab_zycit461 TRANSPORTING vldp
vldpiva
WHERE nrseqda EQ itab_zycit461_aux-nrseqda
AND tpdesp EQ itab_zycit461_aux-tpdesp
AND ebeln EQ itab_zycit461_aux-ebeln
AND ebelp EQ itab_zycit461_aux-ebelp.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
MODIFY /pws/zycit461 FROM TABLE itab_zycit461.
IF itab_bapimepoitemx-delete_ind = 'X'.
DELETE FROM /pws/zycit461
WHERE nrseqda EQ itab_zycit461_aux-nrseqda
AND ebeln EQ itab_zycit461_aux-ebeln
AND ebelp EQ itab_zycit461_aux-ebelp.
ENDIF.
ENDFORM.
FORM estorna_dcd.
CLEAR: itab_zycit466, itab_zycit466_aux.
FREE: itab_zycit466, itab_zycit466_aux.
IF NOT itab_zycit443[] IS INITIAL.
SELECT *
INTO TABLE itab_zycit466
FROM /pws/zycit466
FOR ALL ENTRIES IN itab_zycit443
WHERE nrseq EQ itab_zycit443-nrseqda
AND ebeln EQ itab_zycit443-ebeln.
ENDIF.
CHECK NOT itab_zycit466[] IS INITIAL.
LOOP AT itab_zycit466.
v_index = sy-tabix.
CLEAR itab_it.
READ TABLE itab_it WITH KEY
nrseqda = itab_zycit466-nrseq
ebeln = itab_zycit466-ebeln
ebelp_ori = itab_zycit466-ebelp
mark = 'X'.
IF sy-subrc IS INITIAL.
READ TABLE itab_zycit466 WITH KEY
nrseq = itab_it-nrseqda
tpdesp = itab_zycit466-tpdesp
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp
INTO itab_zycit466_aux.
IF sy-subrc IS INITIAL.
IF itab_bapimepoitemx-delete_ind = 'X'.
itab_zycit466-vldp = itab_zycit466-vldp +
itab_zycit466_aux-vldp.
MODIFY itab_zycit466 INDEX v_index.
DELETE itab_zycit466
WHERE nrseq EQ itab_zycit466_aux-nrseq
AND tpdesp EQ itab_zycit466_aux-tpdesp
AND ebeln EQ itab_zycit466_aux-ebeln
AND ebelp EQ itab_zycit466_aux-ebelp.
ELSE.
v_vldp = ( itab_zycit466_aux-vldp / itab_it-qtd_da
* v_qtd_it ).
itab_zycit466-vldp = itab_zycit466-vldp + v_vldp.
MODIFY itab_zycit466 INDEX v_index.
itab_zycit466-vldp = itab_zycit466_aux-vldp - v_vldp.
MODIFY itab_zycit466 TRANSPORTING vldp
WHERE nrseq EQ itab_zycit466_aux-nrseq
AND tpdesp EQ itab_zycit466_aux-tpdesp
AND ebeln EQ itab_zycit466_aux-ebeln
AND ebelp EQ itab_zycit466_aux-ebelp.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
MODIFY /pws/zycit466 FROM TABLE itab_zycit466.
IF itab_bapimepoitemx-delete_ind = 'X'.
DELETE FROM /pws/zycit466
WHERE nrseq EQ itab_zycit466_aux-nrseq
AND ebeln EQ itab_zycit466_aux-ebeln
AND ebelp EQ itab_zycit466_aux-ebelp.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070TOP
...
/pws/zycie014,
/pws/zycie006,
/pws/zycit006,
t005t,
t001,
t604f,
lfa1, lfbk,
dd07t,
t615,
/pws/zycit031,
* >> Início da inclusão:
/pws/zycit019,
/pws/zycit020,
* << Fim da inclusão
/pws/zycit104,
/pws/zycet138,
/pws/zycit174,
/pws/zycit257,
/pws/zycbt007,
ekpo, ekko,
tcurx,
t615t,
j_1bbranch,
adrc,
...
...
DATA: END OF itab_zycit466.
DATA: BEGIN OF itab_zyglt100 OCCURS 10.
INCLUDE STRUCTURE /pws/zyglt100.
DATA: END OF itab_zyglt100.
DATA: BEGIN OF itab_itc OCCURS 0,
nrseq LIKE /pws/zycie003-nrseq,
ebeln LIKE /pws/zycie003-ebeln,
ebelp LIKE /pws/zycie003-ebelp,
mark,
END OF itab_itc.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit461 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit461.
DATA: END OF itab_zycit461.
DATA: BEGIN OF itab_zycit461_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycit461.
DATA: END OF itab_zycit461_aux.
DATA: BEGIN OF itab_zycit466_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycit466.
DATA: END OF itab_zycit466_aux.
* << Fim da inclusão
DATA: BEGIN OF it_status OCCURS 0,
fcode LIKE rsmpe-func,
END OF it_status.
DATA: BEGIN OF it_words OCCURS 0,
word(50),
END OF it_words.
DATA: itab_ita LIKE itab_it OCCURS 0 WITH HEADER LINE,
itab_zycit049a LIKE itab_zycit049 OCCURS 0 WITH HEADER LINE,
itab_zycit049b LIKE itab_zycit049 OCCURS 0 WITH HEADER LINE,
itab_zycit049c LIKE itab_zycit049 OCCURS 0 WITH HEADER LINE,
...
...
v_required,
v_qtd_it LIKE /pws/zycit443-qtd_iten,
v_centro LIKE /pws/zycit003-werks,
v_salvo.
DATA:
v_cpochv(80),
v_descricao(50),
v_tot_da LIKE /pws/zycie003-qtd_iten,
v_qtd_nac LIKE /pws/zycit467-qtd_nac,
v_sdo_da LIKE /pws/zycit467-qtd_nac.
* >> Início da inclusão:
DATA:
v_index LIKE sy-tabix,
v_vldp LIKE /pws/zycit461-vldp.
* << Fim da inclusão
DATA: progname TYPE sy-repid,
dynnum TYPE sy-dynnr,
dynpro_values TYPE TABLE OF dynpread,
field_value LIKE LINE OF dynpro_values,
mod_tab TYPE TABLE OF /pws/zycit025.
DATA: BEGIN OF itab_divisao OCCURS 0,
ebeln LIKE ekko-ebeln,
ebelp LIKE ekpo-ebelp,
gsber LIKE ekkn-gsber,
END OF itab_divisao.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI072F01
...
it_zycit466_aux-nrseq = it_zycit466-nrseq.
it_zycit466_aux-nradto = it_zycit466-nradto.
it_zycit466_aux-tpdesp = it_zycit466-tpdesp.
it_zycit466_aux-descr = it_zycit466-descr.
it_zycit466_aux-embarca = it_zycit466-embarca.
it_zycit466_aux-vldp = itab_zycit049-vldp.
it_zycit466_aux-statusp = it_zycit466-statusp.
APPEND it_zycit466_aux.
ENDIF.
ELSE.
* >> Início da exclusão: FORM PREENCHE_TC2
it_zycit466_aux-nrseq = it_zycit466-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_TC2
it_zycit466_aux-nrseq = itab_zycit049-nrseq.
* << Fim da inclusão
it_zycit466_aux-nradto = it_zycit466-nradto.
it_zycit466_aux-tpdesp = itab_zycit049-tpdesp.
it_zycit466_aux-descr = itab_zycit049-descr.
it_zycit466_aux-statusp = ' '.
it_zycit466_aux-embarca = ' '.
it_zycit466_aux-vldp = itab_zycit049-vldp.
APPEND it_zycit466_aux.
ENDIF.
ENDLOOP.
IF /pws/zycie465-dtincl EQ ' ' OR
...
...
IF v_lib NE 'X' AND v_estrat NE 'X'.
MESSAGE i015 WITH text-088.
EXIT.
ENDIF.
LOOP AT it_zycit466_aux WHERE NOT vldp IS initial.
ENDLOOP.
IF sy-subrc NE 0.
MESSAGE e015 WITH text-089.
EXIT.
ENDIF.
* >> Início da inclusão: FORM SALVA_DADOS
PERFORM rateio_despesa_por_item.
* << Fim da inclusão
IF v_salvo NE 'X'.
MOVE: v_codmod TO /pws/zycie465-codmod,
'D' TO /pws/zycie465-tpgto,
'I' TO /pws/zycie465-status.
INSERT INTO /pws/zycit465 VALUES /pws/zycie465.
WHILE sy-subrc NE 0.
PERFORM busca_nradto.
INSERT INTO /pws/zycit465 VALUES /pws/zycie465.
v_existe = 'S'.
ENDWHILE.
...
...
MESSAGE i061 WITH text-019
text-020 /pws/zycie465-nradto.
ENDIF.
ELSE.
MOVE: v_codmod TO /pws/zycie465-codmod,
'D' TO /pws/zycie465-tpgto,
'I' TO /pws/zycie465-status.
MODIFY /pws/zycit465 FROM /pws/zycie465.
ENDIF.
v_salvo = 'X'.
* >> Início da exclusão: FORM SALVA_DADOS
LOOP AT it_zycit466_aux.
READ TABLE it_tab_aux WITH KEY nrseq = it_zycit466_aux-nrseq
nradto = it_zycit466_aux-nradto.
IF NOT it_zycit466_aux-vldp IS INITIAL.
MOVE: it_tab_aux-nrseq TO /pws/zycie466-nrseq,
/pws/zycie465-nradto TO /pws/zycie466-nradto,
it_tab_aux-embarca TO /pws/zycie466-embarca,
it_tab_aux-waers TO /pws/zycie466-waers,
it_zycit466_aux-tpdesp TO /pws/zycie466-tpdesp,
it_zycit466_aux-vldp TO /pws/zycie466-vldp.
IF it_zycit466_aux-statusp EQ ' '.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_DADOS
LOOP AT it_zycit466_itens.
READ TABLE it_tab_aux WITH KEY nrseq = it_zycit466_itens-nrseq
marc = 'X'.
IF NOT it_zycit466_itens-vldp IS INITIAL.
MOVE: it_tab_aux-nrseq TO /pws/zycie466-nrseq,
/pws/zycie465-nradto TO /pws/zycie466-nradto,
it_zycit466_itens-ebeln TO /pws/zycie466-ebeln,
it_zycit466_itens-ebelp TO /pws/zycie466-ebelp,
it_tab_aux-embarca TO /pws/zycie466-embarca,
it_tab_aux-waers TO /pws/zycie466-waers,
it_zycit466_itens-tpdesp TO /pws/zycie466-tpdesp,
it_zycit466_itens-vldp TO /pws/zycie466-vldp.
IF it_zycit466_itens-statusp EQ ' '.
* << Fim da inclusão
MOVE 'I' TO /pws/zycie466-statusp.
ELSE.
* >> Início da exclusão: FORM SALVA_DADOS
MOVE it_zycit466_aux-statusp TO /pws/zycie466-statusp.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_DADOS
MOVE it_zycit466_itens-statusp TO /pws/zycie466-statusp.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM SALVA_DADOS
MOVE: it_zycit466_aux-descr TO /pws/zycie466-descr.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_DADOS
MOVE: it_zycit466_itens-descr TO /pws/zycie466-descr.
* << Fim da inclusão
IF NOT /pws/zycie466-statusp = 'C'.
MODIFY /pws/zycit466 FROM /pws/zycie466.
ENDIF.
ELSEIF NOT it_tab_aux-nrseq IS INITIAL.
DELETE FROM /pws/zycit466 CLIENT SPECIFIED
* >> Início da exclusão: FORM SALVA_DADOS
WHERE nrseq = it_zycit466_aux-nrseq
AND nradto = it_zycit466_aux-nradto
AND tpdesp = it_zycit466_aux-tpdesp.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_DADOS
WHERE nrseq = it_zycit466_itens-nrseq
AND nradto = it_zycit466_itens-nradto
AND tpdesp = it_zycit466_itens-tpdesp
AND ebeln = it_zycit466_itens-ebeln
AND ebelp = it_zycit466_itens-ebelp.
* << Fim da inclusão
ENDIF.
ENDLOOP.
MOVE: v_codmod TO /pws/zycie465-codmod,
'D' TO /pws/zycie465-tpgto,
'I' TO /pws/zycie465-status.
MODIFY /pws/zycit465 FROM /pws/zycie465.
v_status = 0.
IF sy-subrc EQ 0.
MESSAGE s015 WITH text-006.
MESSAGE s017 WITH /pws/zycie465-nradto.
...
...
ENDFORM.
FORM criar_documento.
DATA: v_cont TYPE i.
v_status = '1'.
CLEAR v_salvo.
LOOP AT it_tab_aux WHERE marc = 'X'.
ADD 1 TO v_cont .
ENDLOOP.
IF v_cont > 1.
MESSAGE s015 WITH text-014 text-015.
* >> Início da inclusão: FORM CRIAR_DOCUMENTO
EXIT.
ENDIF.
PERFORM verifica_saldo_da.
IF v_sdo_da IS INITIAL.
MESSAGE i015 WITH text-105.
CLEAR sy-ucomm.
* << Fim da inclusão
EXIT.
ENDIF.
CLEAR v_nradto.
READ TABLE it_tab_aux WITH KEY marc = 'X'.
IF sy-subrc EQ 0 AND NOT it_tab_aux-nrseq IS INITIAL.
IF NOT it_tab_aux-dtincl IS INITIAL AND
NOT it_tab_aux-vlmi IS INITIAL AND
NOT it_tab_aux-dtvencto IS INITIAL.
SELECT MAX( nradto ) FROM /pws/zycit465
INTO v_nradto.
...
...
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
IF sy-subrc <> 0.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM rateio_despesa_por_item.
PERFORM carrega_adicoes.
CLEAR it_zycit466.
REFRESH it_zycit466.
it_zycit466[] = it_zycit466_aux[].
DELETE it_zycit466 WHERE vldp IS initial.
SELECT *
INTO TABLE itab_zycit455
FROM /pws/zycit455
WHERE nrseqda EQ /pws/zycie465-nrseq
AND nrseq NE space.
IF NOT itab_zycit455[] IS INITIAL.
SELECT *
INTO TABLE itab_zycit003
FROM /pws/zycit003
FOR ALL ENTRIES IN itab_zycit455
WHERE nrseq EQ itab_zycit455-nrseq.
ENDIF.
CLEAR: v_qtd_nac,
v_sld_nac,
v_tpeso,
v_sld_peso.
LOOP AT itab_zycit443.
v_index = sy-tabix.
LOOP AT itab_zycit003 WHERE ebeln EQ itab_zycit443-ebeln
AND ebelp EQ itab_zycit443-ebelp.
v_qtd_nac = v_qtd_nac + itab_zycit003-qtd_iten.
v_tpeso = v_tpeso + itab_zycit003-ntgew.
ENDLOOP.
IF sy-subrc IS INITIAL.
v_sld_nac = itab_zycit443-qtd_da - v_qtd_nac.
v_sld_peso = itab_zycit443-ntgew - v_tpeso.
IF v_sld_nac IS INITIAL.
DELETE itab_zycit443 INDEX v_index.
ELSE.
itab_zycit443-qtd_da = v_sld_nac.
itab_zycit443-ntgew = v_sld_peso.
MODIFY itab_zycit443 INDEX v_index.
ENDIF.
ENDIF.
CLEAR: v_qtd_nac,
v_sld_nac,
v_tpeso,
v_sld_peso.
ENDLOOP.
DESCRIBE TABLE itab_zycit443 LINES v_linha.
SELECT * FROM /pws/zycit039
INTO TABLE itab_zycit039
WHERE codmod EQ 'D' AND
land1 EQ t001-land1.
SELECT SINGLE * FROM /pws/zycit062
WHERE regio = adrc-region.
CLEAR: v_tot,
v_tpeso.
LOOP AT itab_zycit443.
v_tot = v_tot +
( itab_zycit443-netpr * itab_zycit443-qtd_da ).
v_tpeso = v_tpeso + itab_zycit443-ntgew.
ENDLOOP.
CLEAR it_zycit466_itens.
REFRESH it_zycit466_itens.
LOOP AT it_zycit466.
CLEAR: v_tot_desp,
v_vldp.
SELECT SINGLE * FROM /pws/zycit019
WHERE tpdesp EQ it_zycit466-tpdesp AND
land1 EQ t001-land1.
READ TABLE it_tab_aux WITH KEY nrseq = it_zycit466-nrseq
marc = 'X'.
IF sy-subrc NE 0.
READ TABLE it_tab_aux WITH KEY nrseq = it_zycit466-nrseq
marc = 'D'.
ENDIF.
LOOP AT itab_zycit443.
v_index = sy-tabix.
CLEAR itab_zycit039.
READ TABLE itab_zycit039 WITH KEY
codigo = /pws/zycit019-codigo.
IF v_index EQ v_linha.
CLEAR it_zycit466_aux.
READ TABLE it_zycit466_aux WITH KEY
nrseq = it_zycit466-nrseq
tpdesp = it_zycit466-tpdesp.
v_vldp = it_zycit466_aux-vldp - v_tot_desp.
ELSE.
IF NOT /pws/zycit000-flag_txsisc IS INITIAL AND
/pws/zycit000-cod_sisc EQ it_zycit466-tpdesp.
CLEAR itab_zycit443_ad.
READ TABLE itab_zycit443_ad WITH KEY
ebeln = itab_zycit443-ebeln
ebelp = itab_zycit443-ebelp.
IF sy-subrc IS INITIAL.
v_vldp = itab_zycit443_ad-vl_sisco.
ENDIF.
ELSE.
IF itab_zycit039-divabs EQ 'X'.
IF NOT v_linha IS INITIAL.
v_vldp = it_zycit466-vldp / v_linha.
ENDIF.
ELSEIF itab_zycit039-peso EQ 'X'.
IF NOT v_tpeso IS INITIAL.
v_vldp = it_zycit466-vldp *
( itab_zycit443-ntgew / v_tpeso ).
ENDIF.
ELSEIF itab_zycit039-proporplan EQ 'X'.
IF NOT v_tot IS INITIAL.
v_vldp = ( ( itab_zycit443-netpr *
itab_zycit443-qtd_iten ) /
v_tot ) *
it_zycit466-vldp.
ENDIF.
ELSE.
CLEAR /pws/zycit020.
SELECT SINGLE * FROM /pws/zycit020 WHERE
regio = adrc-region AND
codigo = /pws/zycit019-codigo AND
baseicms EQ 'X' AND
land1 EQ t001-land1.
IF sy-subrc NE 0.
SELECT SINGLE * FROM /pws/zycit020 WHERE
regio = space AND
codigo = /pws/zycit019-codigo AND
baseicms EQ 'X' AND
land1 EQ t001-land1.
ENDIF.
IF /pws/zycit020-baseicms EQ 'X'.
IF /pws/zycit062-bs_rat_icms EQ 'CIF' .
DATA: v_vfre LIKE /pws/zycie085-vlfre,
v_tfre LIKE /pws/zycie085-vlfre,
v_vseg LIKE /pws/zycie085-vlseg,
v_vfob LIKE /pws/zycie085-vlfob,
v_vtot LIKE /pws/zycie085-vlfob,
v_tseg LIKE /pws/zycie006-vlseg.
CLEAR itab_zycit443_ad.
READ TABLE itab_zycit443_ad WITH KEY
ebeln = itab_zycit443-ebeln
ebelp = itab_zycit443-ebelp.
IF sy-subrc EQ 0.
PERFORM taxa_converte USING /pws/zycie442-waersfob
/pws/zycie442-dttax
t001-land1
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_vfre = itab_zycit443_ad-vlfre / v_taxa.
v_vseg = itab_zycit443_ad-vlseg / v_taxa.
ENDIF.
v_vfob = itab_zycit443_ad-vlfob.
v_tseg = itab_zycit443_ad-vlseg.
IF /pws/zycie442-ukursfre NE /pws/zycie442-ukursfob.
PERFORM taxa_converte USING
/pws/zycie442-waersfre
/pws/zycie442-dttax
t001-land1
CHANGING v_taxa.
v_tfre = /pws/zycie442-vlfre * v_taxa.
PERFORM taxa_converte USING
/pws/zycie442-waersfob
/pws/zycie442-dttax
t001-land1
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_tfre = v_tfre / v_taxa.
ENDIF.
ELSE.
v_tfre = /pws/zycie442-vlfre.
ENDIF.
v_vtot = /pws/zycie442-vlfob + v_tfre + v_tseg.
IF NOT v_vtot IS INITIAL.
v_vldp = itab_zycit443-netpr *
( ( v_vfob + v_vfre + v_vseg ) / v_vtot ) .
ENDIF.
ENDIF.
ELSE.
IF NOT v_tot IS INITIAL.
v_vldp = it_zycit466-vldp *
( ( itab_zycit443-netpr *
itab_zycit443-qtd_da ) / v_tot ).
ENDIF.
ENDIF.
ELSE.
v_vldp = it_zycit466-vldp *
( ( itab_zycit443-netpr *
itab_zycit443-qtd_da ) / v_tot ).
ENDIF.
ENDIF.
ENDIF.
ENDIF.
it_zycit466_itens = it_zycit466.
it_zycit466_itens-ebeln = itab_zycit443-ebeln.
it_zycit466_itens-ebelp = itab_zycit443-ebelp.
it_zycit466_itens-vldp = v_vldp.
APPEND it_zycit466_itens.
CLEAR it_zycit466_itens.
v_tot_desp = v_tot_desp + v_vldp.
ENDLOOP.
ENDLOOP.
ENDFORM.
FORM taxa_converte USING p_waers
p_data
p_land1
CHANGING p_taxa.
CLEAR: p_taxa.
DATA: v_moeda LIKE tcurc-/pws/codmo.
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
waers = p_waers.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit174 INTO /pws/zycit174 WHERE
codconver = v_moeda AND
vigen_inicio <= p_data AND
vigen_fim >= p_data AND
land1 = p_land1.
IF sy-subrc EQ 0.
p_taxa = /pws/zycit174-txconver.
ELSE.
p_taxa = '1'.
ENDIF.
ENDIF.
ENDFORM.
FORM carrega_adicoes.
LOOP AT it_zycit466_aux
WHERE ( tpdesp = '001' OR
tpdesp = '002' OR
tpdesp = '003' OR
tpdesp = /pws/zycit000-cod_sisc OR
tpdesp = /pws/zycit000-cod_pis OR
tpdesp = /pws/zycit000-cod_cofins ) AND
vldp > 0.
ENDLOOP.
IF sy-subrc IS INITIAL.
SELECT *
INTO TABLE itab_zycit443_ad
FROM /pws/zycit443
WHERE nrseqda EQ /pws/zycie465-nrseq.
IF NOT sy-subrc IS INITIAL.
MESSAGE e015 WITH text-083 text-084.
ELSE.
CLEAR: v_tot_ii,
v_tot_ipi,
v_tot_icms,
v_tot_pis,
v_tot_cofins.
LOOP AT itab_zycit443_ad.
v_tot_ii = itab_zycit443_ad-vlii + v_tot_ii.
v_tot_ipi = itab_zycit443_ad-vlipi + v_tot_ipi.
v_tot_icms = itab_zycit443_ad-vlicms + v_tot_icms.
v_tot_pis = itab_zycit443_ad-vlpis + v_tot_pis.
v_tot_cofins = itab_zycit443_ad-vlcofins + v_tot_cofins.
ENDLOOP.
IF NOT itab_zycit443_ad[] IS INITIAL.
SELECT * FROM /pws/zycit451 INTO TABLE itab_zycit451
FOR ALL ENTRIES IN itab_zycit443_ad
WHERE nrseqda = itab_zycit443_ad-nrseqda.
ENDIF.
LOOP AT itab_zycit451.
LOOP AT itab_zycit443_ad WHERE adicao EQ itab_zycit451-adicao.
itab_zycit451-nr_itens = itab_zycit451-nr_itens + 1.
ENDLOOP.
MODIFY itab_zycit451.
ENDLOOP.
READ TABLE it_zycit466_aux WITH KEY
tpdesp = /pws/zycit000-cod_sisc.
IF sy-subrc EQ 0 AND it_zycit466_aux-vldp GT 0.
DESCRIBE TABLE itab_zycit451 LINES v_line.
v_sisco1 = ( it_zycit466_aux-vldp -
/pws/zycit000-txsis_fix ) / v_line.
v_sisco2 = /pws/zycit000-txsis_fix / v_line.
v_sisco3 = v_sisco1 + v_sisco2.
LOOP AT itab_zycit451.
CLEAR: v_lines,
v_sisco_tot.
v_sisco_item = v_sisco3 / itab_zycit451-nr_itens.
LOOP AT itab_zycit443_ad WHERE adicao EQ itab_zycit451-adicao.
v_lines = v_lines + 1.
IF v_lines EQ itab_zycit451-nr_itens.
itab_zycit443_ad-vl_sisco = v_sisco3 - v_sisco_tot.
ELSE.
itab_zycit443_ad-vl_sisco = v_sisco_item.
v_sisco_tot = v_sisco_tot + v_sisco_item.
ENDIF.
MODIFY itab_zycit443_ad.
ENDLOOP.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM verifica_saldo_da.
CLEAR it_tab_aux.
READ TABLE it_tab_aux WITH KEY marc = 'X'.
CLEAR itab_zycit443.
FREE itab_zycit443.
SELECT *
INTO TABLE itab_zycit443
FROM /pws/zycit443
WHERE nrseqda EQ it_tab_aux-nrseq.
CLEAR itab_zycit467_aux.
FREE itab_zycit467_aux.
IF NOT itab_zycit443[] IS INITIAL.
SELECT *
INTO TABLE itab_zycit467_aux
FROM /pws/zycit467
FOR ALL ENTRIES IN itab_zycit443
WHERE ebeln EQ itab_zycit443-ebeln
AND ebelp EQ itab_zycit443-ebelp.
ENDIF.
CLEAR: v_qtd_nac,
v_tot_da,
v_sdo_da.
LOOP AT itab_zycit443.
v_tot_da = v_tot_da + itab_zycit443-qtd_iten.
ENDLOOP.
LOOP AT itab_zycit467_aux.
v_qtd_nac = v_qtd_nac + itab_zycit467_aux-qtd_nac.
ENDLOOP.
v_sdo_da = v_tot_da - v_qtd_nac.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI072TOP
PROGRAM /pws/sapmzyci072 MESSAGE-ID /pws/zycim.
INCLUDE:
/pws/mzyci072oo,
/pws/mzyci072x01.
TABLES:
/pws/zycit019,
/pws/zycit046,
lfa1,
* >> Início da inclusão:
/pws/zycit020,
/pws/zycit062,
/pws/zycit174,
* << Fim da inclusão
/pws/zycit100,
/pws/zyglt340,
/pws/zyglt343,
/pws/zycit246,
/pws/zycit244,
j_1bbranch,
adrc,
t001,
/pws/zycit363,
/pws/zycit417.
...
...
prctr LIKE ekkn-prctr,
werks LIKE /pws/zycit443-werks,
END OF it_relat.
DATA: BEGIN OF itab_zycit116 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit116.
DATA nr_itens TYPE i.
DATA: END OF itab_zycit116.
DATA: BEGIN OF itab_zyglt100 OCCURS 10.
INCLUDE STRUCTURE /pws/zyglt100.
DATA: END OF itab_zyglt100.
* >> Início da inclusão:
DATA: itab_zycit455 LIKE /pws/zycit455 OCCURS 0 WITH HEADER LINE,
itab_zycit003 TYPE /pws/zycit003 OCCURS 0 WITH HEADER LINE,
it_zycit466_itens LIKE it_zycit466_aux OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_zycit443_ad OCCURS 0.
INCLUDE STRUCTURE /pws/zycit443.
DATA vl_sisco LIKE /pws/zycit049-vldp.
DATA: END OF itab_zycit443_ad.
DATA: BEGIN OF itab_zycit451 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit451.
DATA nr_itens TYPE i.
DATA: END OF itab_zycit451.
DATA: BEGIN OF itab_zycit467_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycit467.
DATA: END OF itab_zycit467_aux.
DATA:
v_linha TYPE sy-tabix,
v_line LIKE sy-tabix,
v_lines LIKE sy-tabix,
v_index LIKE sy-tabix,
v_tpeso LIKE /pws/zycit443-ntgew,
v_sld_peso LIKE /pws/zycit443-ntgew,
v_tot LIKE /pws/zycit443-netpr,
v_qtd_nac LIKE /pws/zycit003-qtd_iten,
v_tot_da LIKE /pws/zycit003-qtd_iten,
v_sdo_da LIKE /pws/zycit467-qtd_nac,
v_sld_nac LIKE /pws/zycit003-qtd_iten,
v_taxa LIKE t059z-qsatz,
v_tot_ii LIKE /pws/zycit443-vlii,
v_tot_ipi LIKE /pws/zycit443-vlipi,
v_tot_icms LIKE /pws/zycit443-vlicms,
v_tot_pis LIKE /pws/zycit443-vlpis,
v_tot_cofins LIKE /pws/zycit443-vlcofins,
v_sisco1 LIKE /pws/zycit049-vldp,
v_sisco2 LIKE /pws/zycit049-vldp,
v_sisco3 LIKE /pws/zycit049-vldp,
v_sisco_item LIKE /pws/zycit049-vldp,
v_sisco_tot LIKE /pws/zycit049-vldp.
* << Fim da inclusão
DATA: BEGIN OF wa_descdesp,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1,
END OF wa_descdesp.
DATA: BEGIN OF it_code OCCURS 10,
fcode LIKE rsmpe-func,
END OF it_code.
DATA: ok_code LIKE sy-ucomm,
wa_cols TYPE cxtab_column,
v_campo(20),
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI072X01
...
DATA: waers LIKE /pws/zycit442-waers,
marc.
DATA: END OF it_tab_aux.
DATA: it_zycit466 LIKE /pws/zycit466 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF it_zycit466_aux OCCURS 0.
INCLUDE STRUCTURE it_zycit466.
DATA: mark.
DATA: END OF it_zycit466_aux.
DATA: e_subrc VALUE '0' ,
v_vldp LIKE /pws/zyglt342-valorinc.
* >> Início da inclusão:
DATA:
v_tot_desp LIKE /pws/zycit466-vldp.
* << Fim da inclusão
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI075F01
...
APPEND it_zycit461_aux.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
IF /pws/zycie459-dtacerto IS INITIAL OR
/pws/zycie459-dtacerto EQ ' ' OR
/pws/zycie459-dtacerto EQ '00000000'.
/pws/zycie459-dtacerto = sy-datum .
ENDIF.
* >> Início da inclusão: FORM PREENCHE_TC2
IF /pws/zycie459-nrpres IS INITIAL.
LOOP AT it_zycit461_aux.
v_line = sy-tabix.
CLEAR it_zycit461.
READ TABLE it_zycit461 WITH KEY
tpdesp = it_zycit461_aux-tpdesp.
IF sy-subrc IS INITIAL.
it_zycit461_aux-vldp = it_zycit461-vldp.
it_zycit461_aux-vldpiva = it_zycit461-vldpiva.
MODIFY it_zycit461_aux INDEX v_line.
ENDIF.
ENDLOOP.
ELSE.
CLEAR: v_tot_vldp,
v_tot_vldpiva.
LOOP AT it_zycit461_aux.
v_line = sy-tabix.
CLEAR: v_tot_vldp,
v_tot_vldpiva.
LOOP AT it_zycit461 WHERE tpdesp EQ it_zycit461_aux-tpdesp.
v_tot_vldp = v_tot_vldp + it_zycit461-vldp.
v_tot_vldpiva = v_tot_vldpiva + it_zycit461-vldpiva.
ENDLOOP.
IF sy-subrc IS INITIAL.
it_zycit461_aux-vldp = v_tot_vldp.
it_zycit461_aux-vldpiva = v_tot_vldpiva.
MODIFY it_zycit461_aux INDEX v_line.
CLEAR: v_tot_vldp,
v_tot_vldpiva.
ENDIF.
ENDLOOP.
ENDIF.
* << Fim da inclusão
ENDFORM.
FORM select_tables.
SELECT SINGLE * FROM /pws/zycit459
INTO /pws/zycie459
WHERE nrseqda EQ it_tab_aux-nrseqda
AND nradto EQ it_tab_aux-nradto
AND nrpres EQ it_tab_aux-nrpres.
SELECT SINGLE * FROM j_1bbranch
WHERE bukrs = /pws/zycie459-bukrs
AND branch = /pws/zycie459-j_1bbranch.
...
...
LOOP AT it_zycit461_aux.
MOVE: it_zycit461_aux-tpdesp TO /pws/zycie461-tpdesp,
it_zycit461_aux-descr TO /pws/zycie461-descr.
IF it_zycit461_aux-vldp >= 0.
IF t001-land1 EQ 'AR'.
v_vldp = v_vldp + it_zycit461_aux-vldpiva.
ELSE.
v_vldp = v_vldp + it_zycit461_aux-vldp.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM ATUALIZA_TELA
MODIFY it_zycit461_aux.
* << Fim da exclusão
ENDLOOP.
MOVE: v_vldp TO /pws/zycie459-totdep.
IF t001-land1 NE 'AR'.
IF /pws/zycie459-docfat IS INITIAL.
v_total_dep = /pws/zycie459-totdep.
LOOP AT itab_imposto.
IF itab_imposto-vl_imposto > 0.
v_total_dep = v_total_dep - itab_imposto-vl_imposto.
ELSE.
v_total_dep = v_total_dep + itab_imposto-vl_imposto.
...
...
CLEAR t_contas.
REFRESH t_contas.
PERFORM determina_contas.
SORT t_contas.
DELETE ADJACENT DUPLICATES FROM t_contas.
IF /pws/zycie459-forndes EQ 'X'.
CLEAR /pws/zycie459-zlsch.
ENDIF.
ENDFORM.
FORM salva_dados.
* >> Início da exclusão: FORM SALVA_DADOS
DATA: v_nrpres LIKE /pws/zycit459-nrpres,
v_save.
* << Fim da exclusão
CLEAR: v_neg.
SORT it_zycit461_aux BY nrseqda nradto tpdesp.
LOOP AT it_zycit461_aux WHERE vldp < 0.
MESSAGE e015 WITH text-054 text-081.
CLEAR ok_code.
ENDLOOP.
IF /pws/zycie459-totdep IS INITIAL AND /pws/zycie459-vlmi IS INITIAL.
MESSAGE e015 WITH text-054.
CLEAR ok_code.
ENDIF.
...
...
MESSAGE i015 WITH text-033 text-035.
CLEAR ok_code.
v_status = 1.
EXIT.
ENDIF.
PERFORM salva_estrategia.
IF v_estrat = 'X' AND v_lib NE 'X'.
MESSAGE i015 WITH text-088.
EXIT.
ENDIF.
* >> Início da exclusão: FORM SALVA_DADOS
LOOP AT it_zycit461_aux.
READ TABLE it_tab_aux WITH KEY nrseqda = it_zycit461_aux-nrseqda
marc = 'X'.
IF sy-subrc NE 0.
READ TABLE it_tab_aux WITH KEY nrseqda = it_zycit461_aux-nrseqda
marc = 'D'.
ENDIF.
CLEAR: itab_zycit459, v_totdep, v_vldf, v_nrpres, v_value.
IF /pws/zycie459-nrpres IS INITIAL.
SELECT MAX( nrpres ) FROM /pws/zycit459 INTO v_nrpres.
v_value = v_nrpres + 1.
ELSE.
v_value = /pws/zycie459-nrpres.
ENDIF.
SELECT SINGLE * FROM /pws/zycit461
WHERE nrseqda = it_zycit461_aux-nrseqda
AND nradto = v_value
AND tpdesp = it_zycit461_aux-tpdesp.
IF NOT it_zycit461_aux-vldp IS INITIAL
OR sy-subrc EQ 0
AND it_zycit461_aux-vldp >= 0.
* << Fim da exclusão
* >> Início da inclusão: FORM SALVA_DADOS
PERFORM rateio_despesa_por_item.
* << Fim da inclusão
* >> Início da exclusão: FORM SALVA_DADOS
MOVE: it_tab_aux-nrseqda TO /pws/zycie461-nrseqda,
v_value TO /pws/zycie461-nradto,
it_tab_aux-embarca TO /pws/zycie461-embarca,
it_tab_aux-waers TO /pws/zycie461-waers,
it_zycit461_aux-tpdesp TO /pws/zycie461-tpdesp,
it_zycit461_aux-vldp TO /pws/zycie461-vldp,
it_zycit461_aux-iva TO /pws/zycie461-iva,
it_zycit461_aux-vldpiva TO /pws/zycie461-vldpiva,
it_zycit461_aux-descr TO /pws/zycie461-descr.
MODIFY /pws/zycit461 FROM /pws/zycie461.
ELSE.
UPDATE /pws/zycit461 SET embarca = it_tab_aux-embarca
waers = it_tab_aux-waers
vldp = it_zycit461_aux-vldp
descr = it_zycit461_aux-descr
iva = it_zycit461_aux-iva
vldpiva = it_zycit461_aux-vldpiva
WHERE nrseqda = it_tab_aux-nrseqda AND
tpdesp = it_zycit461_aux-tpdesp AND
nradto = it_tab_aux-nradto.
ENDIF.
IF it_zycit461_aux-vldp < 0.
MOVE: 1 TO v_neg.
ENDIF.
ENDLOOP.
* << Fim da exclusão
CLEAR: itab_zycit459, v_totdep, v_vldf, v_value, v_nrpres .
MOVE: /pws/zycie459-vlmi TO v_vlmi_tot, /pws/zycie459-totdep TO
v_totdep_tot.
LOOP AT itab_zycit459 WHERE nrseqda = /pws/zycie459-nrseqda
AND ( marc = 'X' OR marc = 'D' ).
IF /pws/zycie459-nrpres IS INITIAL.
SELECT MAX( nrpres ) FROM /pws/zycit459 INTO v_nrpres.
v_value = v_nrpres + 1.
ELSE.
v_value = /pws/zycie459-nrpres.
...
...
IF v_param_rateio IS INITIAL.
PERFORM visualiza_rateio.
ELSE.
MESSAGE i013 WITH text-090.
ENDIF.
DESCRIBE TABLE it_item LINES v_lines.
LOOP AT it_zycit461_aux.
LOOP AT it_item.
CLEAR v_vldp_rat.
READ TABLE it_zycit443 WITH KEY
* >> Início da exclusão: FORM VERIFICA_ITENS
nrseq = it_item-nrseq
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ITENS
nrseqda = it_item-nrseq
* << Fim da inclusão
ebeln = it_item-ebeln
ebelp = it_item-ebelp.
CLEAR it_lanca.
v_index = sy-tabix.
READ TABLE it_item_aux2 WITH KEY nrseq = /pws/zycie459-nrseqda.
IF sy-subrc EQ 0.
it_lanca-nrseq = it_item-nrseq .
it_lanca-gsber = it_item-gsber .
it_lanca-matuse = it_item-matuse.
it_lanca-vlitem = it_item-vlitem.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI075F02
...
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_belnr
IMPORTING
output = v_belnr2
EXCEPTIONS
OTHERS = 1.
ENDIF.
ENDFORM.
FORM cria_prestacao.
* >> Início da inclusão: FORM CRIA_PRESTACAO
PERFORM verifica_saldo_da.
IF v_sdo_da IS INITIAL.
MESSAGE i015 WITH text-111.
CLEAR ok_code.
EXIT.
ENDIF.
* << Fim da inclusão
CLEAR ok_code.
DATA: v_embant LIKE itab_zycit459-nrseqda,
v_privez VALUE 'S'.
LOOP AT itab_zycit459 WHERE marc = 'X'.
IF NOT itab_zycit459-nrpres IS INITIAL.
MESSAGE s061 WITH text-049 itab_zycit459-nradto text-050.
LEAVE TO SCREEN 200.
ENDIF.
IF v_privez = 'S'.
v_embant = itab_zycit459-nrseqda.
...
...
FROM lfa1
WHERE lifnr = /pws/zycie459-despach.
IF sy-tcode EQ '/PWS/ZYCI071_L' OR sy-tcode EQ '/PWS/ZYCI071_A'.
SELECT SINGLE name1
INTO v_desc_forn
FROM lfa1
WHERE lifnr = /pws/zycie459-despach.
ENDIF.
ENDFORM.
FORM verifica_qtd_da.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
DATA: v_qtd_nac TYPE /pws/zycit003-qtd_iten,
v_qtd_desp TYPE /pws/zycit003-qtd_iten.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_QTD_DA
DATA: v_qtd_nac TYPE /pws/zycit461-netpr_da,
v_qtd_desp TYPE /pws/zycit461-netpr_da.
* << Fim da inclusão
CLEAR : itab_zycit443[],
itab_zycit455[],
itab_zycit003[],
itab_zycit036[],
v_qtd_da.
REFRESH : itab_zycit443[],
itab_zycit455[],
itab_zycit003[],
itab_zycit036[].
SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443
WHERE nrseqda = /pws/zycie459-nrseqda.
SELECT * FROM /pws/zycit455 INTO TABLE itab_zycit455
WHERE nrseqda = /pws/zycie459-nrseqda
AND nrseq NE space.
IF NOT itab_zycit455[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit455
WHERE nrseq EQ itab_zycit455-nrseq.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_QTD_DA
LOOP AT itab_zycit443.
READ TABLE it_zycit461 WITH KEY
nrseqda = itab_zycit443-nrseqda
ebeln = itab_zycit443-ebeln
ebelp = itab_zycit443-ebelp.
IF NOT sy-subrc IS INITIAL.
it_zycit461-ebeln = itab_zycit443-ebeln.
it_zycit461-ebelp = itab_zycit443-ebelp.
APPEND it_zycit461.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
LOOP AT itab_zycit443.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_QTD_DA
ENDLOOP.
LOOP AT it_zycit461 .
v_index = sy-tabix.
CLEAR: v_qtd_nac,
v_qtd_da.
LOOP AT itab_zycit443 WHERE ebeln EQ it_zycit461-ebeln
AND ebelp EQ it_zycit461-ebelp.
* << Fim da inclusão
v_qtd_da = v_qtd_da + itab_zycit443-qtd_da.
ENDLOOP.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
LOOP AT itab_zycit003.
READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_QTD_DA
LOOP AT itab_zycit003 WHERE ebeln EQ it_zycit461-ebeln
AND ebelp EQ it_zycit461-ebelp.
* << Fim da inclusão
v_qtd_nac = v_qtd_nac + itab_zycit003-qtd_iten .
* >> Início da exclusão: FORM VERIFICA_QTD_DA
ENDIF.
* << Fim da exclusão
ENDLOOP.
IF NOT v_qtd_da IS INITIAL.
IF v_qtd_da GT v_qtd_nac.
v_qtd_desp = v_qtd_nac / ( v_qtd_da - v_qtd_nac ).
ELSE.
clear v_qtd_desp.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
LOOP AT it_zycit461 .
* << Fim da exclusão
IF NOT v_qtd_desp IS INITIAL.
it_zycit461-netpr_da = it_zycit461-vldp * v_qtd_desp .
ELSE.
IF NOT v_qtd_da IS INITIAL.
it_zycit461-netpr_da = it_zycit461-vldp / v_qtd_da .
ENDIF.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
MODIFY it_zycit461.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_QTD_DA
MODIFY it_zycit461 INDEX v_index.
* << Fim da inclusão
ENDLOOP.
MODIFY /pws/zycit461 FROM TABLE it_zycit461.
ENDFORM.
* >> Início da inclusão:
FORM rateio_despesa_por_item.
PERFORM verifica_itens.
READ TABLE it_zycit461_aux INDEX 1.
CLEAR itab_zycit443.
FREE itab_zycit443.
SELECT *
INTO TABLE itab_zycit443
FROM /pws/zycit443
WHERE nrseqda EQ it_zycit461_aux-nrseqda.
CLEAR it_zycit461.
REFRESH it_zycit461.
it_zycit461[] = it_zycit461_aux[].
DELETE it_zycit461 WHERE vldp IS initial.
SELECT *
INTO TABLE itab_zycit455
FROM /pws/zycit455
WHERE nrseqda EQ /pws/zycie459-nrseqda
AND nrseq NE space.
IF NOT itab_zycit455[] IS INITIAL.
SELECT *
INTO TABLE itab_zycit003
FROM /pws/zycit003
FOR ALL ENTRIES IN itab_zycit455
WHERE nrseq EQ itab_zycit455-nrseq.
ENDIF.
CLEAR: v_qtd_nac,
v_sld_nac,
v_tpeso,
v_sld_peso.
LOOP AT itab_zycit443.
v_index = sy-tabix.
LOOP AT itab_zycit003 WHERE ebeln EQ itab_zycit443-ebeln
AND ebelp EQ itab_zycit443-ebelp.
v_qtd_nac = v_qtd_nac + itab_zycit003-qtd_iten.
v_tpeso = v_tpeso + itab_zycit003-ntgew.
ENDLOOP.
IF sy-subrc IS INITIAL.
v_sld_nac = itab_zycit443-qtd_da - v_qtd_nac.
v_sld_peso = itab_zycit443-ntgew - v_tpeso.
IF v_sld_nac IS INITIAL.
DELETE itab_zycit443 INDEX v_index.
ELSE.
itab_zycit443-qtd_da = v_sld_nac.
itab_zycit443-ntgew = v_sld_peso.
MODIFY itab_zycit443 INDEX v_index.
ENDIF.
ENDIF.
CLEAR: v_qtd_nac,
v_sld_nac,
v_tpeso,
v_sld_peso.
ENDLOOP.
DESCRIBE TABLE itab_zycit443 LINES v_linha.
SELECT * FROM /pws/zycit039
INTO TABLE itab_zycit039
WHERE codmod EQ 'D' AND
land1 EQ t001-land1.
SELECT SINGLE * FROM /pws/zycit062
WHERE regio = adrc-region.
CLEAR: v_tot,
v_tpeso.
LOOP AT itab_zycit443.
v_tot = v_tot +
( itab_zycit443-netpr * itab_zycit443-qtd_da ).
v_tpeso = v_tpeso + itab_zycit443-ntgew.
ENDLOOP.
LOOP AT it_zycit461.
CLEAR: v_tot_desp,
v_vldp.
SELECT SINGLE land1 FROM t001 INTO t001-land1
WHERE bukrs EQ /pws/zycbt007-bukrs.
SELECT SINGLE * FROM /pws/zycit019
WHERE tpdesp EQ it_zycit461-tpdesp AND
land1 EQ t001-land1.
READ TABLE it_tab_aux WITH KEY nrseqda = it_zycit461-nrseqda
marc = 'X'.
IF sy-subrc NE 0.
READ TABLE it_tab_aux WITH KEY nrseqda = it_zycit461-nrseqda
marc = 'D'.
ENDIF.
CLEAR: itab_zycit459, v_totdep, v_vldf, v_nrpres, v_value.
IF /pws/zycie459-nrpres IS INITIAL.
SELECT MAX( nrpres ) FROM /pws/zycit459 INTO v_nrpres.
v_value = v_nrpres + 1.
ELSE.
v_value = /pws/zycie459-nrpres.
ENDIF.
LOOP AT itab_zycit443.
v_index = sy-tabix.
CLEAR itab_zycit039.
READ TABLE itab_zycit039 WITH KEY
codigo = /pws/zycit019-codigo.
IF v_index EQ v_linha.
CLEAR it_zycit461_aux.
READ TABLE it_zycit461_aux WITH KEY
nrseqda = it_zycit461-nrseqda
tpdesp = it_zycit461-tpdesp.
v_vldp = it_zycit461_aux-vldp - v_tot_desp.
ELSE.
IF NOT /pws/zycit000-flag_txsisc IS INITIAL AND
/pws/zycit000-cod_sisc EQ it_zycit461-tpdesp.
CLEAR itab_zycit443_ad.
READ TABLE itab_zycit443_ad WITH KEY
ebeln = itab_zycit443-ebeln
ebelp = itab_zycit443-ebelp.
IF sy-subrc IS INITIAL.
v_vldp = itab_zycit443_ad-vl_sisco.
ENDIF.
ELSE.
IF itab_zycit039-divabs EQ 'X'.
IF NOT v_linha IS INITIAL.
v_vldp = it_zycit461-vldp / v_linha.
ENDIF.
ELSEIF itab_zycit039-peso EQ 'X'.
IF NOT v_tpeso IS INITIAL.
v_vldp = it_zycit461-vldp *
( itab_zycit443-ntgew / v_tpeso ).
ENDIF.
ELSEIF itab_zycit039-proporplan EQ 'X'.
IF NOT v_tot IS INITIAL.
v_vldp = ( ( itab_zycit443-netpr *
itab_zycit443-qtd_da ) /
v_tot ) *
it_zycit461-vldp.
ENDIF.
ELSE.
CLEAR /pws/zycit020.
SELECT SINGLE * FROM /pws/zycit020 WHERE
regio = adrc-region AND
codigo = /pws/zycit019-codigo AND
baseicms EQ 'X' AND
land1 EQ t001-land1.
IF sy-subrc NE 0.
SELECT SINGLE * FROM /pws/zycit020 WHERE
regio = space AND
codigo = /pws/zycit019-codigo AND
baseicms EQ 'X' AND
land1 EQ t001-land1.
ENDIF.
IF /pws/zycit020-baseicms EQ 'X'.
IF /pws/zycit062-bs_rat_icms EQ 'CIF' .
DATA: v_vfre LIKE /pws/zycie085-vlfre,
v_tfre LIKE /pws/zycie085-vlfre,
v_vseg LIKE /pws/zycie085-vlseg,
v_vfob LIKE /pws/zycie085-vlfob,
v_vtot LIKE /pws/zycie085-vlfob,
v_tseg LIKE /pws/zycie006-vlseg.
CLEAR itab_zycit443_ad.
READ TABLE itab_zycit443_ad WITH KEY
ebeln = itab_zycit443-ebeln
ebelp = itab_zycit443-ebelp.
IF sy-subrc EQ 0.
PERFORM taxa_converte USING /pws/zycie442-waersfob
/pws/zycie442-dttax
t001-land1
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_vfre = itab_zycit443_ad-vlfre / v_taxa.
v_vseg = itab_zycit443_ad-vlseg / v_taxa.
ENDIF.
v_vfob = itab_zycit443_ad-vlfob.
v_tseg = itab_zycit443_ad-vlseg.
IF /pws/zycie442-ukursfre NE /pws/zycie442-ukursfob.
PERFORM taxa_converte USING
/pws/zycie442-waersfre
/pws/zycie442-dttax
t001-land1
CHANGING v_taxa.
v_tfre = /pws/zycie442-vlfre * v_taxa.
PERFORM taxa_converte USING
/pws/zycie442-waersfob
/pws/zycie442-dttax
t001-land1
CHANGING v_taxa.
IF NOT v_taxa IS INITIAL.
v_tfre = v_tfre / v_taxa.
ENDIF.
ELSE.
v_tfre = /pws/zycie442-vlfre.
ENDIF.
v_vtot = /pws/zycie442-vlfob + v_tfre + v_tseg.
IF NOT v_vtot IS INITIAL.
v_vldp = itab_zycit443-netpr *
( ( v_vfob + v_vfre + v_vseg ) / v_vtot ) .
ENDIF.
ENDIF.
ELSE.
IF NOT v_tot IS INITIAL.
v_vldp = it_zycit461-vldp *
( ( itab_zycit443-netpr *
itab_zycit443-qtd_da ) / v_tot ).
ENDIF.
ENDIF.
ELSE.
v_vldp = it_zycit461-vldp *
( ( itab_zycit443-netpr *
itab_zycit443-qtd_da ) / v_tot ).
ENDIF.
ENDIF.
ENDIF.
ENDIF.
MOVE:
it_tab_aux-nrseqda TO /pws/zycie461-nrseqda,
v_value TO /pws/zycie461-nradto,
itab_zycit443-ebeln TO /pws/zycie461-ebeln,
itab_zycit443-ebelp TO /pws/zycie461-ebelp,
it_tab_aux-embarca TO /pws/zycie461-embarca,
it_tab_aux-waers TO /pws/zycie461-waers,
it_zycit461-tpdesp TO /pws/zycie461-tpdesp,
it_zycit461-descr TO /pws/zycie461-descr,
v_vldp TO /pws/zycie461-vldp,
it_zycit461-iva TO /pws/zycie461-iva,
v_vldp TO /pws/zycie461-vldpiva.
MODIFY /pws/zycit461 FROM /pws/zycie461.
v_tot_desp = v_tot_desp + v_vldp.
ENDLOOP.
ENDLOOP.
ENDFORM.
FORM taxa_converte USING p_waers
p_data
p_land1
CHANGING p_taxa.
CLEAR: p_taxa.
DATA: v_moeda LIKE tcurc-/pws/codmo.
SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE
waers = p_waers.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM /pws/zycit174 INTO /pws/zycit174 WHERE
codconver = v_moeda AND
vigen_inicio <= p_data AND
vigen_fim >= p_data AND
land1 = p_land1.
IF sy-subrc EQ 0.
p_taxa = /pws/zycit174-txconver.
ELSE.
p_taxa = '1'.
ENDIF.
ENDIF.
ENDFORM.
FORM verifica_saldo_da.
CLEAR itab_zycit459.
READ TABLE itab_zycit459 WITH KEY marc = 'X'.
CLEAR itab_zycit443.
FREE itab_zycit443.
SELECT *
INTO TABLE itab_zycit443
FROM /pws/zycit443
WHERE nrseqda EQ itab_zycit459-nrseqda.
CLEAR itab_zycit467_aux.
FREE itab_zycit467_aux.
IF NOT itab_zycit443[] IS INITIAL.
SELECT *
INTO TABLE itab_zycit467_aux
FROM /pws/zycit467
FOR ALL ENTRIES IN itab_zycit443
WHERE ebeln EQ itab_zycit443-ebeln
AND ebelp EQ itab_zycit443-ebelp.
ENDIF.
CLEAR: v_qtd_nac,
v_tot_da,
v_sdo_da.
LOOP AT itab_zycit443.
v_tot_da = v_tot_da + itab_zycit443-qtd_iten.
ENDLOOP.
LOOP AT itab_zycit467_aux.
v_qtd_nac = v_qtd_nac + itab_zycit467_aux-qtd_nac.
ENDLOOP.
v_sdo_da = v_tot_da - v_qtd_nac.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI075TOP
...
bsik,
t059z,
t059p,
t059minmax,
t001,
t030,
t035,
icons,
/pws/zycbt039,
/pws/zycit000,
* >> Início da inclusão:
/pws/zycit020,
/pws/zycit062,
/pws/zycit174,
* << Fim da inclusão
j_1bbranch,
adrc,
/pws/zycit212,
/pws/zycit224,
/pws/zycit270,
/pws/zycit363,
rm06b,
t16fe,
/pws/zyglt340,
/pws/zycbt011.
...
...
DATA: END OF itab_atrib.
DATA: it_bdc LIKE bdcdata OCCURS 0 WITH HEADER LINE,
it_msg TYPE msg_struc OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF itab_zycit263 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit263.
DATA: END OF itab_zycit263.
DATA: wa_zycit363 LIKE /pws/zycit363.
DATA: BEGIN OF itab_doc OCCURS 0,
belnr LIKE /pws/zycie459-docfat,
END OF itab_doc.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit467_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycit467.
DATA: END OF itab_zycit467_aux.
* << Fim da inclusão
DATA: wa_zyglt340_aux LIKE /pws/zyglt340.
DATA:
wa_cols TYPE cxtab_column,
v_campo(20),
v_campo1(50),
v_valor(20),
v_codmod(1),
v_descricao(50),
v_value(10) TYPE n,
v_status(1),
...
...
v_flagps(1),
v_flagcs(1),
v_flagcf(1),
v_teste(1),
v_ano LIKE bkpf-gjahr,
v_import(18),
v_cgc_imp LIKE j_1bwfield-cgc_number,
v_desc_imp LIKE j_1bbranch-name ,
v_cnpj_imp(18),
v_tot_vldp LIKE /pws/zycit036-vlreal,
* >> Início da inclusão:
v_tot_vldpiva LIKE /pws/zycit036-vlreal,
v_nrpres LIKE /pws/zycit459-nrpres,
v_save,
v_linha TYPE sy-tabix,
v_index LIKE sy-tabix,
v_tpeso LIKE /pws/zycit443-ntgew,
v_sld_peso LIKE /pws/zycit443-ntgew,
v_tot LIKE /pws/zycit443-netpr,
v_qtd_nac LIKE /pws/zycit003-qtd_iten,
v_tot_da LIKE /pws/zycit003-qtd_iten,
v_sdo_da LIKE /pws/zycit467-qtd_nac,
v_sld_nac LIKE /pws/zycit003-qtd_iten,
* << Fim da inclusão
v_subrc ,
vsubrc type sy-subrc,
v_sort(30),
v_plan LIKE /pws/zycit443-netpr,
v_sort2(30),
v_nivel_tsr_desc LIKE t036t-ktext,
v_catir(2),
v_catin(2),
v_catip(2),
v_catcs(2),
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI075X01
...
v_estrat,
v_totdep like /pws/zyglt342-valorinc,
v_lib,
v_frgzu like /pws/zycIT459-frgzu,
v_select(5),
v_tcode like sy-tcode.
data: begin of it_code occurs 10,
fcode like rsmpe-func,
end of it_code.
Data: v_vldp like /pws/zycIT461-vldp.
* >> Início da inclusão:
DATA:
v_tot_desp LIKE /pws/zycit461-vldp.
* << Fim da inclusão
* >> Início da exclusão:
data: v_qtd_da type /pws/zycit443-qtd_da.
* << Fim da exclusão
* >> Início da inclusão:
DATA: v_qtd_da TYPE /pws/zycit461-netpr_da.
* << Fim da inclusão
data: itab_zycit443 type /pws/zycit443 occurs 0 with header line,
itab_zycit455 type /pws/zycit455 occurs 0 with header line,
itab_zycit003 type /pws/zycit003 occurs 0 with header line.
data: end of common part a.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI076F01
...
it_tbcontrol-agrup = it_zycit046-lanctoa.
ELSEIF NOT it_zycit466-banco IS INITIAL AND
it_zycit466-lanctoa IS INITIAL.
it_tbcontrol-banco = it_zycit466-banco.
it_tbcontrol-agrup = it_zycit466-lanctoa.
ELSEIF NOT it_zycit466-banco IS INITIAL AND
NOT it_zycit466-lanctoa IS INITIAL.
it_tbcontrol-banco = it_zycit466-banco.
it_tbcontrol-agrup = it_zycit466-lanctoa.
ENDIF.
* >> Início da exclusão: FORM EXIBE_DADOS
APPEND it_tbcontrol.
* << Fim da exclusão
* >> Início da inclusão: FORM EXIBE_DADOS
COLLECT it_tbcontrol.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM.
FORM aprova_adiantamento.
CLEAR: v_visualiza.
SELECT SINGLE land1
FROM t001
INTO t001-land1
WHERE bukrs EQ /pws/zycie465-bukrs.
...
...
ENDFORM.
FORM calcula_despesa.
DESCRIBE TABLE it_despesa LINES v_lines.
IF v_lines NE n_tabix.
it_despesa-vltot = it_despesa-porcent * it_contabil-vldp.
ELSE.
it_despesa-vltot = it_despesa-porcent * it_contabil-vldp.
ENDIF.
ENDFORM.
FORM preenche_partida_multipla.
* >> Início da inclusão: FORM PREENCHE_PARTIDA_MULTIPLA
IF it_relat_aux-agrup = 'X'.
LOOP AT it_tbcontrol WHERE mark EQ 'X'.
v_vltot = v_vltot + it_tbcontrol-vldp.
ENDLOOP.
ENDIF.
* << Fim da inclusão
LOOP AT it_relat_aux WHERE banco = it_cabec-banco
AND agrup = it_cabec-agrup
AND tpdesp = it_cabec-tpdesp
AND dtdeb = it_cabec-dtdeb.
it_zycbe035-mandt = sy-mandt.
it_zycbe035-tcode = text-008.
it_zycbe035-tabela = text-009.
it_zycbe035-cpaux = v_cont.
CONCATENATE /pws/zycie465-nrseq /pws/zycie465-nradto v_cont
it_relat_aux-tpdesp
INTO v_campo.
it_zycbe035-cpochv = v_campo.
it_zycbe035-bschl = text-014.
it_zycbe035-d_newko = it_relat_aux-credito.
* >> Início da exclusão: FORM PREENCHE_PARTIDA_MULTIPLA
it_zycbe035-wrbtr = it_relat_aux-vltot.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_PARTIDA_MULTIPLA
CLEAR it_tbcontrol.
IF it_relat_aux-agrup IS INITIAL.
READ TABLE it_tbcontrol WITH KEY
nrseq = it_relat_aux-nrseq
tpdesp = it_cabec-tpdesp
dtdeb = it_relat_aux-dtdeb
banco = it_relat_aux-banco.
it_zycbe035-wrbtr = it_tbcontrol-vldp.
ELSE.
it_zycbe035-wrbtr = v_vltot.
ENDIF.
* << Fim da inclusão
READ TABLE it_relat WITH KEY nrseq = it_relat_aux-nrseq.
PERFORM verify_null_field USING it_relat-dtdeb
'VALUT'
text-020.
it_zycbe035-d_valut = it_relat_aux-dtdeb.
READ TABLE it_zycit443 WITH KEY nrseqda = it_relat-nrseq.
IF sy-subrc EQ 0.
it_zycbe035-d_gsber = it_zycit443-gsber.
IF /pws/zycit000-clucro_ia = 'X'.
READ TABLE it_ekpo WITH KEY ebeln = it_zycit443-ebeln
...
...
CLEAR it_zycbe035.
it_zycbe035-mandt = sy-mandt.
it_zycbe035-tcode = text-008.
it_zycbe035-tabela = text-009.
it_zycbe035-cpaux = v_cont.
CONCATENATE /pws/zycie465-nrseq /pws/zycie465-nradto v_cont
it_relat_aux-tpdesp INTO v_campo.
it_zycbe035-cpochv = v_campo.
it_zycbe035-bschl = text-015.
it_zycbe035-d_newko = it_relat-saknr1.
* >> Início da inclusão: FORM PREENCHE_PARTIDA_MULTIPLA
IF it_relat_aux-agrup IS INITIAL.
* << Fim da inclusão
it_zycbe035-wrbtr = it_relat-vltot.
* >> Início da inclusão: FORM PREENCHE_PARTIDA_MULTIPLA
ELSE.
it_zycbe035-wrbtr = v_vltot.
ENDIF.
* << Fim da inclusão
it_zycbe035-d_gsber = it_relat-gsber.
IF /pws/zycit000-clucro_ia = 'X'.
READ TABLE it_ekpo WITH KEY ebeln = it_zycit443-ebeln
ebelp = it_zycit443-ebelp.
...
...
ebelp = it_zycit443-ebelp.
PERFORM verifica_centro_l.
CLEAR it_zycbe035-c_prctr.
it_zycbe035-d_prctr = it_relat-prctr.
ENDIF.
MOVE v_cont TO it_relat-contador.
MODIFY it_relat TRANSPORTING contador.
IF t001-land1 EQ 'BR'.
it_zycbe035-brnch = /pws/zycie465-j_1bbranch.
ENDIF.
* >> Início da exclusão: FORM PREENCHE_PARTIDA_MULTIPLA
COLLECT it_zycbe035.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_PARTIDA_MULTIPLA
APPEND it_zycbe035.
* << Fim da inclusão
ENDLOOP.
ENDIF.
* >> Início da inclusão: FORM PREENCHE_PARTIDA_MULTIPLA
SORT it_zycbe035 BY mandt tcode tabela cpochv bschl.
DELETE ADJACENT DUPLICATES FROM it_zycbe035
COMPARING bschl.
* << Fim da inclusão
ENDFORM.
FORM message_import.
DATA: v_tabix LIKE sy-tabix,
...
...
v_atrib = it_zycbt012-zuonr.
COLLECT it_conta_aux.
ENDLOOP.
ENDFORM.
FORM grava_dados.
DATA:
v_total LIKE /pws/zycit465-vlmi.
UPDATE /pws/zycit466 SET lanctoa = it_tbcontrol-agrup
banco = it_tbcontrol-banco
dtvencto = it_tbcontrol-dtdeb
* >> Início da exclusão: FORM GRAVA_DADOS
vldp = it_tbcontrol-vldp
* << Fim da exclusão
WHERE nrseq = it_tbcontrol-nrseq
AND nradto = it_tbcontrol-nradto
AND tpdesp = it_tbcontrol-tpdesp.
LOOP AT it_tbcontrol.
v_total = v_total + it_tbcontrol-vldp.
ENDLOOP.
UPDATE /pws/zycit465 SET vlmi = v_total
WHERE nrseq = it_tbcontrol-nrseq
AND nradto = it_tbcontrol-nradto.
ENDFORM.
...
...
it_zycit270.
ENDFORM.
FORM verifica_itens_embarque.
DATA: v_desp_acum LIKE /pws/zycit036-vlreal,
v_desp_dif LIKE /pws/zycit036-vlreal,
v_programa LIKE /pws/zycit036-origem VALUE 'DCD'.
DATA: v_ant LIKE /pws/zycit466-tpdesp,
v_vldp LIKE /pws/zycit466-vldp.
SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycie465-bukrs.
SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.
* >> Início da inclusão: FORM VERIFICA_ITENS_EMBARQUE
CLEAR v_gsber.
LOOP AT it_zycit443 WHERE NOT gsber IS initial.
ENDLOOP.
IF sy-subrc IS INITIAL.
v_gsber = it_zycit443-gsber.
ENDIF.
* << Fim da inclusão
FREE it_item.
LOOP AT it_zycit443 WHERE nrseqda = /pws/zycie465-nrseq.
READ TABLE it_ekpo WITH KEY ebeln = it_zycit443-ebeln
ebelp = it_zycit443-ebelp.
it_item-nrseq = it_zycit443-nrseqda.
it_item-ebeln = it_zycit443-ebeln.
it_item-ebelp = it_zycit443-ebelp.
it_item-netpr = it_zycit443-netpr.
it_item-qtditem = it_zycit443-qtd_iten.
* >> Início da inclusão: FORM VERIFICA_ITENS_EMBARQUE
IF NOT it_zycit443-gsber IS INITIAL.
* << Fim da inclusão
it_item-gsber = it_zycit443-gsber.
* >> Início da inclusão: FORM VERIFICA_ITENS_EMBARQUE
ELSE.
it_item-gsber = v_gsber.
ENDIF.
* << Fim da inclusão
it_item-matuse = it_ekpo-j_1bmatuse.
it_item-werks = it_zycit443-werks.
it_item-vlitem = it_item-netpr * it_item-qtditem.
READ TABLE itab_ekkn WITH KEY ebeln = it_zycit443-ebeln
...
...
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
FORM preenche_transacoes.
DATA:
v_first(1) TYPE c,
v_desp_1 LIKE /pws/zycit019-tpdesp,
v_descr LIKE /pws/zycbe033-xblnr.
DATA: it_cabec_aux2 LIKE it_cabec OCCURS 0 WITH HEADER LINE.
* >> Início da inclusão: FORM PREENCHE_TRANSACOES
SORT it_relat_aux BY nrseq
credito
tpdesp
banco
dtdeb.
DELETE ADJACENT DUPLICATES FROM it_relat_aux
COMPARING nrseq
credito
tpdesp
banco
dtdeb.
* << Fim da inclusão
CLEAR: it_relat_aux, it_relat, v_cont.
LOOP AT it_relat_aux.
MOVE: it_relat_aux-nrseq TO it_cabec-nrseq,
it_relat_aux-banco TO it_cabec-banco,
it_relat_aux-agrup TO it_cabec-agrup,
it_relat_aux-dtdeb TO it_cabec-dtdeb,
it_relat_aux-tpdesp TO it_cabec-tpdesp.
APPEND it_cabec.
ENDLOOP.
it_cabec_aux2[] = it_cabec[].
...
...
i_zexit = p_exit
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
ENDFORM.
FORM verifica_qtd_da.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
DATA: v_qtd_nac TYPE /pws/zycit003-qtd_iten,
v_qtd_desp TYPE /pws/zycit003-qtd_iten.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_QTD_DA
DATA: v_qtd_nac TYPE /pws/zycit466-netpr_da,
v_qtd_desp TYPE /pws/zycit466-netpr_da.
* << Fim da inclusão
CLEAR : itab_zycit443[],
itab_zycit455[],
itab_zycit003[],
itab_zycit036[],
v_qtd_da.
REFRESH : itab_zycit443[],
itab_zycit455[],
itab_zycit003[],
itab_zycit036[].
SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443
WHERE nrseqda = /pws/zycie465-nrseq.
SELECT * FROM /pws/zycit455 INTO TABLE itab_zycit455
WHERE nrseqda = /pws/zycie465-nrseq.
IF NOT itab_zycit455[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003
FOR ALL ENTRIES IN itab_zycit455
WHERE nrseq EQ itab_zycit455-nrseq.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_QTD_DA
LOOP AT itab_zycit443.
READ TABLE it_zycit466 WITH KEY
nrseq = itab_zycit443-nrseqda
ebeln = itab_zycit443-ebeln
ebelp = itab_zycit443-ebelp.
IF NOT sy-subrc IS INITIAL.
it_zycit466-ebeln = itab_zycit443-ebeln.
it_zycit466-ebelp = itab_zycit443-ebelp.
APPEND it_zycit466.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM VERIFICA_QTD_DA
ENDLOOP.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_QTD_DA
LOOP AT itab_zycit443.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_QTD_DA
LOOP AT it_zycit466 .
v_lines = sy-tabix.
CLEAR: v_qtd_nac,
v_qtd_da.
LOOP AT itab_zycit443 WHERE ebeln EQ it_zycit466-ebeln
AND ebelp EQ it_zycit466-ebelp.
* << Fim da inclusão
v_qtd_da = v_qtd_da + itab_zycit443-qtd_da.
ENDLOOP.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
LOOP AT itab_zycit003.
READ TABLE itab_zycit036 WITH KEY nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_QTD_DA
LOOP AT itab_zycit003 WHERE ebeln EQ it_zycit466-ebeln
AND ebelp EQ it_zycit466-ebelp.
* << Fim da inclusão
v_qtd_nac = v_qtd_nac + itab_zycit003-qtd_iten .
* >> Início da exclusão: FORM VERIFICA_QTD_DA
ENDIF.
* << Fim da exclusão
ENDLOOP.
IF NOT v_qtd_da IS INITIAL.
* >> Início da inclusão: FORM VERIFICA_QTD_DA
IF v_qtd_da GT v_qtd_nac.
* << Fim da inclusão
v_qtd_desp = v_qtd_nac / ( v_qtd_da - v_qtd_nac ).
* >> Início da inclusão: FORM VERIFICA_QTD_DA
ELSE.
CLEAR v_qtd_desp.
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
LOOP AT it_zycit466 .
* << Fim da exclusão
IF NOT it_zycit466-belnr_f02 IS INITIAL .
IF NOT v_qtd_desp IS INITIAL.
it_zycit466-netpr_da = it_zycit466-vldp * v_qtd_desp.
ELSE.
IF NOT v_qtd_da IS INITIAL.
it_zycit466-netpr_da = it_zycit466-vldp / v_qtd_da.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_QTD_DA
MODIFY it_zycit466.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_QTD_DA
MODIFY it_zycit466 INDEX v_lines.
* << Fim da inclusão
ENDIF.
ENDLOOP.
MODIFY /pws/zycit466 FROM TABLE it_zycit466.
ENDFORM.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI076TOP
PROGRAM /pws/sapmzyci076 MESSAGE-ID /pws/zycim.
* >> Início da inclusão:
DATA v_index.
* << Fim da inclusão
INCLUDE : /pws/mzyci076oo,
/pws/mzyci076x01.
DATA: gv_subscreen_0050 TYPE sy-dynnr VALUE '0051',
gv_subscreen_0100_1 TYPE sy-dynnr,
gv_subscreen_0300_2 TYPE sy-dynnr.
CONSTANTS: BEGIN OF gc_subscreen,
prog TYPE sy-dynnr VALUE '0300',
help TYPE sy-dynnr VALUE '0053',
END OF gc_subscreen.
DATA: gv_html_help TYPE REF TO cl_gui_html_viewer.
...
...
v_tot_cofins LIKE /pws/zycit443-vlcofins ,
vl_imp TYPE p DECIMALS 4,
v_total TYPE p DECIMALS 2,
v_line LIKE sy-tabix ,
v_sort(30),
v_sort2(30),
v_resposta TYPE c,
v_erro TYPE c,
v_visualiza TYPE c,
v_banco LIKE /pws/zycit466-banco,
* >> Início da inclusão:
v_gsber LIKE /pws/zycit443-gsber,
* << Fim da inclusão
wa_cols TYPE cxtab_column,
v_lancto_desp,
v_matuse LIKE /pws/zycbe035-matuse,
v_tot_vldp LIKE /pws/zycit036-vlreal,
v_valor_real LIKE /pws/zycit036-vlreal,
v_tot LIKE /pws/zycie443-netpr,
v_tot_real LIKE /pws/zycit443-vlreal,
v_land1 LIKE t001-land1.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI076X01
...
DATA: v_sgtxt LIKE bseg-sgtxt,
v_ktosl LIKE /pws/zyglt321-ktosl,
v_zuonr LIKE bseg-zuonr,
v_xblnr LIKE bkpf-xblnr,
v_bktxt LIKE bkpf-bktxt,
v_codeven LIKE /pws/zyglt321-codeven,
e_subrc VALUE '0'.
DATA: v_lib TYPE c,
v_totdep LIKE /pws/zyglt342-valorinc,
v_frgzu LIKE /pws/zycie008-frgzu.
* >> Início da exclusão:
data: v_qtd_da type /pws/zycit443-qtd_da.
* << Fim da exclusão
* >> Início da inclusão:
data: v_qtd_da type /pws/zycit466-netpr_da.
* << Fim da inclusão
DATA : itab_zycit455 TYPE /pws/zycit455 OCCURS 0 WITH HEADER LINE,
itab_zycit003 TYPE /pws/zycit003 OCCURS 0 WITH HEADER LINE.
DATA: END OF COMMON PART a.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI070
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 534
Texto: (45 caracteres)
"Não permitido solicitar DC - DA nacionalizada"
Comprimento máximo: 45
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI072
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 105
Texto: (45 caracteres)
"Não permitido solicitar DC - DA nacionalizada"
Comprimento máximo: 45
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI075
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 111
Texto: (45 caracteres)
"Não permitido solicitar PC - DA nacionalizada"
Comprimento máximo: 45