Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação em Andamento
Data/Hora da Publicação: 07/08/2008 00:00:00
Data/Hora Última Alteração: 11/03/2010 10:03:39
Descrição da Nota: LIQUIDAÇÃO EM ANDAMENTO CRIAR - BOTÕES VINCULAR TOTAL SELECIONAR FATURAS
Sintoma
Desenvolvimento Adicional
Solução
Desenvolvimento Adicional
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07107 Data: 07/08/2008 Hora: 18:30:13
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07107
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00006
Agrupamento : 00059
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO EM ANDAMENTO CRIAR - BOTÕES VINCULAR TOTAL SELECIONAR FATURAS
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIQUIDAÇÃO EM ANDAMENTO CRIAR - BOTÕES VINCULAR TOTAL SELECIONAR FATURAS
NAS TELAS DE LIQUIDAÇÃO EM ANDAMENTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
CUAD /PWS/SAPMZYCB031
DYNP /PWS/SAPMZYCB031 0100
DYNP /PWS/SAPMZYCB031 0200
DYNP /PWS/SAPMZYCB031 0300
DYNP /PWS/SAPMZYCB031 0301
MERG F6DK963554 20080805 151758 PWSCB
MERG F6DK963576 20080805 151811 PWSCB
REPS /PWS/MZYCB031F01
REPS /PWS/MZYCB031I01
REPS /PWS/MZYCB031O01
REPS /PWS/MZYCB031TOP
REPT /PWS/SAPMZYCB031
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCB031
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB031 0100
MODIFICAR CAMPO TEXTO "/PWS/ZYCBE209-VLME" em tbl.contr./tabstr.
Grupo 3 NOB
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB031 0200
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB031 0300
MODIFICAR CAMPO TEXTO "/PWS/ZYCBE017-KUNAG"
Grupo 2 CLI
MODIFICAR TEXTO "/PWS/ZYCBE017-KUNAG"
Grupo 2 CLI
MODIFICAR CAMPO TEXTO "/PWS/ZYCBE017A-KUNAG"
Grupo 2 CLI
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB031 0301
MODIFICAR CAMPO TEXTO "%_NRIN_%_APP_%-OPTI_PUSH"
Grupo 1 FAT
MODIFICAR CAMPO TEXTO "%_NRIN_%_APP_%-TEXT"
Grupo 1 FAT
MODIFICAR CAMPO TEXTO "%_NRIN_%_APP_%-TO_TEXT"
Grupo 1 FAT
MODIFICAR BOTÃO "%_NRIN_%_APP_%-VALU_PUSH"
Grupo 1 FAT
MODIFICAR CAMPO TEXTO "NRIN-HIGH"
Grupo 1 FAT
MODIFICAR CAMPO TEXTO "NRIN-LOW"
Grupo 1 FAT
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB031F01
...
itab_pf-fcode = 'EXCL'.
APPEND itab_pf.
itab_pf-fcode = 'ESTOR'.
APPEND itab_pf.
itab_pf-fcode = 'NOOP'.
APPEND itab_pf.
itab_pf-fcode = 'PROC'.
APPEND itab_pf.
itab_pf-fcode = 'MODO'.
APPEND itab_pf.
* >> Início da inclusão: FORM SET_STATUS
itab_pf-fcode = 'SELE'.
APPEND itab_pf.
itab_pf-fcode = 'TOTAL'.
APPEND itab_pf.
* << Fim da inclusão
ELSE.
itab_pf-fcode = 'AEND'.
APPEND itab_pf.
ENDIF.
SET PF-STATUS '0100' EXCLUDING itab_pf.
IF v_status EQ '0'.
v_descricao = text-011.
ELSE.
IF sy-tcode EQ c_transacao_c.
v_descricao = text-009.
...
...
ENDIF.
IF /pws/zycbe209-dtcredext IS INITIAL.
/pws/zycbe209-dtcredext = sy-datum.
ENDIF.
MOVE-CORRESPONDING /pws/zycbe209 TO itab_zycbt209.
IF itab_zycbt209-belnr IS INITIAL AND
itab_zycbt209-oper IS INITIAL.
MOVE: v_vlsltrans TO itab_zycbt209-vlsltrans,
/pws/zycbe209-vlme TO itab_zycbt209-saldo.
ENDIF.
* >> Início da inclusão: FORM MODIFY_LINE
select single name1 from kna1 into v_name1
where kunnr = itab_zycbt209-kunnr.
if not v_name1 is initial.
itab_zycbt209-v_name1 = v_name1.
endif.
* << Fim da inclusão
MODIFY itab_zycbt209 INDEX tc_liq-current_line.
IF sy-subrc NE 0.
APPEND itab_zycbt209.
ENDIF.
ENDFORM.
FORM verifica_linhas.
DATA: v_found(1) TYPE c.
DATA: BEGIN OF itab_zycbt209_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt209.
DATA: vlsltrans LIKE /pws/zycbt030-vlsltrans,
...
...
END OF shlp_descr_t.
DATA: BEGIN OF itab_result OCCURS 0.
INCLUDE STRUCTURE ddshretval.
DATA: END OF itab_result.
DATA: BEGIN OF record_tab OCCURS 0.
INCLUDE STRUCTURE seahlpres.
DATA: END OF record_tab.
DATA: v_line LIKE sy-lilli,
l_display(1) TYPE c,
shlp_struc LIKE /pws/zycbv201,
* >> Início da exclusão: FORM GET_INVOICE
shlp_curr TYPE shlp_descr_t,
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
shlp_curr TYPE shlp_descr_t,"#EC NEEDED
* << Fim da inclusão
tdynpread LIKE dynpread OCCURS 0 WITH HEADER LINE,
wa_zycbt017a LIKE /pws/zycbt017.
CLEAR tdynpread.
REFRESH tdynpread.
CALL FUNCTION 'DYNP_GET_STEPL'
IMPORTING
povstepl = v_line.
tdynpread-fieldname = '/PWS/ZYCBE209-NRINVOIC'.
tdynpread-stepl = v_line.
APPEND tdynpread.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = '/PWS/SAPMZYCB031'
dynumb = '0100'
TABLES
* >> Início da exclusão: FORM GET_INVOICE
dynpfields = tdynpread.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
dynpfields = tdynpread."#EC *
* << Fim da inclusão
IF sy-subrc EQ 0 AND NOT
tdynpread-fieldvalue IS INITIAL.
EXIT.
ENDIF.
IF v_status EQ '1'.
l_display = ' '.
ELSE.
l_display = 'X'.
ENDIF.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
...
...
CLEAR tdynpread.
REFRESH tdynpread.
tdynpread-fieldname = '/PWS/ZYCBE209-NRINVOIC'.
tdynpread-stepl = v_line - 1.
APPEND tdynpread.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = '/PWS/SAPMZYCB031'
dynumb = '0100'
TABLES
* >> Início da exclusão: FORM GET_INVOICE
dynpfields = tdynpread.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
dynpfields = tdynpread."#EC *
* << Fim da inclusão
IF sy-subrc EQ 0 AND
tdynpread-fieldvalue IS INITIAL AND
tdynpread-stepl GT 0.
v_line = tdynpread-stepl.
ELSEIF sy-subrc EQ 0 AND
NOT tdynpread-fieldvalue IS INITIAL.
EXIT.
ENDIF.
ENDDO.
CLEAR tdynpread.
...
...
WHERE nrinvoic = record_tab-string+3(15)
AND nrparcf = record_tab-string+27(2)
AND gsberf = record_tab-string+23(4).
IF sy-subrc NE 0.
SHIFT record_tab-string RIGHT BY 3 PLACES.
SELECT SINGLE * FROM /pws/zycbt017 INTO wa_zycbt017a
WHERE nrinvoic = record_tab-string+3(15)
AND nrparcf = record_tab-string+27(2)
AND gsberf = record_tab-string+23(4).
ENDIF.
* >> Início da exclusão: FORM GET_INVOICE
SELECT SINGLE pendcomm
FROM /pws/zycbt030 into /pws/zycbt030-pendcomm
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
SELECT pendcomm
FROM /pws/zycbt030
UP TO 1 ROWS
into /pws/zycbt030-pendcomm
* << Fim da inclusão
WHERE nrinvoic = record_tab-string+3(15)
AND nrparcf = record_tab-string+27(2)
AND gsberf = record_tab-string+23(4).
* >> Início da inclusão: FORM GET_INVOICE
ENDSELECT.
* << Fim da inclusão
IF sy-subrc EQ 0 AND NOT /pws/zycbt030-pendcomm IS INITIAL.
v_line = v_line - 1.
MESSAGE i061 WITH text-049 record_tab-string+3(15) text-075.
CONTINUE.
ENDIF.
READ TABLE itab_zycbt209 WITH KEY nrinvoic = record_tab-string+3(15)
nrparcf = record_tab-string+27(2)
gsberf = record_tab-string+23(4)
* >> Início da exclusão: FORM GET_INVOICE
belnr = space.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
belnr = space."#EC *
* << Fim da inclusão
IF sy-subrc EQ 0.
MESSAGE i061 WITH text-049 itab_zycbt209-nrinvoic text-067.
v_line = v_line - 1.
CONTINUE.
ENDIF.
tdynpread-fieldname = '/PWS/ZYCBE209-NRINVOIC'.
tdynpread-fieldvalue = record_tab-string+3(15).
tdynpread-stepl = v_line.
APPEND tdynpread.
itab_zycbt209-nrinvoic = tdynpread-fieldvalue.
...
...
tdynpread-stepl = v_line.
APPEND tdynpread.
itab_zycbt209-waers = tdynpread-fieldvalue.
READ TABLE tdynpread WITH KEY fieldname = '/PWS/ZYCBE209-WAERS'
stepl = v_line.
IF sy-subrc = 0.
moeda = tdynpread-fieldvalue.
ENDIF.
tdynpread-fieldname = 'V_VLSLTRANS'.
CLEAR /pws/zycbt030-vlsltrans.
* >> Início da exclusão: FORM GET_INVOICE
SELECT SINGLE vlsltrans FROM /pws/zycbt030
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
SELECT vlsltrans
FROM /pws/zycbt030
UP TO 1 ROWS
* << Fim da inclusão
INTO /pws/zycbt030-vlsltrans
WHERE nrinvoic = record_tab-string+3(15)
AND nrparcf = record_tab-string+27(2)
AND gsberf = record_tab-string+23(4).
* >> Início da inclusão: FORM GET_INVOICE
ENDSELECT.
* << Fim da inclusão
WRITE /pws/zycbt030-vlsltrans TO tdynpread-fieldvalue(17)
CURRENCY moeda.
tdynpread-stepl = v_line.
...
...
APPEND itab_zycbt209.
ENDIF.
ENDLOOP.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = '0100'
TABLES
dynpfields = tdynpread
EXCEPTIONS
* >> Início da exclusão: FORM GET_INVOICE
OTHERS = 8.
* << Fim da exclusão
* >> Início da inclusão: FORM GET_INVOICE
OTHERS = 0.
* << Fim da inclusão
ENDFORM.
FORM command_aend.
DATA: v_answer(1) TYPE c.
IF v_status EQ '0'.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD'
FIELD c_transacao_a.
IF sy-subrc = 0.
v_status = '1'.
ELSE.
...
...
IF sy-subrc EQ 0.
CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'
EXPORTING
defaultoption = 'Y'
textline1 = text-013
titel = text-012
cancel_display = space
IMPORTING
answer = v_answer
EXCEPTIONS
* >> Início da exclusão: FORM COMMAND_AEND
OTHERS = 1.
* << Fim da exclusão
* >> Início da inclusão: FORM COMMAND_AEND
OTHERS = 0."#EC *
* << Fim da inclusão
CASE v_answer.
WHEN 'J'.
PERFORM command_proc.
v_status = '0'.
WHEN 'N'.
WHEN 'A'.
ENDCASE.
ELSE.
v_status = '0'.
ENDIF.
...
...
WHEN 'P+'.
v_line_ini = v_line_ini + v_lines.
IF v_line_ini GT v_itens.
v_line_ini = v_itens.
ENDIF.
WHEN 'P++'.
v_line_ini = v_itens.
ENDCASE.
ENDFORM.
FORM exit_command.
* >> Início da inclusão: FORM EXIT_COMMAND
CASE sy-dynnr.
WHEN '0100'.
* << Fim da inclusão
IF sy-tcode EQ c_transacao_c.
LEAVE PROGRAM.
ELSE.
LEAVE TO SCREEN '0001'.
ENDIF.
* >> Início da inclusão: FORM EXIT_COMMAND
WHEN '0200'.
CLEAR: v_nrinvoic,
v_re,
v_nrre_ate,
v_sd,
v_gsberf,
v_fkdat,
v_kunag,
v_dtvencto,
v_dtbl,
v_inco1.
IF ok_code = '%EX'.
SET SCREEN 0.
LEAVE TO SCREEN 0.
ENDIF.
IF ok_code = 'BACK'.
SET SCREEN 100.
ENDIF.
WHEN '0300'.
IF ok_code = '%EX'.
LEAVE TO SCREEN 0.
ELSE.
LEAVE TO SCREEN '0200'.
ENDIF.
WHEN OTHERS.
ENDCASE.
* << Fim da inclusão
ENDFORM.
FORM set_screen_tc.
LOOP AT SCREEN.
IF screen-group1 EQ 'FEC'.
screen-input = '0'.
screen-required = '0'.
ELSEIF screen-group1 EQ 'ALT'.
IF /pws/zycbe209-liquid EQ 'X'.
screen-input = '0'.
ELSE.
...
...
screen-required = v_status.
ELSE.
screen-required = '0'.
ENDIF.
ENDIF.
ENDIF.
IF screen-group3 EQ 'CLI'.
screen-intensified = '1'.
ELSE.
screen-intensified = '0'.
* >> Início da inclusão: FORM SET_SCREEN_TC
ENDIF.
IF screen-group3 EQ 'NOB'.
screen-required = '0'.
* << Fim da inclusão
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDFORM.
FORM ask_exclusion USING p_texto
CHANGING p_answer.
DATA: v_text1(35),
v_text2(35).
CONCATENATE text-020 itab_zycbt209-nrinvoic
INTO v_text1
...
...
nrparcf = itab_zycbt030_aux-nrparcf.
CHECK sy-subrc EQ 0.
MOVE-CORRESPONDING: itab_zycbt017 TO itab_zycbt030,
itab_zycbt030_aux TO itab_zycbt030.
IF itab_zycbt030-belnr6 IS INITIAL.
itab_zycbt030-v_belnr = itab_zycbt030-belnr.
ELSE.
itab_zycbt030-v_belnr = itab_zycbt030-belnr6.
ENDIF.
IF itab_zycbt030-shkzg IS INITIAL.
* >> Início da exclusão: FORM PREPARA_ZYCBT030
SELECT SINGLE *
* << Fim da exclusão
* >> Início da inclusão: FORM PREPARA_ZYCBT030
SELECT *
* << Fim da inclusão
FROM /pws/zycet002
* >> Início da inclusão: FORM PREPARA_ZYCBT030
UP TO 1 ROWS
* << Fim da inclusão
INTO wa_zycet002
WHERE nrseq = itab_zycbt030-nrinvoic
AND vbeln_vf = itab_zycbt030-vbeln.
* >> Início da inclusão: FORM PREPARA_ZYCBT030
ENDSELECT.
* << Fim da inclusão
IF wa_zycet002-shkzg EQ 'X'.
itab_zycbt030-shkzg = 'X'.
itab_zycbt030-flag = 'X'.
ELSE.
* >> Início da exclusão: FORM PREPARA_ZYCBT030
SELECT SINGLE *
* << Fim da exclusão
* >> Início da inclusão: FORM PREPARA_ZYCBT030
SELECT *
* << Fim da inclusão
FROM /pws/zycet020
* >> Início da inclusão: FORM PREPARA_ZYCBT030
UP TO 1 ROWS
* << Fim da inclusão
INTO wa_zycet020
WHERE auart EQ wa_zycet002-auart.
* >> Início da inclusão: FORM PREPARA_ZYCBT030
ENDSELECT.
* << Fim da inclusão
IF wa_zycet020-tipodoc = 'OC'.
...
...
FORM proc_inclusao.
DATA: v_cpochv LIKE /pws/zycbe033-cpochv,
v_wrbtr LIKE bsid-wrbtr,
v_kurrf_bl LIKE /pws/zycet001-kurrf_bl,
v_dtliquid LIKE sy-datum,
v_dtemb LIKE /pws/zycet001-dtemb,
v_desm LIKE /pws/zycbt089-tx_desm_cli,
v_desmemb TYPE c,
v_gjahr LIKE bkpf-gjahr,
v_erro TYPE c.
* >> Início da exclusão: FORM PROC_INCLUSAO
CONSTANTS c_zero(2) TYPE c VALUE ' 0'.
* << Fim da exclusão
PERFORM verifica_data USING itab_zycbt209-dtcredext
itab_zycbt209-bukrs
itab_zycbt209-nrinvoic
'X'.
IF sy-subrc NE 0.
EXIT.
ENDIF.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
...
...
nrparcf = itab_zycbt030-nrparcf
gsberf = itab_zycbt030-gsberf.
itab_zycbt030-v_kwert =
( itab_zycbt030-kwert / itab_zycbt030-s_kwert )
* itab_zycbt209-vlme.
CLEAR v_wrbtr.
SHIFT itab_zycbt030-v_belnr(10) RIGHT DELETING TRAILING space.
TRANSLATE itab_zycbt030-v_belnr(10) USING c_zero.
SHIFT itab_zycbt030-belnr(10) RIGHT DELETING TRAILING space.
TRANSLATE itab_zycbt030-belnr(10) USING c_zero.
* >> Início da exclusão: FORM PROC_INCLUSAO
SELECT SINGLE wrbtr
* << Fim da exclusão
* >> Início da inclusão: FORM PROC_INCLUSAO
SELECT wrbtr
* << Fim da inclusão
FROM bsid
* >> Início da inclusão: FORM PROC_INCLUSAO
UP TO 1 ROWS
* << Fim da inclusão
INTO v_wrbtr
WHERE belnr = itab_zycbt030-v_belnr
AND gjahr = itab_zycbt030-budat(4)
AND kunnr = itab_zycbt030-kunag
AND bukrs = itab_zycbt209-bukrs.
* >> Início da inclusão: FORM PROC_INCLUSAO
ENDSELECT.
* << Fim da inclusão
PERFORM clear_dados_batch.
IF v_wrbtr NE itab_zycbt030-v_kwert.
PERFORM desmembra_cliente.
IF sy-subrc NE 0.
v_erro = 'X'.
CLEAR sy-subrc.
EXIT.
ENDIF.
v_desmemb = 'X'.
ELSE.
...
...
EXPORTING
bukrs = itab_zycbt209-bukrs
ktosl = 'TRE'
codaux1 = v_codaux
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
* >> Início da inclusão: FORM PROC_INCLUSAO
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
READ TABLE itab_contas INDEX 1.
itab_zycbe033-d_newko = itab_contas-konts.
itab_zycbt209-hkont = itab_contas-konts.
ENDIF.
ENDIF.
PERFORM verify_null_field USING itab_zycbe033-d_newko
'NEWKO'
text-042.
itab_zycbe033-agkon = itab_zycbt030-kunag.
itab_zycbe033-agkoa = 'D'.
...
...
nrparcf = itab_zycbt209-nrparcf.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT209'.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
itab_zycbt036-belnr = itab_zycbt030-belnr_d.
IF itab_zycbt030-belnr_d EQ itab_zycbt030-belnr OR
itab_zycbt030-belnr_d EQ itab_zycbt030-belnr6.
v_gjahr = itab_zycbt030-budat(4).
itab_zycbt036-dtdocto = itab_zycbt030-budat.
CLEAR itab_zycbe033-c_zuonr.
* >> Início da exclusão: FORM PROC_INCLUSAO
SELECT SINGLE wrbtr FROM bsid INTO itab_zycbe033-wrbtr
* << Fim da exclusão
* >> Início da inclusão: FORM PROC_INCLUSAO
SELECT wrbtr
FROM bsid
UP TO 1 ROWS
INTO itab_zycbe033-wrbtr
* << Fim da inclusão
WHERE belnr = itab_zycbt030-belnr_d
AND gjahr = v_gjahr
AND kunnr = itab_zycbt209-kunnr
AND bukrs = itab_zycbt209-bukrs.
* >> Início da inclusão: FORM PROC_INCLUSAO
ENDSELECT.
* << Fim da inclusão
ELSE.
itab_zycbt036-dtdocto = itab_zycbt209-dtcredext.
ENDIF.
...
...
EXPORTING
i_codmod = 'E'
i_func = v_syrepid
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
* >> Início da inclusão: FORM PROC_INCLUSAO
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
CLEAR itab_zyglt100.
READ TABLE itab_zyglt100 WITH KEY zexit = 'LIQ001' BINARY SEARCH.
IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ENDIF.
LOOP AT itab_zycbt034.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
...
...
IF p_field IS INITIAL.
itab_zycbt034-campo = p_fieldname.
itab_zycbt034-descricao = p_description.
APPEND itab_zycbt034.
ENDIF.
ENDFORM.
FORM command_modo.
DATA: wa_zycbt039 LIKE /pws/zycbt039.
CLEAR: itab_modo.
REFRESH: itab_modo.
* >> Início da exclusão: FORM COMMAND_MODO
SELECT * FROM /pws/zycbt039 INTO wa_zycbt039.
* << Fim da exclusão
* >> Início da inclusão: FORM COMMAND_MODO
SELECT * FROM /pws/zycbt039 INTO wa_zycbt039."#EC CI_NOWHERE
* << Fim da inclusão
itab_modo-selflag = wa_zycbt039-modo.
itab_modo-varoption = wa_zycbt039-descr.
APPEND itab_modo.
ENDSELECT.
SORT itab_modo DESCENDING.
CALL FUNCTION 'POPUP_TO_DECIDE_LIST'
EXPORTING
textline1 = text-036
textline2 = text-037
titel = text-038
IMPORTING
answer = v_modo_bi
TABLES
t_spopli = itab_modo
EXCEPTIONS
not_enough_answers = 1
too_much_answers = 2
too_much_marks = 3
OTHERS = 4.
* >> Início da inclusão: FORM COMMAND_MODO
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
IF v_modo_bi EQ '1' OR v_modo_bi EQ 'A'.
v_modo_bi = 'N'.
ELSEIF v_modo_bi EQ '3'.
v_modo_bi = 'A'.
ELSEIF v_modo_bi EQ '2'.
v_modo_bi = 'E'.
ENDIF.
ENDFORM.
FORM clear_dados_batch.
CLEAR: itab_zycbe033,
...
...
WHEN 'TXFATUR'.
WHEN 'DTCREDEXT'.
v_databl = itab_zycbt209-dtcredext.
WHEN 'VIATRANS'.
CLEAR wa_zycet048.
SELECT SINGLE dtemb dtvencto viatrans dtaverb dtcruze nrseq
FROM /pws/zycet001
INTO (v_dtemb, v_dtvencto,v_viatrans, v_dtaverb2, v_dtcruze,
v_nrseq)
WHERE nrseq EQ itab_zycbt030-nrinvoic.
* >> Início da exclusão: FORM VERIFICA_DATA2
SELECT SINGLE vktra FROM /pws/zycit054
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_DATA2
SELECT vktra FROM /pws/zycit054
UP TO 1 ROWS
* << Fim da inclusão
INTO (v_vktra)
WHERE vktra_ci EQ v_viatrans.
* >> Início da inclusão: FORM VERIFICA_DATA2
ENDSELECT.
* << Fim da inclusão
IF NOT v_vktra IS INITIAL.
SELECT SINGLE * FROM /pws/zycet048
INTO wa_zycet048
WHERE vktrt EQ v_vktra.
IF sy-subrc EQ 0.
IF wa_zycet048-dtvrc EQ wa_zycet048-dtvencto.
SELECT SINGLE kurrf_bl FROM /pws/zycet001
INTO itab_zycbe033-kursf
WHERE nrseq EQ itab_zycbt030-nrinvoic.
CLEAR v_databl.
ELSE.
IF wa_zycet048-dtvrc EQ 'DTBL'.
* >> Início da exclusão: FORM VERIFICA_DATA2
SELECT SINGLE dtbl FROM /pws/zycet047
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_DATA2
SELECT dtbl
FROM /pws/zycet047
UP TO 1 ROWS
* << Fim da inclusão
INTO (v_databl)
WHERE nrseq EQ v_nrseq.
* >> Início da inclusão: FORM VERIFICA_DATA2
ENDSELECT.
* << Fim da inclusão
ELSEIF wa_zycet048-dtvrc EQ 'DTEMB'.
v_databl = v_dtemb.
ELSEIF wa_zycet048-dtvrc EQ 'DTAVERB'.
v_databl = v_dtaverb2.
ELSEIF wa_zycet048-dtvrc EQ 'DTCRUZE'.
v_databl = v_dtcruze.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
WHEN 'TXFAT'.
SELECT SINGLE dtemb
FROM /pws/zycet001
INTO v_dtemb
WHERE nrseq EQ itab_zycbt209-nrinvoic.
* >> Início da exclusão: FORM VERIFICA_DATA2
SELECT SINGLE belnr
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_DATA2
SELECT belnr
* << Fim da inclusão
FROM /pws/zycbt030
* >> Início da inclusão: FORM VERIFICA_DATA2
UP TO 1 ROWS
* << Fim da inclusão
INTO v_belnr
WHERE nrinvoic EQ itab_zycbt209-nrinvoic AND
gsberf EQ itab_zycbt209-gsberf AND
nrparcf EQ itab_zycbt209-nrparcf.
* >> Início da inclusão: FORM VERIFICA_DATA2
ENDSELECT.
* << Fim da inclusão
IF NOT v_belnr IS INITIAL AND
NOT v_dtemb IS INITIAL.
SELECT SINGLE kursf FROM bkpf INTO itab_zycbe033-kursf
WHERE bukrs = itab_zycbt209-bukrs AND
belnr = v_belnr AND
gjahr = v_dtemb(4).
ENDIF.
CLEAR v_databl.
ENDCASE.
ENDFORM.
...
...
e_txc = p_kursf
EXCEPTIONS
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
fator_nao_encontrado = 6
i_montante_nao_encontrado = 7
OTHERS = 8.
* >> Início da inclusão: FORM DEFINE_CAMBIO
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
ENDFORM.
FORM desmembra_cliente.
DATA:
v_dtliquid LIKE sy-datum,
v_dtemb LIKE sy-datum,
v_kurrf_bl LIKE /pws/zycet001-kurrf_bl,
v_cpochv LIKE /pws/zycbe033-cpochv,
* >> Início da exclusão: FORM DESMEMBRA_CLIENTE
v_desm LIKE /pws/zycbt089-tx_desm_cli..
DATA: v_gjahr TYPE gjahr.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_CLIENTE
v_desm LIKE /pws/zycbt089-tx_desm_cli.
DATA: v_gjahr TYPE gjahr. "#EC NEEDED
* << Fim da inclusão
PERFORM clear_dados_batch.
CLEAR itab_zyglt321.
REFRESH itab_zyglt321.
SELECT * FROM /pws/zyglt321
INTO TABLE itab_zyglt321
WHERE ktosl = 'FTE'
AND codeven = '023'.
itab_zycbe033-tcode = 'F-30'.
itab_zycbe033-tabela = '/PWS/ZYCBT209'.
CONCATENATE itab_zycbt030-nrinvoic itab_zycbt030-vbeln
...
...
EXPORTING
i_codmod = 'E'
i_func = v_syrepid
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
* >> Início da inclusão: FORM DESMEMBRA_CLIENTE
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
clear itab_zyglt100.
READ TABLE itab_zyglt100 WITH KEY zexit = 'LIQ002' BINARY SEARCH.
IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ENDIF.
LOOP AT itab_zycbt034.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
...
...
EXPORTING
date = p_budat
version = v_periv
IMPORTING
period = p_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
* >> Início da inclusão: FORM DETERMINA_PERIODO
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
ENDFORM.
FORM determina_ano USING p_budat
p_bukrs
CHANGING p_ano.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = p_bukrs
v_date = p_budat
IMPORTING
v_year = p_ano.
ENDFORM.
FORM verifica_data USING value(p_data)
value(p_bukrs)
value(p_nrinv)
* >> Início da exclusão: FORM VERIFICA_DATA
value(p_mensg).
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_DATA
value(p_mensg)."#EC *
* << Fim da inclusão
DATA: v_monat LIKE t001b-frpe1,
v_ano TYPE gjahr.
PERFORM determina_periodo USING p_data
p_bukrs
CHANGING v_monat.
PERFORM determina_ano USING p_data
p_bukrs
CHANGING v_ano.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
...
...
EXIT.
ENDIF.
ENDLOOP.
IF v_agrupada EQ 'X'.
PERFORM estorna_agrupamento.
ELSE.
PERFORM estorna_sem_agrupamento.
ENDIF.
ENDFORM.
FORM estorna_agrupamento.
* >> Início da exclusão: FORM ESTORNA_AGRUPAMENTO
DATA: v_subrc LIKE sy-subrc,
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
DATA:
* << Fim da inclusão
v_dtliquid LIKE sy-datum,
v_dtemb LIKE sy-datum,
v_kurrf_bl LIKE /pws/zycet001-kurrf_bl,
v_cpochv LIKE /pws/zycbe033-cpochv,
v_desm LIKE /pws/zycbt089-tx_desm_cli,
v_belnr LIKE bkpf-belnr,
v_dtbelnr LIKE sy-datum,
v_vlsltrans LIKE /pws/zycbt030-vlsltrans.
CLEAR itab_zyglt321.
REFRESH itab_zyglt321.
...
...
t_zycbt036 = itab_zycbt036
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
ENDIF.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = v_tcode
tabela = '/PWS/ZYCBT209'
cpochv = itab_zycbe033-cpochv
* >> Início da exclusão: FORM ESTORNA_AGRUPAMENTO
tpmsg = 'S'.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
tpmsg = 'S'."#EC *
* << Fim da inclusão
IF sy-subrc EQ 0.
itab_zycbt030-belnr_d = itab_zycbt032-belnr.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = itab_zycbt032-msgid
msgty = itab_zycbt032-tpmsg
msgv1 = itab_zycbt032-msgv1
msgv2 = itab_zycbt032-msgv2
msgv3 = itab_zycbt032-msgv3
msgv4 = itab_zycbt032-msgv4
...
...
v_zeile = v_zeile + 1.
ENDLOOP.
v_subrc = 4.
ENDIF.
ELSE.
v_subrc = 4.
ENDIF.
ENDFORM.
FORM estorna_sem_agrupamento.
DATA: v_subrc LIKE sy-subrc,
* >> Início da exclusão: FORM ESTORNA_SEM_AGRUPAMENTO
v_wrbtr LIKE bsid-wrbtr,
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
v_wrbtr LIKE bsid-wrbtr,"#EC NEEDED
* << Fim da inclusão
v_dtliquid LIKE sy-datum,
v_dtemb LIKE sy-datum,
v_kurrf_bl LIKE /pws/zycet001-kurrf_bl,
v_cpochv LIKE /pws/zycbe033-cpochv,
v_desm LIKE /pws/zycbt089-tx_desm_cli,
v_belnr LIKE bkpf-belnr,
v_dtbelnr LIKE sy-datum,
v_vlsltrans LIKE /pws/zycbt030-vlsltrans,
v_last TYPE c,
v_newbs LIKE /pws/zycbe033-newbs,
...
...
INTO TABLE itab_zyglt321
WHERE ktosl = 'FTE'
AND codeven = '023'.
PERFORM clear_dados_batch.
READ TABLE itab_zycbt030 INDEX 1.
READ TABLE itab_zycbt017
WITH KEY
nrinvoic = itab_zycbt030-nrinvoic
nrparcf = itab_zycbt030-nrparcf
gsberf = itab_zycbt030-gsberf.
* >> Início da exclusão: FORM ESTORNA_SEM_AGRUPAMENTO
SELECT SINGLE wrbtr
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
SELECT wrbtr
* << Fim da inclusão
FROM bsid
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
UP TO 1 ROWS
* << Fim da inclusão
INTO v_wrbtr
WHERE belnr = itab_zycbt030-belnr6 AND
gjahr = itab_zycbt030-budat(4) AND
bukrs = itab_zycbt209-bukrs.
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
ENDSELECT.
* << Fim da inclusão
IF sy-subrc NE 0.
v_total = 'X'.
ENDIF.
itab_zycbe033-tcode = 'F-30'.
itab_zycbe033-tabela = '/PWS/ZYCBT209'.
CONCATENATE itab_zycbt030-nrinvoic
itab_zycbt030-gsberf
itab_zycbt030-nrparcf
INTO v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
...
...
ENDIF.
CLEAR v_last.
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt209-nrinvoic AND
gsberf = itab_zycbt209-gsberf AND
nrparcf = itab_zycbt209-nrparcf.
IF itab_zycbt030-flag <> 'X'.
v_newbs = '01'.
ELSE.
v_newbs = '12'.
ENDIF.
* >> Início da exclusão: FORM ESTORNA_SEM_AGRUPAMENTO
AT LAST.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
AT LAST."#EC *
* << Fim da inclusão
v_last = 'X'.
ENDAT.
v_line = sy-tabix - 1.
IF v_last EQ 'X'.
itab_zycbe033-wrbtr = itab_zycbt209-vlme *
itab_zycbt030-kwert /
itab_zycbt030-s_kwert.
ELSE.
itab_doctos-tabela = itab_zycbe033-tabela.
itab_doctos-tcode = itab_zycbe033-tcode.
...
...
t_doctos = itab_doctos
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
ENDIF.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = v_tcode
tabela = '/PWS/ZYCBT209'
cpochv = itab_zycbe033-cpochv
* >> Início da exclusão: FORM ESTORNA_SEM_AGRUPAMENTO
tpmsg = 'S'.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
tpmsg = 'S'."#EC *
* << Fim da inclusão
IF sy-subrc EQ 0.
LOOP AT itab_zycbt030
WHERE nrinvoic = itab_zycbt209-nrinvoic AND
gsberf = itab_zycbt209-gsberf AND
nrparcf = itab_zycbt209-nrparcf.
itab_zycbt030-belnr_d = itab_zycbt032-belnr.
MODIFY itab_zycbt030 TRANSPORTING belnr_d.
ENDLOOP.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
...
...
t_doctos = itab_zycbt036
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
ENDIF.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = v_tcode
tabela = '/PWS/ZYCBT209'
cpochv = v_cpochv
* >> Início da exclusão: FORM CLEARING
tpmsg = 'S'.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING
tpmsg = 'S'."#EC *
* << Fim da inclusão
IF sy-subrc = 0.
itab_zycbt030-belnr6 = itab_zycbt032-belnr.
itab_zycbt030-budat = p_dtbelnr.
itab_zycbt030-vlsltrans = itab_zycbt030-vlsltrans +
( itab_zycbt209-vlme *
itab_zycbt030-kwert /
itab_zycbt030-s_kwert ).
MODIFY itab_zycbt030 TRANSPORTING belnr6
budat
vlsltrans
...
...
EXPORTING
arbgb = '/PWS/ZYCBM'
msgty = 'S'
msgv1 = text-060
msgv2 = itab_zycbt209-nrinvoic
msgv3 = text-061
txtnr = '061'
zeile = v_zeile.
v_zeile = v_zeile + 1.
ENDFORM.
* >> Início da exclusão: FORM LIMPA_SALDO
FORM limpa_saldo.
* << Fim da exclusão
* >> Início da inclusão: FORM LIMPA_SALDO
FORM limpa_saldo."#EC CALLED
* << Fim da inclusão
IF /pws/zycbe209-waers ='JPY'.
CLEAR /pws/zycbe209-saldo.
ENDIF.
ENDFORM.
FORM verifica_prorrogacao.
CLEAR: v_buzei, v_zterm, v_zbd1t, v_ztag1.
* >> Início da exclusão: FORM VERIFICA_PRORROGACAO
SELECT SINGLE buzei zterm zbd1t
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO
SELECT buzei zterm zbd1t
* << Fim da inclusão
FROM bsid
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO
UP TO 1 ROWS
* << Fim da inclusão
INTO (v_buzei, v_zterm, v_zbd1t)
WHERE belnr = itab_zycbt030-v_belnr
AND gjahr = itab_zycbt030-budat(4)
AND kunnr = itab_zycbt030-kunag
AND bukrs = itab_zycbt209-bukrs
AND shkzg = 'S'.
* >> Início da exclusão: FORM VERIFICA_PRORROGACAO
SELECT SINGLE ztag1 FROM t052
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO
ENDSELECT.
SELECT ztag1 FROM t052
UP TO 1 ROWS
* << Fim da inclusão
INTO v_ztag1
WHERE zterm = v_zterm.
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO
ENDSELECT.
* << Fim da inclusão
IF v_zbd1t = 0.
IF v_ztag1 IS INITIAL.
v_zbd1t = itab_zycbt017-dtvencto - itab_zycbt017-dtbl.
ELSE.
v_zbd1t = v_ztag1.
ENDIF.
LOOP AT itab_zycbt045 WHERE nrinvoic = itab_zycbt030-nrinvoic.
v_zbd1t = v_zbd1t + itab_zycbt045-nrdias.
ENDLOOP.
ENDIF.
itab_zycbe033-zbd1t = v_zbd1t.
itab_zycbe033-ebene = v_buzei+1(2).
ENDFORM.
FORM verifica_prorrogacao_est.
CLEAR: v_buzei, v_zterm, v_zbd1t, v_ztag1.
* >> Início da exclusão: FORM VERIFICA_PRORROGACAO_EST
SELECT SINGLE buzei zterm zbd1t
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO_EST
SELECT buzei zterm zbd1t
* << Fim da inclusão
FROM bsid
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO_EST
UP TO 1 ROWS
* << Fim da inclusão
INTO (v_buzei, v_zterm, v_zbd1t)
WHERE belnr = itab_zycbt030-belnr
AND gjahr = itab_zycbt030-budat(4)
AND kunnr = itab_zycbt030-kunag
AND bukrs = itab_zycbt209-bukrs
AND shkzg = 'S'.
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO_EST
ENDSELECT.
* << Fim da inclusão
IF sy-subrc NE 0.
* >> Início da exclusão: FORM VERIFICA_PRORROGACAO_EST
SELECT SINGLE buzei zterm zbd1t
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO_EST
SELECT buzei zterm zbd1t
* << Fim da inclusão
FROM bsad
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO_EST
UP TO 1 ROWS
* << Fim da inclusão
INTO (v_buzei, v_zterm, v_zbd1t)
WHERE belnr = itab_zycbt030-belnr
AND gjahr = itab_zycbt030-budat(4)
AND kunnr = itab_zycbt030-kunag
AND bukrs = itab_zycbt209-bukrs
AND shkzg = 'S'.
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO_EST
ENDSELECT.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM VERIFICA_PRORROGACAO_EST
SELECT SINGLE ztag1 FROM t052
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO_EST
SELECT ztag1 FROM t052
UP TO 1 ROWS
* << Fim da inclusão
INTO v_ztag1
WHERE zterm = v_zterm.
* >> Início da inclusão: FORM VERIFICA_PRORROGACAO_EST
ENDSELECT.
* << Fim da inclusão
v_zbd1t = v_ztag1.
LOOP AT itab_zycbt045 WHERE nrinvoic = itab_zycbt030-nrinvoic.
v_zbd1t = v_zbd1t + itab_zycbt045-nrdias.
ENDLOOP.
itab_zycbe033-zbd1t = v_zbd1t.
...
...
INTO p_j_1bbranch
WHERE werks = p_werks.
ENDIF.
SELECT SINGLE adrnr
FROM j_1bbranch
INTO v_adrnr
WHERE
bukrs = p_bukrs AND
branch = p_j_1bbranch.
IF sy-subrc = 0.
* >> Início da exclusão: FORM VALIDA_CAMPO_FILIAL
SELECT SINGLE country
* << Fim da exclusão
* >> Início da inclusão: FORM VALIDA_CAMPO_FILIAL
SELECT country
* << Fim da inclusão
FROM adrc
* >> Início da inclusão: FORM VALIDA_CAMPO_FILIAL
UP TO 1 ROWS
* << Fim da inclusão
INTO v_country
WHERE addrnumber = v_adrnr.
* >> Início da inclusão: FORM VALIDA_CAMPO_FILIAL
endselect.
* << Fim da inclusão
IF sy-subrc = 0 AND
...
...
EXPORTING
i_codmod = 'E'
i_func = v_syrepid
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
* >> Início da inclusão: FORM BUSCA_EXIT
if sy-subrc = 0.
else.
endif.
* << Fim da inclusão
ENDFORM.
* >> Início da inclusão:
form vincular_total.
CLEAR v_index.
LOOP AT itab_zycbt209.
v_index = v_index + 1.
IF itab_zycbt209-VLME EQ 0.
MOVE itab_zycbt209-VLSLTRANS TO itab_zycbt209-VLME .
/pws/zycbe209-VLME = itab_zycbt209-VLME .
MODIFY itab_zycbt209.
ENDIF.
ENDLOOP.
endform.
module LIMPA_CAMPOS output.
IF ok_code <> 'MARK' AND ok_code <> 'DESM'.
v_nrinvoic = ' '.
v_gsberf = ' '.
v_fkdat = ' '.
v_kunag = ' '.
v_dtvencto = ' '.
v_dtbl = ' '.
v_inco1 = ' '.
v_re = ' '.
v_sd = ' '.
ENDIF.
endmodule.
form limpa_selecao.
/pws/zycbe017-nrinvoic = ''.
/pws/zycbe017-nrparcf = ''.
/pws/zycbe017-gsberf = ''.
/pws/zycbe017-dtbl = ''.
/pws/zycbe017-fkdat = ''.
/pws/zycbe017-kunag = ''.
/pws/zycbe017-dtvencto = ''.
/pws/zycbe017-inco1 = ''.
/pws/zycbe017-nrsd = ''.
/pws/zycbe017-nrre = ''.
/pws/zycbe017a-nrinvoic = ''.
/pws/zycbe017a-nrparcf = ''.
/pws/zycbe017a-gsberf = ''.
/pws/zycbe017a-dtbl = ''.
/pws/zycbe017a-fkdat = ''.
/pws/zycbe017a-kunag = ''.
/pws/zycbe017a-dtvencto = ''.
/pws/zycbe017a-inco1 = ''.
/pws/zycbe017a-nrsd = ''.
v_nrre_ate = ''.
endform.
form set_screen_0301.
SET PF-STATUS '0300'.
SET TITLEBAR '300'.
LOOP AT SCREEN.
screen-input = '0'.
screen-invisible = '1'.
MODIFY SCREEN.
IF screen-name+15(9) NE 'OPTI_PUSH'.
IF v_nrinvoic = 'X' AND screen-group1 = 'FAT'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_gsberf = 'X' AND screen-group1 = 'DIV'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_dtbl = 'X' AND screen-group1 = 'DBL'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_fkdat = 'X' AND screen-group1 = 'DFT'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_kunag = 'X' AND screen-group1 = 'CLI'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_dtvencto = 'X' AND screen-group1 = 'DV'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_inco1 = 'X' AND screen-group1 = 'INC'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_re = 'X' AND screen-group1 = 'NRE'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_sd = 'X' AND screen-group1 = 'NRS'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
endform.
form selecionar_zycbt017.
DATA: v_nlin TYPE i VALUE IS INITIAL.
IF sy-ucomm EQ 'CRET'.
FREE: itab_zycbt017_aux, itab_nrinvoic, itab_gsberf , itab_fkdat,
itab_kunag , itab_dtvencto, itab_dtbl , itab_inco1,
itab_nrre , itab_nrsd.
SELECT *
INTO TABLE itab_zycbt017_aux
FROM /pws/zycbt017
WHERE nrinvoic IN nrin
AND gsberf IN gsbe
AND fkdat IN fkda
AND kunag IN kuna
AND dtvencto IN dtve
AND dtbl IN dtbl
AND inco1 IN inco
AND nrre IN nrre
AND nrsd IN nrsd
AND status EQ space.
DESCRIBE TABLE itab_zycbt017_aux LINES v_nlin.
LOOP AT itab_zycbt017_aux.
itab_zycbt017_aux-v_fsaldo = 'X'.
MODIFY itab_zycbt017_aux INDEX sy-tabix.
itab_zycbt209-bukrs = itab_zycbt017_aux-bukrs .
itab_zycbt209-nrinvoic = itab_zycbt017_aux-nrinvoic .
itab_zycbt209-gsberf = itab_zycbt017_aux-gsberf .
itab_zycbt209-kunnr = itab_zycbt017_aux-kunag .
itab_zycbt209-nrparcf = itab_zycbt017_aux-nrparcf .
itab_zycbt209-waers = itab_zycbt017_aux-waers .
itab_zycbt209-vlavinc = itab_zycbt017_aux-vlavinc.
itab_zycbt209-dtincl = sy-datum.
itab_zycbt209-dtcredext = sy-datum.
SELECT * FROM /pws/zycbt030
UP TO 1 ROWS
WHERE nrinvoic = itab_zycbt017_aux-nrinvoic AND
nrparcf = itab_zycbt017_aux-nrparcf AND
gsberf = itab_zycbt017_aux-gsberf.
ENDSELECT.
IF sy-subrc = 0.
IF /pws/zycbt030-vlsltrans > 0 .
itab_zycbt209-vlsltrans = /pws/zycbt030-vlsltrans.
APPEND itab_zycbt209.
ELSE.
continue.
ENDIF.
ENDIF.
ENDLOOP.
if itab_zycbt209[] is initial.
MESSAGE w015 WITH text-078.
endif.
IF v_nlin IS INITIAL.
MESSAGE w015 WITH text-077.
ELSE.
v_select = 'X'.
SET SCREEN '0100'.
LEAVE TO SCREEN '0100'.
ENDIF.
ENDIF.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB031I01
MODULE modify_line INPUT.
PERFORM modify_line.
ENDMODULE.
MODULE verifica_linhas INPUT.
PERFORM verifica_linhas.
ENDMODULE.
MODULE get_invoice INPUT.
PERFORM get_invoice.
ENDMODULE.
MODULE user_command_0100 INPUT.
* >> Início da exclusão: MODULE USER_COMMAND_0100
DATA: e_subrc LIKE sy-subrc,
e_exec_okcode.
CLEAR: r_okcode, e_exec_okcode, v_syrepid, v_subrc.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0100
DATA: e_subrc LIKE sy-subrc.
CLEAR: r_okcode,
v_syrepid,
v_subrc.
* << Fim da inclusão
CALL METHOD cl_gui_cfw=>dispatch.
IF NOT r_okcode IS INITIAL.
ok_code = r_okcode.
ENDIF.
CLEAR itab_zyglt100.
IF itab_zyglt100[] IS INITIAL.
v_syrepid = sy-repid.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'E'
i_func = v_syrepid
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
* >> Início da inclusão: MODULE USER_COMMAND_0100
IF sy-subrc = 0.
ELSE.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: MODULE USER_COMMAND_0100
ENDIF.
* << Fim da inclusão
READ TABLE itab_zyglt100 WITH KEY zexit = 'LIQ004' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa)
USING ok_code
...
...
PERFORM command_proc.
WHEN 'BACK'.
PERFORM command_back.
WHEN 'DRILL'.
PERFORM command_drill.
WHEN 'P-' OR 'P--' OR 'P+' OR 'P++'.
PERFORM command_page.
tc_liq-top_line = v_line_ini.
WHEN 'MODO'.
PERFORM command_modo.
* >> Início da inclusão: MODULE USER_COMMAND_0100
WHEN 'SELE'.
SET SCREEN '0200'.
LEAVE TO SCREEN '0200'.
WHEN 'TOTAL'.
PERFORM vincular_total.
* << Fim da inclusão
ENDCASE.
ENDMODULE.
MODULE user_command_exit INPUT.
PERFORM exit_command.
ENDMODULE.
MODULE user_command_0051 INPUT.
CASE ok_code.
WHEN 'BC'.
CALL METHOD html_control->go_back.
CLEAR ok_code.
...
...
ENDCASE.
ENDMODULE.
MODULE seta_top_of_line INPUT.
READ TABLE itab_zycbt209 INDEX tc_liq-top_line.
IF sy-subrc NE 0.
DESCRIBE TABLE itab_zycbt209 LINES v_line_ini.
tc_liq-top_line = v_line_ini + 1.
ENDIF.
ENDMODULE.
MODULE consiste_valores INPUT.
* >> Início da inclusão: MODULE CONSISTE_VALORES
CHECK v_select IS INITIAL.
IF ok_code NE 'TOTAL' .
* << Fim da inclusão
CHECK NOT /pws/zycbe209-nrinvoic IS INITIAL.
IF /pws/zycbe209-vlme IS INITIAL.
MESSAGE e015 WITH 'Informe'(071) 'o Valor Liquidação.'(072).
* >> Início da inclusão: MODULE CONSISTE_VALORES
ENDIF.
* << Fim da inclusão
ENDIF.
ENDMODULE.
* >> Início da inclusão:
MODULE status_0200 OUTPUT.
SET PF-STATUS '0200'.
SET TITLEBAR '200'.
ENDMODULE.
MODULE user_command_0200 INPUT.
CASE ok_code.
WHEN 'EXEC'.
IF v_inco1 = ' ' AND v_nrinvoic = ' ' AND v_gsberf = ' ' AND
v_kunag = ' ' AND v_dtvencto = ' ' AND v_fkdat = ' ' AND
v_dtbl = ' ' AND v_re = ' ' AND v_sd = ' '.
MESSAGE w015 WITH text-076.
ELSE.
PERFORM limpa_selecao.
CALL SELECTION-SCREEN 0301.
ENDIF.
WHEN 'MARK'.
v_nrinvoic = 'X'.
v_gsberf = 'X'.
v_fkdat = 'X'.
v_kunag = 'X'.
v_dtvencto = 'X'.
v_dtbl = 'X'.
v_inco1 = 'X'.
v_re = 'X'.
v_sd = 'X'.
WHEN 'DESM'.
v_nrinvoic = ' '.
v_gsberf = ' '.
v_fkdat = ' '.
v_kunag = ' '.
v_dtvencto = ' '.
v_dtbl = ' '.
v_inco1 = ' '.
v_re = ' '.
v_sd = ' '.
ENDCASE.
ENDMODULE.
MODULE status_0300 OUTPUT.
SET PF-STATUS '0300'.
SET TITLEBAR '300'.
ENDMODULE.
MODULE set_screen_300 OUTPUT.
LOOP AT SCREEN.
screen-input = '0'.
screen-invisible = '1'.
MODIFY SCREEN.
IF v_nrinvoic = 'X' AND screen-group2 = 'FAT'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_gsberf = 'X' AND screen-group2 = 'DIV'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_dtbl = 'X' AND screen-group2 = 'DBL'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_fkdat = 'X' AND screen-group2 = 'DFT'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_kunag = 'X' AND screen-group2 = 'CLI'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_dtvencto = 'X' AND screen-group2 = 'DV'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_inco1 = 'X' AND screen-group2 = 'INC'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_re = 'X' AND screen-group2 = 'NRE'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
IF v_sd = 'X' AND screen-group2 = 'NSD'.
screen-invisible = '0'.
screen-input = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDMODULE.
MODULE selecionar_zycbt017 INPUT.
DATA: v_nlin TYPE i VALUE IS INITIAL.
IF ok_code EQ 'EXEC'.
FREE: itab_nrinvoic,
itab_gsberf,
itab_fkdat,
itab_kunag,
itab_dtvencto,
itab_dtbl,
itab_inco1,
itab_nrre,
itab_nrsd.
IF NOT /pws/zycbe017-nrinvoic IS INITIAL AND
/pws/zycbe017a-nrinvoic IS INITIAL.
itab_nrinvoic-sign = 'I'.
itab_nrinvoic-option = 'EQ'.
itab_nrinvoic-low = /pws/zycbe017-nrinvoic.
itab_nrinvoic-high = /pws/zycbe017a-nrinvoic.
APPEND itab_nrinvoic.
ELSEIF /pws/zycbe017-nrinvoic IS INITIAL AND
NOT /pws/zycbe017a-nrinvoic IS INITIAL.
itab_nrinvoic-sign = 'I'.
itab_nrinvoic-option = 'BT'.
itab_nrinvoic-low = /pws/zycbe017-nrinvoic.
itab_nrinvoic-high = /pws/zycbe017a-nrinvoic.
APPEND itab_nrinvoic.
ELSEIF NOT /pws/zycbe017-nrinvoic IS INITIAL AND
NOT /pws/zycbe017a-nrinvoic IS INITIAL.
itab_nrinvoic-sign = 'I'.
itab_nrinvoic-option = 'BT'.
itab_nrinvoic-low = /pws/zycbe017-nrinvoic.
itab_nrinvoic-high = /pws/zycbe017a-nrinvoic.
APPEND itab_nrinvoic.
ENDIF.
IF NOT /pws/zycbe017-gsberf IS INITIAL AND
/pws/zycbe017a-gsberf IS INITIAL.
itab_gsberf-sign = 'I'.
itab_gsberf-option = 'EQ'.
itab_gsberf-low = /pws/zycbe017-gsberf.
itab_gsberf-high = /pws/zycbe017a-gsberf.
APPEND itab_gsberf.
ELSEIF /pws/zycbe017-gsberf IS INITIAL AND
NOT /pws/zycbe017a-gsberf IS INITIAL.
itab_gsberf-sign = 'I'.
itab_gsberf-option = 'BT'.
itab_gsberf-low = /pws/zycbe017-gsberf.
itab_gsberf-high = /pws/zycbe017a-gsberf.
APPEND itab_gsberf.
ELSEIF NOT /pws/zycbe017-gsberf IS INITIAL AND
NOT /pws/zycbe017a-gsberf IS INITIAL.
itab_gsberf-sign = 'I'.
itab_gsberf-option = 'BT'.
itab_gsberf-low = /pws/zycbe017-gsberf.
itab_gsberf-high = /pws/zycbe017a-gsberf.
APPEND itab_gsberf.
ENDIF.
IF NOT /pws/zycbe017-kunag IS INITIAL AND
/pws/zycbe017a-kunag IS INITIAL.
itab_kunag-sign = 'I'.
itab_kunag-option = 'EQ'.
itab_kunag-low = /pws/zycbe017-kunag.
itab_kunag-high = /pws/zycbe017a-kunag.
APPEND itab_kunag.
ELSEIF /pws/zycbe017-kunag IS INITIAL AND
NOT /pws/zycbe017a-kunag IS INITIAL.
itab_kunag-sign = 'I'.
itab_kunag-option = 'BT'.
itab_kunag-low = /pws/zycbe017-kunag.
itab_kunag-high = /pws/zycbe017a-kunag.
APPEND itab_kunag.
ELSEIF NOT /pws/zycbe017-kunag IS INITIAL AND
NOT /pws/zycbe017a-kunag IS INITIAL.
itab_kunag-sign = 'I'.
itab_kunag-option = 'BT'.
itab_kunag-low = /pws/zycbe017-kunag.
itab_kunag-high = /pws/zycbe017a-kunag.
APPEND itab_kunag.
ENDIF.
IF NOT /pws/zycbe017-inco1 IS INITIAL AND
/pws/zycbe017a-inco1 IS INITIAL.
itab_inco1-sign = 'I'.
itab_inco1-option = 'EQ'.
itab_inco1-low = /pws/zycbe017-inco1.
itab_inco1-high = /pws/zycbe017a-inco1.
APPEND itab_inco1.
ELSEIF /pws/zycbe017-inco1 IS INITIAL AND
NOT /pws/zycbe017a-inco1 IS INITIAL.
itab_inco1-sign = 'I'.
itab_inco1-option = 'BT'.
itab_inco1-low = /pws/zycbe017-inco1.
itab_inco1-high = /pws/zycbe017a-inco1.
APPEND itab_inco1.
ELSEIF NOT /pws/zycbe017-inco1 IS INITIAL AND
NOT /pws/zycbe017a-inco1 IS INITIAL.
itab_inco1-sign = 'I'.
itab_inco1-option = 'BT'.
itab_inco1-low = /pws/zycbe017-inco1.
itab_inco1-high = /pws/zycbe017a-inco1.
APPEND itab_inco1.
ENDIF.
IF ( ( /pws/zycbe017-fkdat NE '' ) AND
( /pws/zycbe017-fkdat NE '00000000' ) ) AND
( ( /pws/zycbe017a-fkdat EQ '' ) OR
( /pws/zycbe017a-fkdat EQ '00000000' ) ).
itab_fkdat-sign = 'I'.
itab_fkdat-option = 'EQ'.
itab_fkdat-low = /pws/zycbe017-fkdat.
itab_fkdat-high = /pws/zycbe017a-fkdat.
APPEND itab_fkdat.
ELSEIF ( ( /pws/zycbe017-fkdat EQ '' ) OR
( /pws/zycbe017-fkdat EQ '00000000' ) ) AND
( ( /pws/zycbe017a-fkdat NE '' ) AND
( /pws/zycbe017a-fkdat NE '00000000' ) ).
itab_fkdat-sign = 'I'.
itab_fkdat-option = 'BT'.
itab_fkdat-low = /pws/zycbe017-fkdat.
itab_fkdat-high = /pws/zycbe017a-fkdat.
APPEND itab_fkdat.
ELSEIF ( ( /pws/zycbe017-fkdat NE '' ) AND
( /pws/zycbe017-fkdat NE '00000000' ) ) AND
( ( /pws/zycbe017a-fkdat NE '' ) AND
( /pws/zycbe017a-fkdat NE '00000000' ) ).
itab_fkdat-sign = 'I'.
itab_fkdat-option = 'BT'.
itab_fkdat-low = /pws/zycbe017-fkdat.
itab_fkdat-high = /pws/zycbe017a-fkdat.
APPEND itab_fkdat.
ENDIF.
IF ( ( /pws/zycbe017-dtvencto NE '' ) AND
( /pws/zycbe017-dtvencto NE '00000000' ) ) AND
( ( /pws/zycbe017a-dtvencto EQ '' ) OR
( /pws/zycbe017a-dtvencto EQ '00000000' ) ).
itab_dtvencto-sign = 'I'.
itab_dtvencto-option = 'EQ'.
itab_dtvencto-low = /pws/zycbe017-dtvencto.
itab_dtvencto-high = /pws/zycbe017a-dtvencto.
APPEND itab_dtvencto.
ELSEIF ( ( /pws/zycbe017-dtvencto EQ '' ) OR
( /pws/zycbe017-dtvencto EQ '00000000' ) ) AND
( ( /pws/zycbe017a-dtvencto NE '' ) AND
( /pws/zycbe017a-dtvencto NE '00000000' ) ).
itab_dtvencto-sign = 'I'.
itab_dtvencto-option = 'BT'.
itab_dtvencto-low = /pws/zycbe017-dtvencto.
itab_dtvencto-high = /pws/zycbe017a-dtvencto.
APPEND itab_dtvencto.
ELSEIF ( ( /pws/zycbe017-dtvencto NE '' ) AND
( /pws/zycbe017-dtvencto NE '00000000' ) ) AND
( ( /pws/zycbe017a-dtvencto NE '' ) AND
( /pws/zycbe017a-dtvencto NE '00000000' ) ).
itab_dtvencto-sign = 'I'.
itab_dtvencto-option = 'BT'.
itab_dtvencto-low = /pws/zycbe017-dtvencto.
itab_dtvencto-high = /pws/zycbe017a-dtvencto.
APPEND itab_dtvencto.
ENDIF.
IF ( ( /pws/zycbe017-dtbl NE '' ) AND
( /pws/zycbe017-dtbl NE '00000000' ) ) AND
( ( /pws/zycbe017a-dtbl EQ '' ) OR
( /pws/zycbe017a-dtbl EQ '00000000' ) ).
itab_dtbl-sign = 'I'.
itab_dtbl-option = 'EQ'.
itab_dtbl-low = /pws/zycbe017-dtbl.
itab_dtbl-high = /pws/zycbe017a-dtbl.
APPEND itab_dtbl.
ELSEIF ( ( /pws/zycbe017-dtbl EQ '' ) OR
( /pws/zycbe017-dtbl EQ '00000000' ) ) AND
( ( /pws/zycbe017a-dtbl NE '' ) AND
( /pws/zycbe017a-dtbl NE '00000000' ) ).
itab_dtbl-sign = 'I'.
itab_dtbl-option = 'BT'.
itab_dtbl-low = /pws/zycbe017-dtbl.
itab_dtbl-high = /pws/zycbe017a-dtbl.
APPEND itab_dtbl.
ELSEIF ( ( /pws/zycbe017-dtbl NE '' ) AND
( /pws/zycbe017-dtbl NE '00000000' ) ) AND
( ( /pws/zycbe017a-dtbl NE '' ) AND
( /pws/zycbe017a-dtbl NE '00000000' ) ).
itab_dtbl-sign = 'I'.
itab_dtbl-option = 'BT'.
itab_dtbl-low = /pws/zycbe017-dtbl.
itab_dtbl-high = /pws/zycbe017a-dtbl.
APPEND itab_dtbl.
ENDIF.
IF NOT /pws/zycbe017-nrre IS INITIAL AND
v_nrre_ate IS INITIAL.
itab_nrre-sign = 'I'.
itab_nrre-option = 'EQ'.
itab_nrre-low = /pws/zycbe017-nrre.
itab_nrre-high = v_nrre_ate.
APPEND itab_nrre.
ELSEIF /pws/zycbe017-nrre IS INITIAL AND
NOT v_nrre_ate IS INITIAL.
itab_nrre-sign = 'I'.
itab_nrre-option = 'BT'.
itab_nrre-low = /pws/zycbe017-nrre.
itab_nrre-high = v_nrre_ate.
APPEND itab_nrre.
ELSEIF NOT /pws/zycbe017-nrre IS INITIAL AND
NOT v_nrre_ate IS INITIAL.
itab_nrre-sign = 'I'.
itab_nrre-option = 'BT'.
itab_nrre-low = /pws/zycbe017-nrre.
itab_nrre-high = v_nrre_ate.
APPEND itab_nrre.
ENDIF.
IF NOT /pws/zycbe017-nrsd IS INITIAL AND
/pws/zycbe017a-nrsd IS INITIAL.
itab_nrsd-sign = 'I'.
itab_nrsd-option = 'EQ'.
itab_nrsd-low = /pws/zycbe017-nrsd.
itab_nrsd-high = /pws/zycbe017a-nrsd.
APPEND itab_nrsd.
ELSEIF /pws/zycbe017-nrsd IS INITIAL AND
NOT /pws/zycbe017a-nrsd IS INITIAL.
itab_nrsd-sign = 'I'.
itab_nrsd-option = 'BT'.
itab_nrsd-low = /pws/zycbe017-nrsd.
itab_nrsd-high = /pws/zycbe017a-nrsd.
APPEND itab_nrsd.
ELSEIF NOT /pws/zycbe017-nrsd IS INITIAL AND
NOT /pws/zycbe017a-nrsd IS INITIAL.
itab_nrsd-sign = 'I'.
itab_nrsd-option = 'BT'.
itab_nrsd-low = /pws/zycbe017-nrsd.
itab_nrsd-high = /pws/zycbe017a-nrsd.
APPEND itab_nrsd.
ENDIF.
SELECT *
INTO TABLE itab_zycbt017_aux
FROM /pws/zycbt017
WHERE nrinvoic IN itab_nrinvoic
AND gsberf IN itab_gsberf
AND fkdat IN itab_fkdat
AND kunag IN itab_kunag
AND dtvencto IN itab_dtvencto
AND dtbl IN itab_dtbl
AND inco1 IN itab_inco1
AND nrre IN itab_nrre
AND nrsd IN itab_nrsd
AND status EQ space.
DESCRIBE TABLE itab_zycbt017_aux LINES v_nlin.
LOOP AT itab_zycbt017_aux.
itab_zycbt017_aux-v_fsaldo = 'X'.
MODIFY itab_zycbt017_aux INDEX sy-tabix.
itab_zycbt209-bukrs = itab_zycbt017_aux-bukrs .
itab_zycbt209-nrinvoic = itab_zycbt017_aux-nrinvoic .
itab_zycbt209-gsberf = itab_zycbt017_aux-gsberf .
itab_zycbt209-kunnr = itab_zycbt017_aux-kunag .
itab_zycbt209-nrparcf = itab_zycbt017_aux-nrparcf .
itab_zycbt209-waers = itab_zycbt017_aux-waers .
itab_zycbt209-vlavinc = itab_zycbt017_aux-vlavinc.
itab_zycbt209-dtincl = sy-datum.
itab_zycbt209-dtcredext = sy-datum.
SELECT * FROM /pws/zycbt030
UP TO 1 ROWS
WHERE nrinvoic = itab_zycbt017_aux-nrinvoic AND
nrparcf = itab_zycbt017_aux-nrparcf AND
gsberf = itab_zycbt017_aux-gsberf.
ENDSELECT.
IF sy-subrc = 0.
IF /pws/zycbt030-vlsltrans > 0 .
itab_zycbt209-vlsltrans = /pws/zycbt030-vlsltrans.
APPEND itab_zycbt209.
ELSE.
continue.
ENDIF.
ENDIF.
ENDLOOP.
IF v_nlin IS INITIAL.
MESSAGE w015 WITH text-077.
ELSE.
v_select = 'X'.
SET SCREEN '0100'.
LEAVE TO SCREEN '0100'.
ENDIF.
ENDIF.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB031O01
module status_0100 output.
perform set_status.
endmodule.
module set_screen output.
perform set_screen.
endmodule.
module insert_line output.
* >> Início da inclusão: MODULE INSERT_LINE
data: v_line(02) type n.
if v_select is initial.
* << Fim da inclusão
v_oper = icon_space.
clear: /pws/zycbe209,
/pws/zycbt017,
/pws/zycbt030.
clear v_vlsltrans.
move-corresponding itab_zycbt209 to /pws/zycbe209.
select single * from /pws/zycbt017
where nrinvoic = /pws/zycbe209-nrinvoic and
nrparcf = /pws/zycbe209-nrparcf and
gsberf = /pws/zycbe209-gsberf.
* >> Início da exclusão: MODULE INSERT_LINE
select single * from /pws/zycbt030
* << Fim da exclusão
* >> Início da inclusão: MODULE INSERT_LINE
select * from /pws/zycbt030
UP TO 1 ROWS
* << Fim da inclusão
where nrinvoic = /pws/zycbe209-nrinvoic and
nrparcf = /pws/zycbe209-nrparcf and
gsberf = /pws/zycbe209-gsberf.
* >> Início da inclusão: MODULE INSERT_LINE
ENDSELECT.
* << Fim da inclusão
v_vlsltrans = /pws/zycbt030-vlsltrans.
if /pws/zycbe209-dtincl is initial and
not /pws/zycbe209-nrinvoic is initial.
/pws/zycbe209-dtincl = sy-datum.
...
...
endcase.
select single name1 from kna1 into v_name1
where kunnr = /pws/zycbe209-kunnr.
if not /pws/zycbe209-bco_receb is initial.
select single name1 from lfa1 into v_name_bco
where lifnr = /pws/zycbe209-bco_receb.
endif.
v_vlavinc = /pws/zycbt017-vlavinc.
tc_liq-lines = tc_liq-top_line + sy-srows - 2.
clear ok_code.
* >> Início da inclusão: MODULE INSERT_LINE
else.
v_oper = icon_space.
clear: /pws/zycbe209,
/pws/zycbt017,
/pws/zycbt030.
clear v_vlsltrans.
move-corresponding itab_zycbt209 to /pws/zycbe209.
if /pws/zycbe209-belnr2 is initial.
move /pws/zycbe209-belnr to /pws/zycbe209-belnr2.
endif.
if itab_zycbt209-liquid eq 'X'.
itab_zycbt209-oper = 'N'.
endif.
case itab_zycbt209-oper.
when space.
v_oper = icon_space.
when 'I'.
v_oper = icon_create.
when 'A'.
v_oper = icon_change.
when 'E'.
v_oper = icon_delete.
when 'N'.
v_oper = icon_locked.
when 'R'.
v_oper = icon_breakpoint.
when others.
v_oper = icon_space.
endcase.
if not itab_zycbt209-v_name1 is initial.
select single name1 from kna1 into v_name1
where kunnr = /pws/zycbe209-kunnr.
endif.
if not /pws/zycbe209-bco_receb is initial.
select single name1 from lfa1 into v_name_bco
where lifnr = /pws/zycbe209-bco_receb.
endif.
if not /pws/zycbe209-NRINVOIC is initial .
V_VLAVINC = itab_zycbt209-vlavinc .
v_vlsltrans = itab_zycbt209-vlsltrans .
/pws/zycbe209-dtincl = sy-datum.
/pws/zycbe209-dtcredext = sy-datum.
endif.
tc_liq-lines = tc_liq-top_line + sy-srows - 2.
clear ok_code.
endif.
* << Fim da inclusão
endmodule.
module set_screen_tc output.
perform set_screen_tc.
endmodule.
module carrega_parametros output.
* >> Início da exclusão: MODULE CARREGA_PARAMETROS
select single empresa
* << Fim da exclusão
* >> Início da inclusão: MODULE CARREGA_PARAMETROS
check v_select is initial.
select empresa
* << Fim da inclusão
from /pws/zyglt364
* >> Início da inclusão: MODULE CARREGA_PARAMETROS
UP TO 1 ROWS
* << Fim da inclusão
into /pws/zyglt364-empresa
where usuario eq sy-uname.
* >> Início da inclusão: MODULE CARREGA_PARAMETROS
ENDSELECT .
* << Fim da inclusão
select single *
...
...
module load_html_help output.
if my_container is initial.
create object my_container
exporting
container_name = 'CC_HTML_HELP'
exceptions
others = 1.
case sy-subrc.
when 0.
when others.
* >> Início da exclusão: MODULE LOAD_HTML_HELP
raise cntl_error.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_HTML_HELP
raise cntl_error."#EC *
* << Fim da inclusão
endcase.
endif.
if html_control is initial.
create object html_control
exporting
parent = my_container.
if sy-subrc ne 0.
* >> Início da exclusão: MODULE LOAD_HTML_HELP
raise cntl_error.
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_HTML_HELP
raise cntl_error."#EC *
* << Fim da inclusão
endif.
alignment = html_control->align_at_left +
html_control->align_at_right +
html_control->align_at_top +
html_control->align_at_bottom.
call method html_control->set_alignment
exporting
alignment = alignment.
myevent-eventid = html_control->m_id_sapevent.
myevent-appl_event = 'X'.
...
...
call method html_control->set_registered_events
exporting
events = myevent_tab.
create object evt_receiver.
set handler evt_receiver->on_sapevent
for html_control.
perform load_home_page.
endif.
endmodule.
module status_0100_custom output.
* >> Início da inclusão: MODULE STATUS_0100_CUSTOM
check v_select is initial.
* << Fim da inclusão
perform status_custom.
endmodule.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB031TOP
PROGRAM /pws/sapmzycb031 MESSAGE-ID /pws/zycbm.
DATA: itab_zyglt100 LIKE /pws/zyglt100 OCCURS 0 WITH HEADER LINE.
INCLUDE /pws/zygli101.
* >> Início da exclusão:
DATA v_tela_help LIKE sy-dynnr VALUE '0052'.
* << Fim da exclusão
* >> Início da inclusão:
DATA v_tela_help LIKE sy-dynnr VALUE '0052'."#EC NEEDED
* << Fim da inclusão
TABLES:
/pws/zycbt007,
/pws/zycbt089,
/pws/zycbt011,
/pws/zycbt017,
/pws/zycbt030,
* >> Início da exclusão:
/pws/zyglt364.
* << Fim da exclusão
* >> Início da inclusão:
/pws/zyglt364,"#EC NEEDED
/pws/zycbe017,
/pws/zycbe017a.
* << Fim da inclusão
INCLUDE: <icon>,
/pws/mzycb031x01,
/pws/zygli100.
DATA: BEGIN OF itab_zycbt209_ant OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt209.
DATA: vlsltrans LIKE /pws/zycbt030-vlsltrans,
oper(1) TYPE c,
mark(1) TYPE c,
v_name1 TYPE kna1-name1,
vlavinc TYPE /pws/zycbt017-vlavinc,
...
...
v_belnr LIKE /pws/zycbt030-belnr,
s_kwert LIKE /pws/zycbt030-kwert,
v_kwert LIKE /pws/zycbt030-kwert,
v_kwert2 LIKE /pws/zycbt030-kwert,
belnr7 LIKE /pws/zycbt030-belnr,
flag(1) TYPE c,
belnr_d LIKE /pws/zycbt030-belnr,
status_d(1).
DATA: END OF itab_zycbt030.
DATA:
* >> Início da exclusão:
itab_zycbt013 LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE.
* << Fim da exclusão
* >> Início da inclusão:
itab_zycbt013 LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE."#EC *
* << Fim da inclusão
DATA: BEGIN OF itab_modo OCCURS 0.
INCLUDE STRUCTURE spopli.
DATA: END OF itab_modo.
DATA: itab_zyglt368 LIKE /pws/zyglt368 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_zycbt017 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt017.
DATA: END OF itab_zycbt017.
DATA: BEGIN OF itab_zycbt045 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt045.
DATA: END OF itab_zycbt045.
...
...
v_dtaverb2 LIKE /pws/zycet001-dtaverb,
v_dtcruze LIKE /pws/zycet001-dtcruze,
v_nrseq LIKE /pws/zycet001-nrseq,
moeda LIKE /pws/zycbt209-waers,
v_buzei LIKE bseg-buzei,
v_zterm LIKE bsid-zterm,
v_zbd1t LIKE bsid-zbd1t,
v_ztag1 LIKE t052-ztag1,
v_vinc_tot type c,
v_subrc like sy-subrc.
* >> Início da inclusão:
data: v_nrinvoic VALUE space,
v_gsberf VALUE space,
v_fkdat VALUE space,
v_kunag VALUE space,
v_dtvencto VALUE space,
v_dtbl VALUE space,
v_inco1 VALUE space,
v_re VALUE space,
v_sd VALUE space,
v_nrre_ate LIKE /pws/zycbe017-nrre,
v_select type c,
v_index TYPE i.
DATA: BEGIN OF itab_nrinvoic OCCURS 1,
sign(1) TYPE c,
option(2) TYPE c,
low LIKE /pws/zycbe017-nrinvoic,
high LIKE /pws/zycbe017a-nrinvoic,
END OF itab_nrinvoic.
DATA: BEGIN OF itab_gsberf OCCURS 1,
sign(1) TYPE c,
option(2) TYPE c,
low LIKE /pws/zycbe017-gsberf,
high LIKE /pws/zycbe017a-gsberf,
END OF itab_gsberf.
DATA: BEGIN OF itab_fkdat OCCURS 1,
sign(1) TYPE c,
option(2) TYPE c,
low LIKE /pws/zycbe017-fkdat,
high LIKE /pws/zycbe017a-fkdat,
END OF itab_fkdat.
DATA: BEGIN OF itab_kunag OCCURS 1,
sign(1) TYPE c,
option(2) TYPE c,
low LIKE /pws/zycbe017-kunag,
high LIKE /pws/zycbe017a-kunag,
END OF itab_kunag.
DATA: BEGIN OF itab_dtvencto OCCURS 1,
sign(1) TYPE c,
option(2) TYPE c,
low LIKE /pws/zycbe017-dtvencto,
high LIKE /pws/zycbe017a-dtvencto,
END OF itab_dtvencto.
DATA: BEGIN OF itab_dtbl OCCURS 1,
sign(1) TYPE c,
option(2) TYPE c,
low LIKE /pws/zycbe017-dtbl,
high LIKE /pws/zycbe017a-dtbl,
END OF itab_dtbl.
DATA: BEGIN OF itab_inco1 OCCURS 1,
sign(1) TYPE c,
option(2) TYPE c,
low LIKE /pws/zycbe017-inco1,
high LIKE /pws/zycbe017a-inco1,
END OF itab_inco1.
DATA: BEGIN OF itab_nrre OCCURS 1,
sign(1) TYPE c,
option(2) TYPE c,
low LIKE /pws/zycbe017-nrre,
high TYPE /pws/zycbe017-nrre,
END OF itab_nrre.
DATA: BEGIN OF itab_nrsd OCCURS 1,
sign(1) TYPE c,
option(2) TYPE c,
low LIKE /pws/zycbe017-nrsd,
high LIKE /pws/zycbe017a-nrsd,
END OF itab_nrsd.
DATA: BEGIN OF itab_zycbt017_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt017.
DATA: v_fsaldo TYPE c,
END OF itab_zycbt017_aux.
* << Fim da inclusão
SELECTION-SCREEN BEGIN OF SCREEN 0001.
SELECT-OPTIONS: s_nrinv FOR /pws/zycbt209-nrinvoic
MATCHCODE OBJECT /pws/zygla288,
s_bukrs FOR /pws/zycbt209-bukrs,
s_gsber FOR /pws/zycbt209-gsberf,
s_werks FOR /pws/zycbt209-werks,
s_nparc FOR /pws/zycbt209-nrparcf,
s_kunnr FOR /pws/zycbt209-kunnr,
s_dtinc FOR /pws/zycbt209-dtincl.
SELECTION-SCREEN END OF SCREEN 0001.
* >> Início da inclusão:
SELECTION-SCREEN BEGIN OF SCREEN 0301.
select-options: nrin FOR /pws/zycbe017-nrinvoic
MATCHCODE OBJECT /PWS/ZYCBA249 MODIF ID fat ,
gsbe FOR /pws/zycbe017-gsberf MODIF ID div,
dtbl FOR /pws/zycbe017-dtbl MODIF ID dbl,
fkda FOR /pws/zycbe017-fkdat MODIF ID dft,
kuna FOR /pws/zycbe017-kunag MODIF ID cli
MATCHCODE OBJECT debia,
dtve FOR /pws/zycbe017-dtvencto MODIF ID dv,
inco FOR /pws/zycbe017-inco1 MODIF ID inc,
nrre FOR /pws/zycbe017-nrre MODIF ID nre,
nrsd FOR /pws/zycbe017-nrsd MODIF ID nrs.
SELECTION-SCREEN END OF SCREEN 0301.
* << Fim da inclusão
AT SELECTION-SCREEN OUTPUT.
* >> Início da inclusão:
IF sy-dynnr = '0301'.
PERFORM set_screen_0301.
ELSE.
* << Fim da inclusão
PERFORM set_status_sel.
* >> Início da inclusão:
ENDIF.
* << Fim da inclusão
AT SELECTION-SCREEN.
* >> Início da inclusão:
IF sy-dynnr = '0301'.
PERFORM selecionar_zycbt017.
ENDIF.
* << Fim da inclusão
CHECK sy-dynnr EQ '0001'.
CASE sy-ucomm.
WHEN 'CRET'.
PERFORM seleciona_zycbt209.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB031
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 006
Texto: (27 caracteres)
"Esta fatura já foi incluída"
Comprimento máximo: 27
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 007
Texto: (19 caracteres)
"para processamento."
Comprimento máximo: 19
------------------------------------------------------------------------
Excluído símbolo de texto:
Idioma: PT
Símbolo: 063
Texto: (65 caracteres)
"sem data base de Variação Cambial. Liquidação não será permitida."
Comprimento máximo: 65
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 076
Texto: (25 caracteres)
"Nenhum campo foi marcado."
Comprimento máximo: 25
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 077
Texto: (31 caracteres)
"Nenhuma fatura foi selecionada."
Comprimento máximo: 31
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 078
Texto: (47 caracteres)
"Saldo a Transferir está zerado para esta Fatura"
Comprimento máximo: 47
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): DTBL
Texto: (24 caracteres)
"Data do Embarque"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): DTVE
Texto: (26 caracteres)
"Data de Vencimento"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): FKDA
Texto: (27 caracteres)
"Data de Faturamento"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): GSBE
Texto: (25 caracteres)
"Divisão da Fatura"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): INCO
Texto: (17 caracteres)
"Incoterms"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): KUNA
Texto: (15 caracteres)
"Cliente"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): NRIN
Texto: (17 caracteres)
"Nº Fatura"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): NRRE
Texto: (10 caracteres)
"RE"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Incluído texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): NRSD
Texto: (10 caracteres)
"SD"
Referência ao Dictionary: NÃO
------------------------------------------------------------------------
Modificado texto de seleção:
Idioma: PT
Variável (SELECT-OPTION / PARAMETER): S_BUKRS
Texto: (0 caracteres)
Referência ao Dictionary: NÃO