Clarity

  • 1.  USE PARAMETER IN NSQL AND PORTLETS

    Posted Dec 04, 2018 10:21 PM

    Hello guys,

    In my work I have been required to generate a customized dashboard which details the ideas with their costs and which in turn show internal graphics. Create a dashboard, however one of the portlets is not performing the action I want. The portlet called "Effort of the project" when clicking on the name should send me a summary table (eye I need to customize, since I will generate graphics among others), but it does not. the steps I did were the following:

     

    #1: Create portlet pageand link parameter

     

     

    #2: Create linkin in principal portlet

    #3: Create query and agree

     

    SELECT
    @SELECT:DIM:USER_DEF:IMPLIED:IDEA:INV_IDA.ID:ID@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:INV_IDA.CODE:CODE@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:INV_IDA.NAME:NAME@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:LKP_CATEGORY.NAME:CATEGORY@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:NVL(LKP_CCTYPE.NAME,'No Registrado'):CCTYPE@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:NVL(LKP_MOTIVE.NAME,'No Registrado'):MOTIVO@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:NVL(LKP_VALLA.NAME,' - '):VALLA_IDEA@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:INV_IDA.DESCRIPTION:DESCRIPTION@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:IDA.PAC_FECHA_PRIO:F_PRIO@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:IDA.PAC_SUPERA_PRES:FILTER_VALLA_IDEA@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:PLAN.TOTAL_COST:COSTO@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:PLAN.TOTAL_UNITS:HOURS@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:IDA.OBJ_OBJECTIVE:OBJECTIVE@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:AUTOR.FULL_NAME:AUTOR@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:EDN.FULL_NAME:EDN@,
    @SELECT:DIM_PROP:USER_DEF:IMPLIED:IDEA:IDA.PAC_SUPERA_10:MAY_DIEZ@
    FROM
    INV_INVESTMENTS INV_IDA
    JOIN ODF_CA_IDEA IDA ON IDA.ID = INV_IDA.ID
    JOIN INV_IDEAS ODF_IDA ON ODF_IDA.ID = INV_IDA.ID
    JOIN FIN_PLANS PLAN ON PLAN.OBJECT_ID = INV_IDA.ID
    LEFT OUTER JOIN SRM_RESOURCES AUTOR ON INV_IDA.CREATED_BY = AUTOR.USER_ID
    LEFT OUTER JOIN SRM_RESOURCES EDN ON ODF_IDA.INITIATOR_ID = EDN.USER_ID
    LEFT JOIN CMN_LOOKUPS_V LKP_CATEGORY ON LKP_CATEGORY.LOOKUP_CODE = IDA.OBJ_REQUEST_CATEGORY
    AND LKP_CATEGORY.LOOKUP_TYPE = 'OBJ_IDEA_PROJECT_CATEGORY'
    AND LKP_CATEGORY.language_code = @WHERE:PARAM:LANGUAGE@
    LEFT JOIN CMN_LOOKUPS_V LKP_CCTYPE ON LKP_CCTYPE.LOOKUP_CODE = IDA.PAC_TIPO_CC_TI
    AND LKP_CCTYPE.LOOKUP_TYPE = 'PAC_TIPO_CC_TECNOLOGIA'
    AND LKP_CCTYPE.language_code = @WHERE:PARAM:LANGUAGE@
    LEFT JOIN CMN_LOOKUPS_V LKP_MOTIVE ON LKP_MOTIVE.LOOKUP_CODE = IDA.PAC_MOTIVO_CC
    AND LKP_MOTIVE.LOOKUP_TYPE = 'OBJ_IDEA_CHANGE_MOTIV'
    AND LKP_MOTIVE.language_code = @WHERE:PARAM:LANGUAGE@
    LEFT JOIN CMN_LOOKUPS_V LKP_VALLA ON LKP_VALLA.LOOKUP_CODE = IDA.PAC_SUPERA_PRES
    AND LKP_VALLA.LOOKUP_TYPE = 'PAC_VALLA_CC'
    AND LKP_VALLA.language_code = @WHERE:PARAM:LANGUAGE@
    WHERE
    1=1
    AND INV_IDA.ID = @WHERE:PARAM:XML:INTEGER:/data/code/@value@
    AND @FILTER@

     

    #4: Create link in principal portlet

     

    After that, when I try to click, the secondary portlet returns empty and I can not
    find the error. I would greatly appreciate your support in being able to give me
    recommendations to resolve this inconsistency

    Thanks,

    Regards Saulo



  • 2.  Re: USE PARAMETER IN NSQL AND PORTLETS

    Posted Dec 05, 2018 12:05 AM

    Without attempting to review all those screen shots:

    AND INV_IDA.ID = @WHERE:PARAM:XML:INTEGER:/data/id/@value@

    This will only return data when the portlet is on the Project or Program Dashboard (or equivalent).  You can see this in the URL when accessing a Project as it will include &id=5009047 (or what ever the 5,000,000 is in your case).

     

    If your portlet is on a Portlet Page with Linked Parameter in your case you have used code_idea, the NSQL is:

    AND INV_IDA.ID =  @WHERE:PARAM:XML:INTEGER:/data/code_idea/@value@ 

     

    If you want the portlet to appear in multiple places (eg on the Project Dashboard, and the Portlet Page), then you will need to include a 'OR' clause with conditions to check if NULL.

     

    Personally, I would just be putting the portlet on the Project Dashboard (or create additional TABS on the Project Layout), rather than getting users to click on a link from a portlet - but that is just my view.



  • 3.  Re: USE PARAMETER IN NSQL AND PORTLETS

    Posted Dec 05, 2018 03:57 AM

    roland.parrotte wrote:

     

     

    If your portlet is on a Portlet Page with Linked Parameter in your case you have used code_idea, the NSQL is:

    AND INV_IDA.ID =  @WHERE:PARAM:XML:INTEGER:/data/code_idea/@value@ 

     

    As pointed out ; this is the problem - the parameter which appears on the URL is the 'parameter id' and not the 'parameter code' - you can check that if you look at the URL that is produced when you are at this step "After that, when I try to click, the secondary portlet returns empty and I can not find the error."



  • 4.  Re: USE PARAMETER IN NSQL AND PORTLETS

    Posted Dec 11, 2018 03:26 PM

    Thanks,  for your help.

     

    Regards,

     

    Saulo,