Populate combobox with multiline field

Is there a way to get an array of a multiline text field and put this array in a combobox?
I think i have to use the split() function, but i dont know how to do this.
I'm trying to find an easy way to populate a combobox.

This topic shows how you can split the value of a multiline text field's value at carriage returns: http://forums.adobe.com/thread/789976
You can then use the setItems field method to populate the combo box with the items: http://livedocs.adobe.com/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/JS_API_AcroJS.88.752.html

Similar Messages

  • How to populate ComboBox with images?

    Hello, I was just wondering if it is possible to populate a
    ComboBox with images or icons? If it is possible, I want each item
    to have both a picture and text. Any help on this matter would be
    great!

    I'm using Flash AS3. I currently have the code working for
    the tileList component. I load the "label:", "source:" and "data:"
    from a php script. It works great! Tried to do the same method for
    the comboBox with no luck. I have spent lots of time searching the
    web for help on this, but unfortunately AS3 is still relatively new
    and much differant from previous versions of actionscript, so it is
    hard to find any good examples. Although the help and examples for
    AS3 is pretty extensive on adobes website, it seems that I can
    never find the help and examples that relate to any problems I
    might encounter.

  • How to get rid of extra space at beginning of multiline field

    I have a form with both one-line and multiline fields. The one-line fields are fine, and the multiline fields look fine in LCD. However, when I open the form in Acrobat Pro, each multiline field has a blank space already in it! I checked with a user, and the same thing happens when she opens the form in Reader.
    I verified that this is a problem with multiline fields by changing a one-line field to multiline. As soon as I did, the extra space appeared in Pro & Reader.
    Has anyone else had this problem, and if so, what did you do about it?
    Thanks!
    Kathryn

    P. S. Since I had a number of multiline fields on my forms, I decided to venture into uncharted LCD territory and create a custom function which I could use as needed. What I thought would be a simple task ended up taking four hours. I'm posting what I discovered here in the hope that it may save someone else time :)
    First of all, apparently you can't create reusable functions in FormCalc, but only in JavaScript. You have to store them in a Script Object in order to make them available to the fields in the form. (Create the script object by right-clicking on the form in Hierarchy View and choose Insert Script Object).
    Converting the FormCalc function to JavaScript was an adventure. Long story short, this is what I ended up with:
    function space_bug_fix(field_name, field_contents)
    field_contents = escape(field_contents)
    //escapes the space to its URL encoding (%20) so the script can recognize it
    if (field_contents == "%20") {
    xfa.resolveNode(field_name).rawValue = "";
    //if the field contains only %20--in otherwords, the buggy space--delete it.
    I spent a while trying to get getField() to work, but apparently it doesn't work in the LCD xfa environment. You have to use resolveNode().
    Accessing the function was not straightforward either and also required use of the resolveNode function. This is the JavaScript I finally got to work:
    xfa.resolveNode("form1..custom_functions").space_bug_fix(this.name, this.rawValue);
    (custom_functions is the name I gave the script object). And as a reminder, the language in every event where this function is called has to be set to JavaScript.
    Kathryn

  • How to Bind a Combo Box so that it retrieves and display content corresponding to the Id in a link table and populates itself with the data in the main table?

    I am developing a desktop application in Wpf using MVVM and Entity Frameworks. I have the following tables:
    1. Party (PartyId, Name)
    2. Case (CaseId, CaseNo)
    3. Petitioner (CaseId, PartyId) ............. Link Table
    I am completely new to .Net and to begin with I download Microsoft's sample application and
    following the pattern I have been successful in creating several tabs. The problem started only when I wanted to implement many-to-many relationship. The sample application has not covered the scenario where there can be a any-to-many relationship. However
    with the help of MSDN forum I came to know about a link table and managed to solve entity framework issues pertaining to many-to-many relationship. Here is the screenshot of my application to show you what I have achieved so far.
    And now the problem I want the forum to address is how to bind a combo box so that it retrieves Party.Name for the corresponding PartyId in the Link Table and also I want to populate it with Party.Name so that
    users can choose one from the dropdown list to add or edit the petitioner.

    Hello Barry,
    Thanks a lot for responding to my query. As I am completely new to .Net and following the pattern of Microsoft's Employee Tracker sample it seems difficult to clearly understand the concept and implement it in a scenario which is different than what is in
    the sample available at the link you supplied.
    To get the idea of the thing here is my code behind of a view vBoxPetitioner:
    <UserControl x:Class="CCIS.View.Case.vBoxPetitioner"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:v="clr-namespace:CCIS.View.Case"
    xmlns:vm="clr-namespace:CCIS.ViewModel.Case"
    mc:Ignorable="d"
    d:DesignWidth="300"
    d:DesignHeight="200">
    <UserControl.Resources>
    <DataTemplate DataType="{x:Type vm:vmPetitioner}">
    <v:vPetitioner Margin="0,2,0,0" />
    </DataTemplate>
    </UserControl.Resources>
    <Grid>
    <HeaderedContentControl>
    <HeaderedContentControl.Header>
    <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
    <TextBlock Margin="2">
    <Hyperlink Command="{Binding Path=AddPetitionerCommand}">Add Petitioner</Hyperlink>
    | <Hyperlink Command="{Binding Path=DeletePetitionerCommand}">Delete</Hyperlink>
    </TextBlock>
    </StackPanel>
    </HeaderedContentControl.Header>
    <ListBox BorderThickness="0" SelectedItem="{Binding Path=CurrentPetitioner, Mode=TwoWay}" ItemsSource="{Binding Path=tblParties}" />
    </HeaderedContentControl>
    </Grid>
    </UserControl>
    This part is working fine as it loads another view that is vPetioner perfectly in the manner I want it to be.
    Here is the code of vmPetitioner, a ViewModel:
    Imports Microsoft.VisualBasic
    Imports System.Collections.ObjectModel
    Imports System
    Imports CCIS.Model.Party
    Namespace CCIS.ViewModel.Case
    ''' <summary>
    ''' ViewModel of an individual Email
    ''' </summary>
    Public Class vmPetitioner
    Inherits vmParty
    ''' <summary>
    ''' The Email object backing this ViewModel
    ''' </summary>
    Private petitioner As tblParty
    ''' <summary>
    ''' Initializes a new instance of the EmailViewModel class.
    ''' </summary>
    ''' <param name="detail">The underlying Email this ViewModel is to be based on</param>
    Public Sub New(ByVal detail As tblParty)
    If detail Is Nothing Then
    Throw New ArgumentNullException("detail")
    End If
    Me.petitioner = detail
    End Sub
    ''' <summary>
    ''' Gets the underlying Email this ViewModel is based on
    ''' </summary>
    Public Overrides ReadOnly Property Model() As tblParty
    Get
    Return Me.petitioner
    End Get
    End Property
    ''' <summary>
    ''' Gets or sets the actual email address
    ''' </summary>
    Public Property fldPartyId() As String
    Get
    Return Me.petitioner.fldPartyId
    End Get
    Set(ByVal value As String)
    Me.petitioner.fldPartyId = value
    Me.OnPropertyChanged("fldPartyId")
    End Set
    End Property
    End Class
    End Namespace
    And below is the ViewMode vmParty which vmPetitioner Inherits:
    Imports Microsoft.VisualBasic
    Imports System
    Imports System.Collections.Generic
    Imports CCIS.Model.Case
    Imports CCIS.Model.Party
    Imports CCIS.ViewModel.Helpers
    Namespace CCIS.ViewModel.Case
    ''' <summary>
    ''' Common functionality for ViewModels of an individual ContactDetail
    ''' </summary>
    Public MustInherit Class vmParty
    Inherits ViewModelBase
    ''' <summary>
    ''' Gets the underlying ContactDetail this ViewModel is based on
    ''' </summary>
    Public MustOverride ReadOnly Property Model() As tblParty
    '''' <summary>
    '''' Gets the underlying ContactDetail this ViewModel is based on
    '''' </summary>
    'Public MustOverride ReadOnly Property Model() As tblAdvocate
    ''' <summary>
    ''' Gets or sets the name of this department
    ''' </summary>
    Public Property fldName() As String
    Get
    Return Me.Model.fldName
    End Get
    Set(ByVal value As String)
    Me.Model.fldName = value
    Me.OnPropertyChanged("fldName")
    End Set
    End Property
    ''' <summary>
    ''' Constructs a view model to represent the supplied ContactDetail
    ''' </summary>
    ''' <param name="detail">The detail to build a ViewModel for</param>
    ''' <returns>The constructed ViewModel, null if one can't be built</returns>
    Public Shared Function BuildViewModel(ByVal detail As tblParty) As vmParty
    If detail Is Nothing Then
    Throw New ArgumentNullException("detail")
    End If
    Dim e As tblParty = TryCast(detail, tblParty)
    If e IsNot Nothing Then
    Return New vmPetitioner(e)
    End If
    Return Nothing
    End Function
    End Class
    End Namespace
    And final the code behind of the view vPetitioner:
    <UserControl x:Class="CCIS.View.Case.vPetitioner"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:vm="clr-namespace:CCIS.ViewModel.Case"
    mc:Ignorable="d"
    Width="300">
    <UserControl.Resources>
    <ResourceDictionary Source=".\CompactFormStyles.xaml" />
    </UserControl.Resources>
    <Grid>
    <Border Style="{StaticResource DetailBorder}">
    <Grid>
    <Grid.ColumnDefinitions>
    <ColumnDefinition Width="Auto" />
    <ColumnDefinition Width="*" />
    </Grid.ColumnDefinitions>
    <TextBlock Grid.Column="0" Text="Petitioner:" />
    <ComboBox Grid.Column="1" Width="240" SelectedValuePath="." SelectedItem="{Binding Path=tblParty}" ItemsSource="{Binding Path=PetitionerLookup}" DisplayMemberPath="fldName" />
    </Grid>
    </Border>
    </Grid>
    </UserControl>
    The problem, presumably, seems to be is that the binding path "PetitionerLookup" of the ItemSource of the Combo box in the view vPetitioner exists in a different ViewModel vmCase which serves as an ObservableCollection for MainViewModel. Therefore,
    what I need to Know is how to route the binding path if it exists in a different ViewModel?
    Sir, I look forward to your early reply bringing a workable solution to the problem I face. 
    Warm Regards,
    Arun

  • Not able populate correct data into fields in alv report

    hi experts,
    question: from delivery document number(likp-vbeln) go to delivery items to get lips-matnr,lips-lgort
    TYPE-POOLS:SLIS.
    TABLES: MARC,LIPS,LIKP,VBAK,VBAP,VBRP.
    SELECT-OPTIONS:S_VKORG FOR LIKP-VKORG,
                   S_VBELN FOR LIKP-VBELN,
                   S_MATGR FOR MARC-MATGR,
                   S_AUART FOR VBAK-AUART.
    DATA: BEGIN OF ITAB OCCURS  0  ,
           MATGR LIKE MARC-MATGR,
           MATNR LIKE LIPS-MATNR,
           LGORT LIKE LIPS-LGORT,
           WADAT_IST LIKE LIKP-WADAT_IST,
           AUART LIKE VBAK-AUART,
           WAVWR LIKE VBRP-WAVWR,
           KWMENG LIKE VBAP-KWMENG,
           VBELN LIKE LIKP-VBELN,
          VBELN LIKE VBAK-VBELN,
          <GORT TYPE LIPS-LGORT,
           END OF ITAB.
       DATA: BEGIN OF JTAB OCCURS 0,
             VBELN LIKE VBAK-VBELN,
             END OF JTAB.
      DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
             I_EVENTCAT TYPE SLIS_T_EVENT WITH HEADER LINE.
      START-OF-SELECTION.
      SELECT AMATNR ALGORT INTO TABLE ITAB   FROM LIPS AS
    A INNER JOIN
    LIKP AS B ON BVBELN EQ AVBELN  WHERE BVBELN IN S_VBELN AND BVKORG
    IN
    S_VKORG.
    ENDSELECT.
    *I_FIELDCAT-COL_POS = 1.
    *I_FIELDCAT-FIELDNAME = 'VBELN'.
    *I_FIELDCAT-TABNAME = 'ITAB'.
    *APPEND I_FIELDCAT TO I_FIELDCAT.
    *CLEAR I_FIELDCAT.
    I_FIELDCAT-COL_POS = 1.
    I_FIELDCAT-FIELDNAME = 'MATNR'.
    *I_FIELDCAT-TABNAME = 'ITAB'.
    I_FIELDCAT-REF_TABNAME = 'MATNR'.
    I_FIELDCAT-REF_TABNAME = 'LIPS'.
    APPEND I_FIELDCAT .
    *CLEAR I_FIELDCAT.
    I_FIELDCAT-COL_POS = 2.
    I_FIELDCAT-FIELDNAME = 'LGORT'.
    *I_FIELDCAT-TABNAME = 'ITAB'.
    I_FIELDCAT-REF_TABNAME = 'LIPS'.
    APPEND I_FIELDCAT .
    *CLEAR I_FIELDCAT.
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
        I_INTERFACE_CHECK              = ' '
        I_BYPASSING_BUFFER             =
        I_BUFFER_ACTIVE                = ' '
         I_CALLBACK_PROGRAM             = SY-REPID
        I_CALLBACK_PF_STATUS_SET       = ' '
        I_CALLBACK_USER_COMMAND        = ' '
        I_STRUCTURE_NAME               =
        IS_LAYOUT                      =
         IT_FIELDCAT                    = I_FIELDCAT[]
        IT_EXCLUDING                   =
        IT_SPECIAL_GROUPS              =
        IT_SORT                        =
        IT_FILTER                      =
        IS_SEL_HIDE                    =
        I_DEFAULT                      = 'X'
        I_SAVE                         = ' '
        IS_VARIANT                     =
         IT_EVENTS                      = I_EVENTCAT[]
        IT_EVENT_EXIT                  =
        IS_PRINT                       =
        IS_REPREP_ID                   =
        I_SCREEN_START_COLUMN          = 0
        I_SCREEN_START_LINE            = 0
        I_SCREEN_END_COLUMN            = 0
        I_SCREEN_END_LINE              = 0
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER        =
        ES_EXIT_CAUSED_BY_USER         =
        TABLES
          T_OUTTAB                       = ITAB
      EXCEPTIONS
        PROGRAM_ERROR                  = 1
        OTHERS                         = 2
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    i am unable to populate correct data into fields i am getting matnr values as all 1's
    and lgort as empty
    can anyone help me out
    thanks.

    HI there
    This is what i found on the Forum
    "You can use FM RS_VARIANT_CONTENTS to display ONE variant associated to a report
    If you want to see the information of ALL VARIANTS associated to a report I think the only way is checking table VARID to get all the variants associated to the report and then do a loop and call RS_VARIANT_CONTENTS for each variant."
    Regards
    Tatenda

  • Create a Procedural ALV Report with editable fields and save the changes

    Hi,
    I am new to ABAP. I have created a Procedural ALV Report with 3 fields. I want to make 2 fields editable. When executed, if the fields are modified, I want to save the changes. All this I want to do without using OO concepts. Please help . Also, I checked out the forum and also the examples
    BCALV_TEST_GRID_EDIT_01
    BCALV_TEST_GRID_EDIT_02
    BCALV_TEST_GRID_EDIT_04_FORMS
    BCALV_TEST_GRID_EDITABLE
    BCALV_EDIT_01
    BCALV_EDIT_02
    BCALV_EDIT_03
    BCALV_EDIT_04
    BCALV_EDIT_05
    BCALV_EDIT_06
    BCALV_EDIT_07
    BCALV_EDIT_08
    BCALV_FULLSCREEN_GRID_EDIT
    But all these are using OO Concepts.
    Please help.
    Regards,
    Smruthi

    TABLES:     ekko.
    TYPE-POOLS: slis.                                 "ALV Declarations
    *Data Declaration
    TYPES: BEGIN OF t_ekko,
      ebeln TYPE ekpo-ebeln,
      ebelp TYPE ekpo-ebelp,
      statu TYPE ekpo-statu,
      aedat TYPE ekpo-aedat,
      matnr TYPE ekpo-matnr,
      menge TYPE ekpo-menge,
      meins TYPE ekpo-meins,
      netpr TYPE ekpo-netpr,
      peinh TYPE ekpo-peinh,
      line_color(4) TYPE c,     "Used to store row color attributes
    END OF t_ekko.
    DATA: it_ekko TYPE STANDARD TABLE OF t_ekko INITIAL SIZE 0,
          wa_ekko TYPE t_ekko.
    *ALV data declarations
    DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
          gd_tab_group TYPE slis_t_sp_group_alv,
          gd_layout    TYPE slis_layout_alv,
          gd_repid     LIKE sy-repid.
    START-OF-SELECTION.
      PERFORM data_retrieval.
      PERFORM build_fieldcatalog.
      PERFORM build_layout.
      PERFORM display_alv_report.
    *&      Form  BUILD_FIELDCATALOG
          Build Fieldcatalog for ALV Report
    FORM build_fieldcatalog.
      fieldcatalog-fieldname   = 'EBELN'.
      fieldcatalog-seltext_m   = 'Purchase Order'.
      fieldcatalog-col_pos     = 0.
      fieldcatalog-outputlen   = 10.
      fieldcatalog-emphasize   = 'X'.
      fieldcatalog-key         = 'X'.
    fieldcatalog-do_sum      = 'X'.
    fieldcatalog-no_zero     = 'X'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'EBELP'.
      fieldcatalog-seltext_m   = 'PO Item'.
      fieldcatalog-col_pos     = 1.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'STATU'.
      fieldcatalog-seltext_m   = 'Status'.
      fieldcatalog-col_pos     = 2.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'AEDAT'.
      fieldcatalog-seltext_m   = 'Item change date'.
      fieldcatalog-col_pos     = 3.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'MATNR'.
      fieldcatalog-seltext_m   = 'Material Number'.
      fieldcatalog-col_pos     = 4.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'MENGE'.
      fieldcatalog-seltext_m   = 'PO quantity'.
    fieldcatalog-edit             = 'X'
      fieldcatalog-col_pos     = 5.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'MEINS'.
      fieldcatalog-seltext_m   = 'Order Unit'.
      fieldcatalog-col_pos     = 6.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'NETPR'.
      fieldcatalog-seltext_m   = 'Net Price'.
      fieldcatalog-col_pos     = 7.
      fieldcatalog-outputlen   = 15.
      fieldcatalog-datatype     = 'CURR'.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
      fieldcatalog-fieldname   = 'PEINH'.
      fieldcatalog-seltext_m   = 'Price Unit'.
      fieldcatalog-col_pos     = 8.
      APPEND fieldcatalog TO fieldcatalog.
      CLEAR  fieldcatalog.
    ENDFORM.                    " BUILD_FIELDCATALOG
    *&      Form  BUILD_LAYOUT
          Build layout for ALV grid report
    FORM build_layout.
      gd_layout-no_input          = 'X'.
      gd_layout-colwidth_optimize = 'X'.
      gd_layout-totals_text       = 'Totals'(201).
      gd_layout-info_fieldname =      'LINE_COLOR'.
    ENDFORM.                    " BUILD_LAYOUT
    *&      Form  DISPLAY_ALV_REPORT
          Display report using ALV grid
    FORM display_alv_report.
      gd_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
           EXPORTING
                i_callback_program      = gd_repid
                i_callback_pf_status_set = 'STATUS'
                i_callback_top_of_page   = 'TOP-OF-PAGE'
               i_callback_user_command = 'USER_COMMAND'
               i_grid_title           = outtext
                is_layout               = gd_layout
                it_fieldcat             = fieldcatalog[]
               it_special_groups       = gd_tabgroup
               IT_EVENTS                = GT_XEVENTS
                i_save                  = 'X'
               is_variant              = z_template
           TABLES
                t_outtab                = it_ekko
           EXCEPTIONS
                program_error           = 1
                OTHERS                  = 2.
    ENDFORM.                    " DISPLAY_ALV_REPORT
    *&      Form  DATA_RETRIEVAL
          Retrieve data form EKPO table and populate itab it_ekko
    FORM data_retrieval.
      DATA: ld_color(1) TYPE c.
      SELECT ebeln ebelp statu aedat matnr menge meins netpr peinh
       UP TO 10 ROWS
        FROM ekpo
        INTO TABLE it_ekko.
      LOOP AT it_ekko INTO wa_ekko.
        ld_color = ld_color + 1.
        IF ld_color = 8.
          ld_color = 1.
        ENDIF.
        CONCATENATE 'C' ld_color '10' INTO wa_ekko-line_color.
        MODIFY it_ekko FROM wa_ekko.
      ENDLOOP.
    ENDFORM.                    " DATA_RETRIEVAL
          FORM top-of-page                                              *
    FORM top-of-page.
      WRITE:/ 'This is First Line of the Page'.
    ENDFORM.
          FORM status                                                   *
    FORM status USING rt_extab TYPE slis_t_extab.  .
      SET PF-STATUS 'ALV'.
    ENDFORM.
          FORM USER_COMMAND                                          *
    -->  RF_UCOMM                                                      *
    -->  RS                                                            *
    FORM user_command USING rf_ucomm LIKE sy-ucomm
                             rs TYPE slis_selfield.            
      DATA ref1 TYPE REF TO cl_gui_alv_grid.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          e_grid = ref1.
      CALL METHOD ref1->check_changed_data.
      CASE rf_ucomm.
    when 'SAVE'.
    get all the modified entries and store them in an internal table and udpate them in to the required transaction or your custom table.
    endcase.
    endform.
    ENDFORM.
    here u need to 2 performs for PF status and USER_COMMAND in the ALV parameters.
    create a custom PF status and create push buttons and assign your ok codes in your PF status.
    if the field has to be edited in the ALV then pass EDIT = 'X' for that field in the fieldcatlog preparation.
    Hope this will help you.
    Regards,
    phani.

  • How to populate Value of Vendor Field in Serial Master data

    Hi,
    In Serial Number ,there is field named "Vendor". We want to populate this field with vendor number from PO at the time Goods receipt of Serial Number.
    Can you pl. tell me what configuaration needs to be done to populate this with vendor number from PO at GR?  I am not able to populate this .
    Thanks in advance for your inputs on this.
    Regards,
    Krishnendu

    Krishnendu,
      I dont think this can be achieved through configuration. You could try to use  the available user exits ( IQSM0005 Customer exit in update and  IQSM0007 Customer exit for goods movements) to update the vendor number in the equipment master.
    Regards
    Narasimhan

  • Combing PDF forms with identical field names while retaining unique values.

    I have several PDF files of the same form that has been filled out by multiple users. I need to create a combined file of all the responses for reporting purposes. However, the forms (obviously) all have the same field names, and when I combine them the values of the first form autofill the values of the matched fields on the other forms. I need a way to combine the forms while retaining the unique field values. I thought I could write a js to rename the fields, but that isn't possible.
    *EDIT: The fields need to retain editability because some contain long, scrolling text. Flattening or read-only isn't an option, not that either fixes the above problem.
    Suggestions?

    UPDATE:
    I solved this problem, at least for my own needs. Following try67's advice in a related post, I had to delete the existing fields and create new ones with new names. Given my desired outcome, this meant collecting all of the field properties of the fields (with some variation by field type), storing it, erasing the existing fields, and using that stored information to create new, identical fields (again with some variation by field type). Since I didn't want to retain actions or javascript, this was a perfect solution. I also no longer needed the buttons to function (since I wasn't retaining their javascript), so I made them read-only. I'm listing my working code below, in case anyone else could benefit from some or all of it.
    My question to the community is this: Why doesn't Adobe allow for fields to be renamed via javascript? Is it a security issue? My life would have been a lot easier the last few days if I could simply rename existing fields.
    The following script is used in a Combine Files action via the Action Wizard. The PDF optimizer is also used to strip out or flatten additional items.
    //This script is used to rename all the fields in a document while also removing any javascript or actions associated with those fields. Makes buttons read only without renaming.
    //Function to create a random alphanumeric ID.
    function makeid(n) {
        var text = "";
        var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
        for( var i=1; i <=n; i++ )
            text += possible.charAt(Math.floor(Math.random() * possible.length));
        return text;
    //List variables for collecting arrays of field properties.
    var fieldNum = this.numFields;
    var fieldNameArray = new Array();
    var fieldTypeArray = new Array();
    var pageNumArray = new Array();
    var fieldRectArray = new Array();
    var fieldValueArray = new Array();
    var borderStyleArray = new Array();
    var borderColorArray = new Array();
    var borderThicknessArray = new Array();
    var fillColorArray = new Array();
    var textColorArray = new Array();
    var textFontArray = new Array();
    var textSizeArray = new Array();
    var textAlignmentArray = new Array();
    var textMultilineArray = new Array();
    var checkmarkStyleArray = new Array();
    var radiowidgetNumArray = new Array();
    var radiowidgetRectArray = new Array();
    var radiowidgetPageNumArray = new Array();
    //Get the properties of all the current fields, including widgets.
    for (var i = 0; i < fieldNum; i++) {
        var currentField = this.getNthFieldName(i);
        fieldNameArray[i] = makeid(5);
        fieldTypeArray[i] = this.getField(currentField).type;
        borderStyleArray[i] = this.getField(currentField).borderStyle;
        borderColorArray[i] = this.getField(currentField).strokeColor;
        borderThicknessArray[i] = this.getField(currentField).lineWidth;
        fillColorArray[i] = this.getField(currentField).fillColor;
        textColorArray[i] = this.getField(currentField).textColor;
        textFontArray[i] = this.getField(currentField).textFont;
        textSizeArray[i] = this.getField(currentField).textSize  
        if (this.getField(currentField).type == "text") {
            fieldRectArray[i] = this.getField(currentField).rect;
            pageNumArray[i] = this.getField(currentField).page;
            fieldValueArray[i] = this.getField(currentField).value;
            textAlignmentArray[i] = this.getField(currentField).alignment;
            textMultilineArray[i] = this.getField(currentField).multiline;
        if (this.getField(currentField).type == "checkbox") {
            fieldRectArray[i] = this.getField(currentField).rect;
            pageNumArray[i] = this.getField(currentField).page;
            fieldValueArray[i] = this.getField(currentField).value;
            checkmarkStyleArray[i] = this.getField(currentField).style;
        if (this.getField(currentField).type == "radiobutton") {
            checkmarkStyleArray[i] = this.getField(currentField).style;
            fieldValueArray[i] = this.getField(currentField).value;
            var n = 0;
            while (this.getField(currentField + "." + n) != null) {
                radiowidgetNumArray[n] = this.getField(currentField + "." + n).name;
                n++;
            for (x = 0; x < radiowidgetNumArray.length; x++) {
                radiowidgetRectArray[x] = this.getField(radiowidgetNumArray[x]).rect;
                radiowidgetPageNumArray[x] = this.getField(radiowidgetNumArray[x]).page;
    //Delete all the current fields, except for buttons, which become read-only.
    for (var i = (fieldNum - 1); i > -1; i--) {
        var currentField = this.getNthFieldName(i);
        if (this.getField(currentField).type != "button") {
            this.removeField(currentField);
        } else {
            this.getField(currentField).readonly = true;
    //Using the stored arrays of field properties, generate new, identical fields.
    for (var i = 0; i < fieldNum; i++) {
        if (fieldTypeArray[i] == "text") {
            var newField = this.addField(fieldNameArray[i], fieldTypeArray[i], pageNumArray[i], fieldRectArray[i]);
            newField.value = fieldValueArray[i];
            newField.borderStyle = borderStyleArray[i];
            newField.strokeColor = borderColorArray[i];
            newField.lineWidth = borderThicknessArray[i];
            newField.fillColor = fillColorArray[i];
            newField.textColor = textColorArray[i];
            newField.textFont = textFontArray[i];
            newField.textSize = textSizeArray[i];
            newField.alignment = textAlignmentArray[i];
            newField.multiline = textMultilineArray[i];
            newField.doNotSpellCheck = true;
        if (fieldTypeArray[i] == "checkbox") {
            var newField = this.addField(fieldNameArray[i], fieldTypeArray[i], pageNumArray[i], fieldRectArray[i]); 
            newField.value = fieldValueArray[i];
            newField.borderStyle = borderStyleArray[i];
            newField.strokeColor = borderColorArray[i];
            newField.lineWidth = borderThicknessArray[i];
            newField.fillColor = fillColorArray[i];
            newField.textColor = textColorArray[i];
            newField.textFont = textFontArray[i];
            newField.textSize = textSizeArray[i];
            newField.style = checkmarkStyleArray[i];
            newField.readonly = true;
        if (fieldTypeArray[i] == "radiobutton") {
            for (y = 0; y < radiowidgetNumArray.length; y++) {
                var newField = this.addField(fieldNameArray[i], fieldTypeArray[i], radiowidgetPageNumArray[y], radiowidgetRectArray[y]);
                newField.value = fieldValueArray[i];
                newField.borderStyle = borderStyleArray[i];
                newField.strokeColor = borderColorArray[i];
                newField.lineWidth = borderThicknessArray[i];
                newField.fillColor = fillColorArray[i];
                newField.textColor = textColorArray[i];
                newField.textFont = textFontArray[i];
                newField.textSize = textSizeArray[i];
                newField.style = checkmarkStyleArray[i];
                newField.readonly = true;           
    //End script.

  • Populating dynamic values in the combobox with XML form Builder.

    I am trying to  populate dynamic value in the combobox with xml form builder. I  see the document saying create property group and document property Id with respecitive values.  I am able to create the property group with system admin -> System config
    -> KM -> CM -> Global services  -> property Metadata -> groups  with new button. and I  am trying to create document property Id with value. I am not able to find the way to give  value in the property.   I am using  EP 7.0 Sp 14.  Please let me know how to sovel it

    Hi
    You can create new property metadata with System Admin > System Config > KM > CM > Global services > Property Metadata > Properties > New. Specify the values for this metadata as the ones you need to have in the combo box. Use allowed values parameter of the matadata to sepcify the values. Each metadata property will have unique property ID and you can map this property ID to your combo box in xml forms.
    Give it a try.
    Regards,
    Yoga

  • MultiLine fields not overflowing correctly on PDF

    Hi all. I have an issue where the sections that i'm appending into a multiple multiline field section overlay each other.
    So imagine three sections. One small .5" dummy section to start. One large 10" section with three multiline fields in it. There's a .5" footer. I append two sections into EACH multiline field in that large section. Depending on the fields in the sections, the last multiline will _have to_ overflow and it's two sections _should be_ on the 2nd page.
    The large section has 'can grow' and 'can split image' marked at the forms level. Position is rel/max+0. The footer is copy on overflow. The multiline fields have can grow and can span marked in their properties.
    _Results_ : When the last multiLine overflows, the text of the two sections in that last MultiLine field overlays each other on the 2nd page.
    Thoughts? ideas?
    I've tried adding "PaginateBeforeThisImage" section rule to a section in the last MultiLine field. No luck.

    Hi,
    Would it be possible for you to break the large 10" section into 2 smaller sections say 5" each. Size of the 2 smaller sections does not matter and need not be equal also; only thing is can you break them into smaller ones instead on large section having 3 multi-line fields in it?
    P.S: "PaginateBeforeThisImage" section rule is not required for this situation.
    Thanks.

  • Use of FM BAPI_EQUI_CHANGE to update equipement with customer fields

    Hello all
    I have extended the EQUI table with customer fields using customer include structure and append structure.
    I want to populate these customer fields with BAPI BAPI_EQUI_CHANGE Or BAPI_EQUI_CREATE.
    So I have extended the structure ITOB appending the same customer fields as in table EQUI.
    I have enhanced the function MAPXI_BAPI_ITOB_TO_ITOB which map data from structure BAPI_ITOB to internal structure ITOB.
    But the fields are not populated ?
    Has someone already the BAPI in that way ?
    Thanks
    Jerome

    Hello all
    I have extended the EQUI table with customer fields using customer include structure and append structure.
    I want to populate these customer fields with BAPI BAPI_EQUI_CHANGE Or BAPI_EQUI_CREATE.
    So I have extended the structure ITOB appending the same customer fields as in table EQUI.
    I have enhanced the function MAPXI_BAPI_ITOB_TO_ITOB which map data from structure BAPI_ITOB to internal structure ITOB.
    But the fields are not populated ?
    Has someone already the BAPI in that way ?
    Thanks
    Jerome

  • To Populate the profit center field in the sales order by user Exit.

    Hi All,
    Please let me know :
    How the user exit is used to populate the Profit center field in the Sales order?
    Please gurus answer  as quickly as possible as I require this urgently.

    If you want to overwrite the profit center in sale order (determined from the materail master) with a different profit center based some other criterion you can use profit center substitution rules. Check the wiki:
    [Profit Center Substitution in Sales Orders|https://www.sdn.sap.com/irj/sdn/wiki?path=/display/erplo/profitCenterSubstitutioninSales+Orders]
    Regards,
    GSL.

  • Combobox with LOV showing ID but would like to display more meaningful text

    Hi, I'm experimenting with JDeveloper 11.2.
    I have a base table/eo with an FK ID to another table/eo which is a lookup table.
    On the base tables view I have created a combobox with LOV but it is showing the ID and I'd like it to show the name from the lookup table.
    So rather than showing the ID 1 I'd like it to show James instead.
    I can just about remember being able to do this in Oracle Designer.
    I know this is something stupid but I've searched Google and not come up with anything.
    CREATE TABLE ACCOUNTS
    ACCOUNT_ID NUMBER NOT NULL,
    ACCOUNT_LOGIN VARCHAR2(30 CHAR) NOT NULL,
    FIRST_NAME VARCHAR2(50 CHAR) NOT NULL,
    LAST_NAME VARCHAR2(50 CHAR) NOT NULL,
    EMAIL VARCHAR2(150 CHAR),
    CREATED_TIMESTAMP TIMESTAMP(6) WITH LOCAL TIME ZONE DEFAULT SYSTIMESTAMP NOT NULL
    ALTER TABLE ACCOUNTS ADD (
    CONSTRAINT ACCOUNTS_PK
    PRIMARY KEY
    (ACCOUNT_ID));
    CREATE TABLE ACCOUNT_MODULE_ROLES
    ACCOUNT_MODULE_ROLE_ID NUMBER NOT NULL,
    ACCOUNT_ID NUMBER NOT NULL,
    MODULE_ID NUMBER NOT NULL,
    ACCOUNT_ROLE_ID NUMBER NOT NULL
    ALTER TABLE ACCOUNT_MODULE_ROLES ADD (
    CONSTRAINT ACCOUNT_ROLES_PK
    PRIMARY KEY
    (ACCOUNT_MODULE_ROLE_ID));
    ALTER TABLE ACCOUNT_MODULE_ROLES ADD (
    CONSTRAINT AMR_ACC_FK
    FOREIGN KEY (ACCOUNT_ID)
    REFERENCES ACCOUNTS (ACCOUNT_ID)
    ON DELETE CASCADE
    ENABLE VALIDATE);
    I've created the LOV on AccountModuleRolesView.

    1. Create a transient attribute AccountFirstName. - Created in AccountModuleRolesView1, attributes a transient string called AccountFirstName with an alias of VIEW_ATTR
    2. Create a VA on accountId attribute. - VA? There is a tab called View Accessors and I have three, one for each of the FK's.
    3. In attribute mapping ... Where abouts is that? After I've created the LOV?
    map ... accountId to accountId I did this in the LOV, list return values, using the VA's I linked in.
    and fristName to accountFirstName. Did this also in the same place.
    4. In UI hints shuttle accountFirstName. The field doesn't show up in the list to shuffle, only the underlying eo attributes.

  • Populating a ComboBox with names of all Cue Points

    I'm working with Flash CS4 and ActionScript 3.  I have a .flv file with about 30 cue points created in Soundbooth.  When I run my video my listener  picks up the cue points as expected.  What I am trying to do now is populate a combobox with a list of all the cue points in the .flv file.  Seems like it should be a super easy task to access an array of all the cue points in the .flv - but so far no luck.
    I am using FLVPlayback to run my video.
    Appreciate any advice as to how to access a list of all cue points.  Thanks.

    Got it!
    For anyone else looking, here it is:
    // this assumes you have a copy of FLVPlayBack downloaded to and instanced as my_FLVPlybk
    import fl.video.*;
    my_FLVPlybk.addEventListener(MetadataEvent.METADATA_RECEIVED,
        handleMetadata);
    function handleMetadata(e:MetadataEvent):void {
        var data:Object = e.info;
        recurseTrace(data, "");
    function recurseTrace(info:Object, indent:String):void
            for (var i:* in info) {
                    if (typeof info[i] == "object") {
                           trace(indent + i + ":");
                           recurseTrace(info[i], indent + " ");
                   } else {
                           trace(indent + i + " : " + info[i]);

  • ABAP code needed to populate data in the fields............

    Hi,
    I have added 3 new fields to the datasource 0PROJETC_ATTR
    fields names are : ZZPROFL , ZZPLFAZ and ZZPLSEZ
    Can some body tell me the ABAP code to fill data in these 3 fields.
    Thanks,
    Jeetu

    hi Jeetu,
    we need the logic,
    but the code will something like following sample ...
    Declaration for datasource 0MATERIAL_ATTR
    DATA : BEGIN OF S_BIW_MARA_S.
    INCLUDE STRUCTURE BIW_MARA_S.
    DATA : END OF S_BIW_MARA_S.
    *Here BIW_MARA_S corresponds to the structure of your datasource *0MATERIAL_ATTR
    *then you have to declare a when with the datasource on which you want to *populate the appended new fields.
    *for example :
    WHEN '0MATERIAL_ATTR'.
    *then do a loop across your strcuture
    LOOP AT C_T_DATA INTO S_BIW_MARA_S.
    *a select from the table
    SELECT SINGLE * FROM MARA
    WHERE MATNR = S_BIW_MARA_S-MATNR.
    *a check to see if your select is ok
    IF SY-SUBRC = 0.
    *if it is ok then your field in your structure is corresponding to a field in the table
    S_BIW_MARA_S-Z1 = MARA-Z1.
    S_BIW_MARA_S-Z2 = MARA-Z2.
    *the c_t_data will be updated from what you get in your structure.
    MODIFY C_T_DATA FROM S_BIW_MARA_S.
    ENDIF.
    ENDLOOP.
    hope this helps.

Maybe you are looking for

  • Adobe pdf printer save dialog box opens in the background - progress bar shows Not Responding

    I have two users who have Acrobat X Pro version 10.1.4 that are experiencing the same things.  First, one person just changed laptops and the new one has a fresh Windows 7 Enterprise X64 image and new installation of Adobe Acrobat X Pro.  When he use

  • What difference does it make if you have boot camp beta and it has expired

    I have an imac w/OS 10.4.11--when i purchased it several years ago i had it partitioned and had windows xp installed. when i purchased this several years ago, they were using boot camp beta to do this. recently i found out that the boot camp beta exp

  • URGENT LabVIEW need - NY

    Our direct client on Long Island is seeking a LabVIEW engineer to start ASAP.   No citizenship restrictions, but VISA sponsorship is not offered.   Please send resumes to [email protected] 3+ month contract, on-site. Test experience should include te

  • Text and Fonts: rotate a text with characters like áéíúó

    I´m spanish and i need to rotate a text wich contains characters like áéíúó. Any ideas on how could it be done? thanks,

  • Plese help on AD-HOC query

    hi experts,    plaese give the step by step procedure to for creating Ad-hoc query & what is the use of Ad-hoc query.I have seen some Threads but i didnt get . so please give me step by step procedure .     If anybody having screen shots please send