ben dinamik olarak oluşturulan gereken bir iç tablo okumak için bir yol bulmak çalışıyorum ile iTab okuma. Dinamik bir iç tabloyu verilerle dolduran aşağıdaki raporu oluşturdum. Son satırda bir anahtarla okumaya çalışıyorum (örneğin, mandt
). Sorun şu ki, "belirtilen tipte bir yapı yok ve MANDT" diye bir bileşen yok.dinamik anahtar şartname
ben debug ve ben başarıyla doldurulan ve tablosunun yapısı (alan adları) doğru olup görebilirsiniz. Tabloyu bir çalışma alanına okumaya çalıştığımda sorun kendini gösteriyor. Belki bunu yanlış yapıyorum, ama mümkün olması gereken bir şey gibi görünüyor ve küçük bir şey eksik bir duygu var.
bunu dışarı çalışıyorum nedenim, bir programda oluyor özdeş seçer bulundu ve bellekte kayıtları tampon ve DB erişen önlemek için oradan okumak istiyorum olmasıdır. Bunu uygulamak kolaydır, ancak bunu yapmam, OPEN SQL deyiminin where
yan tümcesi ve into
yan tümcesi, dinamik olarak çalışıyor.
Şerefe.
DATA: t681_rep TYPE TABLE OF t681 , wa_681 LIKE LINE OF t681_rep,
tabref TYPE REF TO data , waref TYPE REF TO data.
FIELD-SYMBOLS: <any_tab> TYPE ANY TABLE,
<any_wa> TYPE ANY,
<var1> TYPE ANY.
"fill t681_rep
SELECT *
FROM t681
INTO TABLE t681_rep
UP TO 1 ROWS WHERE kotab = 'A002'.
READ TABLE t681_rep INTO wa_681 WITH KEY kotab = 'A002'.
IF sy-subrc = 0.
"if A002 is found create a table of that type and fill it
CREATE DATA tabref TYPE TABLE OF (wa_681-kotab).
ASSIGN tabref->* TO <any_tab>.
SELECT * UP TO 10 ROWS
FROM (wa_681-kotab)
INTO TABLE <any_tab>.
ENDIF.
CREATE DATA waref TYPE a002.
ASSIGN waref->* TO <any_wa>.
READ TABLE <any_tab> ASSIGNING <any_wa> WITH KEY mandt = '800'. <- problem area
IF sy-subrc = 0.
"do stuff with <any_wa>...
ENDIF.
Merhaba Brian Cevabınız için teşekkürler. Bu işe yarıyor, ancak ben tamamen dinamik bir çözüm arıyorum. Pseudocode gibi bir şey: –
Bir şey bu yorumdan eksik gibi görünüyor ... –