Monday, November 17, 2025

Lookup code form product master

  

// get look item num only product master item number  


public void lookup() 

{ 

        Query query = new Query(); 

        QueryBuildDataSource    queryBuildDataSource,queryBuildDataSource1; 

        QueryBuildRange         queryBuildRange,queryBuildRange1; 

        QueryBuildLink          queryBuildLink; 

        Range                   range; 

        EcoResProduct           ecoResProduct; 

        InventTable             inventTable; 

        SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(inventTable), this); 

        sysTableLookup.addLookupField(fieldNum(inventTable, ItemId)); 

     

        queryBuildDataSource = query.addDataSource(tableNum(inventTable)); 

     

        queryBuildRange = queryBuildDataSource.addRange(fieldNum(inventTable,PurchesedItem )); 

        queryBuildRange.value(Global::queryValue(NoYes::Yes)); 

        queryBuildDataSource1=queryBuildDataSource.addDataSource(tableNum(ecoResProduct)); 

        //queryBuildDataSource1.joinMode(JoinMode::InnerJoin); 

       queryBuildLink =queryBuildDataSource1.addLink(fieldNum(inventTable,product),fieldNum(ecoResProduct,RecId)); 

       range = queryValue(DictTable::getRelationTypeFromTableName(tableStr(EcoResProductMaster))); 

      query.dataSourceName(queryDataSourceStr(EcoResProductListPage, EcoResProduct)); 

    queryBuildRange1 = queryBuildDataSource1.addRange(fieldNum(EcoResProduct, InstanceRelationType)); 

queryBuildRange1.value(range); 

     

        sysTableLookup.parmQuery(query); 

        sysTableLookup.performFormLookup(); 

 

 

    //super(); 

 } 

 

 

0r

 

static void Job3(Args _args) 

{ 

    ProdParameters          prodParameters; 

 

    Query                   query = new Query(); 

 

    QueryBuildDataSource    qbds1,qbds2; 

 

    QueryBuildRange         queryBuildRange; 

 

    QueryBuildLink          queryBuildLink; 

 

    Range                   range; 

 

    QueryRun                queryrun; 

 

    EcoResProduct           ecoResProduct; 

 

 

 

    InventTable             inventTable; 

 

     

 

    //select firstOnly prodParameters; 

 

 

 

    qbds1 = query.addDataSource(tablenum(InventTable)); 

 

    //queryBuildRange = qbds1.addRange(fieldnum(InventTable, Product)); 

 

    //queryBuildRange.value(prodParameters.Product); 

 

     

 

    // Add the second datasource to the first data source 

 

    qbds2 = qbds1.addDataSource(tablenum(EcoResProduct)); 

 

    queryBuildLink = qbds2.addLink(fieldnum(InventTable, product),fieldnum(EcoResProduct, RecId)); 

 

 

 

// Get only ProductMaster details 

 

    range = queryValue(DictTable::getRelationTypeFromTableName(tableStr(EcoResProductMaster))); 

 

 

 

// Get only Product details 

 

   // range = queryValue(DictTable::getRelationTypeFromTableName(tableStr(EcoResDistinctProduct))); 

 

 

 

// Get both Product and ProductMaster details 

 

    //range = queryValue(DictTable::getRelationTypeFromTableName(tableStr(EcoResProductMaster))); 

 

    //range = queryRangeConcat(range, DictTable::getRelationTypeFromTableName(tableStr(EcoResDistinctProduct))); 

 

     

 

    query.dataSourceName(queryDataSourceStr(EcoResProductListPage, EcoResProduct)); 

 

    queryBuildRange = qbds2.addRange(fieldNum(EcoResProduct, InstanceRelationType)); 

 

    queryBuildRange.value(range); 

    queryrun    = new queryrun(query); 

 

    while(queryrun.next()) 

 

    { 

 

    inventTable   = queryrun.get(tablenum(InventTable)); 

 

    ecoResProduct = queryrun.get(tablenum(EcoResProduct)); 

 

    info(strfmt("%1 - %2  ",inventTable.ItemId,ecoResProduct.productSubtype())); // to check your result 

 

    } 

} 

 

No comments:

Post a Comment