понедельник, 20 августа 2012 г.

ОГП внутри ОГП

Дополнительно, в 1 гибком поле можно добавить не более 15 полей

Сначала создаем таблицу

CREATE TABLE xxfa_segment_log_car
    (ATTRIBUTE_CATEGORY            VARCHAR2(30),
    attribute1                     VARCHAR2(150),
    attribute2                     VARCHAR2(150),
    attribute3                     VARCHAR2(150),
    attribute4                     VARCHAR2(150),
      attribute5                     VARCHAR2(150),
    attribute6                     VARCHAR2(150),
    attribute7                     VARCHAR2(150),
    attribute8                     VARCHAR2(150),
      attribute9                     VARCHAR2(150),
    attribute10                    VARCHAR2(150),
    attribute11                    VARCHAR2(150),
    attribute12                    VARCHAR2(150),
      attribute13                    VARCHAR2(150),
    attribute14                    VARCHAR2(150),
    attribute15                    VARCHAR2(150)
   )
  PCTFREE     10
  INITRANS    10
  MAXTRANS    255
  TABLESPACE  apps_ts_tx_data
  STORAGE   (
    INITIAL     4
    NEXT        4096
    PCTINCREASE 0
    MINEXTENTS  1
    MAXEXTENTS  50
  )

Потом регистрируем поля

begin
ad_dd.register_table('OFA','XXFA_SEGMENT_LOG_CAR','T',4096,10,40);
ad_dd.register_column('OFA','xxfa_segment_log_car','ATTRIBUTE_CATEGORY',1,'VARCHAR2',30,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute1',2,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute2',3,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute3',4,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute4',5,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute5',6,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute6',7,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute7',8,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute8',9,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute9',10,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute10',11,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute11',12,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute12',13,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute13',14,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute14',15,'VARCHAR2',150,'Y','N');
ad_dd.register_column('OFA','xxfa_segment_log_car','attribute15',16,'VARCHAR2',150,'Y','N');
end;     

Потом мы регистрируем описательное гибкое поле в самой системе , под полномочиями «разработчика приложений»



После этого у нас в списке описательных полей появляется наше поле, его заполняем



Затем необходимо создать набор значений, к которому необходимо привязать это гибкое поле


Указать тип проверки – особый


FND POPDESC
APPL_SHORT_NAME=OFA
DESC_FLEX_NAME="PHA_BK135_SUBFLEXFIELDS"
NAVIGATE=!DIR
DESC=:!MEANING
DATA_FIELD=:!ID
ATTRIBUTE=:!VALUE
USEDBFLDS="N"
READ_ONLY="N"


И потом назначить этот набор значении в том ОГП, в котом он должен появляться

 

И вот как это выглядит в системе при работе . Я поместил его в ОГП Категория Актива. Нажимаешь на это поле – открывает новое дополнительное.




2 комментария:

  1. Также полезные ссылки про особый тип проверки :
    http://docs.oracle.com/cd/E18727_01/doc.121/e12892/T354897T361282.htm
    http://www.stijf.com/wordpress/2010/04/special-and-pair-validation-types/

    ОтветитьУдалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить