IMPORT/ EXPORT DYNPRO Thema ist als GELÖST markiert

Benutzeroberflächen in SAP®-Systemen.
9 Beiträge Seite 1 von 1
9 Beiträge Seite 1 von 1

IMPORT/ EXPORT DYNPRO

Beitrag von Enno ( / / 0 / 3 ) » 1. Aug 2003 13:22

Hallo,

ich lese eine Dynpro-Definition mittels IMPORT DYNPRO.
Diese verändere ich (ich kopiere einen TabReiter) und speichere sie mit EXPORT DYNPRO wieder ab und generiere sie mit GENERATE DYNPRO.

soweit so gut.
nur Leider steht in der Tabelle mit den Objektdefinitionen des Dynpros nirgendwo ein OK_CODE. Den muss ich aber natürlich hinterlegen.

Weiss jemand wo die gepeichert werden??

fragt Enno.


Hat sich erledigt...

Beitrag von ewx (Top Expert / 4047 / 172 / 396 ) » 4. Aug 2003 21:02

Hat sich erledigt...

Beitrag von LoLo ( / / 0 / 3 ) » 5. Aug 2003 08:44

die Lösung würde mich interessieren, woran lag es denn?

LoLo


Beitrag von LoLo ( / / 0 / 3 ) » 5. Aug 2003 12:23

thnx :D

Anwendungsmöglichkeit

Beitrag von ewx (Top Expert / 4047 / 172 / 396 ) » 8. Aug 2003 01:39

Ich habe mal etwas gebastelt...

Die Anwendungsmöglichkeiten sind wahrscheinlich eher begrenzt, aber gut wenn man weiss, dass es geht:

Ich habe ein Dynpro 9000 in dem Programm SAPMZTESTTAB1 angelegt. Auf diesem Dynpro ist nur ein TabstripControl mit einem Reiter. Das Control heisst DYNA1 und der Reiter DYNA1_TAB1.

in dem folgenden Programm kann man die Anzahl der zu generierenden TabReiter angeben. Das Programm liest dann soviele Einträge aus der Ländertabelle -- einfach nur damit die Reiter einen anständigen Namen kriegen und nicht TAB01 TAB02 TAB03 usw heissen.

Die DynproDefinition wird gelesen und alle zuvor generierten Reiter werden gelöscht. Dann wird der Reiter DYNA1_TAB1 als Referenz immer wieder mit anderem Text und anderem Funktionscode (Danke Frank für die Struktur RES1!) dazugefügt. Danach bleibt noch der Export der Dynprodefinition und die Generierung.

Danach wird die Transaktion aufgerufen, die das Dynpro 9000 aufruft.

In diesem Falle könnte man sich ja sogar auf dem einzigen Subscreen, der dann ja jedem Reiter zugeordnet ist, ein TableControl vorstellen, auf dem dann die Umsätze der einzelnen Länder aufgelistet werden. So oder so ähnlich.
Ach ja: Der Reiter, der kopiert wird, ist im Dynpro als "Unsichtbar markiert", so dass er nicht angezeigt wird.

.eNNo. :wink:

Code: Alles auswählen.

REPORT ztest3 .
DATA: d1(100),
      d2(10) TYPE n,
      d3(30),
      tabname(20),
      xres1 like D021S_RES1,
      landx TYPE landx,
      nummer(2) TYPE n,
      tabix TYPE sytabix.
DATA:
  h TYPE d020s,
  f LIKE d021s OCCURS 0 WITH HEADER LINE,
  e LIKE d022s OCCURS 0 WITH HEADER LINE,
  m LIKE d023s OCCURS 0 WITH HEADER LINE.

PARAMETERS: p_anz(2) TYPE n DEFAULT 7.

START-OF-SELECTION.

  IMPORT DYNPRO h f e m
    ID 'SAPMZTESTTAB1                           9000'.

  READ TABLE f WITH KEY fnam = 'DYNA1_SCA'.
  IF sy-subrc = 0.
    f-line = p_anz.
    f-coln = '99'.
    MODIFY f INDEX sy-tabix.
  ENDIF.

******** Alte Reiter löschen ************
  LOOP AT f WHERE fnam(4) = 'TAB_' AND coln > 1.
    DELETE f.
  ENDLOOP.

**** Referenz-Reiter lesen
  READ TABLE f WITH KEY fnam = 'DYNA1_TAB1'.
  IF sy-subrc = 0.
    CLEAR nummer.
    SELECT landx FROM t005t INTO landx UP TO p_anz ROWS
    WHERE spras = 'D'.
      nummer = sy-dbcnt.
      CONCATENATE 'DYNA1_TAB' nummer INTO tabname.
      READ TABLE f WITH KEY fnam = tabname.
      IF sy-subrc > 0.
        tabix = sy-tabix + 1.
        f-coln = f-coln + 1.
        f-auth = '100'.
        f-leng = 12.
        SET BIT 6 OF f-fmb1 TO 0.
        CONCATENATE 'TAB_' nummer INTO f-fnam.
        xres1 = f-res1.
        xres1-funccode = f-fnam.
        f-res1 = xres1.
        f-stxt = landx.
        INSERT f INTO f INDEX tabix.
      ENDIF.
    ENDSELECT.
    EXPORT DYNPRO h f e m
        ID 'SAPMZTESTTAB1                           9000'.
    GENERATE DYNPRO h f e m
        ID 'SAPMZTESTTAB1                           9000'
      MESSAGE d1 LINE d2 WORD d3.
  ENDIF.

  CALL TRANSACTION 'ZTESTTAB'.

Beitrag von Frank Dittrich (Expert / 674 / 0 / 16 ) » 8. Aug 2003 10:38

Ist da die Systembelastung nicht ein wenig hoch?
Für jeden Transaktionsaufruf Dynpro lesen, ändern generieren...
Und was machst Du, wenn 2 User gleichzeitig Dein Programm starten?

Nörgler

Beitrag von ewx (Top Expert / 4047 / 172 / 396 ) » 8. Aug 2003 17:32

Hi Frank,

die Systembelastung sollte sich eigentlich in Grenzen halten. Und ob ich nun eine umfangreiche Selektion mache und dann merke -- uups, das war ja viel zu viel: BACK, neu selektieren etc. oder das Programm ein bisschen verspielt ist... ;--)

Aber mit deinem anderen Einwand hast du nicht hanz unrecht... Dann muss man das eben so konzipieren, dass das so eine Art InitialGenerierung sein muss: Per Customizing kann man verschiedene "Länder" (siehe Beispiel) auswählen und dafür wird dann das Programm generiert. Dann ist auch die Systembelastung wech...!

Gruß, Enno.
PS Ich nehme mal an, du bist Systemadministrator...?

Re: IMPORT/ EXPORT DYNPRO

Beitrag von Chaostester (ForumUser / 1 / 0 / 0 ) » 8. Okt 2019 22:11

Mahlzeit,
ich weiß, ist ein seeeeeeehr alter Beitrag, aber auch ganz interessant.
Gibt es zu diesem Thema bereits neuere Ideen, Möglichkeiten?

Btw. man müsste nicht zwingend den Export durchlaufen lassen, sondern könnte ein komplett neues Dynpro zur Laufzeit generieren, welches nach Verwendung wieder verworfen wird.

Greetz

Seite 1 von 1

Aktuelle Forenbeiträge

Web Service Restful API
vor 11 Stunden von Tron 2 / 32
Entwurfsmuster in ABAP / OO
vor 2 Tagen von Maximus 16 / 2132
VA01, Kundenauftragserfassung Preisdatum
vor 2 Tagen von SAP_ENTWICKLER 1 / 53
Rabax Fehlermeldung
vor 2 Tagen von zzcpak 2 / 84
Aufgabe Programm/- Tabellenerstellung
vor 2 Tagen von SaskuAc 3 / 84

Unbeantwortete Forenbeiträge

VA01, Kundenauftragserfassung Preisdatum
vor 2 Tagen von SAP_ENTWICKLER 1 / 53
HANA Audit Trail
vor einer Woche von JohnLocklay 1 / 97
Halber Tag Urlaub
vor einer Woche von SO4SAP 1 / 61
Funktionsbausteine BAPI_INCOMINGINVOICE*****
vor einer Woche von Rabea1103 1 / 70
S4/HANA in der Cloud / 14 Tage Trial
vor 3 Wochen von Tron 1 / 102