как я могу получить значения из таблицы - PullRequest
0 голосов
/ 30 апреля 2018

Я конкатенировал значения select-options и параметра. Условие этого запроса основано на объединенных данных. Я могу получить все данные, которые мне нужны.

вот мой код:

TABLES: bkpf.

SELECT-OPTIONS: s_belnr FOR bkpf-belnr NO-EXTENSION OBLIGATORY .
PARAMETERS: p_ghjahr LIKE bkpf-gjahr DEFAULT sy-datum(4) OBLIGATORY. "Fiscal

DATA: it_con TYPE TABLE OF BKPF,
      ls_con TYPE bkpf-AWKEY,
      lv_belnr   LIKE bkpf-belnr,
      IT TYPE STANDARD TABLE OF BKPF,
      WA TYPE BKPF.

IF s_belnr-high IS INITIAL.
  CONCATENATE s_belnr-low p_ghjahr INTO ls_con.
  APPEND ls_con TO it_con.
ELSE.  
  lv_belnr = s_belnr-low.
  WHILE lv_belnr LE s_belnr-high.
    CONCATENATE lv_belnr p_ghjahr INTO ls_con.
    APPEND ls_con TO it_con.
    ADD 1 TO lv_belnr.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = lv_belnr
      IMPORTING
        output = lv_belnr.
  ENDWHILE.
ENDIF.
LOOP AT it_concats INTO ls_concats.
  SELECT BELNR
    FROM BKPF 
    INTO CORRESPONDING FIELDS OF TABLE IT 
    FOR ALL ENTRIES IN IT_CONCATS 
    WHERE AWKEY EQ IT_CONCATS-AWKEY.
ENDLOOP.

LOOP AT IT INTO WA.
  WRITE: / WA-BELNR.
ENDLOOP.

1 Ответ

0 голосов
/ 02 мая 2018

Игнорирование (потому что ваш вопрос слишком расплывчатый), тип документа, который вы ищете, я предложу что-то вроде (ВНИМАНИЕ, я НЕ предоставляю полные ответы, просто приведите фрагменты кода, которые вы должны настроить, чтобы он заработал; если кто-то хочет улучшить мой ответ, не стесняйтесь, и я с удовольствием проголосую за новый, как за хороший. ... если это так)

data: awkey_range type range of bkpf-awkey,
      awkey_line like  line of awkey_range.

* Fill the awkey_range with something like
awkey_line-sign = 'I'.
awkey_line-option = 'EQ'.
* loop at bkpf_table into bkpf_line.
*   concatenate bkpf_line-belnr bkpf_line-ghjahr into awkey_line-low.
*   append awkey_line to awkey_range.
* endloop.

* And then a single SQL
select *
  from bkpf
  into table IT "Ouch, what a name
  where awkey in awkey_range.

И это должно сработать, если я что-то не пропустил.

...