Skip to Content

User-Exit/BADI for processing spool request

Hi, when we print outputs from transaction SP01, I need to find a way when an output is selected and print, to update another table. Is there a user-exit or BADI that is call after a spool request is printed, I tried this BADI EFG_PRINTPARAMS but it does not seems to be called by SAP when a print my outputs,

thanks!

Alex

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • avatar image
    Former Member
    Aug 22, 2007 at 03:33 AM

    Hi

    Find the available exits with the following program:::

    &----


    *& Report ZFINDUSEREXIT

    *&

    &----


    *&

    *&

    &----


    report zfinduserexit.

    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.

    tables : tstct.

    data : jtab like tadir occurs 0 with header line.

    data : field1(30).

    data : v_devclass like tadir-devclass.

    parameters : p_tcode like tstc-tcode obligatory.

    select single * from tstc where tcode eq p_tcode.

    if sy-subrc eq 0.

    select single * from tadir where pgmid = 'R3TR'

    and object = 'PROG'

    and obj_name = tstc-pgmna.

    move : tadir-devclass to v_devclass.

    if sy-subrc ne 0.

    select single * from trdir where name = tstc-pgmna.

    if trdir-subc eq 'F'.

    select single * from tfdir where pname = tstc-pgmna.

    select single * from enlfdir where funcname =

    tfdir-funcname.

    select single * from tadir where pgmid = 'R3TR'

    and object = 'FUGR'

    and obj_name eq enlfdir-area.

    move : tadir-devclass to v_devclass.

    endif.

    endif.

    select * from tadir into table jtab

    where pgmid = 'R3TR'

    and object = 'SMOD'

    and devclass = v_devclass.

    select single * from tstct where sprsl eq sy-langu and

    tcode eq p_tcode.

    format color col_positive intensified off.

    write:/(19) 'Transaction Code - ',

    20(20) p_tcode,

    45(50) tstct-ttext.

    skip.

    if not jtab[] is initial.

    write:/(95) sy-uline.

    format color col_heading intensified on.

    write:/1 sy-vline,

    2 'Exit Name',

    21 sy-vline ,

    22 'Description',

    95 sy-vline.

    write:/(95) sy-uline.

    loop at jtab.

    select single * from modsapt

    where sprsl = sy-langu and

    name = jtab-obj_name.

    format color col_normal intensified off.

    write:/1 sy-vline,

    2 jtab-obj_name hotspot on,

    21 sy-vline ,

    22 modsapt-modtext,

    95 sy-vline.

    endloop.

    write:/(95) sy-uline.

    describe table jtab.

    skip.

    format color col_total intensified on.

    write:/ 'No of Exits:' , sy-tfill.

    else.

    format color col_negative intensified on.

    write:/(95) 'No User Exit exists'.

    endif.

    else.

    format color col_negative intensified on.

    write:/(95) 'Transaction Code Does Not Exist'.

    endif.

    at line-selection.

    get cursor field field1.

    check field1(4) eq 'JTAB'.

    set parameter id 'MON' field sy-lisel+1(10).

    Execute the report, give the transaction you want to find user exit, and query.

    BADI

    To search for a badi, go to se 24 display <b>class cl_exithandler.</b>

    double click on method get_instance, get a break point on case statement.

    execute and start the required transaction in new session.

    look for variable <b>exit_name.</b> It would show the available badi's.

    Please do reward if useful

    Regards

    Swati

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Swati, thanks for this sample program.

      This does not solve my problem but I give you a 6. No user exit or BADI are call when you select an output in the spool and click print, I think I will have to create my own program,

      thanks!