Текущее время: Пт, июл 25 2025, 03:33

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Привязка формулы к таблице.
СообщениеДобавлено: Сб, мар 12 2011, 22:36 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 10 2011, 22:05
Сообщения: 6
Здравствуйте. Прошу не бить сапогами, так-как я только учусь.

Есть формула.
Code:
TYPES: I_QTY(3),
       I_MIN(3),
       I_MAX(5),
       I_ORD(5).
DATA: QTY TYPE I_QTY,
      IMIN TYPE I_MIN,
      IMAX TYPE I_MAX,
      ORD TYPE I_ORD.
QTY = 1.
IMIN = 3.
IMAX = 10.

IF QTY < IMIN OR QTY = 0.
  ORD = IMAX - QTY.
ENDIF.
WRITE / ORD.


Есть таблица ZMINMAX с полями ID, QTY, IMIN, IMAX, ORD.
Значения полей все известны кроме ORD которые необходимо вычислить.
Например ID ключевое поле и имеет постоянные значения от 00001 до 00100,
QTY - меняющиеся значения (колиство ID). IMIN и IMAX постоянные значения и не меняются (минимальное и максимальное кол-во ID)
ORD - значение которое необходимо вычислить, когда кол-во будет меньше минимального. В общем то в формуле все и так видно.
А вот как теперь эту формулу привязать к таблице?
Подскажите может где почитать можно?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Привязка формулы к таблице.
СообщениеДобавлено: Пн, мар 14 2011, 10:18 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
peleken написал(а):
Здравствуйте. Прошу не бить сапогами, так-как я только учусь.

...
Есть таблица ZMINMAX с полями ID, QTY, IMIN, IMAX, ORD.
Значения полей все известны кроме ORD которые необходимо вычислить.
Например ID ключевое поле и имеет постоянные значения от 00001 до 00100,
QTY - меняющиеся значения (колиство ID). IMIN и IMAX постоянные значения и не меняются (минимальное и максимальное кол-во ID)
ORD - значение которое необходимо вычислить, когда кол-во будет меньше минимального. В общем то в формуле все и так видно.
А вот как теперь эту формулу привязать к таблице?
Подскажите может где почитать можно?

Никак. В Sap-е нет вычисляемых полей.
Так что есть два варианта:
1. Убрать поле из таблицы и вычислять его по мере необходимости в отчётах
2. Оставить поле и вычислять его перед сохранением или изменением записей в таблице

Читать курс по ABAP Dictionary

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Привязка формулы к таблице.
СообщениеДобавлено: Пн, мар 14 2011, 13:08 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 10 2011, 22:05
Сообщения: 6
sy-uname написал(а):
Никак. В Sap-е нет вычисляемых полей.
Так что есть два варианта:
1. Убрать поле из таблицы и вычислять его по мере необходимости в отчётах
2. Оставить поле и вычислять его перед сохранением или изменением записей в таблице

Читать курс по ABAP Dictionary


Спасибо. Будем искать...

Ну в принципе нашел. Так что значения в полях все-таки вычисляются.
Code:
REPORT  ZMIN_MAX message-id ZARD_MESS.

TABLES ZLOC001.
DATA: QTY_I LIKE ZLOC001 OCCURS 0,
      WA LIKE LINE OF QTY_I,
      SUM_EST LIKE WA-ESTPRC,
      SUM_QOH LIKE WA-QTYORD,
      SUM_NUM LIKE WA-STOCKNO,
      SUM_PRC(10) TYPE C,
      TOT_NUM(5) TYPE C,
      TOT_QOH(10) TYPE C.

SELECT-OPTIONS S_KEY FOR ZLOC001-DATEMOD.

START-OF-SELECTION.
SET PF-STATUS 'UPDT'.

SELECT *  FROM ZLOC001 INTO CORRESPONDING FIELDS OF TABLE QTY_I
  WHERE DATEMOD IN S_KEY.

*Сортировка по поставщику.
SORT QTY_I BY MANUF.

*Выводим на экран отчет проверяющий наличие материала, которое стало меньше минимума
*затем генерируем кол-во необходимого.
LOOP AT QTY_I INTO WA.
  IF  WA-QOH <= WA-QMIN AND WA-QMAX <> 0.
      WA-QTYORD = WA-QMAX - WA-QOH.
WRITE: /  sy-vline, WA-MANUF,
         29 WA-QTYORD COLOR 4,
         43 WA-UOM,
         50 WA-STOCKNO,
         60 WA-ESTPRC,
         77 WA-QOH,
         95 WA-QMIN,
        107 WA-QMAX,
        119 WA-LOC,
        142 sy-vline.

WRITE: /  sy-vline, WA-FULLDESC UNDER 'PREF. SUPPLIER NAME' color 7, 142 sy-vline.
WRITE: / sy-vline, 20 'WH11946' COLOR 5, 142 sy-vline.
ULINE.
  ENDIF.
  MODIFY TABLE QTY_I FROM WA.

*Выводим в конце отчета сумму строк, сумму кол-ва на заказ, сумму стоимости по всему кол-ву необходимого.
SUM_PRC = WA-ESTPRC * WA-QTYORD.
ADD SUM_PRC TO SUM_EST.
TOT_NUM = 1.
ADD TOT_NUM TO SUM_NUM.
ADD WA-QTYORD TO SUM_QOH.
*------------------------------------------------------------------------------------
  AT LAST.
   WRITE: /, /, 20 'TOTAL NUMBER OF STOCK ITEMS ON THIS REPORT:', SUM_NUM,
          /,
          /, 20 'TOTAL UNDERAGE QUANTITY ON THIS REPORT:', 105 SUM_QOH,
          /,
         /, 20 'TOTAL U.S.$ VALUE OF UNDERAGE QUANTITY:', 100 '$', SUM_EST.
  ULINE.
  WRITE: /, /, /, 50 'APPROVED BY:', '____________________________',
  100 'DATE:', '____________________'.
ENDAT.
ENDLOOP.

*Апдейт по нажатию кнопки "Update Stock On Hand".
AT USER-COMMAND.
CASE SY-UCOMM.
   WHEN 'UPDT'.
    LOOP AT QTY_I INTO WA.
       IF  WA-QOH <= WA-QMIN AND WA-QMAX <> 0.
          WA-QTYORD = WA-QMAX - WA-QOH.
    UPDATE ZLOC001 FROM WA.
       ENDIF.
    ENDLOOP.
    IF SY-SUBRC = 0.
      MESSAGE S008.
    ENDIF.
ENDCASE.

COMMIT WORK.

TOP-OF-PAGE.

WRITE: / sy-vline, 'DATE:', SY-DATUM,  130 'PAGE:', SY-PAGNO, 142 sy-vline,
/ sy-vline, 142 sy-vline,
/ sy-vline, 142 sy-vline,
/ sy-vline, 'TIME:', SY-UZEIT, 50 'WAREHOUS UNDERAGE STOCK REPORT FOR ALL LOCATIONS', 142 sy-vline.
ULINE.

"FORMAT COLOR COL_HEADING.
WRITE: sy-vline, 'PREF. SUPPLIER NAME', 27 sy-vline, 29 'QTY. NEEDED' COLOR 4, 41 sy-vline, 43 'UOM',
sy-vline, 48 'STOCK NBR.', sy-vline, 60 'EST. PRICE', 75 sy-vline, 77 'QOH+QOO', 93
sy-vline, 95 'MIN', 105 sy-vline, 107 'MAX', 117 sy-vline, 119 'LOC', 123 sy-vline, 125 'VENDOR', 142 sy-vline.
ULINE.

"FORMAT COLOR COL_TOTAL.
WRITE: / sy-vline, 'DESCRIPTION' color 7, 142 sy-vline.

WRITE: / sy-vline, 20 'LAST PO' COLOR 5, 142 sy-vline.
uline.
ULINE.
END-OF-PAGE.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Привязка формулы к таблице.
СообщениеДобавлено: Вт, май 10 2011, 12:08 
Начинающий
Начинающий

Зарегистрирован:
Чт, мар 10 2011, 22:05
Сообщения: 6
Вышла программка, которая вычисляет кол-во необходимого материала (который закончился на складе) выводит отчет, апдейтит кол-во в базу данных. Еще надо прикрутить вывод листов заказа материала по результатам апдейта сортированного по поставщику.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Привязка формулы к таблице.
СообщениеДобавлено: Вт, май 10 2011, 12:50 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
peleken написал(а):
sy-uname написал(а):
Никак. В Sap-е нет вычисляемых полей.
...


Ну в принципе нашел. Так что значения в полях все-таки вычисляются.
Code:
REPORT  ZMIN_MAX message-id ZARD_MESS.
...

И как же Вам это удалось? Вопрос ведь был "А вот как теперь эту формулу привязать к таблице?", не не про написание отчёта, который пересчитывает и обновляет поля в таблицах.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Привязка формулы к таблице.
СообщениеДобавлено: Вт, май 10 2011, 12:55 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
:)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB