Smart Form, Data Element and Parameters

1.- I created an Smart Form with an import parameter. The import's parameter type is a data element.
2.- I create an executable to call the Smart Form, I need to declare a parameter of the type of the same data element.
The problem is that when I try to compile I receive an error message:
The deep data type "ZTEXTOLIBRE" is not allowed. not allowed.          
The type of the parameter must be of this type because if not, i'd receive an error when i send the parameter to the function that call the Smart Form. Any idea?
Thanx

Hi Jose,
        check with this smartform LB_BIL_INVOICE declaration and with the driver program declaration.
like IS_BIL_INVOICE TYPE LBBIL_INVOICE in the form Interface and
like  DATA: ls_bil_invoice TYPE lbbil_invoice in the driver program RLB_INVOICE.
Hope this will help.
Thanks,
Vamsi.

Similar Messages

  • Very big problem with JSF about FORM and "id=" for HTML form's elements and

    I have discovered a very big problem with JSF about FORM and "id=" for HTML form's elements and java instruction "request.getParameterNames()".
    Suppose you have something like this, to render some datas form a Java Beans :
    <h:dataTable value="#{TablesDb2Bean.myDataDb2ListSelection}" var="current" border="2" width="50%" cellpadding="2" cellspacing="2" style="text-align: center">
    <h:column>
    <f:facet name="header">
    <h:outputText value="Name"/>
    </f:facet>
    <h:outputText id="nameTableDb2" value="#{current.db2_name_table}"/>
    </h:column>
    </h:dataTable>
    Everything works fine...
    Suppose you want to get the name/value pairs for id="nameTableDb2" and #{current.db2_name_table} to process them in a servlet. Here is the HTML generated :
    <td><span <span class="attribute-name">id=<span class="attribute-value">"j_id_jsp_1715189495_22:0:nameTableDb2">my-table-db2-xxxxx</span></td>
    You think you can use the java instructions :
    Enumeration NamesParam = request.getParameterNames();
    while (NomsParam.hasMoreElements()) {
    String NameParam = (String) NamesParam.nextElement();
    out.println("<h4>"++NameParam+ "+</h4>);
    YOU ARE WRONG : request.getParameterNames() wants the syntax *name="nameTableDb2" but JSF must use id="nameTableDb2" for "<h:outputText"... So, you can't process datas in a FORM generated with JSF in a Servlet ! Perhaps I have made an error, but really, I wonder which ?
    Edited by: ungars on Jul 18, 2010 12:43 AM
    Edited by: ungars on Jul 18, 2010 12:45 AM

    While I certainly appreciate ejb's helpful responses, this thread shows up a difference in perspective between how I read the forum and how others do. Author ejb is correct in advising you to stay inside JSF for form processing if form processing is what you want to do.
    However, I detect another aspect to this post which reminds me of something Marc Andreesen once said when he was trying to get Netscape off the ground: "there's no such thing as bad HTML."
    In this case, I interpret ungar's request as a new feature request. Can I phrase it like this?
    "Wouldn't it be nice if I could render my nice form with JSF but, in certain cases, when I REALLY know what I'm doing" just post out to a separate servlet? I know that in this case I'll be missing out on all the nice validation, conversion, l10n, i18n, ajax, portlet and other features provided by JSF".
    If this is the case, because it really misses the point of JSF, we don't allow it, but we do have an issue filed for it
    https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=127
    If you can't wait for it to be fixed, you could decorate the FormRenderer to fix what you want.
    I have an example in my JSF book that shows how to do this decoration. http://bit.ly/edburnsjsf2
    Ed

  • FM to lock data element and messages

    Hi All,
    I need a FM to enque data element and messages for translation.
    I have found out one FM for ABAP program texts - ENQUEUE_EABAPTEXTE.
    Can you please tell me the corresponding ones for data element and messages.
    Thank you.
    Ajith

    Hi Krishna,
    Use function modules    enqueue_<<lock object>>u2019 and dequeue_<<lock object>>u2019
    With Regard's
    SHAIK.

  • Procedure for creating transparent table, data element and domain

    Hi,
    Can anybody let me know the procedure for creating transparent table, data element and domain.
    Thanks,
    Mahathi

    Hi
    Database table and its components
    A database table is the central data structure of the ABAP/4 data dictionary.
    The structure of the objects of application development are mapped in tables on the underlying relational database.
    The attributes of these objects correspond to fields of the table.
    A table consists of columns (fields) and rows (entries). It has a name and different attributes, such as delivery class and maintenance authorization.
    A field has a unique name and attributes; for example it can be a key field.
    A table has one or more key fields, called the primary key.
    The values of these key fields uniquely identify a table entry.
    You must specify a reference table for fields containing a currency (data type CURR) or quantity (data type QUAN). It must contain a field (reference field) with the format for currency keys (data type CUKY) or the format for units (data type UNIT). The field is only assigned to the reference field at program runtime.
    The basic objects for defining data in the ABAP Dictionary are tables, data elements and domains. The domain is used for the technical definition of a table field (for example field type and length) and the data element is used for the semantic definition (for example short description).
    A domain describes the value range of a field. It is defined by its data type and length. The value range can be limited by specifying fixed values.
    A data element describes the meaning of a domain in a certain business context. It contains primarily the field help (F1 documentation) and the field labels in the screen.
    A field is not an independent object. It is table-dependent and can only be maintained within a table.
    You can enter the data type and number of places directly for a field. No data element is required in this case. Instead the data type and number of places is defined by specifying a direct type.
    The data type attributes of a data element can also be defined by specifying a built-in type, where the data type and number of places is entered directly.
    <b>Two Level Domain Example</b>
    A domain defines a field technically and therefore it may
    be used at different business levels.
    A data element describes the meaning of a domain in a certain business context.
    A domain, however, is used for the technical definition of a table field (for example field type and length).
    Therefore, although a take-off airport (data element S_FROMAIRP) would have a different business meaning from an airport where a plane lands (data element S_TOAIRP), they could still have the same domain(here S_AIRPID) because technically we could assign the same number of characters whether the airport is a take-off or a landing airport.
    <b>Definitions of Table in Database</b>
    In SAP R/3 tables are defined as
    A) Transparent tables: All of the fields of a dictionary table correspond to a field in the real database table.
    B) Pooled tables: Different tables which are not linked to each other with a common key are combined into a TABLE POOL. Several logical tables thus exist as a single real database table.
    C) Cluster tables: Several tables linked by a common key may sometimes be combined by the data dictionary and made to exist on the database schema as a single table.
    SAP is evolving R/3 tables in transparent tables.
    <b>Elaboration on each of the definitions</b>
    A transparent table is automatically created on the database when it is activated in the ABAP Dictionary. At this time the database-independent description of the table in the ABAP Dictionary is translated into the language of the database system used.
    The database table has the same name as the table in the ABAP Dictionary. The fields also have the same name in both the database and the ABAP Dictionary. The data types in the ABAP Dictionary are converted to the corresponding data types of the database system.
    The order of the fields in the ABAP Dictionary can differ from the order of the fields on the database. This permits you to insert new fields without having to convert the table. When a new field is added, the adjustment is made by changing the database catalog (ALTER TABLE). The new field is added to the database table, whatever the position of the new field in the ABAP Dictionary.
    Tables can also reside on the database as Pooled tables or cluster tables
    Pooled Tables: Different tables which are not linked to each other with a common key can be combined into a Table Pool. The tables contained within this pool are called Pooled Tables. A table pool is stored in the database a simple table. The table's data sets contain, in separate fields, the actual key for the data set to be stored, the name of the pooled table and the contents of the data set to be stored.
    Using this schema, several logical tables are combined into a single real database table. Although the data structure of each set is lost during the write to the table pool, it is restored during the read by the ABAP/4 Data Dictionary. The ABAP/4 Data Dictionary utilizes its meta-data to accomplish this.
    Since information must be prepared (defined) within the ABAP/4 Data Dictionary when it is read or written to (or accessed), this process itself defines these as not transparent tables
    Cluster Tables: Occasionally, several tables may be linked by a common key. The ABAP/4 Data Dictionary can also combine these tables into a single table. Each data set of the real table within the database contains a key and in a single data field, several data sets of the subsequent table for this key.
    As mentioned above, these table types require special data handling, therefore they are not transparent tables.
    <b>Technical Settings in Dictionary</b>
    The data class logically defines the physical area of the database (for ORACLE the table space) in which your table should be created. If you choose the data class correctly, the table will automatically be created in the appropriate area on the database when it is activated in the ABAP Dictionary.
    The most important data classes are master data, transaction data, organizational data and system data.
    Master data is data that is rarely modified. An example of master data is the data of an address file, for example the name, address and telephone number.
    Transaction data is data that is frequently modified. An example is the material stock of a warehouse, which can change after each purchase order.
    Organizational data is data that is defined during customizing when the system is installed and that is rarely modified thereafter. The country keys are an example.
    System data is data that the R/3 System itself needs. The program sources are an example.
    Further data classes, called customer data classes (USER, USER1), are provided for customers. These should be used for customer developments. Special storage areas must be allocated in the database.
    The size category describes the expected storage requirements for the table on the database.
    An initial extent is reserved when a table is created on the database. The size of the initial extent is identical for all size categories. If the table needs more space for data at a later time, extents are added. These additional extents have a fixed size that is determined by the size category specified in the ABAP Dictionary.
    You can choose a size category from 0 to 4. A fixed extent size, which depends on the database system used, is assigned to each category.
    Correctly assigning a size category therefore ensures that you do not create a large number of small extents. It also prevents storage space from being wasted when creating extents that are too large.
    Modifications to the entries of a table can be recorded and stored using logging.
    To activate logging, the corresponding field must be selected in the technical settings. Logging, however, only will take place if the R/3 System was started with a profile containing parameter 'rec/client'. Only selecting the flag in the ABAP Dictionary is not sufficient to trigger logging.
    Parameter 'rec/client' can have the following settings:
    rec/client = ALL All clients should be logged.
    rec/client = 000[...] Only the specified clients should be logged.
    rec/client = OFF Logging is not enabled on this system.
    The data modifications are logged independently of the update. The logs can be displayed with the Transaction Table History (SCU3).
    Logging creates a 'bottleneck' in the system:
    Additional write access for each modification to tables being logged.
    This can result in lock situations although the users are accessing different application tables!
    <b>Create transparent table</b>
    Go to transaction SE11. Enter name of table you want to create (beginning with Y or Z) and click on create pushbutton
    Enter the delivery class and the table maintenance criteria
    The delivery class controls the transport of table data when installing or upgrading, in a client copy and when transporting between customer systems .
    The display/maintenance indicator specifies whether it is possible to display/maintain a table/view using the maintenance tools Data Browser (transaction SE16) and table view maintenance (transactions SM30 and SM31).
    Enter the name of the table field and the data element. The
    System automatically populates the technical details for
    existing data elements.
    So far as possible it is advisable to use existing data elements which befit the business requirements.
    However, we may create data elements if need be. The same is shown in the next slide.
    To create a data element simply double click on it.
    Alternately create a data element by simply choosing the
    data type radio button on SE11 initial screen.
    <b>Create data element</b>
    The system prompts you to create a new data element.
    Choose the Yes pushbutton.
    Under the data type tab enter the domain name which
    determines the technical characteristics of the field.
    Further characteristics tab: Allows you to specify a search help assigned to the data element.
    It also allows you to specify a parameter id which helps you populate a field from SAP memory.
    Field label: Can be assigned as prefixed text to a screen field referring to the ABAP Dictionary. The text is displayed on the screen in the logon language of the user (if the text was translated into this language).
    <b>Create domain</b>
    If the domain does not exist in the data dictionary the
    system prompts you to create one.
    Give the technical characteristics under the definition
    tab. Value range allows you value restriction at domain
    level.
    Value range tab:
    As explained in the section Consistency through input checks one can restrict the possible values for a field at domain level itself by either entering fixed values or by specifying a value table under the tab Value range.
    <b>Currency/Quantity fields in a table</b>
    A currency or a quantity field must be assigned a reference field from a reference table containing applicable qty unit or currency unit.
    Field of the reference table, containing the applicable quantity unit or currency
    A field containing currency amounts (data type CURR) must be assigned a reference field including the currency key (data type CUKY).
    A field containing quantity specifications (data type QUAN) must be assigned a reference field including the associated quantity unit (data type UNIT).
    <b>Create transparent table continue</b>
    Maintain the technical settings of the table by clicking on the tab

  • Download Smart form data for 6000 Invoice documents into Excel

    Hi,
    Using RSNAST000 program currently we are printing samrtform.
    Instead of printing data in smartform i need to write into excel.
    Please let me know the logic to do this i need to write 6000 smartforms(Invoice documents) data into Excel.
    Thanks
    Bhuvana

    Ask him how he thinks smart forms can be embedded in Excel, and why he wants Excel (for which benefit, for using which functions of Excel?). He has an idea, for sure.
    Technical possibilities of Excel to embed graphical documents are very limited, I mean 2 solutions: either storing the whole document as an image (rather easy), or split the document into pieces of text (into cells) and boxes and images (stored as Excel graphical elements) with a rather bad render (highly complex, I mean unfeasible).
    - If his idea is to embed them as images (PDFs), then show him the result : 50 kb to 500 kb for each smart form = excel of several mega bytes. He will certainly regret. Moreover I don't see the interest.
    On the other way, propose him to store smart forms in a single spool, so he will be able to display (it's then equivalent to preview) all of them at the same time. He'll surely agree that it's the most efficient way.
    Propose him proofs of concepts.

  • Smart form Date formate

    Hi All,
          I am new to smartforms.I want to position the  date on page top corner of the left side of the form such as day month year(Tuesday,january 01,2008).how to get this formate in smart form?
    Thanks & Reagrds
    HB

    Hi,
    Check this  it may be useful to u
    Formatting Date Fields: SET DATE MASK
    To define the formatting of date fields, use the SET DATE MASK control command. Executing this command causes all subsequent date fields to be printed using the specified format.
    Syntax:
    /: SET DATE MASK = 'date_mask'
    In the date mask, you can use the following codes:
    DD: day (two digits)
    DDD: day name - abbreviated
    DDDD: day name - written out in full
    MM: month (two digits)
    MMM: month name - abbreviated
    MMMM: month name - written out in full
    YY: year (two digits)
    YYYY: year (four digits)
    LD: day (formatted as for the L option)
    LM: month (formatted as for the L option)
    LY: year (formatted as for the L option)
    All other characters found in a date mask are interpreted as simple text and are copied straight into the output.
    Assuming the current system date is March 1st, 1997.
    /: SET DATE MASK = 'Foster City, MM/DD/YY'
    &DATE& -> Foster City, 03/01/97
    /: SET DATE MASK = 'MMMM DD, YYYY'
    &DATE& -> March 01, 1997
    The date mask may be reset to the default setting by using an empty string:
    /: SET DATE MASK = ' '
    The abbreviated and full forms of the names of the days and months are stored in the language dependent TTDTG table under the following keys:
    %%SAPSCRIPT_DDD_dd: abbreviated day name
    %%SAPSCRIPT_DDDD_dd: full form of day name
    %%SAPSCRIPT_MMM_mm: abbreviated month name
    %%SAPSCRIPT_MMMM_mm: full form of month name
    dd: day number 01 = Monday,..., 07 = Sunday
    mm: month number 01 = January,..., 12 = December
    Regards

  • Purchase order smart form - Version number and link to RFQ

    Hi I am making enhancements to the purchase order smartform and wanted to print the version number (ekko-revno) on the print layout.
    The structure for ekko which is being filled in at runtime from print program ZMMS_640FM06P has the field 'revno' blank. It is filling in the rest all fields. When I go into the ekko table I can see a value in this field. Does anyone know why this field is NOT being filled. I do not want to do a select on this field again in my smart form.
    I would also like to know if there is a any way you can track back the RFQ number for a particular PO.
    Thanks in advance..

    I hope It wil be there in table, check the entry & check teh work area entry.
    Quotation will be available in PO item data. Keep  a break point in Table and workarea.
    Tx
    Parthi
    If helpful, reward points.

  • Convertion of Smart form to pdf and sending mail to vendor for PO

    Hello all,
    I have modified a standard PO Smartform and running it through ME23N.
    In this i have to convert it to a pdf file and then send it through mail to the vendor.
    I have found out FMs'CONVERT_OTF'and
    'SO_NEW_DOCUMENT_ATT_SEND_API1'
    to convert it and send mail. But can u tell me how to go about using it.
    As i am using a standard program do i have to copy this prog to zprog and then call the fm out there. I am not sure.
    Thanks
    Salil

    Hi,
    Here is the sample code.If you find this as useful,kindly reward points by clicking the star on the left of reply.
    Internal Table declarations
    DATA: i_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
          i_tline TYPE TABLE OF tline WITH HEADER LINE,
          i_receivers TYPE TABLE OF somlreci1 WITH HEADER LINE,
          i_record LIKE solisti1 OCCURS 0 WITH HEADER LINE,
    Objects to send mail.
          i_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
          i_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          i_objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          i_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
    Work Area declarations
          w_objhead TYPE soli_tab,
          w_ctrlop TYPE ssfctrlop,
          w_compop TYPE ssfcompop,
          w_return TYPE ssfcrescl,
          w_doc_chng typE sodocchgi1,
          w_data TYPE sodocchgi1,
          w_buffer TYPE string,"To convert from 132 to 255
    Variables declarations
          v_form_name TYPE rs38l_fnam,
          v_len_in LIKE sood-objlen,
          v_len_out LIKE sood-objlen,
          v_len_outn TYPE i,
          v_lines_txt TYPE i,
          v_lines_bin TYPE i.
    call function 'SSF_FUNCTION_MODULE_NAME'
         exporting
              formname           = 'ZZZ_TEST2'
         importing
              fm_name            = v_form_name
         exceptions
              no_form            = 1
              no_function_module = 2
              others             = 3.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    w_ctrlop-getotf = 'X'.
    w_ctrlop-no_dialog = 'X'.
    w_compop-tdnoprev = 'X'.
    CALL FUNCTION v_form_name
         EXPORTING
              control_parameters = w_ctrlop
              output_options     = w_compop
              user_settings      = 'X'
         IMPORTING
              job_output_info    = w_return
         EXCEPTIONS
              formatting_error   = 1
              internal_error     = 2
              send_error         = 3
              user_canceled      = 4
              OTHERS             = 5.
    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_otf[] = w_return-otfdata[].
    CALL FUNCTION 'CONVERT_OTF'
         EXPORTING
              format                = 'PDF'
              max_linewidth         = 132
         IMPORTING
              bin_filesize          = v_len_in
         TABLES
              otf                   = i_otf
              lines                 = i_tline
         EXCEPTIONS
              err_max_linewidth     = 1
              err_format            = 2
              err_conv_not_possible = 3
              OTHERS                = 4.
    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    Convert PDF from 132 to 255.
    LOOP AT i_tline.
    Replacing space by ~
      TRANSLATE i_tline USING ' ~'.
      CONCATENATE w_buffer i_tline INTO w_buffer.
    ENDLOOP.
    Replacing ~ by space
    TRANSLATE w_buffer USING '~ '.
    DO.
      i_record = w_buffer.
    Appending 255 characters as a record
      APPEND i_record.
      SHIFT w_buffer LEFT BY 255 PLACES.
      IF w_buffer IS INITIAL.
        EXIT.
      ENDIF.
    ENDDO.
    Refresh: i_reclist,
             i_objtxt,
             i_objbin,
             i_objpack.
    clear    w_objhead.
    Object with PDF.
    i_objbin[] = i_record[].
    DESCRIBE TABLE i_objbin LINES v_lines_bin.
    Object with main text of the mail.
    i_objtxt = 'Find attached the output of the smart form.'.
    APPEND i_objtxt.
    i_objtxt = 'Regards,'.
    APPEND i_objtxt.
    i_objtxt = 'J.Jayanthi'.
    APPEND i_objtxt.
    DESCRIBE TABLE i_objtxt LINES v_lines_txt.
    Document information.
    w_doc_chng-obj_name = 'Smartform'.
    w_doc_chng-expiry_dat = sy-datum + 10.
    w_doc_chng-obj_descr = 'Smart form output'.
    w_doc_chng-sensitivty = 'F'. "Functional object
    w_doc_chng-doc_size = v_lines_txt * 255.
    Pack to main body as RAW.
    Obj. to be transported not in binary form
    CLEAR i_objpack-transf_bin.
    Start line of object header in transport packet
    i_objpack-head_start = 1.
    Number of lines of an object header in object packet
    i_objpack-head_num = 0.
    Start line of object contents in an object packet
    i_objpack-body_start = 1.
    Number of lines of the object contents in an object packet
    i_objpack-body_num = v_lines_txt.
    Code for document class
    i_objpack-doc_type = 'RAW'.
    APPEND i_objpack.
    Packing as PDF.
    i_objpack-transf_bin = 'X'.
    i_objpack-head_start = 1.
    i_objpack-head_num = 1.
    i_objpack-body_start = 1.
    i_objpack-body_num = v_lines_bin.
    i_objpack-doc_type = 'PDF'.
    i_objpack-obj_name = 'Smartform'.
    CONCATENATE 'Smartform_output' '.pdf'
    INTO i_objpack-obj_descr.
    i_objpack-doc_size = v_lines_bin * 255.
    APPEND i_objpack.
    Document information.
    CLEAR i_reclist.
    e-mail receivers.
    i_reclist-receiver = '[email protected]'.
    i_reclist-express = 'X'.
    i_reclist-rec_type = 'U'. "Internet address
    APPEND i_reclist.
    Sending mail.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
         EXPORTING
              document_data              = w_doc_chng
              put_in_outbox              = 'X'
         TABLES
              packing_list               = i_objpack
              object_header              = w_objhead
              contents_hex               = i_objbin
              contents_txt               = i_objtxt
              receivers                  = i_reclist
         EXCEPTIONS
              too_many_receivers         = 1
              document_not_sent          = 2
              document_type_not_exist    = 3
              operation_no_authorization = 4
              parameter_error            = 5
              x_error                    = 6
              enqueue_error              = 7
              OTHERS                     = 8.
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

  • SMART FORMS- data from  internal table issue

    Hi ,
           I have a smart form in which I have to print three types of materials of Material Types say M1, M2 ,M3.
    In the SMART FORM,Main Window, I have created 3 TABLES for 3 types of Materials ie,
               TableM1,
               TableM2,
               TableM3.
    The internal tables to populate these TABLES are
    ( passing from Print program ).
                t_M1,
                t_M2,
                t_M3
    The Number of FIELDS vary in all the tables ,thats why I have created 3 internal tables for Diff Material Types.
    But only first TABLE is getting printed ie data inside TableM2, TableM3 are not getting printed.
    Can any SMARTFORM Gurus please let me know how I can solve this issue.
    Regards
    Avi

    Hi,
       Check whether you are mentioning any condition on the data. There are different possibilites of not getting printed. Like the way your displaying, data is in table.
    Can you please clearly mention how did you populated the internal table and kept the logic to print the values in the table. So that it problem would be  more clearly nown.
    Br,
    Laxmi

  • BeforeReportTrigger , Data Template and Parameters

    Hi
    I'm new to XML publisher. Things has been going quite smoothly until I started to introduce BeforeReportTriggers and Parameters in my Data Template.
    When I go to view the report, I get
    "The report cannot be rendered because of an error, please contact the administrator"
    Unfortunately, I don't know if there is any log file for further information. I know the package works when I was debugging it.
    Please help.
    Below is my XML Data Template, the package header and body
    XML data template
    <dataTemplate name="SCH_A_dt1" description="schedule A database template1" defaultPackage="sch_a_dt1" dataSourceRef="nbdot_zsvm1">
    <parameters>
    <parameter name="p_COUNTY" dataType="character" defaultValue="GLOUCESTER"/>
    </parameters>
    <dataQuery>
    <sqlStatement name="Q1">
    <!-- insert sql statement here-->
    <![CDATA[select COUNTY, NETWORK_COMP,SECT_ID,CS_REF,RD_LOC,TYPE_MEANING,TOTAL_KM from sch_A_byCounty_det
    where &P_WHERE_CLAUSE]]>
    </sqlStatement>
    </dataQuery>
    <!-- BEFOREREPORT TRIGGER -->
    <dataTrigger name="beforeReportTrigger" source="sch_a_dt1.BEFOREREPORTTRIGGER(p_COUNTY)"/>
    <!-- DataStructure -->
    <dataStructure>
    <group name="G_COUNTY" source="Q1">
    <element name="COUNTY_NAME" value="COUNTY"/>
    <group name="G_NETWORK" source="Q1">
    <element name="NETWORK" value="NETWORK_COMP"/>
    <element name="SECT_ID" value="SECT_ID"/>
    <element name="ROAD_LOCATION" value="RD_LOC"/>
    <element name="TYPE_MEANING" value="TYPE_MEANING"/>
    <element name="LENGTH" value="TOTAL_KM"/>
    </group>
    </group>
    </dataStructure>
    </dataTemplate>
    Package header
    create or replace package sch_a_dt1
    as
    p_county varchar2(50);
    P_WHERE_CLAUSE VARCHAR2(100);
    procedure beforereportTrigger(p_county varchar2);
    end;
    Package body
    CREATE or replace PACKAGE BODY sch_a_dt1
    as
    procedure beforereportTrigger (p_county varchar2) is
    begin
    if (p_county) is null then
    p_where_clause := '1=1';
    elsif (p_county = '*') then
    p_where_clause := '1=1';
    else
    p_where_clause := 'COUNTY in (' ||p_county||')';
    end if;
    end;
    end;
    Thanks Zubran

    Thanks Daniel..
    You were right! The weird thing is that the XML user guide used a procedure as an example.
    Anyway. I wonder if you assist me further. Although I don't get an error, when I try to query on a paramter, I get no data return {ie. only the parameter is shown in result}. However, when I pass in '*' or null as per my function then this return the entire database.
    Please can you have a quick at the function and xml data template again.
    XML Data Template
    <dataTemplate name="SCH_A_dt1" description="schedule A database template1" defaultPackage="sch_a_dt1" dataSourceRef="nbdot_zsvm1">
    <parameters>
    <parameter name="p_COUNTY" dataType="character" defaultValue="GLOUCESTER"/>
    </parameters>
    <dataQuery>
    <sqlStatement name="Q1">
    <!-- insert sql statement here-->
    <![CDATA[select COUNTY, NETWORK_COMP,SECT_ID,CS_REF,RD_LOC,TYPE_MEANING,TOTAL_KM from sch_A_byCounty_det
    where &amp;P_WHERE_CLAUSE]]>
    </sqlStatement>
    </dataQuery>
    <!-- BEFOREREPORT TRIGGER -->
    <dataTrigger name="beforeReportTrigger" source="sch_a_dt1.beforerep(:p_COUNTY)"/>
    <!-- DataStructure -->
    <dataStructure>
    <group name="G_COUNTY" source="Q1">
    <element name="COUNTY_NAME" value="COUNTY"/>
    <group name="G_NETWORK" source="Q1">
    <element name="NETWORK" value="NETWORK_COMP"/>
    <element name="SECT_ID" value="SECT_ID"/>
    <element name="ROAD_LOCATION" value="RD_LOC"/>
    <element name="TYPE_MEANING" value="TYPE_MEANING"/>
    <element name="LENGTH" value="TOTAL_KM"/>
    </group>
    </group>
    </dataStructure>
    </dataTemplate>
    Procedure body
    CREATE or replace PACKAGE BODY sch_a_dt1
    as
    function beforerep (p_county in varchar2) return boolean is
    begin
    if (p_county) is null then
    p_where_clause := '1=1';
    return true;
    elsif (p_county = '*') then
    p_where_clause := '1=1';
    return true;
    else
    p_where_clause := 'COUNTY in (' ||p_county||')';
    return true;
    end if;
    exception
    when others then
    return false;
    end ;
    end ;
    Header
    create or replace package sch_a_dt1
    as
    p_county varchar2(50);
    P_WHERE_CLAUSE VARCHAR2(100);
    function beforerep (p_county in varchar2) return boolean;
    end;
    /

  • Deleting data elements and domains

    hi guys,
    how do i delete data elements that i had previously created in ztables (they are zelements and zdomains)permanently.  thanks in advance.

    from the same place where u created them ie go to
    SE11> Use menu option Dictionary Object> Delete
    or
    SE80 > Use menu option Workbench>Edit Object>Click the tab Dictionary>use the Delete icon
    Regards,
    Suresh Datti

  • How to find Where does Data Elements and structures are used ?

    Hi everyone .
    Is there any table which stores data elements/structures and where they are used ?
    If not is there any way to find by writing some <b>program</b> where does a data element or a structure is used ? Which tables will require for that ? If any one can give example it will be most helpful .
    Thanks and Regards,
    Kaushal N. Shah

    Hi Kaushal,
    DD04L stores the data elements.
    DD02L stores the structures.
    So you can query these tables & find them.
    Regards,
    Chetan.
    PS:Reward points if this helps.

  • Reporting Services: XML Data Source and Parameters

    I’ve created an XML service (asmx) in ASP.Net that I want to use as a data source for an SQL Reporting Services report. The report and service work just fine if I use a Method from the service that does not have parameters. However, if I use a Method that
    needs a parameter, the query/report fails. My investigation makes it seem that the parameter is not getting passed to the Method at all. (The parameter is a DateTime and it always ends up uninitialized and the WebMethod throws an exception.)
    I’ve exhausted all my TechNet resources and Googled this excessively. It would seem that I am doing this correctly, based on all the examples I’ve seen, but I still can’t get it to work.
    I've done a lot of different permutations, but this is where I’m at right now.
    (Note: I've changed the Web Method's parameter to be a String instead of a DateTime. I did this as part of my trial-and-error process. Once I get this figured I'll return it to a DateTime.)
    I'm trying to include everything here that will help you help me (see attached image). I had to obfuscate a few things (not sure if that is necessary).
    See attached image:
    Created Shared Data Source in SQL Report Services
    Create Report Parameter (matching Web Method parameter)
    Created a data set in Report Builder (with Query, and parameter - matching Web Method parameter)
    Query in Data Source
    <Query>
    <Method Name="GetDueDateAging" Namespace="http://zzz.com/vvv">
    <Parameters>
    <Parameter Name="cutoffDate">
    <DefaultValue></DefaultValue>
    </Parameter>
    </Parameters>
    </Method>
    <SoapAction>http://zzz.com/vvv/GetDueDateAging</SoapAction>
    <ElementPath IgnoreNamespaces="true">*</ElementPath>
    </Query>
    This is where I needed the most help, and I don't totally understand it. But again, the parameter-less Method worked. I've tried adding different things in the <DefaultValue> tag (like @cuttoffDate and constant values), with no success.
    WebMethod Code
    [WebMethod]
    public List<AgingInvoice> GetDueDateAging(string cutoffDate)
    DateTime cd = DateTime.MinValue;
    if (!DateTime.TryParse(cutoffDate, out cd))
    cd = DateTime.Now;
    Shared.DueDateAging aging = new Shared.DueDateAging();
    return aging.GetDueDateAging(cd, Settings.Default.ConnectionString);
    I've looked at every online resource that I could find, but I'm striking out right now. Any help or hints would be greatly appreciated.
    Thanks.
    Derrick

    Hi Derrick,
    In your case, please refer to the following method to troubleshooting this problem:
    We can use Fiddler2 to monitor the HTTP post, and check whether the parameter is being sent. The Fiddler tool can helps us debug web applications by capturing network traffic between the Internet and test computers. If the parameter is being sent, please
    debug the web service to ensure the method has values return.
    Regards,
    Alisa Tang
    Alisa Tang
    TechNet Community Support

  • Data tempalte and parameters

    Hey,
    I've started learning xml publisher and I've a litle problem/question. I want do something like that:
    Data template:
    <dataQuery>
    <sqlStatement name="Q1">
    <![CDATA[
    SELECT
    col1,col2
    FROM
    table
    WHERE
    col1= :ColumnNo
    ]]>
    </sqlStatement>
    </dataQuery>
    <parameters>
    <parameter id="ColumnNo" dataType="String" defaultValue="something"/>
    </parameters>
    SQL query in "sqlStatement" don't see parameter "ColumnNo".
    It is possibility to solve this problem?

    Igby,
    it's not <parameter id="ColumnNo" ...., it's <parameter name="ColumnNo"...
    And move the parameter-definition above the dataquery.
    Hope that helps
    Rainer

  • Convertion of Smart form to pdf and sending mail to vendor for Invoice

    Hi All...
    now I am getting the output form of Invoice by the T-code  VF02
    here Im using Zreport & Zform...
    my requirment is to convert smartform output to PDF and send as an e-mail attachment on my Existing report
    where I  use the FM - CONVERT_OTF_2_PDF ..
    here my code
    REPORT  yinvoice_is.
    TABLES: vbrk,vbrp, vbak, vbap, vbkd .
    DATA : it_vbap TYPE STANDARD TABLE OF vbap WITH HEADER LINE ,
           it_vbrk LIKE STANDARD TABLE OF vbrk with header line,
           it_vbkd TYPE STANDARD TABLE OF vbkd WITH HEADER LINE ,
           it_vbrp TYPE STANDARD TABLE OF vbrp WITH HEADER LINE ,
           it_vbrp1 TYPE STANDARD TABLE OF vbrp WITH HEADER LINE ,
           it_vbfa TYPE STANDARD TABLE OF vbfa WITH HEADER LINE ,
           it_adrc1 TYPE STANDARD TABLE OF adrc WITH HEADER LINE,
           it_adrc2 TYPE STANDARD TABLE OF adrc WITH HEADER LINE.
    DATA: sum TYPE vbrp-kzwi5.
    DATA: v_vkbur  TYPE vkbur,
          v_adrnr1 TYPE adrnr,
          v_adrnr2 TYPE adrnr,
          v_vbelv  TYPE vbelv,
          v_delch  TYPE vbeln,
          v_bstkd  TYPE bstkd,
          v_kdmat  TYPE kdmat,
          v_kwert  TYPE kwert.
    DATA : fm_name TYPE rs38l_fnam.
    PARAMETER p_inv_no LIKE vbrk-vbeln OBLIGATORY  .
    Selecting Data
    SELECT VBELN
            ERDAT
            VKORG
            KUNRG
            STCEG
            NETWR
            MWSBK
            KNUMV
            KUNAG
            REGIO
      FROM vbrk
      INTO CORRESPONDING FIELDS OF TABLE it_vbrk
      WHERE vbeln = p_inv_no .
    SELECT matnr
           kzwi1
           kzwi2
           kzwi3
           kzwi4
           kzwi5
           netwr
           mwsbp
           meins
           fklmg
           arktx
           FROM vbrp
      INTO CORRESPONDING FIELDS OF TABLE it_vbrp
      WHERE vbeln = p_inv_no .
    Selecting Sales Order No.
    SELECT  SINGLE vbelv
      FROM  vbfa
      INTO  v_vbelv
      WHERE vbeln = p_inv_no
      AND   vbtyp_v = 'C'.
    IF sy-subrc = 0.
    Selecting Delivery Challan...
      SELECT  SINGLE vbeln
        FROM  vbfa
        INTO  v_delch
        WHERE vbelv = v_vbelv
        AND   vbtyp_n = 'J'.
      SELECT SINGLE bstkd
        FROM vbkd
        INTO v_bstkd
        WHERE vbeln = v_vbelv .
      SELECT matnr kdmat
        FROM vbap
        INTO CORRESPONDING FIELDS OF TABLE it_vbap
        WHERE vbeln = v_vbelv.
    ENDIF.
    READ TABLE it_vbrk INDEX 1.
    IF sy-subrc = 0.
      SELECT SINGLE kwert
        FROM konv
        INTO v_kwert
        WHERE knumv = iT_vbrk-knumv
        AND   kschl = 'HD00'.
    ENDIF.
    Selecting From Address
    SELECT SINGLE vkbur
      FROM vbak
      INTO v_vkbur
      WHERE vbeln = v_vbelv.
    IF sy-subrc = 0.
      SELECT SINGLE adrnr
        FROM tvbur
        INTO v_adrnr1
        WHERE vkbur = v_vkbur.
      IF sy-subrc = 0.
        SELECT SINGLE *
          FROM adrc
          INTO CORRESPONDING FIELDS OF it_adrc1
          WHERE addrnumber = v_adrnr1.
          APPEND it_adrc1.
      ENDIF.
    ENDIF.
    APPEND it_adrc.
    Selecting TO Address
    SELECT SINGLE adrnr
      FROM vbpa
      INTO v_adrnr2
      WHERE vbeln = p_inv_no
      AND   parvw = 'RE'.
    IF sy-subrc = 0.
      SELECT SINGLE *
        FROM adrc
        INTO CORRESPONDING FIELDS OF it_adrc2
        WHERE addrnumber = v_adrnr2.
        APPEND it_adrc2.
    ENDIF.
    Calling Function Module
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
      EXPORTING
        formname                 = 'YINVOICE_IS'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
    IMPORTING
       fm_name                  = fm_name
    EXCEPTIONS
      NO_FORM                  = 1
      NO_FUNCTION_MODULE       = 2
      OTHERS                   = 3
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    Calling Function Module
    CALL FUNCTION fm_name
    *'/1BCDWB/SF00000496'
      EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
      CONTROL_PARAMETERS         =
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
      OUTPUT_OPTIONS             =
      USER_SETTINGS              = 'X'
        i_vbelv                    = v_vbelv
        i_bstkd                    = v_bstkd
        i_kdmat                    = v_kdmat
        i_kwert                    = v_kwert
        i_delch                    = v_delch
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
      TABLES
        it_vbrk                    = it_vbrk
        it_vbrp                    = it_vbrp
        it_vbap                    = it_vbap
        it_adrc1                   = it_adrc1
        it_adrc2                   = it_adrc2
    EXCEPTIONS
      FORMATTING_ERROR           = 1
      INTERNAL_ERROR             = 2
      SEND_ERROR                 = 3
      USER_CANCELED              = 4
      OTHERS                     = 5
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM.                    "ENTRY

    hi,
    use this code..
    DATA: i_otf    TYPE itcoo OCCURS 0 WITH HEADER LINE,
          i_tline  TYPE TABLE OF tline WITH HEADER LINE,
          i_record LIKE solisti1 OCCURS 0 WITH HEADER LINE,
    Objects to send mail.
          i_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
          i_objtxt  LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          i_objbin  LIKE solisti1 OCCURS 0 WITH HEADER LINE,
          i_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
    Variables declarations
          v_len_in LIKE sood-objlen,                            "#EC NEEDED
          v_lines_txt TYPE i,
          v_lines_bin TYPE i,
    Work Area declarations
          w_ctrlop    TYPE ssfctrlop,
          w_return    TYPE ssfcrescl,
          w_compop    TYPE ssfcompop,
          wa_objhead  TYPE soli_tab,
          wa_doc_chng TYPE sodocchgi1,
          wa_buffer   TYPE string.            "To convert from 132 to 255
    Put a IF ELSE condition whether u want form output or E-mail output..
    if it is a E-mail.. then call a small Sub-routine within your program..
    FORM f_email .
      w_ctrlop-getotf    = 'X'.
      w_ctrlop-no_dialog = 'X'.
      w_compop-tdnoprev  = 'X'.
      CALL FUNCTION fnam
        EXPORTING
          control_parameters = w_ctrlop
          output_options     = w_compop
          nast               = nast
          v_tcode            = v_tcode
        IMPORTING
          job_output_info    = w_return
        TABLES
          it_vbdkr           = it_tvbdkr[]
          it_vbdpr           = tvbdpr[]
          it_zglentitycode   = it_zglentitycode[]
          it_vttk            = it_vttk[]
          it_kna1            = it_kna1[]
          it_t005            = it_t005[]
          it_adrc            = it_adrc[]
          it_ekpo            = it_ekpo[]
          it_ekko            = it_ekko[]
          it_vbrp            = it_vbrp[]
          it_mara            = it_mara[]
          it_vbrk            = it_vbrk[]
          it_likp            = it_likp[]
          it_vttp            = it_vttp[]
          it_t001            = it_t001[]
          it_zlogdely        = it_zlogdely[]
          it_prod            = it_prod[]
          it_lineitems       = it_lineitems[]
          it_tvzbt           = it_tvzbt[]
          it_t173t           = it_t173t[]
          it_t005t           = it_t005t[]
          it_zplant          = it_zplant[]
          it_stxbitmaps      = it_stxbitmaps[]
          it_prod_desc       = it_prod_desc[].
      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_otf[] = w_return-otfdata[].
    *Converting the  OFT format data  to  PDf format
      CALL FUNCTION 'CONVERT_OTF'
        EXPORTING
          format        = 'PDF'
          max_linewidth = 132
        IMPORTING
          bin_filesize  = v_len_in
        TABLES
          otf           = i_otf
          lines         = i_tline.
      LOOP AT i_tline.
        TRANSLATE i_tline USING '~'.
        CONCATENATE wa_buffer i_tline INTO wa_buffer.
      ENDLOOP.
      TRANSLATE wa_buffer USING '~'.
      DO.
        i_record = wa_buffer.
        APPEND i_record.
        SHIFT wa_buffer LEFT BY 255 PLACES.
        IF wa_buffer IS INITIAL.
          EXIT.
        ENDIF.
      ENDDO.
    Attachment
      REFRESH:
        i_reclist,
        i_objtxt,
        i_objbin,
        i_objpack.
      CLEAR wa_objhead.
      i_objbin[] = i_record[].
    Create Message Body
    Title and Description
      i_objtxt = 'COMMERCIAL INVOICE'.
      APPEND i_objtxt.
      DESCRIBE TABLE i_objtxt LINES v_lines_txt.
      READ TABLE i_objtxt INDEX v_lines_txt.
      wa_doc_chng-obj_name   = 'COMMERCIAL INVOICE'.
      wa_doc_chng-expiry_dat = sy-datum + 10.
      wa_doc_chng-obj_descr  = 'COMMERCIAL INVOICE'.
      wa_doc_chng-sensitivty = 'F'.
      wa_doc_chng-doc_size   = v_lines_txt * 255.
      CLEAR i_objpack-transf_bin.
      i_objpack-head_start = 1.
      i_objpack-head_num   = 0.
      i_objpack-body_start = 1.
      i_objpack-body_num   = v_lines_txt.
      i_objpack-doc_type   = 'RAW'.
      APPEND i_objpack.
    Attachment
    (pdf-Attachment)
      i_objpack-transf_bin = 'X'.
      i_objpack-head_start = 1.
      i_objpack-head_num   = 0.
      i_objpack-body_start = 1.
      DESCRIBE TABLE i_objbin LINES v_lines_bin.
      READ TABLE i_objbin INDEX v_lines_bin.
      i_objpack-doc_size =  v_lines_bin * 255 .
      i_objpack-body_num  = v_lines_bin.
      i_objpack-doc_type  = 'PDF'.
      i_objpack-obj_name  = 'COMMERCIAL INVOICE'.
      i_objpack-obj_descr = 'COMMERCIAL INVOICE'.
      APPEND i_objpack.
      IF it_adr6[] IS NOT INITIAL.
        LOOP AT it_adr6 INTO wa_adr6.
          CLEAR i_reclist.
          i_reclist-receiver = wa_adr6-smtp_addr.
          i_reclist-rec_type = 'U'.
          i_reclist-com_type = 'INT'.
          APPEND i_reclist.
        ENDLOOP.
        CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
          EXPORTING
            document_data = wa_doc_chng
            put_in_outbox = 'X'
          TABLES
            packing_list  = i_objpack
            object_header = wa_objhead
            contents_bin  = i_objbin
            contents_txt  = i_objtxt
            receivers     = i_reclist.
      ENDIF.
    ENDFORM.                    " f_email
    regards
    vijay

Maybe you are looking for

  • Keeps asking for password when deleting file ?

    I updated to Mac OS Lion and now every time I delete any file it asks me for my password. Any file - be it on the Desktop, in the Downloads folder or in any other place. It asks me for my password every time. That behaviour is annoying. Is it the new

  • Old connections not showing on Discoverer Connections page after a REFRESH

    Hello all, I am having a weird issue with Discoverer connections after a recent refresh of our DEV AS environment from TST. Before I proceed further, let me give you some details on our environments. We have recently upgraded our version 9.0.4.1 AS D

  • Add image in sap script

    what are the steps to add image on sap script dynamically?

  • GRN of NLAG materials without reference

    Dear Gurus, I have a scenario in which i have a NLAG material, and i want to do GR of this non-stock item without any order reference. i am doing it with 511 mvt type but system asks to enter SLOC since it is a non-stock item. my client only wants to

  • TACACS+ timeout value ignored

    I'm running ACS 3.3. I have a bunch of Catalyst 3550 and 3560 switches, some running IOS 12.1(19)EA1c and others running IOS 12.2(20)SE1. All are configured for TACACS+ as follows: aaa new-model aaa authentication login default group tacacs+ line aaa