Payload field value in container for alert

Hi All,
I am configuring Alerts for my client.I have to insert a value of one of the field from payload in the alert long message.
I have gone through SDN to search for any blogs.
1) I dont want to use BPm
2) Other option of using RFC lookup in mapping is not feasible.
Does any one else has any other idea about implementing the same.I could see some System Fields  like XPATH_GET_VALUE in the alert category.But ,how can we use it?
Thanks
Nidhi

If you are using the Alert category definition of SAP PI
there are default container values that can be used to include
data in the alert message.
Refer to: [Alert Category definition|http://help.sap.com/saphelp_nw04/helpdata/en/80/942f3ffed33d67e10000000a114084/frameset.htm]
this should be the first place to look for work methods and features.

Similar Messages

  • How to set a payload field value only once for multiple instances selected?

    The user needs to set a payload field value and then he can approve the task so the task can continue through the process, that's fine when the user selects one instance and sets the value in the task details section and then clicks the approve button, but how do we achieve the same behavior in a multiple way?, I mean the user can select multiple tasks in the workspace (in this case the details task page is not available and instead the following label appear "Multiple tasks selected") then if the user clicks the Actions drop down -> APPROVE he only gets the message "your request was processed successfully", so how can the user modify the payload field value only once for all the selected tasks so when he clicks APPROVE the value is populated in all the instances selected.
    Thanks,
    Carlos.

    In the action which displays the edit page just set the form idx value before displaying the jsp.

  • How can i add one field in the container for the standard task-90310004?

    Hi,
    Please let me know thw steps to add one field in the container for the standard task-90310004.
    Usefull suggestions will be rewarded.
    Regards,
    Neslin.

    <b>Hi,
    Containers are used for holding Application data for Workflow purposes.
    Event container
    Task container
    Workflow container
    Role container
    Binding is the linking of data from one container to the other for making data available all across the workflow.
    But you can get values from one container to another container like this
    Container(Con)
    1. WF Con to Role, Wf con to task con, Wf con to event
    and
    2. Event con to wf con, task con to wof con
    and
    3. Method con to task con
    and
    4. Task con to method con
    So, we don't have direct possible binding from task con to task con.
    Thanks and Regards,
    Prabhakar Dharmala</b>
    Message was edited by:
            Prabhakar Dharmala
        But you can do pass values from first task con to wf con and again from wf con to another task con

  • Using MISSING FIELD VALUES ARE NULL for external table

    I want to place a null for values missing in the sub_account field. Here is my external table:
    CREATE OR REPLACE DIRECTORY INCOMING_ORDERS_log_dir
    AS 'c:\starpubs\starpubs\dataformats\logs\INCOMING_ORDERS\log';
    CREATE OR REPLACE DIRECTORY INCOMING_ORDERS_bad_dir
    AS 'c:\starpubs\starpubs\dataformats\logs\INCOMING_ORDERS\bad';
    create table ext_INCOMING_ORDERS_table (
    Account varchar(5),
    Sub_Account varchar(1),
    Override_Code varchar(1),
    Nomenclature varchar(28),
    chg_nbr varchar(3),
    quantity integer,
    U_I varchar(5),
    zipcode varchar(5),
    type_reject varchar(2)
    organization external
    type oracle_loader
    default directory user_dir
    access parameters
    records delimited by newline
    missing field values are null
    badfile INCOMING_ORDERS_bad_dir:'INCOMING_ORDERS%a_%p.bad'
    logfile INCOMING_ORDERS_log_dir:'INCOMING_ORDERS%a_%p.log'
    fields
    Account(1:5) char(5),
    Sub_Account(7:7) char(1),
    Override_Code(10:10) char(1),
    Nomenclature(11:38) char(28),
    chg_nbr(40:42) char(3),
    quantity(44:48) integer external,
    U_I(50:54) char(5),
    zipcode(56:60) char(5),
    type_reject(61:62) char(2)
    location('PTCLICK.MANUAL.NOMEN.TXT','PTCLICK.ORDERS.TXT', 'EUR_RES.TXT', 'MQ.TXT', 'BPRO.TXT')
    reject limit unlimited;
    How can I place the MISSING FIELD VALUES ARE NULL for missing values for the sub_account?

    made the change I received this error:
    SQL> select * from ext_INCOMING_ORDERS_table;
    select * from ext_INCOMING_ORDERS_table
    ERROR at line 1:
    ORA-29913: error in executing ODCIEXTTABLEOPEN callout
    ORA-29400: data cartridge error
    KUP-00554: error encountered while parsing access parameters
    KUP-01005: syntax error: found "no": expecting one of: "comma, date_format,
    defaultif, enclosed, ltrim, lrtrim, ldrtrim, notrim, nullif, optionally, ),
    rtrim, terminated"
    KUP-01007: at line 7 column 26
    CREATE OR REPLACE DIRECTORY INCOMING_ORDERS_log_dir
    AS 'c:\starpubs\starpubs\dataformats\logs\INCOMING_ORDERS\log';
    CREATE OR REPLACE DIRECTORY INCOMING_ORDERS_bad_dir
    AS 'c:\starpubs\starpubs\dataformats\logs\INCOMING_ORDERS\bad';
    create table ext_INCOMING_ORDERS_table (
    Account varchar(5),
    Sub_Account varchar(1),
    Override_Code varchar(1),
    Nomenclature varchar(28),
    chg_nbr varchar(3),
    quantity integer,
    U_I varchar(5),
    zipcode varchar(5),
    type_reject varchar(2)
    organization external
    type oracle_loader
    default directory user_dir
    access parameters
    records delimited by newline
    badfile INCOMING_ORDERS_bad_dir:'INCOMING_ORDERS%a_%p.bad'
    logfile INCOMING_ORDERS_log_dir:'INCOMING_ORDERS%a_%p.log'
    fields
    Account(1:5) char(5),
    Sub_Account(7:7) char(1) NO PRESERVE BLANKS,
    Override_Code(10:10) char(1),
    Nomenclature(11:38) char(28),
    chg_nbr(40:42) char(3),
    quantity(44:48) integer external,
    U_I(50:54) char(5),
    zipcode(56:60) char(5),
    type_reject(61:62) char(2)
    location('PTCLICK.MANUAL.NOMEN.TXT','PTCLICK.ORDERS.TXT', 'EUR_RES.TXT', 'MQ.TXT', 'BPRO.TXT')
    reject limit unlimited;

  • Container for alert category could not be loaded

    Hi All,
    I am having very strange issue with container(Variables).
    I defined Alert category, created container elements and I was using them in long and short text. They were working fine, but now if I open Alert category and click on container tab, its says: Container for alert category could not be loaded and I dont see container elements that I created before. Same thing happened before and I re-created those container variables. But now I have many Alert categories. Is this an existing issue? or does any body having similar situaltion? Can anybody please provide information on this.
    Thank you,
    Indrasena

    Hi Moorthy,
    Thanks for your quick reply . We are on WAS 6.40,SP16, but SAP note 656488 is released on 01.09.2003 for 620, it should have been implemented alreay. Do you think we still need to implement that???
    Thank you,
    Indrasena

  • How to validate the incoming field value and raise an alert message

    Dear all,
    I have the following structure
    If incoming value for the field externalid is empty then i have to raise a alert message to end user "externalid field is empty for the id : id number" and for all incoming values it should work. I used the following udf on field externalid with two arguments
    if(externalid.equals(""))
    throw new RuntimeException("externalid field empty for the following id : " +id);
    else
    return externalid;
    This is working fine for single record. But for many records(multiple occurences), this logic is not working as if records 2 and 3 fails it is showing exception externalid field is empty for the id : record 2.
    how to achieve the tranformation logic ?
    Regards
    Koti Reddy

    Hi Amit,
    I have tried the above udf, but still stuck-up.
    For the above structure shown in image, i have tested giving the following payload
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:upsertRequest xmlns:ns0="http://sap.com/xi/SFIHCM01">
       <sessionId/>
       <upsert>
          <type/>
          <sfobject>
             <id>1</id>
             <businessKeys>1</businessKeys>
             <type>1</type>
             <status>1</status>
             <externalId>1</externalId>
             <username>1</username>
             <firstName>1</firstName>
             <lastName>1</lastName>
             <mi>1</mi>
             <gender>1</gender>
             <email>1</email>
             <managerExternalId>1</managerExternalId>
             <hrExternalId>1</hrExternalId>
             <department/>
             <jobCode/>
             <division/>
             <location/>
             <timeZone>1</timeZone>
             <hireDate/>
             <empId/>
             <title/>
             <businessPhone/>
             <fax/>
             <addressLine1/>
             <addressLine2/>
             <city/>
             <state/>
             <country/>
             <zipCode/>
             <reviewFreq/>
             <lastReviewDate/>
             <matrixManagerExternalIds/>
             <defaultLocale/>
             <customManagerExternalIds/>
             <secondManagerExternalId/>
             <loginMethod/>
             <proxy/>
          </sfobject>
          <sfobject>
             <id>2</id>
             <businessKeys>2</businessKeys>
             <type>2</type>
             <status>2</status>
             <externalId>2</externalId>
             <username>2</username>
             <firstName>2</firstName>
             <lastName>2</lastName>
             <mi>2</mi>
             <gender>2</gender>
             <email>2</email>
             <managerExternalId>2</managerExternalId>
             <hrExternalId/>
             <department/>
             <jobCode/>
             <division/>
             <location/>
             <timeZone/>
             <hireDate/>
             <empId/>
             <title/>
             <businessPhone/>
             <fax/>
             <addressLine1/>
             <addressLine2/>
             <city/>
             <state/>
             <country/>
             <zipCode/>
             <reviewFreq/>
             <lastReviewDate/>
             <matrixManagerExternalIds/>
             <defaultLocale/>
             <customManagerExternalIds/>
             <secondManagerExternalId/>
             <loginMethod/>
             <proxy/>
          </sfobject>
          <processingParam>
             <name/>
             <value/>
          </processingParam>
       </upsert>
    </ns0:upsertRequest>
    No node is creating for success records, instead it throws exception that "externalid field is missing for the id": id     for empty externalid field value in second record.
    But my requirement is..... when i process 50 records, records with missing value for field externalid should raise an alert message to end user intimating him to check the externalid field for particular id. If the value for externalid field is present in incoming record/payload, then it should be passed to target system.
    How can i implement this logic ?
    Regards
    Koti Reddy

  • Fill container for alerts

    Hi.
    I created alert that is triggered via action. The alert now displays only some text that i defined. But now I would like to get in that text also the value of transaction number of task from witch alert was triggered.
    I saw that there is the option on alerts to define container (SPRO > CRM > basic functions > alert management > define alert categories) but I don't now how to do it.
    I added in container BOR object type BUS2000125 and in text the expression &PROCESS_TYPE.OBJECT_ID&, but looks like that is not enough.
    Help needed.

    hi. There is no new note that I would know about. However I managed to solved the problem via steps from old note, but had to do quite a coding on Z version of TRIGGER_ALERT method.
    This is my code source:
    METHOD ZTRIGGER_ALERT .
      DATA: lt_container       TYPE swconttab,
           ls_container       TYPE swcont,
           lv_kind_ref        TYPE crmt_object_kind,
           lv_guid_ref        TYPE crmt_object_guid.
      DATA: lt_head_guids      TYPE crmt_object_guid_tab,
            lt_item_guids      TYPE crmt_object_guid_tab,
            lt_req_obj         TYPE crmt_object_name_tab,
            ls_orderadm_h_ref  TYPE crmt_orderadm_h_wrk,
            lt_orderadm_h_ref  TYPE crmt_orderadm_h_wrkt,
            lv_header_ref      TYPE crmt_object_guid,
            ls_orderadm_i_ref  TYPE crmt_orderadm_i_wrk,
            lt_orderadm_i_ref  TYPE crmt_orderadm_i_wrkt.
      DATA: lv_message         TYPE char80,
            lv_preview         TYPE char1.
      DATA: lv_category        TYPE salrtdcat,
            lt_partner         TYPE crmt_partner_external_wrkt,
            ls_partner         TYPE crmt_partner_external_wrk,
            lt_recipients      TYPE TABLE OF salrtsrcp,
            ls_recipients      LIKE LINE OF lt_recipients,
            lv_guid_32         TYPE sysuuid_c.
      INCLUDE crm_log_states_con.
      INCLUDE crm_mode_con.
      INCLUDE crm_object_names_con.
      INCLUDE crm_object_kinds_con.
      INCLUDE com_partner_pft3.
    * get parameter from reference object
      CALL METHOD me->get_ref_object
        EXPORTING
          io_appl_object = io_appl_object
          ip_action      = ip_action
          ip_preview     = ip_preview
          ii_container   = ii_container
        IMPORTING
          ev_guid_ref    = lv_guid_ref
          ev_kind_ref    = lv_kind_ref
          et_container   = lt_container
          ev_preview     = lv_preview.
    * not relevant iv preview is active
      IF NOT lv_preview IS INITIAL.
        MESSAGE s007(crm_action).
        EXIT.
      ENDIF.
    * fill guid of the source document
      REFRESH: lt_head_guids, lt_item_guids.
      IF lv_kind_ref EQ gc_object_kind-orderadm_h.
        INSERT lv_guid_ref INTO TABLE lt_head_guids.
      ELSEIF lv_kind_ref EQ gc_object_kind-orderadm_i.
        INSERT lv_guid_ref INTO TABLE lt_item_guids.
      ENDIF.
    * fill requested object
      INSERT gc_object_name-orderadm_h INTO TABLE lt_req_obj.
      INSERT gc_object_name-orderadm_i INTO TABLE lt_req_obj.
      INSERT gc_object_name-partner    INTO TABLE lt_req_obj.
    * read relevant itmes of the source document
      CALL FUNCTION 'CRM_ORDER_READ'
        EXPORTING
          it_header_guid       = lt_head_guids
          it_item_guid         = lt_item_guids
          iv_only_spec_items   = true
          it_requested_objects = lt_req_obj
        IMPORTING
          et_orderadm_h        = lt_orderadm_h_ref
          et_orderadm_i        = lt_orderadm_i_ref
          et_partner           = lt_partner
        EXCEPTIONS
          document_not_found   = 1
          error_occurred       = 2
          document_locked      = 3
          no_change_authority  = 4
          no_display_authority = 5
          OTHERS               = 6.
      IF sy-subrc NE 0.
    *   write message into ppf-log
        CALL METHOD cl_log_ppf=>add_message
          EXPORTING
            ip_problemclass = '2'
            ip_handle       = ip_application_log.
    *   set return status
        rp_status = '2'.
        EXIT.
      ENDIF.
      IF lv_kind_ref EQ gc_object_kind-orderadm_h.
        lv_header_ref = lv_guid_ref.
      ELSEIF lv_kind_ref EQ gc_object_kind-orderadm_i.
        READ TABLE lt_orderadm_i_ref INTO ls_orderadm_i_ref INDEX 1.
        lv_header_ref = ls_orderadm_i_ref-header.
    *   get business object to built URL
        CALL FUNCTION 'CRM_ORDERADM_H_READ_OW'
          EXPORTING
            iv_orderadm_h_guid     = lv_header_ref
          IMPORTING
            ev_object_type         = ls_orderadm_h_ref-object_type
            ev_logical_system      = ls_orderadm_h_ref-logical_system
          EXCEPTIONS
            admin_header_not_found = 1
            OTHERS                 = 2.
        IF sy-subrc EQ 0.
          ls_orderadm_h_ref-guid = lv_header_ref.
          INSERT ls_orderadm_h_ref INTO TABLE lt_orderadm_h_ref.
        ELSE.
    *     write message into ppf-log
          CALL METHOD cl_log_ppf=>add_message
            EXPORTING
              ip_problemclass = '2'
              ip_handle       = ip_application_log.
    *     set return status
          rp_status = '2'.
          EXIT.
        ENDIF.
      ENDIF.
    * fill alert category
      READ TABLE lt_container INTO ls_container
           WITH KEY element = 'CATEGORY'.
      IF sy-subrc EQ 0.
        lv_category = ls_container-value.
      ENDIF.
    * check mandatory fields
      IF lv_category IS INITIAL.
    *   write message into ppf-log
        MESSAGE ID 'CRM_ACTION' TYPE 'E' NUMBER 004
              WITH 'CATEGORY' INTO lv_message.
        CALL METHOD cl_log_ppf=>add_message
          EXPORTING
            ip_problemclass = '2'
            ip_handle       = ip_application_log.
    *    set return status
        rp_status = '2'.
        EXIT.
      ENDIF.
    * now filter the employees.
      LOOP AT lt_partner INTO ls_partner
           WHERE partner_pft EQ gc_partner_pft-employee.
        CLEAR: ls_recipients.
        CALL FUNCTION 'BP_CENTRALPERSON_GET'
          EXPORTING
            iv_bu_partner_guid  = ls_partner-bp_partner_guid
          IMPORTING
            ev_username         = ls_recipients-uname
          EXCEPTIONS
            no_central_person   = 1
            no_business_partner = 2
            no_id               = 3
            OTHERS              = 4.
        IF sy-subrc EQ 0 AND
          ls_recipients-uname IS NOT INITIAL.
          INSERT ls_recipients INTO TABLE lt_recipients.
        ENDIF.
      ENDLOOP.
    * don't send the alert twice to the same user
      SORT lt_recipients BY uname.
      DELETE ADJACENT DUPLICATES FROM lt_recipients COMPARING uname.
    * supply key information
      READ TABLE lt_orderadm_h_ref INTO ls_orderadm_h_ref INDEX 1.
      IF sy-subrc EQ 0.
        lv_guid_32 = ls_orderadm_h_ref-guid.
        CALL FUNCTION 'SWC_ELEMENT_SET'
          EXPORTING
            element   = 'OBJKEY_GUID'
            field     = lv_guid_32
          TABLES
            container = lt_container
          EXCEPTIONS
            OTHERS    = 1.
        CALL FUNCTION 'SWC_ELEMENT_SET'
          EXPORTING
            element   = 'OBJKEY_BOR_OBJECT'
            field     = lv_guid_32
          TABLES
            container = lt_container
          EXCEPTIONS
            OTHERS    = 1.
        CALL FUNCTION 'SWC_ELEMENT_SET'
          EXPORTING
            element   = 'OBJKEY_BOR_OBJECT_TYPE'
            field     = ls_orderadm_h_ref-object_type
          TABLES
            container = lt_container
          EXCEPTIONS
            OTHERS    = 1.
        CALL FUNCTION 'SWC_ELEMENT_SET'
          EXPORTING
            element   = 'OBJKEY_LOGICAL_SYSTEM'
            field     = ls_orderadm_h_ref-logical_system
          TABLES
            container = lt_container
          EXCEPTIONS
            OTHERS    = 1.
      ENDIF.
    * trigger alert
    *{   INSERT         CRDK903440                                        1
    data: object_id(10) type c.
    data: lt_date_wrkt type CRMT_DATES_WRKT.
    data: wa_date_wrk type CRMT_DATES_WRK.
    data: lt_date type CRMT_DATE_WRKT.
    data: wa_date type CRMT_DATE_WRK.
    data: ZTASK_PLAN type SC_DATEFRO.
    data: ZTASK_REQUIR type SC_DATEFRO.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
      EXPORTING
        input         = ls_orderadm_h_ref-object_id
    IMPORTING
       OUTPUT        = object_id.
    * document number
    CALL FUNCTION 'SWC_ELEMENT_SET'
      EXPORTING
        element             = 'OBJECT_ID'
        field               = object_id
      tables
        container           = lt_container
      EXCEPTIONS
        TYPE_CONFLICT       = 1
        OTHERS              = 2.
    *document description
    CALL FUNCTION 'SWC_ELEMENT_SET'
      EXPORTING
        element             = 'OBJECT_DESCRIPTION'
        field               = ls_orderadm_h_ref-description
      tables
        container           = lt_container
      EXCEPTIONS
        TYPE_CONFLICT       = 1
        OTHERS              = 2.
    *document dates
    refresh lt_date_wrkt.
    CALL FUNCTION 'CRM_DATES_READ_DB'
      EXPORTING
        IV_REF_GUID                         = ls_orderadm_h_ref-guid
        IV_REF_KIND                         = 'A'
      IMPORTING
        ET_DATE_WRKT                        = lt_date_wrkt
      EXCEPTIONS
        PARAMETER_ERROR                     = 1
        ENTRY_DOES_NOT_EXIST                = 2
        AT_LEAST_ONE_RECORD_NOT_FOUND       = 3
        OTHERS                              = 4.
    refresh lt_date.
    CALL FUNCTION 'CRM_DATES_READ_SINGLE_OW'
      EXPORTING
        iv_ref_guid                = ls_orderadm_h_ref-guid
        iv_ref_kind                = 'A'
    *   IS_LOGICAL_DATE_KEY        =
      IMPORTING
    *   ES_DATE_WRK                =
       ET_DATE_WRK                = lt_date
      EXCEPTIONS
        LINK_DOES_NOT_EXIST        = 1
        ENTRY_DOES_NOT_EXIST       = 2
        OTHERS                     = 3.
    clear wa_date.
    read table lt_date
    with key APPT_TYPE = 'ORDERPLANNED'
    into wa_date.
    ZTASK_PLAN = wa_date-date_from.
    if wa_date is initial.
    clear wa_date_wrk.
    read table lt_date_wrkt
    with key APPT_TYPE = 'ORDERPLANNED'
    into wa_date_wrk.
    ZTASK_PLAN = wa_date_wrk-date_from.
    endif.
    clear wa_date.
    read table lt_date
    with key APPT_TYPE = 'ZTASK_REQUIR'
    into wa_date.
    ZTASK_REQUIR = wa_date-date_from.
    if wa_date is initial.
    clear wa_date_wrk.
    read table lt_date_wrkt
    with key APPT_TYPE = 'ZTASK_REQUIR'
    into wa_date_wrk.
    ZTASK_REQUIR = wa_date_wrk-date_from.
    endif.
    CALL FUNCTION 'SWC_ELEMENT_SET'
      EXPORTING
        element             = 'ORDERPLANNED'
        field               = ZTASK_PLAN
      tables
        container           = lt_container
      EXCEPTIONS
        TYPE_CONFLICT       = 1
        OTHERS              = 2.
    CALL FUNCTION 'SWC_ELEMENT_SET'
      EXPORTING
        element             = 'ZTASK_REQUIR'
        field               = ZTASK_REQUIR
      tables
        container           = lt_container
      EXCEPTIONS
        TYPE_CONFLICT       = 1
        OTHERS              = 2.
    *}   INSERT
      CALL FUNCTION 'SALRT_CREATE_API'
        EXPORTING
          ip_category            = lv_category
          ip_wait_on_commit      = false
        TABLES
          it_recipients          = lt_recipients
          it_container           = lt_container
        EXCEPTIONS
          alert_category_unknown = 1
          alert_no_recipients    = 2
          alert_error_unknown    = 3
          destination_undefined  = 4
          communication_failure  = 5
          system_failure         = 6
          OTHERS                 = 7.
      IF sy-subrc NE 0.
    *   write message into ppf-log
        CALL METHOD cl_log_ppf=>add_message
          EXPORTING
            ip_problemclass = '2'
            ip_handle       = ip_application_log.
    *   set return status
        rp_status = '2'.
        EXIT.
      ENDIF.
    * register new document for saving
      CALL METHOD me->register_for_save
        EXPORTING
          iv_source_header_guid = lv_header_ref
          iv_recursive_det      = false
          ii_container          = ii_container
          ip_application_log    = ip_application_log
        IMPORTING
          rp_status             = rp_status.
    ENDMETHOD.                    "

  • Field values are repeating for search help.

    Hello Friends.
    I have a problem. When I create a search help for a field the identical field values are repeating. What should I do to trigger only the first time.
    for example:
    <u>Field-name</u>-                        <u>field-value</u>
    Supplier Nr ---                                 Commodity
    5001 -
                                               casting
    5002 -
                                               casting
    5003 -
                                               casting
    So when I create the search help for commodity it is showing 'casting' 3 times in a pop-up window. It should not repeat. Can you please give me the solution what should I do?

    Hi
    Search helps
    Standard search help
    Types of search helps
    Concept of search help
    Search Help Interface
    Dialog behavior of search helps
    Selection method for search helps
    Performance of search helps
    Attaching search helps
    Hierarchy of search helps
    Standard Search Help
    The input help (F4 help) is a standard function of the R/3 System. It permits the user to display a list of possible values for a screen field. A value can be directly copied to an input field by list selection.
    The fields having an input help are shown in the R/3 System by the input help key to the right of the field. This key appears as soon as the cursor is positioned on the corresponding screen field. The help can be started either by clicking on this screen element or with function key F4.
    If the number of possible entries for a field is very large, you can limit the set of displayed values by entering further restrictions.
    Further meaningful information about the displayed values is included in the display of possible entries, especially if the field requires that a formal key be entered.
    TYPES OF SEARCH HELPS
    Elementary search helps
    Describe a search path. The elementary search help must define where the data of the hit list should be read from (selection method), how the exchange of values between the screen template and selection method is implemented (interface of the search help) and how the online input help should be defined (online behavior of the search help).
    Collective search help
    Combine several elementary search helps. A collective search help thus can offer several alternative search paths.
    Search Help Interface
    Search help interface determines how the exchange of values between the screen template and the selection method is implemented.
    The search help interface defines the context data that can be used in the input help and the data that can be returned to the input mask. Analogously to the interface of a function module, the search help interface comprises interface parameters.
    When you define an interface parameter of a search help, you must also define whether it should be used to copy data to the input help (IMPORT parameter) or whether it should be used to return data from the input help (EXPORT parameter). A parameter of a search help can also have both attributes at the same time.
    The location from which the IMPORT parameters of a search help get their values and the screen fields in which the contents of the EXPORT parameters of the search help are returned are defined in the search help attachment. The search help itself should always be attached to an EXPORT parameter of the search help. If this parameter is also the IMPORT parameter, its contents are only used in the input help if it is a search string (that is, if it contains a ´*´ or a ´+´).
    You must define the parameter types of a search help. You can do this by assigning them data elements.
    Value Transport for Input Helps
    NOTE:In the above example, screen fields A, B and C are linked with parameters of the search help. As a result, values can only be transported between the screen and the search help for these three fields. Existing contents of screen fields A and B can be used for selecting the hit list since they are linked with an import parameter of the search help. The values of parameters A and C can be returned to the screen from the hit list since these parameters are declared as export parameters of the search help.
    Description of dialog behavior
    A hit list might contain plentiful number of entries. A
    dialog provides the user with an option to restrict the
    entries displayed on the hit list.
    In an input help process, the set of possible entries is presented in the dialog box as a list for displaying the hit list. The user selects the required value from this list by double clicking. Since the possible entries are often formal keys, you must be able to display further explanatory information about the possible entries in the list.
    If the set of possible entries is very large, the user should be able to define additional conditions for the attributes of the selected entry. Restricting the set of data in this way both increases the clarity of the list and reduces the system load. Additional conditions can be entered in a further dialog window, the dialog box for restricting values.
    Specifying the dialog type of a search help defines whether the dialog box for restricting values should be offered and if so under what conditions.
    The attributes in the dialog box for displaying the hit list or in the dialog box for restricting values must be defined as internal parameters of the search help. An internal parameter can also be used in only one of the two dialog boxes. It can also belong to the search help interface.
    The internal parameter types are also defined with data elements. These data elements define how the parameters are displayed in the two dialog boxes.
    Reward if usefull

  • Settting Matrix field value to contain a Tab

    Hi
    I am using the Matrix control in order to allow for a structured system to be created of header levels and sublevels so that I can have something like:
    Header 1
                  Sub Level 1
                  Sub Level 2
    Header 2
                  Sub Level 1
                  Sub Level 2
    All of this will go into 1 column however I'm having a problem in getting the Sub Level rows to be indented so that it is easily visible which Sub Sections belong to which Header Sections.
    I've tried setting the Matrix field by using:
    oMatrix.Columns.Item("Sections").Cells.Item(2).Specific.value = vbTab & "Sub Section 1"
    and also by just putting "     " before the value, however it always takes this out when actually displaying it.
    Is there any way to get leading spaces on a Matrix field value?
    Thanks a lot
    Steve

    Hello Steven,
    Did you look at a grid? You have the property CollapseLevel for this problem.
    Maybe this is working for you.
    HTH Regards Teun

  • Display group by field value only once for each group

    I have a table with following fields:
    TicketNo (varchar2)
    TName (varchar2)
    DateIssue (Date/Time)
    I wanto retrieve result in the following form:
    DateIssue TName TicketNo
    01-oct-2006 ABC 123-7733
    DEF 545-54454
    GHI 254-4545
    02-oct-2006 JKL 454-7897
    MNO 444-7878
    TName and TicketNos must be grouped by DateIssue. Since "Group By" clause uses agregate functions only, therefore this type of query will not run:
    SQL> Select DateIssue,TName,TicketNo from Table1 group by DateIssue order by DateIssue;
    How to display the above given result?

    SQL> select * from tickets;
    TICKETNO   TNAME      DATEISSUE                                                
    121-565    abc        04-FEB-07                                                
    454-hj     def        04-FEB-07                                                
    4545-856   gftr       03-FEB-07                                                
    fg45-856   gth        03-FEB-07                                                
    SQL> select decode(row_number() over(partition by to_date(dateissue) order by ticketno),1,dateissue) dateissue
      2         ,tname,ticketno
      3  from tickets;
    DATEISSUE TNAME      TICKETNO                                                  
    03-FEB-07 gftr       4545-856                                                  
              gth        fg45-856                                                  
    04-FEB-07 abc        121-565                                                   
              def        454-hj
    Message was edited by:
            jeneesh                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Selection screen field value capturing

    Hi,
    I have developed a report for displaying amendment changes in a purchse order. The input are purchase order
    and plant. Now they have asked for an additional input of version field, which should also have F4 field-value help.
    For version field, default there is no F4 key. So, i have written code like after entering the PO number when we press the enter key, for the corresponding PO, it brings the version no in input field. But my problem is it is displaying the values for version field, but when i select some value it is not getting updated in selection-screen version field. I have attached my code below... please help me
    in the below code my problem is only between
    AT SELECTION-SCREEN on value-request for P_REVNO.
    and
    start-of-selection event...
    TABLES : ekko,
    ekpo,
    cdhdr,
    cdpos,
    MEPO1325,
    t001,
    t166c,
    t166t,
    adrc,
    komp, " net rate of header
    konv, " net value of purchase order
    zammendpodet.
    TYPES : BEGIN OF ts_cdpos,
    ebeln TYPE ekbe-ebeln,
    ebelp TYPE ekbe-ebelp,
    matnr type ekpo-matnr,
    maktx type makt-maktx,
    prdat type ekpo-prdat,
    belnr TYPE ekbe-belnr,
    budat TYPE ekbe-budat,
    tkey(70),
    txz01 TYPE ekpo-txz01,
    ctxnr TYPE t166c-ctxnr,
    desp(20) type C,
    MEINS LIKE MARA-MEINS,
    chtxt TYPE t166t-chtxt.
    INCLUDE STRUCTURE cdpos.
    TYPES : END OF ts_cdpos.
    data : begin of it_makt occurs 0,
    matnr like makt-matnr,
    maktx like makt-maktx,
    end of it_makt.
    data : begin of it_maRA occurs 0,
    matnr like maRA-matnr,
    mEINS like maRA-mEINS,
    end of it_maRA.
    *Internal table declartion
    DATA : it_erev TYPE TABLE OF erev WITH HEADER LINE,
    it_ekko1 type table of ekko with header line,
    it_konv2 type table of konv with header line,
    it_ekpo TYPE TABLE OF ekpo WITH HEADER LINE,
    it_ekpo1 TYPE TABLE OF ekpo WITH HEADER LINE,
    it_cdhdr TYPE TABLE OF cdhdr WITH HEADER LINE,
    it_t166c TYPE TABLE OF t166c WITH HEADER LINE,
    it_ekbe TYPE TABLE OF ekbe WITH HEADER LINE,
    IT_AMMEND TYPE TABLE OF ZAMMENDPODET WITH HEADER LINE,
    IT_AMMEND1 TYPE TABLE OF ZAMMENDPODET WITH HEADER LINE,
    it_komp TYPE TABLE OF KOMP WITH HEADER LINE,
    it_konv type table of konv with header line,
    it_konv1 type table of konv with header line,
    it_cdpos TYPE TABLE OF ts_cdpos WITH HEADER LINE.
    data : BEGIN OF it_erev1 occurs 0,
    revno TYPE erev-revno.
    data : end of it_erev1.
    data : begin of it_cdpos1 occurs 0.
    include structure cdpos.
    data : ebeln like ekko-ebeln,
    item like ekpo-ebelp,
    aedat like ekpo-aedat,
    matnr like ekpo-matnr,
    txz01 like ekpo-txz01,
    desp(20) type C,
    MEINS LIKE MARA-MEINS,
    item1 like ekpo-netpr.
    data : end of it_cdpos1.
    types : dy_temp TYPE lips-lgort.
    DATA : dyfields LIKE dynpread OCCURS 1 WITH HEADER LINE, dy_value TYPE dy_temp.
    DATA: progname TYPE sy-repid,
    dynnum TYPE sy-dynnr,
    dynpro_values TYPE TABLE OF dynpread,
    field_value LIKE LINE OF dynpro_values.
    *Work variable declaration
    DATA : v_revno TYPE erev-revno,
    revno1 type zammendpodet-revno,
    w_version TYPE erev-revno,
    w_erdat TYPE erev-erdat,
    w_eruhr TYPE erev-eruhr,
    wv_eruhr TYPE erev-eruhr,
    v_tabkey TYPE cdpos-tabkey,
    v_temp(5),
    v_olddate(8),
    v_newdate(8),
    v_value_old TYPE cdpos-value_old,
    V_OLD TYPE EKPO-BRTWR, " OLD VALUE FOR PURCHASE ORDER
    l_ind TYPE i,
    temp value 0 type i,
    temp1 type i,
    temp2 type i,
    temp3 type i,
    wa_cdpos like line of it_cdpos,
    wa_cdpos1 like line of it_cdpos1,
    v_tabkey1 TYPE cdpos-tabkey.
    PARAMETERS : p_ebeln TYPE ekko-ebeln,
    p_ebelp TYPE ekpo-ebelp.
    p_bukrs TYPE t001-bukrs,
    p_revno type erev-revno.
    INITIALIZATION.
    AT SELECTION-SCREEN on value-request for P_REVNO.
    CLEAR: dyfields[], dyfields.
    dyfields-fieldname = 'P_REVNO'.
    APPEND dyfields.
    CALL FUNCTION 'DYNP_VALUES_READ'
    EXPORTING
    dyname = sy-cprog
    dynumb = sy-dynnr
    TABLES
    dynpfields = dyfields.
    READ TABLE dyfields INDEX 1.
    SELECT revno
    FROM erev
    INTO TABLE it_erev1 WHERE edokn = p_ebeln.
    IF sy-subrc = 0.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    retfield = 'REVNO'
    dynpprog = progname
    dynpnr = dynnum
    dynprofield = 'P_REVNO'
    value_org = 'S'
    TABLES
    value_tab = it_eREV1
    EXCEPTIONS
    parameter_error = 1
    no_values_found = 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.
    ENDIF.
    START-OF-SELECTION.
    SELECT SINGLE *
    FROM t001
    WHERE bukrs EQ p_bukrs.
    IF sy-subrc EQ 0.
    SELECT SINGLE *
    FROM adrc
    WHERE addrnumber EQ t001-adrnr.
    ENDIF.
    SELECT SINGLE *
    FROM ekko
    WHERE ebeln
    EQ p_ebeln
    AND frgke = 2.
    select * from konv into corresponding fields of table it_konv where knumv eq ekko-knumv.
    useful informations will be rewarded.
    thanks and regards,
    subbu.,

    Hi ,
           Use this function module
        call function 'DYNP_VALUES_UPDATE'
          exporting
            dyname               = sy-repid
            dynumb               = sy-dynnr
          tables
            dynpfields           = t_dynpfields
          exceptions
            invalid_abapworkarea = 1
            invalid_dynprofield  = 2
            invalid_dynproname   = 3
            invalid_dynpronummer = 4
            invalid_request      = 5
            no_fielddescription  = 6
            undefind_error       = 7
            others               = 8.
    where t_dynpfields would contain name of field and value you want to update.
    Please reward if useful.

  • Linking intotype listbox to table in sm30 inorder to maintain field values

    Hi All,
    I got a requirment to create custom infotype with some custom fields adding to stndrd infotype an with also some validations .
    So let me know, How to link intotype listbox to table in sm30 inorder to maintain field values?
    Thanks for the same.

    Hi Vinay,
    The best way would be to assign the search help in the table directly and recreate the maintainance...in this manner the search help would be available in the sm30 already..then using "Ëvents" of the table maintainance generator we can validate the fields entered at the time of saving..if a standard search help already exists then t would be availbel in maintainance......
    to create events -> go to se11 -> utilities -> table maintainance generator -> click '
    then go to environment -> modification -> events ..in the table control..create new entries ....and select the suitable event and write the code in the routine to do validations
    Hope it helps
    Pls check and revert
    Regards
    Byju

  • Screen exit MEREQ001- Copy 1 PR line item custom fields values in all

    Hi,
    I have implemented the Enhancement MEREQ001 to add a new tab for Purchase Requistion screen at line item level .
    Requirement for me is to show the same data in the newly added tab for all line items and also to save the same data in EBAN table.
    I am facing a problem while saving the data. In EBAN table, the data was saved for all line items. But the custom added field values are saved for only the line item displayed.
    I ll explain with an example for better understanding.
    I have created a PR with 3 line items ITEM1, ITEM2 ,and ITEM2
    When i saved the data when ITEM1 is displayed, EBAN have custom added field values for ITEM1 but not for ITEM2 and item3.
    The same way, if I save data when ITEM2 is displayed, EBAN has custom added field values for ITEM2 but not for ITEM3 and ITEM1.
    Now, my requirement is to get the all  line items ITEM1 & ITEM2 and ITEM3 updated with custom added field values in EBAN.
    The logic i added in  ME_PROCESS_REQ_CUST~CHECK are as below.
           i_items             TYPE mmpur_requisition_ite                       ,
            lv_if_item          TYPE REF TO if_purchase_requisition_item,
            lt_itm_data         TYPE mereq_item   .
    DATA :  LV_dept TYPE EBAN-ZZDEPARTMENT ,
            lx_itm_data type mereq_itemx.
        CALL METHOD im_header->get_items
          RECEIVING
            re_items = i_items.
        LOOP AT i_items INTO wa_item.
          lv_if_item = wa_item-item.
          CALL METHOD lv_if_item->get_data
            RECEIVING
              re_data = lt_itm_data.
          CALL METHOD lv_if_item->get_datax
          RECEIVING
          re_datax = lx_itm_data.
         IF lt_itm_data-zzdepartment IS INITIAL.
             lt_itm_data-zzdepartment =  LV_dept .
             lx_itm_data-zzdepartment = 'X' .
          ELSE.
             Lv_dept = lt_itm_data-zzdepartment.
        ENDIF.
    To set the value for all line item.
            CALL METHOD lv_if_item->SET_DATAX
              EXPORTING
              IM_DATAX = lx_itm_data.
        CALL METHOD lv_if_item->Set_data
            EXPORTING
              IM_data = lt_itm_data.
        ENDLOOP.    " LOOP AT i_items INTO wa_item.
      ENDIF.    " IF ( NOT ls_header1-banfn IS INITIAL
    BUT above logic is not working
    Please give your inputs
    Thanks in advance
    Deepanker Dwivedi

    HI,
    You can use GET CURSOR LINE LINE_NO this will give you the sy-index so that you can read the itab like
    read table itab index line_no. This is one option and second is if you have row selector.
    read table itab with key mark = 'X'.
    If you want the Row contents befor the PAI triggers
    [Check this Thread|Table Control dynamic F4;
    Hope this is clear to you.
    Regards
    Ram

  • Difference between * and ALL field values?

    Greetings to all,
    Here is an intresting question. For a particular authorization object of a role, I see that it has a field value of ALL for a specific field. Is this same as * or is there any subtle difference between the two. This is in ECC 5.0.I would greatly appreciate a discussion. Thanks.

    i have also seen the value ALL in some roles in my org...
    Object:C_PRPS_USR (PS: Model for User Field Authorization for WBS elements)
    Field:USR10_1 (User field with 10 characters)
    Value: ALL
    If ALL means value ALL then what is the significance of it in the above field?
    Pls throw some light...
    thankx
    Sachin

  • Referencing form field values in javascript

    I am attempting to call a report from a button on a form in Portal. I have been successful in calling a report from a OnClick JavaScript event handler, but I also need to send a parameter to the report based on the value in a field on the form.
    I have been unable to find any information on how to do this. Does someone know how to do this? Thanks.
    Bruce Cable
    Kids123.com

    Perhaps this technote below may be of help:
    Addressing field values in forms
    For forms all of the form field values are kept in the "session storage", which is an internal
    data structure object
    and has some methods to access the data
    to access them you must have following information:
    1. Block name
    - DEFAULT for forms on tables
    - MASTER_BLOCK for the master section of MD form
    - DETAIL_BLOCK for the detail section of MD form
    2. Attribute name (is the column name plus 'A_' prefix)
    3. Column datatype (NUMBER, VARCHAR2, DATE)
    Example:
    declare
    my_empno number;
    begin
    my_empno := p_session.get_value_as_NUMBER(
    p_block_name => 'DEFAULT',
    p_attribute_name => 'A_EMPNO');
    end;
    In case of MD form, there are 2 blocks - MASTER_BLOCK for master section of the form
    and DETAIL_BLOCK for the detail section. Since there is more that 1 record in detail section
    you must specify a row index for the detail row
    Example:
    declare
    my_empno number;
    begin
    my_empno := p_session.get_value_as_NUMBER(
    p_block_name => 'DETAIL_BLOCK',
    p_attribute_name => 'A_EMPNO'
    p_index => 5);
    end;
    Writing custom buttons code
    Every event handler has p_session argument, for any event handler it is a reference to the
    session storage object, by calling
    appropriate methods you can get and set values of the fields in the form.
    Attribute names are create by adding 'A_' to your table's column names, so DEPTNO becomes
    A_DEPTNO
    Note, if you add a button to detail section of the form for each detail row then you'll have to
    examine p_instance value which will be set to a number indicating for which row button has been
    pressed. (1 for the first detail record, 2, 3, etc.)
    Example:
    bold - generated part
    italic - custom code
    procedure WWV_DETAIL_GENSYS_99
    p_block_name in varchar2,
    p_object_name in varchar2,
    p_instance in integer,
    p_event_type in varchar2,
    p_user_args in varchar2,
    p_session in out DNONKIN.wwa_api_module_session
    is
    begin
    declare
    my_action varchar2(4000);
    var1 integer;
    var2 varchar2(4000);
    begin
    my_action := p_session.get_value_as_varchar2(
    p_block_name => p_block_name,
    p_attribute_name => '_DETAIL_ACTION',
    p_index => p_instance
    if my_action = 'DELETE' then
    var1:=p_session.get_value_as_NUMBER(
    p_block_name => p_block_name,
    p_attribute_name => 'A_EMPNO',
    p_index => p_instance
    var2:=p_session.get_value_as_VARCHAR2(
    p_block_name => p_block_name,
    p_attribute_name => 'A_ENAME',
    p_index => p_instance
    --- Add a record to my log table
    insert into my_log values (var1,var2);
    end if;
    exception when others then
    my_error_handler_if_any;
    raise;
    end;
    end WWV_DETAIL_GENSYS_99;
    null

Maybe you are looking for

  • Loading data file Flat file to Oracle DB

    I have 600/700 MB datafiles on AIX box which need to upload to Oracle using ODI. I am considering the below KMs ...which would be more appropriate in this case LKM File to Oracle LKM File to Oracle (EXTERNAL TABLE) Why should we use LKM File to Oracl

  • Hooking up 2 computers side by side

    Hi... possible stupid question of the day... how do I hook up my G-4 to my G-5 so I can utilize both of them???

  • Component reference point in ultiboard

    The default setting for component reference point is the center of PIN 1 of the part. however, for many SMT machines, it reference to the center of the component (not a pin).  How doImodify it without going through every component in the database? So

  • Files should be deleted after applying patches

    Hi, after applying support Packages  successfully, which files should be deleted from the OS level. i mean the files allocated on /usr/sap/trans/data /usr/sap/trans/cofiles /usr/sap/trans/EPS/in and so on Thanks Sherif

  • Import PlayLIST, not songs

    Hello, I am wondering how I can use a playlist, either from the music store or from a buddy, to create my own playlist without having to purchase the songs. If I see a playlist that has 10 songs that are already in my iTunes Music library, how can I