Текущее время: Вс, июл 27 2025, 19:44

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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