Módulo: DOC. IMPORTAÇÃO
Funcionalidade: LI
Data/Hora da Publicação: 18/09/2009 00:00:00
Data/Hora Última Alteração: 09/03/2010 17:31:26
Descrição da Nota: NECESSÁRIO EXIT DE LI NO BOTÃO DE VINCULAÇÃO DE ATO CONCESSÓRIO
Sintoma
Necessário exit de PLI no botão de vinculação de ato concessório
Solução
Criada chamada de exit LI003 no programa /PWS/SAPMZYCI020
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09048 Data: 18/09/2009 Hora: 15:59:54
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09048
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 8.0
Pacote : 00001
Agrupamento : 00114
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
NECESSÁRIO EXIT DE LI NO BOTÃO DE VINCULAÇÃO DE ATO CONCESSÓRIO
----------------------------------------------------------------------------------------------------
Palavras Chave:
EXIT - ESPECÍFICO - LI - VINCULAÇÃO - ATO CONCESSÓRIO - DRAWBACK
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCI020 0710
DYNP /PWS/SAPMZYCI020 0800
DYNP /PWS/SAPMZYCI020 0810
REPS /PWS/MZYCI020I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI020 0710
MODIFICAR OKCODE "OKCODE"
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0710
PROCESS BEFORE OUTPUT.
MODULE STATUS_0710.
loop at it_vinlsi with control
tc_vin_lsi.
module carrega_it_vinlsi.
endloop.
PROCESS AFTER INPUT.
loop at it_vinlsi.
module carrega_it_vinlsi.
endloop.
* >> Início da exclusão:
MODULE USER_COMMAND_0710.
* << Fim da exclusão
* >> Início da inclusão:
MODULE USER_COMMAND.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI020 0800
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0800
PROCESS BEFORE OUTPUT.
MODULE STATUS_0800.
loop at it_vincula with control tc_vincula
cursor tc_vincula-current_line.
module carrega_it_vincula.
endloop.
PROCESS AFTER INPUT.
loop at it_vincula.
module modifica_it_vincula.
endloop.
* >> Início da exclusão:
MODULE USER_COMMAND_0800.
* << Fim da exclusão
* >> Início da inclusão:
MODULE USER_COMMAND.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCI020 0810
MODIFICAR LÓGICA DE PROCESSAMENTO TELA 0810
PROCESS BEFORE OUTPUT.
MODULE status_0810.
module ordena_lista.
loop at itab_atos2 with control tc_vinculato
cursor tc_vinculato-current_line.
endloop.
PROCESS AFTER INPUT.
loop at itab_atos2.
module modifica_it_vinculato.
endloop.
* >> Início da exclusão:
MODULE user_command_0810.
* << Fim da exclusão
* >> Início da inclusão:
MODULE user_command.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020I01
...
* >> Início da exclusão: MODULE USER_COMMAND_0800
MODULE user_command_0800 INPUT.
DATA: v_check,
v_j_1bnbm_vin LIKE ekpo-j_1bnbm.
CASE okcode.
WHEN 'BACKSUB'.
LEAVE TO SCREEN 0.
WHEN 'BACK'.
CLEAR it_zycit079.
REFRESH it_zycit079.
LEAVE TO SCREEN 0.
WHEN 'VINCULA'.
CLEAR v_check.
LOOP AT it_vincula WHERE marc EQ 'X'.
v_check = '1'.
ENDLOOP.
IF v_check IS INITIAL.
MESSAGE s015 WITH text-184.
EXIT.
ENDIF.
CLEAR: v_check,
v_j_1bnbm_vin.
LOOP AT it_vincula WHERE marc EQ 'X'.
SELECT SINGLE * FROM ekpo
WHERE ebeln EQ it_vincula-ebeln
AND ebelp EQ it_vincula-ebelp.
IF v_j_1bnbm_vin IS INITIAL.
v_j_1bnbm_vin = ekpo-j_1bnbm.
ENDIF.
IF v_j_1bnbm_vin NE ekpo-j_1bnbm.
v_check = '1'.
MESSAGE s015 WITH text-204 text-205.
EXIT.
ENDIF.
ENDLOOP.
IF v_check EQ '1'.
EXIT.
ENDIF.
/pws/zycie078-steuc1 = v_j_1bnbm_vin.
PERFORM load_descncm.
LOOP AT it_vincula WHERE marc EQ 'X'.
IF it_vincula-icon NE '@0A\QSTATUS COM ERRO@'.
READ TABLE it_zycit079 WITH KEY ebelp = it_vincula-ebelp
ebeln = it_vincula-ebeln.
MOVE: /pws/zycie078-nrseq TO it_zycit079-nrseq,
text-144 TO /pws/zycie078-status .
MODIFY it_zycit079 TRANSPORTING nrseq
WHERE ebelp = it_vincula-ebelp
AND ebeln = it_vincula-ebeln.
ELSE.
CLEAR it_zycit079.
REFRESH it_zycit079.
IF /pws/zycie078-tpli EQ 'N'.
MESSAGE s015 WITH text-142 text-143.
ELSEIF /pws/zycie078-tpli EQ 'S'.
MESSAGE s015 WITH text-142 text-199.
ENDIF.
EXIT.
ENDIF.
ENDLOOP.
LOOP AT it_vincula WHERE marc NE 'X'.
DELETE it_vincula INDEX sy-tabix.
DELETE it_zycit079 WHERE ebeln EQ it_vincula-ebeln
AND ebelp EQ it_vincula-ebelp.
ENDLOOP.
MOVE it_vincula[] TO it_vincula_aux[].
IF it_log[] IS INITIAL.
MESSAGE s015 WITH text-141.
ENDIF.
IF /pws/zycie078-tpli EQ 'N'.
LEAVE TO SCREEN '100'.
ELSEIF /pws/zycie078-tpli EQ 'S'.
LEAVE TO SCREEN '400'.
ENDIF.
WHEN 'SELE'.
GET CURSOR FIELD v_campo VALUE v_valor LINE v_linha.
IF v_campo EQ 'V_ICON_VIN'.
v_pos = tc_vincula-top_line + v_linha - 1.
READ TABLE it_vincula INDEX v_pos.
v_nrseq_pos = it_vincula-nrseq.
v_ebeln_pos = it_vincula-ebeln.
v_ebelp_pos = it_vincula-ebelp.
CALL SCREEN '0900' STARTING AT 8 10 ENDING AT 90 20.
ENDIF.
WHEN 'DELEITEM'.
LOOP AT it_vincula WHERE marc EQ 'X'.
DELETE it_vincula INDEX sy-tabix.
DELETE it_zycit079 WHERE ebeln EQ it_vincula-ebeln
AND ebelp EQ it_vincula-ebelp.
ENDLOOP.
ENDCASE.
CLEAR okcode.
ENDMODULE.
* << Fim da exclusão
...
...
* >> Início da exclusão: MODULE USER_COMMAND_0710
MODULE user_command_0710 INPUT.
CASE okcode.
WHEN 'SELE'.
LOOP AT it_vinlsi WHERE marc EQ 'X'.
LOOP AT it_zycit079.
IF it_zycit079-ebeln EQ it_vinlsi-ebeln AND
it_zycit079-ebelp EQ it_vinlsi-ebelp.
ELSE.
DELETE it_zycit079 INDEX sy-tabix.
ENDIF.
ENDLOOP.
ENDLOOP.
LOOP AT it_zycit079.
READ TABLE it_zycit003_aux WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
MOVE: it_zycit003_aux-qtd_iten TO it_zycit079-qtd_iten.
it_zycit079-slqtde = it_zycit079-slqtde - it_zycit079-qtd_iten.
MODIFY it_zycit079 TRANSPORTING qtd_iten
slqtde.
ENDLOOP.
PERFORM vinculacao.
LEAVE TO SCREEN 0.
WHEN 'BACK'.
CLEAR it_zycit079.
REFRESH it_zycit079.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
* << Fim da exclusão
...
...
* >> Início da exclusão: MODULE USER_COMMAND_0810
MODULE user_command_0810 INPUT.
CLEAR v_verficado.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 100.
WHEN 'VINCULA'.
READ TABLE itab_atos2 WITH KEY marc = 'X'.
IF sy-subrc NE 0 OR itab_atos2-status EQ 'E'.
MESSAGE i015 WITH text-457.
EXIT.
ENDIF.
READ TABLE it_zycit244 WITH KEY nrseqd = itab_atos2-nrseqd.
IF /pws/zycit321-c_comum NE 'X' AND
itab_atos2-tipo NE 'G'.
LOOP AT itab_atos WHERE nrseqd EQ itab_atos2-nrseqd.
IF itab_atos-grupo NE space.
LOOP AT itab_zycit433 WHERE grupo EQ itab_atos-grupo.
LOOP AT it_ekpo WHERE matnr EQ itab_zycit433-matnr.
READ TABLE it_zycit079 WITH KEY
ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp.
MOVE:
itab_atos-nritem+2 TO it_zycit079-item_drawback,
itab_atos-nritem TO it_zycit079-nritem_db.
IF v_qtdtot > 0.
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
it_zycit079-qtd_drawback = ( it_zycit079-qtd_iten *
/pws/zycie078-qtdest ) / v_qtdtot.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
MODIFY it_zycit079 TRANSPORTING item_drawback nritem_db
qtd_drawback vl_prod_drawback
WHERE ebeln = it_ekpo-ebeln
AND ebelp = it_ekpo-ebelp.
ENDLOOP.
ENDLOOP.
ELSE.
LOOP AT it_ekpo WHERE matnr EQ itab_atos-matnr.
READ TABLE it_zycit079 WITH KEY
ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp.
MOVE:
itab_atos-nritem+2 TO it_zycit079-item_drawback,
itab_atos-nritem TO it_zycit079-nritem_db.
IF v_qtdtot > 0.
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
MODIFY it_zycit079 TRANSPORTING item_drawback nritem_db
qtd_drawback vl_prod_drawback
WHERE ebeln = it_ekpo-ebeln
AND ebelp = it_ekpo-ebelp.
ENDLOOP.
ENDIF.
ENDLOOP.
ELSE.
READ TABLE itab_atos WITH KEY nrseqd = itab_atos2-nrseqd.
LOOP AT it_zycit079.
MOVE itab_atos-nritem+2 TO it_zycit079-item_drawback.
MOVE itab_atos-nritem TO it_zycit079-nritem_db.
IF v_qtdtot > 0.
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
MODIFY it_zycit079.
ENDLOOP.
ENDIF.
SELECT * FROM /pws/zycit172 INTO TABLE it_zycit172
WHERE descricao = it_zycit244-praca. "#EC CI_NOFIELD
MOVE: itab_atos2-nrseqd TO /pws/zycie078-nrseqd ,
itab_atos2-modalidade TO /pws/zycie078-modalidade,
itab_atos2-tipo TO /pws/zycie078-tipodb ,
itab_atos2-nratoc TO /pws/zycie078-reg_drawback,
it_zycit172-codagencia TO /pws/zycie078-codagsecex,
it_zycit172-digito TO /pws/zycie078-digito.
IF itab_atos2-modalidade = 'I'.
/pws/zycie078-codregtri = '2'.
ELSE.
/pws/zycie078-codregtri = '5'.
ENDIF.
IF NOT /pws/zycie078-tipodb IS INITIAL.
IF /pws/zycie078-modalidade EQ 'I'.
/pws/zycie078-drawback = '3'.
ELSE.
IF /pws/zycie078-tipodb = 'G'.
/pws/zycie078-drawback = '1'.
ELSE.
/pws/zycie078-drawback = '2'.
ENDIF.
ENDIF.
ENDIF.
LOOP AT itab_atos2 WHERE nrseqd NE /pws/zycit078-nrseqd.
CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT244'
EXPORTING
nrseqd = itab_atos2-nrseqd.
ENDLOOP.
LEAVE TO SCREEN '100'.
WHEN 'DELEITEM'.
LOOP AT it_vinculato WHERE marc EQ 'X'.
DELETE it_vinculato INDEX sy-tabix.
ENDLOOP.
ENDCASE.
CLEAR okcode.
ENDMODULE.
* << Fim da exclusão
...
...
MODULE user_command INPUT.
* >> Início da inclusão: MODULE USER_COMMAND
e_subrc = 0.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI020'
'LI003'.
CLEAR: itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'LI003'.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
IF e_subrc EQ 0.
IF sy-dynnr EQ '0710'.
PERFORM user_command_0710.
ELSEIF sy-dynnr EQ '0800' .
PERFORM user_command_0800.
ELSEIF sy-dynnr EQ '0810'.
PERFORM user_command_0810.
ELSE.
* << Fim da inclusão
PERFORM user_command_0113.
* >> Início da inclusão: MODULE USER_COMMAND
ENDIF.
ENDIF.
* << Fim da inclusão
ENDMODULE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI020F02
...
* >> Início da inclusão:
form user_command_0810.
CLEAR v_verficado.
CASE sy-ucomm.
WHEN 'BACK'.
LEAVE TO SCREEN 100.
WHEN 'VINCULA'.
READ TABLE itab_atos2 WITH KEY marc = 'X'.
IF sy-subrc NE 0 OR itab_atos2-status EQ 'E'.
MESSAGE i015 WITH text-457.
EXIT.
ENDIF.
READ TABLE it_zycit244 WITH KEY nrseqd = itab_atos2-nrseqd.
IF /pws/zycit321-c_comum NE 'X' AND
itab_atos2-tipo NE 'G'.
LOOP AT itab_atos WHERE nrseqd EQ itab_atos2-nrseqd.
IF itab_atos-grupo NE space.
LOOP AT itab_zycit433 WHERE grupo EQ itab_atos-grupo.
LOOP AT it_ekpo WHERE matnr EQ itab_zycit433-matnr.
READ TABLE it_zycit079 WITH KEY
ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp.
MOVE:
itab_atos-nritem+2 TO it_zycit079-item_drawback,
itab_atos-nritem TO it_zycit079-nritem_db.
IF v_qtdtot > 0.
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
it_zycit079-qtd_drawback = ( it_zycit079-qtd_iten *
/pws/zycie078-qtdest ) / v_qtdtot.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
MODIFY it_zycit079 TRANSPORTING item_drawback nritem_db
qtd_drawback vl_prod_drawback
WHERE ebeln = it_ekpo-ebeln
AND ebelp = it_ekpo-ebelp.
ENDLOOP.
ENDLOOP.
ELSE.
LOOP AT it_ekpo WHERE matnr EQ itab_atos-matnr.
READ TABLE it_zycit079 WITH KEY
ebeln = it_ekpo-ebeln
ebelp = it_ekpo-ebelp.
MOVE:
itab_atos-nritem+2 TO it_zycit079-item_drawback,
itab_atos-nritem TO it_zycit079-nritem_db.
IF v_qtdtot > 0.
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
MODIFY it_zycit079 TRANSPORTING item_drawback nritem_db
qtd_drawback vl_prod_drawback
WHERE ebeln = it_ekpo-ebeln
AND ebelp = it_ekpo-ebelp.
ENDLOOP.
ENDIF.
ENDLOOP.
ELSE.
READ TABLE itab_atos WITH KEY nrseqd = itab_atos2-nrseqd.
LOOP AT it_zycit079.
MOVE itab_atos-nritem+2 TO it_zycit079-item_drawback.
MOVE itab_atos-nritem TO it_zycit079-nritem_db.
IF v_qtdtot > 0.
IF /pws/zycie078-zum EQ '10'.
IF NOT v_peso IS INITIAL.
it_zycit079-qtd_drawback =
( it_zycit079-ntgew * /pws/zycie078-qtdest ) / v_peso.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ) / v_qtdtot.
ENDIF.
ELSE.
it_zycit079-qtd_drawback =
( it_zycit079-qtd_iten * /pws/zycie078-qtdest ).
ENDIF.
it_zycit079-vl_prod_drawback =
it_zycit079-qtd_iten * it_zycit079-netpr.
MODIFY it_zycit079.
ENDLOOP.
ENDIF.
SELECT * FROM /pws/zycit172 INTO TABLE it_zycit172
WHERE descricao = it_zycit244-praca.
MOVE: itab_atos2-nrseqd TO /pws/zycie078-nrseqd ,
itab_atos2-modalidade TO /pws/zycie078-modalidade,
itab_atos2-tipo TO /pws/zycie078-tipodb ,
itab_atos2-nratoc TO /pws/zycie078-reg_drawback,
it_zycit172-codagencia TO /pws/zycie078-codagsecex,
it_zycit172-digito TO /pws/zycie078-digito.
IF itab_atos2-modalidade = 'I'.
/pws/zycie078-codregtri = '2'.
ELSE.
/pws/zycie078-codregtri = '5'.
ENDIF.
IF NOT /pws/zycie078-tipodb IS INITIAL.
IF /pws/zycie078-modalidade EQ 'I'.
/pws/zycie078-drawback = '3'.
ELSE.
IF /pws/zycie078-tipodb = 'G'.
/pws/zycie078-drawback = '1'.
ELSE.
/pws/zycie078-drawback = '2'.
ENDIF.
ENDIF.
ENDIF.
LOOP AT itab_atos2 WHERE nrseqd NE /pws/zycit078-nrseqd.
CALL FUNCTION '/PWS/ZYCI_DEQUEUE_ZYCIT244'
EXPORTING
nrseqd = itab_atos2-nrseqd.
ENDLOOP.
LEAVE TO SCREEN '100'.
WHEN 'DELEITEM'.
LOOP AT it_vinculato WHERE marc EQ 'X'.
DELETE it_vinculato INDEX sy-tabix.
ENDLOOP.
ENDCASE.
CLEAR okcode.
endform.
form user_command_0800.
DATA: v_check,
v_j_1bnbm_vin LIKE ekpo-j_1bnbm.
CASE okcode.
WHEN 'BACKSUB'.
LEAVE TO SCREEN 0.
WHEN 'BACK'.
CLEAR it_zycit079.
REFRESH it_zycit079.
LEAVE TO SCREEN 0.
WHEN 'VINCULA'.
CLEAR v_check.
LOOP AT it_vincula WHERE marc EQ 'X'.
v_check = '1'.
ENDLOOP.
IF v_check IS INITIAL.
MESSAGE s015 WITH text-184.
EXIT.
ENDIF.
CLEAR: v_check,
v_j_1bnbm_vin.
LOOP AT it_vincula WHERE marc EQ 'X'.
SELECT SINGLE * FROM ekpo
WHERE ebeln EQ it_vincula-ebeln
AND ebelp EQ it_vincula-ebelp.
IF v_j_1bnbm_vin IS INITIAL.
v_j_1bnbm_vin = ekpo-j_1bnbm.
ENDIF.
IF v_j_1bnbm_vin NE ekpo-j_1bnbm.
v_check = '1'.
MESSAGE s015 WITH text-204 text-205.
EXIT.
ENDIF.
ENDLOOP.
IF v_check EQ '1'.
EXIT.
ENDIF.
/pws/zycie078-steuc1 = v_j_1bnbm_vin.
PERFORM load_descncm.
LOOP AT it_vincula WHERE marc EQ 'X'.
IF it_vincula-icon NE '@0A\QSTATUS COM ERRO@'.
READ TABLE it_zycit079 WITH KEY ebelp = it_vincula-ebelp
ebeln = it_vincula-ebeln.
MOVE: /pws/zycie078-nrseq TO it_zycit079-nrseq,
text-144 TO /pws/zycie078-status .
MODIFY it_zycit079 TRANSPORTING nrseq
WHERE ebelp = it_vincula-ebelp
AND ebeln = it_vincula-ebeln.
ELSE.
CLEAR it_zycit079.
REFRESH it_zycit079.
IF /pws/zycie078-tpli EQ 'N'.
MESSAGE s015 WITH text-142 text-143.
ELSEIF /pws/zycie078-tpli EQ 'S'.
MESSAGE s015 WITH text-142 text-199.
ENDIF.
EXIT.
ENDIF.
ENDLOOP.
LOOP AT it_vincula WHERE marc NE 'X'.
DELETE it_vincula INDEX sy-tabix.
DELETE it_zycit079 WHERE ebeln EQ it_vincula-ebeln
AND ebelp EQ it_vincula-ebelp.
ENDLOOP.
MOVE it_vincula[] TO it_vincula_aux[].
IF it_log[] IS INITIAL.
MESSAGE s015 WITH text-141.
ENDIF.
IF /pws/zycie078-tpli EQ 'N'.
LEAVE TO SCREEN '100'.
ELSEIF /pws/zycie078-tpli EQ 'S'.
LEAVE TO SCREEN '400'.
ENDIF.
WHEN 'SELE'.
GET CURSOR FIELD v_campo VALUE v_valor LINE v_linha.
IF v_campo EQ 'V_ICON_VIN'.
v_pos = tc_vincula-top_line + v_linha - 1.
READ TABLE it_vincula INDEX v_pos.
v_nrseq_pos = it_vincula-nrseq.
v_ebeln_pos = it_vincula-ebeln.
v_ebelp_pos = it_vincula-ebelp.
CALL SCREEN '0900' STARTING AT 8 10 ENDING AT 90 20.
ENDIF.
WHEN 'DELEITEM'.
LOOP AT it_vincula WHERE marc EQ 'X'.
DELETE it_vincula INDEX sy-tabix.
DELETE it_zycit079 WHERE ebeln EQ it_vincula-ebeln
AND ebelp EQ it_vincula-ebelp.
ENDLOOP.
ENDCASE.
CLEAR okcode.
endform.
form user_command_0710.
CASE okcode.
WHEN 'SELE'.
LOOP AT it_vinlsi WHERE marc EQ 'X'.
LOOP AT it_zycit079.
IF it_zycit079-ebeln EQ it_vinlsi-ebeln AND
it_zycit079-ebelp EQ it_vinlsi-ebelp.
ELSE.
DELETE it_zycit079 INDEX sy-tabix.
ENDIF.
ENDLOOP.
ENDLOOP.
LOOP AT it_zycit079.
READ TABLE it_zycit003_aux WITH KEY ebeln = it_zycit079-ebeln
ebelp = it_zycit079-ebelp.
MOVE: it_zycit003_aux-qtd_iten TO it_zycit079-qtd_iten.
it_zycit079-slqtde = it_zycit079-slqtde - it_zycit079-qtd_iten.
MODIFY it_zycit079 TRANSPORTING qtd_iten
slqtde.
ENDLOOP.
PERFORM vinculacao.
LEAVE TO SCREEN 0.
WHEN 'BACK'.
CLEAR it_zycit079.
REFRESH it_zycit079.
LEAVE TO SCREEN 0.
ENDCASE.
endform.
* << Fim da inclusão
* << Fim da inclusão