Damit meinte ich den Namen des Dokumentationselements bzw. dessen Aliasname.a-dead-trousers hat geschrieben:... API__MAX_OCCURRENCE die Anzahl der Zeilen der Tabelle zu ermitteln (I_ALIAS = Name der Tabelle)...
Code: Alles auswählen.
ld_lines = <pub__service>->API__MAX_OCCURRENCE( i_alias = 'A' ).
do ld_lines times.
ld_index = sy-index.
<pub__service>->API__GET_VALUE( exporting i_alias = 'X' i_occ = ld_index importing e_value = ld_value_x ).
<pub__service>->API__GET_VALUE( exporting i_alias = 'Y' i_occ = ld_index importing e_value = ld_value_y ).
<pub__service>->API__GET_VALUE( exporting i_alias = 'Z' i_occ = ld_index importing e_value = ld_value_z ).
* Die Werte aus ld_value_x, ld_value_y und ld_value_z verarbeiten.
enddo.
Code: Alles auswählen.
l_alias = <pub__service>->api__get_active_card( 'SAGMRDREOP' ).
IF l_alias NE 'SAGMRDKTMA'.
CALL METHOD <pub__service>->api__set_function
EXPORTING
i_function = 'PUS_SAGMRDKTMA'
.
ENDIF.
ld_lines = <pub__service>->API__MAX_OCCURRENCE( i_alias = 'KC_OP_SCMA' ).
...
Das ist im Prinzip mein Hauptproblem. Die Daten sind weder in der Y-Tabelle vorhanden noch über die Service-Klasse greifbar, sofern man nicht in das Register wechselt. Das PMD hat Siemens entworfen, wir haben Siemens drauf aufmerksam gemacht, dass da was nicht stimmt, aber Siemens verweigert die Ausbesserung und möchte eine hohe Geldsumme fürs Berichtigen.Sorry, aber im Moment steig ich nicht ganz durch...
Was hat die Verfügbarkeit der Daten beim Ausdruck mit dem Aufruf des Registers zu tun?
Die Daten sollten im Hintergrund entweder in der Datenbank oder eben in der Service-Klasse vorliegen.
Kann durchaus sein, denn weder beim Userexit Anlegen noch Anfang sind meine TC-Daten verfügbar. Die werden wirklich erst beim PBO des Registers geladen.Kann es sein, dass da evtl. beim Anlegen/Vorbelegen des PMD etwas schief läuft?
Normalerweise sollten (Kunden-)Daten im User-Exit Anfang bzw. Anlegen im PMD eingetragen werden und nicht erst beim PBO der Registerkarte.
Dann klappt's auch mit dem (Wieder-)Auslesen beim Ausdruck.
Code: Alles auswählen.
CALL METHOD o__pmd->('API__SET_FOCUS')
EXPORTING
p_alias = '...'
p_occ = 0.
Code: Alles auswählen.
CALL METHOD <pub__service>->API__SET_FOCUS
EXPORTING
I_ALIAS = 'SAGMRDKTMA'
I_OCC = 0
.
Code: Alles auswählen.
CALL METHOD <pub__service>->API__SET_FOCUS
Code: Alles auswählen.
CALL METHOD o__pmd->('API__SET_FOCUS')