Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 29/05/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:27:15
Descrição da Nota: INTERFACE PW.CE X PW.RECOF - CARGA DE EMBARQUE DE NACIONALIZAÇÃO.
Sintoma
Contém muitos ajustes, então entrará no agrupamento.
Solução
Contém muitos ajustes, então entrará no agrupamento.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 01450 Data: 29/05/2006 Hora: 10:43:44
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 01450
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00023
Agrupamento : 00115
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01268 - 00001 - 6.0 - 00023 - DESENVOLVIMENTO ENTREPOSTO ADUANEIRO
01383 - 00002 - 6.0 - 00023 - AJUSTES NA DA
----------------------------------------------------------------------------------------------------
INTERFACE PW.CE X PW.RECOF - CARGA DE EMBARQUE DE NACIONALIZAÇÃO.
----------------------------------------------------------------------------------------------------
Palavras Chave:
RECOF X PWCE - CARGA - EMBARQUE - NACIONALIZAÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI001 0003
DYNP /PWS/SAPMZYCI001 0111
PROG /PWS/MZYCI001F03
REPS /PWS/MZYCI001F01
REPS /PWS/MZYCI001F02
REPS /PWS/MZYCI001F03
REPS /PWS/MZYCI001I01
REPS /PWS/MZYCI001O01
REPS /PWS/MZYCI001TOP
REPS /PWS/MZYCI001X01
REPS /PWS/MZYCI016F01
REPS /PWS/SAPMZYCI001
REPT /PWS/SAPMZYCI001
TABD /PWS/ZYCIE003
TABD /PWS/ZYCIT003
TABD /PWS/ZYCIT443
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI001 0003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI001 0111
----------------------------------------------------------------------------------------------------
Modificações efetuadas em PROG /PWS/MZYCI001F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F01
FORM find_nrseqc.
DATA:
v_nrseqc LIKE /pws/zycit001-nrseq,
v_count(7) TYPE n,
v_ano(4).
* >> Início da exclusão: FORM FIND_NRSEQC
CONCATENATE '%' 'I' sy-datum+2(2) INTO v_ano.
* << Fim da exclusão
* >> Início da inclusão: FORM FIND_NRSEQC
CONCATENATE '%' 'I' sy-datlo+2(2) INTO v_ano.
* << Fim da inclusão
SELECT MAX( nrseq ) INTO (v_nrseqc) FROM /pws/zycit001
WHERE nrseq LIKE v_ano.
v_count = v_nrseqc+0(7) + 1.
* >> Início da exclusão: FORM FIND_NRSEQC
CONCATENATE v_count+0(7) 'I' sy-datum+2(2) INTO /pws/zycie001-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM FIND_NRSEQC
CONCATENATE v_count+0(7) 'I' sy-datlo+2(2) INTO /pws/zycie001-nrseq.
* << Fim da inclusão
ENDFORM.
FORM carrega_zycbe003.
READ TABLE it_ekpo_aux WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF NOT it_ekpo_aux IS INITIAL.
...
...
ENDLOOP.
ENDIF.
SELECT SINGLE * FROM /pws/zycit001 INTO /pws/zycit001 WHERE
nrseq = /pws/zycie001-nrseq.
IF sy-subrc NE 0.
* >> Início da exclusão: FORM GRAVA_TABELAS
/pws/zycie001-dtuserc = sy-datum.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
/pws/zycie001-dtuserc = sy-datlo.
* << Fim da inclusão
/pws/zycie001-usernamec = sy-uname.
/pws/zycie001-status_e = 'A'.
ELSE.
IF v_tcode EQ '/PWS/ZYCI001_A' .
* >> Início da exclusão: FORM GRAVA_TABELAS
/pws/zycie001-dtusera = sy-datum.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
/pws/zycie001-dtusera = sy-datlo.
* << Fim da inclusão
/pws/zycie001-usernamea = sy-uname.
ENDIF.
ENDIF.
IF sy-tcode EQ '/PWS/ZYCI001_C' AND v_salvo NE 'X'.
/pws/zycie001-status_e = 'A'.
...
...
IF /pws/zycie001-status NE wa_zycit001-status.
CLEAR it_zycit255. REFRESH it_zycit255.
MOVE: sy-mandt TO it_zycit255-mandt,
/pws/zycie001-nrseq TO it_zycit255-nrseq,
/pws/zycie001-status TO it_zycit255-status,
* >> Início da exclusão: FORM GRAVA_TABELAS
sy-datum TO it_zycit255-data,
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
sy-datlo TO it_zycit255-data,
* << Fim da inclusão
sy-uzeit TO it_zycit255-hora,
sy-uname TO it_zycit255-usuario.
APPEND it_zycit255.
INSERT INTO /pws/zycit255 VALUES it_zycit255.
ENDIF.
...
...
MODIFY itab_zycit125_aux TRANSPORTING nrseq
WHERE nrseq = v_nrseq_ant.
IF ( v_tcode EQ '/PWS/ZYCI001_C' ) AND
( /pws/zycie001-dtuserc IS INITIAL ) AND
( /pws/zycie001-usernamec IS INITIAL ).
* >> Início da exclusão: FORM BUSCA_SEQUENCIAL
MOVE: sy-datum TO /pws/zycie001-dtuserc ,
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_SEQUENCIAL
MOVE: sy-datlo TO /pws/zycie001-dtuserc ,
* << Fim da inclusão
sy-uname TO /pws/zycie001-usernamec.
ENDIF.
ENDFORM.
FORM verifica_itens.
DATA:
...
...
CHANGING v_nrseq_emp.
DATA: v_ano_emp LIKE /pws/zycie001-nrseq,
v_count(6) TYPE n,
v_tam TYPE i,
v_tam_2 TYPE i.
* >> Início da inclusão: FORM FIND_NRSEQ_EMP
CONCATENATE p_range '%' 'I' sy-datlo+2(2) INTO v_ano_emp.
* << Fim da inclusão
* >> Início da exclusão: FORM FIND_NRSEQ_EMP
CONCATENATE p_range '%' 'I' sy-datum+2(2) INTO v_ano_emp.
* << Fim da exclusão
SELECT MAX( nrseq ) INTO (v_nrseq_emp)
FROM /pws/zycit001
WHERE nrseq LIKE v_ano_emp.
v_tam = strlen( p_range ).
v_tam_2 = ( 7 - v_tam ).
v_count(v_tam_2) = v_nrseq_emp+v_tam(v_tam_2) + 1.
* >> Início da exclusão: FORM FIND_NRSEQ_EMP
CONCATENATE p_range v_count(v_tam_2) 'I' sy-datum+2(2)
* << Fim da exclusão
* >> Início da inclusão: FORM FIND_NRSEQ_EMP
CONCATENATE p_range v_count(v_tam_2) 'I' sy-datlo+2(2)
* << Fim da inclusão
INTO v_nrseq_emp.
ENDFORM.
FORM vinculacao_li.
DATA: v_qtdumest LIKE /pws/zycit003-qtdeumest.
PERFORM grava_tabelas.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F02
...
EXPORTING
i_montante = 1
i_demoeda = p_waers_real
i_paramoeda = /pws/zycbt007-waersa
i_ctmoeda = 'M'
* >> Início da exclusão: FORM BUSCA_TAXA_DIA
i_dtbase = sy-datum
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_TAXA_DIA
i_dtbase = sy-datlo
* << Fim da inclusão
IMPORTING
e_txc = p_taxa
EXCEPTIONS
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
...
...
temp_tabix LIKE sy-tabix .
DATA:BEGIN OF it_temp_03 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit003.
DATA:END OF it_temp_03.
v_nrseq_ant = /pws/zycie001-nrseq.
* >> Início da exclusão: FORM BUSCA_SEQUENCIAL_COPIA
CONCATENATE '%' 'I' sy-datum+2(2) INTO v_ano.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_SEQUENCIAL_COPIA
CONCATENATE '%' 'I' sy-datlo+2(2) INTO v_ano.
* << Fim da inclusão
SELECT MAX( nrseq ) INTO (v_nrseq) FROM /pws/zycit001
WHERE nrseq LIKE v_ano.
v_count = v_nrseq+0(7) + 1.
/pws/zycie001-nrseq = v_nrseq.
* >> Início da exclusão: FORM BUSCA_SEQUENCIAL_COPIA
CONCATENATE v_count 'I' sy-datum+2(2) INTO /pws/zycie001-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_SEQUENCIAL_COPIA
CONCATENATE v_count 'I' sy-datlo+2(2) INTO /pws/zycie001-nrseq.
* << Fim da inclusão
itab_zycit125_aux-nrseq = /pws/zycie001-nrseq.
MODIFY itab_zycit125_aux TRANSPORTING nrseq
WHERE nrseq = v_nrseq_ant.
itab_zycit125-nrseq = /pws/zycie001-nrseq.
MODIFY itab_zycit125 TRANSPORTING nrseq
...
...
ENDIF.
ENDLOOP.
MOVE itab_zycit003[] TO itab_zycit003_aux[] .
MOVE itab_zycit003[] TO itab_zycit003_aux2[].
MESSAGE s015 WITH text-180.
* >> Início da exclusão: FORM BUSCA_SEQUENCIAL_COPIA
MOVE: sy-datum TO /pws/zycie001-dtuserc ,
* << Fim da exclusão
* >> Início da inclusão: FORM BUSCA_SEQUENCIAL_COPIA
MOVE: sy-datlo TO /pws/zycie001-dtuserc ,
* << Fim da inclusão
sy-uname TO /pws/zycie001-usernamec,
space TO /pws/zycie001-dtusera,
space TO /pws/zycie001-usernamea.
v_status_s = 1.
ENDFORM.
...
...
INTO TABLE itab_li
FOR ALL ENTRIES IN itab_zycit003
WHERE /pws/zycit079~ebeln EQ itab_zycit003-ebeln AND
/pws/zycit079~ebelp EQ itab_zycit003-ebelp AND
/pws/zycit079~nrseq EQ space AND
* >> Início da exclusão: FORM VERIFICA_LI
/pws/zycit078~dtvencto >= sy-datum AND
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_LI
/pws/zycit078~dtvencto >= sy-datlo AND
* << Fim da inclusão
/pws/zycit078~status EQ 'VAL'.
ENDIF.
IF NOT itab_li[] IS INITIAL.
LOOP AT itab_li.
SELECT SINGLE * FROM /pws/zycit079
...
...
ENDIF.
ENDFORM.
FORM selecao_legislacao.
IF itab_zycit354[] IS INITIAL.
DATA: v_data(10) TYPE c,
* >> Início da exclusão: FORM SELECAO_LEGISLACAO
v_datum(10) TYPE c,
* << Fim da exclusão
* >> Início da inclusão: FORM SELECAO_LEGISLACAO
v_datlo(10) TYPE c,
* << Fim da inclusão
v_grava TYPE c.
CLEAR : dd07t.
* >> Início da exclusão: FORM SELECAO_LEGISLACAO
CONCATENATE sy-datum+6(2) sy-datum+4(2) sy-datum(4) INTO v_datum.
* << Fim da exclusão
* >> Início da inclusão: FORM SELECAO_LEGISLACAO
CONCATENATE sy-datlo+6(2) sy-datlo+4(2) sy-datlo(4) INTO v_datum.
* << Fim da inclusão
IF NOT itab_zycit003[] IS INITIAL.
SELECT steuc /pws/obrigli FROM t604f
INTO TABLE itab_t604f
FOR ALL ENTRIES IN itab_zycit003
WHERE land1 EQ t001-land1
...
...
v_exit = 'S'.
EXIT.
ENDIF.
v_criar = 'S'.
CLEAR: /pws/zycie356.
* >> Início da exclusão: FORM DET_DADOS_LEGAIS
CONCATENATE '%' 'I' sy-datum+2(2) INTO v_ano.
* << Fim da exclusão
* >> Início da inclusão: FORM DET_DADOS_LEGAIS
CONCATENATE '%' 'I' sy-datlo+2(2) INTO v_ano.
* << Fim da inclusão
SELECT MAX( nrseqint )
INTO (v_nrseqc) FROM /pws/zycit356
WHERE nrseqint LIKE v_ano.
v_count = v_nrseqc+0(7) + 1.
* >> Início da exclusão: FORM DET_DADOS_LEGAIS
CONCATENATE v_count+0(7) 'I' sy-datum+2(2)
* << Fim da exclusão
* >> Início da inclusão: FORM DET_DADOS_LEGAIS
CONCATENATE v_count+0(7) 'I' sy-datlo+2(2)
* << Fim da inclusão
INTO /pws/zycie356-nrseqint.
itab_zycit356-nrseqint = /pws/zycie356-nrseqint.
MOVE: /pws/zycie003-nrseq TO /pws/zycie356-nrseq ,
/pws/zycie003-ebeln TO /pws/zycie356-ebeln ,
/pws/zycie003-ebelp TO /pws/zycie356-ebelp ,
/pws/zycie003-waers TO /pws/zycie356-waers .
* >> Início da exclusão: FORM DET_DADOS_LEGAIS
/pws/zycie356-dtuserc = sy-datum.
* << Fim da exclusão
* >> Início da inclusão: FORM DET_DADOS_LEGAIS
/pws/zycie356-dtuserc = sy-datlo.
* << Fim da inclusão
/pws/zycie356-usernamec = sy-uname.
ENDIF.
ENDFORM.
FORM observ_dados_legais.
CLEAR: itab_tline4.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F03
...
INTO TABLE itab_fabric
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
ENDIF.
* >> Início da inclusão: FORM CARREGA_FABRIC
ENDFORM.
* << Fim da inclusão
* >> Início da exclusão: FORM CARREGA_FABRIC
ENDFORM.
* << Fim da exclusão
FORM call_da.
EXPORT /pws/zycie001-nrseq TO MEMORY ID rimc7.
LOOP AT itab_zycit003.
v_qtd_iten = itab_zycit003-qtd_iten.
IF itab_zycit003-invoiced NE v_qtd_iten AND
...
...
MODIFY tc_ped-cols FROM wa_cols.
ENDLOOP.
ENDIF.
ENDFORM.
FORM selecionar_da.
* >> Início da inclusão: FORM SELECIONAR_DA
clear itab_zycit467.
refresh itab_zycit467.
* << Fim da inclusão
IF /pws/zycie001-regime NE '14'.
SELECT /pws/zycit442~nrseqda /pws/zycit442~nrdi /pws/zycit442~bukrs
/pws/zycit442~dtdesemb /pws/zycit443~ebeln
/pws/zycit443~ebelp /pws/zycit443~matnr /pws/zycit443~qtd_iten
/pws/zycit443~qtd_iten
...
...
ENDLOOP.
ENDIF.
ELSE.
SELECT /pws/zycit442~nrseqda /pws/zycit442~nrdi /pws/zycit442~bukrs
/pws/zycit442~dtdesemb /pws/zycit460~lifnr /pws/zycit443~ebeln
* >> Início da exclusão: FORM SELECIONAR_DA
/pws/zycit443~ebelp /pws/zycit443~matnr /pws/zycit463~lote_forn
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_DA
/pws/zycit443~ebelp /pws/zycit443~matnr
/pws/zycit463~lote_forn
* << Fim da inclusão
/pws/zycit463~numfatura /pws/zycit463~qtd_lote
/pws/zycit463~qtd_nac
FROM ( /pws/zycit442 INNER JOIN /pws/zycit460 ON
/pws/zycit442~nrseqda = /pws/zycit460~nrseqda
INNER JOIN /pws/zycit443 ON
...
...
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
DESCRIBE TABLE itab_da LINES v_line.
* >> Início da inclusão: FORM SELECIONAR_DA
LOOP AT itab_da.
IF NOT itab_da-lote IS INITIAL.
MOVE : itab_da-nrseqda TO itab_zycit467-nrseqda ,
itab_da-lote TO itab_zycit467-nrseqlote,
/pws/zycie001-nrseq TO itab_zycit467-nrseq ,
itab_da-qtd_nac TO itab_zycit467-qtd_nac .
APPEND itab_zycit467.
ENDIF.
ENDLOOP.
v_caller = 'SELECIONAR_DA'.
* << Fim da inclusão
CALL SCREEN '0003'.
ELSE.
MESSAGE s015 WITH text-259.
ENDIF.
ENDFORM.
...
...
LOOP AT itab_zycit125 WHERE mark = 'X'.
DELETE itab_zycit125 INDEX sy-tabix.
CLEAR itab_zycit125.
ENDLOOP.
WHEN 'FC_DA'.
* >> Início da inclusão: FORM TRATA_DELP
CLEAR : itab_zycit036_del, itab_zycit455_del.
REFRESH: itab_zycit036_del, itab_zycit455_del.
* << Fim da inclusão
LOOP AT itab_zycit003 WHERE mark = 'X'.
IF itab_zycit003-nrseqli IS INITIAL AND
itab_zycit003-nrseqlsi IS INITIAL.
CLEAR v_tabix.
v_tabix = sy-tabix.
...
...
ENDIF.
MOVE:itab_zycit003-ebeln TO itab_zycit003_del-ebeln,
itab_zycit003-ebelp TO itab_zycit003_del-ebelp,
itab_zycit003-qtd_iten TO itab_zycit003_del-qtd_iten.
APPEND itab_zycit003_del.
* >> Início da inclusão: FORM TRATA_DELP
IF /pws/zycie001-regime EQ '14'.
MOVE:itab_zycit003-ebeln TO itab_zycit036_del-ebeln,
itab_zycit003-ebelp TO itab_zycit036_del-ebelp,
itab_zycit003-nrseq TO itab_zycit036_del-nrseq.
APPEND itab_zycit036_del.
MOVE:itab_zycit003-ebeln TO itab_zycit455_del-ebeln,
itab_zycit003-ebelp TO itab_zycit455_del-ebelp,
space TO itab_zycit455_del-nrseq,
itab_zycit003-nrseqda TO itab_zycit455_del-nrseqda.
APPEND itab_zycit455_del.
ENDIF.
* << Fim da inclusão
DELETE itab_zycit003 INDEX v_tabix.
CLEAR itab_zycit003.
ELSE.
MESSAGE w015 WITH text-190.
EXIT.
...
...
ENDIF.
ENDFORM.
FORM verifica_itens_da.
DATA: v_ebelp LIKE konv-kposn,
itab_zycit100_per LIKE /pws/zycit100 OCCURS 0 WITH HEADER LINE.
* >> Início da exclusão: FORM VERIFICA_ITENS_DA
CLEAR /pws/zycie001-netpr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ITENS_DA
CLEAR : /pws/zycie001-netpr , v_netpr.
* << Fim da inclusão
IF ( sy-tcode = '/PWS/ZYCI001_E' OR
sy-tcode = '/PWS/ZYCI001_A' ) AND
( okcode = 'P-' OR okcode = 'P--' OR
okcode = 'P+' OR okcode = 'P++' ).
ELSEIF okcode EQ 'SELE_DA' OR okcode EQ 'ENTE' OR okcode EQ 'SAVE' OR
...
...
ebeln = itab_zycit003-ebeln AND
ebelp = itab_zycit003-ebelp AND
eliminado = space.
FREE itab_itens_aux.
CLEAR itab_itens_aux.
* >> Início da inclusão: FORM VERIFICA_ITENS_DA
IF NOT itab_zycit003[] IS INITIAL AND /pws/zycit442 IS INITIAL.
READ TABLE itab_zycit003 INDEX 1.
SELECT SINGLE * FROM /pws/zycit442
WHERE nrseqda EQ itab_zycit003-nrseqda.
ELSE.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit455
WHERE nrseq EQ /pws/zycie001-nrseq.
SELECT SINGLE * FROM /pws/zycit442
WHERE nrseqda EQ /pws/zycit455-nrseqda.
* >> Início da inclusão: FORM VERIFICA_ITENS_DA
ENDIF.
* << Fim da inclusão
SELECT * FROM /pws/zycit443
INTO TABLE itab_zycit443_aux
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
* >> Início da inclusão: FORM VERIFICA_ITENS_DA
PERFORM calcula_saldo_da.
* << Fim da inclusão
DELETE itab_zycit443_aux WHERE nrseqda NE /pws/zycit455-nrseqda.
LOOP AT itab_zycit003.
PERFORM load_pttext USING itab_zycit003-matnr
sy-langu.
PERFORM: aplicacao.
MODIFY itab_zycit003.
ENDLOOP.
* >> Início da exclusão: FORM VERIFICA_ITENS_DA
PERFORM calcula_saldo_da.
* << Fim da exclusão
SELECT SINGLE * FROM /pws/zycit094
WHERE nrseq = /pws/zycie001-nrseq.
IF sy-subrc = 0.
SELECT SINGLE * FROM /pws/zycit093
WHERE nrseqce = /pws/zycit094-nrseqce.
...
...
MESSAGE e015 WITH text-213.
ENDIF.
ENDIF.
LOOP AT itab_zycit003.
v_tabix = sy-tabix.
* >> Início da exclusão: FORM VERIFICA_ITENS_DA
/pws/zycie001-netpr = /pws/zycie001-netpr + v_netpr.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ITENS_DA
v_netpr = v_netpr +
( itab_zycit003-netpr * itab_zycit003-qtd_iten ).
/pws/zycie001-netpr = v_netpr.
* << Fim da inclusão
IF /pws/zycie001-netpr < 0.
CLEAR /pws/zycie001-netpr.
MESSAGE e061 WITH text-235 text-236.
ENDIF.
SELECT SINGLE j_1bmatuse INTO ekpo-j_1bmatuse
...
...
itab_zycit443_aux-gewei = 'G' AND NOT
itab_zycit003-qtd_iten IS INITIAL.
itab_zycit003-ntgew = 1 / 1000.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM VERIFICA_ITENS_DA
IF /pws/zycie001-regime EQ '14' .
READ TABLE itab_zycit443 WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0 .
itab_zycit003-sld_da = itab_zycit443-qtd_da -
( itab_zycit443-qtd_util + itab_zycit003-qtd_iten ).
ENDIF.
ELSEIF /pws/zycie001-regime EQ '16'.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ITENS_DA
IF /pws/zycie001-regime EQ '14' OR
/pws/zycie001-regime EQ '16'.
* << Fim da inclusão
IF NOT itab_zycit443[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_saldo
FOR ALL ENTRIES IN itab_zycit443
WHERE ebeln EQ itab_zycit443-ebeln
AND ebelp EQ itab_zycit443-ebelp.
* >> Início da inclusão: FORM VERIFICA_ITENS_DA
IF sy-subrc EQ 0.
SELECT nrseq regime FROM /pws/zycit001
INTO TABLE itab_zycit001_saldo
FOR ALL ENTRIES IN itab_zycit003_saldo
WHERE nrseq EQ itab_zycit003_saldo-nrseq.
LOOP AT itab_zycit001_saldo WHERE regime EQ '04'.
DELETE itab_zycit003_saldo
WHERE nrseq EQ itab_zycit001_saldo-nrseq.
ENDLOOP.
ENDIF.
* << Fim da inclusão
clear v_qtdutil_da.
LOOP AT itab_zycit003_saldo.
if itab_zycit003_saldo-nrseq ne /pws/zycie001-nrseq.
v_qtdutil_da = v_qtdutil_da + itab_zycit003_saldo-qtd_iten .
endif.
...
...
DELETE itab_da WHERE qtd_nac IS initial.
ENDIF.
READ TABLE itab_da INDEX 1.
IF NOT itab_da[] IS INITIAL AND ( /pws/zycie001-regime EQ '14' OR
/pws/zycie001-regime EQ '16' ).
* >> Início da exclusão: FORM SELECIONAR_ITENS_DA
SELECT SINGLE * FROM /pws/zycit442
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_ITENS_DA
SELECT SINGLE *
FROM /pws/zycit442
* << Fim da inclusão
WHERE nrseqda EQ itab_da-nrseqda
* >> Início da exclusão: FORM SELECIONAR_ITENS_DA
AND ( codreg EQ '02' OR
codreg = '04' ).
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_ITENS_DA
AND ( codreg EQ '02' OR
codreg EQ '04' ).
* << Fim da inclusão
IF /pws/zycit442-statusfin NE space.
MESSAGE i015 WITH text-255.
EXIT.
ENDIF.
* >> Início da inclusão: FORM SELECIONAR_ITENS_DA
SELECT *
INTO TABLE itab_zycit443
FROM /pws/zycit443
FOR ALL ENTRIES IN itab_da
WHERE nrseqda EQ itab_da-nrseqda.
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONAR_ITENS_DA
SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_ITENS_DA
SELECT *
INTO TABLE itab_zycit442
FROM /pws/zycit442
* << Fim da inclusão
FOR ALL ENTRIES IN itab_da
WHERE nrseqda EQ itab_da-nrseqda.
ENDIF.
IF NOT /pws/zycit442 IS INITIAL.
MOVE :
...
...
ebelp = itab_zycit443-ebelp.
IF sy-subrc = 0.
MOVE:
itab_zycit443-advalicms TO itab_zycit003-advalicms ,
itab_zycit443-advalii TO itab_zycit003-advalii ,
* >> Início da exclusão: FORM SELECIONAR_ITENS_DA
itab_zycit443-advalipi TO itab_zycit003-advalipi,
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONAR_ITENS_DA
itab_zycit443-advalipi TO itab_zycit003-advalipi,
* << Fim da inclusão
itab_zycit443-aliqicms TO itab_zycit003-aliqicms ,
itab_zycit443-aliqii TO itab_zycit003-aliqii ,
itab_zycit443-aliqipi TO itab_zycit003-aliqipi ,
itab_zycit443-basred TO itab_zycit003-basred ,
itab_zycit443-ebeln TO itab_zycit003-ebeln ,
...
...
IF /pws/zycie001-netpr < 0.
CLEAR /pws/zycie001-netpr.
MESSAGE e061 WITH text-235 text-236.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM SELECIONAR_ITENS_DA
ENDFORM.
* << Fim da inclusão
* >> Início da exclusão: FORM SELECIONAR_ITENS_DA
ENDFORM.
* << Fim da exclusão
FORM user_command_0003.
CASE sy-ucomm.
WHEN 'ENTER'.
PERFORM:
selecionar_itens_da.
...
...
IF itab_zycit443[] IS INITIAL.
SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443
WHERE nrseqda EQ /pws/zycit442-nrseqda.
ENDIF.
DELETE itab_zycit443_saldo WHERE nrseqda NE /pws/zycit442-nrseqda.
* >> Início da inclusão: FORM CALCULA_SALDO_DA
IF NOT itab_zycit443[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_saldo
FOR ALL ENTRIES IN itab_zycit443
WHERE ebeln EQ itab_zycit443-ebeln
AND ebelp EQ itab_zycit443-ebelp.
IF sy-subrc EQ 0.
SELECT nrseq regime FROM /pws/zycit001
INTO TABLE itab_zycit001_saldo
FOR ALL ENTRIES IN itab_zycit003_saldo
WHERE nrseq EQ itab_zycit003_saldo-nrseq.
LOOP AT itab_zycit001_saldo WHERE regime EQ '16'.
DELETE itab_zycit003_saldo
WHERE nrseq EQ itab_zycit001_saldo-nrseq.
ENDLOOP.
ENDIF.
LOOP AT itab_zycit443.
* << Fim da inclusão
CLEAR v_qtdutil_da.
* >> Início da exclusão: FORM CALCULA_SALDO_DA
LOOP AT itab_zycit443 .
v_tabix = sy-tabix.
LOOP AT itab_zycit443_saldo WHERE ebeln = itab_zycit443-ebeln
AND ebelp = itab_zycit443-ebelp.
READ TABLE itab_zycit455 WITH KEY
ebeln = itab_zycit443_saldo-ebeln
ebelp = itab_zycit443_saldo-ebelp.
IF sy-subrc = 0 AND NOT
itab_zycit455-nrseq IS INITIAL AND
itab_zycit455-nrseq NE /pws/zycie001-nrseq.
v_qtdutil_da = v_qtdutil_da + itab_zycit443_saldo-qtd_da.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_SALDO_DA
v_index = sy-tabix.
LOOP AT itab_zycit003_saldo WHERE ebeln EQ itab_zycit443-ebeln
AND ebelp EQ itab_zycit443-ebelp.
IF itab_zycit003_saldo-nrseq NE /pws/zycie001-nrseq.
v_qtdutil_da = v_qtdutil_da + itab_zycit003_saldo-qtd_iten.
* << Fim da inclusão
ENDIF.
ENDLOOP.
itab_zycit443-qtd_util = v_qtdutil_da.
* >> Início da exclusão: FORM CALCULA_SALDO_DA
MODIFY itab_zycit443 INDEX v_tabix.
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_SALDO_DA
MODIFY itab_zycit443 INDEX v_index.
* << Fim da inclusão
ENDLOOP.
* >> Início da inclusão: FORM CALCULA_SALDO_DA
ENDIF.
* << Fim da inclusão
ENDFORM.
...
...
ENDFORM.
FORM trata_screen_0003.
DESCRIBE TABLE itab_da LINES tc_selda-lines.
LOOP AT tc_selda-cols INTO wa_cols.
IF v_status_s = '0'.
* >> Início da inclusão: FORM TRATA_SCREEN_0003
wa_cols-screen-input = '0'.
ENDIF.
CASE wa_cols-screen-name.
WHEN 'ITAB_DA-QTD_NAC'.
IF v_caller EQ 'SELECIONAR_RC'.
* << Fim da inclusão
wa_cols-screen-input = '0'.
ENDIF.
* >> Início da inclusão: FORM TRATA_SCREEN_0003
ENDCASE.
* << Fim da inclusão
MODIFY tc_selda-cols FROM wa_cols.
ENDLOOP.
* >> Início da inclusão: FORM TRATA_SCREEN_0003
ENDFORM.
* << Fim da inclusão
* >> Início da exclusão: FORM TRATA_SCREEN_0003
ENDFORM.
* << Fim da exclusão
FORM salva_dados_da.
LOOP AT itab_zycit003_del.
DELETE itab_zycit455 WHERE nrseq = /pws/zycie001-nrseq
AND ebeln = itab_zycit003_del-ebeln
AND ebelp = itab_zycit003_del-ebelp .
...
...
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp .
ENDLOOP.
COMMIT WORK.
ENDFORM.
* >> Início da inclusão: FORM CARREGA_ITAB_0111
FORM salva_dados_rc.
FIELD-SYMBOLS:
<fs_tabrc> TYPE STANDARD TABLE,
<fs_hearc> TYPE ANY,
<fs_fldrc> TYPE ANY.
DATA:
v_tipo TYPE REF TO data,
v_reg TYPE i.
CLEAR v_tipo.
PERFORM criar_tipo USING v_tabname1 CHANGING v_tipo.
IF NOT v_tipo IS INITIAL.
ASSIGN v_tipo->* TO <fs_tabrc>.
ENDIF.
IF NOT <fs_tabrc> IS ASSIGNED.
EXIT.
ENDIF.
LOOP AT itab_zycit003_del.
LOOP AT itab_zycit455
WHERE nrseq EQ /pws/zycie001-nrseq
AND ebeln EQ itab_zycit003_del-ebeln
AND ebelp EQ itab_zycit003_del-ebelp.
READ TABLE itab_zycit442
WITH KEY nrseqda = itab_zycit455-nrseqda.
IF sy-subrc EQ 0.
REFRESH <fs_tabrc>.
SELECT *
INTO TABLE <fs_tabrc>
FROM (v_tabname1)
WHERE cod_matriz EQ /pws/zycie001-bukrs
AND cod_filial EQ /pws/zycie001-j_1bbranch
AND num_da_di EQ itab_zycit442-nrdi
AND num_adicao EQ itab_zycit455-adicao
AND num_item_adicao EQ itab_zycit455-itseqda
AND id_util EQ 'X'.
IF NOT <fs_tabrc>[] IS INITIAL.
LOOP AT <fs_tabrc> ASSIGNING <fs_hearc>.
UNASSIGN <fs_fldrc>.
ASSIGN COMPONENT 'ID_UTIL' OF STRUCTURE <fs_hearc>
TO <fs_fldrc>.
IF <fs_fldrc> IS ASSIGNED.
<fs_fldrc> = space.
ENDIF.
ENDLOOP.
UPDATE (v_tabname1) FROM TABLE <fs_tabrc>.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
LOOP AT itab_zycit003.
LOOP AT itab_zycit455
WHERE nrseqda EQ itab_zycit003-nrseqda
AND ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp
AND adicao EQ itab_zycit003-adicao.
READ TABLE itab_zycit442
WITH KEY nrseqda = itab_zycit455-nrseqda.
IF sy-subrc EQ 0.
REFRESH <fs_tabrc>.
SELECT *
INTO TABLE <fs_tabrc>
FROM (v_tabname1)
WHERE cod_matriz EQ /pws/zycie001-bukrs
AND cod_filial EQ /pws/zycie001-j_1bbranch
AND num_da_di EQ itab_zycit442-nrdi
AND num_adicao EQ itab_zycit455-adicao
AND num_item_adicao EQ itab_zycit455-itseqda
AND id_util EQ space.
IF NOT <fs_tabrc>[] IS INITIAL.
LOOP AT <fs_tabrc> ASSIGNING <fs_hearc>.
UNASSIGN <fs_fldrc>.
ASSIGN COMPONENT 'ID_UTIL' OF STRUCTURE <fs_hearc>
TO <fs_fldrc>.
IF <fs_fldrc> IS ASSIGNED.
<fs_fldrc> = 'X'.
ENDIF.
ENDLOOP.
UPDATE (v_tabname1) FROM TABLE <fs_tabrc>.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM.
* << Fim da inclusão
FORM carrega_itab_0111.
MOVE-CORRESPONDING /pws/zycie003 TO itab_zycit003.
MODIFY itab_zycit003 INDEX tc_da-current_line.
ENDFORM.
FORM consiste_sld_da.
...
...
FIELD-SYMBOLS:
<fs_tabrc> TYPE STANDARD TABLE,
<fs_hearc> TYPE ANY,
<fs_fldrc> TYPE ANY.
DATA:
* >> Início da inclusão: FORM SELECIONAR_RC
itab_zycit003_saldo LIKE itab_zycit003 OCCURS 0
WITH HEADER LINE.
DATA:
* << Fim da inclusão
v_tipo TYPE REF TO data,
v_reg TYPE i,
BEGIN OF itab_rc_aux OCCURS 100,
cod_matriz TYPE /pws/zycie442-bukrs,
cod_filial TYPE /pws/zycie442-j_1bbranch,
...
...
itab_da-qtd_nac = itab_rc_aux-quantidade.
MODIFY itab_da FROM itab_da TRANSPORTING qtd_nac.
ENDIF.
ENDLOOP.
ENDIF.
* >> Início da exclusão: FORM SELECIONAR_RC
ENDIF.
* << Fim da exclusão
IF NOT itab_da[] IS INITIAL.
DESCRIBE TABLE itab_da LINES v_line.
* >> Início da inclusão: FORM SELECIONAR_RC
v_caller = 'SELECIONAR_RC'.
* << Fim da inclusão
CALL SCREEN '0003'.
ELSE.
MESSAGE s015 WITH text-259.
* >> Início da inclusão: FORM SELECIONAR_RC
ENDIF.
* << Fim da inclusão
ENDIF.
ENDFORM.
FORM criar_tipo USING p_tabname
CHANGING p_tipo.
DATA:
...
...
it_fieldcatalog = t_fieldcat
IMPORTING
ep_table = p_tipo.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM gravar_custos.
TABLES: j_1bbranch ,
adrc ,
/pws/zycit062,
/pws/zycit036.
DATA: BEGIN OF itab_zycit461 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit461.
DATA: dtlanc LIKE /pws/zycit459-dtlanc,
hr_docfat LIKE /pws/zycit459-hr_docfat.
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.
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 .
CLEAR : itab_zycit003_saldo.
REFRESH : itab_zycit003_saldo.
LOOP AT itab_zycit036_del.
DELETE FROM /pws/zycit036 WHERE nrseq = itab_zycit036_del-nrseq
AND ebeln = itab_zycit036_del-ebeln
AND ebelp = itab_zycit036_del-ebelp.
ENDLOOP.
CLEAR itab_zycit036_del.
REFRESH itab_zycit036_del.
IF NOT itab_zycit003[] IS INITIAL.
SELECT SINGLE land1 FROM t001 INTO t001-land1
WHERE bukrs EQ /pws/zycie001-bukrs.
SELECT SINGLE * FROM j_1bbranch
WHERE bukrs = /pws/zycie001-bukrs AND
branch = /pws/zycie001-j_1bbranch.
IF sy-subrc EQ 0.
SELECT SINGLE * FROM adrc
WHERE addrnumber = j_1bbranch-adrnr.
ENDIF.
SELECT SINGLE * FROM /pws/zycit062
WHERE regio = adrc-region.
IF /pws/zycbt007 IS INITIAL.
SELECT SINGLE *
FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycie001-bukrs.
ENDIF.
SELECT * FROM /pws/zycit019 INTO TABLE itab_zycit019
WHERE land1 EQ t001-land1.
READ TABLE itab_zycit003 INDEX 1.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_saldo
WHERE nrseqda EQ itab_zycit003-nrseqda.
DELETE itab_zycit003_saldo WHERE nrseq EQ /pws/zycie001-nrseq.
IF NOT itab_zycit003_saldo[] IS INITIAL.
SELECT * FROM /pws/zycit036 INTO TABLE itab_zycit036_aux
FOR ALL ENTRIES IN itab_zycit003_saldo
WHERE nrseq EQ itab_zycit003_saldo-nrseq.
ENDIF.
SELECT * FROM /pws/zycit443 INTO TABLE itab_zycit443
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseqda EQ itab_zycit003-nrseqda.
SELECT * FROM /pws/zycit459 INTO TABLE itab_zycit459
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseqda EQ itab_zycit003-nrseqda
AND status EQ 'A'.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit461 INTO TABLE itab_zycit461
FOR ALL ENTRIES IN itab_zycit459
WHERE nrseqda = itab_zycit459-nrseqda.
ENDIF.
SELECT * FROM /pws/zycit465 INTO TABLE itab_zycit465
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseqda
AND status EQ 'A'.
IF sy-subrc EQ 0.
SELECT * FROM /pws/zycit466 INTO TABLE itab_zycit466
FOR ALL ENTRIES IN itab_zycit465
WHERE nrseq = itab_zycit465-nrseq
AND nradto = itab_zycit465-nradto.
ENDIF.
ENDIF.
DELETE itab_zycit036_aux WHERE origem EQ 'PED'.
SORT itab_zycit459 BY dtlanc hr_docfat .
DESCRIBE TABLE itab_zycit459 LINES v_line.
READ TABLE itab_zycit459 INDEX 1.
LOOP AT itab_zycit461 WHERE nrseqda EQ itab_zycit459-nrseqda
AND nradto EQ itab_zycit459-nrpres.
READ TABLE itab_zycit461_aux WITH KEY
tpdesp = itab_zycit461-tpdesp.
IF sy-subrc NE 0.
MOVE itab_zycit461 TO itab_zycit461_aux.
APPEND itab_zycit461_aux.
ENDIF.
ENDLOOP.
LOOP AT itab_zycit459.
LOOP AT itab_zycit461 WHERE nrseqda EQ itab_zycit459-nrseqda
AND nradto EQ itab_zycit459-nrpres.
itab_zycit461-dtlanc = itab_zycit459-dtlanc.
itab_zycit461-hr_docfat = itab_zycit459-hr_docfat.
MODIFY itab_zycit461.
ENDLOOP.
ENDLOOP.
SORT itab_zycit466 BY dtlanc hr_f02 tpdesp.
DESCRIBE TABLE itab_zycit465 LINES v_line.
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.
LOOP AT itab_zycit461 .
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.
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.
IF sy-subrc EQ 0 .
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 +
itab_zycit003_saldo-qtd_iten.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
CLEAR itab_zycit036_aux.
MOVE: itab_zycit003-nrseq TO itab_zycit036_aux-nrseq,
itab_zycit003-ebeln TO itab_zycit036_aux-ebeln,
itab_zycit003-ebelp TO itab_zycit036_aux-ebelp,
/pws/zycie001-embarca TO itab_zycit036_aux-embarca,
itab_zycit019-codigo TO itab_zycit036_aux-codigo,
'PCD' TO itab_zycit036_aux-origem,
/pws/zycie001-bukrs TO itab_zycit036_aux-bukrs,
itab_zycit003-werks TO itab_zycit036_aux-werks,
'D' TO itab_zycit036_aux-codmod,
sy-uname TO itab_zycit036_aux-usernamec,
sy-datum TO itab_zycit036_aux-dtuserc,
sy-uzeit TO itab_zycit036_aux-hruserc,
/pws/zycbt007-waersb TO itab_zycit036_aux-waers_real,
itab_zycit461-nradto TO itab_zycit036_aux-nrseqori .
READ TABLE itab_zycit443 WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
IF NOT itab_zycit443-qtd_da IS INITIAL.
itab_zycit036_aux-vlreal = ( itab_zycit003-qtd_iten /
( itab_zycit443-qtd_da - v_qtdutil_da ) ) *
itab_zycit461-vldp.
ENDIF.
IF NOT itab_zycit036_aux-vlreal LT 0.
APPEND itab_zycit036_aux.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
DESCRIBE TABLE itab_zycit465 LINES v_line.
LOOP AT itab_zycit466 .
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.
IF sy-subrc EQ 0 .
IF itab_zycit036_aux-dtuserc LE itab_zycit466-dtlanc .
IF itab_zycit036_aux-hruserc LT itab_zycit466-hr_f02.
v_qtdutil_da = v_qtdutil_da +
itab_zycit003_saldo-qtd_iten.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
CLEAR itab_zycit036_aux.
MOVE: itab_zycit003-nrseq TO itab_zycit036_aux-nrseq,
itab_zycit003-ebeln TO itab_zycit036_aux-ebeln,
itab_zycit003-ebelp TO itab_zycit036_aux-ebelp,
/pws/zycie001-embarca TO itab_zycit036_aux-embarca,
itab_zycit019-codigo TO itab_zycit036_aux-codigo,
'DCD' TO itab_zycit036_aux-origem,
/pws/zycie001-bukrs TO itab_zycit036_aux-bukrs,
itab_zycit003-werks TO itab_zycit036_aux-werks,
'D' TO itab_zycit036_aux-codmod,
sy-uname TO itab_zycit036_aux-usernamec,
sy-datum TO itab_zycit036_aux-dtuserc,
sy-uzeit TO itab_zycit036_aux-hruserc,
/pws/zycbt007-waersb TO itab_zycit036_aux-waers_real,
itab_zycit466-nradto TO itab_zycit036_aux-nrseqori .
READ TABLE itab_zycit443 WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc EQ 0.
IF NOT itab_zycit443-qtd_da IS INITIAL.
itab_zycit036_aux-vlreal = ( itab_zycit003-qtd_iten /
( itab_zycit443-qtd_da - v_qtdutil_da ) ) *
itab_zycit466-vldp.
ENDIF.
IF NOT itab_zycit036_aux-vlreal LT 0.
APPEND itab_zycit036_aux.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
LOOP AT itab_zycit036_aux.
MODIFY /pws/zycit036 FROM itab_zycit036_aux.
ENDLOOP.
COMMIT WORK.
ENDFORM.
FORM call_rec.
SELECT SINGLE * FROM /pws/zycit455
WHERE nrseq EQ /pws/zycie001-nrseq.
SELECT SINGLE nrseqda FROM /pws/zycit443
INTO v_nrseqdi
WHERE nrseqda = /pws/zycit455-nrseqda.
SELECT SINGLE * FROM /pws/zycit442
WHERE nrseqda = v_nrseqdi.
IF sy-subrc = 0.
IF sy-tcode EQ '/PWS/ZYCI001_C'.
SET PARAMETER ID '/PWS/ZYCIP085' FIELD /pws/zycit442-nrseqda.
SET PARAMETER ID '/PWS/ZYGLP089' FIELD /pws/zycit442-identify.
PERFORM valida_trans USING '/PWS/ZYCI017_C' 'skip'.
ELSEIF sy-tcode EQ '/PWS/ZYCI001_A'.
SET PARAMETER ID '/PWS/ZYCIP085' FIELD /pws/zycit442-nrseqda.
SET PARAMETER ID '/PWS/ZYGLP089' FIELD /pws/zycit442-identify.
PERFORM valida_trans USING '/PWS/ZYCI017_A' 'skip'.
ELSEIF sy-tcode EQ '/PWS/ZYCI001_E'.
SET PARAMETER ID '/PWS/ZYCIP085' FIELD /pws/zycit442-nrseqda.
SET PARAMETER ID '/PWS/ZYGLP089' FIELD /pws/zycit442-identify.
PERFORM valida_trans USING '/PWS/ZYCI017_E' 'skip'.
ENDIF.
ELSE.
MESSAGE e015 WITH text-049.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001I01
...
v_waers_diferente = 'X'.
ENDLOOP.
IF sy-subrc NE 0.
/pws/zycie001-waers = v_moeda.
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0102
if /pws/zycie001-regime ne '14' and
/pws/zycie001-regime ne '16'.
* << Fim da inclusão
LOOP AT itab_zycit003.
IF v_waers_diferente = 'X'.
PERFORM busca_taxa_dia USING itab_zycit003-waers
CHANGING v_taxa .
ELSE.
...
...
v_taxa ).
PERFORM tratar_decimais USING itab_zycit003-waers
CHANGING v_netpr.
/pws/zycie001-netpr = /pws/zycie001-netpr + v_netpr.
ENDLOOP.
* >> Início da inclusão: MODULE USER_COMMAND_0102
endif.
* << Fim da inclusão
ENDCASE.
ENDMODULE.
MODULE atualizar_itens INPUT.
DATA:v_ver_index LIKE sy-tabix.
IF /pws/zycie001-regime NE '14' AND /pws/zycie001-regime NE '16'.
...
...
WHEN 'RECEB'.
IF /pws/zycie001-modalidade EQ '02'.
MESSAGE i013 WITH text-202.
EXIT.
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0050
if /pws/zycie001-regime ne '04'.
* << Fim da inclusão
PERFORM call_bt.
* >> Início da inclusão: MODULE USER_COMMAND_0050
else.
perform call_rec.
endif.
* << Fim da inclusão
WHEN 'CO'.
IF v_status_s NE 0.
PERFORM grava_tabelas.
ENDIF.
PERFORM call_corigem.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001O01
...
FROM lfa1
WHERE lifnr EQ /pws/zycie001-lifnr.
v_fornec = lfa1-name1.
ENDIF.
IF /pws/zycie001-dtinicio IS INITIAL.
* >> Início da exclusão: MODULE DESCRICAO
/pws/zycie001-dtinicio = sy-datum.
* << Fim da exclusão
* >> Início da inclusão: MODULE DESCRICAO
/pws/zycie001-dtinicio = sy-datlo.
* << Fim da inclusão
ENDIF.
CLEAR : /pws/zycit120.
IF NOT /pws/zycie001-modalidade IS INITIAL.
SELECT SINGLE descricao INTO /pws/zycit120-descricao
FROM /pws/zycit120
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001TOP
...
DATA: BEGIN OF itab_zycit003_del OCCURS 0.
DATA: ebeln LIKE /pws/zycie003-ebeln,
ebelp LIKE /pws/zycie003-ebelp,
qtd_iten LIKE /pws/zycit003-qtd_iten,
END OF itab_zycit003_del.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit036_del OCCURS 0.
DATA: nrseq LIKE /pws/zycie036-nrseq,
ebeln LIKE /pws/zycie036-ebeln,
ebelp LIKE /pws/zycie036-ebelp,
END OF itab_zycit036_del.
DATA: itab_zycit455_del LIKE /pws/zycit455 OCCURS 0 WITH HEADER LINE.
* << Fim da inclusão
DATA t_zycit003 LIKE /pws/zycit003 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_zycit008 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit008.
DATA: END OF itab_zycit008.
DATA: BEGIN OF itab_zycit354 OCCURS 10.
...
...
v_fldname1 TYPE dd03l-fieldname,
v_fldname2 TYPE dd03l-fieldname,
v_fldname3 TYPE dd03l-fieldname,
v_fldname4 TYPE dd03l-fieldname,
v_fldname5 TYPE dd03l-fieldname,
* >> Início da inclusão:
v_caller TYPE syst-xform,
* << Fim da inclusão
v_mexit(01) TYPE c.
DATA v_land1 LIKE t001-land1.
DATA v_valida.
DATA:
ok_code LIKE sy-ucomm ,
...
...
IF sy-dynnr EQ '0701'.
IF v_tabname1 IS INITIAL.
LEAVE TO SCREEN 0.
ENDIF.
SET TITLEBAR '0701'.
* >> Início da inclusão:
REFRESH:
so_matri,
so_filia.
* << Fim da inclusão
MOVE:
/pws/zycie001-bukrs TO so_matri-low,
/pws/zycie001-j_1bbranch TO so_filia-low.
LOOP AT SCREEN.
IF ( screen-name EQ 'SO_MATRI-LOW' AND
...
...
NOT so_filia-low IS INITIAL ).
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
* >> Início da inclusão:
IF NOT so_matri-low IS INITIAL.
so_matri-sign = 'I'.
so_matri-option = 'EQ'.
APPEND so_matri.
ENDIF.
IF NOT so_filia-low IS INITIAL.
so_filia-sign = 'I'.
so_filia-option = 'EQ'.
APPEND so_filia.
ENDIF.
* << Fim da inclusão
ENDIF.
AT SELECTION-SCREEN.
CASE sy-dynnr .
WHEN '0300'.
CASE sy-ucomm.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001X01
...
INCLUDE STRUCTURE /pws/zycit443.
DATA: END OF itab_zycit443_saldo.
DATA: BEGIN OF itab_zycit003_saldo OCCURS 0.
INCLUDE STRUCTURE /pws/zycit003.
DATA: END OF itab_zycit003_saldo.
* >> Início da inclusão:
DATA: BEGIN OF itab_zycit001_saldo OCCURS 0,
nrseq like /pws/zycit001-nrseq,
regime like /pws/zycit001-regime.
DATA: END OF itab_zycit001_saldo.
* << Fim da inclusão
DATA: BEGIN OF itab_zycit455 OCCURS 0.
INCLUDE STRUCTURE /pws/zycit455.
DATA: END OF itab_zycit455.
DATA: BEGIN OF itab_zycit455_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycit455.
...
...
itseqda TYPE /pws/zycie455-itseqda ,
mark.
DATA: END OF itab_da.
DATA: itab_zycit443_aux LIKE itab_zycit443 OCCURS 0 WITH HEADER LINE,
itab_da_aux LIKE itab_da OCCURS 0 WITH HEADER LINE,
* >> Início da exclusão:
itab_da_aux2 LIKE itab_da OCCURS 0 WITH HEADER LINE.
* << Fim da exclusão
* >> Início da inclusão:
itab_da_aux2 LIKE itab_da OCCURS 0 WITH HEADER LINE,
itab_zycit467 like /pws/zycit467 occurs 0 with header line.
* << Fim da inclusão
DATA: BEGIN OF itab_nac OCCURS 0.
* >> Início da exclusão:
DATA: ebeln LIKE /pws/zycit443-ebeln,
ebelp LIKE /pws/zycit443-ebelp,
* << Fim da exclusão
* >> Início da inclusão:
DATA: ebeln LIKE /pws/zycit443-ebeln,
ebelp LIKE /pws/zycit443-ebelp,
* << Fim da inclusão
qtd_nac LIKE /pws/zycit443-qtd_iten.
DATA: END OF itab_nac.
DATA: END OF COMMON PART a.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
AND ( docnum IS initial OR
docnum = '9999999999' OR
docnum = '8888888888' )
AND mark = 'X'
AND processado = 'X'.
* >> Início da inclusão: FORM FILL_DATA_J1B1
READ TABLE itab_matuse_aux WITH KEY ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
IF sy-subrc = 0.
MOVE itab_matuse_aux-matnr TO
itab_zycit042-matnr.
ENDIF.
* << Fim da inclusão
MODIFY /pws/zycit042 FROM itab_zycit042.
UPDATE /pws/zycit003 SET tpnf = itab_zycit042-tpnf
WHERE nrseq = itab_zycit042-nrseq
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/SAPMZYCI001
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI001
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 254
Texto: (39 caracteres)
"No permitido seleccionar DAs distintas."
Comprimento máximo: 40
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 255
Texto: (36 caracteres)
"No permitido seleccionar DA acabada."
Comprimento máximo: 39
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 256
Texto: (39 caracteres)
"Favor informar cantidad a nacionalizar."
Comprimento máximo: 41
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 257
Texto: (31 caracteres)
"Saldo escaso para nacionalizar."
Comprimento máximo: 39
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 258
Texto: (46 caracteres)
"Cantidad a nacionalizar excede cantd por lote."
Comprimento máximo: 46
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 259
Texto: (51 caracteres)
"No fueran encontrados itens para criterio selección"
Comprimento máximo: 53
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 260
Texto: (37 caracteres)
"No permitido gravar el esto embarque."
Comprimento máximo: 75
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 261
Texto: (37 caracteres)
"Existen itens con cant embarque zero."
Comprimento máximo: 37
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 262
Texto: (38 caracteres)
"Proveedor del Pedido no es extranjero."
Comprimento máximo: 40
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: ES
Símbolo: 263
Texto: (27 caracteres)
"Datos de la orden incorrect"
Comprimento máximo: 27
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): PA_BUK
Texto: (16 caracteres)
"Embarque"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_ADICA
Texto: (17 caracteres)
"Adiciones"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_BELN
Texto: (14 caracteres)
"Pedido"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_BELP
Texto: (12 caracteres)
"ìtem"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_DTDE
Texto: (24 caracteres)
"Fecha Desembaraz"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_FILIA
Texto: (19 caracteres)
"Subsidiaria"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_ITADI
Texto: (24 caracteres)
"Iten da Adicción"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_LIFN
Texto: (17 caracteres)
"Proveedor"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_MATN
Texto: (16 caracteres)
"Material"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Modificado texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): SO_MATRI
Texto: (15 caracteres)
"Empresa"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_MATRI
Texto: (14 caracteres)
"Matriz"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_NRDA
Texto: (17 caracteres)
"Número DA"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_NRSEQ
Texto: (21 caracteres)
"Secuencial DA"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: ES
Variável (SELECT-OPTION / PARAMETER): SO_NUMDA
Texto: (17 caracteres)
"Número DA"
Referência ao Dictionary: NÃO
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIE003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em TABD /PWS/ZYCIT443