Code: Alles auswählen.
<pub_service>->api__get_value( exporting i_alias = '=KONBLEIT' importing ea_value = lt_table ).
Code: Alles auswählen.
data:
lt_konbleit type TABLE OF ZKONBEF_00000001,
* ls_konbleit type ZKONBEF_00000001,
* lr_services TYPE REF TO cl_ishmed_pmd_services,
* lt_elements type n2pmdelemdefs,
* ls_elements TYPE n2pmdelemdef,
l_alias TYPE n2_alias1,
* ls_ndoc TYPE ndoc,
* ls_RN2DOC_KEY TYPE RN2DOC_KEY,
* lt_ndoc TYPE ishmed_t_ndoc,
* l_typename TYPE string,
l_occ TYPE sytabix.
l_alias = 'KONBLEIT'.
TRY.
CALL METHOD pub__service->API__MAX_OCCURRENCE
EXPORTING
I_ALIAS = l_alias
RECEIVING
R_OCC = l_occ.
CATCH CX_DYNAMIC_CHECK .
ENDTRY.
TRY.
CALL METHOD pub__service->API__GET_VALUE
EXPORTING
I_ALIAS = l_alias
* I_OCC = l_occ
IMPORTING
E_VALUE = lt_konbleit
* E_DECODED =
.
CATCH CX_DYNAMIC_CHECK .
ENDTRY.
Code: Alles auswählen.
data:
lt_konbleit type TABLE OF ZKONBEF_0000000000000000000T, "ZKONBEF_00000001,
* ls_konbleit type ZKONBEF_0000000000000000000L, "ZKONBEF_00000001,
* lr_services TYPE REF TO cl_ishmed_pmd_services,
* lt_elements type n2pmdelemdefs,
* ls_elements TYPE n2pmdelemdef,
l_alias TYPE n2_alias1,
* ls_ndoc TYPE ndoc,
* ls_RN2DOC_KEY TYPE RN2DOC_KEY,
* lt_ndoc TYPE ishmed_t_ndoc,
* l_typename TYPE string,
l_occ TYPE sytabix.
l_alias = 'KONBLEIT'.
TRY.
CALL METHOD pub__service->API__MAX_OCCURRENCE
EXPORTING
I_ALIAS = l_alias
RECEIVING
R_OCC = l_occ.
CATCH CX_DYNAMIC_CHECK .
ENDTRY.
TRY.
CALL METHOD pub__service->API__GET_VALUE
EXPORTING
I_ALIAS = l_alias
* I_OCC = l_occ
IMPORTING
E_VALUE = lt_konbleit
* E_DECODED =
.
CATCH CX_DYNAMIC_CHECK .
ENDTRY.
Code: Alles auswählen.
data:
lt_konbleit type ZKONBEF_0000000000000000000T.
Code: Alles auswählen.
l_alias = 'KONBLEIT'. "<-- Für API__MAX_OCCURRENCE
l_alias = '=KONBLEIT'. "<-- Für API__GET_VALUE
Ist quasi der "magische" Schalter um die früheren eingeschränkten Zugriffe via API__GET_VALUE und jedes einzelne Feld extra abzufragen von der neuen effizienteren Methode zu unterscheiden.sapdepp hat geschrieben:Und warum bei dem einen API ein "=" stehen muss und bei dem anderen nicht, muss ich jetzt nicht verstehen, oder?
Hmmm... Nur so ein wild-guess: Probier mal das Programm neu zu generieren. Oft hilft das bei den PMDs wenn was nicht geht. Möglich, dass zum Generierungszeitpunkt die Druckstrukturen vorhanden sein müssen, damit die interne Logik diese auch verarbeiten kann. Ansonsten kann ich dir nur raten den API__GET_VALUE Aufruf zu debuggen.sapdepp hat geschrieben:Der CX-Error ist mit l_alias = '=KONBLEIT' nun Geschichte, juhu, dennoch hat die Import-Tabelle lt_konbleit null Einträge, obwohl im PMD Daten drin stehen. Da fehlt leider noch was.