Calling function from inside function using powershell

In my powershell script, I am using following code, first time it will go in another function and returns back original function, but in next time in loop, it open popup "Process [0]" and asking for input. I want my second function runs for each
site collection. Let me know what I am missing.
function test {
# Get site objects
$site = Get-SPWeb "http://l-1562571"
write-host $site.Url
#Call Function
$admin = AddLevel123($site.Url)
# Walk through each site in the site collection
$site.Url | Get-SPWeb -Limit all | ForEach-Object
$admin = AddLevel($site.Url)
function AddLevel($site)
param([uri]$site)
$web = get-spweb $site
#Dispos off web/site object.
if ($web -ne $null)
$web.Dispose()

First thing It seems you there is typo in method name. Anyway better should use like this. It is more easy and straight forward. Hope this helps you
# Get site objects
$webapplication = Get-SPWebApplication "http://l-1562571"
# Walk through each site in the site collection
foreach($site in $webapplication.Sites)
foreach($subWeb in $site.AllWebs)
$_ = AddLevel123($subWeb.Url)

Similar Messages

  • Download Reports from SCCM 2012 Using PowerShell

    Hi,
    I Wants to Download reports from SCCM 2012 using powershell but couldn't find a way.
    I used Invoke-Cmreport but it says no reporting Service point on site code XYZ and server ABC
    But Reporting Service is enabled and works fine as i can check/download report manually
    Thanks 

    Hi,
    You could have a look at the script in the blog below.
    How to Download All Your SSRS Report Definitions(RDL files) Using PowerShell.
    http://www.sqlmusings.com/2011/03/28/how-to-download-all-your-ssrs-report-definitions-rdl-files-using-powershell/
    Note: Microsoft provides third-party contact information
    to help you find technical support. This contact information may change without notice. Microsoft does not guarantee the accuracy of this third-party contact information.
    Best Regards,
    Joyce

  • [svn:bz-trunk] 21661: Avoid calling throwNotSubscribedException() from inside synchronized blocks to prevent potential issues acquiring the lock .

    Revision: 21661
    Revision: 21661
    Author:   [email protected]
    Date:     2011-07-21 06:21:07 -0700 (Thu, 21 Jul 2011)
    Log Message:
    Avoid calling throwNotSubscribedException() from inside synchronized blocks to prevent potential issues acquiring the lock.
    Checkin-Tests: Pass
    QA: Yes
    Doc: No
    Modified Paths:
        blazeds/trunk/modules/core/src/flex/messaging/client/FlexClient.java

  • Calling function using user-defined type from query

    I am in a bit over my head on this, at least at 2:30 in the morning after several hours of intense development. I am working on a function to return financial aging figures by aging date range. I created a user type Aging with a Currency type member for
    each of these.
     Public Type Aging
      Aging0 As Currency
      Aging30 As Currency
      Aging60 As Currency
      Aging90 As Currency
      Aging120 As Currency
     End Type
    I then created a function that accepts the account ID & the as-of date. I have all the rest of the code written to actually calculate all of it, but I am having a fundamental problem figuring out how to call the function. To eliminate any of the complex
    mathematical elements for testing, I have reducted the function to a set of simple explicitly-set values below:
    Public Function GetAging(AccountID As Integer, AsOfDate As Date) As Aging
        GetAging.Aging0 = 0
        GetAging.Aging30 = 0
        GetAging.Aging60 = 0
        GetAging.Aging90 = 0
        GetAging.Aging120 = 0
    End Function
    This all works fine from the immediate window, where I can type this:
    ?GetAging(115,#2015-04-05#).Aging0
    and get the expected response of 0 (I have tested with other values for each member, so I know this part is working correctly).
    But can I and/or how do I call this from a query? I should be able, as a test, to pass in each account # and the current date, just to get the Aging0 element out of my function--something like this:
     SELECT
      AccountID,
      CustomerName,
      GetAging([AccountID],Date()).Aging0
     FROM
      Customer
     ORDER BY
      CustomerName
    I get "The expression you entered has an invalid .(dot) or ! operator or invalid parentheses. But if I remove the ".Aging0", I get this error: Undefined function 'GetAging' in expression. 
    What am I missing here?

    To expand on the answer of Hans, you could use a AgePoint parameter in the function like this:
    Public Function GetAging(AccountID As Integer, AsOfDate As Date, AgePoint As Integer) As Currency
    ' do calculation
    Select Case AgePoint
    Case 0: GetAging = Aging.Aging0
    Case 30: GetAging = Aging.Aging30
    Case 60: GetAging = Aging.Aging60
    Case 90: GetAging = Aging.Aging90
    Case 120: GetAging = Aging.Aging120End Select
    End Function
    then use it in the query like this:
    SELECT
    AccountID,
    CustomerName,
    GetAging([AccountID],Date(), 0),
    GetAging([AccountID],Date(), 30),
    GetAging([AccountID],Date(), 60),
    GetAging([AccountID],Date(), 90),
    GetAging([AccountID],Date(), 120)
    FROM
    Customer
    ORDER BY
    CustomerName
    However, this has the big drawback that the function will be called 5 times for each and every AccountID, so you will probably have bad performance.
    Since you pass the AccountID to the function, you could consider to calculate the results for all AccountIDs in the code and store the results into a table, then join this table into the query.
    Matthias Kläy, Kläy Computing AG

  • Calling methods from inside a tag using jsp 2.0

    My searching has led me to believe that you cannot call methods from in the jsp 2.0 tags. Is this correct? Here is what I am trying to do.
    I have an object that keeps track of various ui information (i.e. tab order, whether or not to stripe the current row and stuff like that). I am trying out the new (to me) jsp tag libraries like so:
    jsp page:
    <jsp:useBean id="rowState" class="com.mypackage.beans.RowState" />
    <ivrow:string rowState="${rowState}" />my string tag:
    <%@ attribute type="com.mypackage.beans.RowState" name="rowState" required="true" %>
    <c:choose>
         <c:when test="${rowState.stripeToggle}">
              <tr class="ivstripe">
         </c:when>
         <c:otherwise>
              <tr>
         </c:otherwise>
    </c:choose>I can access the getter method jst fine. It tells me wether or not to have a white row or a gray row. Now I want to toggle the state of my object but I get the following errors when I try this ${rowState.toggle()}:
    org.apache.jasper.JasperException: /WEB-INF/tags/ivrow/string.tag(81,2) The function toggle must be used with a prefix when a default namespace is not specified
    Question 1:
    Searching on this I found some sites that seemed to say you can't call methods inside tag files...is this true?...how should I do this then? I tried pulling the object out of the pageContext like this:
    <%@ page import="com.xactsites.iv.beans.*" %>
    <%
    RowState rowState = (RowState)pageContext.getAttribute("rowState");
    %>I get the following error for this:
    Generated servlet error:
    RowState cannot be resolved to a type
    Question 2:
    How come java can't find RowState. I seem to recall in my searching reading that page directives aren't allowed in tag files...is this true? How do I import files then?
    I realized that these are probably newbie questions so please be kind, I am new to this and still learning. Any responses are welcome...including links to good resources for learning more.

    You are correct in that JSTL can only call getter/setter methods, and can call methods outside of those. In particular no methods with parameters.
    You could do a couple of things though some of them might be against the "rules"
    1 - Whenever you call isStripeToggle() you could "toggle" it as a side effect. Not really a "clean" solution, but if documented that you call it only once for each iteration would work quite nicely I think.
    2 - Write the "toggle" method following the getter/setter pattern so that you could invoke it from JSTL.
    ie public String getToggle(){
        toggle = !toggle;
        return "";
      }Again its a bit of a hack, but you wouldn't be reusing the isStriptToggle() method in this way
    The way I normally approach this is using a counter for the loop I am in.
    Mostly when you are iterating on a JSP page you are using a <c:forEach> tag or similar which has a varStatus attribute.
    <table>
    <c:forEach var="row" items="${listOfThings}" varStatus="status">
      <tr class="${status.index % 2 == 0 ? 'evenRow' : 'oddRow'}">
        <td>${status.index}></td>
        <td>${row.name}</td>
      </tr>
    </c:forEach>

  • Call Function using DESTINATION

    Hi there!
    Abapers, I'm needing some help here with RFCs.
    My destinations (SM59):
    ERP_100
    ERP_120
    ERP_130
    PI_200
    PI_300
    I have to call a function in PI from ERP. I'm doing in this way:
    CALL FUNCTION 'pi_function_module' DESTINATION 'PI_200' ...
    It's working. But the destination can not be hard coded. With the program in ERP_100 (DEV) and ERP_120 (QAS) the destination is PI_200 (PI DEV) and with the program in ERP_130 (PRD) the destination is PI_300 (PI PRD).
    How can I handle this?
    Thanks in advance!
    Best regards,
    Charles

    Hi Charles,
    Refer [this|Re: Deciding RFC destination dynamically; thread.
    I quote the last post by Micky Oestreich - "This solely depends on the naming conventions you are using. Since the name of the RFC destination is arbitrary, there is 'no' way of determining the name of the destination."
    So, your design approach could either be by building a customizing table where you maintain the destination values or use a 'CASE' statement in your code before calling the remote function module....something like:
    DATA:
      lv_own_system  TYPE logsys,
      lv_rfcdest     TYPE rfcdest.
    CALL FUNCTION 'OWN_LOGICAL_SYSTEM_GET'
      IMPORTING
        own_logical_system             = lv_own_system
      EXCEPTIONS
        own_logical_system_not_defined = 1
        OTHERS                         = 2.
    IF sy-subrc NE 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    CASE lv_own_system.
      WHEN 'ERP_100' or 'ERP_120'.
         lv_rfcdest = 'PI_200'.
      WHEN 'ERP_130'.
        lv_rfcdest = 'PI_300'.
      WHEN OTHERS.
    ENDCASE.
    "Now call the remote function
    CALL FUNCTION 'pi_function_module' DESTINATION lv_rfcdest ...
    Hope this helps,
    Cheers,
    Sougata.

  • Calling function using ADO

    Hi.
    I am trying to execute a function using ADODB.Command object. I am using ODBC driver Oracle73 Ver 2.5.
    When I am executing the command object with CommandText Property set to "pk_test.GET"
    It returns error saying:
    [ORA-06550]
    PLS-00221: 'GET' is not a procedure.
    Statement Ignored.
    Thank you

    Is there actually a procedure 'get' inside a package 'pk_test'?
    Justin

  • Calling function using setOnClick()

    Hi All,
    I am trying to open the link to the application in a new window without anymenubars,navigation bar,toll bar etc.I am using the following code.I am trying to call function onLinkAction() using setOnClick(),but getting an error cannot find onLinkAction().Please help me in this regard how to call the onLinkAction() method.

    Hi,
    How are you trying to call the function,could you please share your code.
    You neeed not prefix the menthod with "on" while calling using setOnClick()..
    Also make sure your function onLinkAction() has the mehtod signature as follows
    onLinkAction(Event event)
    Hope it helps..If not please elaborate your problem
    Regards,
    Santhosh

  • FRM-41213 When calling report from a form using RUN_REPORT_OBJECT

    Hi,
    I get an error frm-41214:unable to connect to the report server when i am trying to call a report from a form using RUN_REPORT_OBJECT.
    My code is as follows:
    I have created a simple report using employee table such tht when i give the department number as parameter it should get the corresponding details along with that i also have highlited the system parameters:
    DESFORMAT
    DESNAME
    DESTYPE
    also other user parameters as
    p_action
    p_servername
    p_user_connect
    and in the before parameter form trigger the following code:
    function BeforePForm return boolean is
    vc_parameter_form VARCHAR2(4000);
    vc_hidden_runtime_values VARCHAR2(1000);
    vc_report_name VARCHAR2(100);
    begin
    IF (:P_ACTION = '_action_') THEN
         vc_hidden_runtime_values := '_hidden_';
    ELSE
         srw.get_report_name(vc_report_name);
              vc_hidden_runtime_values:='report='||vc_report_name||'&destype='||:destype||'&desformat='
    ||:desformat||'&userid='||:p_user_connect||'&server='||:p_servername;
    END IF;
    vc_parameter_form:='<html><body bgcolor="#ffffff"><form method=post action="'
    ||:P_ACTION||'">'||'<input name="hidden_run_parameters" type=hidden value="'
    ||vc_hidden_runtime_values||'">'||'<center><p><table border=0 cellspacing=0 cellpadding=0><tr><td>'
    ||'<input type=submit></td><td width=15><td><input type=reset></td>'||'</tr></table><p><hr><p>';
                        srw.set_before_form_html(srw.text_escape,vc_parameter_form);
    return (TRUE);
    end;
    After this i created a form with department table as my datablock:
    I created a report object in the form with name REPORT6.
    -Created a procedure in the form with the following code
    PROCEDURE RUN_REPORT_OBJECT_PROC(report_id REPORT_OBJECT,reportserver VARCHAR2,runformat VARCHAR2) IS
    report_message VARCHAR2(100);
    rep_status VARCHAR2(100);
    vc_user_name VARCHAR2(100);
    vc_user_password VARCHAR2(100);
    vc_user_connect VARCHAR2(100);
    vc_connect VARCHAR2(300);
    BEGIN
    vc_user_name:=get_application_property(username);
    vc_user_password:=get_application_property(password);
    vc_user_connect:=get_application_property(connect_string);
    vc_connect:=vc_user_name||'/'||vc_user_password||'@'||vc_user_connect;
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_EXECUTION_MODE,BATCH);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,ASYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE,CACHE);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESFORMAT,runformat);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_SERVER,reportserver);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,'p_deptno='
    ||:Dept.Deptno
    ||' paramform=yes P_USER_CONNECT='
    ||vc_connect||' P_SERVERNAME='||reportserver
    ||' P_ACTION=http://iitv-1:8888/reports/rwservlet?');
    report_message:=run_report_object(report_id);
    rep_status := report_object_status(report_message);
    WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')LOOP
    rep_status := report_object_status(report_message);
    END LOOP /* Wait for Report to be finished */;
    IF rep_status='FINISHED' then
    web.show_document('http://iitv-1:8888/reports/rwservlet/getjobid'||
    substr(report_message,instr(report_message,'_',-1)+1)||'?server'
    ||reportserver,'_blank');
    ELSE
    message (rep_status||' Report output aborted');
    END IF;
    END;
    I created a press button and in the when_button_pressed trigger i added the following code:
    declare
         repid REPORT_OBJECT;
         repserver VARCHAR2(100);
         runformat VARCHAR2(10);
    BEGIN
         repid := find_report_object('REPORT6');
         repserver := 'rep_iitv-1';
         runformat := 'HTML';
         run_report_object_proc(repid,repserver,runformat);
         END;
    Then tried to run the form but i got this error frm-41213 unable to connect to the report server.
    Any one please help me.

    Run_report_object can't work with forms9i
    Regards
    Vikas Singhal

  • Calling Transaction from other system using RFC

    Hi ,
    I have one button on screen(say Screen-A), in ECC. when its pressed the transaction '/SAPAPO/BOPIN' gets called from APO.
    For calling transaction from APO I am using FM - 'ABAP4_CALL_TRANSACTION'.
    I want the initial screen of that transaction to retain some values which I fill on the Screen-A(the screen which has that button).
    When I call the transaction from ECC itself (ex. C006), the initial screen of C006 retains the value on Screen-A.
    I want the same to happen in case of calling transaction from APO.
    How to achieve this?  Would it need the changes in IMG (SPRO)?
    Please note that, Screen-A is initial screen of transaction 'md05' and I want to retain vaules of Material, MRP Area, Plant.
    Thanks,
    Sujeet

    Builld a RFC enabled FM () that wrap the call of Smartforms (*) in the other system.
    Regards,
    Raymond
    (*) [Writing Remote Function Modules in ABAP|http://help.sap.com/saphelp_nw04/helpdata/en/22/0425f2488911d189490000e829fbbd/content.htm]
    (**) [Integrating the Smart Form into the Application|http://help.sap.com/saphelp_nw70/helpdata/en/1c/f40c5bddf311d3b574006094192fe3/frameset.htm]

  • Calling java from inside an Active Server Page.

    Is it possible to call a java application from inside an ASP ?
    I can't write COM. Just Java. But IIS is all I have access to at this time.
    thanks,
    nupevic

    Yes, I did a year ago (a PDF creating app); however I've forgotten how. Microsoft had a register-tool I believe.
    Please wait on someone else's (with a better recall) reply.

  • Call Program from another Program using varient

    Hi...
    How to call program from program with varient....?
    i have used submit but how to pass varient dynamically.
    Regards,
    Chintan

    Hi,
    Use the FM SUBMIT_REPORT
    OR
    SUBMIT <Program Name> VIA SELECTION-SCREEN
                                      USING SELECTION-SET <VARIANT>
                                      AND RETURN.

  • Unable to remove user from SharePoint Group using PowerShell

    I am trying to remove a user from a SharePoint Group using PowerShell.
    I can see the user in the Site Collection as part of the SharePoint Group, however, when I attempt to run the script, I get an error message stating "Can not find the user with ID: 10"
    Below is the PowerShell script that I am using:
    $url = "https://sharepointdev.spfarm.spcorp.com/sites/desitecoll"
    $userName = "spfarm\sp2013_svc"
    #$userName = "spfarm\spprofileimport";
    $site = New-Object Microsoft.SharePoint.SPSite($url)
    $web = $site.OpenWeb()
    $siteGroups = $web.SiteGroups;
    Clear-Host
    $mySiteGroups = @();
    foreach($group in $siteGroups)
    Write-Host $group
    $mySiteGroups += $group;
    }#foreach
    $members = $web.SiteGroups[$mySiteGroups[0]];
    $owners = $web.SiteGroups[$mySiteGroups[1]];
    $visitors = $web.SiteGroups[$mySiteGroups[2]];
    #Remove the user from the specified SharePoint Group
    $spUser = Get-SPUser -Identity $userName -Web $url
    Write-Host $spUser.ID
    Remove-SPUser -Identity $spUser -Web $url -Group $owners
    $web.Update();
    $web.Dispose();
    Write-Host "User " $userName "removed from " $owners
    Please advise.

    I had to update the code to the following because Get-SPUser was not working properly:
    $url = "https://sharepointdev.spfarm.spcorp.com/sites/desitecoll"
    $userName = "spfarm\spprofileimport";
    $site = New-Object Microsoft.SharePoint.SPSite($url)
    $web = $site.OpenWeb()
    $siteGroups = $web.Groups;
    Clear-Host
    $mySiteGroups = @();
    foreach($group in $siteGroups)
    Write-Host $group
    $mySiteGroups += $group;
    }#foreach
    $members = $web.Groups[$mySiteGroups[0]];
    $owners = $web.Groups[$mySiteGroups[1]];
    $visitors = $web.Groups[$mySiteGroups[2]];
    #Convert the user name to an SPUser account
    $spUser = $web.Site.RootWeb.EnsureUser($userName);
    Write-Host $spUser.ID
    Remove-SPUser -Identity $spUser -Web $url -Group $owners
    $web.Update();
    $web.Dispose();
    Write-Host "User " $userName "removed from " $owners
    Was I not using Get-SPUser correctly?

  • How to remove HTML encoding from csv file using powershell

    Hi guys i am exporting data from a sharepoint list using powershell which works fine. My problem is that some of the fields contain HTML mark up. Is there a way to remove all of the html mark up from the array before writing it to csv ?
    I have tried playing about with System.Web.HttpUtility.HtmlDecode but with no luck the code runs but no html is removed.
    Below is a sample of my script.
    Set-Variable HOME $env:USERPROFILE -Force
    (Get-PSProvider FileSystem).Home = $HOME
    if(-not(Get-PSSnapin | where { $_.Name -eq "Microsoft.SharePoint.PowerShell"}))
    Add-PSSnapin Microsoft.SharePoint.PowerShell;
    # imports assembly needed for url stuff to do
    Add-Type -AssemblyName System.Web
    $SPWeb = Get-SPWeb "http://site url"
    $SPList = $SPWeb.Lists["List Name"]
    $exportlist = @()
    $SPList.Items | foreach {
    $obj = New-Object PSObject -Property @{
    "Employee full name" = $_["EMPLOYEEFNAME"]
    "Employee login name" = $_["EMPLOYEENAME"]
    "Department Name" = $_["DEPARTMENT"]
    System.Web.HttpUtility.HtmlDecode("OBJECTIVESTOBEACHIEVED_0") = $_["F1_S4a_OBJECTIVESTOBEACHIEVED_0"]
    "OBJECTIVESTOBEACHIEVED_1" = $_["F1_S4a_OBJECTIVESTOBEACHIEVED_1"]
    "OBJECTIVESTOBEACHIEVED_2" = $_["F1_S4a_OBJECTIVESTOBEACHIEVED_2"]
    "OBJECTIVESTOBEACHIEVED_3" = $_["F1_S4a_OBJECTIVESTOBEACHIEVED_3"]
    "OBJECTIVESTOBEACHIEVED_4" = $_["F1_S4a_OBJECTIVESTOBEACHIEVED_4"]
    "OBJECTIVESTOBEACHIEVED_5" = $_["F1_S4a_OBJECTIVESTOBEACHIEVED_5"]
    "OBJECTIVESTOBEACHIEVED_6" = $_["F1_S4a_OBJECTIVESTOBEACHIEVED_6"]
    "OBJECTIVESTOBEACHIEVED_7" = $_["F1_S4a_OBJECTIVESTOBEACHIEVED_7"]
    $exportlist += $obj
    $exportlist | select "Employee full name", "Employee login name", "Department Name", "OBJECTIVESTOBEACHIEVED_0", "OBJECTIVESTOBEACHIEVED_1", "OBJECTIVESTOBEACHIEVED_2", "OBJECTIVESTOBEACHIEVED_3", "OBJECTIVESTOBEACHIEVED_4", "OBJECTIVESTOBEACHIEVED_5", "OBJECTIVESTOBEACHIEVED_6", "OBJECTIVESTOBEACHIEVED_7" | Export-Csv ~/Export.csv -noType
    $SPWeb.Dispose()
    any help would be much appreciated.

    Should have googled before posting !
    "OBJECTIVESTOBEACHIEVED_0" = [Microsoft.SharePoint.Utilities.SPHttpUtility]::ConvertSimpleHtmlToText($_["F1_S4a_OBJECTIVESTOBEACHIEVED_0"],-1) -replace '\s+', ' '
    Clears all the additional white space. As always jrv you
    have saved the day, many thanks for all the help.
    Mal

  • Problem ! Calling report6 from forms6(run_product()) using global temporary table.

    Requirement :
    To generate stock movement report for certain selected items.
    Background :
    A Form is created with data block (tmp_item_master - a global temporary table)
    when_new_form_instance :
    inserting into tmp_item_master from item_master and then execute_query on tmp_item_master block.
    User selects certain items using check box provided.
    Now tmp_item_master is updated for ch_select_flag_yn = 'Y' for selected items
    and commit.
    Calling report from form(using run_product()).
    Now the main query in report, is joined with tmp_item_master where ch_select_flag_yn = 'Y'
    Here, we are unable to see the report for any item. As the global temporary table data is not visible in the report session.
    How to resolve this problem ?
    Note : global temporary table created with ON COMMIT PRESERVE ROWS
    Thanking you,
    From praful.
    null

    Hi,
    You are using 'ON Commit Delete Rows' . Instead of Use ' ON COMMIT PRESERVE ROWS'
    The ON COMMIT DELETE ROWS clause indicates that the data should be deleted at the end of the transaction.
    CREATE GLOBAL TEMPORARY TABLE my_temp_table (
    column1 NUMBER,
    column2 NUMBER
    ) ON COMMIT DELETE ROWS;
    In contrast, the ON COMMIT PRESERVE ROWS clause indicates that rows should be preserved until the end of the session.
    CREATE GLOBAL TEMPORARY TABLE my_temp_table (
    column1 NUMBER,
    column2 NUMBER
    ) ON COMMIT PRESERVE ROWS;
    Edited by: Mrucha on Nov 26, 2012 6:06 AM

Maybe you are looking for