Ceiling Function in Expression Builder in an Update Field Value Workflow

I'm trying to use the "ceiling" function in an update value workflow. I want to multiple the number value in field A by the currency value in field B and have that new value display in field C. But I also want to round up or ceiling the resulting value to the nearest $0.10. Here is what I want to do, but this is not working. PLEASE HELP.
EXPRESSION BUILDER FUNCTION
FIELD C = CEILING((FIELDA*FIELDB)+FIELDB,0.1)
Edited by: gprobertson on Feb 15, 2010 10:20 AM

Hi, I dont think this function is supported in workflow expressions. It is only available in reporting / analytics. Even there it only Rounds a noninteger numerical expression to the next highest integer. Even the function round doesnt seem to be available in workflow functions list
-- Venky CRMIT

Similar Messages

  • How to update field values in a database table using module pool prg?

    hi
    how to update field values in a database table using module pool prg?
    we created a customized table, and we put 2 push buttons in screen painter update and display.
    but update is not working?
    data is enter into screen fields and to internal table, but it is not updated in database table.
    thanks in adv
    vidya

    HI,
    we already used the update statement. but its not working.
    plz check this.
    *& Module Pool       ZCUST_CALL_REC
    PROGRAM  ZCUST_CALL_REC.
    TABLES: ZCUST_CALL_REC,ZREMARKS.
    data:  v_kun_low like ZCUST_CALL_REC-kunnr ,
           v_kun_high like ZCUST_CALL_REC-kunnr,
           v_bud_low like ZCUST_CALL_REC-budat,
           v_bud_high like ZCUST_CALL_REC-budat.
    ranges r_kunnr for ZCUST_CALL_REC-kunnr  .
    ranges r_budat for zcust_call_rec-budat.
    DATA: ITAB TYPE STANDARD TABLE OF ZCUST_CALL_REC WITH HEADER LINE,
          JTAB TYPE STANDARD TABLE OF ZREMARKS WITH HEADER LINE.
    *data:begin of itab occurs 0,
        MANDT LIKE ZCUST_CALL_REC-MANDT,
        kunnr like ZCUST_CALL_REC-kunnr,
        budat like ZCUST_CALL_REC-budat,
        code like ZCUST_CALL_REC-code,
        remarks like ZCUST_CALL_REC-remarks,
        end of itab.
    *data:begin of Jtab occurs 0,
        MANDT LIKE ZCUST_CALL_REC-MANDT,
        kunnr like ZCUST_CALL_REC-kunnr,
        budat like ZCUST_CALL_REC-budat,
        code like ZCUST_CALL_REC-code,
        remarks like ZCUST_CALL_REC-remarks,
        end of Jtab.
    CONTROLS:vcontrol TYPE TABLEVIEW USING SCREEN '9001'.
    CONTROLS:vcontrol1 TYPE TABLEVIEW USING SCREEN '9002'.
    *start-of-selection.
    *&      Module  USER_COMMAND_9000  INPUT
          text
    MODULE USER_COMMAND_9000 INPUT.
    CASE sy-ucomm.
    WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
    SET SCREEN 0.
    LEAVE SCREEN.
    CLEAR sy-ucomm.
    WHEN 'ENQUIRY'.
    perform multiple_selection.
    perform append_CUSTOMER_code.
    PERFORM SELECT_DATA.
    call screen '9001'.
    WHEN 'UPDATE'.
          perform append_CUSTOMER_code.
          PERFORM SELECT_DATA.
          call screen '9002'.
          perform update on commit.
    WHEN 'DELETE'.
          perform append_CUSTOMER_code.
          PERFORM SELECT_DATA.
          call screen '9002'.
    ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9000  INPUT
    *&      Module  STATUS_9000  OUTPUT
          text
    MODULE STATUS_9000 OUTPUT.
      SET PF-STATUS 'ZCUSTOMER'.
    SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_9000  OUTPUT
    *&      Module  USER_COMMAND_9001  INPUT
          text
    MODULE USER_COMMAND_9001 INPUT.
    CASE sy-ucomm.
    WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
    SET SCREEN 0.
    LEAVE SCREEN.
    CLEAR sy-ucomm.
    endcase.
    ENDMODULE.                 " USER_COMMAND_9001  INPUT
    *&      Module  STATUS_9001  OUTPUT
          text
    MODULE STATUS_9001 OUTPUT.
      SET PF-STATUS 'ZCUSTOMER'.
    SET TITLEBAR 'xxx'.
    move itab-MANDT   to zcust_call_rec-MANDT.
    move itab-kunnr   to zcust_call_rec-kunnr.
    move itab-budat   to zcust_call_rec-budat.
    move itab-code    to zcust_call_rec-code.
    move itab-remarks to zcust_call_rec-remarks.
    vcontrol-lines = sy-dbcnt.
    ENDMODULE.                 " STATUS_9001  OUTPUT
    *&      Module  USER_COMMAND_9002  INPUT
          text
    module  USER_COMMAND_9002 input.
    CASE sy-ucomm.
       WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
          SET SCREEN 0.
          LEAVE SCREEN.
          CLEAR sy-ucomm.
       WHEN 'UPDATE'.
             perform move_data.
         UPDATE ZCUST_CALL_REC FROM TABLE ITAB.
            IF SY-SUBRC = 0.
               MESSAGE I000(0) WITH 'RECORDS ARE UPDATED'.
             ELSE.
               MESSAGE E001(0) WITH 'RECORDS ARE NOT UPDATED'.
            ENDIF.
      WHEN 'DELETE'.
             perform move_data.
             DELETE ZCUST_CALL_REC FROM TABLE ITAB.
              IF SY-SUBRC = 0.
               MESSAGE I000(0) WITH 'RECORDS ARE DELETED'.
             ELSE.
               MESSAGE E001(0) WITH 'RECORDS ARE NOT DELETED'.
            ENDIF.
    endcase.
    endmodule.                 " USER_COMMAND_9002  INPUT
    *&      Module  STATUS_9002  OUTPUT
          text
    module STATUS_9002 output.
      SET PF-STATUS 'ZCUSTOMER1'.
    SET TITLEBAR 'xxx'.
    endmodule.                 " STATUS_9002  OUTPUT
    *&      Module  update_table  OUTPUT
          text
    module update_table output.
         move itab-MANDT   to zcust_call_rec-MANDT.
         move itab-kunnr   to zcust_call_rec-kunnr.
         move itab-budat   to zcust_call_rec-budat.
         move itab-code    to zcust_call_rec-code.
         move itab-remarks to zcust_call_rec-remarks.
    vcontrol-lines = sy-dbcnt.
    endmodule.                 " update_table  OUTPUT
    ***Selection Data
    FORM SELECT_DATA.
    SELECT  mandt kunnr budat code remarks  FROM zcust_call_rec INTO
                            table itab
                             WHERE kunnr IN r_kunnr AND BUDAT IN R_BUDAT.
    ENDFORM.
    ****append vendor code
    FORM APPEND_CUSTOMER_CODE.
    clear r_kunnr.
    clear itab.
    clear r_budat.
    refresh r_kunnr.
    refresh itab.
    refresh r_kunnr.
    IF r_kunnr  IS INITIAL
                  AND NOT v_kun_low IS INITIAL
                   AND NOT v_kun_high IS INITIAL.
                        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                                    EXPORTING
                                       input         = v_kun_low
                                    IMPORTING
                                       OUTPUT        = r_kunnr-low.
                       CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                                  EXPORTING
                                      input         = v_kun_high
                                  IMPORTING
                                      OUTPUT        = r_kunnr-high.
                     r_kunnr-option = 'BT'.
                     r_kunnr-sign = 'I'.
                     append r_kunnr.
       PERFORM V_BUDAT.
    ELSEIF r_kunnr  IS INITIAL
                  AND NOT v_kun_low IS INITIAL
                   AND  v_kun_high IS INITIAL.
                        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                                    EXPORTING
                                       input         = v_kun_low
                                    IMPORTING
                                       OUTPUT        = r_kunnr-low.
                    r_kunnr-SIGN = 'I'.
                    r_kunnr-OPTION = 'EQ'.
                    APPEND r_kunnr.
       PERFORM V_BUDAT.
    ELSEIF r_kunnr IS INITIAL
                  AND  v_kun_low IS INITIAL
                   AND NOT v_kun_high IS INITIAL.
                        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                                    EXPORTING
                                       input         = v_kun_low
                                    IMPORTING
                                       OUTPUT        = r_kunnr-low.
                    r_kunnr-SIGN = 'I'.
                    r_kunnr-OPTION = 'EQ'.
                    APPEND r_kunnr.
          PERFORM V_BUDAT.
    ELSEIF r_kunnr IS INITIAL
                  AND  v_kun_low IS INITIAL
                   AND  v_kun_high IS INITIAL.
                        IF SY-SUBRC = 0.
                             MESSAGE I003(0) WITH 'ENTER CUSTOMER NUMBER'.
                              CALL SCREEN '9000'.
                        ENDIF.
    PERFORM V_BUDAT.
    ENDIF.
    ENDFORM.
    FORM V_BUDAT.
    IF  R_BUDAT IS INITIAL
                   AND NOT v_BUD_low IS INITIAL
                   AND NOT v_BUD_high IS INITIAL.
                     r_budat-low = v_bud_low.
                     r_budat-high = v_bud_high.
                     r_budat-option = 'BT'.
                     r_budat-sign = 'I'.
                     append r_budat.
             ELSEIF  R_BUDAT IS INITIAL
                   AND NOT v_BUD_low IS INITIAL
                   AND  v_BUD_high IS INITIAL.
                     r_budat-low = v_bud_low.
                     r_budat-high = v_bud_high.
                     r_budat-option = 'EQ'.
                     r_budat-sign = 'I'.
                     append r_budat.
             ELSEIF  R_BUDAT IS INITIAL
                   AND  v_BUD_low IS INITIAL
                   AND NOT v_BUD_high IS INITIAL.
                     r_budat-HIGH = v_bud_HIGH.
                     r_budat-option = 'EQ'.
                     r_budat-sign = 'I'.
                     append r_budat.
              ELSEIF  R_BUDAT IS INITIAL
                   AND  v_BUD_low IS INITIAL
                   AND  v_BUD_high IS INITIAL.
                   IF SY-SUBRC = 0.
                       MESSAGE I002(0) WITH 'ENTER POSTING DATE'.
                      CALL SCREEN '9000'.
                    r_budat-low = ''.
                    r_budat-option = ''.
                    r_budat-sign = ''.
                    ENDIF.
            ENDIF.
    ENDFORM.
    *&      Form  update
          text
    -->  p1        text
    <--  p2        text
    form update .
    commit work.
    endform.                    " update
    *&      Form  move_data
          text
    -->  p1        text
    <--  p2        text
    form move_data .
       clear itab.
      refresh itab.
           move-corresponding  zcust_call_rec to itab.
           MOVE ZCUST_CALL_REC-MANDT   TO ITAB-MANDT.
           MOVE ZCUST_CALL_REC-KUNNR   TO ITAB-KUNNR.
           MOVE ZCUST_CALL_REC-BUDAT   TO ITAB-BUDAT.
           MOVE ZCUST_CALL_REC-CODE    TO ITAB-CODE.
           MOVE ZCUST_CALL_REC-REMARKS TO ITAB-REMARKS.
         APPEND ITAB.
         delete itab where kunnr is initial.
    endform.                    " move_data
    thanks in adv
    vidya

  • Powershell update Field Value without changing version number

    I want to update a value in a field in a list for a lot of list items.
    However, this list has major and minor versioning turned on, and an approval process.
    When I update the field's value for all the required list items, I don't want the approval process to start and I don't want the version number to change.
    How can I do this?
    This is my code so far:
    $siteUrl = "http://portal"
    $listName = "list name"
    $field1_Name = "category"
    $web = Get-SPWeb -Identity $siteUrl
    $list = $web.Lists[$listName]
    $items = $list.Items
    ForEach ($item in $items)
        if ($item[$field1_Name].ToString() -eq "testing") 
     $url = [String]::Format("{0}/{1}",$web.Url, $item.File.URl)
         $file = $web.GetFile($url)
     $file.CheckOut()
     write-host $item.name
           $item[$field1_Name] = "testing again"
           $item.Update()
     $file.CheckIn("updated category name", [Microsoft.Sharepoint.SPCheckinType]::MajorCheckIn))
    $web.Dispose()

    Instead of calling $item.Update() call $item.SystemUpdate($false);  That will update the fields without incrementing he version number of the listitem.  Read about it here:
    http://msdn.microsoft.com/EN-US/library/office/ms481195(v=office.14).aspx
    Paul Stork SharePoint Server MVP
    Principal Architect: Blue Chip Consulting Group
    Blog: http://dontpapanic.com/blog
    Twitter: Follow @pstork
    Please remember to mark your question as "answered" if this solves your problem.

  • Loop through xml, update field values and write to a file

    I have the following xml file:
    <candy>
    <product><column name="Data">123</column>
    <column name="Date">2002-1-1</column>
    </product>
    <product><column name="Data">456</column>
    <column name="Date">2002-1-1</column>
    </product></candy>
    I need to update column name="Date" from its current values to a new value and then write it to a file in java. I know the steps is to build a dom tree - xml parser-xpath ect. Can anyone provide some working examples or links? I did some search on web, but could not find any examples that meet my requirements.
    Thank you for your input.

    Here's a starting point for you:
    http://java.sun.com/webservices/docs/1.0/tutorial/doc/JAXPDOM3.html

  • Return results from custom dialog box not visibly updating field value

    I have a form with custom dialog boxes (execDialog) for data entry. The dialog box is being called from the Entry event successfully. I also have it called from the Click event. So, here's what I get:
    1. On entering the field, I get the dialog box pop up, I select a value, it visibly changes the field raw value and leaves focus in the field.
    2. If I exit the field and re-enter, it also works as in point 1 (as expected)
    3. If, while focus is already in the field, I click in the field, I get the dialog box, as expected, but after selecting a value from the dialog, the field raw value DOES NOT VISIBLY change until I exit the field! It's kind of like the click event is working in conjunction with the Exit event. This is totally counter-intuitive for a production form that is being designed for the general populace.
    Anyone had any experience with this?
    Cheers,
    Marty.

    Thom Parker answered this here: http://forums.adobe.com/message/2614570#2614570
    Answer copied below:
    "The problem is that when the focus is on the text box
    it's in edit mode. It's only displaying the value interactively entered by
    the user, or as a consequence of the change event.  What you need to do is
    force the focus off of the text box in code.  You can do a little trick
    where you bounce it to a tiny transparent field, which then bounds the focus
    back so it doesn't look like the focus changed."
    What I ended up doing was calling up the dialog box, then using setfocus with no parameters to remove focus from the field, as follows:
    this.rawValue = this.dialogBoxFunction(this.rawValue); // passing current value so dialog box defaults to that value
    xfa.host.setFocus();
    Cheers,
    Marty.

  • Expression builder

    i want to use if function in expession builde .
    iig(month( @[User::edate) ==2 and year(@[User::edate) ==2015), 4 ,12) 
    please help me

    Hi coool_sweet,
    According to your description, you created a variable of datetime type named edate and a variable of int, you want to use iif function in expression builder. If that is the case, we can use the expression like below:
    month( @[User::edate] ) == 2 && year( @[User::edate] ) ==2015? 4 : 12
    The following screenshot is for your reference:
    If you have any more questions, please feel free to ask.
    Thanks,
    Wendy Fu
    Wendy Fu
    TechNet Community Support

  • Want to update field from product to asset using JoinFieldValue function

    I am trying to write a workflow with JoinField Value Function so that I will get the Field Value=Product Quantity from Product(Content Management) in Asset which is the related information under Account.
    In Asset on the basis of Product Name & ProductID, i want to update that field=Product Quantity in Asset.
    JoinFieldValue('<product>','<productid>','<product quantity>')
    i have tried this workflow under Asset record type with Trigger Event as When Modified record Saved.
    I need this to see the product quantity frm product for Available to Promise purpose.
    Pls help me out.
    Regards
    Mangesh

    Tnaks Venky for your Reply.
    I have written the exact workflow.
    I have created the Custom Field as Product Quantity in Product.In Account record type related info I have renamed Asset as Product Purchased & added field Product name & Product Quantity(Custom Field-Number) as read only.I have aslo added the productID Field(renamed from row ID in both product & assest record type).
    Product Name=A ProductID=123 Product Quantity=READ ONLY ---PQ & PID are coming from Product record type.Same way i want the Product Quantity field should come from Product Record type.
    If i require Product A from Product record Type(Inventory) with 10 Quantity in Required Product Quantity as Custom Field then when i save the Information or as a Modified Information,the Product Quantity field shoul be automatically upadted with the Value provided in Product Quantity field in Product Record Type.
    Regards
    Mangesh

  • Field value not getting updated in R/3

    Hello Experts!!
    I am facing a problem while updating a field value back in R/3.
    The Syncbo is of type U01 and the field has data type char 40.
    The meRepMeta.XML file has following description
    Field name="DESCR1" type="C" length="40" decimalLength="0" signed="false" isKey="false" isIndex="false">
    <Input type="modify">false</Input>
    1) when i test the function module in R/3. The field value is gets updated.
    2) when i create a record for the sync BO from client , i can see the field value being created on the client.
    3) when i synchronize, i dont get any error or warning and get a successful message.
    S        15.07.2008 12:19:09 All updates for one TOP block were successful (seq. no.=65, TOP cntr.=0000000001)
    15.07.2008 12:19:09 Synchronizer UPLOADER completed successfully (mobile ID=0000002646, SyncBO=ZDBMSERORD)
    I am not able to locate where is the problem
    Please suggest!!
    Regards,
    Priya Ghosh

    Hi,
    please check your maping in the create handler in MEREP_SBUILDER. Perhaps the value is created on the client but not mapped to the field of the function module. Furthermore have a look into MEREP_MON and see if the data gets forwarded in there.
    At last I would dump the information received by the function module into a table without any logic. So you can see what data actually is forwarded into the funct module - if brake point i not possible.
    Hope this helps.
    Regards,
    Oliver

  • Sum Currency Fields using Workflow Field Update

    Trying to have a workflow rule that updates a field "Total Payments" when any of the "Payment" amount fields change.
    Created the workflow rule like this:
    PRE('<cPayment1_ITAG>')<>[<cPayment1_ITAG>] OR PRE('<cPayment2_ITAG>')<>[<cPayment2_ITAG>] OR PRE('<cPayment3_ITAG>')<>[<cPayment3_ITAG>]
    And the Update Field Value rule as follows:
    =[<cPayment1_ITAG>]+[<cPayment2_ITAG>]+[<cPayment3_ITAG>]
    But it doesn't want to work. Should I use "FieldValue" function for the update rule?
    Thanks,
    Dan

    That worked perfectly, thanks Mani!
    I've seen where people have mentioned using the "=" sign or no "=" sign but I'm not sure most people understand the proper use of when to use it versus when not to. Can anyone elaborate on the cases when an equal sign should be used versus when it shouldn't be used?
    I personally would like to have a bit more knowledge regarding these types of idiosyncrasies of the syntax.
    Dan

  • How to use TRUNC function with dates in Expression Builder in OBIEE.

    Hi There,
    How to use TRUNC function with dates in Expression Builder in OBIEE.
    TRUNC (SYSDATE, 'MM') returns '07/01/2010' where sysdate is '07/15/2010' in SQL. I need to use the same thing in expression builder in BMM layer logical column.
    Thanks in advance

    use this instead:
    TIMESTAMPADD(SQL_TSI_DAY, ( DAYOFMONTH(CURRENT_DATE) * -1) + 1, CURRENT_DATE)

  • Custom XPath function & customize XPath expression builder

    Hi,
    I have made several custom XPath functions and apparently it is not possible to customize the UI and add these functions to the XPath expression builder.
    Could someone confirm this ?
    Thanks

    Nobody knows the answer?
    I just have the same question.

  • Expression builder functions

    It looks like there is no support for UPPER or LOWER string functions in the expression builder ... is this correct?

    Additional information: If you cut/paste an expression from the expression builder calling a jar function into a report,although you cannot see the functions in the expression builder of the report and run the report on the server , the function call will return the correct data without error. This is a 4.3.1 report with the 4.3.1 Runtime using Apache 7.0

  • Adf expression builder substring function

    Hello,
    I'm new to adf and I want to make substring using expression builder. I've tried #{fn:substr(bindings.getSysdate.result,1,5)} but doesn't work and I didn't find on the net.
    Please help.
    Thank you

    Hi,
    the JSTL function is called fn:substring and - as Timo mentions - you need to add
    xmlns:fn="http://java.sun.com/jsp/jstl/functions"
    to the jsp:root tag of the JSPX page
    This here then worked for me:
    #{fn:substring(bindings.employeeName.inputValue,1,3)}
    Frank

  • Expression Builder In Oracle Rule Authoe

    Hi,
    I am using expression builder for making this kind of expression:
    x = y* (new Double(.02))
    where x and y are Double.
    after inserting the variables and operator, validation always fails showing the following message:
    Cannot perform operation. 'RUL-01726: Data type operator for *, at position 10: java.lang.Double * java.lang.Double '
    Please tell me where i am going wrong. It's very urgent.

    Thanks for the reply Phil.
    I think that when I am updating datamodel, it is updating every thing in data model i.e. variables, constraints, functions, facts everything.
    Do you have knowledge of any method in the API which updates only variables??
    Also, i followed a different methodolgy be using RuleSession. have a look at code snippet:
    String rsrl ;
    * Double testValue = 6000.0;*
    * Double discount = new Double(0);*
    * try {*
    * rsrl = dict.ruleSetRL( ruleSetName );*
    * String dmrl = dict.dataModelRL();*
    * RuleSession session = new RuleSession();*
    * session.executeRuleset( dmrl );*
    * session.executeRuleset( rsrl );*
    * discount = (Double)session.callFunctionWithArgument("DM.calculateDiscount",testValue);*
    * System.out.println(" Discount "+discount);*
    * } catch (Exception e) {*
    * e.printStackTrace();*
    Here instead of updating dataModel i am executing ruleSet using session and callingFunction to calculate discount.
    Now if disocunt is populated independent of any other vairable (e.g. discount = 10.0d instead of discount = 10.0*salesValue)
    then it should work. But if discount is dependent on some variable (which has to be global Variable) then it would not populate it.
    This is what i have thought.
    But the above code snippets always give following exception :
    oracle.rules.rl.exceptions.InvocationException: wrong argument type in function or method invocation
    even when function takes arguments in my dictionary.
    Your help is much awaited!! Thanks in advance.

  • Expression Builder: convert string to number

    Hi all,
    I'm having trouble building a field validation rule for bank account numbers.
    The numbers have 12 positions, so I cannot use a string or text number.
    The validation rule to be implemented is that the last two digits are calculated based on the first 10 (modulo 97).
    However, when I use the Mid function to pick the first characters, I am unable to do any calculations on it. Apparently, the string to number conversion doesn't work (it should work when I read the manual, as it says that when using an operator between two data types, the second type is converted to the first (cf. example of 1234+abcd (should result in 1234 as to the manual))). So I tried '1*Mid(...)' or '0+Mid(...)'. Syntactically the expression builder accepts it and I can save it. BUT when I change the particular value on the screen, it gives me an SSO error (not the Field Validation error message I entered).
    Why isn't there simply a function ToNumber (like ToChar)????? How could I workaround this?
    Any input very welcome!
    Frederik

    Apparently, I was a bit confused when typing the first sentence, it should be:
    The numbers have 12 positions, so I cannot use an integer or number data type, but have to use String.

Maybe you are looking for