Shared Top Border

Enterprise Resource
Planning Portal

 

Advertise | Founder BLOG

ERPGenie.COM ABAP Tips and Tricks Database

THE ultimate
ERP website

 

Forums | Vote for us |

Google    Other Search Options

Login

Login to view more content!!!





Lost Password?
No account yet? Register

Registered Access

Poll

What area of ABAP are you interested in?
 
Home arrow Utilities arrow ABAP Utilities arrow ABAP Quick Tool to view last objects edited
ABAP Quick Tool to view last objects edited PDF Print E-mail
User Rating: / 0
PoorBest 
Written by Darren Moore   
Saturday, 20 January 2007
Quick tool to pick last objs for edit

report zedit2

       no standard page heading

       line-count 165

       message-id zz.

************************************************************************

* Program Name   : ZEDIT2

* Creation Date  : 03/02/2005

* Author         : Darren Moore ( This e-mail address is being protected from spam bots, you need JavaScript enabled to view it )

* Description    : Quick tool to pick last objs for edit

************************************************************************

* Modification Log

* SAP-ID      Date       Request#       Description

* dmoore2    02/28/2005               INITIAL VERSION

* notes: this is setup for 1152x864 resolution

*        add tcodes and table names to table:zobjnames

* zobjnames Definition:
* OBJNAME CHAR 30
* OBJTYPE CHAR 3
* example data:
*OBJNAME OBJTYPE
*BD87 TCD
*BKPF TAB
*BSEG TAB

************************************************************************

tables: d010sinf,

        e070,

        e07t,

        e071,

        tfdir,

        trdirt,

        tstct,

        zobjnames.

 

include <icon>.

 

ranges: sv_name for trdir-name,

        sv_unam for trdir-unam,

        sv_udat for trdir-udat.

 

*----------------------------------------------------------------------*

*  DATA                                                                *

*----------------------------------------------------------------------*

data: i_vimsellist like vimsellist occurs 0 with header line.

 

data: tab_name like dd02v-tabname.

 

 

data: view_name like dd02v-tabname.

 

data: begin of header occurs 1.

        include structure vimdesc.

data: end of header.

 

data: begin of namtab occurs 50.

        include structure vimnamtab.

data: end of namtab.

data: rangetab type table of vimsellist initial size 50

       with header line.

data: excl_cua_funct like vimexclfun occurs 0 with header line.

data: action(1).

data: begin of i_d010sinf occurs 0,

        prog type d010sinf-prog,

        r3state type d010sinf-r3state,

        subc type d010sinf-subc,

        udat type d010sinf-udat,

        utime type d010sinf-utime,

      end of i_d010sinf,

      begin of i_tables occurs 20,

        objname type zobjnames-objname,

        ddtext type as4text,

      end of i_tables,

      begin of i_codes occurs 20,

        objname type zobjnames-objname,

        ttext type ttext_stct,

      end of i_codes,

      begin of i_requests occurs 0,

        trkorr type e070-trkorr,

        as4user type e070-as4user,

        as4date type e070-as4date,

        as4time type e070-as4time,

        strkorr type e070-strkorr,

        as4text type e07t-as4text,

        trstatus type e070-trstatus,

      end of i_requests.

 

data: fun_name(9),

      desc(50),

      cursorfield(20),

      row1 type i,

      row2 type i,

      row3 type i,

      row4 type i.

 

 

start-of-selection.

  set pf-status '2000'.

 

  clear: sv_udat[].

  sv_udat-sign   = 'I'.

  sv_udat-option = 'BT'.

  sv_udat-low = sy-datum - 45.

  sv_udat-high = sy-datum.

  append sv_udat.

 

  clear: sv_unam[].

  sv_unam-sign   = 'I'.

  sv_unam-option = 'EQ'.

  sv_unam-low    = sy-uname.

  append sv_unam.

 

  perform get_data.

 

  sort i_d010sinf by udat descending utime descending.

  loop at i_d010sinf.

    if i_d010sinf-subc = 'I'

           and i_d010sinf-prog(1) = 'L'

           and i_d010sinf-prog+5(1) = 'U'. "function

      concatenate 'SAP' i_d010sinf-prog(5) into fun_name.

 

      select single * from tfdir

        where pname = fun_name

        and include = i_d010sinf-prog+6(2).

      if sy-subrc = 0.

        desc = tfdir-funcname.

      endif.

    else.

      select single * from trdirt

        where name = i_d010sinf-prog.

      if sy-subrc = 0.

        desc = trdirt-text.

      endif.

    endif.

    if i_d010sinf-prog(1) = 'L'.

      format intensified on.

    else.

      format intensified off.

    endif.

    if i_d010sinf-r3state = 'A' and i_d010sinf-subc = '1'.

      write: / icon_execute_object as icon hotspot.

    else.

      write: / icon_not_equal as icon.

    endif.

    write:  i_d010sinf-prog(24) hotspot, desc hotspot.

    hide i_d010sinf-prog.

    position 80. write: sy-vline.

  endloop.

 

* Output table names

  sort i_tables by objname.

  loop at i_tables.

    row1 = sy-tabix.

    skip to line row1.

    position 82. write: icon_list as icon hotspot.

    position 85. write: i_tables-objname hotspot.

    position 98. write: i_tables-ddtext(25) hotspot.

    hide  i_tables-objname.

  endloop.

 

* Output tran codes

  sort i_codes by objname.

  loop at i_codes.

    row2 = sy-tabix.

    skip to line row2.

 

    position 123. write: sy-vline.

*    POSITION 125. WRITE: icon_flight AS ICON HOTSPOT.

    position 125. write: i_codes-objname hotspot.

    position 137. write: i_codes-ttext hotspot.

    hide  i_codes-objname.

  endloop.

 

* Output Change Requests

  if row1 > row2.

    row3 = row1 + 1.

  else.

    row3 = row2 + 1.

  endif.

  sort i_requests by as4date descending as4time descending.

  loop at i_requests where trstatus <> 'R'.

    row3 =  row3 + 1.

    skip to line row3.

    position 82. write: icon_transport as icon hotspot.

    position 85. write: i_requests-trkorr hotspot.

    position 98. write: i_requests-as4text hotspot.

    hide i_requests-trkorr.

  endloop.

 

at user-command.

  case sy-ucomm.

*    WHEN 'SE38'.

    when 'CHOOSE'.

      get cursor field cursorfield.

 

      if cursorfield = 'ICON_EXECUTE_OBJECT'

              and i_d010sinf-r3state = 'A'.

        if i_d010sinf-subc = '1' or i_d010sinf-subc = 'I'.

          submit (i_d010sinf-prog) and return.

        endif.

      elseif cursorfield = 'I_D010SINF-PROG'

           or cursorfield = 'DESC'.

        call function 'EDITOR_PROGRAM'

             exporting

                  program = i_d010sinf-prog

             exceptions

                  others  = 2.

      elseif cursorfield = 'ICON_LIST'.

 

*      if dd02-mainflag = 'X'.

 

* fill header info

        refresh: namtab,header,rangetab.

        clear:   namtab,header,rangetab.

        action  = 'U'. "modify

        call function 'VIEW_GET_DDIC_INFO'

             exporting

                  viewname              = i_tables-objname

                  variant_for_selection = ' '

             tables

                  x_header              = header

                  x_namtab              = namtab

                  sellist               = rangetab

             exceptions

                  no_tvdir_entry        = 3

                  table_not_found       = 5.

*  check sy-subrc = 0.

 

 

* display table

        call function 'VIEW_MAINTENANCE'

             exporting

                  view_name            = view_name

                  view_action          = action

             tables

                  x_header             = header

                  x_namtab             = namtab

                  dba_sellist          = i_vimsellist

                  excl_cua_funct       = excl_cua_funct

             exceptions

                  no_database_function = 2

                  no_editor_function   = 3

                  missing_corr_number  = 4.

        if sy-subrc ne 0.

*      else.

          call function 'RS_TABLE_LIST_CREATE'

               exporting

                    table_name = i_tables-objname

                    action     = 'ANZE'.

 

          if sy-subrc <> 0.

            message id sy-msgid type sy-msgty number sy-msgno

                    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

          endif.

        endif.

      elseif cursorfield = 'I_TABLES-OBJNAME' or

             cursorfield = 'I_TABLES-DDTEXT'.

 

        call function 'RS_DD_SHOW'

             exporting

                  objname = i_tables-objname

                  objtype = 'T'

             exceptions

                  others  = 1.

        if sy-subrc <> 0.

          message id sy-msgid type sy-msgty number sy-msgno

                  with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

        endif.

      elseif cursorfield = 'ICON_FLIGHT' or

              cursorfield = 'I_CODES-OBJNAME' or

              cursorfield = 'I_CODES-TTEXT'.

        call transaction  i_codes-objname. "AND SKIP FIRST SCREEN.

 

      elseif cursorfield = 'ICON_TRANSPORT'  or

               cursorfield = 'I_REQUESTS-TRKORR' or

               cursorfield = 'I_REQUESTS-AS4TEXT'."

        call function 'TR_PRESENT_REQUEST'

             exporting

                  iv_trkorr = i_requests-trkorr.

      endif.

    when 'CANC' or 'BACK' or 'EXIT'.

      leave list-processing." and return.

    when others.

 

  endcase.

 

*&---------------------------------------------------------------------*

*&      Form  get_data

*&---------------------------------------------------------------------*

form get_data.

 

* get program info

  select prog

         r3state

         subc

         udat

         utime

      from d010sinf

      into table i_d010sinf

      where unam   in sv_unam

      and   udat   in sv_udat.

 

* get common tables

  select zobjnames~objname

         dd02t~ddtext

     into table i_tables

     from ( zobjnames

     inner join dd02t

       on zobjnames~objname = dd02t~tabname )

     where zobjnames~objtype = 'TAB'

     and dd02t~ddlanguage = sy-langu.

 

* get common tcodes

  select zobjnames~objname

         tstct~ttext

     into table i_codes

     from ( zobjnames

     inner join tstct

       on zobjnames~objname = tstct~tcode )

     where zobjnames~objtype = 'TCD'

     and tstct~sprsl = sy-langu.

 

* get open change requests

  select e070~trkorr

         e070~as4user

         e070~as4date

         e070~as4time

         e070~strkorr

         e07t~as4text

         e070~trstatus

      into table i_requests

    from ( e070

         inner join e07t

         on  e07t~trkorr = e070~trkorr )

        where e070~strkorr eq ''

        and   e070~trfunction ne 'Q'

        and   e070~trfunction ne 'W'

        and   e070~as4user = sy-uname.

 

endform.                    " get_data


 
< Prev   Next >

Google Search

Statistics

Contribution Activity
Utilities: 38
Tips and Tricks: 333
Sample Code: 164
Total Contributions: 550

Member Activity
Members: 6182 since 2/1/2007!
New: 9 since yesterday!
Visitors: 1010354

Newest Members

Welcome our newest members:

Google Ads

Shared Bottom Border

Contact Us | Polls | Add URL | Contribute | Privacy | Terms | Feedback

Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job
Financials Consultant | Consultant Review | Gallia Consulting | Supply Chain Project | SAP Financials Forum
GenieHoldings.COM, Inc. | Genie Press | WorkflowGenie | ESAGenie | ERPTopSites | ABAP Tips and Tricks | SAP Solutions Database

EDIGenie | Searching Survivor