IMPORT/ EXPORT DYNPRO

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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 ) »
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.

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Hat sich erledigt...

Beitrag von ewx (Top Expert / 4854 / 313 / 644 ) »
Hat sich erledigt...

Beitrag von LoLo ( / / 0 / 3 ) »
die Lösung würde mich interessieren, woran lag es denn?

LoLo


Beitrag von LoLo ( / / 0 / 3 ) »
thnx :D

Anwendungsmöglichkeit

Beitrag von ewx (Top Expert / 4854 / 313 / 644 ) »
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 / 15 ) »
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 / 4854 / 313 / 644 ) »
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 ) »
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

Vergleichbare Themen

8
Antw.
6555
Views
Funktionsparameter (export import ...)
von bohne » 03.01.2005 15:14 • Verfasst in ABAP® für Anfänger
4
Antw.
4096
Views
Export und Import von Entwicklungen
von brunotti » 17.08.2007 08:48 • Verfasst in Basis
1
Antw.
7946
Views
Export/IMport der Favoriten
von Netterhesse » 22.01.2009 09:33 • Verfasst in SAP - Allgemeines
12
Antw.
6804
Views
Export/Import from Memory
von Steffi221185 » 12.11.2007 19:53 • Verfasst in ABAP® Core
8
Antw.
3366
Views
Import/Export to Memory
von LostDarkness » 21.02.2019 09:09 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

SD_PRINT_TERMS_OF_PAYMENT
vor einer Woche von Manfred K. 1 / 1956
BUSOBJEKT zu CMIS PHIO ermitteln
vor 4 Wochen von snooga87 1 / 3780