Group Items and Change Scale Using CS3 VBScript

How do you select items in a textframe (text and/or graphic and/or rectangle), then group them and then set the group to a horizontal & vertical scale value?
Thanks,
Archie

What would be the best way to do that? As an example I would have 8 textframes threaded together (each frame is a stamp, this script is for reducing the image to print the label that goes on the top of the stamp). Some frames could only be text, some only a graphic, some both, some blank. Below is an example of what have so far. This works if the frame is only text.
Thanks,
Archie
Rem SCALE ITEMS FUNCTION
Rem --------------------
Function myScaleItems (myLabelDocument)
For I = 4 to 11
myLabelDocument.textframes.item(I).locked = False
myLabelDocument.textframes.item(I).HorizontalScale = cInt(myLabelPercent)
myLabelDocument.textframes.item(I).VerticalScale = cInt(myLabelPercent)
Next
End Function

Similar Messages

  • Text find and change problem in CS3 and CS4 script

    I use the script below to find some text and change into others.
    There is one thing the script can't do it for me.
    Example:
    (g) Management
    (1) that no law which is enacted in the Cayman Islands imposing any tax to be levied on profits, income, gains or appreciation shall apply to the Company or its operations; and
    (2) that the aforesaid tax or any tax in the nature of estate duty or inheritance tax shall not be payable on or in respect of the shares, debentures or other obligations of the Company.
    Example:(END)
    I got a lot of topics or points in the passage. And I want to change the space between '(g)' and 'Management' into a tab character. So I revised the plain text file 1text.
    PS: 1text.txt is filled with what to change.
    text {findWhat:"^p(^?) "} {changeTo:"^p(^?)^t"} {includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false} Find all space-dash-space and replace with an en dash.
    The result is:
    (^?)^tManagement
    (^?)^tthat no law which is enacted in the Cayman Islands imposing any tax to be levied on profits, income, gains or appreciation shall apply to the Company or its operations; and
    (^?)^tthat the aforesaid tax or any tax in the nature of estate duty or inheritance tax shall not be payable on or in respect of the shares, debentures or other obligations of the Company.
    PS: ^t is a tab character.
    result (END)
    This is not what I want.
    It should be '(g)^tManagement'.
    PS: ^t is a tab character.
    Please someboady help me out to revised the script below to change the text into what I want. Thanks so much.
    Here is the script.
    //FindChangeByList.jsx
    //An InDesign CS4 JavaScript
    @@@BUILDINFO@@@ "FindChangeByList.jsx" 2.0.0.0 10-January-2008
    //Loads a series of tab-delimited strings from a text file, then performs a series
    //of find/change operations based on the strings read from the file.
    //The data file is tab-delimited, with carriage returns separating records.
    //The format of each record in the file is:
    //findType<tab>findProperties<tab>changeProperties<tab>findChangeOptions<tab>description
    //Where:
    //<tab> is a tab character
    //findType is "text", "grep", or "glyph" (this sets the type of find/change operation to use).
    //findProperties is a properties record (as text) of the find preferences.
    //changeProperties is a properties record (as text) of the change preferences.
    //findChangeOptions is a properties record (as text) of the find/change options.
    //description is a description of the find/change operation
    //Very simple example:
    //text {findWhat:"--"} {changeTo:"^_"} {includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false} Find all double dashes and replace with an em dash.
    //More complex example:
    //text {findWhat:"^9^9.^9^9"} {appliedCharacterStyle:"price"} {include footnotes:true, include master pages:true, include hidden layers:true, whole word:false} Find $10.00 to $99.99 and apply the character style "price".
    //All InDesign search metacharacters are allowed in the "findWhat" and "changeTo" properties for findTextPreferences and changeTextPreferences.
    //If you enter backslashes in the findWhat property of the findGrepPreferences object, they must be "escaped"
    //as shown in the example below:
    //{findWhat:"\\s+"}
    //For more on InDesign scripting, go to http://www.adobe.com/products/indesign/scripting/index.html
    //or visit the InDesign Scripting User to User forum at http://www.adobeforums.com
    main();
    function main(){
    var myObject;
    //Make certain that user interaction (display of dialogs, etc.) is turned on.
    app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;
    if(app.documents.length > 0){
      if(app.selection.length > 0){
       switch(app.selection[0].constructor.name){
        case "InsertionPoint":
        case "Character":
        case "Word":
        case "TextStyleRange":
        case "Line":
        case "Paragraph":
        case "TextColumn":
        case "Text":
        case "Cell":
        case "Column":
        case "Row":
        case "Table":
         myDisplayDialog();
         break;
        default:
         //Something was selected, but it wasn't a text object, so search the document.
         myFindChangeByList(app.documents.item(0));
      else{
       //Nothing was selected, so simply search the document.
       myFindChangeByList(app.documents.item(0));
    else{
      alert("No documents are open. Please open a document and try again.");
    function myDisplayDialog(){
    var myObject;
    var myDialog = app.dialogs.add({name:"FindChangeByList"});
    with(myDialog.dialogColumns.add()){
      with(dialogRows.add()){
       with(dialogColumns.add()){
        staticTexts.add({staticLabel:"Search Range:"});
       var myRangeButtons = radiobuttonGroups.add();
       with(myRangeButtons){
        radiobuttonControls.add({staticLabel:"Document", checkedState:true});
        radiobuttonControls.add({staticLabel:"Selected Story"});
        if(app.selection[0].contents != ""){
         radiobuttonControls.add({staticLabel:"Selection", checkedState:true});
    var myResult = myDialog.show();
    if(myResult == true){
      switch(myRangeButtons.selectedButton){
       case 0:
        myObject = app.documents.item(0);
        break;
       case 1:
        myObject = app.selection[0].parentStory;
        break;
       case 2:
        myObject = app.selection[0];
        break;
      myDialog.destroy();
      myFindChangeByList(myObject);
    else{
      myDialog.destroy();
    function myFindChangeByList(myObject){
    var myScriptFileName, myFindChangeFile, myFindChangeFileName, myScriptFile, myResult;
    var myFindChangeArray, myFindPreferences, myChangePreferences, myFindLimit, myStory;
    var myStartCharacter, myEndCharacter;
    var myFindChangeFile = myFindFile("/FindChangeSupport/1test.txt")
    if(myFindChangeFile != null){
      myFindChangeFile = File(myFindChangeFile);
      var myResult = myFindChangeFile.open("r", undefined, undefined);
      if(myResult == true){
       //Loop through the find/change operations.
       do{
        myLine = myFindChangeFile.readln();
        //Ignore comment lines and blank lines.
        if((myLine.substring(0,4)=="text")||(myLine.substring(0,4)=="grep")||(myLine.substring(0, 5)=="glyph")){
         myFindChangeArray = myLine.split("\t");
         //The first field in the line is the findType string.
         myFindType = myFindChangeArray[0];
         //The second field in the line is the FindPreferences string.
         myFindPreferences = myFindChangeArray[1];
         //The second field in the line is the ChangePreferences string.
         myChangePreferences = myFindChangeArray[2];
         //The fourth field is the range--used only by text find/change.
         myFindChangeOptions = myFindChangeArray[3];
         switch(myFindType){
          case "text":
           myFindText(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions);
           break;
          case "grep":
           myFindGrep(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions);
           break;
          case "glyph":
           myFindGlyph(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions);
           break;
       } while(myFindChangeFile.eof == false);
       myFindChangeFile.close();
    function myFindText(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
    //Reset the find/change preferences before each search.
    app.changeTextPreferences = NothingEnum.nothing;
    app.findTextPreferences = NothingEnum.nothing;
    var myString = "app.findTextPreferences.properties = "+ myFindPreferences + ";";
    myString += "app.changeTextPreferences.properties = " + myChangePreferences + ";";
    myString += "app.findChangeTextOptions.properties = " + myFindChangeOptions + ";";
    app.doScript(myString, ScriptLanguage.javascript);
    myFoundItems = myObject.changeText();
    //Reset the find/change preferences after each search.
    app.changeTextPreferences = NothingEnum.nothing;
    app.findTextPreferences = NothingEnum.nothing;
    function myFindGrep(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
    //Reset the find/change grep preferences before each search.
    app.changeGrepPreferences = NothingEnum.nothing;
    app.findGrepPreferences = NothingEnum.nothing;
    var myString = "app.findGrepPreferences.properties = "+ myFindPreferences + ";";
    myString += "app.changeGrepPreferences.properties = " + myChangePreferences + ";";
    myString += "app.findChangeGrepOptions.properties = " + myFindChangeOptions + ";";
    app.doScript(myString, ScriptLanguage.javascript);
    var myFoundItems = myObject.changeGrep();
    //Reset the find/change grep preferences after each search.
    app.changeGrepPreferences = NothingEnum.nothing;
    app.findGrepPreferences = NothingEnum.nothing;
    function myFindGlyph(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
    //Reset the find/change glyph preferences before each search.
    app.changeGlyphPreferences = NothingEnum.nothing;
    app.findGlyphPreferences = NothingEnum.nothing;
    var myString = "app.findGlyphPreferences.properties = "+ myFindPreferences + ";";
    myString += "app.changeGlyphPreferences.properties = " + myChangePreferences + ";";
    myString += "app.findChangeGlyphOptions.properties = " + myFindChangeOptions + ";";
    app.doScript(myString, ScriptLanguage.javascript);
    var myFoundItems = myObject.changeGlyph();
    //Reset the find/change glyph preferences after each search.
    app.changeGlyphPreferences = NothingEnum.nothing;
    app.findGlyphPreferences = NothingEnum.nothing;
    function myFindFile(myFilePath){
    var myScriptFile = myGetScriptPath();
    var myScriptFile = File(myScriptFile);
    var myScriptFolder = myScriptFile.path;
    myFilePath = myScriptFolder + myFilePath;
    if(File(myFilePath).exists == false){
      //Display a dialog.
      myFilePath = File.openDialog("Choose the file containing your find/change list");
    return myFilePath;
    function myGetScriptPath(){
    try{
      myFile = app.activeScript;
    catch(myError){
      myFile = myError.fileName;
    return myFile;

    It takes me a lof of time to comprehend the sentence you write. Cause I am a Chinese. My poor English.
    I have to say "you are genius". I used to use the indesign CS2. There is no GREP function in CS2. When I get the new script, I do not know how to use it. Just when I saw the
    'grep {findWhat:"  +"} {changeTo:" "} {includeFootnotes:true, includeMasterPages:true, includeHiddenLayers:true, wholeWord:false} Find all double spaces and replace with single spaces.'
    Being confused.
    Thanks so much. It seems I have to relearn the advanced Indesign.

  • Header, Line Item and Cache Techniques Using Hashed Tables

    Hi,
    How can I work with header, line item, and a cache techniques using hashed tables?
    Thanks,
    Shah.

    Hi,
    Here is an example to clarify the ideas:
    In general, every time you have a header-> lines structure you have a unique key for the lines that has at least header key plus one or more fields. I'll make use of this fact.
    I'll try to put an example of how to work with header -> line items and a cache technique using hashed tables.
    Just suppose that you need a list of all the material movements '101'-'901' for a certain range of dates in mkpf-budat. We'll extract these fields:
    mkpf-budat
    mkpf-mblnr,
    mseg-lifnr,
    lfa1-name1,
    mkpf-xblnr,
    mseg-zeile
    mseg-charg,
    mseg-matnr,
    makt-maktx,
    mseg-erfmg,
    mseg-erfme.
    I'll use two cache: one for maintaining lfa1 related data and the other to maintain makt related data. Also I'll only describe the data gathering part. The showing of the data is left to your own imagination.
    The main ideas are:
    1. As this is an example I won't use inner join. If properly desingned may be faster .
    2. I'll use four hashed tables: ht_mkpf, ht_mseg, ht_lfa1 and ht_makt to get data into memory. Then I'll collect all the data I want to list into a fifth table ht_lst.
    3. ht_mkpf should have (at least) mkpf's primary key fields : mjahr, mblnr.
    4. ht_mseg should have (at least) mseg primary key fields: mjahr mblnr and zeile.
    5. ht_lfa1 should have an unique key by lifnr.
    6. ht_makt should have an unique key by matnr.
    7. I prefer using with header line because makes the code easier to follow and understand. The waste of time isn't quite significant (in my experience at least).
    Note: When I've needed to work from header to item lines then I added a counter in ht_header that maintains the count of item lines, and I added an id in the ht_lines so I can read straight by key a given item line. But this is very tricky to implement and to follow. (Nevertheless I've programmed it and it works well.)
    The data will be read in this sequence:
    select data from mkpf into table ht_mkpf
    select data from mseg int table ht_mseg having in count all the data in ht_mkpf
    loop at ht_mseg (lines)
    filter unwanted records
    read cache for lfa1 and makt
    fill in ht_lst and collect data
    endloop.
    tables
    tables: mkpf, mseg, lfa1, makt.
    internal tables:
    data: begin of wa_mkpf, "header
    mblnr like mkpf-mblnr,
    mjahr like mkpf-mjahr,
    budat like mkpf-budat,
    xblnr like mkpf-xblnr,
    end of wa_mkpf.
    data ht_mkpf like hashed table of wa_mkpf
    with unique key mblnr mjahr
    with header line.
    data: begin of wa_mseg, " line items
    mblnr like mseg-mblnr,
    mjahr like mseg-mjahr,
    zeile like mseg-zeile,
    bwart like mseg-bwart,
    charg like mseg-charg,
    matnr like mseg-matnr,
    lifnr like mseg-lifnr,
    erfmg like mseg-erfmg,
    erfme like mseg-erfme,
    end of wa_mseg,
    data ht_mseg like hashed table of wa_mseg
    with unique key mblnr mjahr zeile
    with header line.
    data: begin of wa_lfa1,
    lifnr like lfa1-lifnr,
    name1 like lfa1-name1,
    end of wa_lfa1,
    data ht_lfa1 like hashed table of wa_lfa1
    with unique key lifnr
    with header line.
    data: begin of wa_makt,
    matnr like makt-matnr,
    maktx like makt-maktx,
    end of wa_makt.
    data: ht_makt like hashed table of wa_makt
    with unique key matnr
    with header line.
    result table
    data: begin of wa_lst, "
    budat like mkpf-budat,
    mblnr like mseg-mblnr,
    lifnr like mseg-lifnr,
    name1 like lfa1-name1,
    xblnr like mkpf-xblnr,
    zeile like mseg-zeile,
    charg like mseg-charg,
    matnr like mseg-matnr,
    maktx like makt-maktx,
    erfmg like mseg-erfmg,
    erfme like mseg-erfme,
    mjahr like mseg-mjahr,
    end of wa_mseg,
    data: ht_lst like hashed table of wa_lst
    with unique key mblnr mjahr zeile
    with header line.
    data: g_lines type i.
    select-options: so_budat for mkpf-budat default sy-datum.
    select-options: so_matnr for mseg-matnr.
    form get_data.
    select mblnr mjahr budat xblnr
    into table ht_mkfp
    from mkpf
    where budat in so_budat.
    describe table ht_mkpf lines g_lines.
    if lines > 0.
    select mblnr mjahr zeile bwart charg
    matnr lifnr erfmg erfme
    into table ht_mseg
    from mseg
    for all entries in ht_mkpf
    where mblnr = ht_mkpf-mblnr
    and mjahr = ht_mjahr.
    endif.
    loop at ht_mseg.
    filter unwanted data
    check ht_mseg-bwart = '101' or ht_mseg-bwart = '901'.
    check ht_mseg-matnr in so_matnr.
    read header line.
    read table ht_mkpf with table key mblnr = ht_mseg-mblnr
    mjahr = ht_mseg-mjahr.
    clear ht_lst.
    note : this may be faster if you specify field by field.
    move-corresponding ht_mkpf to ht_lst.
    move-corresponding ht_mseg to ht_lst.
    perform read_lfa1 using ht_mseg-lifnr changing ht_lst-name1.
    perform read_makt using ht_mseg-matnr changing ht_lst-maktx.
    insert table ht_lst.
    endloop.
    implementation of cache for lfa1.
    form read_lfa1 using p_lifnr changing p_name1.
    read table ht_lfa1 with table key lifnr = p_lifnr
    transporting name1.
    if sy-subrc <> 0.
    clear ht_lfa1.
    ht_lfa1-lifnr = p_lifnr.
    select single name1
    into ht_lfa1-name1
    from lfa1
    where lifnr = p_lifnr.
    if sy-subrc <> 0. ht_lfa1-name1 = 'n/a in lfa1'. endif.
    insert table ht_lfa1.
    endif.
    p_name1 = ht_lfa1-name1.
    endform.
    implementation of cache for makt
    form read_makt using p_matnr changing p_maktx.
    read table ht_makt with table key matnr = p_matnr
    transporting maktx.
    if sy-subrc <> 0.
    ht_makt-matnr = p_matnr.
    select single maktx into ht_matk-maktx
    from makt
    where spras = sy-langu
    and matnr = p_matnr.
    if sy-subrc <> 0. ht_makt-maktx = 'n/a in makt'. endif.
    insert table ht_makt.
    endif.
    p_maktx = ht_makt-maktx.
    endform.
    Reward points if found helpfull...
    Cheers,
    Siva.

  • ECH - ECM -- Change leaders and change packages using alternative dates

    Our company is an engineer to order business.  The Engineering Managers would like to be able to see all the work/changes to objects that occurred for a customer project.  So, the use of a change leader and change packages seems to make sense to allow the managers to see all the objects related to a project, but at the same time allow various sub-assemblies be released at different dates. 
    I was planning to set the change leader with the date of the final erection of the piece of equipment and then use the change packages with alternative dates to release the drawings and sub-assemblies as needed to ensure the appropriate delivery time. 
    However, even though I can use alternative dates in the change package, I don't get a pop-up window when assigning the change package to the document or BOM for selecting the appropriate date for the object. 
    Is there a setting I need to enable for this to work? 
    Thanks!
    -J

    I didnt understand what your requirement exactly is....
    but if you are trying to shift all BOM data from 4.6 C to some higher version of SAP , to my knowledge ...
    SAP does not support upward compatibility......

  • Javascript, IllustratorCS3, select items and change layers

    Hi
    I am trying to select an object defined with fill color Cyan and move that object to another layer. Is there any way to do this with JavaScript? Could you please help.
    PS: I want script to select that object, not the user.
    Thanks
    Sel KAHRAMAN

    Thanks for your reply Yann,
    I already know how to change the texts, the problem is that the texts I would like to change:
    To select old purchase orders or templates, choose
    Then select items and add them to the shopping cart 
    Are not in the list of attributes/texts...
    Where can this text be located?
    I find it hard to believe that it is hardcoded...

  • User-exit that triggers everytime I change a line item and change condition

    Hello Experts,
    We are encountering an error wherein when we create a return order with reference
    to an invoice and we create multiple line items with the same material, the succeeding
    line items points to the wrong conditions in the reference invoice. Below is an example:
    Original Sales Invoice 3010002390
    Line Item No.     SKU          Quantity     Total Rebate Discount          Per Unit Rebate Discount
    10          100315          10               128.07                    12.81
    20          106666          10               128.07                    12.81
    30          100338          10               243.86                    24.39
    Return Order 1120000402  (repeatedly created with reference to the same sales invoice number)
    20          106666          1               12.81                    12.81
    30          106666          1               24.39                    24.39
    For Return Order line 30, it should have picked the price 12.81 instead it picked 24.39,
    which is the same line item with the original sales invoice.
    I am using user-exit 'USEREXIT_NEW_PRICING_VBAP' and it triggers everytime I change the quantity of a line item.
    But I tried to change the values in XKOMV and put 'U' in UPDKZ but it doesnt reflect when I view it.
    Hope you can help me guys. Thank you and take care!

    Thanks anyways...

  • Error message when trying to play music on computer states The song ... could not be used because the original file could not be found.  However, my library shows how many items and the GBs used.  How do I locate the files?

    When I try to play my iTunes music on my computer, an error message comes up and state "The song (title of song) could not be used because the original file could not be found.  Would you like to locate it?
    When I click on Locate It, I cannot find where the music file may be located.  Does anyone have any suggestions?
    This all occurred when I attempted to do a backup to an external hard drive.  Unbeknownest to me, the files did not copy over and do not appear on the external hard drive. 
    When I open my iTunes library, at the bottom of my music list it shows how many songs and the GBs, so it appears that the files are still there; however, cannot be located.
    Thank you.

    Hi angela dfromtx,
    When tracks in iTunes display a it means the file cannot be located; it may have been moved or deleted. You'll have to locate the file manually if it is still available. For more information refer to the following article:
    iTunes: Finding lost media and downloads
    http://support.apple.com/kb/TS1408
    Alternatively, if your media was downloaded from the iTunes Store, you may be able to download it again free of charge:
    Downloading past purchases from the App Store, iBookstore, and iTunes Store
    http://support.apple.com/kb/HT2519
    Thanks,
    Matt M.

  • Is there a way to update Alternative Items and reverse link using the DTW?

    I have approximately 8,000 items that need to be tied with alternate items.  I am curious if there is a way using the DTW as opposed to manually input?
    Thanks,
    Matt

    Have you tried oAlternateCatNum template?  It is the only one close to your requirement but may not be the right one.  If it doesn't work, then it will be none due to no DI exposure.
    Thanks,
    Gordon

  • How to realte Sales doc. No, Item and the change history

    Hi,
         I am developing report to display Sales docs that are blocked for delivery at least once.
    I am trying to relate Sales Doc.No VBELN with Objectid field in CDHDR table. But I can't relate at item No. level. Is there any way I can relate Sales Doc. No, Item and Change History data in CDHDR table.
    ThanQ for ur time.
    Cheers,
    Senthil

    First of all to understand the various objects which are required to be recorded for change pointer documents generation.
    As and Example ,take SKA1/SKB1 tables which are designed to hold the GL Master information and key field is SAKNR. When the correspoding dataelemetn is clicked, a new window is openend which has a Check box duly checked at the bottom left corner. If this check box is enabled, System keeps an eys over these objects and generates the Change Document as and when this data changes in SAP repository.
    This enabled for Master data (GL,VENDOR, CUSTOMER etc.,) and Transaction data(PO,FI DOC, SD etc.,).
    Now, for a system to generate the document and have an entry into repository, the corresponding MESSAGE type should be enabled for changes recording locally apart from global enabling of changes recording.
    As far as Proecss is concerned, for MM,SD,FICO  etc modules the change document tables are CDHDR adn CDPOS HR module the tables are PCDHDR and PCDPOS.
    First move to CDHDR and supply the Object (like KNKK for customers data whose credit limit data has been changed) , CHANge indicator (U/D etc.,)and collect the change number
    and pass this change number to CDPOS and get the table, field, old value and new value.

  • Group Policy and GroupWise Attachments

    My company uses the "Run only allowed Windows Applications" feature from Group Policy to lock down what can be run on our workstations. We have 2 main policies, a standard (lockdown) policy and an admin (open) policy.
    Ever since a 7.0.2 GroupWise client/server upgrade, under my lockdown policy some of my users have complained that when they click the attachment button in GroupWise it no longer goes to the location of the last attached document, instead it goes to a default location. It might be the D drive, the GroupWise directory, it changes from computer to computer. I have confirmed that this is the behavior of the lockdown policy, and when I switch to the open policy the attachment button goes to the previous attachment location as is expected.
    I've placed addrbook.exe, grpwise.exe, gwmailto.exe, gwreload.exe, gwsync.exe and notify.exe in my allowed list for executables and can't figure out what I might be missing. In the past I ahve found OCX and DLL files that have had to be specifically added to the policies as well to get certain functions to work, is it possible that this may be the case in my situation or could it be a completely different policy that I should be looking at?
    I'm getting ready to push the 8.0.2 clients to my users and this is something that I'd like to try to resolve before I do that push. Thanks!

    I just tore apart my group policy and found that using the Hide These Specific Drives and hiding the C: drive is what is causing this attachment behavior issue. Any ideas why it is causing this and any possible work arounds other than unhiding the C: drive?

  • Debit/Credit sign settings of item and movement type usage

    Dear BCS Experts,
    According to your experience, where are Debit/Credit sign settings of item and movement type used in BCS? As I know, they can be used during data collection. Any other thoughts?
    Thanks.

    Actually, Barry, I recognised that that was not a doubt regarding BCF. It was (and still is) a doubt about the MoveType sign for that values that are generated automatically during the CoI activities.
    Since the decrease/increase for such activies is defined, there is a question if the sign of these MoveTypes may interfere with the amounts or the side to be placed in (debit or credit).
    Do you have experience in this?

  • Function module to create and change delivery

    Hi,
    I need to create a function module to create and change delivery using the same function module.
    For this I want to call the bapi's BAPI_OUTB_DELIVERY_CREATE_SLS
    and BAPI_OUTB_DELIVERY_CHANGE.
    So what are the variables I need to declare in source code of my function module.
    Can anybody please suggest me.
    thanks,
    Sudheer

    Hi Sudheer,
                      Check this out
    In the BAPI BAPI_OUTB_DELIVERY_CREATE_SLS
    You need to provide
    SHIP_POINT - Goods receiving point for the returned goods.
    DUE_DATE - Delivery creation date selected as december 12
               9999 unless specified.
    DEBUG_FLAG makes analysis of the process earlier .
    call function 'BAPI_OUTB_DELIVERY_CREATE_SLS'
    DESTINATION logsys
    EXPORTING
    SHIP_POINT = 'MD01'
    DUE_DATE = sy-datum
    DEBUG_FLG = 'X'
    importing
    *delivery = lf_vbeln
    *num_deliveries = lf_num
    *tables
    *sales_order_items = lt_order
    *extension_in = lt_extin
    *deliveries = lt_deli
    *created_items = lt_itm
    *extension_out = lt_extout
    *return = lt_return
    For the BAPI_OUTB_DELIVERY_CHANGE.
    Please read the documentation of the function provided there.
    A Wiki To support your need.
    Link: [Wiki|https://wiki.sdn.sap.com/wiki/display/ABAP/Changeoutbounddelivery+%28VL02%29]
    hope your query resolves soon.
    Have a best day ahead.

  • Iterating through List View Items using Group By and Jquery

    In my listview to my document library, I am using grouping. For each group (using month), it lists all the documents pertaining to that particular month.
    Using JQuery, I need to go through each item and parse them, but I'm having trouble finding a usable selector for the for/each function. My parsing code (JQuery) works, but since it uses the class of the table cell with a child anchor, it basically
    finds the first item and then all the subsequent file names are named the same (instead of different names, like it should be).
    Here's my current code that doesn't work (only the iteration and naming separately for each file - the parsing I'm doing seems to work):
    $(".ms-wpContentDivSpace" ).each(function( index ) {
    var val=$(".ms-vb2 a").html();
    var val2=val.replace(/_/g," ");
    $(".ms-vb2 a").html(val2);
    any ideas?

    That's because
    $(".ms-vb2 a").
    is bringing back all the pieces that have that class with an anchor on the whole page, not just the ones in the .ms-wpContentDivSpace
    I don't know the exact syntax, but I think you need to iterate through all the '.ms_vb2 a' items as well - there are multiple ones, and do something like this inside your other grouping
    $(".ms-vb2 a").each(function(index) {
        var val=$(this).html();
       var val2=val.replace(/_/g," ")
       $(this).html(val2);
    That's not quite right but maybe that will help.
    Robin

  • How to resize and change the resolution of a batch of photos using Automator

    I searched for a long time tonight looking for the answer to this (seemingly) simple question:
    How do I use Automator to scale and change the resolution of a batch of images?
    It was not so simple.
    Links to this question:
    https://discussions.apple.com/message/12341246#12341246
    https://discussions.apple.com/message/12342026#12342026
    https://discussions.apple.com/message/5785047#5785047
    https://discussions.apple.com/message/1173358#1173358
    https://discussions.apple.com/message/5641853#5641853
    https://discussions.apple.com/message/3207516#3207516
    These are just the links on this site - I found them all over the place at MacRumors, Apple Tips, Mac Help, etc.
    You can actually manage this in Automator.
    Here are the steps that worked for me:
    Create an Automator APPLICATION - not a workflow (this is due to the way that I'm batch converting images - workflows might be ok for some cases)
    Step 1 is Copy Finder Items
    My flow inserts an SD card, opens the DCIM folder that my Nikon creates, selecting the images that I click (command + click to multi-select) and once I have the photos highlighted, I drag them onto this Automator App we're creating.
    <==  You'll have this guy soon!
    As a result - I want to copy the originals to my computer as step 1.  I don't touch the originals on the SD card (and cards are cheap so I tend to leave them on the cards as well)
    Step 2 is the Scale Images action - you can search the library for this and find it quickly.  For my part, I found that scaling images to about 38.8 percent of their size on the SD card is good for uploading to a blog.  Change this value to whatever you wish.
    Step 3 is Run Shell Script - and here is where we marry the brilliance found at this link with our script.If you have a hard time reading the text in the image, it is as follows:
    #bin/bash
    for f in "$@"
    do
         /usr/bin/sips -s dpiHeight 72.0 -s dpiWidth 72.0 $f
    done
    Save this application (I named mine "Format Photos")
    Place the application inside the target folder where you want the images to end up.  I do this because when I have the SD card window open, I can also open my "Photos" window and see my App sitting there.  I select my images as I mentioned and drag them on top of this app.  The app copies the originals and the conversions into the folder.
    NOTES: When you open a converted pic in Preview, you will see Resolution = 300 dpi if you go to Tools --> Adjust Size...  This reading is explained by another brilliant discussion as sips only touches the JFIF properties inside the file's MetaData.  However, if you look at the bottom of the Adjust Size... window, you'll see the image size is probably around 500 kb (give or take depending on the original).  My goal was to get the images down from the 3.0 MB I shoot at to around 500 kb.  Therefore even though the MetaData still thinks that it is 300 DPI according to Preview, it has been changed to 72 (open it in some other applications mentioned at the links and you'll find different readings - it all depends on what the application reads from the Meta).
    This does not rename the files, so you'll get DSC_1000.jpg and DSC_1000 copy.jpg in all likelihood.  If that annoys you, add a step into the Automator Application that renames the file after the "Run Shell Script" action has run, and you can have each file renamed according to some convention that you like.
    This took a heck of a lot longer than I expected - so I decided to put in the effort to share this with the community and save others the hassle. 

    PPI is pixels per inch of the image.  It is difficult to increase resolution as you are trying to add data that is not there.
    But for printing purposes what you want is dpi or dots per inch.
    The image processor either accessed from Bridge (tools/photoshp) or PS is a good way to change a batch of images.

  • Item Category Change using UserExit/Enhancement

    Hi,
    Require your valuable inputs on the below requirement:
    We have a requirement where we have to determine the Shipping Point, Plant, Storage Location and Item category from a Custom table using header Shipping Conditions.
    As per the SAP standard, Shipping point and default item category are determining in Order. Currently, we will only use NORM as Gen item category group in all the material masters.
    We have maintained the Custom Table with the below fields:
    Sales Document Type
    Sales document item category
    Sales Organization
    Distribution Channel
    Division
    Shipping Conditions
    Shipping Point/Receiving Point
    Plant
    Storage Location
    Based upon the fields we have to determine the above in the Sales Order in Create and Change and further processing.
    We have already use the User Exit: MV45AFZZ, but there is inconsistency in updation of billing etc., Profitability segment, PR Etc.., we also tried with MV45AFZB, this User Exit is not getting triggered from Header level because we want to update the ItCat, ShpCon, Plant,S.Loc & Shpnt from the shipping conditions in custom table.
    Please suggest me in which User Exit/Enhancement  trigger point to determine the above and subsequent process should follow as per the standard process and not to deviate with other tables.
    Looking for your valuable inputs on these. We were totally struck in providing this solution.
    Regards,
    Kumar                            

    Dear MoazzaM,
    Using the Exit: MV45AFZZ, in Routine: USEREXIT_MOVE_FIELD_TO_VBAK, we have triggered our custom code to change the Item Category, Plant, Storage Location and Shipping Point. It is working fine at the Sales Order level.
    But we found these are partially not updated properly
    1) There is a Inconsistency in Creation of the Purchase Requisiton, where for the Individual PO, the    Storage Location remains the old one.
    2) When we create the PO from the
    2) In billing, at the item level, the plant and shipping point is also wrong which is not the source one from sales order and delivery, but the delivery details are correct
    3) In accounting doc also, the plant is wrong.
    Below is the piece of Code:
    IMPORT gv_vsbed FROM MEMORY ID 'VSBED'.
    IF gv_vsbed IS NOT INITIAL.
          SELECT SINGLE * FROM *Custom Table*
                    INTO gs_shippoint
                    WHERE auart = xvbak-auart
                    AND   vkorg = xvbak-vkorg
                    AND   vtweg = xvbak-vtweg
                    AND   spart = xvbak-spart
                    AND   vsbed = xvbak-vsbed.
    IF  gv_vsbed NE xvbak-vsbed.
          LOOP AT xvbap INTO lwa_xvbap.
            idx = sy-tabix.
            IF xvbak-vsbed IS NOT INITIAL.
              IF NOT gs_shippoint IS INITIAL AND
                 lwa_xvbap-pstyv NE gs_shippoint-pstyv.
    *** Update the Item category , plant, storage location and Shipping/Receiving point.
                lwa_xvbap-pstyv = gs_shippoint-pstyv.
                lwa_xvbap-werks = gs_shippoint-werks.
                lwa_xvbap-lgort = gs_shippoint-lgort.
                lwa_xvbap-vstel = gs_shippoint-vstel.
                MODIFY xvbap INDEX idx FROM lwa_xvbap.
                UPDATE vbap  FROM TABLE xvbap.
    Any Suggestions
    Regards,
    Kumar

Maybe you are looking for

  • ITunes DJ and Coverflow / Top menu issue

    Any updates on this subject? While in version 9 iTunes looked the same as in the thread above, looks have changed a bit now, but still look bad. I spent a lot of time building my library and do not feel like doing al this work again. If no satisfacto

  • What % increase does a double tap enlarge a pdf on an iPhone4 screen?

    I am trying to figure out how much the enlargement is. Has anyone seen documentation on how large a double tap will enlarge a pdf?

  • Relational Model - display (FK) next to column

    Hi, I reverse engineered my model from the data dictionary.  My model has foreign keys.  Similar to Erwin, how can I get data modeler to display that the column is a FK?  For example see the link below dept_id (FK) http://content.answcdn.com/main/con

  • External Disk Size Mismatch in Finder

    Hi, I have a 1TB external disk attached via firewire 800 on my MBP. When I do a cmd-I on this, Finder and Disk Utility displays 700GB+ used. But when I select all the folders/files in the root of that disk and do a cmd-I, it barely reaches 500GB... w

  • Why does my Terminal prompt change to " "?

    I am baffled by a behaviour of the Terminal app, when running a command which I have repeatedly and successfully used before. On a new Mac, I set up a group (within System Preferences > Users and Groups) containing two users who are to have complete