2007年10月13日 星期六

How to create a LOV view for ifs portal as a List Value

Step by Step :
  1. create a new LOV (View as below)

    DEFINE MODULE = INVENT
    DEFINE LU = InventoryPart
    DEFINE VIEW = TP_INVENTORY_PART_LOV
    PROMPT Creating report view &VIEW

    CREATE OR REPLACE VIEW &VIEW AS
    SELECT ip.part_no part_no, ip.description description, accounting_group_api.get_description(ip.accounting_group) acc_group_desc
    FROM INVENTORY_PART_TAB ip, user_allowed_site_pub ua, part_catalog_pub pc
    WHERE ip.type_code IN ('1', '2', '3', '4', '6')
    AND ip.contract = ua.siteAND ip.part_no = pc.part_no
    AND pc.position_part = 'NOT POSITION PART'
    AND ip.accounting_group = '010'AND ip.contract = '008'
    WITH read only;

    COMMENT ON TABLE &VIEW IS 'MODULE=&MODULE^LU=&LU^PROMPT=&LU^';
    COMMENT ON COLUMN &VIEW..PART_NO IS 'FLAGS=PMI-L^DATATYPE=STRING(25)/UPPERCASE^PROMPT=Part No^';
    COMMENT ON COLUMN &VIEW..DESCRIPTION IS 'FLAGS=A-IUL^DATATYPE=STRING(35)^PROMPT=Description^';
    COMMENT ON COLUMN &VIEW..ACC_GROUP_DESC IS 'FLAGS=A---L^DATATYPE=STRING(35)/UPPERCASE^PROMPT=Acc Group Desc^';
  2. to add above LOV in ifs-portal (java source)
    ...
    public void preDefine()
    { ASPManager mgr = getASPManager();

    headblk = mgr.newASPBlock("MAIN");
    headblk.addField("OBJID"). setHidden();
    headblk.addField("OBJVERSION"). setHidden();
    ....
    headblk.addField("PART_NO").
    setMandatory(). setInsertable().
    setLabel("FCSTYEARPARTPARTNO: Part No"). setSize(25).
    setDynamicLOV("TP_INVENTORY_PART_LOV").
    setLOVProperty("TITLE",mgr.translate("FCSTYEARPARTPARTNO1: Part No"));
  3. to USE devtool.exe with Scan the sources
    to put new LOV in databas efor security setting by Admin.exe
  4. Grant user as below:
    GRANT SELECT ON TP_INVENTORY_PART_LOV TO IFSSYS
    ;
  5. re-Run the ifs-portal (http://lg:59080/)
    PATH:WebClient Administration folder
    --Clear Profile Cache/Clear Security Cache/Reload Configuration file