Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Embarque
Data/Hora da Publicação: 16/08/2012 15:43:05
Data/Hora Última Alteração: 16/08/2012 15:43:05
Descrição da Nota: CRIAÇÃO DE TRILHA DE AUDITORIA: EMBARQUE
Sintoma
Criação de trilha de auditoria: Embarque
Solução
Novo tratamento para inclusão de trilha de auditoria, que registrará cada alteração no banco de
dados: inserção, modificação,deleção.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 11569 Data: 21/10/2011 Hora: 15:17:11
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 11569
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00009
Agrupamento : 00090
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
11506 - 00001 - 8.0 - 00009 - TRILHA DE AUDITORIA
----------------------------------------------------------------------------------------------------
CRIAÇÃO DE TRILHA DE AUDITORIA: EMBARQUE
----------------------------------------------------------------------------------------------------
Palavras Chave:
ALTERAÇÃO - TRILHA DE AUDITORIA - CONTROLE - LOG
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUGR /PWS/CI_BAPI_GF001
MESS /PWS/ZYCIM138
REPS /PWS/MZYCI001F01
REPS /PWS/MZYCI001F02
REPS /PWS/MZYCI001F03
REPS /PWS/MZYCI001I01
REPS /PWS/MZYCI001X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUGR /PWS/CI_BAPI_GF001
*Criar a BAPI /PWS/CIBAPI_EMBARQUE_UPDATE
MODIFICAR MÓDULO DE FUNÇÃO: /PWS/CIBAPI_EMBARQUE_UPDATE
CARACTERÍSTICAS
CLASSIFICAÇÃO:
GRUPO DE FUNÇÕES: /PWS/CI_BAPI_GF001
TEXTO BREVE: Grava Embarque
TIPO DE EXECUÇÃO:
(X) - MÓDULO DE FUNÇÃO NORMAL
(X) - INÍCIO IMEDIATO
IMPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA VL. PROPOSTO OPCIONAL TRANSF.
ZYCIT001 TYPE /PWS/ZYCIT001
OKCODE TYPE SY-UCOMM X
ZYCIT133 TYPE /PWS/ZYCIT133 X
ZYCIT134 TYPE /PWS/ZYCIT134 X
ZYCIT133A TYPE /PWS/ZYCIT133 X
EXPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA TRANSF.
ZYCIT001E TYPE /PWS/ZYCIT001
ZYCIT133E TYPE /PWS/ZYCIT133
ZYCIT134E TYPE /PWS/ZYCIT134
ZYCIT133AE TYPE /PWS/ZYCIT133
V_SAIR
MODIFIC.:
NOME PARAM. ATRIB. TIPO REFERÊNCIA VL. PROPOSTO OPCIONAL TRANSF. TEXT
TABELAS:
NOME PARAM. ATRIB. TIPO REFERÊNCIA OPCIONAL TEXTO BREVE
T_ZYCIT003 LIKE /PWS/ZYCIT003
T_RETURN LIKE BAPIRET2
T_ZYCIT125 LIKE /PWS/ZYCIT125
T_ZYCIT503 LIKE /PWS/ZYCIT503 X
T_ZYCIT374 LIKE /PWS/ZYCIT374 X
T_ZYCIT396 LIKE /PWS/ZYCIT396 X
T_ZYCIT463 LIKE /PWS/ZYCIT463 X
T_ZYCIT467 LIKE /PWS/ZYCIT467 X
T_ZYCIT354 LIKE /PWS/ZYCIT354 X
Sem Exceções
*CÓDIGO FONTE
FUNCTION /pws/cibapi_embarque_update.
*"----------------------------------------------------------------------
*"*"Interface local:
*" IMPORTING
*" REFERENCE(ZYCIT001) TYPE /PWS/ZYCIT001
*" REFERENCE(OKCODE) TYPE SY-UCOMM OPTIONAL
*" REFERENCE(ZYCIT133) TYPE /PWS/ZYCIT133 OPTIONAL
*" REFERENCE(ZYCIT134) TYPE /PWS/ZYCIT134 OPTIONAL
*" REFERENCE(ZYCIT133A) TYPE /PWS/ZYCIT133 OPTIONAL
*" EXPORTING
*" REFERENCE(ZYCIT001E) TYPE /PWS/ZYCIT001
*" REFERENCE(ZYCIT133E) TYPE /PWS/ZYCIT133
*" REFERENCE(ZYCIT134E) TYPE /PWS/ZYCIT134
*" REFERENCE(ZYCIT133AE) TYPE /PWS/ZYCIT133
*" REFERENCE(V_SAIR)
*" TABLES
*" T_ZYCIT003 STRUCTURE /PWS/ZYCIT003
*" T_RETURN STRUCTURE BAPIRET2
*" T_ZYCIT125 STRUCTURE /PWS/ZYCIT125
*" T_ZYCIT503 STRUCTURE /PWS/ZYCIT503 OPTIONAL
*" T_ZYCIT374 STRUCTURE /PWS/ZYCIT374 OPTIONAL
*" T_ZYCIT396 STRUCTURE /PWS/ZYCIT396 OPTIONAL
*" T_ZYCIT463 STRUCTURE /PWS/ZYCIT463 OPTIONAL
*" T_ZYCIT467 STRUCTURE /PWS/ZYCIT467 OPTIONAL
*" T_ZYCIT354 STRUCTURE /PWS/ZYCIT354 OPTIONAL
*"----------------------------------------------------------------------
DATA: it_zycit003 TYPE TABLE OF /pws/zycit003 WITH HEADER LINE,
it_zycit003_ini TYPE TABLE OF /pws/zycit003 WITH HEADER LINE,
it_zycit003_del TYPE TABLE OF /pws/zycit003 WITH HEADER LINE,
it_zycit503 TYPE TABLE OF /pws/zycit503 WITH HEADER LINE,
it_zycit503_ini TYPE TABLE OF /pws/zycit503 WITH HEADER LINE,
it_zycit503_del TYPE TABLE OF /pws/zycit503 WITH HEADER LINE,
it_zycit125 TYPE TABLE OF /pws/zycit125 WITH HEADER LINE,
it_zycit125_ini TYPE TABLE OF /pws/zycit125 WITH HEADER LINE,
it_zycit125_del TYPE TABLE OF /pws/zycit125 WITH HEADER LINE,
it_zycit354 TYPE TABLE OF /pws/zycit354 WITH HEADER LINE,
it_zycit354_ini TYPE TABLE OF /pws/zycit354 WITH HEADER LINE,
it_zycit354_del TYPE TABLE OF /pws/zycit354 WITH HEADER LINE,
it_zycit374 TYPE TABLE OF /pws/zycit374 WITH HEADER LINE,
it_zycit374_ini TYPE TABLE OF /pws/zycit374 WITH HEADER LINE,
it_zycit374_del TYPE TABLE OF /pws/zycit374 WITH HEADER LINE,
it_zycit396 TYPE TABLE OF /pws/zycit396 WITH HEADER LINE,
it_zycit396_ini TYPE TABLE OF /pws/zycit396 WITH HEADER LINE,
it_zycit396_del TYPE TABLE OF /pws/zycit396 WITH HEADER LINE
.
DATA: w_zycit001 TYPE /pws/zycit001,
w_zycit001_ini TYPE /pws/zycit001,
w_zycit133 TYPE /pws/zycit133,
w_zycit133_ini TYPE /pws/zycit133,
w_zycit133a TYPE /pws/zycit133,
w_zycit133a_ini TYPE /pws/zycit133,
w_zycit134 TYPE /pws/zycit134,
w_zycit134_ini TYPE /pws/zycit134,
w_zycit000 TYPE /pws/zycit000,
w_t001 TYPE t001,
w_zycbt007 TYPE /pws/zycbt007,
v_changed.
REFRESH t_return.
w_zycit001 = zycit001.
w_zycit133 = zycit133.
w_zycit133a = zycit133a.
w_zycit134 = zycit134.
* Não trabalha com a tabela passada, somente com a tabela interna da
*funcão, após, devolve o conteúdo para a tabela original
it_zycit003[] = t_zycit003[].
it_zycit125[] = t_zycit125[].
it_zycit503[] = t_zycit503[].
it_zycit374[] = t_zycit374[].
it_zycit396[] = t_zycit396[].
it_zycit354[] = t_zycit354[].
IF okcode NE 'SAVE' AND w_zycit001-nrseq IS INITIAL.
EXIT.
ENDIF.
PERFORM check_aut_emp TABLES t_return
USING w_zycit001-bukrs
'01'.
CHECK t_return[] IS INITIAL.
PERFORM sel_parametros USING w_zycit001-bukrs
CHANGING w_zycit000
w_zycbt007
w_t001.
IF NOT w_zycit001-nrseq IS INITIAL.
PERFORM sel_ini TABLES it_zycit003_ini
it_zycit125_ini
it_zycit503_ini
it_zycit374_ini
it_zycit396_ini
it_zycit354_ini
USING w_zycit001-nrseq
CHANGING w_zycit001_ini
w_zycit133_ini
w_zycit133a_ini
w_zycit134_ini.
ENDIF.
PERFORM check_data_save TABLES t_return
it_zycit003
it_zycit125
it_zycit503
USING w_zycit001.
CHECK t_return[] IS INITIAL.
IF w_zycit001-nrseq IS INITIAL.
PERFORM find_nrseq TABLES t_return
CHANGING w_zycit001.
CHECK t_return[] IS INITIAL.
PERFORM insert TABLES t_return
it_zycit003
it_zycit125
it_zycit503
it_zycit374
it_zycit396
it_zycit354
CHANGING w_zycit001
w_zycit133
w_zycit133a
w_zycit134.
ELSE.
PERFORM check_alteracoes TABLES
t_return
it_zycit003
it_zycit003_ini
it_zycit003_del
it_zycit125
it_zycit125_ini
it_zycit125_del
it_zycit503
it_zycit503_ini
it_zycit503_del
it_zycit374
it_zycit374_ini
it_zycit374_del
it_zycit396
it_zycit396_ini
it_zycit396_del
it_zycit354
it_zycit354_ini
it_zycit354_del
USING w_zycit001
w_zycit001_ini
w_zycit133
w_zycit133_ini
w_zycit133a
w_zycit133a_ini
w_zycit134
w_zycit134_ini
okcode
CHANGING
v_changed
v_sair.
CHECK t_return[] IS INITIAL.
IF v_changed = 'X'.
PERFORM save TABLES t_return
it_zycit003
it_zycit003_del
it_zycit003_ini
it_zycit125
it_zycit125_del
it_zycit503
it_zycit503_del
it_zycit374
it_zycit374_del
it_zycit396
it_zycit396_del
it_zycit354
it_zycit354_del
using w_zycit000
CHANGING w_zycit001
w_zycit133
w_zycit133a
w_zycit134.
ENDIF.
ENDIF.
zycit001e = w_zycit001.
zycit133e = w_zycit133.
zycit133ae = w_zycit133a.
zycit134e = w_zycit134.
t_zycit003[] = it_zycit003[].
t_zycit125[] = it_zycit125[].
t_zycit503[] = it_zycit503[].
t_zycit374[] = it_zycit374[].
t_zycit396[] = it_zycit396[].
t_zycit354[] = it_zycit354[].
if v_sair is initial and v_changed = 'X'.
PERFORM fill_message TABLES t_return
USING c_messag
'S'
'017'
zycit001e-nrseq
space
space
space.
endif.
ENDFUNCTION.
*INCLUDE /PWS/LCI_BAPI_GF001F01
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form check_aut_emp
*&---------------------------------------------------------------------*
* Verifica Autorização para a Empresa utilizada
*----------------------------------------------------------------------*
FORM check_aut_emp TABLES t_return
USING p_bukrs
p_ACTVT.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' "field
DUMMY
ID 'ACTVT' FIELD p_ACTVT.
IF sy-subrc NE 0.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
p_bukrs
ID 'ACTVT' FIELD p_ACTVT.
IF sy-subrc NE 0.
PERFORM fill_message TABLES t_return
USING c_messag
'E'
'083'
p_bukrs
space
space
space.
ENDIF.
ELSE.
AUTHORITY-CHECK OBJECT 'F_BKPF_BUK' ID 'BUKRS' FIELD
p_bukrs
ID 'ACTVT' FIELD p_ACTVT.
IF sy-subrc NE 0.
PERFORM fill_message TABLES t_return
USING c_messag
'E'
'083'
p_bukrs
space
space
space.
ENDIF.
ENDIF.
ENDFORM. " check_aut_emp
*INCLUDE /PWS/LCI_BAPI_GF001F02
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F02 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form fill_message
*&---------------------------------------------------------------------*
FORM fill_message TABLES t_return STRUCTURE bapiret2
USING p_msgid
p_msgty
p_msgno
p_msgv1
p_msgv2
p_msgv3
p_msgv4.
DATA: w_return TYPE bapiret2.
DATA: v_msgid TYPE sy-msgid,
v_msgty TYPE sy-msgty,
v_msgno TYPE sy-msgno,
v_msgv1 TYPE sy-msgv1,
v_msgv2 TYPE sy-msgv2,
v_msgv3 TYPE sy-msgv3,
v_msgv4 TYPE sy-msgv4.
MOVE: p_msgid TO v_msgid,
p_msgty TO v_msgty,
p_msgno TO v_msgno,
p_msgv1 TO v_msgv1,
p_msgv2 TO v_msgv2,
p_msgv3 TO v_msgv3,
p_msgv4 TO v_msgv4.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
type = v_msgty
cl = v_msgid
number = v_msgno
par1 = v_msgv1
par2 = v_msgv2
par3 = v_msgv3
par4 = v_msgv4
IMPORTING
return = w_return.
COLLECT w_return INTO t_return.
ENDFORM. " fill_message
*INCLUDE /PWS/LCI_BAPI_GF001F03
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F03 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form sel_parametros
*&---------------------------------------------------------------------*
FORM sel_parametros USING p_bukrs
CHANGING p_zycit000
p_zycbt007
p_t001 TYPE t001.
SELECT SINGLE * FROM /pws/zycbt007 INTO p_zycbt007
WHERE bukrs EQ p_bukrs.
SELECT SINGLE * FROM t001 INTO p_t001
WHERE bukrs EQ p_bukrs.
SELECT SINGLE * FROM /pws/zycit000 INTO p_zycit000
WHERE land1 EQ p_t001-land1.
ENDFORM. " sel_parametros
*INCLUDE /PWS/LCI_BAPI_GF001F04
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F04 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form find_nrseq
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_T_RETURN text
* -->P_T_ZYCIT027 text
* -->P_T_ZYCIT026 text
* -->P_W_ZYCIT026 text
* -->P_W_ZYCIT001 text
* <--P_ZYCIT026E text
*----------------------------------------------------------------------*
FORM find_nrseq TABLES t_return STRUCTURE bapiret2
CHANGING
p_zycit001 TYPE /pws/zycit001.
DATA: it_zyglt006 TYPE TABLE OF /pws/zyglt006 WITH HEADER LINE.
* Nova Metodologia de busca do Nrseq por Empresa e filial
IF NOT p_zycit001-bukrs IS INITIAL.
SELECT * FROM /pws/zyglt006 into table it_zyglt006
WHERE codmod EQ 'D'.
IF sy-subrc EQ 0.
READ TABLE it_zyglt006 WITH KEY bukrs = p_zycit001-bukrs
j_1bbranch = p_zycit001-j_1bbranch.
IF sy-subrc EQ 0.
PERFORM find_nrseq_emp USING it_zyglt006-range
CHANGING p_zycit001-nrseq.
ELSE.
LOOP AT it_zyglt006 WHERE bukrs EQ p_zycit001-bukrs
AND j_1bbranch NE p_zycit001-j_1bbranch
AND j_1bbranch NE space.
PERFORM fill_message TABLES t_return
USING c_messag
'E'
'061'
text-005
space
space
space.
* v_nrseqerro = 'X'.
EXIT.
ENDLOOP.
READ TABLE it_zyglt006 WITH KEY bukrs = p_zycit001-bukrs
j_1bbranch = space.
IF sy-subrc EQ 0.
PERFORM find_nrseq_emp USING it_zyglt006-range
CHANGING p_zycit001-nrseq.
ELSE.
PERFORM fill_message TABLES t_return
USING c_messag
'E'
'061'
text-006
space
space
space.
* v_nrseqerro = 'X'.
EXIT.
ENDIF.
ENDIF.
ELSE.
PERFORM find_nrseqc CHANGING p_zycit001-nrseq.
ENDIF.
ENDIF.
ENDFORM. " find_nrseq
*&---------------------------------------------------------------------*
*& Form find_nrseq_emp
*&---------------------------------------------------------------------*
FORM find_nrseq_emp USING p_range
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.
CONCATENATE p_range '%' 'I' sy-datlo+2(2) INTO v_ano_emp.
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.
CONCATENATE p_range v_count(v_tam_2) 'I' sy-datlo+2(2)
INTO v_nrseq_emp.
ENDFORM. " find_nrseq_emp
*&---------------------------------------------------------------------*
*& Form FIND_NRSEQC
*&---------------------------------------------------------------------*
* Gerando novo número sequencial.
*----------------------------------------------------------------------*
FORM find_nrseqc CHANGING p_zycit001-nrseq.
DATA:
v_nrseqc LIKE /pws/zycit001-nrseq, " Último sequencial usado
v_count(7) TYPE n, " Contador p/ próximo seq.
v_ano(4).
CONCATENATE '%' 'I' sy-datlo+2(2) INTO v_ano.
SELECT MAX( nrseq ) INTO (v_nrseqc) FROM /pws/zycit001
WHERE nrseq LIKE v_ano.
v_count = v_nrseqc+0(7) + 1.
CONCATENATE v_count+0(7) 'I' sy-datlo+2(2) INTO p_zycit001-nrseq.
ENDFORM. " FIND_NRSEQC
*INCLUDE /PWS/LCI_BAPI_GF001F05
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F05 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form check_data_save
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_T_RETURN text
* -->P_P_ZYCIT026 text
*----------------------------------------------------------------------*
FORM check_data_save TABLES t_return
it_zycit003 structure /pws/zycit003
it_zycit125 structure /pws/zycit125
it_zycit503 structure /pws/zycit503
USING p_zycit001 TYPE /pws/zycit001.
* PERFORM fill_message TABLES t_return
* USING c_messag
* 'E'
* '015'
* text-021
* text-026
* space
* space.
* EXIT.
ENDFORM. " check_data_save
*INCLUDE /PWS/LCI_BAPI_GF001F06
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F06 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form save
*&---------------------------------------------------------------------*
FORM save TABLES t_return STRUCTURE bapiret2
t_zycit003 STRUCTURE /pws/zycit003
t_zycit003_del STRUCTURE /pws/zycit003
t_zycit003_ini STRUCTURE /pws/zycit003
t_zycit125 STRUCTURE /pws/zycit125
t_zycit125_del STRUCTURE /pws/zycit125
t_zycit503 STRUCTURE /pws/zycit503
t_zycit503_del STRUCTURE /pws/zycit503
t_zycit374 STRUCTURE /pws/zycit374
t_zycit374_del STRUCTURE /pws/zycit374
t_zycit396 STRUCTURE /pws/zycit396
t_zycit396_del STRUCTURE /pws/zycit396
t_zycit354 STRUCTURE /pws/zycit354
t_zycit354_del STRUCTURE /pws/zycit354
USING w_zycit000 STRUCTURE /pws/zycit000
CHANGING p_zycit001 TYPE /pws/zycit001
p_zycit133 TYPE /pws/zycit133
p_zycit133a TYPE /pws/zycit133
p_zycit134 TYPE /pws/zycit134.
p_zycit001-dtusera = sy-datlo.
p_zycit001-usernamea = sy-uname.
MODIFY /pws/zycit001 FROM p_zycit001.
MOVE p_zycit001 TO /pws/zycit001.
PERFORM carrega_log USING '/PWS/ZYCIT001' 'U'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
IF NOT p_zycit133 IS INITIAL.
MODIFY /pws/zycit133 FROM p_zycit133.
MOVE p_zycit133 TO /pws/zycit133.
PERFORM carrega_log USING '/PWS/ZYCIT133' 'U'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDIF.
IF NOT p_zycit133a IS INITIAL.
MODIFY /pws/zycit133 FROM p_zycit133a.
MOVE p_zycit133a TO /pws/zycit133.
PERFORM carrega_log USING '/PWS/ZYCIT133' 'U'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDIF.
IF NOT p_zycit134 IS INITIAL.
MODIFY /pws/zycit134 FROM p_zycit134.
MOVE p_zycit134 TO /pws/zycit134.
PERFORM carrega_log USING '/PWS/ZYCIT134' 'U'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDIF.
IF NOT t_zycit003_del[] IS INITIAL.
LOOP AT t_zycit003_del.
CLEAR /pws/zycit003.
MOVE t_zycit003_del TO /pws/zycit003.
PERFORM carrega_log USING '/PWS/ZYCIT003' 'D'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
DELETE /pws/zycit003 FROM TABLE t_zycit003_del.
ENDIF.
IF NOT t_zycit003[] IS INITIAL.
MODIFY /pws/zycit003 FROM TABLE t_zycit003.
LOOP AT t_zycit003.
CLEAR /pws/zycit003.
MOVE t_zycit003 TO /pws/zycit003.
PERFORM carrega_log USING '/PWS/ZYCIT003' 'U'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
IF NOT t_zycit125_del[] IS INITIAL.
LOOP AT t_zycit125_del.
CLEAR /pws/zycit125.
MOVE t_zycit125_del TO /pws/zycit125.
PERFORM carrega_log USING '/PWS/ZYCIT125' 'D'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
DELETE /pws/zycit125 FROM TABLE t_zycit125_del.
ENDIF.
IF NOT t_zycit125[] IS INITIAL.
MODIFY /pws/zycit125 FROM TABLE t_zycit125.
LOOP AT t_zycit125.
CLEAR /pws/zycit125.
MOVE t_zycit125 TO /pws/zycit125.
PERFORM carrega_log USING '/PWS/ZYCIT125' 'U'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
IF NOT t_zycit503_del[] IS INITIAL.
LOOP AT t_zycit503_del.
CLEAR /pws/zycit503.
MOVE t_zycit503_del TO /pws/zycit503.
PERFORM carrega_log USING '/PWS/ZYCIT503' 'D'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
DELETE /pws/zycit503 FROM TABLE t_zycit503_del.
ENDIF.
IF NOT t_zycit503[] IS INITIAL.
MODIFY /pws/zycit503 FROM TABLE t_zycit503.
LOOP AT t_zycit503.
CLEAR /pws/zycit503.
MOVE t_zycit503 TO /pws/zycit503.
PERFORM carrega_log USING '/PWS/ZYCIT503' 'U'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
IF NOT t_zycit374_del[] IS INITIAL.
LOOP AT t_zycit374_del.
CLEAR /pws/zycit374.
MOVE t_zycit374_del TO /pws/zycit374.
PERFORM carrega_log USING '/PWS/ZYCIT374' 'D'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq .
ENDLOOP.
DELETE /pws/zycit374 FROM TABLE t_zycit374_del.
ENDIF.
IF NOT t_zycit374[] IS INITIAL.
MODIFY /pws/zycit374 FROM TABLE t_zycit374.
LOOP AT t_zycit374.
CLEAR /pws/zycit374.
MOVE t_zycit374 TO /pws/zycit374.
PERFORM carrega_log USING '/PWS/ZYCIT374' 'U'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
IF NOT t_zycit396_del[] IS INITIAL.
LOOP AT t_zycit396_del.
CLEAR /pws/zycit396.
MOVE t_zycit396_del TO /pws/zycit396.
PERFORM carrega_log USING '/PWS/ZYCIT396' 'D'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq .
ENDLOOP.
DELETE /pws/zycit396 FROM TABLE t_zycit396_del.
ENDIF.
IF NOT t_zycit396[] IS INITIAL.
MODIFY /pws/zycit396 FROM TABLE t_zycit396.
LOOP AT t_zycit396.
CLEAR /pws/zycit396.
MOVE t_zycit396 TO /pws/zycit396.
PERFORM carrega_log USING '/PWS/ZYCIT396' 'U'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
IF NOT t_zycit354_del[] IS INITIAL.
LOOP AT t_zycit354_del.
CLEAR /pws/zycit354.
MOVE t_zycit354_del TO /pws/zycit354.
PERFORM carrega_log USING '/PWS/ZYCIT354' 'D'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
DELETE /pws/zycit354 FROM TABLE t_zycit354_del.
ENDIF.
IF NOT t_zycit354[] IS INITIAL.
MODIFY /pws/zycit354 FROM TABLE t_zycit354.
LOOP AT t_zycit354.
CLEAR /pws/zycit354.
MOVE t_zycit354 TO /pws/zycit354.
PERFORM carrega_log USING '/PWS/ZYCIT354' 'U'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
PERFORM trata_vinculacao_li TABLES t_zycit003.
PERFORM trata_desvinculacao_li TABLES t_zycit003
t_zycit003_ini.
SELECT SINGLE * FROM /pws/zycit094 "#EC CI_NOFIRST
INTO /pws/zycit094
WHERE nrseq = p_zycit001-nrseq.
IF sy-subrc = 0.
SELECT SINGLE * FROM
/pws/zycit093 INTO /pws/zycit093
WHERE nrseqce = /pws/zycit094-nrseqce.
IF sy-subrc = 0.
/pws/zycit093-meiotransp = p_zycit001-meioemba.
/pws/zycit093-embarca = p_zycit001-navio.
IF w_zycit000-flagbl IS INITIAL.
/pws/zycit093-paemb = p_zycit001-paorigem.
/pws/zycit093-padest = p_zycit001-padest.
/pws/zycit093-paispae = p_zycit001-paispao.
ENDIF.
MODIFY /pws/zycit093.
PERFORM carrega_log USING '/PWS/ZYCIT093' 'U'
'' '/PWS/SAPMZYCI002' /pws/zycit093-nrseqce .
ENDIF.
ENDIF.
COMMIT WORK.
PERFORM fill_message TABLES t_return
USING c_messag
'S'
'017'
p_zycit001-nrseq
space
space
space.
ENDFORM. " save
*INCLUDE /PWS/LCI_BAPI_GF001F07
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F07 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form insert
*&---------------------------------------------------------------------*
FORM insert TABLES t_return STRUCTURE bapiret2
t_zycit003 STRUCTURE /pws/zycit003
t_zycit125 STRUCTURE /pws/zycit125
t_zycit503 STRUCTURE /pws/zycit503
t_zycit374 STRUCTURE /pws/zycit374
t_zycit396 STRUCTURE /pws/zycit396
t_zycit354 STRUCTURE /pws/zycit354
CHANGING p_zycit001 TYPE /pws/zycit001
p_zycit133 TYPE /pws/zycit133
p_zycit133a TYPE /pws/zycit133
p_zycit134 TYPE /pws/zycit134.
p_zycit001-dtuserc = sy-datlo.
p_zycit001-usernamec = sy-uname.
p_zycit001-status_e = 'A'.
INSERT INTO /pws/zycit001 VALUES p_zycit001.
WHILE sy-subrc NE 0.
PERFORM find_nrseq TABLES t_return
CHANGING p_zycit001.
INSERT INTO /pws/zycit001 VALUES p_zycit001.
ENDWHILE.
MOVE p_zycit001 TO /pws/zycit001.
PERFORM carrega_log USING '/PWS/ZYCIT001' 'I'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq .
PERFORM set_nrseq TABLES t_zycit003
t_zycit125
t_zycit503
t_zycit374
t_zycit396
t_zycit354
USING p_zycit001-nrseq
changing p_zycit134.
IF NOT p_zycit134 IS INITIAL.
INSERT INTO /pws/zycit134 VALUES p_zycit134.
MOVE p_zycit134 TO /pws/zycit134.
PERFORM carrega_log USING '/PWS/ZYCIT134' 'I'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq .
ENDIF.
IF NOT p_zycit133 IS INITIAL.
INSERT INTO /pws/zycit133 VALUES p_zycit133.
IF sy-subrc = 0.
MOVE p_zycit133 TO /pws/zycit133.
PERFORM carrega_log USING '/PWS/ZYCIT133' 'I'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDIF.
ENDIF.
IF NOT p_zycit133a IS INITIAL.
INSERT INTO /pws/zycit133 VALUES p_zycit133a.
IF sy-subrc = 0.
MOVE p_zycit133a TO /pws/zycit133.
PERFORM carrega_log USING '/PWS/ZYCIT133' 'I'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq .
ENDIF.
ENDIF.
IF NOT t_zycit003[] IS INITIAL.
INSERT /pws/zycit003 FROM TABLE t_zycit003 .
LOOP AT t_zycit003.
CLEAR /pws/zycit003.
MOVE t_zycit003 TO /pws/zycit003.
PERFORM carrega_log USING '/PWS/ZYCIT003' 'I'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
IF NOT t_zycit125[] IS INITIAL.
INSERT /pws/zycit125 FROM TABLE t_zycit125 .
LOOP AT t_zycit125.
CLEAR /pws/zycit125.
MOVE t_zycit125 TO /pws/zycit125.
PERFORM carrega_log USING '/PWS/ZYCIT125' 'I'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
IF NOT t_zycit503[] IS INITIAL.
INSERT /pws/zycit503 FROM TABLE t_zycit503 .
LOOP AT t_zycit503.
CLEAR /pws/zycit503.
MOVE t_zycit503 TO /pws/zycit503.
PERFORM carrega_log USING '/PWS/ZYCIT503' 'I'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
IF NOT t_zycit374[] IS INITIAL.
INSERT /pws/zycit374 FROM TABLE t_zycit374 .
LOOP AT t_zycit374.
CLEAR /pws/zycit374.
MOVE t_zycit374 TO /pws/zycit374.
PERFORM carrega_log USING '/PWS/ZYCIT374' 'I'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
IF NOT t_zycit396[] IS INITIAL.
INSERT /pws/zycit396 FROM TABLE t_zycit396 .
LOOP AT t_zycit396.
CLEAR /pws/zycit396.
MOVE t_zycit396 TO /pws/zycit396.
PERFORM carrega_log USING '/PWS/ZYCIT396' 'I'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
IF NOT t_zycit354[] IS INITIAL.
INSERT /pws/zycit354 FROM TABLE t_zycit354 .
LOOP AT t_zycit354.
CLEAR /pws/zycit354.
MOVE t_zycit354 TO /pws/zycit354.
PERFORM carrega_log USING '/PWS/ZYCIT354' 'I'
'' '/PWS/SAPMZYCI001' p_zycit001-nrseq.
ENDLOOP.
ENDIF.
Perform trata_vinculacao_LI tables t_zycit003.
PERFORM fill_message TABLES t_return
USING c_messag
'S'
'017'
p_zycit001-nrseq
space
space
space.
COMMIT WORK.
ENDFORM. " insert
*INCLUDE /PWS/LCI_BAPI_GF001F08
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F08 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form SET_NRSEQ
*&---------------------------------------------------------------------*
FORM set_nrseq TABLES it_zycit003 STRUCTURE /pws/zycit003
it_zycit125 STRUCTURE /pws/zycit125
it_zycit503 STRUCTURE /pws/zycit503
it_zycit374 STRUCTURE /pws/zycit374
it_zycit396 STRUCTURE /pws/zycit396
it_zycit354 STRUCTURE /pws/zycit354
USING p_nrseq
CHANGING p_zycit134 STRUCTURE /pws/zycit134.
IF NOT it_zycit003[] IS INITIAL.
LOOP AT it_zycit003.
it_zycit003-nrseq = p_nrseq.
MODIFY it_zycit003 .
ENDLOOP.
ENDIF.
IF NOT it_zycit125[] IS INITIAL.
LOOP AT it_zycit125.
it_zycit125-nrseq = p_nrseq.
MODIFY it_zycit125.
ENDLOOP.
ENDIF.
IF NOT it_zycit503[] IS INITIAL.
LOOP AT it_zycit503.
it_zycit503-nrseq = p_nrseq.
MODIFY it_zycit503 .
ENDLOOP.
ENDIF.
IF NOT it_zycit374[] IS INITIAL.
LOOP AT it_zycit374.
it_zycit374-nrseq = p_nrseq.
MODIFY it_zycit374 .
ENDLOOP.
ENDIF.
IF NOT it_zycit396[] IS INITIAL.
LOOP AT it_zycit396.
it_zycit396-nrseq = p_nrseq.
MODIFY it_zycit396 .
ENDLOOP.
ENDIF.
IF NOT it_zycit354[] IS INITIAL.
LOOP AT it_zycit354.
it_zycit354-nrseq = p_nrseq.
MODIFY it_zycit354 .
ENDLOOP.
ENDIF.
IF NOT p_zycit134 IS INITIAL.
p_zycit134-nrseq = p_nrseq.
ENDIF.
ENDFORM. " SET_NRSEQ
*INCLUDE /PWS/LCI_BAPI_GF001F09
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F09 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form SEL_INI
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_IT_ZYCIT003_INI text
* -->P_W_ZYCIT001_NRSEQ text
*----------------------------------------------------------------------*
FORM sel_ini TABLES it_zycit003_ini STRUCTURE /pws/zycit003
it_zycit125_ini STRUCTURE /pws/zycit125
it_zycit503_ini STRUCTURE /pws/zycit503
it_zycit374_ini STRUCTURE /pws/zycit374
it_zycit396_ini STRUCTURE /pws/zycit396
it_zycit354_ini STRUCTURE /pws/zycit354
USING p_nrseq
CHANGING w_zycit001_ini STRUCTURE /pws/zycit001
w_zycit133_ini STRUCTURE /pws/zycit133
w_zycit133a_ini STRUCTURE /pws/zycit133
w_zycit134_ini STRUCTURE /pws/zycit134.
SELECT SINGLE * FROM /pws/zycit001 INTO w_zycit001_ini
WHERE nrseq EQ p_nrseq.
SELECT SINGLE * FROM /pws/zycit134 INTO w_zycit134_ini
WHERE nrseq EQ p_nrseq.
IF sy-subrc = 0.
IF NOT w_zycit134_ini-cpfproc IS INITIAL.
SELECT SINGLE * FROM /pws/zycit133 INTO w_zycit133_ini
WHERE cpf EQ w_zycit134_ini-cpfproc.
ENDIF.
IF NOT w_zycit134_ini-cpfproc2 IS INITIAL.
SELECT SINGLE * FROM /pws/zycit133 INTO w_zycit133a_ini
WHERE cpf EQ w_zycit134_ini-cpfproc2.
ENDIF.
ENDIF.
SELECT * FROM /pws/zycit003 INTO TABLE it_zycit003_ini
WHERE nrseq EQ p_nrseq.
SELECT * FROM /pws/zycit125 INTO TABLE it_zycit125_ini
WHERE nrseq EQ p_nrseq.
SELECT * FROM /pws/zycit503 INTO TABLE it_zycit503_ini
WHERE nrseq EQ p_nrseq.
SELECT * FROM /pws/zycit374 INTO TABLE it_zycit374_ini
WHERE nrseq EQ p_nrseq.
SELECT * FROM /pws/zycit396 INTO TABLE it_zycit396_ini
WHERE nrseq EQ p_nrseq.
SELECT * FROM /pws/zycit354 INTO TABLE it_zycit354_ini
WHERE nrseq EQ p_nrseq.
ENDFORM. " SEL_INI
*INCLUDE /PWS/LCI_BAPI_GF001F10
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F10 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form check_alteracoes
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM check_alteracoes TABLES t_return STRUCTURE bapiret2
it_zycit003 STRUCTURE /pws/zycit003
it_zycit003_ini STRUCTURE /pws/zycit003
it_zycit003_del STRUCTURE /pws/zycit003
it_zycit125 STRUCTURE /pws/zycit125
it_zycit125_ini STRUCTURE /pws/zycit125
it_zycit125_del STRUCTURE /pws/zycit125
it_zycit503 STRUCTURE /pws/zycit503
it_zycit503_ini STRUCTURE /pws/zycit503
it_zycit503_del STRUCTURE /pws/zycit503
it_zycit374 STRUCTURE /pws/zycit374
it_zycit374_ini STRUCTURE /pws/zycit374
it_zycit374_del STRUCTURE /pws/zycit374
it_zycit396 STRUCTURE /pws/zycit396
it_zycit396_ini STRUCTURE /pws/zycit396
it_zycit396_del STRUCTURE /pws/zycit396
it_zycit354 STRUCTURE /pws/zycit354
it_zycit354_ini STRUCTURE /pws/zycit354
it_zycit354_del STRUCTURE /pws/zycit354
USING w_zycit001 STRUCTURE /pws/zycit001
w_zycit001_ini STRUCTURE /pws/zycit001
w_zycit133 STRUCTURE /pws/zycit133
w_zycit133_ini STRUCTURE /pws/zycit133
w_zycit133a STRUCTURE /pws/zycit133
w_zycit133a_ini STRUCTURE /pws/zycit133
w_zycit134 STRUCTURE /pws/zycit134
w_zycit134_ini STRUCTURE /pws/zycit134
okcode
changing v_changed
v_sair.
DATA:
v_resposta.
sort: it_zycit003, it_zycit003_ini,
it_zycit125, it_zycit125_ini,
it_zycit503, it_zycit503_ini,
it_zycit374, it_zycit374_ini,
it_zycit396, it_zycit396_ini,
it_zycit354, it_zycit354_ini.
loop at it_zycit003.
it_zycit003-mandt = sy-mandt.
modify it_zycit003.
endloop.
loop at it_zycit003_ini.
it_zycit003_ini-mandt = sy-mandt.
modify it_zycit003_ini.
endloop.
loop at it_zycit354.
it_zycit354-mandt = sy-mandt.
modify it_zycit354.
endloop.
loop at it_zycit354_ini.
it_zycit354_ini-mandt = sy-mandt.
modify it_zycit354_ini.
endloop.
loop at it_zycit125.
it_zycit125-mandt = sy-mandt.
modify it_zycit125.
endloop.
loop at it_zycit125_ini.
it_zycit125_ini-mandt = sy-mandt.
modify it_zycit125_ini.
endloop.
loop at it_zycit503.
it_zycit503-mandt = sy-mandt.
modify it_zycit503.
endloop.
loop at it_zycit503_ini.
it_zycit503_ini-mandt = sy-mandt.
modify it_zycit503_ini.
endloop.
loop at it_zycit374.
it_zycit374-mandt = sy-mandt.
modify it_zycit374.
endloop.
loop at it_zycit374_ini.
it_zycit374_ini-mandt = sy-mandt.
modify it_zycit374_ini.
endloop.
loop at it_zycit396.
it_zycit396-mandt = sy-mandt.
modify it_zycit396.
endloop.
loop at it_zycit396_ini.
it_zycit396_ini-mandt = sy-mandt.
modify it_zycit396_ini.
endloop.
IF w_zycit001 NE w_zycit001_ini.
v_changed = 'X'.
ENDIF.
IF w_zycit133 NE w_zycit133_ini.
v_changed = 'X'.
ENDIF.
IF w_zycit133a NE w_zycit133a_ini.
v_changed = 'X'.
ENDIF.
IF w_zycit134 NE w_zycit134_ini.
v_changed = 'X'.
ENDIF.
IF it_zycit003[] NE it_zycit003_ini[].
LOOP AT it_zycit003_ini.
READ TABLE it_zycit003 WITH KEY nrseq = it_zycit003_ini-nrseq
ebeln = it_zycit003_ini-ebeln
ebelp = it_zycit003_ini-ebelp.
IF sy-subrc NE 0.
MOVE it_zycit003_ini TO it_zycit003_del.
APPEND it_zycit003_del.
* Quando apaga o item apaga das demais tabelas
perform delete_dependentes tables it_zycit503
it_zycit374
it_zycit396
it_zycit354
using it_zycit003.
ENDIF.
ENDLOOP.
v_changed = 'X'.
ENDIF.
IF it_zycit125[] NE it_zycit125_ini[].
LOOP AT it_zycit125_ini.
READ TABLE it_zycit125 WITH KEY nrseq = it_zycit125_ini-nrseq
lifnr = it_zycit125_ini-lifnr.
IF sy-subrc NE 0.
MOVE it_zycit125_ini TO it_zycit125_del.
APPEND it_zycit125_del.
ENDIF.
ENDLOOP.
v_changed = 'X'.
ENDIF.
IF it_zycit503[] NE it_zycit503_ini[].
LOOP AT it_zycit503_ini.
READ TABLE it_zycit503 WITH KEY nrseq = it_zycit503_ini-nrseq
EBELN = it_zycit503_ini-EBELN
EBELP = it_zycit503_ini-EBELP
J_1BNBM = it_zycit503_ini-J_1BNBM
MATNR = it_zycit503_ini-MATNR
NIVEL_NVE = it_zycit503_ini-NIVEL_NVE
ATRIBUTO_NVE = It_zycit503_ini-ATRIBUTO_NVE
ESPECIF_NVE = it_zycit503_ini-ESPECIF_NVE.
IF sy-subrc NE 0.
MOVE it_zycit503_ini TO it_zycit503_del.
APPEND it_zycit503_del.
ENDIF.
ENDLOOP.
v_changed = 'X'.
ENDIF.
IF it_zycit374[] NE it_zycit374_ini[].
LOOP AT it_zycit374_ini.
READ TABLE it_zycit374 WITH KEY nrseq = it_zycit374_ini-nrseq
ebeln = it_zycit374_ini-ebeln
ebelp = it_zycit374_ini-ebelp.
IF sy-subrc NE 0.
MOVE it_zycit374_ini TO it_zycit374_del.
APPEND it_zycit374_del.
ENDIF.
ENDLOOP.
v_changed = 'X'.
ENDIF.
IF it_zycit396[] NE it_zycit396_ini[].
LOOP AT it_zycit396_ini.
READ TABLE it_zycit396 WITH KEY nrseq = it_zycit396_ini-nrseq
ebeln = it_zycit396_ini-ebeln
ebelp = it_zycit396_ini-ebelp
indice = it_zycit396_ini-indice.
IF sy-subrc NE 0.
MOVE it_zycit396_ini TO it_zycit396_del.
APPEND it_zycit396_del.
ENDIF.
ENDLOOP.
v_changed = 'X'.
ENDIF.
IF it_zycit354[] NE it_zycit354_ini[].
LOOP AT it_zycit354_ini.
READ TABLE it_zycit354 WITH KEY nrseq = it_zycit354_ini-nrseq
ebeln = it_zycit354_ini-ebeln
ebelp = it_zycit354_ini-ebelp.
IF sy-subrc NE 0.
MOVE it_zycit354_ini TO it_zycit354_del.
APPEND it_zycit354_del.
ENDIF.
ENDLOOP.
v_changed = 'X'.
ENDIF.
IF okcode NE 'SAVE' AND v_changed = 'X'.
CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
EXPORTING
defaultoption = 'Y'
diagnosetext1 = text-001
textline1 = text-002
titel = text-003
IMPORTING
answer = v_resposta
EXCEPTIONS
OTHERS = 1.
IF sy-subrc EQ 0 AND v_resposta EQ 'A'.
PERFORM fill_message TABLES t_return
USING c_messag
'E'
'138'
space
space
space
space.
ELSEIF sy-subrc EQ 0 AND v_resposta EQ 'N'.
CLEAR v_changed.
v_sair = 'X'.
W_zycit001 = W_zycit001_ini.
w_zycit133 = W_zycit133_ini.
w_zycit133a = W_zycit133a_ini.
w_zycit134 = W_zycit134_ini.
it_zycit003[] = it_zycit003_ini[].
it_zycit125[] = it_zycit125_ini[].
it_zycit503[] = it_zycit503_ini[].
it_zycit374[] = it_zycit374_ini[].
it_zycit396[] = it_zycit396_ini[].
it_zycit354[] = it_zycit354_ini[].
ENDIF.
ENDIF.
ENDFORM. " check_alteracoes
*INCLUDE /PWS/LCI_BAPI_GF001F11
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F11 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form delete_dependentes
*&---------------------------------------------------------------------*
form delete_dependentes tables
it_zycit503 STRUCTURE /pws/zycit503
it_zycit374 STRUCTURE /pws/zycit374
it_zycit396 STRUCTURE /pws/zycit396
it_zycit354 STRUCTURE /pws/zycit354
using p_zycit003 structure /pws/zycit003.
delete it_zycit503 where nrseq = p_zycit003-nrseq
and ebeln = p_zycit003-ebeln
and ebelp = p_zycit003-ebelp.
delete it_zycit374 where nrseq = p_zycit003-nrseq
and ebeln = p_zycit003-ebeln
and ebelp = p_zycit003-ebelp.
delete it_zycit396 where nrseq = p_zycit003-nrseq
and ebeln = p_zycit003-ebeln
and ebelp = p_zycit003-ebelp.
delete it_zycit354 where nrseq = p_zycit003-nrseq
and ebeln = p_zycit003-ebeln
and ebelp = p_zycit003-ebelp.
endform. " delete_dependentes
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F11 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form delete_dependentes
*&---------------------------------------------------------------------*
form delete_dependentes tables
it_zycit503 STRUCTURE /pws/zycit503
it_zycit374 STRUCTURE /pws/zycit374
it_zycit396 STRUCTURE /pws/zycit396
it_zycit354 STRUCTURE /pws/zycit354
using p_zycit003 structure /pws/zycit003.
delete it_zycit503 where nrseq = p_zycit003-nrseq
and ebeln = p_zycit003-ebeln
and ebelp = p_zycit003-ebelp.
delete it_zycit374 where nrseq = p_zycit003-nrseq
and ebeln = p_zycit003-ebeln
and ebelp = p_zycit003-ebelp.
delete it_zycit396 where nrseq = p_zycit003-nrseq
and ebeln = p_zycit003-ebeln
and ebelp = p_zycit003-ebelp.
delete it_zycit354 where nrseq = p_zycit003-nrseq
and ebeln = p_zycit003-ebeln
and ebelp = p_zycit003-ebelp.
endform. " delete_dependentes
*INCLUDE /PWS/LCI_BAPI_GF001F12
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F12 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form trata_vinculacao_LI
*&---------------------------------------------------------------------*
FORM trata_vinculacao_li TABLES t_zycit003 STRUCTURE /pws/zycit003.
DATA: t_zycit079 TYPE TABLE OF /pws/zycit079 WITH HEADER LINE.
loop at t_zycit003.
IF NOT t_zycit003-nrseqli IS INITIAL.
UPDATE /pws/zycit079 SET nrseq = t_zycit003-nrseq
WHERE ebeln = t_zycit003-ebeln
AND ebelp = t_zycit003-ebelp
AND nrseqli = t_zycit003-nrseqli.
SELECT SINGLE * FROM /pws/zycit079
WHERE ebeln = t_zycit003-ebeln
AND ebelp = t_zycit003-ebelp
AND nrseqli = t_zycit003-nrseqli.
IF sy-subrc = 0.
/pws/zycit079-nrseq = t_zycit003-nrseq.
PERFORM carrega_log USING '/PWS/ZYCIT079' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit079-nrseqli.
ENDIF.
SELECT * FROM /pws/zycit079 INTO TABLE t_zycit079
WHERE nrseqli EQ t_zycit003-nrseqli
AND nrseq EQ space.
IF sy-subrc NE 0.
UPDATE /pws/zycit078 SET status = 'VIN'
* nrseq = t_zycit003-nrseq
WHERE nrseqli = t_zycit003-nrseqli
AND nrli = t_zycit003-nrli
AND tpli = 'N'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = t_zycit003-nrseqli
AND nrli = t_zycit003-nrli
AND tpli = 'N'.
IF sy-subrc = 0.
/pws/zycit078-status = 'VIN'.
PERFORM carrega_log USING '/PWS/ZYCIT078' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit078-nrseqli.
ENDIF.
ENDIF.
ELSEIF NOT t_zycit003-nrseqlsi IS INITIAL.
UPDATE /pws/zycit079 SET nrseq = t_zycit003-nrseq
WHERE ebeln = t_zycit003-ebeln
AND ebelp = t_zycit003-ebelp
AND nrseqli = t_zycit003-nrseqlsi.
SELECT SINGLE * FROM /pws/zycit079
WHERE ebeln = t_zycit003-ebeln
AND ebelp = t_zycit003-ebelp
AND nrseqli = t_zycit003-nrseqlsi.
IF sy-subrc = 0.
/pws/zycit079-nrseq = t_zycit003-nrseq.
PERFORM carrega_log USING '/PWS/ZYCIT079' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit079-nrseqli.
ENDIF.
SELECT * FROM /pws/zycit079 INTO TABLE t_zycit079
WHERE nrseqli EQ t_zycit003-nrseqlsi
AND nrseq EQ space.
IF sy-subrc NE 0.
UPDATE /pws/zycit078 SET status = 'VIN'
* nrseq = t_zycit003-nrseq
WHERE nrseqli = t_zycit003-nrseqlsi
AND nrli = t_zycit003-nrlsi
AND tpli = 'S'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = t_zycit003-nrseqlsi
AND nrli = t_zycit003-nrlsi
AND tpli = 'S'.
IF sy-subrc = 0.
/pws/zycit078-status = 'VIN'.
PERFORM carrega_log USING '/PWS/ZYCIT078' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit078-nrseqli.
ENDIF.
ENDIF.
ENDIF.
endloop.
ENDFORM. " trata_vinculacao_LI
*INCLUDE /PWS/LCI_BAPI_GF001F13
*----------------------------------------------------------------------*
***INCLUDE /PWS/LCI_BAPI_GF001F13 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Form trata_desvinculacao_li
*&---------------------------------------------------------------------*
FORM trata_desvinculacao_li TABLES t_zycit003 STRUCTURE /pws/zycit003
t_zycit003_ini STRUCTURE /pws/zycit003.
LOOP AT t_zycit003_ini.
READ TABLE t_zycit003 WITH KEY nrseq = t_zycit003_ini-nrseq
ebeln = t_zycit003_ini-ebeln
ebelp = t_zycit003_ini-ebelp.
IF NOT t_zycit003_ini-nrseqli IS INITIAL AND
t_zycit003-nrseqli IS INITIAL.
UPDATE /pws/zycit079 SET nrseq = space
WHERE nrseqli = t_zycit003_ini-nrseqli
AND ebeln = t_zycit003_ini-ebeln
AND ebelp = t_zycit003_ini-ebelp.
SELECT SINGLE * FROM /pws/zycit079
WHERE ebeln = t_zycit003_ini-ebeln
AND ebelp = t_zycit003_ini-ebelp
AND nrseqli = t_zycit003_ini-nrseqli.
IF sy-subrc = 0.
CLEAR /pws/zycit079-nrseq .
PERFORM carrega_log USING '/PWS/ZYCIT079' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit079-nrseqli.
ENDIF.
IF t_zycit003_ini-nrli IS INITIAL.
UPDATE /pws/zycit078 SET status = 'COM'
nrseq = space
WHERE nrseqli = t_zycit003_ini-nrseqli
AND nrli = t_zycit003_ini-nrli
AND tpli = 'N'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = t_zycit003_ini-nrseqli
AND nrli = t_zycit003_ini-nrli
AND tpli = 'N'.
IF sy-subrc = 0.
CLEAR /pws/zycit078-nrseq .
/pws/zycit078-status = 'COM'.
PERFORM carrega_log USING '/PWS/ZYCIT078' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit078-nrseqli.
ENDIF.
ELSE.
UPDATE /pws/zycit078 SET status = 'VAL'
nrseq = space
WHERE nrseqli = t_zycit003_ini-nrseqli
AND nrli = t_zycit003_ini-nrli
AND tpli = 'N'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = t_zycit003_ini-nrseqli
AND nrli = t_zycit003_ini-nrli
AND tpli = 'N'.
IF sy-subrc = 0.
CLEAR /pws/zycit078-nrseq .
/pws/zycit078-status = 'VAL'.
PERFORM carrega_log USING '/PWS/ZYCIT078' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit078-nrseqli.
ENDIF.
ENDIF.
*- Atualiza LI Substitutiva--------------------------------------------*
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli EQ t_zycit003_ini-nrseqli.
IF NOT /pws/zycit078-nrseqlisub IS INITIAL.
UPDATE /pws/zycit079 SET nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND ebeln = t_zycit003_ini-ebeln
AND ebelp = t_zycit003_ini-ebelp.
SELECT SINGLE * FROM /pws/zycit079
WHERE ebeln = t_zycit003_ini-ebeln
AND ebelp = t_zycit003_ini-ebelp
AND nrseqli = /pws/zycit078-nrseqlisub.
IF sy-subrc = 0.
CLEAR /pws/zycit079-nrseq .
PERFORM carrega_log USING '/PWS/ZYCIT079' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit079-nrseqli.
ENDIF.
IF t_zycit003_ini-nrli IS INITIAL.
UPDATE /pws/zycit078 SET status = 'COM'
nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'N'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'N'.
IF sy-subrc = 0.
CLEAR /pws/zycit078-nrseq .
/pws/zycit078-status = 'COM'.
PERFORM carrega_log USING '/PWS/ZYCIT078' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit078-nrseqli.
ENDIF.
ELSE.
UPDATE /pws/zycit078 SET status = 'VAL'
nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'N'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'N'.
IF sy-subrc = 0.
CLEAR /pws/zycit078-nrseq .
/pws/zycit078-status = 'VAL'.
PERFORM carrega_log USING '/PWS/ZYCIT078' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit078-nrseqli.
ENDIF.
ENDIF.
ENDIF.
ELSEIF NOT t_zycit003_ini-nrseqlsi IS INITIAL AND
t_zycit003-nrseqlsi IS INITIAL.
UPDATE /pws/zycit079 SET nrseq = space
WHERE nrseqli = t_zycit003_ini-nrseqlsi
AND ebeln = t_zycit003_ini-ebeln
AND ebelp = t_zycit003_ini-ebelp.
SELECT SINGLE * FROM /pws/zycit079
WHERE ebeln = t_zycit003_ini-ebeln
AND ebelp = t_zycit003_ini-ebelp
AND nrseqli = t_zycit003_ini-nrseqlsi.
IF sy-subrc = 0.
CLEAR /pws/zycit079-nrseq .
PERFORM carrega_log USING '/PWS/ZYCIT079' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit079-nrseqli.
ENDIF.
IF t_zycit003_ini-nrlsi IS INITIAL.
UPDATE /pws/zycit078 SET status = 'COM'
nrseq = space
WHERE nrseqli = t_zycit003_ini-nrseqlsi
AND nrli = t_zycit003_ini-nrlsi
AND tpli = 'S'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = t_zycit003_ini-nrseqlsi
AND nrli = t_zycit003_ini-nrlsi
AND tpli = 'S'.
IF sy-subrc = 0.
CLEAR /pws/zycit078-nrseq .
/pws/zycit078-status = 'COM'.
PERFORM carrega_log USING '/PWS/ZYCIT078' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit078-nrseqli.
ENDIF.
ELSE.
UPDATE /pws/zycit078 SET status = 'VAL'
nrseq = space
WHERE nrseqli = t_zycit003_ini-nrseqlsi
AND nrli = t_zycit003_ini-nrlsi
AND tpli = 'S'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = t_zycit003_ini-nrseqlsi
AND nrli = t_zycit003_ini-nrlsi
AND tpli = 'S'.
IF sy-subrc = 0.
CLEAR /pws/zycit078-nrseq .
/pws/zycit078-status = 'VAL'.
PERFORM carrega_log USING '/PWS/ZYCIT078' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit078-nrseqli.
ENDIF.
ENDIF.
*- Atualiza LI Substitutiva--------------------------------------------*
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli EQ t_zycit003_ini-nrseqlsi.
IF NOT /pws/zycit078-nrseqlisub IS INITIAL.
UPDATE /pws/zycit079 SET nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND ebeln = t_zycit003_ini-ebeln
AND ebelp = t_zycit003_ini-ebelp.
SELECT SINGLE * FROM /pws/zycit079
WHERE ebeln = t_zycit003_ini-ebeln
AND ebelp = t_zycit003_ini-ebelp
AND nrseqli = /pws/zycit078-nrseqlisub.
IF sy-subrc = 0.
CLEAR /pws/zycit079-nrseq .
PERFORM carrega_log USING '/PWS/ZYCIT079' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit079-nrseqli.
ENDIF.
IF t_zycit003_ini-nrlsi IS INITIAL.
UPDATE /pws/zycit078 SET status = 'COM'
nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'S'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'S'.
IF sy-subrc = 0.
CLEAR /pws/zycit078-nrseq .
/pws/zycit078-status = 'COM'.
PERFORM carrega_log USING '/PWS/ZYCIT078' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit078-nrseqli.
ENDIF.
ELSE.
UPDATE /pws/zycit078 SET status = 'VAL'
nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'S'.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'S'.
IF sy-subrc = 0.
CLEAR /pws/zycit078-nrseq .
/pws/zycit078-status = 'VAL'.
PERFORM carrega_log USING '/PWS/ZYCIT078' 'U'
'' '/PWS/SAPMZYCI020' /pws/zycit078-nrseqli.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM. " trata_desvinculacao_li
*INCLUDE /PWS/LCI_BAPI_GF001TOP
FUNCTION-POOL /PWS/CI_BAPI_GF001. "MESSAGE-ID ..
INCLUDE /pws/lci_bapi_gf001x01 .
INCLUDE /PWS/ZYGLLOG.
*INCLUDE /PWS/LCI_BAPI_GF001X01
*----------------------------------------------------------------------*
* INCLUDE /PWS/LCI_BAPI_GF001X01 *
*----------------------------------------------------------------------*
TABLES: /PWS/ZYCIT001,
/PWS/ZYCIT003,
/PWS/ZYCIT125,
/PWS/ZYCIT503,
/pws/zycit374,
/pws/zycit396,
/pws/zycit133,
/pws/zycit134,
/pws/zycit354,
/pws/zycit079,
/pws/zycit078,
/pws/zycit094,
/pws/zycit093.
DATA: BEGIN OF COMMON PART gf001.
CONSTANTS: c_messag(10) TYPE c VALUE '/PWS/ZYCIM'.
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em MESS /PWS/ZYCIM138
Na classe de mensagems /PWS/ZYCIM criar a mensagem 138
Mensagem Txt.breve mensagem
138 Ação cancelada pelo usuário
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F01
...
* >> Início da exclusão: FORM GRAVA_TABELAS
FORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
FORM grava_tabelas changing p_abort.
DATA: itab_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
itab_zycit003_back LIKE itab_zycit003 OCCURS 0 WITH HEADER LINE.
clear p_abort.
* << Fim da inclusão
...
...
WHERE tpgto EQ 'D'.
IF sy-subrc EQ 0.
LOOP AT itab_zycit125.
IF itab_zycit125-lifnr IS INITIAL.
DELETE itab_zycit125 INDEX sy-tabix.
MESSAGE i015 WITH text-223.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
SELECT SINGLE * FROM /pws/zycit001 INTO /pws/zycit001 WHERE
nrseq = /pws/zycie001-nrseq.
IF sy-subrc NE 0.
/pws/zycie001-dtuserc = sy-datlo.
/pws/zycie001-usernamec = sy-uname.
/pws/zycie001-status_e = 'A'.
ELSE.
IF v_tcode EQ '/PWS/ZYCI001_A' .
/pws/zycie001-dtusera = sy-datlo.
/pws/zycie001-usernamea = sy-uname.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
IF ( /pws/zycie001-tpdecl EQ 'DI' AND
/pws/zycie001-regime EQ '05' OR
/pws/zycie001-regime EQ '12' ) OR
( /pws/zycie001-tpdecl EQ 'DSI' AND
/pws/zycie001-regime EQ '09' ).
MOVE: /pws/zycie001-nrseq TO /pws/zycie134-nrseq,
/pws/zycie133-cpf TO /pws/zycie134-cpfproc,
/pws/zycie133a-cpf TO /pws/zycie134-cpfproc2.
IF ts_adm-activetab = 'FC_SD_TR'
OR ts_adm-activetab = 'FC_BX_TR'.
v_qtd_baixa = itab_zycit374-qtd_baixa.
IF ts_adm-activetab = 'FC_SD_TR'.
LOOP AT itab_zycit374 WHERE mark = 'X'.
MOVE ' ' TO itab_zycit374-mark.
MODIFY itab_zycit374 INDEX sy-tabix.
ENDLOOP.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM GRAVA_TABELAS
LOOP AT itab_zycit374 WHERE mark = 'X'.
v_tabix = sy-tabix.
IF sy-subrc = 0.
READ TABLE itab_zycit396 WITH KEY nrseq = itab_zycit374-nrseq
ebeln = itab_zycit374-ebeln
ebelp = itab_zycit374-ebelp.
MOVE v_qtd_baixa TO itab_zycit374-qtd_baixa.
MODIFY itab_zycit374 INDEX v_tabix.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
IF sy-tcode EQ '/PWS/ZYCI001_C' AND v_salvo NE 'X'.
/pws/zycie001-status_e = 'A'.
INSERT INTO /pws/zycit001 VALUES /pws/zycie001.
WHILE sy-subrc NE 0.
PERFORM busca_sequencial.
INSERT INTO /pws/zycit001 VALUES /pws/zycie001.
v_existe = 'S'.
IF NOT v_nrseqerro IS INITIAL.
EXIT.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
ENDLOOP.
READ TABLE itab_zycit374 WITH KEY mark = 'X'.
IF ts_adm-activetab = 'FC_BX_TR'.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
ENDWHILE.
IF /pws/zycie001-nrseq IS INITIAL.
MESSAGE i061 WITH text-137.
EXIT.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
IF v_existe = 'S'.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
MOVE: /pws/zycie134 TO wa_zycit134,
/pws/zycie133 TO wa_zycit133,
* << Fim da inclusão
* >> Início da exclusão: FORM GRAVA_TABELAS
MESSAGE i061 WITH text-008 /pws/zycie001-embarca
text-009 /pws/zycie001-nrseq.
ENDIF.
COMMIT WORK.
v_salvo = 'X'.
IF v_enqueue IS INITIAL.
v_enqueue = 'X'.
CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT001'
EXPORTING
nrseq = /pws/zycie001-nrseq.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
/pws/zycie133a TO wa_zycit133a.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM GRAVA_TABELAS
MODIFY /pws/zycit001 FROM /pws/zycie001.
ENDIF.
IF /pws/zycie001-nrseq IS INITIAL.
MESSAGE i061 WITH text-136.
EXIT.
ENDIF.
SET PARAMETER ID '/PWS/ZYCIP001' FIELD /pws/zycie001-nrseq.
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,
sy-datlo TO it_zycit255-data,
sy-uzeit TO it_zycit255-hora,
sy-uname TO it_zycit255-usuario.
APPEND it_zycit255.
INSERT INTO /pws/zycit255 VALUES it_zycit255.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
CLEAR: /pws/zycie134, /pws/zycie133, /pws/zycie133a.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
MOVE /pws/zycie001 TO wa_zycit001.
* << Fim da exclusão
LOOP AT itab_zycit125.
CLEAR /pws/zycit125.
SELECT SINGLE *
FROM /pws/zycit125
WHERE nrseq EQ /pws/zycie001-nrseq
AND lifnr EQ itab_zycit125-lifnr.
...
...
IF itab_zycit125-tipo NE itab_zycit460-tipo.
MESSAGE s013 WITH text-322 itab_zycit125-lifnr text-323.
v_sair = 'X'.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
IF v_sair = 'X'.
EXIT.
* >> Início da exclusão: FORM GRAVA_TABELAS
ENDIF.
MODIFY /pws/zycit125 FROM TABLE itab_zycit125.
LOOP AT itab_zycit125_aux.
READ TABLE itab_zycit125 WITH KEY
lifnr = itab_zycit125_aux-lifnr.
IF sy-subrc NE 0.
DELETE FROM /pws/zycit125 WHERE nrseq = /pws/zycie001-nrseq
AND lifnr = itab_zycit125_aux-lifnr.
ENDIF.
ENDLOOP.
IF NOT itab_zycit003_del[] IS INITIAL.
LOOP AT itab_zycit003_aux2.
DELETE FROM /pws/zycit374
WHERE nrseq EQ itab_zycit003_aux2-nrseq
AND ebeln EQ itab_zycit003_aux2-ebeln
AND ebelp EQ itab_zycit003_aux2-ebelp.
DELETE FROM /pws/zycit396
WHERE nrseq EQ itab_zycit003_aux2-nrseq
AND ebeln EQ itab_zycit003_aux2-ebeln
AND ebelp EQ itab_zycit003_aux2-ebelp.
ENDLOOP.
IF /pws/zycie001-regime EQ '13'.
LOOP AT itab_zycit003_del.
READ TABLE itab_zycit003
WITH KEY ebeln = itab_zycit003_del-ebeln
ebelp = itab_zycit003_del-ebelp.
IF sy-subrc NE 0.
DELETE FROM /pws/zycit003
WHERE nrseq = /pws/zycie001-nrseq
AND ebeln = itab_zycit003_del-ebeln
AND ebelp = itab_zycit003_del-ebelp.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
ENDLOOP.
ENDIF.
ENDIF.
* << Fim da exclusão
LOOP AT itab_zycit003 WHERE qtd_iten EQ 0.
ENDLOOP.
IF sy-subrc EQ 0.
v_msg = 'X' .
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
IF v_msg EQ 'X'.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
IF v_msg EQ 'X' .
IF NOT /pws/zycie001-nrseq IS INITIAL.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit026
WHERE nrseq = /pws/zycie001-nrseq.
IF sy-subrc = 0.
MESSAGE i015 WITH text-489 text-490 text-491.
EXIT.
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
SELECT SINGLE * FROM /pws/zycit008 "#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_TABELAS
SELECT SINGLE * FROM /pws/zycit008 "#EC CI_NOFIELD
* << Fim da inclusão
WHERE nrseq = /pws/zycie001-nrseq
AND tpgto = 'D'.
IF sy-subrc EQ 0.
MESSAGE i015 WITH text-489 text-490 text-492.
EXIT.
* >> Início da inclusão: FORM GRAVA_TABELAS
ENDIF.
* << Fim da inclusão
ENDIF.
MESSAGE i015 WITH text-261 text-260.
DELETE itab_zycit003 WHERE qtd_iten EQ '0'.
* >> Início da inclusão: FORM GRAVA_TABELAS
ENDIF.
MOVE itab_zycit003[] TO itab_zycit003_back[].
DESCRIBE TABLE itab_zycit003 LINES v_lino.
IF v_lino EQ 0.
CLEAR: /pws/zycie001-waers , /pws/zycie000-waers ,
/pws/zycie001-lifnr , /pws/zycie000-lifnr ,
/pws/zycie001-inco1 , wa_zycit001-waers,
wa_zycit001-lifnr, wa_zycit001-inco1.
ENDIF.
CALL FUNCTION '/PWS/CIBAPI_EMBARQUE_UPDATE'
EXPORTING
zycit001 = /pws/zycie001
okcode = okcode
zycit133 = /pws/zycie133
zycit134 = /pws/zycie134
zycit133a = /pws/zycie133a
IMPORTING
zycit001e = /pws/zycie001
zycit133e = /pws/zycie133
zycit134e = /pws/zycie134
zycit133ae = /pws/zycie133a
v_sair = v_sair
TABLES
t_zycit003 = itab_zycit003
t_return = itab_return
t_zycit125 = itab_zycit125
t_zycit503 = itab_zycit503
t_zycit374 = itab_zycit374
t_zycit396 = itab_zycit396
t_zycit354 = itab_zycit354.
LOOP AT itab_zycit003.
READ TABLE itab_zycit003_back WITH KEY
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
IF sy-subrc = 0.
itab_zycit003-slqtde = itab_zycit003_back-slqtde.
itab_zycit003-uebto = itab_zycit003_back-uebto.
itab_zycit003-uebtk = itab_zycit003_back-uebtk.
itab_zycit003-noinitial = itab_zycit003_back-noinitial.
itab_zycit003-mark = itab_zycit003_back-mark .
itab_zycit003-idnlf = itab_zycit003_back-idnlf.
itab_zycit003-invoiced = itab_zycit003_back-invoiced.
itab_zycit003-sld_da = itab_zycit003_back-sld_da.
MODIFY itab_zycit003.
ENDIF.
ENDLOOP.
IF v_enqueue IS INITIAL and
not /pws/zycie001-nrseq is initial.
v_enqueue = 'X'.
CALL FUNCTION '/PWS/ZYCI_ENQUEUE_ZYCIT001'
EXPORTING
nrseq = /pws/zycie001-nrseq.
ENDIF.
read table itab_return with key type = 'E'
NUMBER = '138'.
if sy-subrc = 0.
message i138.
p_abort = 'X'.
exit.
endif.
IF v_sair = 'X'.
EXIT.
ENDIF.
read table itab_return with key type = 'S'
NUMBER = '017'.
if sy-subrc = 0.
message s017 with itab_return-MESSAGE_V1.
endif.
SET PARAMETER ID '/PWS/ZYCIP001' FIELD /pws/zycie001-nrseq.
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,
sy-datlo TO it_zycit255-data,
sy-uzeit TO it_zycit255-hora,
sy-uname TO it_zycit255-usuario.
APPEND it_zycit255.
INSERT INTO /pws/zycit255 VALUES it_zycit255.
* << Fim da inclusão
ENDIF.
LOOP AT itab_zycit003.
* >> Início da exclusão: FORM GRAVA_TABELAS
itab_zycit003-nrseq = /pws/zycie001-nrseq.
* << Fim da exclusão
IF /pws/zycie001-regime NE '16' AND /pws/zycie001-regime NE '13'
AND /pws/zycie001-regime NE '14'.
CLEAR /pws/zycit013.
MOVE-CORRESPONDING itab_zycit003 TO /pws/zycit013.
MODIFY /pws/zycit013.
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
ENDLOOP.
DELETE FROM /pws/zycit503 WHERE nrseq = /pws/zycie001-nrseq.
MODIFY /pws/zycit503 FROM TABLE itab_zycit503.
IF v_sair NE 'X'.
LOOP AT itab_zycit003.
itab_zycit003-nrseq = /pws/zycie001-nrseq.
MODIFY itab_zycit003 INDEX sy-tabix.
* << Fim da exclusão
ENDLOOP.
* >> Início da exclusão: FORM GRAVA_TABELAS
MODIFY /pws/zycit003 FROM TABLE itab_zycit003.
ELSE.
EXIT.
ENDIF.
* << Fim da exclusão
LOOP AT itab_zycit467_del.
SELECT SINGLE * FROM /pws/zycit463 INTO wa_zycit463
WHERE nrseqda = itab_zycit467_del-nrseqda
...
...
AND /pws/zycie001-regime NE '14'.
CLEAR /pws/zycit013.
MOVE-CORRESPONDING itab_zycit003_aux2 TO /pws/zycit013.
MODIFY /pws/zycit013.
CLEAR itab_zycit013.
MOVE /pws/zycit013 TO itab_zycit013.
MODIFY itab_zycit013 TRANSPORTING slqtde menge
WHERE ebeln = itab_zycit003_aux2-ebeln
AND ebelp = itab_zycit003_aux2-ebelp.
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
DELETE FROM /pws/zycit003
WHERE nrseq = itab_zycit003_aux2-nrseq
AND ebeln = itab_zycit003_aux2-ebeln
AND ebelp = itab_zycit003_aux2-ebelp.
* << Fim da exclusão
IF itab_zycit003_aux2-menge EQ itab_zycit003_aux2-slqtde.
DELETE itab_zycit013
WHERE ebeln = itab_zycit003_aux2-ebeln
AND ebelp = itab_zycit003_aux2-ebelp.
DELETE FROM /pws/zycit013
WHERE ebeln = itab_zycit003_aux2-ebeln
AND ebelp = itab_zycit003_aux2-ebelp.
ENDIF.
CLEAR itab_zycit003_aux2.
ENDIF.
...
...
REFRESH itab_zycit003_aux2.
MOVE itab_zycit003[] TO itab_zycit003_aux2[].
DESCRIBE TABLE itab_zycit003 LINES v_lino.
IF v_lino EQ 0.
DELETE FROM /pws/zycit036
WHERE nrseq = /pws/zycie001-nrseq.
CLEAR: /pws/zycie001-waers , /pws/zycie000-waers ,
/pws/zycie001-lifnr , /pws/zycie000-lifnr ,
/pws/zycie001-inco1 , wa_zycit001-waers,
wa_zycit001-lifnr, wa_zycit001-inco1.
* >> Início da exclusão: FORM GRAVA_TABELAS
MODIFY /pws/zycit001 FROM /pws/zycie001.
ENDIF.
IF ( /pws/zycie001-tpdecl EQ 'DI' AND
/pws/zycie001-regime EQ '05' OR
/pws/zycie001-regime EQ '12' ) OR
( /pws/zycie001-tpdecl EQ 'DSI' AND
/pws/zycie001-regime EQ '09' ).
MOVE: /pws/zycie001-nrseq TO /pws/zycie134-nrseq,
/pws/zycie133-cpf TO /pws/zycie134-cpfproc,
/pws/zycie133a-cpf TO /pws/zycie134-cpfproc2.
MODIFY /pws/zycit134 FROM /pws/zycie134.
IF ts_adm-activetab = 'FC_SD_TR'
OR ts_adm-activetab = 'FC_BX_TR'.
v_qtd_baixa = itab_zycit374-qtd_baixa.
IF ts_adm-activetab = 'FC_SD_TR'.
LOOP AT itab_zycit374 WHERE mark = 'X'.
MOVE ' ' TO itab_zycit374-mark.
MODIFY itab_zycit374 INDEX sy-tabix.
ENDLOOP.
ENDIF.
LOOP AT itab_zycit374 WHERE mark = 'X'.
v_tabix = sy-tabix.
IF sy-subrc = 0.
READ TABLE itab_zycit396 WITH KEY nrseq = itab_zycit374-nrseq
ebeln = itab_zycit374-ebeln
ebelp = itab_zycit374-ebelp.
MOVE v_qtd_baixa TO itab_zycit374-qtd_baixa.
MODIFY itab_zycit374 INDEX v_tabix.
ENDIF.
ENDLOOP.
READ TABLE itab_zycit374 WITH KEY mark = 'X'.
DELETE FROM /pws/zycit374 WHERE nrseq = itab_zycit003-nrseq
AND ebelp = itab_zycit003-ebelp
AND ebeln = itab_zycit003-ebeln.
MODIFY /pws/zycit374 FROM TABLE itab_zycit374.
IF ts_adm-activetab = 'FC_BX_TR'.
DELETE FROM /pws/zycit396 WHERE nrseq = itab_zycit374-nrseq
AND ebeln = itab_zycit374-ebeln
AND ebelp = itab_zycit374-ebelp.
MODIFY /pws/zycit396 FROM TABLE itab_zycit396.
ENDIF.
ENDIF.
MODIFY /pws/zycit133 FROM /pws/zycie133.
MODIFY /pws/zycit133 FROM /pws/zycie133a.
MOVE: /pws/zycie134 TO wa_zycit134,
/pws/zycie133 TO wa_zycit133,
/pws/zycie133a TO wa_zycit133a.
ENDIF.
SELECT SINGLE * FROM /pws/zycit094 "#EC CI_NOFIRST
INTO /pws/zycit094
WHERE nrseq = /pws/zycie001-nrseq.
IF sy-subrc = 0.
SELECT SINGLE * FROM
/pws/zycit093 INTO /pws/zycit093
WHERE nrseqce = /pws/zycit094-nrseqce.
IF sy-subrc = 0.
/pws/zycit093-meiotransp = /pws/zycie001-meioemba.
/pws/zycit093-embarca = /pws/zycie001-navio.
IF /pws/zycit000 IS INITIAL.
SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie001-bukrs.
SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.
* << Fim da exclusão
ENDIF.
* >> Início da exclusão: FORM GRAVA_TABELAS
IF /pws/zycit000-flagbl IS INITIAL.
/pws/zycit093-paemb = /pws/zycit001-paorigem.
/pws/zycit093-padest = /pws/zycit001-padest.
/pws/zycit093-paispae = /pws/zycit001-paispao.
ENDIF.
MODIFY /pws/zycit093.
ENDIF.
ENDIF.
* << Fim da exclusão
IF NOT /pws/zycie356 IS INITIAL.
MODIFY /pws/zycit356 FROM /pws/zycie356.
ENDIF.
IF /pws/zycie001-regime EQ '14' OR /pws/zycie001-regime EQ '16'.
PERFORM salva_dados_rc.
PERFORM salva_dados_da.
ENDIF.
DELETE FROM /pws/zycit001 WHERE nrseq = space.
ENDIF.
...
...
ENDLOOP.
EXIT.
ENDIF.
PERFORM carrega_saldo.
PERFORM lock_pedido.
ENDIF.
LOOP AT itab_zycit003.
IF /pws/zycie001-regime NE '16' AND /pws/zycie001-regime NE '13'.
READ TABLE itab_zycit013 WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
* >> Início da inclusão: FORM RECUPERANDO_ITENS
if sy-subrc = 0.
* << Fim da inclusão
MOVE: itab_zycit013-slqtde TO itab_zycit003-slqtde,
itab_zycit013-menge TO itab_zycit003-menge,
itab_zycit013-uebto TO itab_zycit003-uebto,
itab_zycit013-uebtk TO itab_zycit003-uebtk,
'X' TO itab_zycit003-noinitial.
* >> Início da inclusão: FORM RECUPERANDO_ITENS
endif.
* << Fim da inclusão
ENDIF.
PERFORM calc_saldo.
...
...
* >> Início da exclusão: FORM VINCULACAO_LI
PERFORM grava_tabelas.
* << Fim da exclusão
CLEAR: itab_zycit079 ,
itab_zycit078 ,
itab_log ,
itab_ncm ,
itab_vincula ,
...
...
* >> Início da exclusão: FORM DESVINCULA_LI
PERFORM grava_tabelas.
* << Fim da exclusão
ENDFORM.
...
...
...
* >> Início da exclusão: FORM REALIZANDO_VIN_LI
UPDATE /pws/zycit003 SET nrseqli = itab_vincula-nrseqli
nrli = itab_vincula-nrli
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM REALIZANDO_VIN_LI
read table itab_zycit354 with key nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
if sy-subrc = 0.
clear itab_zycit354-liobrig.
modify itab_zycit354 index sy-tabix.
endif.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli EQ itab_vincula-nrseqli.
IF NOT /pws/zycit078-nrseqlisuba IS INITIAL.
MOVE 'X' TO itab_zycit003-nrlisub.
MODIFY itab_zycit003 TRANSPORTING nrlisub
* >> Início da exclusão: FORM REALIZANDO_VIN_LI
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
UPDATE /pws/zycit003 SET nrlisub = 'X'
* << Fim da exclusão
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
ENDIF.
CLEAR itab_zycit079. REFRESH itab_zycit079.
SELECT * FROM /pws/zycit079 INTO TABLE itab_zycit079
WHERE nrseqli EQ /pws/zycit078-nrseqli.
READ TABLE itab_zycit079 WITH KEY ebeln = itab_vincula-ebeln
ebelp = itab_vincula-ebelp.
IF sy-subrc EQ 0.
MOVE: /pws/zycit078-nrseqd TO itab_zycit003-nrseqd ,
/pws/zycit078-nrdrawback TO itab_zycit003-nrdrawback,
/pws/zycit078-modalidade TO itab_zycit003-modalidade.
MODIFY itab_zycit003 TRANSPORTING nrseqd
nrdrawback
modalidade
* >> Início da exclusão: FORM REALIZANDO_VIN_LI
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
UPDATE /pws/zycit003 SET nrseqd = /pws/zycit078-nrseqd
nrdrawback = /pws/zycit078-nrdrawback
modalidade = /pws/zycit078-modalidade
* << Fim da exclusão
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
* >> Início da exclusão: FORM REALIZANDO_VIN_LI
ENDIF.
UPDATE /pws/zycit079 SET nrseq = /pws/zycie001-nrseq
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseqli = itab_vincula-nrseqli.
SELECT * FROM /pws/zycit079 INTO TABLE itab_zycit079
WHERE nrseqli EQ /pws/zycit078-nrseqli
AND nrseq EQ space.
IF sy-subrc NE 0.
UPDATE /pws/zycit078 SET status = 'VIN'
nrseq = /pws/zycie001-nrseq
WHERE nrseqli = itab_vincula-nrseqli
AND nrli = itab_vincula-nrli
AND tpli = 'N'.
* << Fim da exclusão
ENDIF.
ENDFORM.
FORM realizando_vin_lsi.
MOVE: itab_vincula-nrseqli TO itab_zycit003-nrseqlsi,
itab_vincula-nrli TO itab_zycit003-nrlsi.
MODIFY itab_zycit003 TRANSPORTING nrseqlsi nrlsi
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
* >> Início da exclusão: FORM REALIZANDO_VIN_LSI
UPDATE /pws/zycit003 SET nrseqlsi = itab_vincula-nrseqli
nrlsi = itab_vincula-nrli
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM REALIZANDO_VIN_LSI
read table itab_zycit354 with key nrseq = itab_zycit003-nrseq
ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
if sy-subrc = 0.
clear itab_zycit354-liobrig.
modify itab_zycit354 index sy-tabix.
endif.
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli EQ itab_vincula-nrseqli.
IF NOT /pws/zycit078-nrseqlisuba IS INITIAL.
MOVE 'X' TO itab_zycit003-nrlsisub.
MODIFY itab_zycit003 TRANSPORTING nrlsisub
* >> Início da exclusão: FORM REALIZANDO_VIN_LSI
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
UPDATE /pws/zycit003 SET nrlsisub = 'X'
* << Fim da exclusão
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseq = /pws/zycie001-nrseq.
* >> Início da exclusão: FORM REALIZANDO_VIN_LSI
ENDIF.
UPDATE /pws/zycit079 SET nrseq = /pws/zycie001-nrseq
WHERE ebeln = itab_vincula-ebeln
AND ebelp = itab_vincula-ebelp
AND nrseqli = itab_vincula-nrseqli.
SELECT * FROM /pws/zycit079 INTO TABLE itab_zycit079
WHERE nrseqli EQ /pws/zycit078-nrseqli
AND nrseq EQ space.
IF sy-subrc NE 0.
UPDATE /pws/zycit078 SET status = 'VIN'
nrseq = /pws/zycie001-nrseq
WHERE nrseqli = itab_vincula-nrseqli
AND nrli = itab_vincula-nrli
AND tpli = 'S'.
* << Fim da exclusão
ENDIF.
ENDFORM.
FORM realizando_desv_li.
* >> Início da exclusão: FORM REALIZANDO_DESV_LI
UPDATE /pws/zycit079 SET nrseq = space
WHERE nrseqli = itab_zycit003-nrseqli
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
IF itab_zycit003-nrli IS INITIAL.
UPDATE /pws/zycit078 SET status = 'COM'
nrseq = space
WHERE nrseqli = itab_zycit003-nrseqli
AND nrli = itab_zycit003-nrli
AND tpli = 'N'.
ELSE.
UPDATE /pws/zycit078 SET status = 'VAL'
nrseq = space
WHERE nrseqli = itab_zycit003-nrseqli
AND nrli = itab_zycit003-nrli
AND tpli = 'N'.
ENDIF.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli EQ itab_zycit003-nrseqli.
IF NOT /pws/zycit078-nrseqlisub IS INITIAL.
UPDATE /pws/zycit079 SET nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
IF itab_zycit003-nrli IS INITIAL.
UPDATE /pws/zycit078 SET status = 'COM'
nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'N'.
ELSE.
UPDATE /pws/zycit078 SET status = 'VAL'
nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'N'.
ENDIF.
ENDIF.
* << Fim da exclusão
MOVE: space TO itab_zycit003-nrseqli ,
space TO itab_zycit003-nrlisub ,
space TO itab_zycit003-nrli ,
space TO itab_zycit003-nrseqd ,
space TO itab_zycit003-nrdrawback,
space TO itab_zycit003-modalidade.
MODIFY itab_zycit003.
MESSAGE s015 WITH text-115.
ENDFORM.
FORM realizando_desv_lsi.
* >> Início da exclusão: FORM REALIZANDO_DESV_LSI
UPDATE /pws/zycit079 SET nrseq = space
WHERE nrseqli = itab_zycit003-nrseqlsi
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
IF itab_zycit003-nrlsi IS INITIAL.
UPDATE /pws/zycit078 SET status = 'COM'
nrseq = space
WHERE nrseqli = itab_zycit003-nrseqlsi
AND nrli = itab_zycit003-nrlsi
AND tpli = 'S'.
ELSE.
UPDATE /pws/zycit078 SET status = 'COM'
nrseq = space
WHERE nrseqli = itab_zycit003-nrseqlsi
AND nrli = itab_zycit003-nrlsi
AND tpli = 'S'.
ENDIF.
SELECT SINGLE * FROM /pws/zycit078
WHERE nrseqli EQ itab_zycit003-nrseqlsi.
IF NOT /pws/zycit078-nrseqlisub IS INITIAL.
UPDATE /pws/zycit079 SET nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND ebeln = itab_zycit003-ebeln
AND ebelp = itab_zycit003-ebelp.
IF itab_zycit003-nrlsi IS INITIAL.
UPDATE /pws/zycit078 SET status = 'COM'
nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'S'.
ELSE.
UPDATE /pws/zycit078 SET status = 'COM'
nrseq = space
WHERE nrseqli = /pws/zycit078-nrseqlisub
AND tpli = 'S'.
ENDIF.
ENDIF.
* << Fim da exclusão
MOVE: space TO itab_zycit003-nrseqlsi ,
space TO itab_zycit003-nrlsisub ,
space TO itab_zycit003-nrlsi .
MODIFY itab_zycit003.
MESSAGE s015 WITH text-115.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F02
...
FORM verifica_alteracoes.
* >> Início da inclusão: FORM VERIFICA_ALTERACOES
PERFORM grava_tabelas changing v_abort.
* << Fim da inclusão
* >> Início da exclusão: FORM VERIFICA_ALTERACOES
IF ( itab_zycit003[] NE itab_zycit003_aux2[] OR
/pws/zycie001 NE wa_zycit001 OR
itab_zycit125[] NE itab_zycit125_aux[] ) AND
NOT /pws/zycie001-j_1bbranch IS INITIAL .
CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
EXPORTING
defaultoption = 'Y'
diagnosetext1 = text-012
textline1 = text-065
titel = text-064
IMPORTING
answer = v_resposta
EXCEPTIONS
OTHERS = 1.
IF sy-subrc EQ 0 AND v_resposta EQ 'J'.
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ALTERACOES
if v_abort = 'X'.
exit.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM VERIFICA_ALTERACOES
ENDIF.
* << Fim da exclusão
ENDFORM.
...
...
itab_zycit234-flag_5 IS INITIAL AND
itab_zycit234-flag_6 IS INITIAL AND
itab_zycit234-flag_7 IS INITIAL AND
itab_zycit234-flag_8 IS INITIAL AND
itab_zycit234-flag_9 IS INITIAL AND
itab_zycit234-flag_10 IS INITIAL.
v_msg_a = 0.
ENDIF.
ENDLOOP.
IF ( v_msg_a = '0' AND v_msg_n <> '1' ).
* >> Início da exclusão: FORM LOG_MENSAGENS
MODIFY /pws/zycit354 FROM TABLE itab_zycit354.
* << Fim da exclusão
ELSEIF ( v_msg_a <> '0' AND v_msg_n = '1' ) OR
( v_msg_a = '0' AND v_msg_n = '1' ).
CALL FUNCTION 'MESSAGES_SHOW'
EXPORTING
object = '/PWS/SAPMZYCI001'
i_amodal_window = ' '.
CALL FUNCTION 'MESSAGES_INITIALIZE'.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM LOG_MENSAGENS
MODIFY /pws/zycit354 FROM TABLE itab_zycit354.
* << Fim da exclusão
ENDFORM.
...
...
CALL SCREEN '0601' STARTING AT 7 8 ENDING AT 89 12.
CLEAR itab_logpexpam.
REFRESH itab_logpexpam.
ENDIF.
IF /pws/zycie001-werks IS INITIAL.
READ TABLE itab_zycit003 INDEX 1.
MOVE itab_zycit003-werks TO /pws/zycie001-werks.
* >> Início da exclusão: FORM LOAD_DATA
ENDIF.
IF NOT /pws/zycie001-bukrs IS INITIAL AND
/pws/zycie001-nrseq IS INITIAL.
SELECT * FROM /pws/zyglt006
INTO TABLE itab_zyglt006
WHERE codmod EQ 'D'.
IF sy-subrc EQ 0.
READ TABLE itab_zyglt006 WITH KEY
bukrs = /pws/zycie001-bukrs
j_1bbranch = /pws/zycie001-j_1bbranch.
IF sy-subrc EQ 0.
PERFORM find_nrseq_emp USING itab_zyglt006-range
CHANGING /pws/zycie001-nrseq.
ELSE.
LOOP AT itab_zyglt006 WHERE bukrs EQ /pws/zycie001-bukrs
AND j_1bbranch NE /pws/zycie001-j_1bbranch
AND j_1bbranch NE space.
MESSAGE i061 WITH text-135.
EXIT.
ENDLOOP.
READ TABLE itab_zyglt006 WITH KEY bukrs = /pws/zycie001-bukrs
j_1bbranch = space.
IF sy-subrc EQ 0.
PERFORM find_nrseq_emp USING itab_zyglt006-range
CHANGING /pws/zycie001-nrseq.
ELSE.
MESSAGE i061 WITH text-136.
ENDIF.
ENDIF.
ELSE.
PERFORM find_nrseqc.
PERFORM find_embarca.
ENDIF.
* << Fim da exclusão
ENDIF.
PERFORM: busca_cnpj,
load_text.
IF v_tcode EQ ' '.
v_tcode = sy-tcode.
ENDIF.
SELECT SINGLE name
FROM j_1bbranch
INTO (v_descrimp)
WHERE bukrs = /pws/zycie001-bukrs
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001F03
...
* >> Início da exclusão: FORM GRAVAR_CUSTOS
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVAR_CUSTOS
PERFORM grava_tabelas CHANGING v_abort.
IF v_abort = 'X'.
EXIT.
ENDIF.
* << Fim da inclusão
REFRESH itab_zycit016.
CLEAR itab_zycit016.
...
...
FORM carrega_saldo.
IF sy-tcode EQ '/PWS/ZYCI001_C' AND v_salvo NE 'X'.
* >> Início da exclusão: FORM CARREGA_SALDO
PERFORM busca_sequencial.
* << Fim da exclusão
ENDIF.
...
...
LOOP AT itab_zycit013.
READ TABLE itab_zycit003_util WITH KEY
ebeln = itab_zycit013-ebeln
ebelp = itab_zycit013-ebelp.
IF sy-subrc NE 0.
itab_pedido_temp-ebeln = itab_zycit013-ebeln.
itab_pedido_temp-ebelp = itab_zycit013-ebelp.
APPEND itab_pedido_temp.
ENDIF.
ENDLOOP.
* >> Início da exclusão: FORM CARREGA_SALDO
DELETE itab_zycit003_util WHERE nrseq EQ /pws/zycie001-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_SALDO
DELETE itab_zycit003_util WHERE nrseq EQ /pws/zycie001-nrseq OR
nrseq IS initial.
* << Fim da inclusão
LOOP AT itab_zycit003 .
itab_zycit003_util-nrseq = itab_zycit003-nrseq.
itab_zycit003_util-ebeln = itab_zycit003-ebeln.
itab_zycit003_util-ebelp = itab_zycit003-ebelp.
itab_zycit003_util-qtd_iten = itab_zycit003-qtd_iten.
APPEND itab_zycit003_util.
ENDLOOP.
IF NOT itab_pedido_temp[] IS INITIAL.
IF /pws/zycie001-regime = '16' AND /pws/zycie001-tpdecl = 'DI' AND
sy-subrc = 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001I01
...
ENDIF.
LEAVE PROGRAM .
ELSE.
LEAVE PROGRAM.
ENDIF.
WHEN '0050'.
IF sy-tcode NE '/PWS/ZYCI001_E'.
IF v_msg EQ 'E' .
EXIT.
ENDIF.
* >> Início da exclusão: MODULE USER_COMMAND_EXIT
LOOP AT itab_zycit003_aux2.
READ TABLE itab_zycit003
WITH KEY nrseq = itab_zycit003_aux2-nrseq
ebeln = itab_zycit003_aux2-ebeln
ebelp = itab_zycit003_aux2-ebelp.
IF sy-subrc = 0.
MOVE itab_zycit003-invoiced TO itab_zycit003_aux2-invoiced.
MODIFY itab_zycit003_aux2.
ENDIF.
ENDLOOP.
IF ( itab_zycit003[] NE itab_zycit003_aux2[] OR
/pws/zycie001 NE wa_zycit001 OR
itab_zycit125[] NE itab_zycit125_aux[] OR
/pws/zycie133 NE wa_zycit133 OR
/pws/zycie133a NE wa_zycit133a ) AND
NOT /pws/zycie001-j_1bbranch IS INITIAL .
CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'
EXPORTING
defaultoption = 'Y'
diagnosetext1 = text-012
textline1 = text-011
titel = text-010
IMPORTING
answer = v_resposta
EXCEPTIONS
OTHERS = 1.
IF sy-subrc EQ 0 AND v_resposta EQ 'J'.
* << Fim da exclusão
IF /pws/zycie001-dtprevemb > /pws/zycie001-dtprevcheg.
IF NOT /pws/zycie001-dtprevcheg IS INITIAL.
MESSAGE i015 WITH text-250 text-251 text-252.
ENDIF.
ELSE.
MOVE itab_zycit003[] TO itab_zycit003_ver[].
LOOP AT itab_zycit003_ver.
v_qtd_exc2 = 0.
v_qtd_exc22 = 0.
SELECT SUM( qtd_iten ) FROM /pws/zycit003
INTO v_qtd_exc22
WHERE ebeln = itab_zycit003_ver-ebeln
AND ebelp = itab_zycit003_ver-ebelp. "#EC CI_NOFIRST
v_qtd_exc2 = itab_zycit003_ver-uebto *
itab_zycit003_ver-menge / 100.
v_qtd_exc2 = v_qtd_exc2 + itab_zycit003_ver-menge.
IF itab_zycit003_ver-qtd_iten > v_qtd_exc22.
itab_zycit003_ver-qtd_iten =
v_qtd_exc2 - itab_zycit003_ver-qtd_iten.
READ TABLE itab_zycit003
WITH KEY nrseq = itab_zycit003_ver-nrseq
ebeln = itab_zycit003_ver-ebeln
ebelp = itab_zycit003_ver-ebelp.
itab_zycit003-qtd_iten = itab_zycit003_ver-qtd_iten.
MODIFY itab_zycit003 TRANSPORTING qtd_iten
WHERE nrseq = itab_zycit003_ver-nrseq
AND ebeln = itab_zycit003_ver-ebeln
AND ebelp = itab_zycit003_ver-ebelp.
ENDIF.
ENDLOOP.
* >> Início da exclusão: MODULE USER_COMMAND_EXIT
PERFORM grava_tabelas.
ENDIF.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_EXIT
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: MODULE USER_COMMAND_EXIT
IF v_resposta EQ 'A'.
CLEAR v_resposta.
EXIT.
* << Fim da exclusão
ENDIF.
ENDIF.
SET PARAMETER ID '/PWS/ZYCIP001' FIELD /pws/zycie001-nrseq.
CLEAR:
v_resposta, v_cont,
/pws/zycie001, /pws/zycie000, /pws/zycie000a, /pws/zycie003.
FREE:
itab_zycit003_aux2.
IF sy-tcode = '/PWS/ZYCI001_C'
OR okcode = '%EX'.
CLEAR: v_dposto, v_ddespach, v_dagente.
...
...
WHEN 'DESM'.
v_mark = ' '.
IF ts_embar-activetab EQ 'FC_DA'.
LOOP AT itab_zycit003.
itab_zycit003-mark = ' '.
MODIFY itab_zycit003.
ENDLOOP.
ENDIF.
WHEN 'SAVE'.
PERFORM atualiza_itens.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
endif.
* << Fim da inclusão
IF NOT v_sair IS INITIAL.
EXIT.
ENDIF.
IF /pws/zycie001-nrseq IS INITIAL.
EXIT.
ENDIF.
PERFORM log_mensagens.
LOOP AT itab_zycit125 WHERE lifnr EQ space.
ENDLOOP.
IF sy-subrc NE 0.
...
...
EXIT.
ENDIF.
SELECT SINGLE * FROM /pws/zycit026 "#EC CI_NOFIELD
WHERE nrseq EQ /pws/zycie001-nrseq
AND status EQ 'A'.
IF sy-subrc IS INITIAL.
MESSAGE w015 WITH text-512 text-513.
EXIT.
ENDIF.
IF sy-tcode EQ '/PWS/ZYCI001_C' AND v_salvo NE 'X'.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM busca_sequencial.
* << Fim da exclusão
ELSE.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
endif.
* << Fim da inclusão
ENDIF.
ENDIF.
PERFORM atualiza_variaveis.
SELECT SINGLE * FROM /pws/zycit120
WHERE modalidade EQ /pws/zycie001-modalidade.
IF NOT /pws/zycit120-checkdi IS INITIAL.
SELECT * FROM /pws/zycit100 "#EC CI_NOFIRST
INTO TABLE it_100_temp
WHERE nrseq EQ /pws/zycie001-nrseq.
IF sy-subrc EQ 0.
MESSAGE s015 WITH text-181 text-182.
EXIT.
ENDIF.
ENDIF.
...
...
itab_zycit125-mark = 'X'.
MODIFY itab_zycit125.
ENDLOOP.
WHEN 'FC_DA'.
LOOP AT itab_zycit003.
itab_zycit003-mark = 'X'.
MODIFY itab_zycit003.
ENDLOOP.
ENDCASE.
WHEN 'FACPED'.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
endif.
* << Fim da inclusão
PERFORM call_facped.
WHEN 'DETITEM'.
PERFORM trata_detitem.
...
...
ENDIF.
IF v_tcode EQ '/PWS/ZYCI001_E'.
v_tcode = '/PWS/ZYCI001_A'.
ENDIF.
WHEN 'DI' OR 'ANA'.
IF /pws/zycie001-modalidade EQ '02'.
MESSAGE i013 WITH text-202.
EXIT.
ENDIF.
IF v_status_s NE 0.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
endif.
* << Fim da inclusão
ENDIF.
PERFORM check USING vl_erro.
IF NOT vl_erro IS INITIAL.
MESSAGE e013 WITH text-234.
ENDIF.
CLEAR: v_errodb, v_pedidodb.
PERFORM verif_db USING v_errodb
v_pedidodb.
IF NOT v_errodb IS INITIAL.
MESSAGE e015 WITH text-046 v_pedidodb text-469.
...
...
PERFORM call_di_mult.
ELSE.
PERFORM call_di.
ENDIF.
SELECT SINGLE status
FROM /pws/zycit001
INTO /pws/zycie001-status
WHERE nrseq = /pws/zycie001-nrseq.
WHEN 'FAT'.
IF v_status_s NE 0.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0050
ENDIF.
* << Fim da inclusão
IF v_sair EQ 'X'.
EXIT.
ENDIF.
PERFORM verifica_peso.
PERFORM call_fatura.
WHEN 'PB_HELP'.
...
...
MESSAGE i013 WITH text-202.
EXIT.
ENDIF.
PERFORM verifica_drawback_li USING v_pedidodb.
IF NOT v_pedidodb IS INITIAL.
MESSAGE e015 WITH text-046 v_pedidodb text-519.
CLEAR: v_pedidodb.
EXIT.
ENDIF.
IF v_status_s NE 0.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
endif.
* << Fim da inclusão
PERFORM call_bl.
ELSE.
PERFORM call_bl.
ENDIF.
SELECT *
FROM /pws/zycit094 "#EC CI_NOFIRST
INTO TABLE itab_zycit094
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseq.
WHEN 'FRETE'.
IF v_status_s NE 0.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
endif.
* << Fim da inclusão
ENDIF.
PERFORM call_frete.
WHEN 'DEMURRAGE'.
IF v_status_s NE 0.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
endif.
* << Fim da inclusão
ENDIF.
PERFORM call_demurrage.
WHEN 'NOTA'.
IF /pws/zycie001-modalidade EQ '02'.
MESSAGE i013 WITH text-202.
EXIT.
ENDIF.
IF v_status_s NE 0.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
endif.
* << Fim da inclusão
ENDIF.
CLEAR v_fat.
IF NOT itab_zycit003[] IS INITIAL.
SELECT * FROM /pws/zycit263 INTO TABLE itab_zycit263
WHERE nrseq = /pws/zycie001-nrseq
AND eliminado = space.
ENDIF.
IF NOT itab_zycit263[] IS INITIAL.
REFRESH itab_temp_seq_pgfat.
LOOP AT itab_zycit263.
...
...
MESSAGE i013 WITH text-330.
EXIT.
ENDIF.
ENDIF.
PERFORM call_bt.
ELSE.
PERFORM call_rec.
ENDIF.
WHEN 'CO'.
IF v_status_s NE 0.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0050
ENDIF.
* << Fim da inclusão
PERFORM call_corigem.
WHEN 'CACL'.
IF v_status_s NE 0.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0050
ENDIF.
* << Fim da inclusão
PERFORM call_cacl.
WHEN 'CEMB'.
PERFORM call_cemb.
WHEN 'DETITEM'.
PERFORM trata_detitem.
WHEN 'COEMBAR'.
...
...
titel = text-456
IMPORTING
answer = v_resposta
EXCEPTIONS
OTHERS = 1.
IF v_resposta EQ 'J'.
/pws/zycie001-status = 'EN'.
/pws/zycie001-status_e = 'E'.
/pws/zycie001-dtencer = sy-datlo.
PERFORM encerr_al.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
endif.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
CLEAR okcode.
EXIT.
ENDIF.
EXPORT v_tcode TO MEMORY ID 'V_TCODE'.
IF v_status_s = 1.
SET PARAMETER ID '/PWS/ZYCIP001' FIELD /pws/zycie001-nrseq.
AUTHORITY-CHECK OBJECT 'S_TCODE'
...
...
WHEN 'DLEGAIS'.
PERFORM call_dados_legais.
WHEN 'ZYCET042'.
CALL TRANSACTION '/PWS/ZYCET042'. "#EC CI_CALLTA
WHEN 'DA'.
IF v_status_s NE 0.
* >> Início da exclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0050
PERFORM grava_tabelas changing v_abort.
if v_abort = 'X'.
exit.
endif.
* << Fim da inclusão
ENDIF.
PERFORM call_da.
SELECT SINGLE status
FROM /pws/zycit001
INTO /pws/zycie001-status
WHERE nrseq = /pws/zycie001-nrseq.
WHEN 'SELE_DA'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI001X01
...
* >> Início da inclusão:
data: v_abort.
* << Fim da inclusão
DATA: END OF COMMON PART a.