[54128] in SAPr3-news

home help back first fref pref prev next nref lref last post

ABAP Toolprogramme / BDT Customizinganzeige

daemon@ATHENA.MIT.EDU (volker Korrmann)
Tue Apr 12 10:37:27 2005

To: sapr3-news@mit.edu
Date: 12 Apr 2005 07:37:17 -0700
From: volker_korrmann@web.de (volker Korrmann)
Message-ID: <cdd58c09.0504120637.47c9dfc5@posting.google.com>

* Hallo Leute,
*
*dieser Report / View zeigt einem das gesamte BDT Customizing (Bild ->
Feldgruppe) auf einem Blick an.
*
*Der Report gleicht zudem noch ab (Option AKTIV), ob die Einträge
angezeigt werden sollen, welche
*auch zu einem Dynprofeld passen, oder nur die zu denen eben kein
passendes Dynprofeld zu finden ist.
*
*Der View hat auch die ganzen schönen Langtexte zum Bild ..... im
Zugriff.
*
*Der View muß aber leider noch per Hand angelegt werden, was aber mit
Cut und paste geht!!!
*Für die Selektionstexte einfach überall die DDIC Texte verwenden!
*
*Viel Spaß damit!!!
*
*Gruß Volker Korrmann
*


*
** Hilfe zur Anlage des Views: zv_tbz3k
** Bitte wirklich alle Felder anlegen, da der View sonst nicht richtig
läuft!!!!!
*
*Tabellen des Views:
*
*TBZ3K
*TBZ3A
*TBZ3B
*TBZ3
*TBZ3T
*TBZ3I
*TBZ3C
*TBZ3D
*TBZ3H
*TBZ3E
*TBZ3F
*TBZ3S
*TBZ3W
*TBZ3X
*TBZ3R
*
*
*Join Bedingungen des Views
*
*TBZ3A	CLIENT	=	TBZ3K	CLIENT
*TBZ3A	OBJAP	=	TBZ3K	OBJAP
*TBZ3A	DYNID	=	TBZ3K	DYNID
*TBZ3A	CLIENT	=	TBZ3B	CLIENT
*TBZ3A	OBJAP	=	TBZ3B	OBJAP
*TBZ3A	DYNID	=	TBZ3B	DYNID
*TBZ3	CLIENT	=	TBZ3K	CLIENT
*TBZ3	OBJAP	=	TBZ3K	OBJAP
*TBZ3	VARNR	=	TBZ3K	VARNR
*TBZ3	CLIENT	=	TBZ3T	CLIENT
*TBZ3	OBJAP	=	TBZ3T	OBJAP
*TBZ3	VARNR	=	TBZ3T	VARNR
*TBZ3C	CLIENT	=	TBZ3I	CLIENT
*TBZ3C	OBJAP	=	TBZ3I	OBJAP
*TBZ3C	ABSNR	=	TBZ3I	ABSNR
*TBZ3C	CLIENT	=	TBZ3D	CLIENT
*TBZ3C	OBJAP	=	TBZ3D	OBJAP
*TBZ3C	ABSNR	=	TBZ3D	ABSNR
*TBZ3A	CLIENT	=	TBZ3I	CLIENT
*TBZ3A	OBJAP	=	TBZ3I	OBJAP
*TBZ3A	DYNID	=	TBZ3I	DYNID
*TBZ3A	CLIENT	=	TBZ3B	CLIENT
*TBZ3A	OBJAP	=	TBZ3B	OBJAP
*TBZ3A	DYNID	=	TBZ3B	DYNID
*TBZ3C	CLIENT	=	TBZ3H	CLIENT
*TBZ3C	OBJAP	=	TBZ3H	OBJAP
*TBZ3C	ABSNR	=	TBZ3H	ABSNR
*TBZ3C	CLIENT	=	TBZ3D	CLIENT
*TBZ3C	OBJAP	=	TBZ3D	OBJAP
*TBZ3C	ABSNR	=	TBZ3D	ABSNR
*TBZ3E	CLIENT	=	TBZ3H	CLIENT
*TBZ3E	OBJAP	=	TBZ3H	OBJAP
*TBZ3E	SICHT	=	TBZ3H	SICHT
*TBZ3E	CLIENT	=	TBZ3F	CLIENT
*TBZ3E	OBJAP	=	TBZ3F	OBJAP
*TBZ3E	SICHT	=	TBZ3F	SICHT
*TBZ3E	CLIENT	=	TBZ3S	CLIENT
*TBZ3E	OBJAP	=	TBZ3S	OBJAP
*TBZ3E	SICHT	=	TBZ3S	SICHT
*TBZ3E	CLIENT	=	TBZ3F	CLIENT
*TBZ3E	OBJAP	=	TBZ3F	OBJAP
*TBZ3E	SICHT	=	TBZ3F	SICHT
*TBZ3W	CLIENT	=	TBZ3S	CLIENT
*TBZ3W	OBJAP	=	TBZ3S	OBJAP
*TBZ3W	FLDGR	=	TBZ3S	FLDGR
*TBZ3W	CLIENT	=	TBZ3X	CLIENT
*TBZ3W	OBJAP	=	TBZ3X	OBJAP
*TBZ3W	FLDGR	=	TBZ3X	FLDGR
*TBZ3T	SPRAS	=	TBZ3B	SPRAS
*TBZ3T	SPRAS	=	TBZ3F	SPRAS
*TBZ3T	SPRAS	=	TBZ3X	SPRAS
*TBZ3T	SPRAS	=	TBZ3D	SPRAS
*TBZ3W	CLIENT	=	TBZ3R	CLIENT
*TBZ3W	OBJAP	=	TBZ3R	OBJAP
*TBZ3W	FLDGR	=	TBZ3R	FLDGR
*
*
*
*
*Viewfelder mit KEY Kennzeichen
*
*CLIENT	TBZ3K	CLIENT
*OBJAP	TBZ3K	OBJAP
*VARNR	TBZ3K	VARNR
*DYNID	TBZ3K	DYNID
*TXT50	TBZ3T	TXT50
*DTX50	TBZ3B	DTX50
*DTITL	TBZ3B	DTITL
*ABSNR	TBZ3I	ABSNR
*BEZABSCH	TBZ3D	BEZ50
*ATITL	TBZ3D	ATITL
*SICHT	TBZ3H	SICHT
*PRGNM	TBZ3E	PRGNM
*DYNNR	TBZ3E	DYNNR
*BEZ50_4	TBZ3F	BEZ50
*BEZ50_5	TBZ3X	BEZ50
*FLDGR_6	TBZ3W	FLDGR
*TABNM	TBZ3R	TABNM
*FLDNM	TBZ3R	FLDNM
*FLDGR_7	TBZ3R	FLDGR
*POSNR	TBZ3K	POSNR
*SPRAS	TBZ3T	SPRAS
*SPRAS2	TBZ3B	SPRAS
*SPRAS3	TBZ3D	SPRAS
*POSNR2	TBZ3I	POSNR
*POSNR3	TBZ3H	POSNR
*
*
*Restlichen Viewfelder
*
*DFTYP	TBZ3E	DFTYP
*FNPBC	TBZ3E	FNPBC
*FNPBO	TBZ3E	FNPBO
*FNPAI	TBZ3E	FNPAI
*APPLI	TBZ3E	APPLI
*XDATA	TBZ3E	XDATA
*XHEAD	TBZ3E	XHEAD
*TDOBJ	TBZ3E	TDOBJ
*FNTXT	TBZ3E	FNTXT
*XVSCIN	TBZ3E	XVSCIN
*XVSCDT	TBZ3E	XVSCDT
*XVNAB	TBZ3E	XVNAB
*SITYP	TBZ3E	SITYP
*SETID	TBZ3E	SETID
*SPRAS4	TBZ3F	SPRAS
*FNAME	TBZ3W	FNAME
*XOBLIND	TBZ3W	XOBLIND
*X_CUSTAUS	TBZ3W	X_CUSTAUS
*XCNTRL	TBZ3W	XCNTRL
*XPLAN	TBZ3W	XPLAN
*XEXCL_OBLG	TBZ3W	XEXCL_OBLG
*XEXCL_OPTN	TBZ3W	XEXCL_OPTN
*XEXCL_SPPR	TBZ3W	XEXCL_SPPR
*XEXCL_DSPL	TBZ3W	XEXCL_DSPL
*SITYP_5	TBZ3W	SITYP
*SPRAS_6	TBZ3X	SPRAS
*XINPT	TBZ3R	XINPT
*XNOBL	TBZ3R	XNOBL
*INDEXNAME	TBZ3R	INDEXNAME
*INDEXPOS	TBZ3R	INDEXPOS
*







REPORT zbrtoo92  line-size 255.
TABLES: dd03l, ZV_TBZ3K.

Select-options: objap for zv_tbz3k-objap,
                varnr for zv_tbz3k-varnr,
                dynid for zv_tbz3k-dynid,
                absnr for zv_tbz3k-absnr,
                sicht for zv_tbz3k-sicht,
                prgnm for zv_tbz3k-prgnm,
                dynnr for zv_tbz3k-dynnr,
                tabnm for zv_tbz3k-tabnm,
                fldnm for zv_tbz3k-fldnm,
                spras for zv_tbz3k-spras default sy-langu.

Parameters: dynpro as checkbox.
Parameters: Aktiv  as checkbox default 'X'.



DATA: BEGIN OF it OCCURS 0.
        INCLUDE STRUCTURE d020s.
DATA: END OF it.

DATA: BEGIN OF it3 OCCURS 0.
        INCLUDE STRUCTURE d020s.
DATA: END OF it3.

DATA: it_3k type standard table of zv_tbz3k with header line.

DATA: begin of it_prg occurs 0,
      prgnm like zv_tbz3k-prgnm,
      end of it_prg.

DATA: t2(2).

DATA: a(150), b(150).

DATA:  e_g TYPE STANDARD TABLE OF d022s WITH HEADER LINE.
DATA:  f_g TYPE STANDARD TABLE OF d021s WITH HEADER LINE.
DATA:  m_g TYPE STANDARD TABLE OF d023s WITH HEADER LINE.


DATA:  it2 TYPE STANDARD TABLE OF d021s WITH HEADER LINE.
DATA: fldname(200) type c.


Start-of-selection.


  select * from zv_tbz3k into table it_3k
            where objap in objap and
                  varnr in varnr and
                  dynid in dynid and
                  absnr in absnr and
                  sicht in sicht and
                  prgnm in prgnm and
                  dynnr in dynnr and
                  tabnm in tabnm and
                  fldnm in fldnm and
                  spras in spras .

  sort it_3k by prgnm dynnr tabnm fldnm.

  loop at it_3k.
    if it_3k-prgnm <> it_prg-prgnm.
      it_prg-prgnm = it_3k-prgnm .
      append it_prg.
    endif.

    if it_3k-dynnr+3(1) = ''.
      shift it_3k-dynnr right deleting trailing space.
      translate it_3k-dynnr using ' 0'.
      modify it_3k.
    endif.
  endloop.

  sort it_3k by prgnm dynnr tabnm fldnm.


  sort it_prg.

  delete ADJACENT DUPLICATES FROM it_prg.

  refresh it.
  refresh it3.

  loop at it_prg.

    CALL FUNCTION 'RS_SCREEN_LIST'
      EXPORTING
        dynnr     = ''
        progname  = it_prg-prgnm
      TABLES
        dynpros   = it3
      EXCEPTIONS
        not_found = 1
        OTHERS    = 2.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

    insert lines of it3 into table it.
  endloop.


  loop at it_3k.

    on change of it_3k-prgnm or it_3k-dynnr.
      refresh f_g.
      LOOP AT it where prog = it_3k-prgnm and
                       dnum = it_3k-dynnr.

        if dynpro = 'X'.

          FORMAT INTENSIFIED ON.
          WRITE: / it-dnum, it-prog.
          FORMAT RESET.
        endif.

        CALL FUNCTION 'RS_SCREEN_IMPORT'
          EXPORTING
            dynnr                      = it-dnum
            progname                   = it-prog
            wanted_mode                = 'SHOW'
* IMPORTING
*   ACTUAL_MODE                =
*   DYNPRO_TEXT                =
*   H_IMPORT                   =
*   NEW_MASTER_LANGUAGE        =
*   EXTEND                     =
*   WITH_ACTIVE_SOURCES        =
*   IS_GENERATED               =
*   IS_IN_WA                   =
*   IS_IN_FOREIGN_WA           =
*   E_KORRNUM                  =
*   E_DYNP_REL                 =
*   E_DEVCLASS                 =
*   E_TRANSPORT_KEY            =
*   E_MOD_LANGU                =
          TABLES
            e_g                        = e_g
            f_g                        = f_g
            m_g                        = m_g
*   HEADER_TEXTS               =
*   FIELD_TEXTS                =
*   SMODILOG_DYNP_G            =
*   SMODILOG_ABAP_G            =
*   SMODISRC_PROT_ABAP_G       =
         EXCEPTIONS
           not_executed               = 1
           not_found                  = 2
           OTHERS                     = 3
                  .
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.


        if dynpro = 'X'.
          LOOP AT f_g.
            IF f_g-fnam CS '-'.
              SPLIT f_g-fnam AT '-' INTO a b.
              TRANSLATE a USING '- '.
              CLEAR dd03l.
*          if not dtels[] is initial.
*            SELECT * FROM dd03l UP TO 1 ROWS WHERE tabname = a AND
fieldname = b.
*            ENDSELECT.
*          endif.

*          IF b IN fields AND dd03l-rollname IN dtels.
              t2 = f_g-fmb1.
              WRITE: / f_g-fnam(60),
                       t2,
                       f_g-type,
                       f_g-stxt.
              if not dd03l-rollname is initial.
                WRITE: dd03l-rollname.
              endif.
*          ENDIF.
            ENDIF.
          ENDLOOP.
        endif.
      endloop.
    endon.

    concatenate it_3k-tabnm '-'
                it_3k-fldnm into fldname.

    read table f_g with key fnam = fldname.
    if sy-subrc <> 0.
      if Aktiv = 'X'.
        delete it_3k.
      endif.
    else.
      if Aktiv = ' '.
        delete it_3k.
      endif.
    endif.
  ENDLOOP.


  loop at it_3k.
    write: /
  it_3k-objap,
  it_3k-varnr,
  it_3k-dynid,
  it_3k-absnr,
  it_3k-sicht,
  it_3k-FLDGR_6,
  it_3k-prgnm,
  it_3k-dynnr,
  it_3k-tabnm,
  it_3k-fldnm,
  it_3k-spras.

  endloop.

home help back first fref pref prev next nref lref last post