Question for If condition with variables

HI Expert, there is a question need your kind help. I am doing the report based on the RTF, and logic is I init the variable 'INCOME' firstly, and then set the value of the varibale in the loop, then I need check this variable by if condition, the logic is simple, but it can not work and the setting value seems cannot be effective in if condition(cannot do print)
Code list as below:
<?xdoxslt:set_variable($_XDOCTX,'INCOME', 0)?>
<?for-each:GLB_ARCH_PR?><?sort:current-group()/GLB_PAY_ARCH_EE_INFO/PERSON_ID;'ascending';data-type='text'?>
<?for-each-group:GLB_PAY_ARCH_PR_TAX_DEDUCTIONS;./SECONDARY_BASE_CLASS_NAME?>
<?xdoxslt:set_variable($_XDOCTX,'INCOME', 123)?>
<?if: xdoxslt:get_variable($_XDOCTX,'INCOME') > 0?>
.....// print something
<?end if?>
<?end for-each?>
<?end for-each-group?>
In addtion, the first line is in a cell of table, and other lines(setting variable's value and if condition) in another cell.
I guess the variable can not be set and then be checked by if in the same loop(or same cell)? If I do set_variable outsides the loop, the logic can work, could you please tell me if my guess is right? and provide some solution for this.
Thanks a lot!
Edited by: 859061 on 2011-5-15 下午8:25
Edited by: 859061 on 2011-5-16 下午7:58

Thank your feedback in forums for Oracle RTF template questions.
In fact, I found if the variables value setting and if condition in same cell, the value setting always be not effect before the if condition. So if you want set the value firstly, then do if condition. In this case, you cannot get your logic target.
So I guess if the variables value setting and variable if condition in same cell, the execution sequence can not be fixed, or if condition always do first than other operation?
I have done a test to confirm this, I have set the value as 1 for initiation, and if condition is more than 0, so every row can be display. At this case, I modified the value setting as
<? if: xdoxslt:get_variable($_XDOCTX,'Index') = 3 ?>
<? xdoxslt:set_variable($_XDOCTX,'INCOME', 0)?>
<?end if?>
<? if: xdoxslt:get_variable($_XDOCTX,'Index') != 3 ?>
<? xdoxslt:set_variable($_XDOCTX,'INCOME', 1)?>
<?end if?>
That means the variable should be set as 0 when row 3, and that row should not be displayed, but in fact all rows displayed.
My target logic just is do value setting by some logic every rows, and then decide show this row or not by the value, what's more, I have to set them in same cell for loop limitation.
I hope you can find any solutions for this.

Similar Messages

  • Condition with variable incorrect

    Hi,
    first I had the issue that my condition wasn't executed in the web when I first executed my query without value for the variable and then recall the variable screen and filled in a value.
    For this issue I implemented note 1243621 and this resolved the issue...
    But now I see that when I execute my query in the BEx analyzer and leave the variable empty, the condition is executed with variable = 0. But I want all my values!
    Any Ideas?
    Joke

    For that variable, give default value = All in your variable change screen. Or create one Variant that chooses all the values and enable it as default selection in you user input entry

  • Question for using ORACLE with SOLARIS

    Hi Experts,
    I have worked Oracle with Linux in one of my projects 2yrs back and i was just a developer, used to write SQL Query, Creating Table and Objects.
    Now i got a question from TL which is
    Tell me about consequences for using Oracle with Solaris?
    I am not worked ORACLE with SOLARIS, Can some one give me the answer for this question with
    1. Difference between ORACLE with LINUX and ORACLE with SOLARIS.
    2. Advantages and Disadvantages Between ORACLE with LINUX and ORACLE with SOLARIS.
    Thanks,
    MuraliDharan V

    Hi MuraliDharan V,
    It would had been better if you had searched first;
    Here is one
    Advantage for Linux64-bit Versus Solaris-x86_64 OS in RAC
    And beside that your question is incomplete:
    -What Oracle? Database, etc
    -Which Version? 9i, 10g, etc
    Aside from that a simple search on google might have answered your question as well.
    But I think there is some new trend of dumping questions here before searching.
    Ex Senior DBA

  • Key mapping question. (for mobile phones with PC-like keyboard)

    For phones with mini keyboard (one button per one character, like a PC keyboard).
    I'm trying to implement a form with few text boxes. The goal is to let user type the message like they're using a PC keyboard (unlike in traditional phones, where you need to press the 'numpad two' button three times in order to type the character 'C')
    I've successfully implemented this functionality. But it's an ugly implementation because I use a switch-cases for each and EVERY keycodes.
    Forexample:
    char inputChar;
    switch(keyCode)
    case 97: input = 'A' break;
    case 98: input = 'B' break;
    // go on until every keys are covered, including the lower case letters. T_T
    buffer.append(inputChar);
    Yes I know that my programming skill is real crap >_<, so I try google for some good implementation method. But I always found only the detail about the traditional numpad implementations.
    Ok, my real question is, can this keyboard implementation be done in a better way? The code should be able to look more beautiful than this, right?
    Thank you. =)

    I still don't get the problem here?
    A textbox in a form will work just fine with those mini keyboards. You don't need to do anything for it..
    Otherwise, this code can obviously be done better, a simple array where you just lookup your keycode will be much simpler and faster for instance.

  • Automator for PDF merge with variable

    Hi - very new to automator, but now very motivated to find a solution to this annoying problem.
    I have to scan expense receipts each week and upload them 1 by 1 into a client time & expense system. I don't think Automator can help me with this one.
    A second system requires all the expense receipts to be merged into a PDF and a 3rd copy emailed to an approver.
    This is what I would like automator to do:
    From my Expenses folder, where all my individual PDF's are located
    I select all my distinct PDF's for a particular week
    Using an automator service, right click style
    Using 'Ask for Text', I would enter the "Week of"
    My selected PDF's are merged into 1 PDF, with the name = "Week of <VAR>"
    Mail starts (can't figure out how to use Gmail in a browser in Automator)
    Creates a message to the approver guy with the merged attachment from #5 above
    Sends the message
    Quits Mail
    I can get the automator to run without the variables trick...but it really would save a lot of time if I could just key it in once (instead of #filename, #email subject, #body of the message).
    I also tried looking up the UUID for the variable and inserting it into the email body and subject line - but it didn't take.
    Can anyone help with this?
    Many thanks
    bforeste

    Can't help you with automator, but you can create an app with the applescript below that will do what you want.
    Procedure:
    1. Open the Applescript Editor by typing Apples in the spotlight search field and hitting 'return' on your keyboard.
    2. Copy the entire script below and paste it into the Editor window.
    3. Hit 'Command-K' on the keyboard and ensure there are no compiler errors. If there are, please look at the script and see if one part of it was highlighted. Report back what part of the script was highlighted and any error messages.
    If the compile didn't produce an error, then:
    4. Hit 'Command-S' on the keyboard, choose a snazzy name ("PDF merger" or something...) and a location to save it in (your Apps or Desktop folders).  Be sure to change the 'File Format:' to Application at the bottom of the Save screen before hitting 'Save'.
    5. The first time you run the app (you run it by double-clicking on it, like any other App), you'll be asked to put in the details manually. On subsequent runs, it will fill in the defaults for you. I haven't set up the default locations for looking and searching for the files as I'm not sure where they would be on your system. I can do that if you tell me the path from your 'home' or user directory.
    Also note, I've written the script so that it doesn't send the message until you've reviewed it. i.e., you might want to double check you've attached the correct file, or add a message. If you want it to send automatically without review change the following lines near the end of the script:
    change the line 'set visible to true' to 'set visible to false'
    change the line 'save' to 'send'
    property defaultFolder : ""
    property msgSubject : ""
    property theRecipient : ""
    property theWeeklyname : ""
    property outputFile : ""
    getInfo()
    mergePDFS()
    sendMail()
    on getInfo()
              display dialog "Type the recipient's email address: " default answer theRecipient
              set theRecipient to the text returned of the result
              delay 0.25
              display dialog "Set the subject of the message: " default answer msgSubject
              set msgSubject to the text returned of the result
    end getInfo
    on mergePDFS()
              display dialog "Please choose the files to merge…" default button "OK"
              set inputFiles to choose file of type "PDF" with multiple selections allowed without invisibles
              delay 0.25
              display dialog "Please choose a folder to save the merged PDF…" default button "OK"
              set outputFolder to choose folder
              delay 0.25
              display dialog "Type the name of the combined pdf (without the .pdf extension): " default answer theWeeklyname
              set theWeeklyname to text returned of the result
              set outputFile to (outputFolder as text) & theWeeklyname & "(" & (count of inputFiles) & ").pdf"
              set pdfFiles to ""
              repeat with p in inputFiles
                        set pdfFiles to pdfFiles & " " & quoted form of POSIX path of p
              end repeat
              do shell script "/System/Library/Automator/Combine\\ PDF\\ Pages.action/Contents/Resources/join.py " & "-o " & quoted form of POSIX path of outputFile & pdfFiles
              return outputFile as alias
    end mergePDFS
    on sendMail()
              tell application "Finder"
                        set theAttachment to outputFile as alias
              end tell
              tell application "Mail"
                        set newMessage to make new outgoing message with properties {subject:msgSubject, content:"" & return & return}
                        tell newMessage
                                  set visible to true
      make new to recipient at end of to recipients with properties {address:theRecipient}
                                  tell content
      make new attachment with properties {file name:theAttachment} at after the last paragraph
                                  end tell
      save
                        end tell
              end tell
    end sendMail

  • Licensing question for AD enterprise with new SQL Server

    Hi!
    We have Server 2008 R2 STD where our AD is located and it has enough User CAL's. Additionally we have Terminal server with TS licenses.
    Now we're purchasing a Server 2012 where we plan to install SQL Server 2012 STD where we will install our third party program and this program is going to be used through Terminal server. 
    Now the question is do I only need SQL CAL's or will I have to get both SQL CAL's AND User CAL's for the new server? I'm thinking AD servers User CAL's is enough for the whole enterprise, but I'm not 100% sure and need help with this!
    Thanks!

    Licensing questions should be directed to trained Microsoft licensing specialists instead of a technical forum. 
    www.microsoft.com/licensing. 
    That said, SQL CALs and operating system CALs are sold separately.  Talk with the vendor from whom you are purchasing your licenses.  They should be able to help you sort out the CAL questions.
    . : | : . : | : . tim

  • Port Forwarding Question for IP Camera with MI424WR-GEN3

    So just switched to fios from cable and trying to set up port forwarding on this new actiontec router so I can view my IP Camera from outside the house.
    The camera has a static IP address of 192.168.1.200  using port 8080 and I works fine if I type that IP address with the port into the browser inside the network.
    The IP Camera company requires you to port forward  port 80 (switched to 8080) 554 and 50000-60000.
    So I set up Portforwarding on the router like this:
    Networked Computer / Device
    192.168.1.200:8080
    Applications & Ports Forwarded
    IPCamera
    TCP 8080 -> 8080
    UDP 8080 -> 8080
    TCP 554 -> 554
    UDP 554 -> 554
    TCP 50000-60000 -> 50000-60000
    UDP 50000-60000 -> 50000-60000
    WAN Connection Type
    All Broadband Devices
    Status
    Active
    Now the problem is when I type my real IP address:  108.XX.XXX.37:8080 (from inside the network it pulls up the Fios router login page and when I pull it up outside the network I get page not found.  This isnt any different then I had previously done on my Netgear router, but I must be missing something on this actiontec one.  Any suggestions?
    Thanks
    Solved!
    Go to Solution.

    Howie411 wrote:
    The IP Camera company requires you to port forward  port 80 (switched to 8080) 554 and 50000-60000.
    So I set up Portforwarding on the router like this:
    Networked Computer / Device
    192.168.1.200:8080
    Applications & Ports Forwarded
    IPCamera
    TCP 8080 -> 8080
    UDP 8080 -> 8080
    TCP 554 -> 554
    UDP 554 -> 554
    TCP 50000-60000 -> 50000-60000
    UDP 50000-60000 -> 50000-60000
    WAN Connection Type
    All Broadband Devices
    Status
    Active
    Now the problem is when I type my real IP address:  108.XX.XXX.37:8080 (from inside the network it pulls up the Fios router login page and when I pull it up outside the network I get page not found.  This isnt any different then I had previously done on my Netgear router, but I must be missing something on this actiontec one.  Any suggestions?
    Thanks
    No port on the ip address
    Networked Computer / Device
    192.168.1.200
    should say tcp any on the left side of the arrow in all cases
    TCP any -> 8080
    UDP any -> 8080
    etc

  • Question for Y2P owners with 7260 N cards

    What is the PCI/VEN ID of your wifi card (Device Mng> Intel 7260 N> properties> Details> Device ID).

  • Contract Generation question: Formatting, Numbering of clauses, variables

    Hi!
    I am trying to create a Contract Document Template (for Contract Generation) with Variables
    I created some Variable Collections, but when I link them to the Contract Template, they add on with a different formatting altogether, which is neither like the placeholder in the template nor like the template attached to the variable.
    My variable configuration was of the type Paragraph.
    If anyone has any helpful tips on formatting Contract Document Templates, it would be most appreciated.
    Also, how do I ensure that numbering of sections and clauses is sequentially made in the final Contract.
    Regards,
    Reshma

    I was able to fix the problem by making some word document format changes.
    Please ignore this question.
    Regards,
    Reshma

  • Extractor for Purchasing Conditions for tables EKKO, EKPO and KONV

    Hi Experts,
    I want to know if there is an Extractor for Purchasing Conditions with fields in tables of Origin: EKKO, EKPO and KONV.
    Or, at least an extractor with the table KONV.
    Or, how I can look for it.
    Any feedback, will be really apreciated.
    Thanks in advance

    Hi David,
    Adding to what said above.
    Observe the Fileds in the Datasources and the details.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/5c/8ea0e626e442efb109232830faded9/frameset.htm
    Regards,
    Ram.

  • Change Pricing Condition for an item with CRM_ORDER_MAINTAIN

    Hi community,
    I try to change an existing condition with the function module crm_order_maintain.
    Everything looks fine, no error no dump, but no success
    The condition stays the same!
    Can anybody find a solution for this?
    Heres my report so far:
    *& Report  ZTEST_PRICING2
    REPORT  ztest_pricing2.
    DATA: lt_guid      TYPE crmt_object_guid_tab,
          lt_item      TYPE crmt_object_guid_tab,
          lt_saved     TYPE crmt_return_objects,
          lt_pridoc    TYPE crmt_pric_cond_t,
          ls_pridoc    TYPE crmt_pric_cond,
          lt_pricom    TYPE crmt_pridoc_comt,
          ls_pricom    TYPE crmt_pridoc_com,
          lt_header    TYPE crmt_orderadm_h_comt,
          lt_input     TYPE crmt_input_field_tab,
          ls_input     TYPE crmt_input_field,
          ls_input_fn  TYPE CRMT_INPUT_FIELD_NAMES,
          ls_cond_chg  TYPE prct_cond_external_change,
          ls_cond      TYPE PRCT_COND_DU,
          lt_pricing_i TYPE CRMT_PRICING_I_WRKT.
    PARAMETERS: lv_head TYPE crmt_object_guid DEFAULT 'C4C61C4E35DDF306E10000000A024089'.
    PARAMETERS: lv_item TYPE crmt_object_guid DEFAULT '09C71C4E35DDF306E10000000A024089'.
    PARAMETERS: lv_kbetr TYPE prct_cond_rate DEFAULT '100'.
    INSERT lv_head INTO TABLE lt_guid.
    INSERT lv_item INTO TABLE lt_item.
    CALL FUNCTION 'CRM_ORDER_READ'
      EXPORTING
        it_header_guid                    = lt_guid
        it_item_guid                      = lt_item
    *   IV_MODE                           =
    *   IV_ONLY_SPEC_ITEMS                =
    *   IT_REQUESTED_OBJECTS              =
    *   IV_NO_AUTH_CHECK                  =
    *   IT_ITEM_USAGE_RANGE               =
    *   IV_SUBITEM_DEPTH                  = -1
    *   IT_OBJECT_FILTER                  =
    *   IV_ONLY_CHANGED_OBJ               = FALSE
    *   IV_STATUS_H_CHECK_RELEVANCE       = FALSE
      IMPORTING
        et_pridoc                         = lt_pridoc
        et_pricing_i                      = lt_pricing_i
    * CHANGING
    *   CV_LOG_HANDLE                     =
    EXCEPTIONS
       document_not_found                = 1
       error_occurred                    = 2
       document_locked                   = 3
       no_change_authority               = 4
       no_display_authority              = 5
       no_change_allowed                 = 6
       OTHERS                            = 7.
    IF sy-subrc <> 0 AND lt_pridoc IS NOT INITIAL.
      WRITE: / 'ERROR'.
      EXIT.
    ENDIF.
    READ TABLE lt_pridoc INDEX 1 INTO ls_pridoc.
    IF sy-subrc <> 0.
      WRITE: / 'ERROR'.
      EXIT.
    ENDIF.
    READ TABLE ls_pridoc-pric_cond INTO ls_cond WITH KEY kschl = 'PB00'.
    IF sy-subrc <> 0.
      WRITE: / 'ERROR'.
      EXIT.
    ENDIF.
    ls_input-ref_guid   = lv_head.
    ls_input-ref_kind   = 'A'.
    ls_input-objectname = 'PRIDOC'.
    ls_input_fn-fieldname = 'WAERS'.
    INSERT ls_input_fn INTO TABLE ls_input-field_names.
    ls_input_fn-fieldname = 'KBETR'.
    INSERT ls_input_fn INTO TABLE ls_input-field_names.
    INSERT ls_input INTO TABLE lt_input.
    ls_pricom-ref_guid   = lv_head.
    ls_pricom-ref_kind   = 'A'.
    *ls_pricom-PRICING_TYPE  = 'B'.
    *ls_pricom-pricing_procedure = 'ZZMTA'.
    ls_pricom-pric_cond[] = ls_pridoc-pric_cond[].
    MOVE-CORRESPONDING ls_cond TO ls_cond_chg.
    ls_cond_chg-waers = 'EUR'.
    ls_cond_chg-kbetr = lv_kbetr.
    INSERT ls_cond_chg INTO TABLE ls_pricom-cond_change.
    APPEND ls_pricom TO lt_pricom.
    CALL FUNCTION 'CRM_ORDER_MAINTAIN'
      EXPORTING
        it_pridoc         = lt_pricom
      CHANGING
    *    ct_orderadm_h     = lt_header
        ct_input_fields   = lt_input
      EXCEPTIONS
        error_occurred    = 1
        document_locked   = 2
        no_change_allowed = 3
        no_authority      = 4
        OTHERS            = 5.
    IF sy-subrc <> 0.
      EXIT.
    ENDIF.
    CALL FUNCTION 'CRM_ORDER_SAVE'
      EXPORTING
        it_objects_to_save         = lt_guid
      IMPORTING
        et_saved_objects           = lt_saved
    *   ET_EXCEPTION               =
    *   ET_OBJECTS_NOT_SAVED       =
    EXCEPTIONS
       document_not_saved         = 1
       OTHERS                     = 2.
    IF sy-subrc EQ 0.
      COMMIT WORK AND WAIT.
    ELSE.
      ROLLBACK WORK.
    ENDIF.
    regards
    Markus

    Hello Jordi,
    The example below is whereby i was trying to copy all the pricing condition on one document to another and deleting what's not present on the source document.
    You can used this piece of code to adapt your requirement.
    CALL FUNCTION 'ZCRC_FM_COPY_PRICE_COND_ALL'
              EXPORTING
    id_object_guid_src    = <fs_el_con_guid>
    id_object_guid_dest = <fs_el_so_guid>
    id_commit                  = abap_false
              EXCEPTIONS
    not_allowed         = 1
    error_occured     = 2
    OTHERS                 = 3.
      PERFORM f_recup_donnees USING     id_object_guid_src
                                                              id_object_guid_dest.
    PERFORM f_modif_condition_prix USING id_object_guid_src
                                                                                      id_object_guid_dest.
    PERFORM f_header_copy_pricing using id_object_guid_src
                                                                            id_object_guid_dest.
    FORM f_recup_donnees   USING      pd_object_guid_src TYPE crmt_object_guid
                                                                           pd_object_guid_dest TYPE crmt_object_guid.
      DATA:
         lt_header_guid        TYPE crmt_object_guid_tab.
      INSERT pd_object_guid_src  INTO TABLE lt_header_guid.
      INSERT pd_object_guid_dest INTO TABLE  lt_header_guid.
      CLEAR: gt_orderadm_i, gt_doc_flow.
      CALL FUNCTION 'CRM_ORDER_READ'
        EXPORTING
          it_header_guid       = lt_header_guid
        IMPORTING
          et_doc_flow          = gt_doc_flow            
          et_orderadm_i        = gt_orderadm_i
        EXCEPTIONS
          document_not_found   = 1
          error_occurred       = 2
          document_locked      = 3
          no_change_authority  = 4
          no_display_authority = 5
          no_change_allowed    = 6
          OTHERS               = 7.
      IF sy-subrc NE 0.
        RAISE error_occured.
      ENDIF.
    " F_RECUP_DONNEES
    FORM f_modif_condition_prix USING pd_guid_src TYPE crmt_object_guid
                                      pd_guid_dest TYPE crmt_object_guid.
      DATA : ld_pd_handle_src     TYPE prct_handle,
              ld_pd_handle_dest    TYPE prct_handle,
              lt_komv_print_src    TYPE prct_cond_print_t,
    lt_komv_print_dest   TYPE prct_cond_print_t,
              ls_komv_print_dest   LIKE LINE OF lt_komv_print_dest,
              ls_komv_print_src    LIKE LINE OF lt_komv_print_src,
              lt_cond_chg          TYPE prct_cond_print_t,
              lt_cond_chg_insert   TYPE prct_cond_print_t,
              ls_cond_chg          TYPE prct_cond_print,
              ls_cond_chg_tmp      TYPE prct_cond_print,
              ls_input_fields      TYPE crmt_input_field,
              lt_input_fields      TYPE crmt_input_field_tab.
      DATA : bal_log         TYPE balloghndl,
             lt_item_ret     TYPE prct_item_ret_t,
             lt_cond_ret     TYPE prct_cond_print_t,
             ld_data_changed TYPE xfeld,
             gv_decimal      TYPE usdefaults-dcpfm,
             ld_lines        TYPE i,
             ld_ajout_cond   TYPE abap_bool.
      FIELD-SYMBOLS : <fs_orderadm_i_dest>  TYPE crmt_orderadm_i_wrk,
    <fs_orderadm_i_src>   TYPE crmt_orderadm_i_wrk,
                      <fs_cond_chg>         TYPE prct_cond_print,
    <fs_cond_chg_insert>  TYPE prct_cond_print.
    * Début Ajout CD1K904313-001.
      DATA: ld_guid_src  TYPE crmt_object_guid.
      FIELD-SYMBOLS: <fs_doc_flow>  TYPE crmt_doc_flow_wrk.
    * Début Ajout CD1K904313-001.
    * Verrouillage des documents source et destinataire
      PERFORM f_lock_document USING pd_guid_src.
      PERFORM f_lock_document USING pd_guid_dest.
    *Récupérer le pricing handle des documents
    * Document source
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
    iv_header_guid             = pd_guid_src
        IMPORTING
    ev_pd_handle               = ld_pd_handle_src
        EXCEPTIONS
    error_occurred             = 1
    handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    * Document destinataire
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
          iv_header_guid             = pd_guid_dest
        IMPORTING
          ev_pd_handle               = ld_pd_handle_dest
        EXCEPTIONS
          error_occurred             = 1
          handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    * A ne pas traiter les postes de type ZPDF
      DELETE  gt_orderadm_i WHERE itm_type = 'ZPDF'.
      LOOP AT gt_orderadm_i ASSIGNING <fs_orderadm_i_dest> WHERE header = pd_guid_dest.
        REFRESH : lt_komv_print_src,
                  lt_komv_print_dest,
    lt_cond_chg,
    lt_cond_chg_insert.
    * Début Modif CD1K904313-001.
    * Récupérer le guid de l'item liée au item destinataire.
        READ TABLE gt_doc_flow ASSIGNING <fs_doc_flow> WITH KEY objkey_b = <fs_orderadm_i_dest>-guid.
        CHECK sy-subrc EQ 0.
        ld_guid_src = <fs_doc_flow>-objkey_a.
    *    READ TABLE gt_orderadm_i ASSIGNING <fs_orderadm_i_src> WITH KEY header = pd_guid_src
    * number_int = <fs_orderadm_i_dest>-number_int.
    * Fin Modif CD1K904313-001.
    * Récupérer les pricing document
        IF sy-subrc EQ 0.
    *     Document source
          CALL FUNCTION 'PRC_PD_ITEM_SHOW'
            EXPORTING
              iv_pd_handle        = ld_pd_handle_src
    *         iv_item_no          = <fs_orderadm_i_src>-guid    "Supression CD1K904313-001
              iv_item_no          = ld_guid_src                 "Addition CD1K904313-001
            IMPORTING
              et_komv_print       = lt_komv_print_src
            EXCEPTIONS
              non_existing_handle = 1
              non_existing_item   = 2
              ipc_error           = 3
              OTHERS              = 4.
        ENDIF.
    *   Document destinataire
        CALL FUNCTION 'PRC_PD_ITEM_SHOW'
          EXPORTING
            iv_pd_handle        = ld_pd_handle_dest
            iv_item_no          = <fs_orderadm_i_dest>-guid
          IMPORTING
    et_komv_print       = lt_komv_print_dest
          EXCEPTIONS
            non_existing_handle = 1
            non_existing_item   = 2
            ipc_error           = 3
            OTHERS              = 4.
    * Modification et Suppression des conditions de prix
        LOOP AT lt_komv_print_dest INTO ls_komv_print_dest .
          CLEAR: ls_cond_chg,
                 ls_komv_print_src.
          MOVE-CORRESPONDING ls_komv_print_dest TO ls_cond_chg.
    * Rechercher la condition sur le document source
          READ TABLE lt_komv_print_src INTO ls_komv_print_src WITH KEY kschl = ls_komv_print_dest-kschl
    zaehk = ls_komv_print_dest-zaehk. "CD1K904313
          IF sy-subrc EQ 0.
            ls_cond_chg-kbetr_prt = ls_komv_print_src-kbetr_prt.
            ls_cond_chg-kwert     = ls_komv_print_src-kwert.
            ls_cond_chg-kinak     = ls_komv_print_src-kinak.
          ELSEIF ls_cond_chg-kschl IS NOT INITIAL.
            CLEAR ls_cond_chg.
            CONTINUE.
          ENDIF.
    *     Format décimal
          CASE gv_decimal.
            WHEN space.       "format N.NNN,NN
              REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
            WHEN 'Y'.         "format N NNN NNN,NN
              REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
          ENDCASE.
          INSERT ls_cond_chg INTO TABLE lt_cond_chg.
          CLEAR ls_cond_chg.
        ENDLOOP.
    * Ajout des conditions de prix
        LOOP AT lt_komv_print_src INTO ls_komv_print_src WHERE kschl IS NOT INITIAL.
          CLEAR: ls_cond_chg, ld_lines, ls_komv_print_dest, ls_cond_chg_tmp, ld_ajout_cond.
    * Vérifier la présence de la condition sur le document destinataire
          READ TABLE lt_komv_print_dest INTO ls_komv_print_dest WITH KEY kschl = ls_komv_print_src-kschl
    zaehk = ls_komv_print_src-zaehk. "CD1K904313.
          IF sy-subrc EQ 0.
            CLEAR: ls_cond_chg, ls_komv_print_dest.
            CONTINUE.
          ELSE.
            DESCRIBE TABLE lt_cond_chg LINES ld_lines.
            READ TABLE lt_cond_chg INTO ls_cond_chg_tmp INDEX ld_lines.
            IF sy-subrc EQ 0.
              ld_ajout_cond = abap_true.
              MOVE-CORRESPONDING ls_komv_print_src TO ls_cond_chg.
              ls_cond_chg-knumv     = ls_cond_chg_tmp-knumv.
              ls_cond_chg-kposn     = ls_cond_chg_tmp-kposn.
              ls_cond_chg-stunr     = ls_cond_chg_tmp-stunr + 10.
            ELSE.
              CLEAR: ls_cond_chg, ld_lines, ls_komv_print_dest, ls_cond_chg_tmp.
              CONTINUE.
            ENDIF.
          ENDIF.
    *     Format décimal
          CASE gv_decimal.
            WHEN space.             "format N.NNN,NN
              REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
            WHEN 'Y'.               "format N NNN NNN,NN
              REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
          ENDCASE.
    * Récupérer les nouvelles conditions qui seront ajouté au document destinataire
          IF ld_ajout_cond EQ abap_true.
            INSERT ls_cond_chg INTO TABLE lt_cond_chg_insert.
          ENDIF.
          INSERT ls_cond_chg INTO TABLE lt_cond_chg.
          CLEAR ls_cond_chg.
        ENDLOOP.
        CALL FUNCTION 'PRC_INT_ITEM_INPUT'
          EXPORTING
            iv_pd_handle        = ld_pd_handle_dest
            iv_item_no          = <fs_orderadm_i_dest>-guid
            it_cond_prt         = lt_cond_chg
            iv_bal_log          = bal_log
            iv_req_ret          = abap_true
            iv_req_cond_prt     = abap_true
          IMPORTING
            et_item_ret         = lt_item_ret
            et_cond_prt         = lt_cond_ret
            ev_data_changed     = ld_data_changed
          EXCEPTIONS
            non_existing_handle = 1
            non_existing_item   = 2
            ipc_error           = 3.
        IF sy-subrc = 0.
    *     En cas d'ajout de nouvelles conditions de prix, appeler le MF PRC_INT_ITEM_INPUT
    *     avec les montants
          IF lt_cond_chg_insert IS NOT INITIAL.
            REFRESH lt_cond_chg[].
            lt_cond_chg[] = lt_cond_ret[].
            LOOP AT lt_cond_chg_insert ASSIGNING <fs_cond_chg_insert>.
              READ TABLE lt_cond_chg ASSIGNING <fs_cond_chg> WITH KEY kschl = <fs_cond_chg_insert>-kschl.
              IF sy-subrc EQ 0.
                <fs_cond_chg>-kwert     = <fs_cond_chg_insert>-kwert.
                <fs_cond_chg>-kbetr_prt = <fs_cond_chg_insert>-kbetr_prt.
              ENDIF.
            ENDLOOP.
            REFRESH lt_cond_ret[].
            CALL FUNCTION 'PRC_INT_ITEM_INPUT'
              EXPORTING
                iv_pd_handle        = ld_pd_handle_dest
                iv_item_no          = <fs_orderadm_i_dest>-guid
                it_cond_prt         = lt_cond_chg
                iv_bal_log          = bal_log
                iv_req_ret          = abap_true
                iv_req_cond_prt     = abap_true
              IMPORTING
                et_item_ret         = lt_item_ret
                et_cond_prt         = lt_cond_ret
                ev_data_changed     = ld_data_changed
              EXCEPTIONS
                non_existing_handle = 1
                non_existing_item   = 2
                ipc_error           = 3.
          ENDIF.
    *   Publish event afin de sauvegarder les conditions de prix
          CALL FUNCTION 'CRM_EVENT_PUBLISH_OW'
            EXPORTING
              iv_obj_name = 'PRIDOC'
              iv_guid_hi  = pd_guid_dest
              iv_kind_hi  = 'A'
              iv_event    = 'SAVE'
            EXCEPTIONS
              OTHERS      = 1.
    *   As no order_maintain will follow implicitly and therefore no
    *   exec times for the events will be set, call CRM_ORDER_MAINTAIN
    *   without any parameters
    *   Then the exec time 'end of document' will be set and with the
    *   group logic also all exec times before
    *   But at least one object is needed in input_fields
    *   --> use PRIDOC
          ls_input_fields-ref_guid   = <fs_orderadm_i_dest>-guid.
          ls_input_fields-ref_kind   = 'B'.
          ls_input_fields-objectname = 'PRIDOC'.
          INSERT ls_input_fields INTO TABLE lt_input_fields.
          CLEAR ls_input_fields.
          CALL FUNCTION 'CRM_ORDER_MAINTAIN'
            CHANGING
              ct_input_fields   = lt_input_fields
            EXCEPTIONS
              error_occurred    = 1
              document_locked   = 2
              no_change_allowed = 3
              no_authority      = 4
              OTHERS            = 5.
        ENDIF.
      ENDLOOP.
    " F_MODIF_CONDITION_PRIX
    *& Form  F_LOCK_DOCUMENT
    * Verrouillage d'un document
    FORM f_lock_document  USING pd_guid TYPE crmt_object_guid.
      CONSTANTS : lc_orderadm_h TYPE  crmt_object_name  VALUE 'ORDERADM_H',
                  lc_orderadm_i TYPE  crmt_object_name  VALUE 'ORDERADM_I'.
      DATA: lv_process_mode      TYPE crmt_mode,
            lv_order_initialized TYPE crmt_boolean,
            lv_process_type      TYPE crmt_process_type,
            lv_already_locked    TYPE abap_bool.
      DATA: ls_admin_ui_status  TYPE crmt_admin_ui_status,
            ls_item_usage_range TYPE crmt_item_usage_range.
      DATA: lt_objects_to_read   TYPE crmt_object_guid_tab,
            lt_requested_objects TYPE crmt_object_name_tab,
            lt_item_usage_range  TYPE crmt_item_usage_range_tab,
            lt_locked_contract   TYPE crmt_object_guid_tab.
      INSERT pd_guid INTO TABLE lt_objects_to_read.
      INSERT lc_orderadm_h INTO TABLE lt_requested_objects.
      INSERT lc_orderadm_i INTO TABLE lt_requested_objects.
      ls_item_usage_range-sign  = 'E'.
      ls_item_usage_range-value = '02'.
      INSERT ls_item_usage_range INTO TABLE lt_item_usage_range.
    * LAM: Financing Options should be viewed in a separate screen:
      ls_item_usage_range-sign  = 'E'.
      ls_item_usage_range-value = '05'.   "Financing options
      INSERT ls_item_usage_range INTO TABLE lt_item_usage_range.
    *-> read document in change mode
      CALL FUNCTION 'CRM_ORDER_READ'
        EXPORTING
          it_header_guid       = lt_objects_to_read
          iv_mode              = 'B'
          it_requested_objects = lt_requested_objects
          it_item_usage_range  = lt_item_usage_range
        EXCEPTIONS
          document_not_found   = 1
          error_occurred       = 2
          document_locked      = 3
          no_change_authority  = 4
          no_display_authority = 5
          OTHERS               = 6.
      PERFORM enqueue_order IN PROGRAM saplcrm_order_ow IF FOUND
        USING pd_guid
              abap_false
              abap_false
              abap_false
    CHANGING sy-subrc
              lv_already_locked
              lt_locked_contract.
    " F_LOCK_DOCUMENT
    * Fin Ajout CD1K904074-001
    FORM f_header_copy_pricing  USING   pd_guid_src
    pd_guid_dest.
      DATA : ld_pd_handle_src     TYPE prct_handle,
              ld_pd_handle_dest    TYPE prct_handle,
              lt_komv_print_src    TYPE prct_cond_print_t,
    lt_komv_print_dest   TYPE prct_cond_print_t,
              ls_komv_print_dest   LIKE LINE OF lt_komv_print_dest,
              ls_komv_print_src    LIKE LINE OF lt_komv_print_src,
              lt_cond_chg          TYPE prct_cond_print_t,
              ls_cond_chg          TYPE prct_cond_print,
              ls_input_fields      TYPE crmt_input_field,
              lt_input_fields      TYPE crmt_input_field_tab.
      DATA : bal_log         TYPE balloghndl,
             lt_cond_ret     TYPE prct_cond_print_t,
             ld_data_changed TYPE xfeld,
             gv_decimal      TYPE usdefaults-dcpfm.
    * Verrouillage des documents source et destinataire
      PERFORM f_lock_document USING pd_guid_src.
      PERFORM f_lock_document USING pd_guid_dest.
    *  Récupérer le pricing handle des documents
    * Document source
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
          iv_header_guid             = pd_guid_src
        IMPORTING
          ev_pd_handle               = ld_pd_handle_src
        EXCEPTIONS
          error_occurred             = 1
          handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    * Document destinataire
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
          iv_header_guid             = pd_guid_dest
        IMPORTING
          ev_pd_handle               = ld_pd_handle_dest
        EXCEPTIONS
          error_occurred             = 1
          handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    *  * Récupérer les pricing document
    *  Document Source
      CALL FUNCTION 'PRC_PD_HEAD_SHOW'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_src
        IMPORTING
          et_komv_print       = lt_komv_print_src
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          OTHERS              = 3.
      CHECK sy-subrc EQ 0.
    *  Document Destinataire
      CALL FUNCTION 'PRC_PD_HEAD_SHOW'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_dest
        IMPORTING
    et_komv_print       = lt_komv_print_dest
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          OTHERS              = 3.
      CHECK sy-subrc EQ 0.
    *  * Modification et Suppression des conditions de prix
      LOOP AT lt_komv_print_src INTO ls_komv_print_src .
        CLEAR: ls_cond_chg,
               ls_komv_print_dest.
        MOVE-CORRESPONDING ls_komv_print_src TO ls_cond_chg.
    * Rechercher la condition sur le document source
        READ TABLE lt_komv_print_dest INTO ls_komv_print_dest WITH KEY kschl = ls_komv_print_src-kschl
    zaehk = ls_komv_print_src-zaehk.
        IF sy-subrc EQ 0.
          IF ls_komv_print_src-kbetr NE ls_komv_print_dest-kbetr.
            ls_cond_chg-kbetr_prt = ls_komv_print_src-kbetr_prt.
            ls_cond_chg-kwert     = ls_komv_print_src-kwert.
            ls_cond_chg-kinak     = ls_komv_print_src-kinak.
            CASE gv_decimal.
              WHEN space.       "format N.NNN,NN
                REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
              WHEN 'Y'.         "format N NNN NNN,NN
                REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
            ENDCASE.
          ENDIF.
        ENDIF.
        CLEAR ls_cond_chg-krech.
        INSERT ls_cond_chg INTO TABLE lt_cond_chg.
        CLEAR ls_cond_chg.
      ENDLOOP.
      CALL FUNCTION 'PRC_INT_HEAD_INPUT'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_dest
          iv_bal_log          = bal_log
          it_cond_prt         = lt_cond_chg
          iv_req_ret          = abap_true
          iv_req_cond_prt     = abap_true
        IMPORTING
          et_cond_prt         = lt_cond_ret
          ev_data_changed     = ld_data_changed
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          not_allowed         = 3
          OTHERS              = 4.
      CHECK sy-subrc EQ 0.
    *    *   Publish event afin de sauvegarder les conditions de prix
      CALL FUNCTION 'CRM_EVENT_PUBLISH_OW'
        EXPORTING
          iv_obj_name = 'PRIDOC'
          iv_guid_hi  = pd_guid_dest
          iv_kind_hi  = 'A'
          iv_event    = 'SAVE'
        EXCEPTIONS
          OTHERS      = 1.
    *   As no order_maintain will follow implicitly and therefore no
    *   exec times for the events will be set, call CRM_ORDER_MAINTAIN
    *   without any parameters
    *   Then the exec time 'end of document' will be set and with the
    *   group logic also all exec times before
    *   But at least one object is needed in input_fields
    *   --> use PRIDOC
      ls_input_fields-ref_guid   = pd_guid_dest.
      ls_input_fields-ref_kind   = 'A'.
      ls_input_fields-objectname = 'PRIDOC'.
      INSERT ls_input_fields INTO TABLE lt_input_fields.
      CLEAR ls_input_fields.
      CALL FUNCTION 'CRM_ORDER_MAINTAIN'
        CHANGING
          ct_input_fields   = lt_input_fields
        EXCEPTIONS
          error_occurred    = 1
          document_locked   = 2
          no_change_allowed = 3
          no_authority      = 4
          OTHERS            = 5.
    ENDFORM.
    FORM f_header_copy_pricing  USING   pd_guid_src
    pd_guid_dest.
      DATA : ld_pd_handle_src     TYPE prct_handle,
              ld_pd_handle_dest    TYPE prct_handle,
              lt_komv_print_src    TYPE prct_cond_print_t,
    lt_komv_print_dest   TYPE prct_cond_print_t,
              ls_komv_print_dest   LIKE LINE OF lt_komv_print_dest,
              ls_komv_print_src    LIKE LINE OF lt_komv_print_src,
              lt_cond_chg          TYPE prct_cond_print_t,
              ls_cond_chg          TYPE prct_cond_print,
              ls_input_fields      TYPE crmt_input_field,
              lt_input_fields      TYPE crmt_input_field_tab.
      DATA : bal_log         TYPE balloghndl,
             lt_cond_ret     TYPE prct_cond_print_t,
             ld_data_changed TYPE xfeld,
             gv_decimal      TYPE usdefaults-dcpfm.
      PERFORM f_lock_document USING pd_guid_src.
      PERFORM f_lock_document USING pd_guid_dest.
    *  Récupérer le pricing handle des documents
    * Document source
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
          iv_header_guid             = pd_guid_src
        IMPORTING
          ev_pd_handle               = ld_pd_handle_src
        EXCEPTIONS
          error_occurred             = 1
          handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    * Document destinataire
      CALL FUNCTION 'CRM_PRIDOC_GET_HANDLE_OW'
        EXPORTING
          iv_header_guid             = pd_guid_dest
        IMPORTING
          ev_pd_handle               = ld_pd_handle_dest
        EXCEPTIONS
          error_occurred             = 1
          handle_determination_error = 2
          orgdata_error              = 3
          OTHERS                     = 4.
      IF sy-subrc <> 0.
        RETURN.
      ENDIF.
    *  * Récupérer les pricing document
    *  Document Source
      CALL FUNCTION 'PRC_PD_HEAD_SHOW'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_src
        IMPORTING
          et_komv_print       = lt_komv_print_src
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          OTHERS              = 3.
      CHECK sy-subrc EQ 0.
    *  Document Destinataire
      CALL FUNCTION 'PRC_PD_HEAD_SHOW'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_dest
        IMPORTING
    et_komv_print       = lt_komv_print_dest
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          OTHERS              = 3.
      CHECK sy-subrc EQ 0.
    *  * Modification et Suppression des conditions de prix
      LOOP AT lt_komv_print_src INTO ls_komv_print_src .
        CLEAR: ls_cond_chg,
               ls_komv_print_dest.
        MOVE-CORRESPONDING ls_komv_print_src TO ls_cond_chg.
    * Rechercher la condition sur le document source
        READ TABLE lt_komv_print_dest INTO ls_komv_print_dest WITH KEY kschl = ls_komv_print_src-kschl
    zaehk = ls_komv_print_src-zaehk.
        IF sy-subrc EQ 0.
          IF ls_komv_print_src-kbetr NE ls_komv_print_dest-kbetr.
            ls_cond_chg-kbetr_prt = ls_komv_print_src-kbetr_prt.
            ls_cond_chg-kwert     = ls_komv_print_src-kwert.
            ls_cond_chg-kinak     = ls_komv_print_src-kinak.
            CASE gv_decimal.
              WHEN space.       "format N.NNN,NN
                REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
              WHEN 'Y'.         "format N NNN NNN,NN
                REPLACE ALL OCCURRENCES OF '.' IN ls_cond_chg-kbetr_prt WITH ','.
            ENDCASE.
          ENDIF.
        ENDIF.
        CLEAR ls_cond_chg-krech.
        INSERT ls_cond_chg INTO TABLE lt_cond_chg.
        CLEAR ls_cond_chg.
      ENDLOOP.
      CALL FUNCTION 'PRC_INT_HEAD_INPUT'
        EXPORTING
          iv_pd_handle        = ld_pd_handle_dest
          iv_bal_log          = bal_log
          it_cond_prt         = lt_cond_chg
          iv_req_ret          = abap_true
          iv_req_cond_prt     = abap_true
        IMPORTING
          et_cond_prt         = lt_cond_ret
          ev_data_changed     = ld_data_changed
        EXCEPTIONS
          non_existing_handle = 1
          ipc_error           = 2
          not_allowed         = 3
          OTHERS              = 4.
      CHECK sy-subrc EQ 0.
      CALL FUNCTION 'CRM_EVENT_PUBLISH_OW'
        EXPORTING
          iv_obj_name = 'PRIDOC'
          iv_guid_hi  = pd_guid_dest
          iv_kind_hi  = 'A'
          iv_event    = 'SAVE'
        EXCEPTIONS
          OTHERS      = 1.
      ls_input_fields-ref_guid   = pd_guid_dest.
      ls_input_fields-ref_kind   = 'A'.
      ls_input_fields-objectname = 'PRIDOC'.
      INSERT ls_input_fields INTO TABLE lt_input_fields.
      CLEAR ls_input_fields.
      CALL FUNCTION 'CRM_ORDER_MAINTAIN'
        CHANGING
          ct_input_fields   = lt_input_fields
        EXCEPTIONS
          error_occurred    = 1
          document_locked   = 2
          no_change_allowed = 3
          no_authority      = 4
          OTHERS            = 5.

  • How to activate Approval in Sales Order for the UDF with condition

    Dear Expert,
                       I have created the UDF field Rebate(type amount) in Sales Order.I want to activate the approval procedure for this UDF with condition where Rebate is greater then Zero.I had applied the query and Activate it in approval procedure.--
    SELECT (Case When IsNull(count(T0.[DocEntry]),0) <>0 Then 'True' Else 'False' End) AS TF            
    FROM Ordr T0   where DocType='I' AND t0.U_rebate >0 and convert(Varchar(20),T0.[CreateDate],103) =(select convert(Varchar(20),Getdate(),103))
    But I found that the approval procedure activate every time inspite the Rebate field is Zero.
    Plaese suggest some soloution for it.
    regards,
    PankajK

    Hi Pankaj......
    Try this.......
    Select Distinct 'True' From ORDR T0 Where T0.U_Rebate>0 and T0.DocType='I' And T0.DocNum=$[ORDR.DocNum.0]
    Hope this will help you.......
    Regards,
    Rahul

  • Problem with variable offset for 0CALMONTH

    Hello Community,
    I have a problem with using variables offset for time characteristic 0CALMONTH
    Let's say my current query looks like this:
    ...................01.2006..........02.2006..........03.2006   (0CALMONTH)
    Sales ..............100..................125................200   (Keyfigure)
    What I want do now is to add a previous year comparison. So that it should look this way:
    ...................01.2006..........02.2006..........03.2006   (0CALMONTH)
    Sales ..............100..................125................200   (selected months)
    LY_Sales...........50..................100................100   (selected months - 12)
    (LY_Sales should show figures of 01.2005, 02.2005 and 03.2006 in this example)
    I used new selection for LY_Sales with variable offset for 0CALMONTH -12 but that didn't work. Figures in second line are zero. The desired figures would show up (if I expand the selected time intervall wide enough) in 01.2005, 02.2005 and 03.2005 but that's of course not what I want.
    Please help if you can!
    Regards,
    Ulrich

    Hi,
    We can get an an other way by using CELL editor caoncept.
    First create teh query like this:
    ...................01.2006..........02.2006........12.2006.....01.2005...02.20005...12.2005  Sales ..............100................125..............200.............50...........100.........100 
    Sales ..............100................125..............200.............50...........100.........100
    Then hide the 2005 years' kf:
    ...................01.2006..........02.2006........12.2006
      Sales ..............100................125..............200 
    Sales ..............100................125..............200
    Though the call editor concept overwrite the second rows(selection) content with hidden columns of second row(selection) one by one .i.e first cell of 2nd row will be overwritten by 13 th cell of second column.similarly second cell of 2nd row will be overwritten by 14 th cell of second column........
    First row(selection) : Cal year Charactertic with restriction 2006.
    second row(selection) : Cal year Charactertic with restriction 2005.
    With rgds,
    Anil Kumar Sharma .P

  • Table to display change logs for transaction VK13 with certain condition.

    Hi ,
    Please let me know if there is any table from which we can get the change log details of condition records with transaction VK13
    This is required to get information on old value and new updated value for the condition.
    Thanks
    Ravi Naik

    Hi,
    Use the program RV16ACHD (You can run this in SE38)
    View the code from there for more understanding.
    Tables are
    KONH, KONP and CDHDR
    In the CDHDR table you can view condition record changes under, Change doc. object = COND_A
    Anotehr option is to use the function module SD_CONDITION_CHANGE_DOCS_LOAD which is called in the program RV16ACHD and pass the correct parameters.
    Best regards,
    Anupa

  • 'Genius' related question for anyone with over 1.2TB of music?

    Anyone out there with a iTunes library with over 1.2TB of music?
    Reason I ask, is that I've not been able to solve a problem in updating Genuis - I'm getting the error - 'Genius results can't be updated right now. There is not enough memory available ~ Please try again later.' or the 'unknown 4002 error'.  The steps I've taken to try and correct sometime back can be found in https://discussions.apple.com/message/12584815#12584815 and also shown here in sequence below. 
    I keep thinking this will be fixed with the next version iTunes but so far with the latest, things still the same.  So looking to see if anyone with a similar size library is having similar problems and it just a limitation of the program or it's something specific on my end that I can fix.
    Appreciate...
    Up to this weekend I've had not issues with Genius. Worked beautifully and updated last Sunday as I have been doing every week since Apple added Genius. Yesterday I added a few albums and went to update and now getting the error of 'Genius results can't be updated right now. There is not enough memory available ~ Please try again later.' Now my library is well over >200,000 songs and only added 6 albums this time. Music sits on a external 2TB drive ~100GB free and my MacBook Pro has over 60GB open. Running latest Mac OSX and latest iTunes. Nothing new installed or changed since last Genius update.
    To the points raised in this thread.
    1. I've been updated weekly with a Library with over 200K songs till now with no problem. Majority is what I've ripped from my albums & CDs.
    2. Deleted the albums recently added since last successful update - same result.
    3. Connected directly to the network bypassing router as suggested here - same result.
    4. Reinstalled iTunes program - same result.
    5. Repaired permissions - same result.
    Problem remains. Welcome any additional thoughts.
    Question for anyone with a music library
    https://discussions.apple.com/message/12584815#12584815
    Ok, tried all the suggestions here yet the problem remains.
    In addition what I posted above -
    1) Dumped the cookies in user/library/cookies folder
    2) Deleted the apple cookies found under Safari Preferences "Show Cookies"
    3) Repaired disk permissions
    4) Deleted iTunes Library Genius.itdb file
    5) Reinstalled iTunes (with the new 10.1 version)
    6) Restarted computer
    7) Rebuilt iTunes Library folder http://support.apple.com/kb/ht1451
    8) Deleted all iTunes dead tracks
    http://dougscripts.com/itunes/scripts/ss.php?sp=removedeadsuper
    9) Increased internet access speed
    10) Removed all open "[" and '}' brackets from songs, albums & artists
    10) Rebuilt my entire library from scratch!
    Is there anyone out there with over 200K songs that can update their Genius? One thing I noted is the genuis.itdb file is just over 2GB. I'm wondering if there is a maximum size on this based on the error I'm getting. Any thought or know info on this?
    Ok, think I may have found something here with this. I backed out all the music added prior to this problem occurring and ran the Genius update. All worked fine. I then started adding the music back little by little (running the update each time) until the problem returned. When the problem came back I ruled out the specific music added by backing that bit out, verified all was ok and added a different batch back in.
    Bottom-line it appears that when my library exceeds exactly 1.208TB the problem appears. Interestingly enough it does not appear to be related to the number of songs, the size of the genius.itdb file (in fact when it was working the file was at 2.25GB - larger than what I reported before). It specifically seems to be related to the size of the overall library - when I have it for example at 1.2079 all is ok, 1.2081 it fails with this error.
    I did try moving the library and related files to the external drive but same result. abavetta, I think your suggestion of this script may be a workaround for now - although from what I read, is this not the same that you can do anyway with iTunes by holding the alt/option key open start up? In fact I do have two libraries now - one with the 2TB drive which I use at home and another for 2x500GB disks I carry with me when i travel. I just reported the same back to Apple but doubt if any immediate solution will come for this. Too bad as one of the great things about having such a large library is the mixes you can generate via Genius. Anyway, such is life and will just live with this for now. I also just found this program called Tangerine! http://www.potionfactory.com/tangerine/ which creates playlists like Genius - although through a different technique I might also take a look at.

    Just to let all know that may be having a similar problem, what I found by accident to fix this problem.
    Reset all my Home Folder permissions using the resetpassword method from the startup utility in Lion.  Then turned off/on to reset Genius and cleaned out the cache folder for good measure.  Finally after more than a year without, have Genius up and running again.

Maybe you are looking for

  • HT203167 I have 2 iTunes accounts.   How do I combine in the same library?

    I have 2 iTunes accounts.   How do I combine both into one library?

  • Automatic Import Index Entries and Add All References?

    I have figured out how to import a list of index entries to automically generate an index. Problem is, it doesn't allow me to choose the Add All feature to search the entire document for those terms. What am I missing?

  • Theft of phone and skype account still being used!...

    Hi. My wifes phone was stolen on th 19th of April during a camping trip. We reported the theft to the police. I have gone onto skype today, and the account is still being used. My wife said the only two places skype is installed is on her stolen phon

  • Sometimes Business Rules disappear

    Hi. I have a probleme in Planning. I open web browser, connect to application and see my Business Rules, after 10-30 minutes (work with form etc.) they disappear. I log off, then connect to Planning and I see Business Rules again. What is it? Mike.

  • Moving to SSD: Clonezilla?

    I've just bought an SSD. I want to move my current arch install (ext4) there, but I'm not sure if I'll then be able to apply all the necessary SSD tweaks (partition alignment, basically). If anyone's done this, what steps did you take to make it work