Syncronizing based on CO, retriggerable

I would like to synchronize AI, AO and DO finite tasks that are retriggerable based on a CO pulse train.  I have set up a CO Pulse Freq task to run off ctr3 of my 9178 chassis.  The rising edge triggers the AO to start, the falling edge triggers the AI and DO to start.  Provided these finite tasks are short enough they should be retriggerable, thus each time my CO sends a pulse they should restart. 
Having trouble making this work, get an error that the AI task is not retriggerable (using 9222).  Can anyone provide guidelines on how to set such a scheme up?
Gracias.
Solved!
Go to Solution.

Hello Telleurium, 
The error you are getting is expected because the 9222 does not support retriggerable tasks, but the onboard counters of the 9178 are retriggerable. I suggest you make the CO Pulse Freq Output a finite generation, set up a trigger for this task, set it to retrigger, and use it as the sample clock for the AI, AO, and DO. This will allow you to create a retriggerable  AI, AO, and DO based on the ct3 of your 9178 chassis. Examples of what I mentioned above can be found in the many locations. Here are a few to get you started.
https://decibel.ni.com/content/docs/DOC-6801
https://decibel.ni.com/content/docs/DOC-14581
https://decibel.ni.com/content/docs/DOC-4131
Best Regards,
Izzy O.
Applications Engineer
National Instruments
www.ni.com/support

Similar Messages

  • RTP, synchronize video/audio, quality parameters

    Hello.
    i am starting with a project and i dont know how to start.
    The goal of the project is to send a video from and url or video or camera from A to B, send an audio from C to B. B joined the video and the audio and send to D that is the final client. Furthermore, i have to know information about the packets that A and C send to B and B send to D, and the packets received by D. I have to get a way to compare the quality of the video and audio sent and the quality of the video and audio received by the final client D.
    I also want that when another client E ask for the same video to B he receive the same packets in real time than the other client D.
    Can anybody help me? Should i use RTP? How could i get quality parameters about each packet received and sent by the client and provider? How can i synchronize the video and the audio received by B and send it in real time to the final client?
    Thank u very much.

    footmaniac wrote:
    Then, can't I synchronize the video and audio with the timestamp of each frame with JMF? the final client will receive the audio and video not synchronize then... No, because the timestamps are transmission time of the data packet. You can synchronize by those, sure, but that'll just make it so that they are syncronized based on when they were transmitted, not based on media time or link-up markers or anything.
    An another question, for example, i run AVTransmitt2 and it opens an RTP conection waiting for a request. If nobody requests then it doesnt start with the tranmission of the video. Well, then i run AVReceive2 and the transmission of the video starts. then i run another AVReceive2 and i want that if the first AvReceive2 is still receiving the video then the second AVreceive2 receives the same. And if the first AvReceive2 has received the whole video... the second AvReceive2 receive the beginning of the video. Using the same instance of AvTransmit2.You can't even dynamiclly add new targets once you start your RTP session, so, it's impossible to do that using the "same instance" of any class. Once you start broadcasting to the first AVReceive2, the second one needs its own instance of AVTRansmit2...and you can start up the video it's receiving wherever you want, so you could just make it start where the other instance is currently broadcasting.

  • Client-based groupware appointment / task Notes not syncronized to Outlook

    The Notes in appointments and tasks don't sync from CRM 7 to Outlook 2007 but all else does? The Notes are configured to use the Log Text Type and we need them to syncronize.

    Check under spro>crm>crm middleware and related components>client-based groupware integration>Settings for Client-based Synchronization if you set proper text id:
    - Text type for the appointment notes(DEFAULT_APPT_TEXTTYPE) 
    - Text type for the task notes(DEFAULT_TASK_TEXTTYPE)
    Regards.

  • How to update the Sent Idoc Status based on the Response From Webservice

    Hi All,
    I have to develop Idoc--SOAP Sync Process Scenario Using BPM .
    I have configured every thing using BPM and mapped
    MATMAS----SOAP Request
    SOAP Resp----STATUS.SYSTAT01
    In R/3  the Main Idoc Number(MATMAS) Status needs to be update , but it is creating the new Idoc with STATUS.SYSTAT01.
    I have used STATUS.SYSTAT01 Idoc to Update the status of the Original idoc based on the Response that is coming from webservice .
    I was posted the same thread a days ago and there Bhavesh suggested me some sugessions.
    How can we make the status of the Idoc based on some response Text
    iam unable to follow OR not able to clear my self on this.
    Please suggest me or give some over view kind of thing on this
    Regards

    Hi Suman,
    It is clearly mentioned in SAP help that "SAP Intermediate Documents (IDOCS) are EDI like documents that are asynchronous in nature."
    So Your Scenario is Asynch(receive) - Synch(WS call) -Transformation (Multimapping)- Asynch(Send to R/3).
    now go in this way:
    you can develop all the message Interfaces  of  Abstract catagory (not manditory )
    MI_AA_MATMAS   -> Abstract Asynchronous message    interface for your Matmas IDOC
    MI_AS_SOAP_ReqandResp  -> Abstarct Syncronous MI for SOAP request and response.
    MI_AA_STATUS ->Abstract Asyncronous MI for Status Idoc
    MI_AA_SOAP_Req ->  Abstarct Asyncronous MI for SOAP request .
    MI_AA_SOAP_Res ->  Abstarct Asyncronous MI for SOAP response .
    Thats all in Message interface.
    your first reciever :
    (This will receive the message asynchronously from R/3)
    create a conatainer varaiable (say preceive) and assign it message interface MI_AA_MATMAS
    Now in thw Propert TAB of this step: give this message name.
    Step2: Synchronous call :
    create container Variable psoaprequest and psoapresponse  give abstract message interface MI_AA_SOAP_Req and MI_AA_SOAP_Req  resp.
    Now in thw Propert TAB of this step:
    Synchronous Interface : MI_AS_SOAP_ReqandResp
    Request Message : psoaprequest
    Response Message: psoapresponse
    Transformation Step :
    Here you will specify Interface Mapping that will conatain Multimapping between Synch Response - MATMAs and STATUS
    Let's name it as IM_ResandMatmasToStatus
    create a container variable as pstatus and assign it abstract interface MI_AA_STATUS.
    In Property pan of this step :
    Interface mapping :IM_ResandMatmasToStatus
    Source Message :psoapresponse
                                preceive
    (IT will ask you for two source messages as IM selected in this transformation has 2 source messages)
    Target Message :pstatus
    Send step:
    Select a message as pstatus.
    thats all in IR.
    If have doubt in ID just let me know.
    Thanks
    Sunil Singh

  • Selectively executing a mapping rule based on a variable value

    Hi,
    I have written a mapping rule in the following format.
    case #time_unit when 'quarter' then
    logic1
    when 'month' then
    logic2
    end
    In logic1, logic2 i again have nested case statements. Variable time_unit will have a static value hard-coded given (quarter/month) by user before execution.
    So Variable time_unit need not be checked for each row that gets transformed. It hits the performance.
    I want either logic1 or logic2 to be substituted dynamically in the mapping rule window based on the variable value.
    I cannot go for 2 seperate interfaces. How can I achieve this in ODI.
    Please help me.
    Thanks!!

    Sarah,
      I'm not aware of doing other than BPM. If you want the BPM Steps, Please refer below
      Step 1 : Receive
      Step 2 : Transformation
      Step 3 : Send (Syncronous call to the target system)
      Step 4 : Switch(Check the Payload value as per your reqmt)
      Step 5 : Transformation(Switch : False ,If the payload value is not ERROR)
      Step 6 : What you wanna do ( Switch :True)
    If you want more technically, then let me know the source and target systems, I will help you to design
    the complete flow.
    Best Regards,
    raj.

  • Syncronous SOAP Receiver Message: APPLICATION_ERROR

    Hi Experts,
    I am facing a application error in SXMB_MONI for syncronous messages in a SOAP receiver scenario.
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="UNKNOWN">APPLICATION_ERROR</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>application fault</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="http://xml.apache.org/axis/">hostname</SAP:ApplicationFaultMessage>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    In RWB the SOAP adapter shows me that the message was delivery successfully however the guys from the third party application said to me that the message didn't reach it.
    I would like to know if you have any idea where the error is.
    Have you already faced something like this?
    << Moderator message - Please do not offer points >>
    Thanks in advance,
    Daniela
    Edited by: Rob Burbank on Oct 15, 2010 4:42 PM

    Hello,
    Based on the exception, this is really not as descriptive as possible. Can you try the following:
    1. Execute the WSDL via SOAP UI and let us know of the results.
    2. Under SXI_MONITOR, can you double click the response message payload? The response message payload should more or less give an idea as to why this error occurred.
    Hope this helps,

  • Retriggerable gated counter or analog pulse trains

    Hi all,
    I have a problem I could not resolve in the last days. It might be even a question of creativity of how to come up with a solution.
    I have an external pulse train 1 at ca. 8 kHz (frequency not fully stable). With this pulse train, I want to trigger with each pulse an analog waveform. Using X-series boards, this works perfectly.
    But now I want to gate this analog signal with another pulse train 2 that is much slower than the other one (pausetrig option). Theoretically, this works nicely, too. But in reality, the analog signal simply ends at the point where it is stopped by the pause trigger, whereas I want it to stop at the end point of the waveform.
    Please have a look at the drawing attached
    I would be really glad about any ideas on how to solve this problem.
    Best regards,
    Peter

    I don't think I've ever defined both a start trigger and a pause trigger defined for the same task.  Good to know it's allowed.
    Given what you've already found, the solution is to control the timing of the end of the pause trigger pulse's active state (shown here as high). 
    Here's one approach:
    1. Create the pause trigger pulse with a retriggerable single pulse task.  Use a minimal "low time" and "initial delay".  Set the high (active) time to be approximately (N+1) periods of your AO sample clock.  Technically, N+1 periods is a bit more than necessary, but it's sure to be enough and doesn't require research into deep details of AO timing.
    2. Configure the AO task to use the pulse as *both* its start trigger (rising edge) and its pause trigger (pause when low).
    Comments: this makes for a different timing diagram than you've drawn.  Each external 8 kHz pulse causes a minimally-delayed pause trigger pulse which lasts long enough to generate the full AO waveform but ends before the next 8 kHz pulse.  The choice of when to start and stop this trigger pulse will be up to your own logic and will be governed by software timing. 
       Oh dang!  That still leaves you susceptible to a partial waveform since you can't sync the software timing to occur during the desired small fraction of the 8 kHz interval with no AO waveform.
    Second approach:
    1. Similar to #1 above, but set the high (active) time to cover multiple 8 kHz periods and *don't* make the task retriggerable.  To get the timing right in hardware, you'll need to generate a pulse that's *approximately* the requested length, but you'll reserve the right to tweak it so the edges fall in the right place.   You'll also define your pulse in terms of the external 8 kHz signal rather than in terms of internal board time.
         Specifically, configure to generate a pulse based on units of "Ticks" using the rising edges of the external 8 kHz signal as the "source of ticks."  Set a minimal value (probably 2) for both the "low ticks" and "initial delay" inputs.  The "high ticks" setting is where you do your tweaking.
        Suppose the desired pause trigger time is 10.3 msec.  Nominally, that's 82.4 intervals of the 8 kHz external signal.  Well, just round up or down as you see fit and wire this integer # into the "high ticks" input. 
    2. AO task is configured to retrigger off the external 8 kHz signal and be pause triggered by #1's counter pulse.
    Comments: When you start the pause trigger pulse task, it will remain in its low idle state for the first two 8 kHz pulses.  It will go high on the 3rd pulse and then revert low on the 82nd subsequent pulse.
       Because this pulse *also* acts as a pause trigger for the AO task, you're now synced such that the AO task is paused exactly as it is being retriggered, meaning that the previous waveform must have been allowed to complete.  (The deep details of timing will prevent the AO task from generating 1 sample at this instant.)
    -Kevin P

  • Mac OS syncronizing with cell phone using Window mobile

    Using HP6826 cell phone and no problem syncronizing with outlook under Window XP. Switched to Mac and using entourage. No sure if there is a way to ;
    (1) transfer my outlook file to entourage?
    (2) have entourage syncronizing with the phone (window Mobile based)?

    Have a look at The Missing Sync or PocketMac.

  • Convert syncronous serial data into sequence of hex values

    Hi,
    I have a problem analysing captured data of a digital I/O board. I hope one of you can give me an advice/hint on this.
    Used Software: Labview Express 7.0
    Problem description:
    The captured digital data contains on channel 0 a clock signal, on channel 1 a reset signal and on channel 3 a data signal. The data signal is syncronized to the clock and consists out of 8 serial data bits. My problem is, how to convert this clock syncronized serial data signal into a sequence (array) of bytes each represented by 2 hex digits?
    More details on the problem environment:
    - The captured data comes from an ASCII file which contains data samples of a 16bit digital I/O card. Every line contains one sample encoded as 4 hex digits
    - The file is converted by a VI to a digital waveform and plotted by a digital waveform graph.
    One of my core problem on the way to a solution lies in the area, of how to "Trigger and Gate" the digital waveform based on the rising edge of channel 0.
    Thanks in advance for your help!
    Tryber.

    I checked with the 7.0 express version we have loaded on an older computer still and the part that I think you can use was in that version. In the second loop I had made a note: Boolean Crossing PtByPt.  This looks at a binary input and can output a true pulse (one iteration) based on the direction input condition.  This has three options;  False-True (rising), True-False (falling), or Either which is the option I had used in that vi.  This should allow you to detect a false-true state change on the clock channel.  Now, you say that the clock pulse is not consistant, but what about the information pulses? That was the reason for the first two loops on my program.  To insure that the digital value was measured during one input pulse to avoid turning two or more input pulses into one digital value. 
    As far as your question about trigger functions between the two, I'm not too sure.  I believe they offer the same options that I tend to use so I havnt had a problem with either.  On your block diagram menu select All Functions > Analyze > Point by Point > Other Functions PtbyPt.  There are some very handy tools in that menu. 

  • Wrong pulse counting for tick based pulse generation for USB6210

    I try to  generate 50 HZ pulse in USB 6210 with sample code "http://zone.ni.com/devzone/cda/epd/p/id/3088". But doesn't work properly.
    Please see attachment:
    app.jpg: pluses setting. I set 200000 ticks to low and high.
    Tick count based.jpg : result wave  from oscilloscope.
    You will see low is 3 times longer than and high.
    Do you have any idea?
    Thanks.
    Attachments:
    app.JPG ‏35 KB
    tick count based.jpg ‏2431 KB

    [email protected],
    Does this happen on ctr0 as well? Also, have you tried decreasing the low and high ticks to something more like 1000? I'd like to see if we can get the output to look as we expect. My last question is, what are you using for a trigger source? Have you tried this with a non-retriggerable example? If so, does it output the same incorrect waveform? Thanks for the pictures. Those are always helpful for visualizing the situation.
    Robert B
    Applications Engineer
    National Instruments

  • Retriggerable one shot - polarity change

    I'm using a NI-6602 to create retriggerable, one-shot generation on 4 channels. I can get the correct pulse generation for low to hi to low polarity, but simply changing the high to low on the idle state does not invert the signal. I'm using the DAQmx Create Channel node, and my counters are all synchronized, but the program doesn't create the correct output.  Any thoughts?  Thanks.
    Marshall

    Yeah, the method for reversing polarity was one of the quirks of moving from Trad. NI-DAQ to DAQmx.  Under the traditional drivers, you defined a pulse as a delay interval followed by a pulse interval.  You didn't explicitly set a high time and a low time.  The counter would be in its idle state during the delay and in active state during the pulse.  To define polarity, you would set a single parameter (I don't remember the syntax anymore...), and then the driver would figure out how to map from delay/pulse to low/high.
    I think the high time / low time terminology of DAQmx is more universally understandable, but there are occasions where it slightly complicates the configuration of output pulses.  A couple careers ago, I was putting together apps for automatic motor testing that often used a PWM-based speed control.  Some motors had active high PWM and others were active low.  In traditional NI-DAQ, this was actually a little simpler to accomodate than if I were doing it now with DAQmx.  Not that I want to go back or anything -- DAQmx's advatages far outweigh the relatively few inconveniences.
    Sorry for the ramble, we now return you to our regularly scheduled inquiries...
    -Kevin P.

  • Creation of a Goods receipt based on an ASN in SRM

    Hi,
    we want to implement a scenario like this (with SRM 7.0):
    1) Requester creates Catalog SC;
    2) SC gets approved;
    3) PO is created (at this moment we haven't chosen between classic or Extended Classic scenario)
    4) Supplier Connects to a Portal (not SRM) and post an ASN in SAP Backend
    5) (THIS IS THE QUESTION): is it possible for the Requester (who created the SC) to post (in SRM) a GR based on the ASN that it has been created in SAP? 
    Additional Info: in this scenario SUS system is not foreseen; only SRM (EBP) and SAP backend system
    Thanks
    Max

    Hi,
    we want to implement a scenario like this (with SRM 7.0):
    1) Requester creates Catalog SC;
    2) SC gets approved;
    3) PO is created (at this moment we haven't chosen between classic or Extended Classic scenario)
    4) Supplier Connects to a Portal (not SRM) and post an ASN in SAP Backend
    5) (THIS IS THE QUESTION): is it possible for the Requester (who created the SC) to post (in SRM) a GR based on the ASN that it has been created in SAP? 
    Additional Info: in this scenario SUS system is not foreseen; only SRM (EBP) and SAP backend system
    Thanks
    Max

  • SSO to Microsoft based application

    Hi,
    I want to enabler SSO from Portal to an ASP application running on IIS 5.0 and Win2k.
    I have gone through the document "Using SAP Logon Tickets for SSO to Microsoft based web applications.
    I taken the Web Server Filter approach to enable SSO, have downloaded SAPSSOEXT.dll file and added it as a ISAPI filter in IIS server.
    Now the doc says "The name of the hhtp header variable can be specified using the parameter remote_user_alias in the filter configuration file".
    I have no clue how to go about doing this.
    If anyone has done something like this before, please help.
    Also please let me know if I am moving in the right direction.
    Thanks in advance.
    Vivek

    Have a look at this document: https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/def/enabling single sign-on for asp.net applications in enterprise portal 6.article
    It describes it in more detail (we used it a bit different, and sent the authentication string as a parameter to a .net webservice and programatically verified it).
    Cheers
    Dagfinn

  • Issue with SharePoint foundation 2010 to use Claims Based Auth with Certificate authentication method with ADFS 2.0

    I would love some help with this issue.  I have configured my SharePoint foundation 2010 site to use Claims Based Auth with Certificate authentication method with ADFS 2.0  I have a test account set up with lab.acme.com to use the ACS.
    When I log into my site using Windows Auth, everything is great.  However when I log in and select my ACS token issuer, I get sent, to the logon page of the ADFS, after selected the ADFS method. My browser prompt me which Certificate identity I want
    to use to log in   and after 3-5 second
     and return me the logon page with error message “Authentication failed” 
    I base my setup on the technet article
    http://blogs.technet.com/b/speschka/archive/2010/07/30/configuring-sharepoint-2010-and-adfs-v2-end-to-end.aspx
    I validated than all my certificate are valid and able to retrieve the crl
    I got in eventlog id 300
    The Federation Service failed to issue a token as a result of an error during processing of the WS-Trust request.
    Request type: http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue
    Additional Data
    Exception details:
    Microsoft.IdentityModel.SecurityTokenService.FailedAuthenticationException: MSIS3019: Authentication failed. ---> System.IdentityModel.Tokens.SecurityTokenValidationException:
    ID4070: The X.509 certificate 'CN=Me, OU=People, O=Acme., C=COM' chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. 'A certification chain processed
    correctly, but one of the CA certificates is not trusted by the policy provider.
    at Microsoft.IdentityModel.X509CertificateChain.Build(X509Certificate2 certificate)
    at Microsoft.IdentityModel.Tokens.X509NTAuthChainTrustValidator.Validate(X509Certificate2 certificate)
    at Microsoft.IdentityModel.Tokens.X509SecurityTokenHandler.ValidateToken(SecurityToken token)
    at Microsoft.IdentityModel.Tokens.SecurityTokenElement.GetSubject()
    at Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.GetOnBehalfOfPrincipal(RequestSecurityToken request, IClaimsPrincipal callerPrincipal)
    --- End of inner exception stack trace ---
    at Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.GetOnBehalfOfPrincipal(RequestSecurityToken request, IClaimsPrincipal callerPrincipal)
    at Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.BeginGetScope(IClaimsPrincipal principal, RequestSecurityToken request, AsyncCallback callback, Object state)
    at Microsoft.IdentityModel.SecurityTokenService.SecurityTokenService.BeginIssue(IClaimsPrincipal principal, RequestSecurityToken request, AsyncCallback callback, Object state)
    at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.DispatchRequestAsyncResult..ctor(DispatchContext dispatchContext, AsyncCallback asyncCallback, Object asyncState)
    at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.BeginDispatchRequest(DispatchContext dispatchContext, AsyncCallback asyncCallback, Object asyncState)
    at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.ProcessCoreAsyncResult..ctor(WSTrustServiceContract contract, DispatchContext dispatchContext, MessageVersion messageVersion, WSTrustResponseSerializer responseSerializer, WSTrustSerializationContext
    serializationContext, AsyncCallback asyncCallback, Object asyncState)
    at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.BeginProcessCore(Message requestMessage, WSTrustRequestSerializer requestSerializer, WSTrustResponseSerializer responseSerializer, String requestAction, String responseAction, String
    trustNamespace, AsyncCallback callback, Object state)
    System.IdentityModel.Tokens.SecurityTokenValidationException: ID4070: The X.509 certificate 'CN=Me, OU=People, O=acme., C=com' chain building
    failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. 'A certification chain processed correctly, but one of the CA certificates is not trusted by the policy provider.
    at Microsoft.IdentityModel.X509CertificateChain.Build(X509Certificate2 certificate)
    at Microsoft.IdentityModel.Tokens.X509NTAuthChainTrustValidator.Validate(X509Certificate2 certificate)
    at Microsoft.IdentityModel.Tokens.X509SecurityTokenHandler.ValidateToken(SecurityToken token)
    at Microsoft.IdentityModel.Tokens.SecurityTokenElement.GetSubject()
    at Microsoft.IdentityServer.Service.SecurityTokenService.MSISSecurityTokenService.GetOnBehalfOfPrincipal(RequestSecurityToken request, IClaimsPrincipal callerPrincipal)
    thx
    Stef71

    This is perfectly correct on my case I was not adding the root properly you must add the CA and the ADFS as well, which is twice you can see below my results.
    on my case was :
    PS C:\Users\administrator.domain> $root = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\
    cer\SP2K10\ad0001.cer")
    PS C:\Users\administrator.domain> New-SPTrustedRootAuthority -Name "domain.ad0001" -Certificate $root
    Certificate                 : [Subject]
                                    CN=domain.AD0001CA, DC=domain, DC=com
                                  [Issuer]
                                    CN=domain.AD0001CA, DC=portal, DC=com
                                  [Serial Number]
                                    blablabla
                                  [Not Before]
                                    22/07/2014 11:32:05
                                  [Not After]
                                    22/07/2024 11:42:00
                                  [Thumbprint]
                                    blablabla
    Name                        : domain.ad0001
    TypeName                    : Microsoft.SharePoint.Administration.SPTrustedRootAuthority
    DisplayName                 : domain.ad0001
    Id                          : blablabla
    Status                      : Online
    Parent                      : SPTrustedRootAuthorityManager
    Version                     : 17164
    Properties                  : {}
    Farm                        : SPFarm Name=SharePoint_Config
    UpgradedPersistedProperties : {}
    PS C:\Users\administrator.domain> $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("C:\
    cer\SP2K10\ADFS_Signing.cer")
    PS C:\Users\administrator.domain> New-SPTrustedRootAuthority -Name "Token Signing Cert" -Certificate $cert
    Certificate                 : [Subject]
                                    CN=ADFS Signing - adfs.domain
                                  [Issuer]
                                    CN=ADFS Signing - adfs.domain
                                  [Serial Number]
                                    blablabla
                                  [Not Before]
                                    23/07/2014 07:14:03
                                  [Not After]
                                    23/07/2015 07:14:03
                                  [Thumbprint]
                                    blablabla
    Name                        : Token Signing Cert
    TypeName                    : Microsoft.SharePoint.Administration.SPTrustedRootAuthority
    DisplayName                 : Token Signing Cert
    Id                          : blablabla
    Status                      : Online
    Parent                      : SPTrustedRootAuthorityManager
    Version                     : 17184
    Properties                  : {}
    Farm                        : SPFarm Name=SharePoint_Config
    UpgradedPersistedProperties : {}
    PS C:\Users\administrator.PORTAL>

  • Discoverer Report parameter based on subquery

    Hi Guys,
    I have following query which i need to convert into discoverer report
    select hpah.EMPLOYEE_NUMBER,hpah.FIRST_NAME,hpah.LAST_NAME,hpah.PERSON_NAME,
    --hpah.JOB_NAME,hpah.ASSIGNMENT_ORGANIZATION_NAME,
    hpah.ASSIGNMENT_TYPE,hpah.USER_ASSIGNMENT_STATUS,
    SUBSTR(pj.name, 1, instr(pj.name, '.', 1, 2) -1) job_code,
    SUBSTR(pj.name, instr(pj.name, '.', 1, 2) + 1) job_title,
    (select haou.ATTRIBUTE1 from hr_all_organization_units haou
    where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) Function,
    (select haou.ATTRIBUTE2 from hr_all_organization_units haou
    where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) org_desc,
    SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 1, 6) dept_code,
    SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 7, LENGTH(hpah.ASSIGNMENT_ORGANIZATION_NAME)) dept_title,
    hpah.GRADE_NAME,hpah.LOCATION_NAME,hpah.SUPERVISOR_NAME,
    hpah.PERSON_START_DATE,hpah.ORIGINAL_DATE_OF_HIRE ,
    hpah.SALARY_BASIS,hpah.BUSINESS_GROUP_ID,hpah.ASSIGNMENT_ID,
    decode( hpah.SALARY_BASIS, 'ANNUAL', ppp.proposed_salary_n,
    'HOURLY', (ppp.proposed_salary_n *2080),
    ppp.proposed_salary_n
    ) salary,
    sysdate run_date
    from
    hrfg_person_assignment_history hpah ,
    per_pay_proposals ppp,
    per_pay_bases ppb,
    per_grades pg,
    per_jobs pj
    where hpah.ASSIGNMENT_ID = ppp.ASSIGNMENT_ID
    and hpah.SALARY_BASIS = ppb.PAY_BASIS
    and hpah.BUSINESS_GROUP_ID = ppb.BUSINESS_GROUP_ID
    and hpah.GRADE_ID = pg.GRADE_ID(+)
    and hpah.JOB_ID = pj.JOB_ID (+)
    --and   hpah.EMPLOYEE_NUMBER = 100779
    and hpah.PERSON_START_DATE IN
    (SELECT MAX(hpah2.PERSON_START_DATE)
    FROM hrfg_person_assignment_history hpah2
    WHERE hpah2.EMPLOYEE_NUMBER = hpah.EMPLOYEE_NUMBER
    AND hpah2.PERSON_START_DATE <= sysdate )
    order by hpah.EMPLOYEE_NUMBER
    i need to have sysdate as parameter in my report. I want data based on the date i provide.
    how can i make this as an parameter?

    Hi Prashant,
    Subqueries are not Supported in Conditions..As of Disco Plus Rel 10.1.2.54.25
    A plausible workaround can be:
    1. Create a View with foll. Query
    create or replace view TEST_VIEW as
    select hpah.EMPLOYEE_NUMBER emp_no,hpah.FIRST_NAME,hpah.LAST_NAME,hpah.PERSON_NAME,
    --hpah.JOB_NAME,hpah.ASSIGNMENT_ORGANIZATION_NAME,
    hpah.ASSIGNMENT_TYPE,hpah.USER_ASSIGNMENT_STATUS,
    SUBSTR(pj.name, 1, instr(pj.name, '.', 1, 2) -1) job_code,
    SUBSTR(pj.name, instr(pj.name, '.', 1, 2) + 1) job_title,
    (select haou.ATTRIBUTE1 from hr_all_organization_units haou
    where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) Function,
    (select haou.ATTRIBUTE2 from hr_all_organization_units haou
    where haou.ORGANIZATION_ID = hpah.ASSIGNMENT_ORGANIZATION_ID ) org_desc,
    SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 1, 6) dept_code,
    SUBSTR(hpah.ASSIGNMENT_ORGANIZATION_NAME, 7, LENGTH(hpah.ASSIGNMENT_ORGANIZATION_NAME)) dept_title,
    hpah.GRADE_NAME,hpah.LOCATION_NAME,hpah.SUPERVISOR_NAME,
    hpah.PERSON_START_DATE,hpah.ORIGINAL_DATE_OF_HIRE ,
    hpah.SALARY_BASIS,hpah.BUSINESS_GROUP_ID,hpah.ASSIGNMENT_ID,
    decode( hpah.SALARY_BASIS, 'ANNUAL', ppp.proposed_salary_n,
    'HOURLY', (ppp.proposed_salary_n *2080),
    ppp.proposed_salary_n
    ) salary,
    sysdate run_date
    from
    hrfg_person_assignment_history hpah ,
    per_pay_proposals ppp,
    per_pay_bases ppb,
    per_grades pg,
    per_jobs pj
    where hpah.ASSIGNMENT_ID = ppp.ASSIGNMENT_ID
    and hpah.SALARY_BASIS = ppb.PAY_BASIS
    and hpah.BUSINESS_GROUP_ID = ppb.BUSINESS_GROUP_ID
    and hpah.GRADE_ID = pg.GRADE_ID(+)
    and hpah.JOB_ID = pj.JOB_ID (+)
    --and hpah.EMPLOYEE_NUMBER = 100779
    order by hpah.EMPLOYEE_NUMBER
    2. Create another table say TEST_TAB
    create table TEST_TAB (emp_no, start_dt) as
    SELECT hpah2.EMPLOYEE_NUMBER , MAX(hpah2.PERSON_START_DATE) PERSON_START_DATE
    FROM hrfg_person_assignment_history hpah2
    GROUP BY hpah2.EMPLOYEE_NUMBER
    3. Add both of them in Disco Admin and create a join between TEST_VIEW.emp_no and TEST_TAB.emp_no
    4. Bring both these Objects in a new report in Disco Plus
    5. Create a New Parameter (Base it on PERSON_START_DATE Col of TEST_TAB)
    6. Choose Option Create Condition with operator <=
    7. Checkmark "Require User to Enter a Value
    8. Execute Report
    I believe this should work. Either ways let me know if it helps or u get another workaround. (This scenario looks quite interesting)
    Thanks,
    Chinmay

Maybe you are looking for