Módulo: DRAWBACK
Funcionalidade: Composição
Data/Hora da Publicação: 29/10/2007 00:00:00
Data/Hora Última Alteração: 17/02/2011 15:15:58
Descrição da Nota: DUMP TIME OUT NA SELEÇÃO DAS EXPORTAÇÕES
Sintoma
Esta ocorrendo DUMP de time out.
Solução
O programa foi atualziado para chamar um função standard (relógio) para evitar o dump.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05100 Data: 29/10/2007 Hora: 10:01:56
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05100
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00018
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02251 - 00001 - 6.0 - 00025 - COMPOSIÇÃO ISENÇÃO(EXPORTAÇÃO, TRADING COMPANY, COMERCIAL EXPORTA
----------------------------------------------------------------------------------------------------
DUMP TIME OUT NA SELEÇÃO DAS EXPORTAÇÕES
----------------------------------------------------------------------------------------------------
Palavras Chave:
DUMP COMPOSIÇÃO DE ISENÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI064F03
REPS /PWS/MZYCI064X01
REPT /PWS/SAPMZYCI064
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI064F03
...
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ELSE.
PERFORM testa_nao_vinculacao.
ENDIF.
PERFORM trata_ordem_venda3.
REFRESH itab_mess_un.
LOOP AT itab_re_final.
* >> Início da inclusão: FORM SELECIONAR_EXPORTACOES3
v_pct = 30.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-298.
* << Fim da inclusão
CHECK NOT itab_re_final-matnr IS INITIAL.
IF /pws/zycit321-ltopc NE '1'.
READ TABLE itab_zycit281 WITH KEY matnr = itab_re_final-matnr
werks = itab_re_final-werks.
IF sy-subrc NE 0.
SELECT SINGLE a~wrk02
FROM ( t460a AS a INNER JOIN marc AS b ON
a~werks EQ b~werks AND
a~sobsl EQ b~sobsl AND
a~beskz EQ b~beskz )
...
...
ELSEIF itab_msg_erro-icon5 IS INITIAL.
MOVE: itab_msg_erro_aux-icon1 TO itab_msg_erro-icon5.
ELSEIF itab_msg_erro-icon6 IS INITIAL.
MOVE: itab_msg_erro_aux-icon1 TO itab_msg_erro-icon6.
ENDIF.
MODIFY itab_msg_erro INDEX v_index.
ENDIF.
ENDLOOP.
CALL SCREEN 0600 STARTING AT 5 5.
ENDIF.
* >> Início da inclusão: FORM SELECIONAR_EXPORTACOES3
PERFORM limpa_tabelas.
* << Fim da inclusão
PERFORM equip_exp.
PERFORM comerc_exp.
LOOP AT itab_det_exp_final WHERE j_1bnbm EQ space.
SELECT SINGLE a~steuc INTO itab_det_exp_final-j_1bnbm
FROM ( marc AS a INNER JOIN t001w AS b ON
a~werks EQ b~werks )
WHERE a~matnr EQ itab_det_exp_final-matnr
AND a~steuc NE space
AND b~land1 EQ t001-land1.
MODIFY itab_det_exp_final TRANSPORTING j_1bnbm
WHERE matnr EQ itab_det_exp_final-matnr.
ENDLOOP.
PERFORM carrega_resumo_exportacao3.
ENDIF.
IF itab_det_exp_final[] IS INITIAL.
MESSAGE s015 WITH text-267 text-268.
ENDIF.
* >> Início da inclusão: FORM SELECIONAR_EXPORTACOES3
PERFORM limpa_tabelas.
* << Fim da inclusão
ENDFORM.
FORM trata_button_selexp.
IF /pws/zycie258-tipo EQ 'I'.
CALL SCREEN 0314 STARTING AT 03 05 .
ELSE.
CLEAR: p_dtexp1, p_dtexp2, p_matnr.
REFRESH p_matnr.
CALL SELECTION-SCREEN 0312 STARTING AT 03 05.
ENDIF.
ENDFORM.
...
...
IF sy-subrc NE 0.
itab_insumo_di-matnr = itab_comp_vinc_final-codcomp.
APPEND itab_insumo_di.
ENDIF.
ENDIF.
ENDLOOP.
SORT itab_det_exp BY dtnf dtre.
READ TABLE itab_det_exp INDEX 1.
itab_det_exp-dtre = /pws/zycie258-dtpr.
itab_det_exp-dtre(4) = itab_det_exp-dtre(4) - 2.
* >> Início da inclusão: FORM SELECIONA_DI3
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
IF NOT itab_insumo_di[] IS INITIAL.
REFRESH itab_sel_di.
SELECT c~nrseqdi b~nrseq b~ebeln b~ebelp
FROM ( ( /pws/zycit003 AS a INNER JOIN /pws/zycit100 AS b
ON a~nrseq EQ b~nrseq
AND a~ebeln EQ b~ebeln
AND a~ebelp EQ b~ebelp )
INNER JOIN /pws/zycit085 AS c
ON b~nrseqdi EQ c~nrseqdi )
INTO TABLE itab_sel_di
...
...
SELECT * FROM /pws/zycit244 INTO TABLE itab_zycit244
FOR ALL ENTRIES IN itab_zycit003_t2
WHERE nrseqd EQ itab_zycit003_t2-nrseqd
AND modalidade EQ 'S'.
LOOP AT itab_zycit244.
DELETE itab_zycit003 WHERE nrseqd EQ itab_zycit244-nrseqd.
ENDLOOP.
ENDIF.
ENDIF.
IF NOT itab_zycit003[] IS INITIAL.
* >> Início da inclusão: FORM SELECIONA_DI3
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100
FOR ALL ENTRIES IN itab_zycit003
WHERE nrseq EQ itab_zycit003-nrseq
AND ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
IF NOT itab_zycit100[] IS INITIAL.
SELECT * FROM /pws/zycit085 INTO TABLE itab_zycit085
FOR ALL ENTRIES IN itab_zycit100
WHERE nrseqdi EQ itab_zycit100-nrseqdi.
IF NOT itab_zycit085[] IS INITIAL.
...
...
SELECT * FROM /pws/zycit041 INTO TABLE itab_zycit041
FOR ALL ENTRIES IN itab_zycit042
WHERE nrseq EQ itab_zycit042-nrseqnf
AND nfglobal EQ itab_zycit042-nfglobal
AND cancel EQ space.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM SELECIONA_DI3
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
SORT itab_zycit085 BY dtreg nrseqdi.
SORT itab_zycit100 BY nrseqdi ebeln ebelp.
REFRESH: itab_ekpo_sort, itab_zycit100_sort.
LOOP AT itab_zycit085.
LOOP AT itab_zycit100 WHERE nrseqdi EQ itab_zycit085-nrseqdi.
READ TABLE itab_ekpo WITH KEY ebeln = itab_zycit100-ebeln
ebelp = itab_zycit100-ebelp.
READ TABLE itab_ekpo_sort WITH KEY ebeln = itab_ekpo-ebeln
ebelp = itab_ekpo-ebelp.
IF sy-subrc NE 0.
...
...
v_dtini(4) = v_dtini(4) - 2.
v_dtfim = itab_det_exp-dtre.
ELSE.
v_dtini = /pws/zycie258-dtpr.
v_dtini(4) = v_dtini(4) - 2.
v_dtfim = itab_det_exp-dtnf.
ENDIF.
IF /pws/zycit321-it_ge EQ 'X'.
LOOP AT itab_zycit100_sort
WHERE grupo EQ itab_comp_vinc_final-grupo.
* >> Início da inclusão: FORM SELECIONA_DI3
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
PERFORM monta_dis3.
ENDLOOP.
ELSE.
LOOP AT itab_zycit100_sort
WHERE matnr EQ itab_comp_vinc_final-codcomp.
* >> Início da inclusão: FORM SELECIONA_DI3
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
PERFORM monta_dis3.
ENDLOOP.
ENDIF.
ENDLOOP.
LOOP AT itab_di_final.
* >> Início da inclusão: FORM SELECIONA_DI3
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
v_tabix = sy-tabix.
CLEAR mara.
SELECT SINGLE ntgew brgew
FROM mara INTO (mara-ntgew,mara-brgew)
WHERE matnr = itab_di_final-codmat.
READ TABLE itab_zycit085 WITH KEY nrseqdi = itab_di_final-nrdi.
IF sy-subrc = 0.
PERFORM valor_converte_imp USING itab_zycit085-waersfob
'USD'
itab_zycit085-dttax
CHANGING itab_di_final-vlfob.
ENDIF.
MODIFY itab_di_final INDEX v_tabix.
ENDLOOP.
* >> Início da inclusão: FORM SELECIONA_DI3
FREE: itab_zycit085,
itab_zycit100,
itab_zycit260,
itab_zycit003,
itab_ekpo ,
itab_zycit003_t2,
itab_zycit244,
itab_ekpo_sort,
itab_zycit100_sort,
itab_zycit001,
itab_zycit044,
itab_zycit042,
itab_zycit041,
itab_zycit043,
itab_insumo_di.
* << Fim da inclusão
ENDFORM.
FORM check_fields_screen_0310.
LOOP AT tc_di3-cols INTO wa_cols3.
IF wa_cols3-screen-group1 NE 'NEX'.
wa_cols3-screen-input = v_status3.
MODIFY tc_di3-cols FROM wa_cols3.
ENDIF.
IF /pws/zycit321-lote NE space.
IF wa_cols3-screen-name EQ '/PWS/ZYCIE260C-SDO_QTD'
OR wa_cols3-screen-name EQ 'V_VSEL'.
...
...
LOOP AT itab_j_1bnflin WHERE grupo EQ itab_comp_vinc_final-grupo.
PERFORM monta_nf.
ENDLOOP.
ELSE.
LOOP AT itab_j_1bnflin WHERE matnr EQ itab_comp_vinc_final-codcomp.
PERFORM monta_nf.
ENDLOOP.
ENDIF.
MODIFY itab_comp_vinc_final.
ENDLOOP.
* >> Início da inclusão: FORM SELECIONA_NF3
FREE: itab_j_1bnflin,
itab_j_1bnfdoc,
itab_insumo_nf,
itab_sel_doc ,
itab_rseg,
itab_comp_sort3,
itab_j_1bnflin_sort,
itab_zycit260 .
* << Fim da inclusão
ENDFORM.
FORM check_fields_screen_0316.
DESCRIBE TABLE itab_di LINES v_ilinhas2.
tc_nf3-lines = v_ilinhas2.
ENDFORM.
FORM carrega_det_nf3.
REFRESH: itab_res_nf,
itab_di_final_aux.
LOOP AT itab_di_final.
CLEAR itab_res_nf.
...
...
APPEND itab_det_nf.
ENDIF.
ENDLOOP.
ENDFORM.
FORM seleciona_di.
IF /pws/zycie258-tipo NE 'I'.
ENDIF.
REFRESH: itab_insumo_di,
itab_zycit279,
itab_zycit244.
* >> Início da inclusão: FORM SELECIONA_DI
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
LOOP AT itab_comp_vinc_final.
IF /pws/zycit321-it_ge EQ 'X'.
LOOP AT itab_zycit433 WHERE
grupo EQ itab_comp_vinc_final-grupo.
READ TABLE itab_insumo_di WITH KEY
matnr = itab_zycit433-matnr.
IF sy-subrc NE 0.
itab_insumo_di-matnr = itab_zycit433-matnr.
APPEND itab_insumo_di.
ENDIF.
...
...
itab_insumo_di-matnr = itab_comp_vinc_final-codcomp.
APPEND itab_insumo_di.
ENDIF.
ENDIF.
ENDLOOP.
REFRESH: itab_zycit279, itab_zycit244.
SORT itab_det_exp BY dtnf dtre.
READ TABLE itab_det_exp INDEX 1.
itab_det_exp-dtre = /pws/zycie258-dtpr.
itab_det_exp-dtre(4) = itab_det_exp-dtre(4) - 2.
* >> Início da inclusão: FORM SELECIONA_DI
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
SELECT * FROM /pws/zycit279 INTO TABLE itab_zycit279
FOR ALL ENTRIES IN itab_insumo_di
WHERE matnr EQ itab_insumo_di-matnr
AND esgotado NE 'X'
AND dtdi >= itab_det_exp-dtre.
IF NOT itab_zycit279[] IS INITIAL.
SELECT * FROM /pws/zycit244 INTO TABLE itab_zycit244
FOR ALL ENTRIES IN itab_zycit279
WHERE nrseqd EQ itab_zycit279-nrseqd
AND tipo EQ 'I'.
...
...
WHERE matnr EQ itab_zycit279-matnr.
ENDLOOP.
IF NOT itab_zycit244[] IS INITIAL.
LOOP AT itab_zycit279 WHERE nrseqd NE space.
READ TABLE itab_zycit244 WITH KEY nrseqd = itab_zycit279-nrseqd.
IF sy-subrc NE 0.
DELETE itab_zycit279 WHERE nrseqd EQ itab_zycit279-nrseqd.
ENDIF.
ENDLOOP.
ENDIF.
* >> Início da inclusão: FORM SELECIONA_DI
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
SORT itab_zycit279 BY dtdi.
SORT itab_det_exp BY dtre nrseqre.
REFRESH itab_comp_sort3.
LOOP AT itab_det_exp.
LOOP AT itab_comp_vinc_final WHERE codmat = itab_det_exp-codmat
AND nrseqre = itab_det_exp-nrseqre
AND nrseq = itab_det_exp-nrseq
AND vbeln_va = itab_det_exp-vbeln_va
AND vbeln_vf = itab_det_exp-vbeln_vf
AND posnr = itab_det_exp-posnr.
...
...
v_dtini(4) = v_dtini(4) - 2.
v_dtfim = itab_det_exp-dtre.
ELSE.
v_dtini = /pws/zycie258-dtpr.
v_dtini(4) = v_dtini(4) - 2.
v_dtfim = itab_det_exp-dtnf.
ENDIF.
IF /pws/zycit321-it_ge EQ 'X'.
LOOP AT itab_zycit279
WHERE grupo EQ itab_comp_vinc_final-grupo.
* >> Início da inclusão: FORM SELECIONA_DI
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
PERFORM monta_di.
ENDLOOP.
ELSE.
LOOP AT itab_zycit279
WHERE matnr EQ itab_comp_vinc_final-codcomp.
* >> Início da inclusão: FORM SELECIONA_DI
v_pct = 0.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-297.
* << Fim da inclusão
PERFORM monta_di.
ENDLOOP.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM SELECIONA_DI
FREE: itab_zycit279,
itab_zycit244,
itab_comp_sort3.
* << Fim da inclusão
ENDFORM.
...
...
.
ENDLOOP.
IF NOT itab_vbfa_aux[] IS INITIAL.
SELECT vbeln posnr ntgew brgew gewei FROM vbrp
INTO TABLE itab_vbrp
FOR ALL ENTRIES IN itab_vbfa_aux
WHERE vbeln EQ itab_vbfa_aux-vbeln
AND posnr EQ itab_vbfa_aux-posnn.
ENDIF.
LOOP AT itab_nota_c.
* >> Início da inclusão: FORM COMERC_EXP
v_pct = 80.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-300.
* << Fim da inclusão
READ TABLE itab_det_exp_final WITH KEY
vbeln_vf = itab_nota_c-refkey
posnr = itab_nota_c-refitm.
IF sy-subrc EQ 0.
CONTINUE.
ENDIF.
CLEAR: itab_det_exp_final.
READ TABLE itab_zycit281 WITH KEY matnr = itab_nota_c-matnr
werks = itab_nota_c-werks.
IF sy-subrc NE 0.
...
...
AND r_venda EQ 'X'.
SELECT a~docnum a~docdat a~parid a~nfnum a~series b~refkey
b~refitm b~menge b~meins b~netpr b~netwr
b~werks b~cfop b~nbm b~matnr b~itmnum
b~netfre b~netins a~waerk
FROM ( j_1bnfdoc AS a INNER JOIN j_1bnflin AS b ON
a~docnum EQ b~docnum )
INTO TABLE itab_nota_c
FOR ALL ENTRIES IN itab_zycit373
WHERE a~docnum = itab_zycit373-docnum
* >> Início da inclusão: FORM EQUIP_EXP
AND bukrs EQ /pws/zycie258-bukrs
* << Fim da inclusão
AND b~itmnum <= itab_zycit373-itmnum.
SELECT * FROM mara INTO TABLE itab_mara
FOR ALL ENTRIES IN itab_zycit373
WHERE matnr EQ itab_zycit373-matnr.
ENDIF.
LOOP AT itab_zycit373.
* >> Início da inclusão: FORM EQUIP_EXP
v_pct = 55.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = v_pct
text = text-299.
* << Fim da inclusão
CLEAR: itab_zycit371, itab_nota_c, itab_mara.
READ TABLE itab_zycit371 WITH KEY nrseqd = itab_zycit373-nrseq.
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
READ TABLE itab_nota_c WITH KEY docnum = itab_zycit373-docnum
itmnum = itab_zycit373-itmnum.
* >> Início da inclusão: FORM EQUIP_EXP
IF sy-subrc NE 0.
CONTINUE.
ENDIF.
* << Fim da inclusão
READ TABLE itab_mara WITH KEY matnr = itab_zycit373-matnr.
CLEAR: itab_det_exp_final.
MOVE: itab_zycit373-nrseq TO itab_det_exp_final-nrseqc ,
itab_zycit371-nrre TO itab_det_exp_final-nrre ,
itab_zycit373-doc_ven TO itab_det_exp_final-vbeln_va ,
itab_zycit373-it_docven TO itab_det_exp_final-posnr ,
itab_zycit373-fornec TO itab_det_exp_final-vbeln_vl ,
itab_zycit373-it_fornec TO itab_det_exp_final-posnl ,
itab_zycit373-fornec TO itab_det_exp_final-fornec ,
itab_zycit373-it_fornec TO itab_det_exp_final-it_fornec ,
...
...
p_valor = p_valor * ( 10 ** ( tcurx-currdec - 2 ) ).
ENDFORM.
FORM trata_decimais USING p_moeda
CHANGING p_valor.
SELECT SINGLE * FROM tcurx WHERE currkey = p_moeda.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
p_valor = p_valor / ( 10 ** ( tcurx-currdec - 2 ) ).
ENDFORM.
* >> Início da inclusão:
FORM limpa_tabelas.
FREE:
itab_re_final,
itab_zycit259,
itab_msg_erro_aux,
itab_mvke,
itab_zycit423,
itab_zycit421,
itab_zycet003,
itab_zycet001,
itab_zycet002,
itab_j_1bnflin,
itab_j_1bnfdoc,
itab_zycet092,
itab_zycet066,
itab_saida,
itab_zycee085,
it_log_erro3,
itab_nota_c,
itab_sel_vbfa,
itab_vbfa,
itab_vbfa_1.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI064X01
...
v_descr_0308(40) TYPE c ,
v_tiires_0303 LIKE /pws/zycie260d-i_vlii ,
v_tipires_0303 LIKE /pws/zycie260d-i_vlipi ,
v_tbenef_0303 LIKE /pws/zycie260d-t_benef ,
v_errolog3(135) TYPE c ,
v_tabix LIKE sy-tabix ,
v_cent_ei TYPE /pws/zycit260-werks ,
v_desc_agr(35) TYPE c ,
v_ncent(35) TYPE c ,
v_verif_v TYPE c,
* >> Início da inclusão:
v_pct type i ,
* << Fim da inclusão
v_ico_t TYPE icon-id .
DATA: BEGIN OF itab_cent_ei OCCURS 0.
DATA: werks TYPE /pws/zycit260-werks.
DATA: END OF itab_cent_ei .
DATA: BEGIN OF itab_botoes3 OCCURS 0.
DATA: bname(20) TYPE c .
DATA: END OF itab_botoes3 .
DATA: BEGIN OF itab_res_imp OCCURS 0,
codcomp TYPE /pws/zycie260-codcomp ,
qtd_di TYPE /pws/zycie260-qtd_di ,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI064
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 297
Texto: (17 caracteres)
"Selecionando DI¿s"
Comprimento máximo: 17
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 298
Texto: (24 caracteres)
"Selecionando Exportações"
Comprimento máximo: 24
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 299
Texto: (42 caracteres)
"Selecionando RE¿s de Comercial Exportadora"
Comprimento máximo: 42
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 300
Texto: (38 caracteres)
"Selecionando NF¿s de Trading Companies"
Comprimento máximo: 38