- * Ini : BAT-BI v 1.3 ----------------- 07.01.2005
- define bi_create.
- data: bi_tab like bdcdata occurs 0 with header line,
- bi_err like BDCMSGCOLL occurs 0 with header line,
- bi_mod(1) value 'N',
- bi_upd(1) value 'S',
- bi_wt100 like t100,
- bi_tt like tline occurs 0 with header line,
- bi_tout(255) occurs 0 with header line,
- bi_amp type x value 80. "Truco
- field-symbols: <bi_fs>.
- end-of-definition.
- define bi_clear.
- clear: bi_tab, bi_err, bi_tt, bi_tout.
- refresh: bi_tab, bi_err, bi_tt, bi_tout.
- end-of-definition.
- define bi_add.
- clear bi_tab.
- if not &1 is initial.
- bi_tab-program = &2.
- bi_tab-dynpro = &3.
- bi_tab-dynbegin = 'X'.
- if &1 ne 'X'.
- append bi_tab.
- clear bi_tab.
- bi_tab-fnam = 'BDC_OKCODE'.
- bi_tab-fval = &1.
- endif.
- else.
- bi_tab-fnam = &2.
- bi_tab-fval = &3.
- endif.
- append bi_tab.
- end-of-definition.
- define bi_call.
- call transaction &1 using bi_tab mode bi_mod update bi_upd
- messages into bi_err.
- end-of-definition.
- define bi_error.
- refresh bi_tt.
- describe table bi_err lines sy-pexpi.
- check sy-pexpi gt 0.
- sort bi_err.
- delete adjacent duplicates from bi_err.
- * Se subrimen los mensajes de tipo 'S' num: 402:"Campo tranf. a visu" y
- * num: 432:"Sistema ha ejecutado c.
- delete bi_err where msgtyp = 'S'
- and ( msgnr = '402' or msgnr = '432'
- or msgnr = '000' ).
- loop at bi_err.
- clear bi_wt100.
- select single text into bi_wt100-text from t100
- where sprsl = sy-langu and
- arbgb = bi_err-msgid and
- msgnr = bi_err-msgnr.
- if sy-subrc = 0 and not bi_wt100-text is initial.
- * d_len = strlen( bi_err-msgv1 ).
- clear sy-pexpi.
- translate bi_wt100-text using ' ~'.
- split bi_wt100-text at bi_amp into table bi_tout.
- clear bi_wt100-text.
- loop at bi_tout.
- check not bi_tout is initial.
- add 1 to sy-pexpi.
- if sy-pexpi < 5.
- concatenate 'bi_err-msgv' sy-pexpi into sy-REPI2.
- assign (sy-REPI2) to <bi_fs>.
- endif.
- concatenate bi_wt100-text bi_tout <bi_fs> into bi_wt100-text.
- condense bi_wt100-text no-gaps.
- endloop.
- condense bi_wt100-text no-gaps.
- translate bi_wt100-text using '~ '.
- bi_tt-tdline = bi_wt100-text.
- append bi_tt.
- endif.
- endloop.
- describe table bi_tt lines sy-pexpi.
- check sy-pexpi > 0.
- * Si contiene errores.se muestran en una ventana.
- call function 'COPO_POPUP_TO_DISPLAY_TEXTLIST'
- exporting TASK = 'DISPLAY'
- titel = 'Errores en transaccin'
- tables text_table = bi_tt.
- end-of-definition.
- * Fin : BAT-BI v 1.3 ----------------- 07.01.2005
- *Ejemplo
- end-of-selection.
- bi_create.
- bi_clear.
- bi_add: 'X' 'SAPLWBABAP' '0100',
- ' ' 'BDC_OKCODE' '=BACK'.
- bi_call 'SE38'.
Última modificación de la página el 04 November 2015 a las 15h04
Powered by
PmWiki