Creating Arrays of structured fields with XMP 3.2 SDK

I'm trying to get the Adobe XMP SDK 3.2 to operate in the same manner as the<br />IMetaDataAccess interface in InDesign / InCopy.<br /><br />1. Consider the following snippet of InDesign SDK code.<br /><br />foo( IMetaDataAccess * myMeta )<br />{<br />PMString regPrefix;<br />PMString ns( "http://my.namespace.com/test/" );<br />PMString nspfx( "myns" );<br /><br />myMeta->RegisterNamespace( ns, nspfx, regPrefix );<br /><br />PMString path( "testpath" );<br /><br />// Create a new bag array<br /><br />myMeta->AppendArrayItem( ns, path, emptyStr, metadata_bag, metadata:kPropValueIsStruct );<br />.....<br />}<br /><br />This will generate the following entry in the XMP.<br /><br /><rdf:Description rdf:about="" xmlns:myns="http://my.namespace.com/test/"><br />         <myns:testpath><br />            <rdf:Bag><br />               <rdf:li rdf:parseType="Resource"><br />               </rdf:li><br />            </rdf:Bag><br />         </myns:testpath ><br />      </rdf:Description><br /><br />2. Consider the following using the XMP SDK<br /><br />foo2( SXMPMeta * myMeta )<br />{<br />std::string registeredPrefix("");<br />PMString emptyStr("");<br /><br />myMeta->RegisterNamespace( "http://my.namespace.com/test/" , "myns", &registeredPrefix );<br /><br />try<br />{<br />myMeta->AppendArrayItem( "http://my.namespace.com/test/", "testpath", kXMP_PropValueIsArray, "" );<br />.....<br />}<br />catch( ... )<br />{<br /><br />}<br />}<br /><br />This will generate the following entry in the XMP.<br /><br /><rdf:Description rdf:about="" xmlns:myns="http://my.namespace.com/test/"><br />         <myns:testpath><br />            <rdf:Bag><br />               <rdf:li/><br />            </rdf:Bag><br />         </myns:testpath ><br />      </rdf:Description><br /><br />i.e the rdf:parseType="Resource" entry is missing from the generated xmp.<br /><br />This then causes problems with adding items to the array with<br /><br />myMeta->SetStructField( "http://my.namespace.com/test/", "testpath[1]", "http://my.namespace.com/test/", "Name1", "Value1" );<br /><br />I just get an exception raised. ( The SetStructField works if the rdf:parseType="Resource" entry is in place ).<br /><br />So my question is how do I get the rdf:parseType="Resource" tag to appear in the rdf:li element using the XMP 3.2 SDK??<br /><br />my aim is to create some xmp like this<br /><br /><rdf:Description rdf:about="" xmlns:myns="http://my.namespace.com/test/"><br />         <myns:testpath><br />            <rdf:Bag><br />               <rdf:li/><br />                  <myns:id>1111</myns:id><br />                  <myns:name>Albert</myns:name><br />               </rdf:li><br />               <rdf:li/><br />                  <myns:id>1112</myns:id><br />                  <myns:name>Fred</myns:name><br />               </rdf:li><br />            </rdf:Bag><br />         </myns:testpath ><br />      </rdf:Description><br /><br />TIA.<br />Mike.

solved it now!
myMeta->AppendArrayItem( "http://my.namespace.com/test/", "testpath", kXMP_PropValueIsArray, "" );
should actually be
myMeta->AppendArrayItem( "http://my.namespace.com/test/", "testpath", kXMP_PropValueIsArray, nil, kXMP_PropValueIsStruct );

Similar Messages

  • How to create Using Formatted Text Field with multiple Sliders?

    Hi i found the Java Sun tutorial at http://java.sun.com/docs/books/tutorial/uiswing/components/slider.html very useful, and it tells how to create one Formatted Text Field with a Slider - however i need to create Formatted Text Field for multiple Sliders in one GUI, how do i do this?
    my code now is as follows, and the way it is now is scroll first slider is okay but scrolling second slider also changes value of text field of first slider! homework due tomorrow, please kindly help!
    // constructor
    label1 = new JLabel( "Individuals" );
    scroller1 = new JSlider( SwingConstants.HORIZONTAL,     0, 100, 10 );
    scroller1.setMajorTickSpacing( 10 );
    scroller1.setMinorTickSpacing( 1 );
    scroller1.setPaintTicks( true );
    scroller1.setPaintLabels( true );
    scroller1.addChangeListener(this);
    java.text.NumberFormat numberFormat = java.text.NumberFormat.getIntegerInstance();
    NumberFormatter formatter = new NumberFormatter(numberFormat);
            formatter.setMinimum(new Integer(0));
            formatter.setMaximum(new Integer(100));
    textField1 = new JFormattedTextField(formatter);
    textField1.setValue(new Integer(10)); //FPS_INIT
    textField1.setColumns(1); //get some space
    textField1.addPropertyChangeListener(this);
    //React when the user presses Enter.
    textField1.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),  "check");
            textField1.getActionMap().put("check", new AbstractAction() {
                public void actionPerformed(ActionEvent e) {
                    if (!textField1.isEditValid()) { //The text is invalid.
                        Toolkit.getDefaultToolkit().beep();
                        textField1.selectAll();
                    } else try {                    //The text is valid,
                        textField1.commitEdit();     //so use it.
                    } catch (java.text.ParseException exc) { }
    label2 = new JLabel( "Precision" );
    scroller2 = new JSlider( SwingConstants.HORIZONTAL, 0, 100, 8 );
    scroller2.setMajorTickSpacing( 10 );
    scroller2.setMinorTickSpacing( 1 );
    scroller2.setPaintTicks( true );
    scroller2.setPaintLabels( true );
    scroller2.addChangeListener(this);
    textField2 = new JFormattedTextField(formatter);
    textField2.setValue(new Integer(10)); //FPS_INIT
    textField2.setColumns(1); //get some space
    textField2.addPropertyChangeListener(this);
    //React when the user presses Enter.
    textField2.getInputMap().put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0),  "check");
            textField2.getActionMap().put("check", new AbstractAction() {
                public void actionPerformed(ActionEvent e) {
                    if (!textField2.isEditValid()) { //The text is invalid.
                        Toolkit.getDefaultToolkit().beep();
                        textField2.selectAll();
                    } else try {                    //The text is valid,
                        textField2.commitEdit();     //so use it.
                    } catch (java.text.ParseException exc) { }
    // State Changed
         public void stateChanged(ChangeEvent e) {
             JSlider source = (JSlider)e.getSource();
             int fps = (int)source.getValue();
             if (!source.getValueIsAdjusting()) { //done adjusting
                  if(source==scroller1)   {
                       System.out.println("source ==scoller1\n");
                       textField1.setValue(new Integer(fps)); //update ftf value
                  else if(source==scroller2)     {
                       System.out.println("source ==scoller2\n");
                       textField2.setValue(new Integer(fps)); //update ftf value
             } else { //value is adjusting; just set the text
                 if(source==scroller1)     textField1.setText(String.valueOf(fps));
                 else if(source==scroller2)     textField2.setText(String.valueOf(fps));
    // Property Change
        public void propertyChange(PropertyChangeEvent e) {
            if ("value".equals(e.getPropertyName())) {
                Number value = (Number)e.getNewValue();
                if (scroller1 != null && value != null) {
                    scroller1.setValue(value.intValue());
                 else if (scroller2 != null && value != null) {
                    scroller2.setValue(value.intValue());
        // ACTION PERFORMED
        public void actionPerformed(ActionEvent event) {
        if (!textField1.isEditValid()) { //The text is invalid.
            Toolkit.getDefaultToolkit().beep();
            textField1.selectAll();
        } else try {                    //The text is valid,
            textField1.commitEdit();     //so use it.
        } catch (java.text.ParseException exc) { }
             if (!textField2.isEditValid()) { //The text is invalid.
            Toolkit.getDefaultToolkit().beep();
            textField2.selectAll();
        } else try {                    //The text is valid,
            textField2.commitEdit();     //so use it.
        } catch (java.text.ParseException exc) { }
    ...

    if :p3_note_id is null
    then
    insert into notes (project_id, note, notes_month, notes_year) So, p3_note_id is NULL.
    Another option is that you have a trigger on table NOTES that generates a new note_id even for an update.

  • Creating an auto incrementing field with CREATE TABLE from Java

    I'm using the "sun.jdbc.odbc.JdbcOdbcDriver" to get a connection towards an ODBC data source that's linked to a Access (.mdb) database.
    I've tried various combinations in my CREATE TABLE statement execution in order to create a table with an auto incrementing integer but neither of them work, not even the most obvious one:
    stmt.executeUpdate("CREATE TABLE mytable(uid integer AUTO_INCREMENT PRIMARY KEY);");
    I always get this runtime exception: *java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in field definition*; and AUTO_INCREMENT is the problem. I've tried all variations like AUTO, INCREMENT, AUTOINCREMENT and such, but nothing works.
    I've looked everywhere but couldn't find an answer to this. Thanks for the help.

    You used MySQL syntax. I think you agree with me that Access isn't a MySQL database. Either use MySQL with a real JDBC driver (recommended) or use Access syntax.
    That said, creating databases and tables using Java is a bad idea. The database and table must be already there. With Java you just do the usual table operations like select, insert, update and delete. Nothing more is needed.

  • Only multiple entries in BP when creating a new table/field with EEW

    Hi,
    I am creating new tables/fields for BP in CRM 4.0 using transaction EEWB.
    This is working quite well but the fields that appear allows multiple entries per BP. I just want one single entry per BP.
    The wizard talks about multiple options but I cannot see how I define that if it should be a single entry or multiple.
    Any idea how to achieve that?
    Thanks,
    //anders

    Hi
    As i know the fields will be multiple only, u can try for 'default'
    and also try in the wizard in step 2
    The Process of EEW will be like this
    1. To add new fields to the business partner, use the business object Business Partner (BUPA) and create an enhancement of the type "Add New Fields". A wizard helps you define the individual enhancements and provides you with the necessary information for each step.
    2 For each field, you must define the field name, data type and, if necessary, the field length.
    3 For each field, define whether a check table should be available.
    4 For each field, you must also determine whether it should be transferred to SAP BI or to CRM Field Applications.
    5 In the last wizard screen, the system shows you an overview of the fields you defined, together with their associated attributes.
    6 To start generation, choose Complete.
    I hope u can solve ur prob in Step 2 data type
    cheers
    Manohar

  • Want to create a user field with type alphanmumeric and structure text through coding

    i want to create a user field with type alphanumeric and structure text through coding.am using vb
    plz help me

    Hi.
    Please take a look at samples in SAP B1 SDK.
    Dim oUserFieldsMD As SAPbobsCOM.UserFieldsMD
    oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
    ' Adding "Name" field
    '// Setting the Field's properties
    oUserFieldsMD.TableName = #YOUR_TABLE_NAME#
    oUserFieldsMD.Name = "Name"
    oUserFieldsMD.Description = "Name"
    oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Alpha
    oUserFieldsMD.EditSize = #LENGTH_OF_FIELD#
    '// Adding the Field to the Table
    lRetCode = oUserFieldsMD.Add
    GC.Collect() 'Release the handle to the User Fields
    Hope it helps.
    Regards,
    Pawel

  • How can I set Array field which reside in a Structure field?

    I use Adobe java XMP toolkit.
    There are a few methods for setting structure and array items.
    setStructField() and appendArrayItem().
    However ducu stated that member of Structure may be array or structure, moreover array items also may be arrays or structures.
    So how can I set Array field in Structure or Structure field in Array???
    Thanks
    Andrey

    OK, it worked first time (without exception) as I tried to set value of EXISTING field.
    The trick is to add array or struct BEFORE setting their values.
    This short example shows how it works:
    XMPSchemaRegistry registry = XMPMetaFactory.getSchemaRegistry();
        registry.registerNamespace(extNS, "pdfaExtension");
        registry.registerNamespace(shemaNS, "pdfaSchema");
        registry.registerNamespace(propertyNS, "pdfaProperty");
        XMPMeta m = XMPMetaFactory.create();
        m.appendArrayItem(extNS, "pdfaExtension:schemas", new PropertyOptions().setArray(true), "", new PropertyOptions().setStruct(true));
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:prefix", "dc");
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:namespaceURI", "http://purl.org/dc/elements/1.1/");
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:schema", "Dublin Core Schema");
        m.appendArrayItem(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property", new PropertyOptions().setArrayOrdered(true), null, new PropertyOptions()
            .setStruct(true));
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[1]/pdfaProperty:name", "contributor", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[1]/pdfaProperty:category", "external", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[1]/pdfaProperty:description",
            "Contributors to the resource (other than the authors).", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[1]/pdfaProperty:valueType", "bag ProperName", null);
        m.appendArrayItem(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property", new PropertyOptions().setArrayOrdered(true), null, new PropertyOptions()
            .setStruct(true));
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[2]/pdfaProperty:name", "coverage", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[2]/pdfaProperty:category", "external", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[2]/pdfaProperty:description", "The extent or scope of the resource.", null);
        m.setProperty(extNS, "pdfaExtension:schemas[1]/pdfaSchema:property[2]/pdfaProperty:valueType", "Text", null);
    Above code creates following XMP:
    <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.1.1">
      <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
        <rdf:Description rdf:about=""
            xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"
            xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#"
            xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#">
          <pdfaExtension:schemas>
            <rdf:Bag>
              <rdf:li rdf:parseType="Resource">
                <pdfaSchema:prefix>dc</pdfaSchema:prefix>
                <pdfaSchema:namespaceURI>http://purl.org/dc/elements/1.1/</pdfaSchema:namespaceURI>
                <pdfaSchema:schema>Dublin Core Schema</pdfaSchema:schema>
                <pdfaSchema:property>
                  <rdf:Seq>
                    <rdf:li rdf:parseType="Resource">
                      <pdfaProperty:name>contributor</pdfaProperty:name>
                      <pdfaProperty:category>external</pdfaProperty:category>
                      <pdfaProperty:description>Contributors to the resource (other than the authors).</pdfaProperty:description>
                      <pdfaProperty:valueType>bag ProperName</pdfaProperty:valueType>
                    </rdf:li>
                    <rdf:li rdf:parseType="Resource">
                      <pdfaProperty:name>coverage</pdfaProperty:name>
                      <pdfaProperty:category>external</pdfaProperty:category>
                      <pdfaProperty:description>The extent or scope of the resource.</pdfaProperty:description>
                      <pdfaProperty:valueType>Text</pdfaProperty:valueType>
                    </rdf:li>
                  </rdf:Seq>
                </pdfaSchema:property>
              </rdf:li>
            </rdf:Bag>
          </pdfaExtension:schemas>
        </rdf:Description>
      </rdf:RDF>
    </x:xmpmeta>

  • How to create a pdf/a-1b with a text field

    hello, I'm trying to execute a very simple task: create a pdf/a-1b containig a text field.
    using Acrobat XI pro, I created a simple pdf form with 1 form field of type text , then tried to save as pdf/A-1b. The pdf is saved but the form field is removed from resulting pdf.
    Here in detail the steps I made:
    0) configure adobe pdf printer to save as pdf/A-1b
    1) creat a test.txt with notepad
    2) print using acrobat pdf printer
    3) open the generated pdf with Acrobat XI
    4) in 'Standards' panel I see that pdf conform
    5) now go to 'Tools\Modules' and 'Modify'
    6) add a textbox field
    7) exit from 'Modify' mode and save
    8) in 'Standards' panel I see that pdf doesn't conform.
    9) I opened the preflight tool and see two errors
         a) "XMP property for a page object not predefined and no extension schema present".
         page reports the following Trigger values:
         - Extension schema is present in XMP: is not true
         - Property exists in PDF/A Standard: is not true
         b) Form field does not have an appearance dictionary
         page reports the following Trigger values:
         - Form field has an appearance dictionary: is not true
    I'm quite new to Acrobat: simply downloaded the Actobat XI evaluation version, created the file and added the text field. No special settings nor other configurations was applied,
    I'm wondering if someone else was able to reproduce this behavior.
    thank you for any comment

    First, about invalidating the PDF/A. I was told, but never had this confirmed nor tested, that editing a PDF/A will automatically cause the PDF/A status to be deleted from the file. This is because Acrobat does not know about the compatibility of every edit with every current (and future) PDF subset standard, so it is safest just to remove the indicator - if you turn off Adobe's PDF/A view mode which will prevent editing anyway.
    Now, you have a problem with the signatures. Possibly a very big one. Your description "2) fill the text field with some annotations and then sign the signature field 3) save the pdf" is a little too separated. At the time a file is signed it is saved, the hash calculated, and written to the file. So signing and saving are just one action. Yet an unsigned digital signature needs, it seems to me, no appearance.
    I think the solution is a simple one. Sign it, but not with a signature field. If it is PDF/A when you start it is probably PDF/A when you finish. Signature fields seem a distraction and obstacle to the important thing, signing.

  • How to create an dynamic internal table with the structure of a ddic table

    Hi all,
    I want to fill ddic-tables (which I already created) in my abap dictionary with data out of CSV-files (which are located on the CRM-Server).  The ddic tables have different amount of fields.
    I started with creating a table which contains the name of the tables and the path to the matching CSV-file.
    At the beginning I'm filling an internal table with part of this data (the name of the ddic-tables) - after that I am looping at this internal table.
    LOOP AT lt_struc ASSIGNING <lfs_struc>.
         LOOP AT lv_itab1 INTO lv_wa1 WHERE ztab_name = <lfs_struc>.
         lv_feld = lv_wa1-zdat_name.
        ENDLOOP.
        CONCATENATE 'C:\-tmp\Exportierte Tabellen\' lv_feld INTO lv_pfad.
        Do.
        OPEN DATASET lv_pfad FOR INPUT IN TEXT MODE ENCODING NON-UNICODE IGNORING CONVERSION ERRORS.
        READ DATASET lv_pfad INTO lv_rec.
        IF sy-subrc NE 0.
          EXIT.
        ENDIF.
        enddo.
        REPLACE ALL OCCURRENCES OF '"' IN lv_rec WITH ''.
        SPLIT lv_rec AT ';' INTO TABLE lt_str_values.
        INSERT into (<lfs_struc>) values lr_str_value.
        CLOSE DATASET lv_pfad.
    endloop.
    This is not the whole code, but it's working until
    SPLIT lv_rec AT ';' INTO TABLE lt_str_values.
    I want to split all the data of lv_rec into an internal table which has the structure of the current ddic-table, but I didn't find out how to do give the internal table the structure of the ddic-table. In the code I used an internal tyble type string but I should be the structure of the matching tabel.
    If I try to create an internal table by using a fiel symbol, I am told, that the data types are not matching.
    Has anyone an idea?

    Hi Mayari,
    though you were successfull with
    METHOD cl_alv_table_create=>create_dynamic_table
    I must warn you not to use it. The reason is that the number of tables created is limited, the method uses GENERATE SUBROUTINE statement and this triggers an unwanted database commit.
    If you know the DDIC structure, it is (starting with ECC6.0) much easier:
    field-symbols:
      <table> type standard table.
    data:
      lr_data type ref to data.
    Create data lr_data type table of (<DDIC structure>).
    assign lr_data->* to <table>.
    The split code can be simplified gaining speed loosing complexity not loosing functionality.
    field-symbols:<fs_s> type any.
    field-symbols:<fs_t> type any.
    SPLIT lv_rec AT ';' INTO table it_string.
    loop at it_string assigning <fs_s>.
      assign component sy-tabix of wa_string to <fs_t>.
    if sy-subrc = 0.
      <fs_t> = <fs_s>.
    endif.
    at last.
      append <fs_itwa3> to <ft_itab3>.
    endat.
    endloop.
    Though it may work as Keshav.T suggested, there is no need to do that way.     
    Regards,
    Clemens

  • How to create a field with  1200 chars length

    Hi,
    Will anybody let me know how to create a field with length 1200 in a table.
    Regards,
    Madhavi

    Hi Madhvi,
    Other thing what you can do is
    1. First create a Table type.
         Goto SE11-> Dataelements ->Table type
         There on the next screen select Predefine radio button & there provide data type & size.
    2. Create a structure having a field typa of Table type created before. say that field is quant.
    Now in your program refer that structure to create an internal table & work area.
    Now if u append ur text to the field quant.
    try creating line type of size more that 255 if it works then fine other wise reduce it.
    Note:: This will be a deep structure.
    so first append value to the field quant,  the at the end of first record append valu to ur internal table.
    thanks
    Satyam

  • How can I add table fields with existing structure ?

    I like to add PSTLZ field to stucture KOMGG.Is it possible to add table field with the existind structure.If yes how can I do this?kindly help me on this.

    hi
    go to se11
    in change mode select the button append
    create new append which starts from Zpstlz in this komgg structure and add data element and domain to this field and activate with request number
    then in field catalogue this field should be visible ,here ends your append
    now it is ready to use in condition tables.
    reward if helps !!!!!

  • 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.

  • Is it possible to create a menu structure within iWeb with a so called tree layout? iWeb only provides automatically a horizontal layout

    Is it possible to create a menu structure within iWeb with a so called tree layout? iWeb only provides automatically a horizontal layout

    Not in iWeb itself.
    You have to create these menus yourself. Start here :
         A List Apart: Articles: Suckerfish Dropdowns
    Also, see podcast episode 9 of
         CSS Tricks and Tips
    and then add them to a webpage with the HTML Snippet.
    Or add the menu to the webpage with a JavaScript.
    Here's a sample page :
         http://www.wyodor.net/mfi/roodhout/
         http://www.wyodor.net/mfi/spelling/
         http://www.wyodor.net/mfi/Maaskant/Some_Menus.html
    The how-to-do page are here and here.
    More sample pages on my Made for iPad with iWeb pages.
         http://www.wyodor.net/mfi/
    You may have to learn HTML, CSS, JavaScript, AJAX, DOM and how iWeb creates its pages.

  • Creating Travel Request Error( structure field City_Districtadr not found )

    Hi All
    While creating travel request from EP, we are encountering the following "error:com.sap.tc.webdynpro.progmodel.context.ContextConfigurationException: DataNodeInfo(FcTreGeneralData.GeneralDataCheck.GeneralDataCheck_Output.GeneralDataCheck_E_General_Data): structure field City_Districtadr not found "
    I believe the issue is related to SP levels. Can anyone help resolve this.
    Thanks
    R Kumar

    Hi,
    As other said you may need to update software components SAP-HR , EA-HR for this check this
    SAP Note 761266 - Self Services Patches
    Regards
    Vijay
    Edited by: Vijay Mohan on Jun 27, 2008 3:11 PM

  • How to create an UTF8 data file with max length fields

    We have a legacy application which allows for a transparent text field a maximum length of 30 Bytes.
    The DB-Length of the field is 40 Chars.
    In old NUC days it was so simple:
    TYPES: BEGIN OF t_items,
             hwmc(30) TYPE C,  
    A move, that was it.
    Now we have migrated to unicode, use UTF8 for the external data and are puzzeling over how to create an output field with a fixed length of 30 Bytes.
    Has somebody an elegant idea?

    wyfwong, >> Does the schema which stores a large BLOB column has to create a large tablespace in order to store the column value or the database automatically enlarge the tablespace when a large BLOB column is loaded into the table? <<
    The answer to this question would depend on how you defined the tablespace adn datafiles used to store the tablespace objects to begin with: raw partitions verse files, autoextend on or off, etc....
    It would seem to me to be foolish not to predefine the tablespace at least large enough to hold the tables and indexes based on their expected near_term data loads. That is, if you know the initial load of data will be 60G then the tablespace should be larger than 60G to start with.
    HTH -- Mark D Powell --

  • I have created a form that contains fields with default text for a user to update/personalize.  Is there a way to style the text so I can quickly identify changes to default text in a field?

    I have created a form that contains fields with default text for a user to update/personalize.  Is there a way to style the text so I can quickly identify changes to default text in a field?

    George - Thanks you so much!  Actually, i'd love for the text color to be red font color.  Could you send me the script for that? And I assume I just copy and paste the script into the field properties (see screenshot)?
    thanks again!
    Seth

Maybe you are looking for

  • I uninstalled PS CC 2014 (64-bit) from my computer thinking I didn't need both the 64bit and 32bit version on my PC.

    I thought i was uninstalling the 32bit version and I guess that's what I get for thinking. I do have the 32bit version.  What do I need to do to get/download my 64bit version back? Someone had mentioned deactivating before uninstalling? Have no idea

  • Duplicate Vendor Ref. No.

    Dear Experts, Is there a way restrict the "Vendor Ref. No." field on the A/P Invoice screen so that the same invoice number from a vendor is not duplicated? In other words, we want to keep from paying a duplicate invoice. Any suggestiions? Also,  if

  • How to do CHECK IN the files for the document?

    Hi , By using BAPI_DOCUMENT_CHECKIN2 Function module I am uploading the Files for the Document number. My problem is - After uploading the files to the document number the files are not in check in status. I want the files to be checked in after uplo

  • TREX search KM BI Repository

    TREx 7.1 Portal 7.0 I have created and been using a KM BI Repository. This repository contains txt documents that are currently being accessed thru a KM Document IVIEW. I have recently implmented  TREX 7.1 and I am having trouble finding anything in

  • [to be del] FDM bulk insert error

    Sorry... thread was somehow duplicated when i create it.. Daniele Edited by: Daniele.Perego on 8-set-2011 15.14